Этот пример показывает, как создать филогенетические деревья из нескольких штаммов вирусов ВИЧ и SIV.
Мутации накапливаются в геномах патогенов, в этом случае вируса иммунодефицита человека/симиана, во время распространения инфекции. Эта информация может использоваться для изучения истории событий передачи, а также в качестве доказательства источников различных вирусных штаммов.
Существует два характерных штамма вирусов СПИДа человека: тип 1 (HIV-1) и тип 2 (ВИЧ-2). Оба штамма представляют перекрестные инфекции. Приматный резервуар HIV-2 четко определено как сажистый мангабей (Cercocebus atys). Считается, что источник HIV-1 - обычный шимпанзе (Панорамирование троглодитов).
В этом примере для создания филогенетического дерева используются изменения трех самых длинных кодирующих областей из семнадцати различных изолированных штаммов вируса иммунодефицита человека и симиана. Последовательности для этих штаммов вируса могут быть получены из 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 ®. Поле SearchURL структуры содержит адрес фактической записи 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
The 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]);
[1] Gao, F. et al. «, Источник HIV-1 в шимпанзе Панорамирования троглодитах troglodytes», Nature, 397 (6718): 436-41, 1999.
[2] Kestler, H.W., et al., «Сравнение изолятов вируса иммунодефицита мышей», Nature, 331 (6157): 619-22, 1998.
[3] Alizon, M. et al., «Генетическая изменчивость вируса СПИДа: анализ нуклеотидной последовательности двух изолятов от африканских пациентов», Камера, 46 (1): 63-74, 1986.