Используя выигрыш матриц, чтобы измерить эволюционное расстояние

Этот пример показывает, как обработать Матрицы Выигрыша с инструментами выравнивания последовательности. Пример использует белки, сопоставленные с ретинобластомой, болезнью, вызванной опухолью, которая разрабатывает из незрелой сетчатки.

Доступ к веб-сайту NCBI и базе данных

Больше информации о ретинобластоме может быть найдено в разделе Генов и болезней веб-сайта NCBI.

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

load retinoblastoma

Можно также использовать функцию getgenpept, чтобы получить информацию о последовательности из репозитория данных NCBI и загрузить его в MATLAB.

human = getgenpept('AAA69808','SequenceOnly',true);
chicken = getgenpept('NP_989750','SequenceOnly',true);
trout = getgenpept('AAD13390','SequenceOnly',true);
xenopus = getgenpept('A44879','SequenceOnly',true);

Выравнивание CAH72243 (человеческий белок) к CAA51019 (куриный белок)

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

[sc,hvc] = nwalign(human,chicken);
showalignment(hvc)

В этом выравнивании функция использовала матрицу выигрыша значения по умолчанию, BLOSUM62. Различные матрицы выигрыша могут дать различные выравнивания. Как можно найти лучшее выравнивание? Один подход должен попробовать различные матрицы выигрыша и искать самый высокий счет. Когда счет от функций выравнивания находится в той же шкале (в этом случае, биты), можно сравнить различные выравнивания, чтобы видеть, который дает самый высокий счет.

Этот пример использует семейство PAM матриц, хотя используемый подход мог также использоваться с семейством BLOSUM выигрыша матриц. Семейство PAM матриц в Bioinformatics Toolbox™ состоит из 50 матриц, PAM10, PAM20..., PAM490, PAM500.

Возьмите эти две последовательности (CAH72243 и CAA51019) и выровняйте их с каждым членом семейства PAM и затем ищите самый высокий счет.

score = zeros(1,50);
fprintf('Trying different PAM matrices ')
Trying different PAM matrices 
for step = 1:50
   fprintf('.')
   PamNumber = step * 10;
   [matrix,info] = pam(PamNumber);
   score(step) = nwalign(human,chicken,'scoringmatrix',matrix,'scale',info.Scale);
end
..................................................

Графический вывод очков

Можно использовать функцию plot, чтобы создать график результатов.

x = 10:10:500;
plot(x,score)
legend('Human vs. Chicken');
title('Global Alignment Scores for Different PAM Scoring Matrices');
xlabel('PAM matrix');ylabel('Score (bits)');

Нахождение лучшего счета

Можно использовать max с двумя выходными параметрами, чтобы найти самый высокий счет и индекс в векторе результатов, где самое высокое значение произошло. В этом случае самый высокий счет произошел с третьей матрицей, которая является PAM30.

[bestScore, idx] = max(score)
bestScore = 2.2605e+03
idx = 3

Выравнивание к другим организмам

Повторите это с различными организмами: xenopus и радужная форель.

xenopusScore = zeros(1,50);
troutScore = zeros(1,50);
fprintf('Trying different PAM matrices ')
Trying different PAM matrices 
for step = 1:50
   fprintf('.')
   PamNumber = step * 10;
   [matrix,info] = pam(PamNumber);
   xenopusScore(step) = nwalign(human,xenopus,'scoringmatrix',matrix,'scale',info.Scale);
   troutScore(step) = nwalign(human,trout,'scoringmatrix',matrix,'scale',info.Scale);
end
..................................................

Добавление большего количества строк к тому же графику

Можно использовать команду hold on, чтобы сказать MATLAB® добавлять новые графики в существующую фигуру. Если вы закончили делать это, необходимо не забыть отключать эту опцию при помощи hold off.

hold on
plot(x,xenopusScore,'g')
plot(x,troutScore,'r')
legend({'Human vs. Chicken','Human vs. Xenopus','Human vs. Trout'});box on
title('Global Alignment Scores for Different PAM Scoring Matrices');
xlabel('PAM matrix');ylabel('Score (bits)');
hold off

Нахождение лучших очков

Вы будете видеть, что различные матрицы дают самую высокую музыку к различным организмам. Для человека и xenopus, лучший счет с PAM40 и для человека и форели, лучший счет является PAM50.

[bestXScore, Xidx] = max(xenopusScore)
bestXScore = 1607
Xidx = 4
[bestTScore, Tidx] = max(troutScore)
bestTScore = 1484
Tidx = 5

PAM, выигрывая матрицу, дающую лучшее выравнивание для двух последовательностей, является индикатором относительного эволюционного интервала начиная с отличенных организмов: Чем меньший номер PAM, тем более тесно связанный организмы. Поскольку организмы и семейства белков через организмы, развиваются на широко переменных уровнях, нет никакой простой корреляции между расстоянием PAM и эволюционное время. Однако для анализа определенного семейства белков через несколько разновидностей, соответствующие матрицы PAM обеспечат относительное эволюционное расстояние между разновидностями и позволят точное филогенетическое отображение. В этом примере результаты показывают, что человеческая последовательность более тесно связана с куриной последовательностью, чем к последовательности лягушки, которая в свою очередь более тесно связана, чем форелевая последовательность.