Этот пример показывает, как создать филогенетические деревья из mtDNA последовательностей для таксонов Hominidae (также известный pongidae). Это семейство охватывает горилл, шимпанзе, орангутанов и людей.
Митохондриальный D-цикл является одной из самых быстрых областей последовательности видоизменения в DNA животных, и поэтому, часто используется, чтобы сравнить тесно связанные организмы. Источник современного человека является высоко обсужденной проблемой, которая была решена при помощи mtDNA последовательностей. Ограниченная генетическая изменчивость человеческого mtDNA была объяснена с точки зрения недавней общей генетической родословной, таким образом подразумевая, что вся современная генеральная совокупность mtDNAs, вероятно, произошла от незамужней женщины, которая жила в Африке меньше чем 200 000 лет.
Этот пример использует митохондриальные последовательности D-цикла, изолированные для различных hominidae разновидностей со следующими Инвентарными номерами GenBank.
% 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')
Вычислите попарные расстояния с помощью формулы 'Jukes-Cantor' и филогенетического дерева с методом расстояния '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)
Заметьте, что различные филогенетические методы реконструкции приводят к различной древовидной топологии. Соединяющий соседа древовидный Шимпанзе групп Vellerosus в clade с гориллами, тогда как древовидные группы UPGMA это около шимпанзе и орангутанов. Функция getcanonical
может использоваться, чтобы сравнить эти изоморфные деревья.
sametree = isequal(getcanonical(UPGMAtree), getcanonical(NJtree))
sametree = logical 0
Можно исследовать филогенетическое дерево путем рассмотрения узлов (листы и ответвления) на данном принадлежащем отцам церкви расстоянии от 'европейской Человеческой' записи и уменьшать дерево до небольших филиалов интереса путем сокращения далеко несоответствующих узлов.
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] Овчинников, I.V., и др., "Молекулярный анализ Неандертальского DNA из северного Кавказа", Природа, 404 (6777):490-3, 2000.
[2] Sajantila, A., и др., "Гены и языки в Европе: анализ митохондриальных происхождений", Исследование Генома, 5 (1):42-52, 1995.
[3] Крингс, M., и др., "последовательности DNA Neandertal и источник современных людей", Ячейка, 90 (1):19-30, 1997.
[4] Иенсен-моряк, М.И. и Кид, K.K., "Митохондриальное изменение DNA и биогеография восточных горилл", Молекулярная Экология, 10 (9):2241-7, 2001.