В этом примере показано, как обрабатывать матрицы оценки с помощью инструментов выравнивания последовательностей. В примере используются белки, связанные с ретинобластомой, заболеванием, вызванным опухолью, которая развивается из незрелой сетчатки.
Более подробную информацию о ретинобластоме можно найти в разделе «Гены и заболевания» веб-сайта NCBI.
Ссылка «BLink» на этой странице показывает связанные последовательности в различных организмах. Эти связи могут часто изменяться, поэтому в данном примере можно загрузить набор ранее сохраненных данных из 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);
Один из подходов к изучению взаимосвязи между этими двумя белками заключается в использовании глобального согласования с nwalign функция.
[sc,hvc] = nwalign(human,chicken)
sc = 1.4543e+03
hvc = 3x938 char array
'MPPKTPRKTAATAAAAAAEPPAPPPPPPPEEDPEQDSGPEDLPLVRLEFEETEEPDFTALCQKLKIPDHVRERAWLTWEKVSSVDGVLGGYIQKKKELWGICIFIAAVDLDEMSFTFTELQKNIEISVHKFFNLLKE--I--DT-STKVDNAMSRLLKKYDVLFALFSKLERTCELIYLTQPSSSISTEINSALVLKVSWITFLLAKGEVLQMEDDLVISFQLMLCVLDYFIKLSPPMLLKEPYKTAV--IPINGSPRTPRRGQNRSARIAKQLENDTRIIEVLCKEHECNIDEVKNVYFKNFIPFMNSLGLVTSNGLPEVENLSKRYEEIYLKNKDLDARLFLDHDKTLQTDSIDSFETQRTPRKSNLDEEVNVIPPHTPVRTVMNTIQQLMMILNSASDQPSENLISYFNNCTVNPKESILKRVKDIGYIFKEKFAKAVGQGCVEIGSQRYKLGVRLYYRVMESMLKSEEERLSIQNFSKLLNDNIFHMSLLACALEVVMATYSRSTSQ-NLDSG-TDLSFPWILNVLNLKAFDFYKVIESFIKAEGNLTREMIKHLERCEHRIMESLAWLSDSPLFDLIKQSKDREGPTDHLESACPLNLPLQNNHTAADMYLSPVRSPKKKGSTTRVNSTANAETQATSAFQTQKPLKSTSLSLFYKKVYRLAYLRLNTLCERLLSEHPELEHIIWTLFQHTLQNEYELMRDRHLDQIMMCSMYGICKVKNIDLKFKIIVTAYKDLPHAVQETFKRVLIKEEEYDSIIVFYNSVFMQRLKTNILQYASTRPPTLSPIPHIPRSPYKFPSSPLRIP-GGNIYISPLKSPYKISEGLPTPTKMTPRSRILVSIGESFGTSEKFQKINQMVCNSDRVLKRSAEGSNPPKPLKKLRFDIEGSDEADGSKHLPGESKFQQKLAEMTSTRTRMQKQKMNDSMDTSNKEEK'
'|||| | : |::| : : | : | | :| :||| |: | |:|||: || || |||:||:|:::::::||: ::| :|||| ||:||||:|:|||||:|||||| |:: ||| ||::||| : || |||||:::||| ||||||:||: |:|||| |||| |||| ||:|::|:|||| |||||||||:||||||||||||||:||||||||||||| :||||||:|| : :||| |||||||||:|| :||:::||::||:|||||:||:|||||||| :||||:||||:|:|||||||: |||:|:|:||||||:|||||||||:||| | | : :|||||:| ||||| : |:||||::||||||||||||||:|:||::||:|||||||||::||||||:::|:|||:|||:||||||:|||||||:||||||||||||||||||||||::|||||||||||| ||||||||:|||||:|::|| : |: |||||||||||::|||||||||||||||:| :|||:|||||||||||||||||| |||||||||||||:||| ||: | : ||||||:||||||:|||||||||||:| ::|:| ::| ::: ||||| ||||||||||||:|||||||:|| |||||||:|| :|||||||||||| ||||||||||||||||||||||||:||:|| ||:|||:||:: |||||||||:||:||||||||| ||||:||||||||||:||||||||||||||||:| :|| |:| |:||||||||||||:|:|: :||||||||||||||||:|||||||||||||||||: :||||| |: |||||:|||||||:|||||:|||| ||||||||||||||||||||||:||: ||| :|||'
'MPPK-PLRRAGAARSQRTSPEGGAGTASP---P---GG------TRLEVGEA-E--FVALCDALKAPDSVREKAWMTYQSLAAADGA-SAYNKKKKETWGVCIFIVAIDLDEMTFTFTELLKSLSISVCTFFQFLKEVDVNMDTVSTKVDSTVSRLKKKYDVLLALYHKFERTCGLIYLEQPSSEISAELSSVLVLKNYWITFLLAKGKVLQMEDDLVISFQLLLCVLDYFIKLSPPAMLKEPYKSAVTALTVNGSTRTPRRGQNRNARASKQIDTDTKVIEILCKEHDCNLDEVKNVYFTSFIPFLNSLGVVASNGLPEVDVLSKQYDELYLKNKDIDARLFLDHDETLQPDVIACSQLERTPRKNNPDEEVNHVLPQTPVRAAMNTIQQLMMILNSATDKPSDTLIAYFNNCTVNPEDSILKRVESLGHIFKKKFAEAVGQGCAEIGSQRYQLGVRLYYRVMESMLKSEEERLSVHNFSKLLNDNIFHTSLLACALEIVMATYGRTASQSDGTSAETDLSFPWILNVFDLKAFDFYKVIESFIKVEPSLTRDMIKHLERCEHRIMESLAWQSDSPLFDLIKQSKEREGQTDQPEPTSTLNLPLQHNHTAADLYLSPVRSPKKKASGHPQSGTSNPDAQPSATSQTQKPQKSTSLSLFYKKVFRLAYLRLHTLFFRLLSEHPDLEPLIWTLFQHTLQNESELMRDRHLDQIMMCSMYGICKVKNVDLRFKTIVSAYKELPNTNQETFKRVLIREEQYDSIIVFYNLVFMQKLKTNILQYASNRPPTLSPIPHIPRSPYQFSNSPRRVPAGNNIYISPLKSPYKFSDGFHSPTKMTPRSRILVSIGETFGTSEKFQKINQMVCNSESHVKRSAEPSDAPKPLKRLRFDIEGQDEADGGKHLPQESKFQQKLAEMTSTRTRMQKQKLNDGNDTSANEEK'
В этом выравнивании функция использовала матрицу оценки по умолчанию, BLOSUM62. Различные матрицы оценки могут давать различные выравнивания. Как найти наилучшее выравнивание? Один из подходов состоит в том, чтобы попробовать различные матрицы оценки и искать наивысший балл. Когда оценка из функций выравнивания находится в одной шкале (в данном случае это биты), можно сравнить различные выравнивания, чтобы увидеть, что дает наивысший балл.
В этом примере используется семейство матриц PAM, хотя используемый подход также можно использовать с семейством матриц оценки BLOSUM. Семейство матриц PAM в 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
Повторите это с разными организмами: ксенопусом и радужной форелью.
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

Вы увидите, что различные матрицы дают самые высокие оценки для различных организмов. Для человека и ксенопуса лучший балл - с PAM40, а для человека и форели лучший балл - PAM50.
[bestXScore, Xidx] = max(xenopusScore)
bestXScore = 1607
Xidx = 4
[bestTScore, Tidx] = max(troutScore)
bestTScore = 1484
Tidx = 5
Матрица оценки PAM, дающая наилучшее выравнивание для двух последовательностей, является индикатором относительного эволюционного интервала, поскольку организмы расходились: чем меньше число PAM, тем более тесно связаны организмы. Поскольку организмы и белковые семейства в разных организмах развиваются с очень различной скоростью, нет простой корреляции между расстоянием PAM и эволюционным временем. Однако для анализа конкретного семейства белков для нескольких видов соответствующие матрицы PAM обеспечат относительное эволюционное расстояние между видами и позволят получить точное филогенетическое картирование. В этом примере результаты показывают, что человеческая последовательность более тесно связана с последовательностью курицы, чем с последовательностью лягушки, которая, в свою очередь, более тесно связана, чем последовательность форели.