reorder (phytree)

Переупорядочьте листы филогенетического дерева

Синтаксис

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 возвращает сообщение об ошибке.

[Tree1Reordered, OptimalOrder] = reorder(Tree1, Order, 'Approximate', ApproximateValue) управляет использованием оптимального заказывающего лист вычисления, которое находит лучший аппроксимированный порядок самым близким к предложенному, не деля clades или производя пересекающиеся ветви. Введите true использовать вычисление и возвратить Tree1Reordered, переупорядоченное дерево и OptimalOrder, вектор индексов положения для каждого листа в Tree1Reordered, определенный оптимальным заказывающим лист вычислением. Значением по умолчанию является false.

[Tree1Reordered, OptimalOrder] = reorder(Tree1, Tree2) использует оптимальное заказывающее лист вычисление, чтобы переупорядочить листы в Tree1 таким образом, что это совпадает с порядком листов в Tree2 максимально тесно, не деля clades или производя пересекающиеся ветви. Tree1Reordered переупорядоченное дерево и OptimalOrder вектор индексов положения для каждого листа в Tree1Reordered, определенный оптимальным заказывающим лист вычислением

Примеры

Пример 73. Переупорядочение листов Используя допустимый порядок
  1. Создайте и просмотрите филогенетическое дерево.

    b = [1 2; 3 4; 5 6; 7 8; 9 10];
    tree = phytree(b)
       Phylogenetic tree object with 6 leaves (5 branches)
    view(tree)
  2. Переупорядочьте листы на филогенетическом дереве, и затем просмотрите переупорядоченное дерево.

     treeReordered = reorder(tree, [5, 6, 3, 4, 1, 2])
     view(treeReordered)
Пример 74. Нахождение лучше всего аппроксимирует порядок при использовании недопустимого порядка
  1. Создайте филогенетическое дерево путем чтения Newick-отформатированного древовидного файла (текстовый ASCII-файл).

    tree = phytreeread('pf00002.tree')
        Phylogenetic tree object with 33 leaves (32 branches)
  2. Создайте вектор-строку из листовых имен в алфавитном порядке.

    [dummy,order] = sort(get(tree,'LeafNames'));
  3. Переупорядочьте филогенетическое дерево, чтобы совпадать максимально тесно с вектором-строкой из в алфавитном порядке упорядоченных листовых имен, не деля clades или имея пересекающиеся ветви.

    treeReordered = reorder(tree,order,'approximate',true)
        Phylogenetic tree object with 33 leaves (32 branches) 
  4. Просмотрите оригинал и переупорядоченные филогенетические деревья.

    view(tree)
    view(treeReordered)   
Пример 75. Переупорядочение листов, чтобы совпадать с листовым порядком в другом Phylogenetic Tree
  1. Создайте филогенетическое дерево путем чтения данных о последовательности из файла 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)
  2. Создайте другое филогенетическое дерево из тех же данных о последовательности и попарных расстояний между последовательностями, с помощью одного метода рычажного устройства.

    HCtree = seqlinkage(dist,'single',seqs)
        Phylogenetic tree object with 33 leaves (32 branches)   
  3. Используйте оптимальное заказывающее лист вычисление, чтобы переупорядочить листы в HCtree таким образом, что это совпадает с порядком листов в NJtree максимально тесно, не деля clades или имея пересекающиеся ветви.

    HCtree_reordered = reorder(HCtree,NJtree)
        Phylogenetic tree object with 33 leaves (32 branches)      
  4. Просмотрите переупорядоченное филогенетическое дерево, и дерево раньше переупорядочивало его.

    view(HCtree_reordered)
    view(NJtree)   

Смотрите также

| | |

Представленный в R2007a

Для просмотра документации необходимо авторизоваться на сайте