Этот пример показывает, как создать филогенетические деревья из последовательностей мтДНК для таксонов Hominidae (также известных как pongidae). В это семейство входят гориллы, шимпанзе, орангутаны и люди.
Митохондриальная D-петля является одной из самых быстрых областей мутирующих последовательностей в ДНК животных, и поэтому часто используется для сравнения тесно связанных организмов. Источник современного человека является высоко обсуждаемой проблемой, которая решается с помощью последовательностей мтДНК. Ограниченная генетическая изменчивость человеческой мтДНК была объяснена с точки зрения недавнего общего генетического предка, что подразумевает, что все мтДНК современной популяции, вероятно, произошли от одной женщины, которая жила в Африке менее 200 000 лет.
Этот пример использует митохондриальные последовательности D-петель, выделенные для различных видов hominidae со следующими номерами 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-loop, чтобы извлечь последовательности из репозитория данных 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)

Заметьте, что различные методы филогенетической реконструкции приводят к различным древовидным топологиям. Соседние древовидные группы Chimp Vellerosus в кладе с гориллами, в то время как дерево UPGMA группирует его около шимпанзе и орангутанги. The getcanonical функция может использоваться, чтобы сравнить эти изоморфные деревья.
sametree = isequal(getcanonical(UPGMAtree), getcanonical(NJtree))
sametree = logical 0
Можно исследовать филогенетическое дерево, рассматривая узлы (листья и ветви) в пределах заданного святоотеческого расстояния от входа '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] Овчинников I.V., et al., «Молекулярный анализ неандертальской ДНК северного Кавказа», Nature, 404 (6777): 490-3, 2000.
[2] Sajantila, A., et al., «Genes and languages in Europe: a analysis of mitochondrial lineages», Genome Research, 5 (1): 42-52, 1995.
[3] Krings, M. et al., «Neandertal ДНК sequences and the источника of modern human», Камера, 90 (1): 19-30, 1997.
[4] Jensen-Seaman, M.I. and Kidd, K.K., «Митохондриальная ДНК изменение и биогеография восточных горилл», Molecular Ecology, 10 (9): 2241-7, 2001.