R: Evolutionary Networks

evonet {ape} | R 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)

[Package ape version 5.4 Index]