Удалите узлы ветви из филогенетического дерева
T2
= prune(T1
, Nodes
)
T2
= prune(T1
, Nodes
,
'Mode','Exclusive')
T1 | Филогенетический объект, созданный с помощью phytree функция конструктора. |
Nodes | Узлы для удаления из дерева. |
Mode | Свойство для управления методом обрезки. Введите любой из |
удаляет узлы, перечисленные в векторе T2
= prune(T1
, Nodes
)Nodes
из дерева T1
. prune
удаляет все узлы ветви или листа, перечисленные в Nodes
и все их потомки с дерева T1
, и возвращает измененное дерево T2
. Родительские узлы при необходимости соединяются с узлами 'brothers'. Nodes
в дереве помечены как [1:numLeaves]
для листьев и как [numLeaves+1:numLeaves+numBranches]
для ветвей. Nodes
может также быть логическим массивом размера [numLeaves+numBranches x 1]
указывает удаляемые узлы.
изменяет T2
= prune(T1
, Nodes
,
'Mode','Exclusive')Mode
свойство для обрезки до 'Exclusive'
и удаляет только потомки узлов, перечисленных в векторе Nodes
. Узлы, которые не имеют предшественника, становятся листьями в списке Nodes
. В этом случае обрезка является процессом сокращения дерева путём превращения некоторых узлов ветви в узлы листа, и удаления узлов листа под исходной ветвью.
Загрузите филогенетическое дерево, созданное из белкового семейства
tr = phytreeread('pf00002.tree'); view(tr)
Удалите все белки 'mouse'
ind = getbyname(tr,'mouse'); tr = prune(tr,ind); view(tr)
Удалите потенциальные выбросы в дереве
[sel,sel_leaves] = select(tr,'criteria','distance',... 'threshold',.3,... 'reference','leaves',... 'exclude','leaves',... 'propagate','toleaves'); tr = prune(tr,~sel_leaves) view(tr)