ape (version 5.8)

evonet: 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 evonet
print(x, ...)
# S3 method for evonet
plot(x, col = "blue", lty = 1, lwd = 1, alpha = 0.5,
              arrows = 0, arrow.type = "classical", ...)
# S3 method for evonet
Nedge(phy)
# S3 method for evonet
reorder(x, order = "cladewise", index.only = FALSE, ...)
# S3 method for evonet
as.phylo(x, ...)
# S3 method for evonet
as.networx(x, weight = NA, ...)
# S3 method for evonet
as.network(x, directed = TRUE, ...)
# S3 method for evonet
as.igraph(x, directed = TRUE, use.labels = TRUE, ...)

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

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

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.

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.

Author

Emmanuel Paradis, Klaus Schliep

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).

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

Run this code
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)
if (FALSE) {
if (require(igraph)) {
    plot(as.igraph(z))
}}

Run the code above in your browser using DataLab