View source: R/get_ancestral_nodes.R
| get_ancestral_nodes | R Documentation |
Given a rooted phylogenetic tree and a set of tips and/or nodes ("descendants"), determine their ancestral node indices, traveling a specific number of splits back in time (i.e., towards the root).
get_ancestral_nodes(tree, descendants, Nsplits)
tree |
A rooted tree of class "phylo". |
descendants |
An integer vector or character vector, specifying the tips/nodes for each of which to determine the ancestral node. If an integer vector, it must list indices of tips (from 1 to Ntips) and/or nodes (from Ntips+1 to Ntips+Nnodes), where Ntips and Nnodes is the number of tips and nodes in the tree, respectively. If a character vector, it must list tip and/or node names. In this case |
Nsplits |
Either a single integer or an integer vector of the same length as |
The tree may include multi-furcations (i.e. nodes with more than 2 children) as well as mono-furcations (i.e. nodes with only one child).
An integer vector of the same length as descendants, with values in 1,..,Nnodes, listing the node indices representing the ancestors of descendants traveling backward Nsplits.
Stilianos Louca
get_pairwise_mrcas, get_mrca_of_set
# generate a random tree
tree = generate_random_tree(list(birth_rate_intercept=1),
max_tips = 50,
tip_basename = "tip.",
node_basename = "node.")$tree
# pick 3 tips
descendants=c("tip.5", "tip.7","tip.10")
# determine the immediate parent node of each tip
ancestors = castor::get_ancestral_nodes(tree, descendants, Nsplits=1)
print(tree$node.label[ancestors])
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.