profalign

Выравнивание двух профилей с помощью глобального выравнивания Нидлемана-Вунша

Синтаксис

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