Построение филогенетического дерева для видов Hominidae

Этот пример показывает, как конструировать филогенетические деревья из последовательностей мтДНК для таксонов Hominidae (также известных как pongidae). Эта семья охватывает горилл, шимпанзе, орангутанов и людей.

Введение

Митохондриальная D-петля является одной из самых быстро мутирующих областей последовательности в ДНК животных, и поэтому часто используется для сравнения близкородственных организмов. Происхождение современного человека является весьма спорным вопросом, который был решен с использованием последовательностей мтДНК. Ограниченная генетическая изменчивость мтДНК человека была объяснена с точки зрения недавнего общего генетического происхождения, что означает, что все мтДНК современной популяции, вероятно, произошли от одной женщины, которая жила в Африке менее 200 000 лет.

Получение данных последовательности из GenBank

®

В этом примере используются митохондриальные последовательности D-петли, выделенные для различных видов гоминид со следующими номерами GenBank Accession.

%        Species Description      GenBank Accession
data = {'German_Neanderthal'      'AF011222';
        'Russian_Neanderthal'     'AF254446';
        'European_Human'          'X90314'  ;
        'Mountain_Gorilla_Rwanda' 'AF089820';
        'Chimp_Troglodytes'       'AF176766';
        'Puti_Orangutan'          'AF451972';
        'Jari_Orangutan'          'AF451964';
        'Western_Lowland_Gorilla' 'AY079510';
        'Eastern_Lowland_Gorilla' 'AF050738';
        'Chimp_Schweinfurthii'    'AF176722';
        'Chimp_Vellerosus'        'AF315498';
        'Chimp_Verus'             'AF176731';
       };

Вы можете использовать getgenbank функция в цикле for для извлечения последовательностей из хранилища данных NCBI и их загрузки в MATLAB ®.

for ind = 1:length(data)
    primates(ind).Header   = data{ind,1};
    primates(ind).Sequence = getgenbank(data{ind,2},'sequenceonly','true');
end

Для удобства ранее загруженные последовательности включаются в MAT-файл. Следует отметить, что данные в публичных хранилищах часто обрабатываются и обновляются; поэтому результаты этого примера могут несколько отличаться при использовании актуальных последовательностей.

load('primates.mat')

Построение филогенетического дерева UPGMA с использованием методов расстояний

Вычислять попарные расстояния по формуле Джукса-Кантора и филогенетическому дереву методом расстояний UPGMA. Поскольку последовательности не выровнены заранее, seqpdist выполняет попарное выравнивание перед вычислением расстояний.

distances = seqpdist(primates,'Method','Jukes-Cantor','Alpha','DNA');
UPGMAtree = seqlinkage(distances,'UPGMA',primates)

h = plot(UPGMAtree,'orient','top');
title('UPGMA Distance Tree of Primates using Jukes-Cantor model');
ylabel('Evolutionary distance')
    Phylogenetic tree object with 12 leaves (11 branches)

Построение филогенетического дерева соединения соседей с использованием методов расстояния

Альтернативные топологии деревьев важно учитывать при анализе гомологичных последовательностей между видами. Дерево соединения соседей может быть построено с помощью seqneighjoin функция. В деревьях, соединяющихся с соседями, для построения дерева используется рассчитанное выше попарное расстояние. Этот метод выполняет кластеризацию с использованием метода минимальной эволюции.

NJtree = seqneighjoin(distances,'equivar',primates)

h = plot(NJtree,'orient','top');
title('Neighbor-Joining Distance Tree of Primates using Jukes-Cantor model');
ylabel('Evolutionary distance')
    Phylogenetic tree object with 12 leaves (11 branches)

Сравнение топологий дерева

Обратите внимание, что различные методы филогенетической реконструкции приводят к различным топологиям деревьев. Соседнее присоединяющееся дерево группирует Chimp Vellerosus в кладе с гориллами, в то время как дерево UPGMA группирует его около шимпанзе и орангутанов. getcanonical функция может использоваться для сравнения этих изоморфных деревьев.

sametree = isequal(getcanonical(UPGMAtree), getcanonical(NJtree))
sametree =

  logical

   0

Изучение филогенетического дерева UPGMA

Вы можете исследовать филогенетическое дерево, рассматривая узлы (листья и ветви) в пределах заданного патристического расстояния от входа «European Human» и уменьшая дерево до интересующих подветвей путем отсечения неприменимых узлов.

names = get(UPGMAtree,'LeafNames')
[h_all,h_leaves] = select(UPGMAtree,'reference',3,'criteria','distance','threshold',0.3);

subtree_names = names(h_leaves)
leaves_to_prune = ~h_leaves;

pruned_tree = prune(UPGMAtree,leaves_to_prune)
h = plot(pruned_tree,'orient','top');
title('Pruned UPGMA Distance Tree of Primates using Jukes-Cantor model');
ylabel('Evolutionary distance')
names =

  12x1 cell array

    {'German_Neanderthal'     }
    {'Russian_Neanderthal'    }
    {'European_Human'         }
    {'Chimp_Troglodytes'      }
    {'Chimp_Schweinfurthii'   }
    {'Chimp_Verus'            }
    {'Chimp_Vellerosus'       }
    {'Puti_Orangutan'         }
    {'Jari_Orangutan'         }
    {'Mountain_Gorilla_Rwanda'}
    {'Eastern_Lowland_Gorilla'}
    {'Western_Lowland_Gorilla'}


subtree_names =

  6x1 cell array

    {'German_Neanderthal'  }
    {'Russian_Neanderthal' }
    {'European_Human'      }
    {'Chimp_Troglodytes'   }
    {'Chimp_Schweinfurthii'}
    {'Chimp_Verus'         }

    Phylogenetic tree object with 6 leaves (5 branches)

С view Далее можно исследовать/редактировать филогенетическое дерево с помощью интерактивного инструмента. См. также phytreeviewer.

view(UPGMAtree,h_leaves)

Ссылки

[1] Овчинников, И. В., и др., «Молекулярный анализ ДНК неандертальца с северного Кавказа», Nature, 404 (6777): 490-3, 2000.

[2] Sajantila, A., et al., «Гены и языки в Европе: анализ митохондриальных линий», Genome Research, 5 (1): 42-52, 1995.

[3] Krings, M., et al., «Последовательности неандертальной ДНК и происхождение современных людей», Cell, 90 (1): 19-30, 1997.

[4] Дженсен-Шейман, М. И. и Кидд, К. К., «Вариация митохондриальной ДНК и биогеография восточных горилл», Molecular Ecology, 10 (9): 2241-7, 2001.