Этот пример показывает, как построить филогенетические деревья из множества штаммов вирусов ВИЧ и SIV.
Мутации накапливаются в геномах патогенов, в данном случае вируса иммунодефицита человека/симиана, во время распространения инфекции. Эта информация может быть использована для изучения истории событий передачи, а также в качестве доказательства происхождения различных вирусных штаммов.
Существует два характерных штамма вирусов СПИДа человека: тип 1 (HIV-1) и тип 2 (ВИЧ-2). Оба штамма представляют собой межвидовые инфекции. Водоём приматов HIV-2 был чётко идентифицирован как сажевый мангабей (Cercocebus atys). Считается, что происхождение HIV-1 - обыкновенный шимпанзе (Pan troglodytes).
В этом примере вариации в трех самых длинных кодирующих областях из семнадцати различных выделенных штаммов вируса иммунодефицита человека и симиана используются для конструирования филогенетического дерева. Последовательности для этих вирусных штаммов могут быть извлечены из GenBank ® с использованием их регистрационных номеров. Три интересующие кодирующие области, белок gag, полипротеин pol и предшественник полипротеина оболочки, затем могут быть извлечены из последовательностей с использованием информации CDS в записях GenBank.
% Description Accession CDS:gag/pol/env data = {'HIV-1 (Zaire)' 'K03454' [1 2 8] ; 'HIV1-NDK (Zaire)' 'M27323' [1 2 8] ; 'HIV-2 (Senegal)' 'M15390' [1 2 8] ; 'HIV2-MCN13' 'AY509259' [1 2 8] ; 'HIV-2UC1 (IvoryCoast)' 'L07625' [1 2 8] ; 'SIVMM251 Macaque' 'M19499' [1 2 8] ; 'SIVAGM677A Green monkey' 'M58410' [1 2 7] ; 'SIVlhoest L''Hoest monkeys' 'AF075269' [1 2 7] ; 'SIVcpz Chimpanzees Cameroon' 'AF115393' [1 2 8] ; 'SIVmnd5440 Mandrillus sphinx' 'AY159322' [1 2 8] ; 'SIVAGM3 Green monkeys' 'M30931' [1 2 7] ; 'SIVMM239 Simian macaque' 'M33262' [1 2 8] ; 'CIVcpzUS Chimpanzee' 'AF103818' [1 2 8] ; 'SIVmon Cercopithecus Monkeys' 'AY340701' [1 2 8] ; 'SIVcpzTAN1 Chimpanzee' 'AF447763' [1 2 8] ; 'SIVsmSL92b Sooty Mangabey' 'AF334679' [1 2 8] ; }; numViruses = size(data,1)
numViruses =
16
Вы можете использовать getgenbank для копирования данных из GenBank в структуру в MATLAB ®. Поле SeireURL структуры содержит адрес фактической записи GenBank. Вы можете просмотреть эту запись с помощью web команда.
acc_num = data{1,2};
lentivirus = getgenbank(acc_num);
web(lentivirus(1).SearchURL)
Извлеките информацию о последовательности из базы данных NCBI GenBank для остальных номеров присоединения.
for ind = 2:numViruses lentivirus(ind) = getgenbank(data{ind,2}); end
Для удобства ранее загруженные последовательности включаются в MAT-файл. Следует отметить, что данные в публичных хранилищах часто обрабатываются и обновляются; поэтому результаты этого примера могут несколько отличаться при использовании актуальных наборов данных.
load('lentivirus.mat')
Извлечение CDS для областей кодирования GAG, POL и ENV. Затем экстрагируют нуклеотидные последовательности с использованием CDS-указателей.
for ind = 1:numViruses temp_seq = lentivirus(ind).Sequence; temp_seq = regexprep(temp_seq,'[nry]','a'); CDSs = lentivirus(ind).CDS(data{ind,3}); gag(ind).Sequence = temp_seq(CDSs(1).indices(1):CDSs(1).indices(2)); pol(ind).Sequence = temp_seq(CDSs(2).indices(1):CDSs(2).indices(2)); env(ind).Sequence = temp_seq(CDSs(3).indices(1):CDSs(3).indices(2)); end
seqpdist и seqlinkage команды используются для построения филогенетического дерева для области кодирования GAG с использованием метода «Tajima-Nei» для измерения расстояния между последовательностями и методом группы невзвешенных пар с использованием арифметических средних или метода «UPGMA» для иерархической кластеризации. Метод 'Tajima-Nei' определен только для нуклеотидов, поэтому используются нуклеотидные последовательности, а не транслированные аминокислотные последовательности. Расчет расстояния может занять довольно много минут, поскольку он очень интенсивен в вычислительном отношении.
gagd = seqpdist(gag,'method','Tajima-Nei','Alphabet','NT','indel','pair'); gagtree = seqlinkage(gagd,'UPGMA',data(:,1)) plot(gagtree,'type','angular'); title('Immunodeficiency virus (GAG protein)')
Phylogenetic tree object with 16 leaves (15 branches)

Затем создайте филогенетическое дерево для полипротеинов POL с использованием метода «Jukes-Cantor» для измерения расстояния между последовательностями и метода группы взвешенных пар с использованием арифметических средних или метода «WPGMA» для иерархической кластеризации. Метод «Jukes-Cantor» определен для аминокислотных последовательностей, что, будучи значительно короче соответствующих нуклеотидных последовательностей, означает, что вычисление попарных расстояний будет значительно быстрее.
Превращать нуклеотидные последовательности в аминокислотные, используя nt2aa.
for ind = 1:numViruses aagag(ind).Sequence = nt2aa(gag(ind).Sequence); aapol(ind).Sequence = nt2aa(pol(ind).Sequence); aaenv(ind).Sequence = nt2aa(env(ind).Sequence); end
Рассчитайте расстояние и связь, а затем создайте дерево.
pold = seqpdist(aapol,'method','Jukes-Cantor','indel','pair'); poltree = seqlinkage(pold,'WPGMA',data(:,1)) plot(poltree,'type','angular'); title('Immunodeficiency virus (POL polyprotein)')
Phylogenetic tree object with 16 leaves (15 branches)

Создайте филогенетическое дерево для полипротеинов ENV, используя нормализованные оценки парного выравнивания в качестве расстояний между последовательностями и «UPGMA», метод иерархической кластеризации.
envd = seqpdist(aaenv,'method','Alignment','indel','score',... 'ScoringMatrix','Blosum62'); envtree = seqlinkage(envd,'UPGMA',data(:,1)) plot(envtree,'type','angular'); title('Immunodeficiency virus (ENV polyprotein)')
Phylogenetic tree object with 16 leaves (15 branches)

Три дерева похожи, но есть некоторые интересные различия. Например, в дереве POL последовательность 'SIVmnd5440 Mandrillus sphinx' расположена близко к HIV-1 штаммам, но в дереве ENV она показана как очень удаленная от HIV-1 последовательностей. Учитывая, что три дерева показывают несколько разные результаты, консенсусное дерево, использующее все три региона, может дать лучшую общую информацию о полных вирусах. Консенсусное дерево может быть построено с использованием средневзвешенного значения трех деревьев.
weights = [sum(gagd) sum(pold) sum(envd)]; weights = weights / sum(weights); dist = gagd .* weights(1) + pold .* weights(2) + envd .* weights(3);
Следует отметить, что при расчете попарных расстояний использовались различные метрики. Это может привести к смещению дерева консенсуса. Для получения несмещенного дерева можно пересчитать расстояния для трех областей, используя одну и ту же метрику.
tree_hiv = seqlinkage(dist,'average',data(:,1)); plot(tree_hiv,'type','angular'); title('Immunodeficiency virus (Weighted tree)')

Филогенетическое дерево, полученное в результате нашего анализа, иллюстрирует наличие двух кластеров и некоторых других изолированных штаммов. Наиболее компактный кластер включает все HIV2 выборки; в верхней ветви этого кластера мы наблюдаем сажевый мангабей, который был идентифицирован как происхождение этого лентивируса у людей. Однако кластер, содержащий HIV1 штамм, не является таким компактным, как HIV2 кластер. Из дерева видно, что шимпанзе является источником HIV1, однако происхождение межвидовой передачи людям все еще является предметом споров среди исследователей ВИЧ.
% Add annotations annotation(gcf,'textarrow',[0.29 0.31],[0.36 0.28],'Color',[1 0.5 0],... 'String',{'Possible HIV type 1 origin'},'TextColor',[1 0.5 0]); annotation(gcf,'textarrow',[0.42 0.49],[0.45 0.50],'Color',[1 0 0],... 'String',{'HIV type 2 origin'},'TextColor',[1 0 0]);

Gao, F., et al., «Происхождение HIV-1 у шимпанзе Pan troglodytes troglodytes», Nature, 397 (6718): 436-41, 1999.
Kestler, H.W., et al., «Сравнение изолятов вируса иммунодефицита человека», Nature, 331 (6157): 619-22, 1998.
Alizon, M., et al., «Генетическая изменчивость вируса СПИДа: анализ нуклеотидной последовательности двух изолятов от африканских пациентов», Cell, 46 (1): 63-74, 1986.