# evonet

##### Evolutionary Networks

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

##### 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

```
# 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))
}
# }
```

*Documentation reproduced from package ape, version 5.3, License: GPL (>= 2)*