Переупорядочьте листы филогенетического дерева
Tree1Reordered
= reorder(Tree1
, Order
)
[Tree1Reordered
, OptimalOrder
]
= reorder(Tree1
, Order
,
'Approximate', ApproximateValue
)
[Tree1Reordered
, OptimalOrder
]
= reorder(Tree1
, Tree2
)
Tree1 , Tree2 | Фитри возражает. |
Order | Вектор с индексами положения для каждого листа. |
ApproximateValue | Управляет использованием оптимального заказывающего лист вычисления, чтобы найти самый близкий порядок возможным к предложенному, не деля clades или производя пересекающиеся ответвления. Введите true , чтобы использовать вычисление. Значением по умолчанию является false . |
Tree1Reordered | Объект Phytree с переупорядоченными листами. |
OptimalOrder | Вектор индексов положения для каждого листа в Tree1Reordered , определенном оптимальным заказывающим лист вычислением. |
переупорядочивает листы филогенетического древовидного Tree1Reordered
= reorder(Tree1
, Order
)Tree1
, не изменяя его структуру и расстояния, создавая новое филогенетическое дерево, Tree1Reordered
. Order
является вектором индексов положения для каждого листа. Если Order
недопустим, то есть, если он делит clades (или производит пересекающиеся ответвления), то reorder
возвращает сообщение об ошибке.
[
управляет использованием оптимального заказывающего лист вычисления, которое находит лучший аппроксимированный порядок самым близким к предложенному, не деля clades или производя пересекающиеся ответвления. Введите Tree1Reordered
, OptimalOrder
]
= reorder(Tree1
, Order
,
'Approximate', ApproximateValue
)true
, чтобы использовать вычисление и возвратить Tree1Reordered
, переупорядоченное дерево, и OptimalOrder
, вектор индексов положения для каждого листа в Tree1Reordered
, определенном оптимальным заказывающим лист вычислением. Значением по умолчанию является false
.
[
использует оптимальное заказывающее лист вычисление, чтобы переупорядочить листы в Tree1Reordered
, OptimalOrder
]
= reorder(Tree1
, Tree2
)Tree1
, таким образом, что это совпадает с порядком листов в Tree2
максимально тесно, не деля clades или производя пересекающиеся ответвления. 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'));
Переупорядочьте филогенетическое дерево, чтобы совпадать максимально тесно с вектором - строкой из в алфавитном порядке упорядоченных листовых имен, не деля clades или имея пересекающиеся ответвления.
treeReordered = reorder(tree,order,'approximate',true) Phylogenetic tree object with 33 leaves (32 branches)
Просмотрите оригинал и переупорядоченные филогенетические деревья.
view(tree) view(treeReordered)
Создайте филогенетическое дерево путем чтения данных о последовательности из файла FASTA, вычисления попарных расстояний между последовательностями, и затем использования соединяющего соседа метода.
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
максимально тесно, не деля clades или имея пересекающиеся ответвления.
HCtree_reordered = reorder(HCtree,NJtree) Phylogenetic tree object with 33 leaves (32 branches)
Просмотрите переупорядоченное филогенетическое дерево, и дерево раньше переупорядочивало его.
view(HCtree_reordered) view(NJtree)