Переупорядочить листья филогенетического дерева
Tree1Reordered = reorder(Tree1, Order)
[Tree1Reordered, OptimalOrder]
= reorder(Tree1, Order,
'Approximate', ApproximateValue)
[Tree1Reordered, OptimalOrder]
= reorder(Tree1, Tree2)
Tree1, Tree2 | Объекты Phytree. |
Order | Вектор с индексами положения для каждого листа. |
ApproximateValue | Управляет использованием оптимального вычисления порядка листьев, чтобы найти наиболее близкий к предложенному порядок, не деля клады и не создавая скрещивающихся ветвей. Введите true для использования вычисления. По умолчанию это false. |
Tree1Reordered | Объект Phytree с переупорядоченными листьями. |
OptimalOrder | Вектор индексов положения для каждого листа в Tree1Reordered, определяемый оптимальным вычислением порядка листьев. |
переупорядочивает листья филогенетического дерева Tree1Reordered = reorder(Tree1, Order)Tree1, не изменяя его структуру и расстояния, создавая новое филогенетическое дерево, Tree1Reordered. Order является вектором индексов положения для каждого листа. Если Order является недействительным, то есть, если он делит клады (или производит скрещивание ветвей), то reorder возвращает сообщение об ошибке.
[ управляет использованием оптимального вычисления порядка листьев, который находит наилучший приблизительный порядок, ближайший к предлагаемому, не деля клады и не производя скрещивающихся ветвей. Введите Tree1Reordered, OptimalOrder]
= reorder(Tree1, Order,
'Approximate', ApproximateValue)true использовать вычисление и возврат Tree1Reordered, переупорядоченное дерево и OptimalOrderвектор индексов положения для каждого листа в Tree1Reordered, определяемый оптимальным вычислением порядка листьев. По умолчанию это false.
[ использует оптимальный расчет порядка листьев, чтобы переупорядочить листья в Tree1Reordered, OptimalOrder]
= reorder(Tree1, Tree2)Tree1 такой, что он соответствует порядку листьев в Tree2 максимально близко, без деления клады или получения скрещивающихся ветвей. Tree1Reordered - переупорядоченное дерево, и OptimalOrder является вектором индексов положения для каждого листа в Tree1Reordered, определяемый оптимальным вычислением порядка листьев
Создайте и просмотрите филогенетическое дерево.
b = [1 2; 3 4; 5 6; 7 8; 9 10]; tree = phytree(b) Phylogenetic tree object with 6 leaves (5 branches) view(tree)
Переупорядочить листья на филогенетическом дереве, а затем просмотреть переупорядоченное дерево.
treeReordered = reorder(tree, [5, 6, 3, 4, 1, 2]) view(treeReordered)
Создайте филогенетическое дерево путем чтения файла дерева в формате Newick (текстовый файл ASCII).
tree = phytreeread('pf00002.tree')
Phylogenetic tree object with 33 leaves (32 branches)Создайте вектор-строку имен листов в алфавитном порядке.
[dummy,order] = sort(get(tree,'LeafNames'));
Переупорядочить филогенетическое дерево так, чтобы оно максимально точно совпадало с вектором-строкой алфавитно упорядоченных листовых имен, не деля клады или не имея скрещивающихся ветвей.
treeReordered = reorder(tree,order,'approximate',true)
Phylogenetic tree object with 33 leaves (32 branches) Просмотрите исходные и переупорядоченные филогенетические деревья.
view(tree) view(treeReordered)
Создайте филогенетическое дерево путем чтения данных последовательности из файла FASTA, вычисления парных расстояний между последовательностями и затем с помощью метода neighbor-joinning.
seqs = fastaread('pf00002.fa')
seqs =
33x1 struct array with fields:
Header
Sequence
dist = seqpdist(seqs,'method','jukes-cantor','indels','pair');
NJtree = seqneighjoin(dist,'equivar',seqs)
Phylogenetic tree object with 33 leaves (32 branches)Создайте другое филогенетическое дерево из тех же данных последовательности и парных расстояний между последовательностями, используя метод одинарного редактирования.
HCtree = seqlinkage(dist,'single',seqs)
Phylogenetic tree object with 33 leaves (32 branches) Используйте оптимальный расчет порядка листьев, чтобы переупорядочить листья в HCtree такой, что он соответствует порядку листьев в NJtree максимально близко, без деления клады или с пересекающимися ветвями.
HCtree_reordered = reorder(HCtree,NJtree)
Phylogenetic tree object with 33 leaves (32 branches) Просмотрите переупорядоченное филогенетическое дерево и дерево, используемое для его переупорядочивания.
view(HCtree_reordered) view(NJtree)