Learn R Programming

ape (version 5.1)

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 = "", ...)

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
order, index.only
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

arguments passed to other methods.

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.

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
# NOT RUN {
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))
}
# }

Run the code above in your browser using DataLab