seqneighjoin

Создайте филогенетическое дерево с помощью метода neighbor-joinning

Синтаксис

PhyloTree = seqneighjoin(Distances)
PhyloTree = seqneighjoin(Distances, Method)
PhyloTree = seqneighjoin(Distances, Method, Names)
PhyloTree = seqneighjoin(..., 'Reroot', RerootValue)

Входные параметры

DistancesМатрица или вектор, содержащий биологические расстояния между парами последовательностей, такие как возвращенные seqpdist функция.
MethodВектор символов или строка, задающая метод для вычисления расстояний между узлами. Варианты 'equivar' (по умолчанию) или 'firstorder'.
Names

Одно из следующих:

  • Вектор структур с полями Header и Name

  • Массив ячеек из символьных векторов или строкового вектора

Количество элементов должно равняться количеству выборок, используемых для генерации парных расстояний в Distances.

Описание

PhyloTree = seqneighjoin(Distances) вычисляет PhyloTree, объект филогенетического дерева, от Distances, парные расстояния между видами или продуктами, используя соседний способ соединения.

PhyloTree = seqneighjoin(Distances, Method) задает Method, метод для вычисления расстояний новых узлов до всех других узлов при каждой итерации. Общее выражение для вычисления расстояний между новым узлом, n, после присоединения i и j и все другие узлы (k), дается

D(n,k) =  a*D(i,k) + (1-a)*D(j,k) - a*D(n,i) - (1-a)*D(n,j)

Это выражение гарантированно найдет правильное дерево с аддитивными данными (минимальное уменьшение отклонения).

Варианты для Method являются:

МетодОписание
equivar (по умолчанию)Принимает равное отклонение и независимость эволюционных оценок расстояния (a = 1/2), таких как в исходном алгоритме соединения соседей Saitou и Nei, JMBE (1987) или как в Studier and Keppler, JMBE (1988).
firstorderПринимает модель первого порядка отклонений и ковариаций эволюционных оценок расстояния с 'a' корректировка при каждой итерации на значение между 0 и 1, например, в Гаскуэле, JMBE (1997).

PhyloTree = seqneighjoin(Distances, Method, Names) проходит Names, список имен (таких как виды или продукты), для маркировки узлов листьев в объекте филогенетического дерева.

PhyloTree = seqneighjoin(..., 'Reroot', RerootValue) определяет, следует ли перезагружать PhyloTree. Варианты true (по умолчанию) или false. Когда RerootValue является false, seqneighjoin исключает перезагрузку получившегося дерева, что полезно для наблюдения исходного порядка редактирования, за которым следует алгоритм. По умолчанию seqneighjoin перезапускает получившееся дерево с помощью метода midpoint.

Примеры

свернуть все

Создайте массив структур, представляющих множественное выравнивание аминокислот:

seqs = fastaread('pf00002.fa');

Измерьте парные расстояния Юкса-Кантора между последовательностями.

distances = seqpdist(seqs,'method','jukes-cantor','indels','pair');

Используйте выходной аргумент distancesвектор, содержащий биологические расстояния между каждой парой последовательностей, как входной параметр для seqneighjoin.

Создайте филогенетическое дерево для выравнивания нескольких последовательностей с помощью алгоритма соединения соседей. Укажите метод для вычисления расстояний новых узлов до всех других узлов.

phylotree = seqneighjoin(distances,'equivar',seqs)
    Phylogenetic tree object with 32 leaves (31 branches)

Просмотрите филогенетическое дерево:

view(phylotree)

Figure Phylogenetic Tree 1 contains an axes. The axes contains 70 objects of type line.

Ссылки

[1] Saitou, N., and Nei, M. (1987). Метод соединения соседей: Новый метод реконструкции филогенетических деревьев. Молекулярная биология и эволюция 4 (4), 406-425.

[2] Gascuel, O. (1997). BIONJ: Улучшенная версия алгоритма NJ, основанная на простой модели данных последовательности. Молекулярная биология и эволюция 14 685-695.

[3] Studier, J.A., Keppler, K.J. (1988). Записка об алгоритме соединения соседей Saitou и Nei. Молекулярная биология и эволюция 5 (6) 729-731 .

Представлено до R2006a