Title: | A Tidy Tool for Phylogenetic Tree Data Manipulation |
Version: | 0.4.6 |
Description: | Phylogenetic tree generally contains multiple components including node, edge, branch and associated data. 'tidytree' provides an approach to convert tree object to tidy data frame as well as provides tidy interfaces to manipulate tree data. |
Depends: | R (≥ 3.4.0) |
Imports: | ape, dplyr, lazyeval, magrittr, methods, rlang, tibble, tidyr, tidyselect, yulab.utils (≥ 0.0.4), pillar, cli |
Suggests: | knitr, rmarkdown, prettydoc, testthat, utils |
VignetteBuilder: | knitr |
ByteCompile: | true |
License: | Artistic-2.0 |
URL: | https://www.amazon.com/Integration-Manipulation-Visualization-Phylogenetic-Computational-ebook/dp/B0B5NLZR1Z/ |
BugReports: | https://github.com/YuLab-SMU/tidytree/issues |
Encoding: | UTF-8 |
RoxygenNote: | 7.2.3 |
NeedsCompilation: | no |
Packaged: | 2023-12-12 11:11:12 UTC; HUAWEI |
Author: | Guangchuang Yu |
Maintainer: | Guangchuang Yu <guangchuangyu@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2023-12-12 11:40:02 UTC |
MRCA
Description
access most recent common ancestor data
Usage
MRCA(.data, ...)
Arguments
.data |
phylo or tbl_tree object |
... |
additional parameters |
Value
MRCA data
Author(s)
Guangchuang Yu
Nnode
Description
number of nodes
Usage
## S3 method for class 'treedata'
Nnode(phy, internal.only = TRUE, ...)
Arguments
phy |
treedata object |
internal.only |
whether only count internal nodes |
... |
additional parameters |
Value
number of nodes
Author(s)
Guangchuang Yu
Examples
Nnode(rtree(30))
ancestor
Description
access ancestor data
Usage
ancestor(.data, .node, ...)
## S3 method for class 'tbl_tree'
ancestor(.data, .node, ...)
Arguments
.data |
phylo or tbl_tree object |
.node |
node number |
... |
additional parameters |
Value
ancestor data
Author(s)
Guangchuang Yu
Examples
library(ape)
tree <- rtree(4)
x <- as_tibble(tree)
ancestor(x, 3)
as.treedata
Description
convert a tree object to treedata object
Usage
as.treedata(tree, ...)
## S3 method for class 'tbl_tree'
as.treedata(tree, ...)
Arguments
tree |
tree object |
... |
additional parameters |
Value
treedata object
Examples
library(ape)
set.seed(2017)
tree <- rtree(4)
d <- tibble(label = paste0('t', 1:4),
trait = rnorm(4))
x <- as_tibble(tree)
full_join(x, d, by = 'label') %>% as.treedata
as.ultrametric
Description
as.ultrametric
Usage
as.ultrametric(tree, ...)
Arguments
tree |
tree object |
... |
additional parameters |
Value
treedata or phylo object
child
Description
access child data
Usage
child(.data, .node, ...)
## S3 method for class 'tbl_tree'
child(.data, .node, ...)
Arguments
.data |
phylo or tbl_tree object |
.node |
node number |
... |
additional parameters |
Value
child data
Author(s)
Guangchuang Yu
Examples
library(ape)
tree <- rtree(4)
x <- as_tibble(tree)
child(x, 4)
drop.tip method
Description
drop.tip method
Usage
drop.tip(object, tip, ...)
keep.tip(object, tip, ...)
## S4 method for signature 'treedata'
drop.tip(object, tip, ...)
## S4 method for signature 'phylo'
drop.tip(object, tip, ...)
## S4 method for signature 'treedata'
keep.tip(object, tip, ...)
## S4 method for signature 'phylo'
keep.tip(object, tip, ...)
Arguments
object |
A treedata or phylo object |
tip |
a vector of mode numeric or character specifying the tips to delete |
... |
additional parameters |
Value
updated object
Author(s)
Casey Dunn http://dunnlab.org and Guangchuang Yu https://guangchuangyu.github.io
Source
drop.tip for phylo object is a wrapper method of ape::drop.tip from the ape package. The documentation you should read for the drop.tip function can be found here: drop.tip
See Also
Examples
library(tidytree)
set.seed(123)
tr <- ape::rtree(6)
da <- data.frame(id=tip.label(tr), value = letters[seq_len(6)])
trda <- tr %>% dplyr::left_join(da, by = c('label'='id'))
tr1 <- drop.tip(tr, c("t2", "t1"))
tr2 <- keep.tip(tr, c("t2", "t1"))
get.data method
Description
get.data method
get.data method
Usage
get.data(object, ...)
## S4 method for signature 'treedata'
get.data(object)
Arguments
object |
|
... |
additional parameter |
Value
associated data of phylogeny
get.fields method
Description
get.fields method
Usage
get.fields(object, ...)
## S4 method for signature 'treedata'
get.fields(object)
Arguments
object |
|
... |
additional parameter |
Value
available annotation variables
get.treetext method
Description
access tree text (newick text) from tree object
Usage
get.treetext(object, ...)
## S4 method for signature 'treedata'
get.treetext(object)
Arguments
object |
treedata object |
... |
additional parameter |
Value
phylo object
getNodeNum
Description
calculate total number of nodes
Usage
getNodeNum(tree)
Arguments
tree |
tree object |
Value
number
Author(s)
Guangchuang Yu
Examples
getNodeNum(rtree(30))
get_tree_data
Description
get associated data stored in treedata object
Usage
get_tree_data(tree_object)
Arguments
tree_object |
a |
Value
tbl_df
Author(s)
guangchuang yu
groupClade
Description
grouping clades
Usage
groupClade(.data, .node, group_name = "group", overlap = "overwrite", ...)
Arguments
.data |
tree object (phylo, treedata, tbl_tree, ggtree etc.) |
.node |
selected nodes |
group_name |
character the name of the group cluster, default is |
overlap |
character one of |
... |
additional parameter |
Value
updated tree with group information or group index
Author(s)
Guangchuang Yu
groupOTU
Description
grouping OTUs
Usage
groupOTU(.data, .node, group_name = "group", ...)
Arguments
.data |
tree object (phylo, treedata, tbl_tree, ggtree etc.) |
.node |
selected nodes |
group_name |
character the name of the group cluster, default is |
... |
additional parameter |
Value
updated tree with group information or group index
Author(s)
Guangchuang Yu
isTip
Description
whether the node is a tip
Usage
isTip(.data, .node, ...)
## S3 method for class 'tbl_tree'
isTip(.data, .node, ...)
## S3 method for class 'phylo'
isTip(.data, .node, ...)
## S3 method for class 'treedata'
isTip(.data, .node, ...)
Arguments
.data |
phylo, treedata or tbl_tree object |
.node |
node number |
... |
additional parameters |
Value
logical value
Author(s)
Guangchuang Yu
extract the node label of phylo, treedata or tbl_tree
Description
extract the node label of phylo, treedata or tbl_tree
Usage
node.label(x, node = "internal", ...)
Arguments
x |
object, should be one of |
node |
character, to extract which type node label,
default is |
... |
additional parameters. |
Value
label character vector.
nodeid
Description
convert tree label to internal node number
Usage
nodeid(tree, label)
Arguments
tree |
tree object |
label |
tip/node label(s) |
Value
node number
Author(s)
Guangchuang Yu
nodelab
Description
convert internal node number tip/node label
Usage
nodelab(tree, id)
Arguments
tree |
tree object |
id |
node number |
Value
tip/node label(s)
Author(s)
Guangchuang Yu
offspring
Description
access offspring data
Usage
offspring(.data, .node, tiponly, self_include, ...)
## S3 method for class 'tbl_tree'
offspring(.data, .node, tiponly = FALSE, self_include = FALSE, ...)
Arguments
.data |
phylo or tbl_tree object |
.node |
node number |
tiponly |
whether only return tip nodes |
self_include |
whether include the input node, only applicable for tiponly = FALSE |
... |
additional parameters |
Value
offspring data
Author(s)
Guangchuang Yu
Examples
library(ape)
tree <- rtree(4)
x <- as_tibble(tree)
offspring(x, 4)
parent
Description
access parent data
Usage
parent(.data, .node, ...)
## S3 method for class 'tbl_tree'
parent(.data, .node, ...)
Arguments
.data |
phylo or tbl_tree object |
.node |
node number |
... |
additional parameters |
Value
parent data
Author(s)
Guangchuang Yu
Examples
library(ape)
tree <- rtree(4)
x <- as_tibble(tree)
parent(x, 2)
Objects exported from other packages
Description
These objects are imported from other packages. Follow the links below to see their documentation.
- ape
as.phylo
,as.phylo
,is.rooted
,Nnode
,Ntip
,read.tree
,root
,rtree
- dplyr
arrange
,filter
,full_join
,left_join
,mutate
,pull
,rename
,rename
,select
,summarise
,summarize
,transmute
- magrittr
- rlang
- tibble
- tidyr
root
Description
re-root a tree
Usage
## S3 method for class 'treedata'
root(phy, outgroup, node = NULL, edgelabel = TRUE, ...)
Arguments
phy |
tree object |
outgroup |
a vector of mode numeric or character specifying the new outgroup |
node |
node to reroot |
edgelabel |
a logical value specifying whether to treat node labels as edge labels and thus eventually switching them so that they are associated with the correct edges. |
... |
additional parameters passed to ape::root.phylo |
Value
rerooted treedata
rootnode
Description
access root node data
Usage
rootnode(.data, ...)
Arguments
.data |
phylo or tbl_tree object |
... |
additional parameters |
Value
root node data
Author(s)
Guangchuang Yu
show method
Description
show method for treedata
instance
Usage
show(object)
Arguments
object |
|
Value
print info
Author(s)
Guangchuang Yu https://guangchuangyu.github.io
sibling
Description
access sibling data
Usage
sibling(.data, ...)
Arguments
.data |
phylo or tbl_tree object |
... |
additional parameters |
Value
sibling
Author(s)
Guangchuang Yu
the tip or internal node label assign of tbl_tree phylo and treedata
Description
the tip or internal node label assign of tbl_tree phylo and treedata
Usage
tip.label(x) <- value
node.label(x) <- value
## S3 replacement method for class 'phylo'
node.label(x) <- value
## S3 replacement method for class 'treedata'
node.label(x) <- value
## S3 replacement method for class 'tbl_tree'
node.label(x) <- value
## S3 replacement method for class 'phylo'
tip.label(x) <- value
## S3 replacement method for class 'treedata'
tip.label(x) <- value
## S3 replacement method for class 'tbl_tree'
tip.label(x) <- value
Arguments
x |
object, should be one of |
value |
character, the character vector |
extract the tip label of phylo treedata or tbl_tree
Description
extract the tip label of phylo treedata or tbl_tree
Usage
tip.label(x, ...)
Arguments
x |
object, should be one of |
... |
additional parameters. |
Subset tree objects by related nodes
Description
This function allows for a tree object to be subset by specifying a node and returns all related nodes within a selected number of levels
Usage
tree_subset(
tree,
node,
levels_back = 5,
group_node = TRUE,
group_name = "group",
root_edge = TRUE
)
## S3 method for class 'phylo'
tree_subset(
tree,
node,
levels_back = 5,
group_node = TRUE,
group_name = "group",
root_edge = TRUE
)
## S3 method for class 'treedata'
tree_subset(
tree,
node,
levels_back = 5,
group_node = TRUE,
group_name = "group",
root_edge = TRUE
)
Arguments
tree |
a tree object of class phylo |
node |
either a tip label or a node number for the given tree that will be the focus of the subsetted tree |
levels_back |
a number specifying how many nodes back from the selected node the subsetted tree should include |
group_node |
whether add grouping information of selected node |
group_name |
group name (default 'group') for storing grouping information if group_node = TRUE |
root_edge |
If TRUE (by default), set root.edge to path length of orginal root to the root of subset tree |
Details
This function will take a tree and a specified node from
that tree and subset the tree showing all relatives back to a specified
number of nodes. This function allows for a combination of
ancestor
and offspring
to return a subsetted
tree that is of class phylo. This allows for easy graphing of the tree
with ggtree
Examples
set.seed(123)
tree <- ape::rtree(6)
sub_tree <- tree_subset(tree, node = "t1", levels_back = 2)
treedata
Description
treedata object contructor
Usage
treedata(...)
Arguments
... |
parameters |
Value
treedata object
Author(s)
guangchuang yu
Class "treedata" This class stores phylogenetic tree with associated data
Description
Class "treedata" This class stores phylogenetic tree with associated data
Slots
file
tree file
treetext
newick tree string
phylo
phylo object for tree structure
data
associated data
extraInfo
extra information, reserve for merge_tree
tip_seq
tip sequences
anc_seq
ancestral sequences
seq_type
sequence type, one of NT or AA
tipseq_file
tip sequence file
ancseq_file
ancestral sequence file
info
extra information, e.g. metadata, software version etc.
Author(s)
Guangchuang Yu https://guangchuangyu.github.io