multialign

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

Синтаксис

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' series - Когда AlphabetValue равен 'AA'

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

    Примечание

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

  • Матрица, представляющая скоринговую матрицу, используемую для выравнивания. Это может быть матрица, такая как возвращенная blosum, pam, dayhoff, gonnet, или nuc44 функция. Это может также быть M M матрицей или M M 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, и Parallel Computing Toolbox™ установлен и parpool открыт, расчет происходит параллельно. Если нет открытых parpool, но автоматическое создание включено в Parallel Preferences, пул по умолчанию будет автоматически открыт, а расчеты происходят параллельно. Если установлен Parallel Computing Toolbox, но нет открытых parpool и автоматическое создание отключено, затем в расчетах используются parfor-циклы в последовательном режиме. Если Parallel Computing Toolbox не установлен, то при расчетах используются parfor-циклы в последовательном режиме. По умолчанию это false, который использует петли for в последовательном режиме.
VerboseValueСвойство для управления отображением последовательностей с информацией о последовательности. По умолчанию это false.
ExistingGapAdjustValueСвойство для управления автоматической регулировкой на основе существующих погрешностей. По умолчанию это true.
TerminalGapAdjustValueСвойство для корректировки штрафа за открытие зазора в концах последовательности. По умолчанию это false.

Выходные аргументы

SeqsMultiAligned

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

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

Описание

SeqsMultiAligned = multialign(Seqs) выполняет прогрессивное множественное выравнивание для набора последовательностей (Seqs). Парные расстояния между последовательностями вычисляются после парного выравнивания с матрицей оценки Гоннета и затем путем подсчета доли сайтов, в которых каждая пара последовательностей различна (игнорируя погрешности). Дерево руководства вычисляется методом соединения соседей, принимая равные отклонения и независимость эволюционных оценок расстояния.

SeqsMultiAligned = multialign(Seqs, Tree) использует дерево (Tree) как руководство для прогрессивного выравнивания. Последовательности (Seqs) должен иметь тот же порядок, что и листья в дереве (Tree) или использовать поле ('Header' или 'Name') для идентификации последовательностей.

multialign(..., 'PropertyName', PropertyValue,...) вводит необязательные аргументы в виде пар имя свойства/property значение. Задайте одно или несколько свойств в любом порядке. Заключайте каждую 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, и Parallel Computing Toolbox установлен и parpool открыт, расчет происходит параллельно. Если нет открытых parpool, но автоматическое создание включено в Parallel Preferences, пул по умолчанию будет автоматически открыт, а расчеты происходят параллельно. Если установлен Parallel Computing Toolbox, но нет открытых parpool и автоматическое создание отключено, затем в расчетах используются parfor-циклы в последовательном режиме. Если Parallel Computing Toolbox не установлен, то при расчетах используются parfor-циклы в последовательном режиме. По умолчанию это false, который использует петли for в последовательном режиме.

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
Для просмотра документации необходимо авторизоваться на сайте