Выровняйте два профиля с помощью глобального выравнивания 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
, отображает пробел выигрыша и путь к победе.
Читайте в последовательностях и создайте профили.
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)