prune
Remove branch nodes from phylogenetic tree
Syntax
T2
= prune(T1
, Nodes
)
T2
= prune(T1
, Nodes
,
'Mode','Exclusive')
Arguments
T1 | Phylogenetic object created with the phytree constructor function. |
Nodes | Nodes to remove from tree. |
Mode | Property to control the method of pruning. Enter either |
Description
removes
the nodes listed in the vector T2
= prune(T1
, Nodes
)Nodes
from
the tree T1
. prune
removes
any branch or leaf nodes listed in Nodes
and
all their descendants from the tree T1
,
and returns the modified tree T2
. The parent
nodes are connected to the 'brothers' as required. Nodes
in
the tree are labeled as [1:numLeaves]
for the leaves
and as [numLeaves+1:numLeaves+numBranches]
for
the branches. Nodes
can also be a logical
array of size [numLeaves+numBranches x 1]
indicating
the nodes to be removed.
changes the T2
= prune(T1
, Nodes
,
'Mode','Exclusive')Mode
property
for pruning to 'Exclusive'
and removes only the
descendants of the nodes listed in the vector Nodes
.
Nodes that do not have a predecessor become leaves in the list Nodes
.
In this case, pruning is the process of reducing a tree by turning
some branch nodes into leaf nodes, and removing the leaf nodes under
the original branch.
Examples
Load a phylogenetic tree created from a protein family
tr = phytreeread('pf00002.tree'); view(tr)
Remove all the 'mouse' proteins
ind = getbyname(tr,'mouse'); tr = prune(tr,ind); view(tr)
Remove potential outliers in the tree
[sel,sel_leaves] = select(tr,'criteria','distance',... 'threshold',.3,... 'reference','leaves',... 'exclude','leaves',... 'propagate','toleaves'); tr = prune(tr,~sel_leaves) view(tr)
Version History
Introduced before R2006a
See Also
phytree
| phytreeviewer
| select
| get