prune (phytree)

Удалите узлы ветви из филогенетического дерева

Синтаксис

T2 = prune(T1, Nodes)
T2 = prune(T1, Nodes, 'Mode','Exclusive')

Аргументы

T1Филогенетический объект, созданный с помощью phytree функция конструктора.
Nodes

Узлы для удаления из дерева.

Mode

Свойство для управления методом обрезки. Введите любой из 'Inclusive' или 'Exclusive'. Значение по умолчанию 'Inclusive'.

Описание

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)

См. также

| | |

Представлено до R2006a