Удалите узлы ветви из филогенетического дерева
T2 = prune(T1, Nodes)
T2 = prune(T1, Nodes,
'Mode','Exclusive')
T1 | Филогенетический объект, созданный с phytree функция конструктора. |
Nodes | Узлы, чтобы удалить из дерева. |
Mode | Свойство управлять методом сокращения. Введите любой |
удаляет узлы, перечисленные в векторном T2 = prune(T1, Nodes)Nodes от древовидного T1. prune удаляет любую ветвь или вершины, перечисленные в Nodes и все их потомки от древовидного T1, и возвращает модифицированный древовидный T2. Родительские узлы соединяются с 'братьями' как требуется. Nodes в дереве помечены как [1:numLeaves] для листов и as [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) 
Удалите все белки 'мыши'
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)
