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