Сравнение последовательностей с использованием алгоритмов Sequence Alignment

Определение подобия между двумя последовательностями является общей задачей в вычислительной биологии. Начиная с нуклеотидной последовательности для гена человека, этот пример использует алгоритмы выравнивания для определения местоположения и проверки соответствующего гена в модельном организме.

В этом примере вы заинтересованы в изучении болезни Tay-Sachs. Tay-Sachs является аутосомно-рецессивным заболеванием, вызванным отсутствием фермента бета-гексосаминидазы A (Hex A). Этот фермент отвечает за распад ганглиозидов (GM2) в мозге и нервных камерах.

Во-первых, исследовательская информация о Tay-Sachs и ферменте, который связан с этим заболеванием, затем найдите нуклеотидную последовательность для гена человека, которая кодирует фермент, и, наконец, найдите соответствующий ген в другом организме, который будет использоваться в качестве модели для исследования.

В окне Команда MATLAB введите:

web('http://www.ncbi.nlm.nih.gov/books/NBK22250/')

Ваш браузер документации открывается страницей болезни Tay-Sachs в разделе «Гены и болезни» веб-сайта NCBI. В этом разделе приводится комплексное введение в медицинскую генетику. В частности, эта страница содержит введение и живописное представление фермента Hex A и его роли в метаболизме липида GM2 ганглиозида.

Завершив свое исследование, вы пришли к следующему:

Ген HEXA кодов для альфа- подмодуля димерного фермента гексосаминидазы A (Hex A), в то время как ген HEXB кодов для бета- подмодуля фермента. Третий ген, GM2A, кодирует белковое GM2 активатора. Однако это мутация в гене HEXA, которая вызывает Tay-Sachs.

Получение информации о последовательности из общедоступной базы данных

Следующая процедура иллюстрирует, как найти нуклеотидную последовательность для гена человека в общедоступной базе данных и считать информацию о последовательности в окружение MATLAB. Многие общедоступные базы данных для нуклеотидных последовательностей (например, GenBank ®, EMBL-EBI) доступны из Сети. Командное окно MATLAB с браузером MATLAB Help обеспечивает интегрированное окружение для поиска в Интернете и переноса информации о последовательности в окружение MATLAB.

После определения местоположения последовательности необходимо переместить данные последовательности в рабочее пространство MATLAB.

Откройте браузер справки MATLAB на веб-сайте NCBI. В поле Команды MATLAB Widow введите:

web('http://www.ncbi.nlm.nih.gov/')

Поиск гена, который вы заинтересованы в изучении. Для примера в списке Поиск выберите Nucleotide, и в поле for введите Tay-Sachs. Проверьте гены, которые кодируют альфа- и бета- подмодули фермента гексосаминидазы A (Hex A), и ген, который кодирует активаторный фермент. Ссылка NCBI для гена человека HEXA имеет номер присоединения NM_000520.

Получите данные последовательности в окружение MATLAB. Для примера, чтобы получить информацию о последовательности для гена человека HEXA, введите:

humanHEXA = getgenbank('NM_000520')
humanHEXA = struct with fields:
                LocusName: 'NM_000520'
      LocusSequenceLength: '4785'
     LocusNumberofStrands: ''
            LocusTopology: 'linear'
        LocusMoleculeType: 'mRNA'
     LocusGenBankDivision: 'PRI'
    LocusModificationDate: '22-OCT-2020'
               Definition: 'Homo sapiens hexosaminidase subunit alpha (HEXA), transcript variant 2, mRNA.'
                Accession: 'NM_000520'
                  Version: 'NM_000520.6'
                       GI: ''
                  Project: []
                   DBLink: []
                 Keywords: 'RefSeq; MANE Select.'
                  Segment: []
                   Source: 'Homo sapiens (human)'
           SourceOrganism: [4×65 char]
                Reference: {[1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]  [1×1 struct]}
                  Comment: [48×66 char]
                 Features: [160×74 char]
                      CDS: [1×1 struct]
                 Sequence: 'ctcacgtggccagccccctccgagaggggagaccagcgggccatgacaagctccaggctttggttttcgctgctgctggcggcagcgttcgcaggacgggcgacggccctctggccctggcctcagaacttccaaacctccgaccagcgctacgtcctttacccgaacaactttcaattccagtacgatgtcagctcggccgcgcagcccggctgctcagtcctcgacgaggccttccagcgctatcgtgacctgcttttcggttccgggtcttggccccgtccttacctcacagggaaacggcatacactggagaagaatgtgttggttgtctctgtagtcacacctggatgtaaccagcttcctactttggagtcagtggagaattataccctgaccataaatgatgaccagtgtttactcctctctgagactgtctggggagctctccgaggtctggagacttttagccagcttgtttggaaatctgctgagggcacattctttatcaacaagactgagattgaggactttccccgctttcctcaccggggcttgctgttggatacatctcgccattacctgccactctctagcatcctggacactctggatgtcatggcgtacaataaattgaacgtgttccactggcatctggtagatgatccttccttcccatatgagagcttcacttttccagagctcatgagaaaggggtcctacaaccctgtcacccacatctacacagcacaggatgtgaaggaggtcattgaatacgcacggctccggggtatccgtgtgcttgcagagtttgacactcctggccacactttgtcctggggaccaggtatccctggattactgactccttgctactctgggtctgagccctctggcacctttggaccagtgaatcccagtctcaataatacctatgagttcatgagcacattcttcttagaagtcagctctgtcttcccagatttttatcttcatcttggaggagatgaggttgatttcacctgctggaagtccaacccagagatccaggactttatgaggaagaaaggcttcggtgaggacttcaagcagctggagtccttctacatccagacgctgctggacatcgtctcttcttatggcaagggctatgtggtgtggcaggaggtgtttgataataaagtaaagattcagccagacacaatcatacaggtgtggcgagaggatattccagtgaactatatgaaggagctggaactggtcaccaaggccggcttccgggcccttctctctgccccctggtacctgaaccgtatatcctatggccctgactggaaggatttctacatagtggaacccctggcatttgaaggtacccctgagcagaaggctctggtgattggtggagaggcttgtatgtggggagaatatgtggacaacacaaacctggtccccaggctctggcccagagcaggggctgttgccgaaaggctgtggagcaacaagttgacatctgacctgacatttgcctatgaacgtttgtcacacttccgctgtgaattgctgaggcgaggtgtccaggcccaacccctcaatgtaggcttctgtgagcaggagtttgaacagacctgagccccaggcaccgaggagggtgctggctgtaggtgaatggtagtggagccaggcttccactgcatcctggccaggggacggagccccttgccttcgtgccccttgcctgcgtgcccctgtgcttggagagaaaggggccggtgctggcgctcgcattcaataaagagtaatgtggcatttttctataataaacatggattacctgtgtttaaaaaaaaaagtgtgaatggcgttagggtaagggcacagccaggctggagtcagtgtctgcccctgaggtcttttaagttgagggctgggaatgaaacctatagcctttgtgctgttctgccttgcctgtgagctatgtcactcccctcccactcctgaccatattccagacacctgccctaatcctcagcctgctcacttcacttctgcattatatctccaaggcgttggtatatggaaaaagatgtaggggcttggaggtgttctggacagtggggagggctccagacccaacctggtcacagaagagcctctcccccatgcatactcatccacctccctcccctagagctattctcctttgggtttcttgctgcttcaattttatacaaccattatttaaatattattaaacacatattgttctctaggcactgtggtagtgggtttttttgttgtttttgtttttgagactgtctcaaaaactctgtcgcccaggctgacagtgcagtggcacaatcttggctcactgcagcctctgcctcctgggttcaagcgattctcgtgcatcagcctcctgagtaactggaattaataggcacgtgccaccatgtccatctaattcatatatatatattttttttttctgagacggagtctcactgtcacacaggctggagtgcagtggcacgatctcgactcactgcaagctccacctcctgggttcacgccattctcctgcctcagcctccccagtagctgggactacaggcgcccgccaccacgcccggctaattttttgtatttttagtagagatggggtttctccgtgttagccaggatggtctcgatctcctgacctcgtgatccgcccgccttggcctcccaaagtgctgggattacaggcgtgagccaccgcgcccggccgaattcatctatttttagtagagatggggtttcactatattggccaggctggtcttgaactcatgacctcagatgttcacttgtcttggcctcccaaagtgctgggattagaggcgtgagccaccgcacgcgggcctgtggtaaattgttgaatttgaaggactcagaggccctggtcaattccaaaataacgtaggcgacttccatccccctcctcccaaccattttcagcccaaagcatcttcgcagggaatggatggctgcgcggaggtgggcggtggctctggagagggtctttgcaggtgtgattttctctagaaggaaatgtctcgtcgtggacccagactgccccctcctggtttcagatgcagaagtgatactgtaagccagaggcgggggcagtaatgcatcgcagccattttaggtgaggatttccttggcggttatttgttaagttctttggctgggccctgggctggggtaacaatggacaggttccaggcatttttttcagaaagcttccagtgtagtggatacagaaacttcaggaaggcagggctgagaaggatctgagtaaaactcggtccttcaacaccatccttcagcccctgggtcatgttccttcgaggtcctggtgggaggtagacaagcctagccttgtgctgttcctgtaaggacagggtgggcattttctaccaacagaattcttggaattttcacacagcccagcctagccaagtccagggctatagcccagatacacaagttaaggtcccagcactggcacccaccacaggagcccccttacctctattacccagaagcttgtaggaggggtggtccgcagacaaggaccctgcacaggtgcgaccctgcttccctcctggtcataactttcatgttactattgcttgggataatgttaagtaaaaatagcagacactgagttttaagtctcaagtggatgaaggcagagatcgtgatacacttgagttaaagcagtagggttctgtcattttctattcctgttgtaaacattttctttaatgttattatttttaccactaaactaacgtggcctggtcacgactttcattggtaaagtgtgctgttcctcaccctccaccgttgctcctttggtccactgatcataagagcatttacctgaaggtcgtcagacctcgaatgccaacaggtcaactgcagtggcctgcagttaccacccagtctgttccaatgaacagaatcgctgttgccccaactcatctcccttcacctaggctgtaaattgaaagtcccacccctgagcggaacacaggccatcttgtgtgctgtgcaccaccagggggtggggaagtttccagactgacttcctggctccagtcatcctaggaaaagagttctccagtcgctccccacccccaccccttcccattccaggagtctattaaggaggcaaagcaggcctaacgggtatcaaagcaaaggagtgaatggagactgggagagtcttcaacctctcctctccttggtaggagctgaggctgcatgccaggtaccttcccttcgaggaatctaataaagctaggtcactggtgttttcaggtgcttctcaaaggattgccgtaggggtaggatatcaggatgtgggagcacaggtgccaccacagcactagtgatggagagtcattgcccctagacttctgggacagtgagactgtgaggaaagctgaaatgatactgggaaagggtgaaagaaaggatgtaggtggaatttatttagtattaatgtaggtacacataccttatggcaacattcctagcactctaaattctagatttgtatagtttctgtcaatatcttttgtaagcttaatcaatacagggcatgacaagtatgtgtcacatacttttttttccacgaagaaaaaaaataagtaggaattgggtgctttgtttatcaaaatttgtatttcctttataaataaactttgaaataaaggttgaaaattagta'
                SearchURL: 'https://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?db=nuccore&id=NM_000520'
              RetrieveURL: 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=1677538638&rettype=gb&retmode=text'

Поиск в общедоступной базе данных связанных генов

Следующая процедура иллюстрирует, как найти нуклеотидную последовательность для гена мыши, относящегося к гену человека, и считать информацию о последовательности в окружение MATLAB. Последовательность и функция многих генов сохранена во время эволюции видов через гомологичные гены. Гомологичные гены являются генами, которые имеют общий предок и подобные последовательности. Одна из целей поиска общедоступной базы данных - найти похожие гены. Если вы можете найти последовательность в базе данных, которая похожа на ваш неизвестный ген или белок, вероятно, что функция и характеристики известных и неизвестных генов одинаковы.

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

В окне Команда MATLAB введите:

web('http://www.ncbi.nlm.nih.gov')

Найдите в нуклеотидной базе данных ген или белок, которые вы заинтересованы в изучении. Для примера в списке Поиск выберите Nucleotide, и в поле for введите hexosaminidase A.

Поиск возвращает значения для геномов мыши и человека. Для целей этого примера используйте номер присоединения AK080777 для мышиного гена HEXA.

Получите информацию о последовательности для гена мыши в окружение MATLAB.

mouseHEXA = getgenbank('AK080777')

Определение местоположения последовательностей, кодирующих белок

Следующая процедура иллюстрирует, как преобразовать последовательность из нуклеотидов в аминокислоты и идентифицировать открытые системы координат считывания. Нуклеотидная последовательность включает регуляторные последовательности до и после секции кодирования белка. Анализируя эту последовательность, можно определить нуклеотиды, которые кодируют аминокислоты в конечном белке.

После того, как у вас есть список генов, которые вы заинтересованы в изучении, вы можете определить белковые кодирующие последовательности. Эта процедура использует в качестве примера ген человека HEXA и ген мыши HEXA.

Если вы не извлекли данные генов из Сети, можно загрузить данные примера из MAT-файла, включенного в программное обеспечение Bioinformatics Toolbox™. В окне Команда MATLAB введите:

load hexosaminidase

Найдите открытые системы координат чтения (ORFs) в гене человека. Для примера, для гена человека HEXA, введите:

humanORFs = seqshoworfs(humanHEXA.Sequence)

humanORFs=1×3 struct array with fields:
    Start
    Stop

seqshoworfs создает структуру output humanORFs. Эта структура содержит положение стартового и стопового кодонов для всех открытых систем координат чтения (ORF) на каждой системе координат чтения. Рисунок отображает три системы координат чтения с окрашенными в синий, красный и зеленый цвета ORF. Заметьте, что самая длинная ORF находится в первой системе координат чтения.

Найдите открытые системы координат чтения (ORFs) в гене мыши. Введите:

mouseORFs = seqshoworfs(mouseHEXA.Sequence)

mouseORFs=1×3 struct array with fields:
    Start
    Stop

Ген мыши показывает самую длинную ORF на первой системе координат считывания.

Сравнение аминокислотных последовательностей

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

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

Используя открытые системы координат считывания, идентифицированные ранее, преобразуют последовательности ДНК человека и мыши в аминокислотные последовательности. Поскольку и гены HEXA человека, и мыши находились в первых системах координат чтения (по умолчанию), вам не нужно указывать, какая система координат.

humanProtein = nt2aa(humanHEXA.Sequence);
mouseProtein = nt2aa(mouseHEXA.Sequence);

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

warning('off','bioinfo:seqdotplot:imageTooBigForScreen');
seqdotplot(mouseProtein,humanProtein,4,3);
ylabel('Mouse hexosaminidase A (alpha subunit)')
xlabel('Human hexosaminidase A (alpha subunit)')
uif = gcf;
uif.Position(:) = [100 100 1280 800]; % Resize the figure.

warning('on','bioinfo:seqdotplot:imageTooBigForScreen');

Глобально выровнять две аминокислотные последовательности, используя алгоритм Нидлемана-Вунша.

[GlobalScore, GlobalAlignment] = nwalign(humanProtein,mouseProtein)
GlobalScore = 634.3333
GlobalAlignment = 3×812 char array
    'SCRRPAQSAARSRSLRSRPEVKGQGVGPPGVAGAEPPLVT*FADKSRGRRSPDQGLTWPAPSERGDQRAMTSSRLWFSLLLAAAFAGRATALWPWPQNFQTSDQRYVLYPNNFQFQYDVSSAAQPGCSVLDEAFQRYRDLLFGSGSWPRPYLTGKRHTLEKNVLVVSVVTPGCNQLPTLESVENYTLTINDDQCLLLSETVWGALRGLETFSQLVWKSAEGTFFINKTEIEDFPRFPHRGLLLDTSRHYLPLSSILDTLDVMAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHTLSWGPGIPGLLTPCYSGSEPSGTFGPVNPSLNNTYEFMSTFFLEVSSVFPDFYLHLGGDEVDFTCWKSNPEIQDFMRKKGFGEDFKQLESFYIQTLLDIVSSYGKGYVVWQEVFDNKVKIQPDTIIQVWREDIPVNYMKELELVTKAGFRALLSAPWYLNRISYGPDWKDFYIVEPLAFEGTPEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNKLTSDLTFAYERLSHFRCELLRRGVQAQPLNVGFCEQEFEQT*APGTEEGAGCR*MVVEPGFHCILARGRSPLPSCPLPACPCAWRERGRCWRSHSIKSNVAFFYNKHGLPVFKKKSVNGVRVRAQPGWSQCLPLRSFKLRAGNETYSLCAVLPCL*AMSLPSHS*PYSRHLP*SSACSLHFCIISPRRWYMEKDVGAWRCSGQWGGLQTQPGHRRASPPCILIHLPPLELFSFGFLAASILYNHYLNIIKHILFS'
    '        ||            |:        |         |    | |       |          ||:: ||| |||||||:|  ||||||||| :||  :||:||||||||:| |||||| || ||||||:|||:||||||||||| :::|::|| ||:|||||||  ||::|:|||||||||||||||||| |||||||||||||||||||||||||||||||:|:|||||||||:|||||||||||||||||||||||||:|||||||||| |||||||||||| ||||:|||||||||||||||||||||||||||||||||||||||||| |||||||||||: ||||||||||||:||:||||:|||:|||||||||||||||||||||||||:|| ||:||||  ||||||||||||||||||:| |||||||||||||||::||||||||||::||:|| |:: :|:|||||||||||||||::|||||||:| ||||||:||||||||||||||||||||||:||||||||||||||||||||::||::: ||::|||||||||:|||:||||::|| ||||||||||  |  :|  :    :||       |      |    ||           |: ::   |        |   :: |  : :| :    | :|  : :   |  :::         | | |::|   :   |    |    |  :|     ||::||    |   |:  |    |                       | :: |:       |  '
    '--------AA------------GR--------G---------A----G-R-------W----------AMAGCRLWVSLLLAAALACLATALWPWPQYIQTYHRRYTLYPNNFQFRYHVSSAAQAGCVVLDEAFRRYRNLLFGSGSWPRPSFSNKQQTLGKNILVVSVVTAECNEFPNLESVENYTLTINDDQCLLASETVWGALRGLETFSQLVWKSAEGTFFINKTKIKDFPRFPHRGVLLDTSRHYLPLSSILDTLDVMAYNKFNVFHWHLVDDSSFPYESFTFPELTRKGSFNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHTLSWGPGAPGLLTPCYSGSHLSGTFGPVNPSLNSTYDFMSTLFLEISSVFPDFYLHLGGDEVDFTCWKSNPNIQAFMKKKGF-TDFKQLESFYIQTLLDIVSDYDKGYVVWQEVFDNKVKVRPDTIIQVWREEMPVEYMLEMQDITRAGFRALLSAPWYLNRVKYGPDWKDMYKVEPLAFHGTPEQKALVIGGEACMWGEYVDSTNLVPRLWPRAGAVAERLWSSNLTTNIDFAFKRLSHFRCELVRRGIQAQPISVGCCEQEFEQT*A--T--SA--E----HPG-------G------C----CP---------L-SQ-LR--*A--------P---RR-V--LALR-E----Q-VP--G-Q---G-*SFT---------A-SRPGES---T---P----CP---C--APVT--TEKEAGA----GT--GV--Q---*R-----------------------S-MW-HF-------L--'

Можно также визуализировать выравнивание в приложении Sequence Alignment. Выравнивание очень хорошо между положением аминокислоты 69 и 599, после чего две последовательности кажутся несвязанными. Заметьте, что есть остановка (*) в последовательности в этой точке. Если вы укорочите последовательности, чтобы включить только аминокислоты, которые находятся в белке, вы можете получить лучшее выравнивание. Включите положения аминокислот из первого метионина (M) до первого упора (*), который происходит после первого метионина.

seqalignviewer(GlobalAlignment);

Обрезайте последовательность из первой начальной аминокислоты (обычно M) до первого упора (*) и повторите попытку выравнивания. Найдите индексы для упоров в последовательностях.

humanStops = find(humanProtein == '*')
humanStops = 1×6

    41   599   611   713   722   730

mouseStops = find(mouseProtein == '*')
mouseStops = 1×4

   539   557   574   606

Смотрите на аминокислотную последовательность для humanProtein, первый M находится в положении 70, и первый упор после этого положения фактически является вторым упором в последовательности (положение 599). Смотрите на аминокислотную последовательность для mouseProtein, первый M находится в положении 11, и первый упор после этого положения является первым упором в последовательности (положение 557).

Обрезать последовательности, чтобы включить только аминокислоты в белок и остановку.

humanProteinORF = humanProtein(70:humanStops(2))
humanProteinORF = 
'MTSSRLWFSLLLAAAFAGRATALWPWPQNFQTSDQRYVLYPNNFQFQYDVSSAAQPGCSVLDEAFQRYRDLLFGSGSWPRPYLTGKRHTLEKNVLVVSVVTPGCNQLPTLESVENYTLTINDDQCLLLSETVWGALRGLETFSQLVWKSAEGTFFINKTEIEDFPRFPHRGLLLDTSRHYLPLSSILDTLDVMAYNKLNVFHWHLVDDPSFPYESFTFPELMRKGSYNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHTLSWGPGIPGLLTPCYSGSEPSGTFGPVNPSLNNTYEFMSTFFLEVSSVFPDFYLHLGGDEVDFTCWKSNPEIQDFMRKKGFGEDFKQLESFYIQTLLDIVSSYGKGYVVWQEVFDNKVKIQPDTIIQVWREDIPVNYMKELELVTKAGFRALLSAPWYLNRISYGPDWKDFYIVEPLAFEGTPEQKALVIGGEACMWGEYVDNTNLVPRLWPRAGAVAERLWSNKLTSDLTFAYERLSHFRCELLRRGVQAQPLNVGFCEQEFEQT*'
mouseProteinORF = mouseProtein(11:mouseStops(1))
mouseProteinORF = 
'MAGCRLWVSLLLAAALACLATALWPWPQYIQTYHRRYTLYPNNFQFRYHVSSAAQAGCVVLDEAFRRYRNLLFGSGSWPRPSFSNKQQTLGKNILVVSVVTAECNEFPNLESVENYTLTINDDQCLLASETVWGALRGLETFSQLVWKSAEGTFFINKTKIKDFPRFPHRGVLLDTSRHYLPLSSILDTLDVMAYNKFNVFHWHLVDDSSFPYESFTFPELTRKGSFNPVTHIYTAQDVKEVIEYARLRGIRVLAEFDTPGHTLSWGPGAPGLLTPCYSGSHLSGTFGPVNPSLNSTYDFMSTLFLEISSVFPDFYLHLGGDEVDFTCWKSNPNIQAFMKKKGFTDFKQLESFYIQTLLDIVSDYDKGYVVWQEVFDNKVKVRPDTIIQVWREEMPVEYMLEMQDITRAGFRALLSAPWYLNRVKYGPDWKDMYKVEPLAFHGTPEQKALVIGGEACMWGEYVDSTNLVPRLWPRAGAVAERLWSSNLTTNIDFAFKRLSHFRCELVRRGIQAQPISVGCCEQEFEQT*'

Глобально выровнять обрезанные аминокислотные последовательности.

[GlobalScore_trim, GlobalAlignment_trim] = nwalign(humanProteinORF,mouseProteinORF);
seqalignviewer(GlobalAlignment_trim);

Другой способ обрезать аминокислотную последовательность только к этим аминокислотам в белке - это сначала обрезать нуклеотидную последовательность с индексами из seqshoworfs функция. Помните, что ORF для гена HEXA человека и ORF для мыши HEXA были оба на первой системе координат считывания.

humanORFs = seqshoworfs(humanHEXA.Sequence)

humanORFs=1×3 struct array with fields:
    Start
    Stop

mouseORFs = seqshoworfs(mouseHEXA.Sequence)

mouseORFs=1×3 struct array with fields:
    Start
    Stop

humanPORF = nt2aa(humanHEXA.Sequence(humanORFs(1).Start(1):humanORFs(1).Stop(1)));
mousePORF = nt2aa(mouseHEXA.Sequence(mouseORFs(1).Start(1):mouseORFs(1).Stop(1)));
[GlobalScore2, GlobalAlignment2] = nwalign(humanPORF, mousePORF);
seqalignviewer(GlobalAlignment2);

Результат первого усечения нуклеотидной последовательности перед превращением ее в аминокислотную последовательность является таким же, как результат усечения аминокислотной последовательности после превращения. Альтернативным методом работы с подпоследовательностями является использование функции локального выравнивания с неусеченными последовательностями.

Локально выровнять две аминокислотные последовательности с помощью алгоритма Смита-Уотермана.

[LocalScore, LocalAlignment] = swalign(humanProtein,mouseProtein);
seqalignviewer(LocalAlignment);

close all;

См. также

|

Похожие темы