В этом примере показано, как обработать Матрицы Выигрыша с инструментами выравнивания последовательности. Пример использует белки, сопоставленные с ретинобластомой, болезнью, вызванной опухолью, которая разрабатывает из незрелой сетчатки.
Больше информации о ретинобластоме может быть найдено в разделе Генов и болезней веб-сайта 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);
Один подход, чтобы изучить отношение между этими двумя белками должен использовать глобальное выравнивание с 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 матриц в 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 обеспечат относительное эволюционное расстояние между разновидностями и позволят точное филогенетическое отображение. В этом примере результаты показывают, что человеческая последовательность более тесно связана с куриной последовательностью, чем к последовательности лягушки, которая в свою очередь более тесно связана, чем форелевая последовательность.