Переупорядочьте листы филогенетического дерева
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)