exponenta event banner

мультивыровнять

Выравнивание нескольких последовательностей с помощью прогрессивного метода

Синтаксис

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

Вектор структур с полями 'Sequence' для остатков и 'Header' или 'Name' для меток.

Seqs также может быть строковым вектором, массивом ячеек символьных векторов или символьным массивом.

TreeФилогенетическое дерево, рассчитанное с помощью seqlinkage или seqneighjoin функция.
WeightsValueСвойство для выбора метода взвешивания последовательности. Войти 'THG' (по умолчанию) или 'equal'.
ScoringMatrixValue

Одно из следующих действий:

  • Символьный вектор или строка, задающая матрицу оценки для выравнивания. Варианты аминокислотных последовательностей:

    • 'BLOSUM62'

    • 'BLOSUM30' увеличение на 5 до 'BLOSUM90'

    • 'BLOSUM100'

    • 'PAM10' увеличение на 10 до 'PAM500'

    • 'DAYHOFF'

    • 'GONNET'

    Значение по умолчанию:

    • 'BLOSUM80' кому 'BLOSUM30' серия - Когда AlphabetValue равняется 'AA'

    • 'NUC44' - Когда AlphabetValue равняется 'NT'

    Примечание

    Вышеупомянутые матрицы оценки, снабженные программным обеспечением, также включают в себя структуру, содержащую масштабный коэффициент, который преобразует единицы выходной оценки в биты. Вы также можете использовать 'Scale' свойство для указания дополнительного масштабного коэффициента для преобразования выходной оценки из битов в другую единицу.

  • Матрица, представляющая матрицу оценки, используемую для выравнивания. Это может быть матрица, например, возвращенная blosum, pam, dayhoff, gonnet, или nuc44 функция. Это также может быть матрица М-за-М или матрица М-за-М-за-N матриц с N определяемыми пользователем матрицами оценки.

    Примечание

    При использовании матрицы оценки, созданной или созданной одной из вышеперечисленных функций, матрица не включает масштабный коэффициент. Выходной балл будет возвращен в тех же единицах, что и матрица оценки. При передаче собственного ряда матриц оценки убедитесь, что они имеют одинаковую шкалу.

Примечание

Если нужно скомпилировать multialign в автономном приложении или программном компоненте, использующем MATLAB ® Compiler™, используйте матрицу вместо символьного вектора или строки для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

Вектор структур (такой же, как Seqs) но с полем 'Sequence' обновлено трассой.

Когда Seqs - ячейка или массив символов, SeqsMultiAligned - массив символов с выравниванием выходных данных в том же порядке, что и входные данные.

Описание

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

Выравнивание нуклеотидных последовательностей

  1. Введите массив последовательностей.

    seqs = {'CACGTAACATCTC','ACGACGTAACATCTTCT','AAACGTAACATCTCGC'};
    
  2. Продвижение окончаний с пробелами в трассе.

    multialign(seqs,'terminalGapAdjust',true)
    
    ans =
    --CACGTAACATCTC--
    ACGACGTAACATCTTCT
    -AAACGTAACATCTCGC
  3. Сравните выравнивание без регулировки концевого зазора.

    multialign(seqs)
    
    ans =
    CA--CGTAACATCT--C
    ACGACGTAACATCTTCT
    AA-ACGTAACATCTCGC

Расширенные возможности

Представлен до R2006a