profalign

Выровняйте два профиля с помощью глобального выравнивания Needleman-Wunsch

Синтаксис

Prof = profalign(Prof1, Prof2)
[Prof, H1, H2] = profalign(Prof1, Prof2)
profalign(..., 'ScoringMatrix', ScoringMatrixValue, ...)
profalign(..., 'GapOpen', {G1Value, G2Value}, ...)
profalign(..., 'ExtendGap', {E1Value, E2Value}, ...)
profalign(..., 'ExistingGapAdjust', ExistingGapAdjustValue, ...)
profalign(..., 'TerminalGapAdjust', TerminalGapAdjustValue, ...)
profalign(..., 'ShowScore', ShowScoreValue, ...)

Описание

Prof = profalign(Prof1, Prof2) возвращает новый профиль (Prof) для оптимального глобального выравнивания двух профилей (Prof1, Prof2). Профили (Prof1, Prof2) числовые массивы размера [(4 or 5 or 20 or 21) x Profile Length] с количествами или взвешенными профилями. Взвешенные профили используются, чтобы вниз-взвесить подобные последовательности и-вес расходящиеся последовательности. Выходной профиль является числовой матрицей размера [(5 or 21) x New Profile Length] где последняя строка представляет разрывы. Сохраняются исходные разрывы во входных профилях. Выходной профиль является результатом добавления выровненных столбцов входных профилей.

[Prof, H1, H2] = profalign(Prof1, Prof2) возвращает указатели, которые указывают, как перестроить столбцы исходных профилей в новый профиль.

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

profalign(..., 'ScoringMatrix', ScoringMatrixValue, ...) задает матрицу выигрыша, которая будет использоваться для выравнивания.

ScoringMatrixValue может иметь любой следующее:

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

    • 'BLOSUM62'

    • 'BLOSUM30' увеличение на 5 до 'BLOSUM90'

    • 'BLOSUM100'

    • 'PAM10' увеличение на 10 до 'PAM500'

    • 'DAYHOFF'

    • 'GONNET'

    Значение по умолчанию:

    • 'BLOSUM50' — Когда AlphabetValue равняется 'AA'

    • 'NUC44' — Когда AlphabetValue равняется 'NT'

    Примечание

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

  • Матрица, представляющая матрицу выигрыша, чтобы использовать для выравнивания, такой, как возвращено blosum, pam, dayhoff, gonnet, или nuc44 функция.

    Примечание

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

Примечание

Если необходимо скомпилировать profalign в автономное приложение или компонент программного обеспечения с помощью MATLAB® Compiler™, используйте матрицу вместо вектора символов или строки для ScoringMatrixValue.

profalign(..., 'GapOpen', {G1Value, G2Value}, ...) устанавливает штрафы за открытие разрыва в первых и вторых профилях соответственно. G1Value и G2Value могут быть или скаляры или векторы. При использовании вектора число элементов является еще одним, чем длина входного профиля. Каждый элемент указывает на положение определенный штраф за открытие разрыва между двумя последовательными символами в последовательности. Первыми и последними элементами являются штрафы разрыва, используемые в концах последовательности. Разрывом по умолчанию открытые штрафы является {10,10}.

profalign(..., 'ExtendGap', {E1Value, E2Value}, ...) устанавливает штрафы за расширение разрыва в первом и втором профиле соответственно. E1Value и E2Value могут быть или скаляры или векторы. При использовании вектора число элементов является еще одним, чем длина входного профиля. Каждый элемент указывает на положение определенный штраф за расширение разрыва между двумя последовательными символами в последовательности. Первыми и последними элементами являются штрафы разрыва, используемые в концах последовательности. Если ExtendGap не задан, затем расширения разрывов выиграны с тем же значением как GapOpen.

profalign(..., 'ExistingGapAdjust', ExistingGapAdjustValue, ...), если ExistingGapAdjustValue false, выключает автоматическую настройку на основе существующих разрывов специфичных для положения штрафов за открытие разрыва. Когда ExistingGapAdjustValue true (значение по умолчанию), для каждого положения профиля, profalign пропорционально понижает штраф за открытие разрыва к штрафу расширения разрыва на основе пропорции разрывов, найденных в непрерывных символах и на весе входного профиля.

profalign(..., 'TerminalGapAdjust', TerminalGapAdjustValue, ...), когда TerminalGapAdjustValue true, настраивает штраф за открытие разрыва в концах последовательности, чтобы быть равным штрафу за расширение разрыва. Значением по умолчанию является false.

profalign(..., 'ShowScore', ShowScoreValue, ...), когда ShowScoreValue true, отображает пробел выигрыша и путь к победе.

Примеры

  1. Читайте в последовательностях и создайте профили.

    ma1 = ['RGTANCDMQDA';'RGTAHCDMQDA';'RRRAPCDL-DA'];
    ma2 = ['RGTHCDLADAT';'RGTACDMADAA'];
    p1  = seqprofile(ma1,'gaps','all','counts',true);
    p2  = seqprofile(ma2,'counts',true);
  2. Объедините два профиля в один путем выравнивания их.

    p = profalign(p1,p2);
    seqlogo(p)
  3. Используйте выходные указатели, чтобы сгенерировать несколько выравнивание.

    [p, h1, h2] = profalign(p1,p2);
    ma = repmat('-',5,12);
    ma(1:3,h1) = ma1;
    ma(4:5,h2) = ma2;
    disp(ma)
  4. Увеличьте штраф разрыва перед цистеином во втором профиле.

    gapVec = 10 + [p2(aa2int('C'),:) 0] * 10
    p3 = profalign(p1,p2,'gapopen',{10,gapVec});
    seqlogo(p3)
  5. Добавьте новую последовательность в профиль, не вставляя новые разрывы в профиль.

    gapVec = [0 inf(1,11) 0];
    p4 = profalign(p3,seqprofile('PLHFMSVLWDVQQWP'),...
                   'gapopen',{gapVec,10});
    seqlogo(p4)

Смотрите также

|

Представлено до R2006a