exponenta event banner

Изучение нуклеотидной последовательности с помощью командной строки

Обзор примера

После секвенирования фрагмента ДНК одной из первых задач является исследование содержания нуклеотидов в последовательности. Начиная с последовательности ДНК, этот пример использует функции статистики последовательностей для определения содержания моно-, ди- и тринуклеотидов и для определения местоположения открытых рамок считывания.

Поиск информации о последовательности в Интернете

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

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

  1. Для просмотра веб-страниц используйте браузер справки MATLAB. В окне команды MATLAB введите

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

    Откроется отдельное окно браузера с главной страницей веб-сайта NCBI.

  2. Поиск информации на веб-сайте NCBI. Например, для поиска генома митохондриона человека в списке Поиск выберите Genome и в списке «Поиск» введите mitochondrion homo sapiens.

    Веб-поиск NCBI возвращает список ссылок на соответствующие страницы.

  3. Выберите страницу результатов. Например, щелкните ссылку с меткой NC_012920.

    В браузере справки MATLAB отображается страница NCBI для митохондриального генома человека.

Чтение информации о последовательности из Интернета

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

Консенсусная последовательность для митохондриального генома человека имеет номер присоединения GenBank ® NC_012920. Поскольку вся запись GenBank достаточно велика, и вас может заинтересовать только последовательность, вы можете получить только информацию о последовательности.

  1. Получение информации о последовательности из веб-базы данных. Например, чтобы получить информацию о последовательности для митохондриального генома человека, в окне команд MATLAB введите

    mitochondria = getgenbank('NC_012920','SequenceOnly',true)
    

    getgenbank функция извлекает нуклеотидную последовательность из базы данных GenBank и создает массив символов.

    mitochondria = 
    GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGCAT
    TTGGTATTTTCGTCTGGGGGGTGTGCACGCGATAGCATTGCGAGACGCTG
    GAGCCGGAGCACCCTATGTCGCAGTATCTGTCTTTGATTCCTGCCTCATT
    CTATTATTTATCGCACCTACGTTCAATATTACAGGCGAACATACCTACTA
    AAGT . . . 
    

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

    load mitochondria
    

    load функция загружает последовательность mitochondria в рабочую область MATLAB.

  3. Получение информации о последовательности. Напечатать

    whos mitochondria
    

    Информация о размере последовательности отображается в окне команд MATLAB.

     Name              Size               Bytes  Class    Attributes
    
     mitochondria      1x16569            33138  char               
    

Определение нуклеотидного состава

Следующая процедура иллюстрирует, как определить мономеры и димеры, а затем визуализировать данные на графиках и гистограммах. Участки последовательности ДНК с высоким процентом нуклеотидов A + T обычно указывают на межгенные части последовательности, в то время как низкие А + T и более высокие проценты нуклеотидов G + C указывают на возможные гены. Во много раз высокое содержание CG динуклеотида находится перед геном.

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

  1. Построить график плотностей мономеров и совокупных плотностей мономеров на графике. В окне команды MATLAB введите

    ntdensity(mitochondria)
    

    Этот график показывает, что геном богат A + T.

  2. Подсчитать нуклеотиды, используя basecount функция.

    basecount(mitochondria)
    

    Список нуклеотидных чисел показан для 5 '-3' цепи.

    ans = 
        A: 5124
        C: 5181
        G: 2169
        T: 4094
    
    
  3. Подсчитать нуклеотиды в обратном комплементе последовательности, используя seqrcomplement функция.

    basecount(seqrcomplement(mitochondria))
    

    Как и ожидалось, нуклеотид рассчитывает на обратную цепь комплемента, комплементарную 5 '-3' цепи.

    ans = 
        A: 4094
        C: 2169
        G: 5181
        T: 5124
    
  4. Используйте функцию basecount с chart возможность визуализации распределения нуклеотидов.

    figure
    basecount(mitochondria,'chart','pie');
    

    Круговая диаграмма отображается в окне MATLAB Figure.

  5. Подсчитайте димеры в последовательности и отобразите информацию на гистограмме.

    figure
    dimercount(mitochondria,'chart','bar')
    
    ans = 
    
        AA: 1604
        AC: 1495
        AG: 795
        AT: 1230
        CA: 1534
        CC: 1771
        CG: 435
        CT: 1440
        GA: 613
        GC: 711
        GG: 425
        GT: 419
        TA: 1373
        TC: 1204
        TG: 513
        TT: 1004

Определение состава кодона

Следующая процедура иллюстрирует, как смотреть на кодоны для шести рамок считывания. Тринуклеотиды (кодон) кодируют аминокислоту, и существует 64 возможных кодона в нуклеотидной последовательности. Знание процента кодонов в вашей последовательности может быть полезным при сравнении с таблицами ожидаемого использования кодонов.

После прочтения последовательности в среду MATLAB можно проанализировать последовательность на предмет состава кодонов. Эта процедура использует геном митохондрий человека в качестве примера. См. раздел Чтение информации о последовательности из Интернета.

  1. Подсчитать кодоны в нуклеотидной последовательности. В окне команды MATLAB введите

    codoncount(mitochondria)
    

    Отображается число кодонов для первого кадра считывания.

    AAA - 167     AAC - 171     AAG -  71     AAT - 130     
    ACA - 137     ACC - 191     ACG -  42     ACT - 153     
    AGA -  59     AGC -  87     AGG -  51     AGT -  54     
    ATA - 126     ATC - 131     ATG -  55     ATT - 113     
    CAA - 146     CAC - 145     CAG -  68     CAT - 148     
    CCA - 141     CCC - 205     CCG -  49     CCT - 173     
    CGA -  40     CGC -  54     CGG -  29     CGT -  27     
    CTA - 175     CTC - 142     CTG -  74     CTT - 101     
    GAA -  67     GAC -  53     GAG -  49     GAT -  35     
    GCA -  81     GCC - 101     GCG -  16     GCT -  59     
    GGA -  36     GGC -  47     GGG -  23     GGT -  28     
    GTA -  43     GTC -  26     GTG -  18     GTT -  41     
    TAA - 157     TAC - 118     TAG -  94     TAT - 107     
    TCA - 125     TCC - 116     TCG -  37     TCT - 103     
    TGA -  64     TGC -  40     TGG -  29     TGT -  26     
    TTA -  96     TTC - 107     TTG -  47     TTT -  78

  2. Подсчитайте кодоны во всех шести кадрах считывания и постройте график результатов на тепловых картах.

    for frame = 1:3
        figure
        subplot(2,1,1);
        codoncount(mitochondria,'frame',frame,'figure',true,...
                   'geneticcode','Vertebrate Mitochondrial');
        title(sprintf('Codons for frame %d',frame));
        subplot(2,1,2);
        codoncount(mitochondria,'reverse',true,'frame',frame,...
                   'figure',true,'geneticcode','Vertebrate Mitochondrial');
        title(sprintf('Codons for reverse frame %d',frame)); 
    end
    

    Тепловые карты отображают все 64 кодона в 6 кадрах считывания.

Открыть рамки чтения

Следующая процедура иллюстрирует, как найти открытые кадры считывания с использованием определенного генетического кода. Определение кодирующей белок последовательности для эукариотического гена может быть сложной задачей, поскольку интроны (некодирующие срезы) смешиваются с экзонами. Однако прокариотические гены обычно не имеют интронов, а последовательности мРНК удаляют интроны. Идентификация стартового и стоп-кодонов для трансляции определяет кодирующий белок участок, или открытую рамку считывания (ORF), в последовательности. Как только вы знаете ORF для гена или мРНК, вы можете перевести нуклеотидную последовательность в соответствующую аминокислотную последовательность.

После считывания последовательности в среду MATLAB можно проанализировать последовательность на наличие открытых рамок считывания. Эта процедура использует геном митохондрий человека в качестве примера. См. раздел Чтение информации о последовательности из Интернета.

  1. Отображение открытых рамок считывания (ORF) в нуклеотидной последовательности. В окне команды MATLAB введите:

    seqshoworfs(mitochondria);
    

    Если сравнить этот вывод с генами, показанными на странице NCBI для NC_012920, генов меньше, чем ожидалось. Это потому, что митохондрии позвоночных используют генетический код, немного отличающийся от стандартного генетического кода. Список генетических кодов см. в таблице Генетический код в aa2nt справочная страница.

  2. Отображение ORF-файлов с помощью Vertebrate Mitochondrial код.

    orfs= seqshoworfs(mitochondria,...
                      'GeneticCode','Vertebrate Mitochondrial',...
                      'alternativestart',true);
    

    Обратите внимание, что на третьей рамке считывания теперь два больших ORF. Один начинается с позиции 4470, а другой начинается с точки 5904. Они соответствуют генам ND2 (субъединица NADH-дегидрогеназы 2 [Homo sapiens]) и COX1 (субъединица цитохром-с-оксидазы I).

  3. Найдите соответствующий стоп-кодон. Начальные и конечные позиции для ORF имеют те же индексы, что и начальные позиции в полях. Start и Stop.

    ND2Start = 4470;
    StartIndex = find(orfs(3).Start == ND2Start)
    ND2Stop = orfs(3).Stop(StartIndex)
    

    Отображается положение остановки.

    ND2Stop =
    
            5511
  4. Используя индексы последовательности для начала и остановки гена, извлеките подпоследовательность из последовательности.

    ND2Seq = mitochondria(ND2Start:ND2Stop)
    

    Подпоследовательность (кодирующая белок область) хранится в ND2Seq и отображается на экране.

    attaatcccctggcccaacccgtcatctactctaccatctttgcaggcac
    actcatcacagcgctaagctcgcactgattttttacctgagtaggcctag
    aaataaacatgctagcttttattccagttctaaccaaaaaaataaaccct
    cgttccacagaagctgccatcaagtatttcctcacgcaagcaaccgcatc
    cataatccttc . . .
  5. Определите распределение кодонов.

    codoncount (ND2Seq)
    

    Количество кодонов показывает высокое количество ACC, ATA, CTA, и ATC.

    AAA - 10     AAC - 14     AAG -  2     AAT -  6     
    ACA - 11     ACC - 24     ACG -  3     ACT -  5     
    AGA -  0     AGC -  4     AGG -  0     AGT -  1     
    ATA - 23     ATC - 24     ATG -  1     ATT -  8     
    CAA -  8     CAC -  3     CAG -  2     CAT -  1     
    CCA -  4     CCC - 12     CCG -  2     CCT -  5     
    CGA -  0     CGC -  3     CGG -  0     CGT -  1     
    CTA - 26     CTC - 18     CTG -  4     CTT -  7     
    GAA -  5     GAC -  0     GAG -  1     GAT -  0     
    GCA -  8     GCC -  7     GCG -  1     GCT -  4     
    GGA -  5     GGC -  7     GGG -  0     GGT -  1     
    GTA -  3     GTC -  2     GTG -  0     GTT -  3     
    TAA -  0     TAC -  8     TAG -  0     TAT -  2     
    TCA -  7     TCC - 11     TCG -  1     TCT -  4     
    TGA - 10     TGC -  0     TGG -  1     TGT -  0     
    TTA -  8     TTC -  7     TTG -  1     TTT -  8  
  6. Поиск аминокислот для кодонов ATA, CTA, ACC, и ATC.

    aminolookup('code',nt2aa('ATA'))
    aminolookup('code',nt2aa('CTA'))
    aminolookup('code',nt2aa('ACC'))
    aminolookup('code',nt2aa('ATC'))
    

    Отображается следующее:

    Ile	isoleucine
    Leu	leucine
    Thr	threonine
    Ile	isoleucine
    

Превращение и состав аминокислот

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

После того, как вы обнаружите открытую рамку считывания (ORF) в гене, вы можете преобразовать ее в аминокислотную последовательность и определить ее аминокислотный состав. Эта процедура использует геном митохондрий человека в качестве примера. См. раздел Открытие рамок чтения.

  1. Превращают нуклеотидную последовательность в аминокислотную. В этом примере преобразуется только кодирующая белок последовательность между начальным и стоп-кодонами.

    ND2AASeq = nt2aa(ND2Seq,'geneticcode',...
                     'Vertebrate Mitochondrial')
    

    Последовательность преобразуется с помощью Vertebrate Mitochondrial генетический код. Потому что свойство AlternativeStartCodons имеет значение 'true' по умолчанию первый кодон att преобразуется в M вместо I.

    MNPLAQPVIYSTIFAGTLITALSSHWFFTWVGLEMNMLAFIPVLTKKMNP
    RSTEAAIKYFLTQATASMILLMAILFNNMLSGQWTMTNTTNQYSSLMIMM
    AMAMKLGMAPFHFWVPEVTQGTPLTSGLLLLTWQKLAPISIMYQISPSLN
    VSLLLTLSILSIMAGSWGGLNQTQLRKILAYSSITHMGWMMAVLPYNPNM
    TILNLTIYIILTTTAFLLLNLNSSTTTLLLSRTWNKLTWLTPLIPSTLLS
    LGGLPPLTGFLPKWAIIEEFTKNNSLIIPTIMATITLLNLYFYLRLIYST
    SITLLPMSNNVKMKWQFEHTKPTPFLPTLIALTTLLLPISPFMLMIL
    
  2. Сравните преобразование с опубликованным преобразованием в базе данных GenPept.

    ND2protein = getgenpept('YP_003024027','sequenceonly',true)
    

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

  3. Подсчитайте аминокислоты в белковой последовательности.

    aacount(ND2AASeq, 'chart','bar')
    

    Отображается гистограмма. Обратите внимание на высокое содержание лейцина, треонина и изолейцина, а также на отсутствие цистеина и аспарагиновой кислоты.

  4. Определяют атомный состав и молекулярную массу белка.

    atomiccomp(ND2AASeq)
    molweight (ND2AASeq)
    

    В рабочей области MATLAB (MATLAB Workspace) отображаются следующие данные:

    ans = 
    
        C: 1818
        H: 2882
        N: 420
        O: 471
        S: 25
    ans =
    
      3.8960e+004
    

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