Выравнивание нескольких последовательностей с помощью прогрессивного метода
SeqsMultiAligned = multialign(Seqs)
SeqsMultiAligned = multialign(Seqs, Tree)
multialign(..., 'PropertyName', PropertyValue,...)
multialign(..., 'Weights', WeightsValue)
multialign(..., 'ScoringMatrix', ScoringMatrixValue)
multialign(..., 'SMInterp', SMInterpValue)
multialign(..., 'GapOpen', GapOpenValue)
multialign(..., 'ExtendGap', ExtendGapValue)
multialign(..., 'DelayCutoff', DelayCutoffValue)
multialign(..., 'UseParallel', UseParallelValue)
multialign(..., 'Verbose', VerboseValue)
multialign(..., 'ExistingGapAdjust', ExistingGapAdjustValue)
multialign(..., 'TerminalGapAdjust', TerminalGapAdjustValue)
Seqs | Вектор структур с полями
|
Tree | Филогенетическое дерево, рассчитанное с помощью seqlinkage или seqneighjoin функция. |
WeightsValue | Свойство для выбора метода взвешивания последовательности. Войти 'THG' (по умолчанию) или 'equal'. |
ScoringMatrixValue | Одно из следующих действий:
Примечание Если нужно скомпилировать |
SMInterpValue | Свойство, указывающее, включена или выключена линейная интерполяция матриц оценки. falseматрица оценки назначается фиксированному диапазону в зависимости от расстояний между двумя выравниваемыми профилями (или последовательностями). По умолчанию: true. |
GapOpenValue | Скаляр или функция, заданная с помощью @. При вводе функции multialign передает функции четыре значения: средний балл для двух совпадающих остатков (sm), средний балл для двух несовпадающих остатков (sx) и длину обоих профилей или последовательностей (len1, len2). По умолчанию: @(sm,sx,len1,len2) 5*sm. |
ExtendGapValue | Скаляр или функция, заданная с помощью @. При вводе функции multiialign передает функции четыре значения: средний балл для двух совпадающих остатков (sm), средний балл для двух несовпадающих остатков (sx) и длину обоих профилей или последовательностей (len1, len2). По умолчанию: @(sm,sx,len1,len2) sm/4. |
DelayCutoffValue | Свойство для указания пороговой задержки расходящихся последовательностей. По умолчанию используется единица, где последовательности с ближайшей последовательностью, расположенной дальше медианного расстояния, задерживаются. |
UseParallelValue | Управление вычислением попарных трасс с помощью parfor-контуры. Когда trueи установлена Toolbox™ параллельных вычислений и parpool открыт, вычисления выполняются параллельно. При отсутствии открытых parpool, но автоматическое создание включено в настройках параллелизма, пул по умолчанию будет автоматически открыт и вычисления будут выполняться параллельно. Если установлена панель инструментов параллельных вычислений, но нет открытых parpool и автоматическое создание отключено, то вычисление использует parfor- петли в последовательном режиме. Если панель инструментов параллельных вычислений не установлена, то при вычислении используется parfor- петли в последовательном режиме. По умолчанию: false, который использует for-loops в последовательном режиме. |
VerboseValue | Свойство для управления отображением последовательностей с информацией о последовательности. По умолчанию: false. |
ExistingGapAdjustValue | Свойство для управления автоматической регулировкой на основе существующих промежутков. По умолчанию: true. |
TerminalGapAdjustValue | Свойство для корректировки штрафа за открытие промежутка на концах последовательности. По умолчанию: false. |
| Вектор структур (такой же, как Когда |
выполняет прогрессивное множественное выравнивание для набора последовательностей (SeqsMultiAligned = multialign(Seqs)Seqs). Попарные расстояния между последовательностями вычисляются после попарного выравнивания с матрицей оценки Гонне и затем путем подсчета доли участков, в которых каждая пара последовательностей различна (игнорируя промежутки). Направляющее дерево вычисляется методом соединения соседей, предполагающим равную дисперсию и независимость оценок эволюционных расстояний.
использует дерево (SeqsMultiAligned = multialign(Seqs, Tree)Tree) в качестве руководства для прогрессивного выравнивания. Последовательности (Seqs) должен иметь тот же порядок, что и листья в дереве (Treeили использовать поле ('Header' или 'Name') для идентификации последовательностей.
multialign(..., ' вводит необязательные аргументы в качестве пар имя свойства/значение свойства. Укажите одно или несколько свойств в любом порядке. Заключить каждый PropertyName', PropertyValue,...)PropertyName в одинарных кавычках. Каждый PropertyName нечувствителен к регистру. Эти пары имя/значение свойства следующие:
multialign(..., 'Weights', выбирает метод взвешивания последовательности. Веса подчеркивают сильно расходящиеся последовательности, масштабируя матрицу оценки и штрафы за разрыв. Более близкие последовательности получают меньшие веса. WeightsValue)
Значения свойства Weights являются:
'THG' (по умолчанию) - метод Томпсона - Хиггинса - Гибсона, использующий расстояния ветви филогенетического дерева, взвешенные по их толщине.
'equal' - присваивает одинаковый вес каждой последовательности.
multialign(..., 'ScoringMatrix', выбирает матрицу оценки (ScoringMatrixValue)ScoringMatrixValue) для прогрессивного выравнивания. Оценки совпадений и несоответствий интерполируются из ряда матриц оценки с учетом расстояний между двумя профилями или последовательностями, которые выравниваются. Первая матрица соответствует наименьшему расстоянию, а последняя матрица - наибольшему расстоянию. Промежуточные расстояния вычисляются с использованием линейной интерполяции.
multialign(..., 'SMInterp', , когда SMInterpValue)SMInterpValue является false, отключает линейную интерполяцию скоринговых матриц. Вместо этого каждая поставляемая матрица оценки назначается фиксированному диапазону в зависимости от расстояний между двумя выравниваемыми профилями или последовательностями.
multialign(..., 'GapOpen', определяет начальный штраф за открытие зазора. GapOpenValue)
multialign(..., 'ExtendGap', определяет начальный штраф за удлинение промежутка. ExtendGapValue)
multialign(..., 'DelayCutoff', задает порог для задержки выравнивания расходящихся последовательностей, ближайший сосед которых находится дальше, чем DelayCutoffValue)
(DelayCutoffValue) * (median patristic distance between sequences)
multialign(..., 'UseParallel', указывает, следует ли использовать UseParallelValue)parfor- контуры при вычислении попарных трасс. Когда trueи установлена панель инструментов параллельных вычислений и parpool открыт, вычисления выполняются параллельно. При отсутствии открытых parpool, но автоматическое создание включено в настройках параллелизма, пул по умолчанию будет автоматически открыт и вычисления будут выполняться параллельно. Если установлена панель инструментов параллельных вычислений, но нет открытых parpool и автоматическое создание отключено, то вычисление использует parfor- петли в последовательном режиме. Если панель инструментов параллельных вычислений не установлена, то при вычислении используется parfor- петли в последовательном режиме. По умолчанию: false, который использует for-loops в последовательном режиме.
multialign(..., 'Verbose', , когда VerboseValue)VerboseValue является true, включает многословие.
Остальные входные необязательные аргументы аналогичны функции profalign и используются на каждом этапе прогрессивного выравнивания профилей.
multialign(..., 'ExistingGapAdjust', , когда ExistingGapAdjustValue)ExistingGapAdjustValue является false, отключает автоматическую регулировку на основе существующих разрывов для специфичных для позиции штрафов за открытие промежутка.
Когда ExistingGapAdjustValue является true, для каждой позиции профиля, profalign пропорционально уменьшает штраф за открытие зазора в сторону штрафа за удлинение промежутка на основе доли промежутков, обнаруженных в смежных символах, и веса входного профиля.
multialign(..., 'TerminalGapAdjust', , когда TerminalGapAdjustValue)TerminalGapAdjustValue является true, корректирует штраф за открытие промежутка на концах последовательности, чтобы быть равным штрафу за продление промежутка.
В этом примере показано, как выровнять несколько последовательностей белков.
Используйте fastaread функция для чтения p53samples.txt, файл в формате FASTA, входящий в состав Bioinformatics Toolbox™, который содержит последовательности белков p53 семи видов.
p53 = fastaread('p53samples.txt')p53=7×1 struct array with fields:
Header
Sequence
Вычислите попарные расстояния между каждой парой последовательностей с помощью матрицы оценки «GONNET».
dist = seqpdist(p53,'ScoringMatrix','GONNET');
Построение филогенетического дерева с использованием метода невзвешенного среднего расстояния (UPGMA). Это дерево будет использоваться как направляющее дерево на следующем этапе прогрессивного выравнивания.
tree = seqlinkage(dist,'average',p53)Phylogenetic tree object with 7 leaves (6 branches)
Выполните последовательное выравнивание с помощью матриц оценки семейства PAM.
ma = multialign(p53,tree,'ScoringMatrix',... {'pam150','pam200','pam250'})
ma=7×1 struct array with fields:
Header
Sequence
Введите массив последовательностей.
seqs = {'CACGTAACATCTC','ACGACGTAACATCTTCT','AAACGTAACATCTCGC'};
Продвижение окончаний с пробелами в трассе.
multialign(seqs,'terminalGapAdjust',true) ans = --CACGTAACATCTC-- ACGACGTAACATCTTCT -AAACGTAACATCTCGC
Сравните выравнивание без регулировки концевого зазора.
multialign(seqs) ans = CA--CGTAACATCT--C ACGACGTAACATCTTCT AA-ACGTAACATCTCGC
align2cigar | hmmprofalign | multialignread | multialignwrite | nwalign | profalign | seqconsensus | seqneighjoin | seqprofile