Переупорядочить листья филогенетического дерева
Tree1Reordered = reorder(Tree1, Order)
[Tree1Reordered, OptimalOrder] = reorder(Tree1, Order, 'Approximate', ApproximateValue)
[Tree1Reordered, OptimalOrder] = reorder(Tree1, Tree2)
Tree1, Tree2 | Фитриевые объекты. |
Order | Вектор с индексами положения для каждого листа. |
ApproximateValue | Управляет использованием расчета оптимального порядка листьев для нахождения наиболее близкого к предложенному порядка без разделения кладок или создания пересекающихся ветвей. Войти true для использования расчета. По умолчанию: false. |
Tree1Reordered | Фитриевый объект с переупорядоченными листьями. |
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, вычисления попарных расстояний между последовательностями и последующего использования метода соединения соседей.
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)