exponenta event banner

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

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

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

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

В окне MATLAB Command введите:

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 предоставляет интегрированную среду для поиска в Интернете и переноса информации о последовательности в среду MATLAB.

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

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

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

Ищите ген, который вам интересен. Например, в списке Поиск выберите Nucleotide, а в поле для введите Tay-Sachs. Ищите гены, которые кодируют альфа - и бета-субъединицы фермента гексосаминидазы А (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 Command введите:

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

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

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

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

mouseHEXA = getgenbank('AK080777')

Найти последовательности, кодирующие белок

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

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

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

load hexosaminidase

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

humanORFs = seqshoworfs(humanHEXA.Sequence)

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

seqshoworfs создает структуру вывода humanORFs. Эта структура содержит положение стартового и стоп-кодонов для всех открытых фреймов считывания (ORF) на каждом фрейме считывания. На рисунке показаны три кадра считывания с цветами ORF: синий, красный и зеленый. Обратите внимание, что самая длинная ОРФ находится в первом кадре считывания.

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

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');

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

[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--'

Вы также можете визуализировать выравнивание в приложении Выравнивание последовательностей. Выравнивание очень хорошо между аминокислотными позициями 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;

См. также

|

Связанные темы