phytree

Создайте объект phytree

Синтаксис

Tree = phytree(B)
Tree = phytree(B, D)
Tree = phytree(B, C)
Tree = phytree(BC)
Tree = phytree(..., N)
Tree = phytree

Аргументы

B

Числовой массив размера [NUMBRANCHES X 2] в которой каждая строка представляет ветвь дерева. Она содержит два указателя на ветвь или узлы листа, которые являются ее дочерними элементами.

CВектор-столбец с расстояниями для каждой ветви.
DВектор-столбец с расстояниями от каждого узла до их родительской ветви.
BCКомбинированная матрица с указателями на ветви или листья, и расстояниями ветвей.

N

Массив ячеек с именами листьев и ветвей.

Описание

Tree = phytree(B) создает объект ультраметрического филогенетического дерева. У ультраметрического филогенетического древовидного объекта все листья имеют одинаковое расстояние от корня.

B - числовой массив размера [NUMBRANCHES X 2] в которой каждая строка представляет ветвь дерева и она содержит два указателя на узлы ветви или листа, которые являются ее дочерними элементами.

Узлы листа нумеруются из 1 на NUMLEAVES а узлы ветви нумеруются из NUMLEAVES + 1 на NUMLEAVES + NUMBRANCHES. Обратите внимание, что, поскольку разрешены только двоичные деревья, NUMLEAVES = NUMBRANCHES + 1.

Ветви определены в хронологическом порядке (для примера, B(i,:) > NUMLEAVES + i). Как следствие, первая строка может иметь только указатели на листья, а последняя строка должна представлять корневую ветвь. Для расстояний между родителем и дочерним элементом задано значение 1, если только ребенок не является листом и чтобы удовлетворить ультраметрическое условие дерева, его расстояние увеличивается.

Приведено дерево с тремя листьями и двумя ветвями в качестве примера.

В MATLAB® Командное окно, введите

B = [1 2 ; 3 4]

 B =

     1     2
     3     4

tree = phytree(B)

 Phylogenetic tree object with 3 leaves (2 branches)

view(tree)

Tree = phytree(B, D) создает объект филогенетического дерева добавки (ультраметрический или неультраметрический) с расстояниями ветви, определяемыми D. D - числовой массив размера [NUMNODES X 1] при этом расстояния между каждым дочерним узлом (листом или ветвью) и его родительской ветвью равны NUMNODES = NUMLEAVES + NUMBRANCHES. Последнее расстояние в D - расстояние между корневым узлом и бессмысленно.

b = [1 2 ; 3 4 ]

b =

     1     2
     3     4

d = [1; 2; 1.5; 1; 0]

d =

    1.0000
    2.0000
    1.5000
    1.0000
         0

view(phytree(b,d))

Tree = phytree(B, C) создает объект ультраметрического филогенетического дерева с расстояниями между ветвями и листьями, определяемыми C. C - числовой массив размера [NUMBRANCHES X 1], который содержит расстояние от каждой ветви до листьев. У ультраметрических деревьев все листья находятся в одном и том же месте (одинаковое расстояние до корня).

b = [1 2 ; 3 4]

b =

     1     2
     3     4

c = [1 4]'

c =

     1
     4

view(phytree(b,c))

Tree = phytree(BC) создает ультраметрический филогенетический двоичный древовидный объект с указателями на ветви в BC(:,[1 2]) и координаты ветви в BC(:,3). То же, что и phytree(B,C).

Tree = phytree(..., N) задает имена для листьев и/или ветвей. N является строковым вектором или массивом ячеек из векторов символов. Если NUMEL(N)==NUMLEAVES, затем имена присваиваются хронологически листьям. Если NUMEL(N)==NUMBRANCHESимена присваиваются узлам ветви. Если NUMEL(N)==NUMLEAVES + NUMBRANCHES, все узлы имеют имя. Неназначенные имена по умолчанию 'Leaf #' и/или 'Branch #' по мере необходимости.

Tree = phytree создает пустой объект филогенетического дерева.

Примеры

свернуть все

В этом примере показано, как создать филогенетическое дерево из файла выравнивания нескольких последовательностей.

Считайте файл выравнивания нескольких последовательностей.

Sequences = multialignread('aagag.aln');

Вычислите расстояние между каждой парой последовательностей.

distances = seqpdist(Sequences);

Создайте объект филогенетического дерева из парных расстояний, вычисленных ранее.

tree = seqlinkage(distances);

Просмотрите филогенетическое дерево.

phytreeviewer(tree)

Figure Phylogenetic Tree 1 contains an axes. The axes contains 38 objects of type line.

Введенный в R2006a