evonet: Evolutionary Networks

View source: R/evonet.R

evonetR Documentation

Evolutionary Networks

Description

evonet builds a network from a tree of class "phylo". There are print, plot, and reorder methods as well as a few conversion functions.

Usage

evonet(phy, from, to = NULL)
## S3 method for class 'evonet'
print(x, ...)
## S3 method for class 'evonet'
plot(x, col = "blue", lty = 1, lwd = 1, alpha = 0.5,
              arrows = 0, arrow.type = "classical", ...)
## S3 method for class 'evonet'
Nedge(phy)
## S3 method for class 'evonet'
reorder(x, order = "cladewise", index.only = FALSE, ...)
## S3 method for class 'evonet'
as.phylo(x, ...)
## S3 method for class 'evonet'
as.networx(x, weight = NA, ...)
## S3 method for class 'evonet'
as.network(x, directed = TRUE, ...)
## S3 method for class 'evonet'
as.igraph(x, directed = TRUE, use.labels = TRUE, ...)

as.evonet(x, ...)
## S3 method for class 'phylo'
as.evonet(x, ...)

read.evonet(file = "", text = NULL, comment.char = "", ...)
write.evonet(x, file = "", ...)

Arguments

phy

an object of class "phylo".

x

an object of class "evonet".

from

a vector (or a matrix if to = NULL) giving the node or tip numbers involved in the reticulations.

to

a vector of the same length than from.

col, lty, lwd

colors, line type and width of the reticulations (recycled if necessary).

alpha

a value between 0 and 1 specifying the transparency of the reticulations.

arrows, arrow.type

see fancyarrows.

order, index.only

see reorder.phylo.

weight

a numeric vector giving the weights for the reticulations when converting to the class "networx" (recycled or shortened if needed).

directed

a logical: should the network be considered as directed? TRUE by default.

use.labels

a logical specifying whether to use the tip and node labels when building the network of class "igraph".

file, text, comment.char

see read.tree.

...

arguments passed to other methods.

Details

evonet is a constructor function that checks the arguments.

The classes "networx", "network", and "igraph" are defined in the packages phangorn, network, and igraph, respectively.

read.evonet reads networks from files in extended newick format (Cardona et al. 2008).

Value

an object of class c("evonet", "phylo") which is made of an object of class "phylo" plus an element reticulation coding additional edges among nodes and uses the same coding rules than the edge matrix.

The conversion functions return an object of the appropriate class.

Author(s)

Emmanuel Paradis, Klaus Schliep

References

Cardona, G., Rossell, F., and Valiente, G. (2008) Extended Newick: it is time for a standard representation of phylogenetic networks. BMC Bioinformatics, 9, 532.

See Also

as.networx in package phangorn

Examples

tr <- rcoal(5)
(x <- evonet(tr, 6:7, 8:9))
plot(x)
## simple example of extended Newick format:
(enet <- read.evonet(text = "((a:2,(b:1)#H1:1):1,(#H1,c:1):2);"))
plot(enet, arrows=1)
## from Fig. 2 in Cardona et al. 2008:
z <- read.evonet(text =
"((1,((2,(3,(4)Y#H1)g)e,(((Y#H1, 5)h,6)f)X#H2)c)a,((X#H2,7)d,8)b)r;")
z
plot(z)
## Not run: 
if (require(igraph)) {
    plot(as.igraph(z))
}
## End(Not run)

ape documentation built on March 31, 2023, 6:56 p.m.