exponenta event banner

featureparse

Анализ функций из данных GenBank, GenPept или EMBL

Синтаксис

FeatStruct = featureparse(Features)
FeatStruct = featureparse(Features, ...'Feature', FeatureValue, ...)
FeatStruct = featureparse(Features, ...'Sequence', SequenceValue, ...)

Входные аргументы

FeaturesЛюбое из следующих действий:
  • Структура MATLAB ® с полями, соответствующими данным GenBank ®, GenPept или EMBL, например, genbankread, genpeptread, emblread, getgenbank, getgenpept, или getembl

  • Символьный вектор или символьный массив, содержащий текст из раздела Features файла в формате GenBank, GenPept или EMBL

FeatureValueИмя элемента, содержащегося в Features. Если указано, featureparse возвращает только подструктуру, соответствующую этой функции. При наличии нескольких элементов с одним и тем же FeatureValue, то FeatStruct представляет собой массив структур.
SequenceValueСвойство для управления извлечением, когда это возможно, последовательностей, соответствующих каждой особенности, объединяя и дополняя части исходной последовательности и сохраняя их в Sequence поле возвращаемой структуры, FeatStruct. При извлечении последовательности из неполного элемента CDS featureparse использует codon_start квалификатор для настройки кадра последовательности. Варианты: true или false (по умолчанию).

Выходные аргументы

FeatStructСтруктура вывода, содержащая поле для каждой функции базы данных. Имя каждого поля в FeatStruct соответствует соответствующему имени функции в базе данных GenBank, GenPept или EMBL, с исключениями, перечисленными в таблице ниже. Поля в FeatStruct содержат подструктуры с квалификаторами элементов в качестве полей. В базах данных GenBank, GenPept и EMBL для каждой функции единственным обязательным классификатором является ее местоположение, которое featureparse переводится в поле Location. По возможности, featureparse также переводит это расположение в числовые индексы, создавая Indices поле.

Примечание

Если вы используете Indices для извлечения информации о последовательности может потребоваться дополнение последовательностей.

Описание

FeatStruct = featureparse(Features) анализирует элементы из Features, который содержит функции GenBank, GenPept или EMBL. Features может быть:

  • Символьный вектор или строка, содержащая функции GenBank, GenPept или EMBL

  • Массив символов MATLAB, включающий текст, описывающий функции GenBank, GenPept или EMBL

  • Структура MATLAB с полями, соответствующими данным GenBank, GenPept или EMBL, например, поля, возвращенные genbankread, genpeptread, emblread, getgenbank, getgenpept, или getembl

FeatStruct - структура вывода, содержащая поле для каждой функции базы данных. Имя каждого поля в FeatStruct соответствует соответствующему имени функции в базе данных GenBank, GenPept или EMBL со следующими исключениями.

Имя функции в базе данных GenBank, GenPept или EMBLИмя поля в структуре MATLAB
-10_signalminus_10_signal
-35_signalminus_35_signal
3'UTRthree_prime_UTR
3'clip three_prime_clip
5'UTR five_prime_UTR
5'clip five_prime_clip
D-loop D_loop

Поля в FeatStruct содержат подструктуры с квалификаторами элементов в качестве полей. В базах данных GenBank, GenPept и EMBL для каждой функции единственным обязательным классификатором является ее местоположение, которое featureparse переводится в поле Location. По возможности, featureparse также переводит это расположение в числовые индексы, создавая Indices поле.

Примечание

Если вы используете Indices для извлечения информации о последовательности может потребоваться дополнение последовательностей.

FeatStruct = featureparse (Features, ...'PropertyName', PropertyValue, ...) требования featureparse с необязательными свойствами, использующими пары имя/значение свойства. Можно указать одно или несколько свойств в любом порядке. Каждый PropertyName должен быть заключен в одинарные кавычки и не учитывать регистр. Эти пары имя/значение свойства следующие:

FeatStruct = featureparse(Features, ...'Feature', FeatureValue, ...) возвращает только подструктуру, которая соответствует FeatureValue, имя элемента, содержащегося в Features. При наличии нескольких элементов с одним и тем же FeatureValue, то FeatStruct представляет собой массив структур.

FeatStruct = featureparse(Features, ...'Sequence', SequenceValue, ...) управляет извлечением, когда это возможно, последовательностей, соответствующих каждой особенности, соединением и дополнением частей исходной последовательности и хранением их в поле Sequence. При извлечении последовательности из неполного элемента CDS featureparse использует codon_start квалификатор для настройки кадра последовательности. Варианты: true или false (по умолчанию).

Примеры

Пример 11. Получение всех функций из файла GenBank

Следующий пример получает все функции, сохраненные в файле GenBank nm175642.txt:

gbkStruct = genbankread('nm175642.txt');
features = featureparse(gbkStruct)

features = 

    source: [1x1 struct]
      gene: [1x1 struct]
       CDS: [1x1 struct]

Пример 12. Получение подмножества функций из записи GenBank

В следующем примере из базы данных GenBank получают только кодирующие последовательности (CDS) записи cosmid Caenorhabditis elegans (регистрационный номер Z92777):

worm = getgenbank('Z92777');
CDS = featureparse(worm,'feature','cds')

CDS = 

1x12 struct array with fields:
    Location
    Indices
    locus_tag
    standard_name
    note
    codon_start
    product
    protein_id
    db_xref
    translation

Пример 13. Извлечение последовательностей для каждого элемента
  1. Извлекают две нуклеотидные последовательности из базы данных GenBank для белка нейраминидазы (NA) двух штаммов вируса гриппа А (H5N1).

     hk01 = getgenbank('AF509094');
     vt04 = getgenbank('DQ094287');
    
  2. Извлекают последовательность кодирующей области для белка нейраминидазы (NA) из двух нуклеотидных последовательностей. Последовательности кодирующих областей хранятся в Sequence поля возвращаемых структур, hk01_cds и vt04_cds.

    hk01_cds = featureparse(hk01,'feature','CDS','Sequence',true);
    vt04_cds = featureparse(vt04,'feature','CDS','Sequence',true);
    
  3. Как только вы извлекли нуклеотидные последовательности, вы можете использовать nt2aa и nwalign функции для выравнивания аминокислотных последовательностей, преобразованных из нуклеотидных последовательностей.

     [sc,al]=nwalign(nt2aa(hk01_cds),nt2aa(vt04_cds),'extendgap',1);
    
  4. Тогда вы можете использовать seqinsertgaps функция для копирования зазоров из выровненных аминокислотных последовательностей в их соответствующие нуклеотидные последовательности, таким образом, выравнивая их кодонами.

     hk01_aligned = seqinsertgaps(hk01_cds,al(1,:))
     vt04_aligned = seqinsertgaps(vt04_cds,al(3,:))
    
  5. После выравнивания кода между двумя последовательностями их можно использовать в качестве входных данных для других функций, таких как dnds, которая вычисляет скорости синонимических и несинонимических замен нуклеотидных последовательностей, выровненных по кодону. По настройке Verbose кому true, вы также можете отобразить кодоны, рассмотренные в вычислениях, и их аминокислотные трансляции.

    [dn,ds] = dnds(hk01_aligned,vt04_aligned,'verbose',true)
    
Представлен в R2006b