Выравнивание двух профилей с помощью глобального выравнивания Нидлемана-Вунша
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
, отображает пространство подсчета очков и путь выигрыша.
Считывайте последовательности и создавайте профили.
ma1 = ['RGTANCDMQDA';'RGTAHCDMQDA';'RRRAPCDL-DA']; ma2 = ['RGTHCDLADAT';'RGTACDMADAA']; p1 = seqprofile(ma1,'gaps','all','counts',true); p2 = seqprofile(ma2,'counts',true);
Объедините два профиля в один путем выравнивания.
p = profalign(p1,p2); seqlogo(p)
Используйте выходные указатели, чтобы сгенерировать несколько выравнивания.
[p, h1, h2] = profalign(p1,p2);
ma = repmat('-',5,12);
ma(1:3,h1) = ma1;
ma(4:5,h2) = ma2;
disp(ma)
Увеличьте штраф за разрыв перед цистеином во втором профиле.
gapVec = 10 + [p2(aa2int('C'),:) 0] * 10 p3 = profalign(p1,p2,'gapopen',{10,gapVec}); seqlogo(p3)
Добавьте новую последовательность к профилю, не вставляя новые погрешности в профиль.
gapVec = [0 inf(1,11) 0]; p4 = profalign(p3,seqprofile('PLHFMSVLWDVQQWP'),... 'gapopen',{gapVec,10}); seqlogo(p4)