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

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

Синтаксис

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Филогенетическое дерево вычисляется с функцией seqneighjoin или seqlinkage.
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 = 7x1 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 = 7x1 struct array with fields:
    Header
    Sequence

showalignment(ma)

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

  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