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

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

    Примечание

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

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

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

SeqsMultiAligned

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

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

Описание

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

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, и Parallel Computing Toolbox установлен и parpool открыто, расчет происходит параллельно. Если нет никакого открытого parpool, но автоматическое создание включено в Параллельных Настройках, пул по умолчанию будет автоматически открыт, и расчет происходит параллельно. Если 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