localalign

Возвратите локальные оптимальные и субоптимальные выравнивания между двумя последовательностями

Синтаксис

AlignStruct = localalign(Seq1, Seq2)
AlignStruct = localalign(Seq1, Seq2, ...'NumAln', NumAlnValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'MinScore', MinScoreValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'Percent', PercentValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'DoAlignment', DoAlignmentValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'Alphabet', AlphabetValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'ScoringMatrix', ScoringMatrixValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'Scale', ScaleValue, ...)
AlignStruct = localalign(Seq1, Seq2, ...'GapOpen', GapOpenValue, ...)

Описание

AlignStruct = localalign(Seq1, Seq2) возвращает информацию о первом оптимальном (самый высокий выигрыш) локальное выравнивание между двумя последовательностями в структуре MATLAB®.

AlignStruct = localalign(Seq1, Seq2, ...'PropertyName', PropertyValue, ...) вызывает localalign с дополнительными свойствами, которые используют имя свойства / пары значения свойства. Можно задать одно или несколько свойств в любом порядке. Заключите каждый PropertyName в одинарные кавычки. Каждый PropertyName является нечувствительным к регистру. Это имя свойства / пары значения свойства следующие:

AlignStruct = localalign(Seq1, Seq2, ...'NumAln', NumAlnValue, ...) возвращает информацию об одном или нескольких непересечениях, локальных выравниваниях (оптимальный и субоптимальный). Это ограничивает количество выравниваний, чтобы возвратиться путем определения количества локальных выравниваний, чтобы возвратиться. Это возвращает выравнивания в порядке убывания согласно их счету.

AlignStruct = localalign(Seq1, Seq2, ...'MinScore', MinScoreValue, ...) возвращает информацию о непересечении, локальных выравниваниях (оптимальный и субоптимальный), чей счет больше, чем MinScoreValue.

AlignStruct = localalign(Seq1, Seq2, ...'Percent', PercentValue, ...) возвращает информацию об одном или нескольких непересекающихся локальных выравниваниях (оптимальный и субоптимальный), чьи очки в проценте PercentValue самого высокого счета. Это возвращает выравнивания в порядке убывания согласно их счету.

AlignStruct = localalign(Seq1, Seq2, ...'DoAlignment', DoAlignmentValue, ...) задает, включать ли попарные выравнивания в поле Alignment выходной структуры. Выбором является true (значение по умолчанию) или false.

AlignStruct = localalign(Seq1, Seq2, ...'Alphabet', AlphabetValue, ...) задает тип последовательностей. Выбором является 'AA' (значение по умолчанию) или 'NT'.

AlignStruct = localalign(Seq1, Seq2, ...'ScoringMatrix', ScoringMatrixValue, ...) задает матрицу выигрыша, чтобы использовать для локального выравнивания.

AlignStruct = localalign(Seq1, Seq2, ...'Scale', ScaleValue, ...) указывает, что масштабный коэффициент применился к выходным очкам, таким образом, управляя модулями выходных очков. Выбором является любое положительное значение. Значением по умолчанию является 1, который не изменяет модули выходного счета.

AlignStruct = localalign(Seq1, Seq2, ...'GapOpen', GapOpenValue, ...) задает штраф за открытие разрыва в выравнивании. Выбором является любое положительное значение. Значением по умолчанию является 8.

Входные параметры

Seq1

Первая аминокислота или последовательность нуклеотида, заданная любым следующим:

  • Вектор символов или строка букв, представляющих аминокислоты или нуклеотиды, такой, как возвращено int2aa или int2nt

  • Вектор целых чисел, представляющих аминокислоты или нуклеотиды, такой, как возвращено aa2int или nt2int

  • Структура MATLAB, содержащая поле Sequence, такой, как возвращено fastaread, fastqread, emblread, getembl, genbankread, getgenbank, getgenpept, genpeptread, getpdb, pdbread или sffread

Совет

Для справки с буквой и целочисленными представлениями аминокислот и нуклеотидов, смотрите Поиск Поиска или Нуклеотида Аминокислоты.

Seq2

Вторая аминокислота или последовательность нуклеотида, которую localalign выравнивает с Seq1.

NumAlnValue

Положительная скалярная величина (<или = 2^12) определение количества выравниваний, чтобы возвратиться. localalign возвращает главный NumAlnValue локальные, непересекающиеся выравнивания (оптимальный и субоптимальный). Если количество оптимальных выравниваний больше, чем NumAlnValue, то localalign возвращает первые выравнивания NumAlnValue на основе их порядка в трассировке назад матрица.

Примечание

Если вы задаете NumAlnValue, вы не можете задать MinScoreValue или PercentValue.

Совет

Используйте NumAlnValue, чтобы возвратить несколько выравниваний, когда вы выровняете низкие последовательности сложности и должны будете рассмотреть несколько локальных выравниваний.

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

MinScoreValue

Положительная скалярная величина, задающая минимальный счет локальных, непересекающихся выравниваний (оптимальный и субоптимальный), чтобы возвратиться.

Примечание

Если вы задаете MinScoreValue, вы не можете задать NumAlnValue или PercentValue.

Совет

Используйте MinScoreValue, чтобы возвратить субоптимальные выравнивания, например, когда вы будете интересоваться составлением упорядочивания ошибок или несовершенных матриц выигрыша.

PercentValue

Положительная скалярная величина между 0 и 100, который ограничивает возврат локальных, непересекающихся выравниваний (оптимальный и субоптимальный) к тем выравниваниям со счетом в проценте PercentValue самого высокого счета. Например, если самым высоким счетом является 10.5, и вы задаете 5 для PercentValue, затем localalign определяет минимальный счет 10.5 – (10.5 * 0.05) = 9.975. Это возвращает все выравнивания со счетом 9.975 или выше.

Примечание

Если вы задаете PercentValue, вы не можете задать NumAlnValue или MinScoreValue.

Совет

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

DoAlignmentValue

Управляет включением попарных выравниваний в поле Alignment выходной структуры. Выбором является true (значение по умолчанию) или false.

AlphabetValue

Вектор символов или строка, задающая тип последовательностей. Выбором является 'AA' (значение по умолчанию) или 'NT'.

ScoringMatrixValue

Любое из следующего:

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

    • 'BLOSUM62'

    • 'BLOSUM30', увеличивающийся 5 до 'BLOSUM90'

    • 'BLOSUM100'

    • 'PAM10', увеличивающийся 10 до 'PAM500'

    • 'DAYHOFF'

    • 'GONNET'

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

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

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

    Примечание

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

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

    Примечание

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

Примечание

Если необходимо скомпилировать localalign в автономное приложение или компонент программного обеспечения с помощью MATLAB Compiler™, используйте матрицу вместо вектора символов или строки для ScoringMatrixValue.

ScaleValue

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

Например, если выходной счет первоначально определяется в битах, и вы вводите log(2) для ScaleValue, затем localalign возвращает Score в nats.

Значением по умолчанию является 1, который не изменяет модули выходного счета.

Примечание

Если свойство 'ScoringMatrix' также задает масштабный коэффициент, то localalign использует его сначала, чтобы масштабировать выходной счет. Это затем применяет масштабный коэффициент, заданный ScaleValue, чтобы повторно масштабировать выходной счет.

Совет

Прежде, чем сравнить очки выравнивания от нескольких выравниваний, гарантируйте, что очки находятся в тех же модулях. Используйте свойство 'Scale' управлять модулями выходных очков.

GapOpenValue

Положительное значение, задающее штраф за открытие разрыва в выравнивании.

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

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

AlignStruct

Структура MATLAB или массив структур, содержащих информацию о локальных оптимальных и субоптимальных выравниваниях между двумя последовательностями. Каждая структура представляет оптимальное или субоптимальное выравнивание и содержит следующие поля.

Поле Описание
Score

Выиграйте за локальное оптимальное или субоптимальное выравнивание.

Start

1 2 вектор индексов, указывающих на отправную точку в каждой последовательности для выравнивания.

Stop

1 2 вектор индексов, указывающих на останавливающуюся точку в каждой последовательности для выравнивания.

Alignment

3 N символьным массивом, показывающим эти две последовательности, Seq1 и Seq2, в первых и третьих строках. Это также показывает символы, представляющие оптимальное или субоптимальное локальное выравнивание между этими двумя последовательностями во второй строке.

Примеры

Ограничьте количество выравниваний, чтобы возвратиться между двумя последовательностями путем определения количества выравниваний:

% Create variables containing two amino acid sequences.
Seq1 = 'VSPAGMASGYDPGKA';
Seq2 = 'IPGKATREYDVSPAG';

% Use the NumAln property to return information about the
% top three local alignments.
struct1 = localalign(Seq1, Seq2, 'numaln', 3)

struct1 = 

        Score: [3x1 double]
        Start: [3x2 double]
         Stop: [3x2 double]
    Alignment: {3x1 cell}

% View the scores of the first and second alignments.
struct1.Score(1:2)

ans =

   11.0000
    9.6667

% View the first alignment.
struct1.Alignment{1}

ans =

VSPAG
|||||
VSPAG

Ограничьте количество выравниваний, чтобы возвратиться между двумя последовательностями путем определения минимального счета:

% Create variables containing two amino acid sequences.
Seq1 = 'VSPAGMASGYDPGKA';
Seq2 = 'IPGKATREYDVSPAG';

% Use the MinScore property to return information about
% only local alignments with a score greater than 8.
% Use the DoAlignment property to exclude the actual alignments.
struct2 = localalign(Seq1,Seq2,'minscore',8,'doalignment',false)

struct2 = 

    Score: [2x1 double]
    Start: [2x2 double]
     Stop: [2x2 double]

Ограничьте количество выравниваний, чтобы возвратиться между двумя последовательностями путем определения процента от максимального счета:

% Create variables containing two amino acid sequences.
Seq1 = 'VSPAGMASGYDPGKA';
Seq2 = 'IPGKATREYDVSPAG';

% Use the Percent property to return information about only
% local alignments with a score within 15% of the maximum score.
struct3 = localalign(Seq1, Seq2, 'percent', 15) 

struct3 = 

        Score: [2x1 double]
        Start: [2x2 double]
         Stop: [2x2 double]
    Alignment: {2x1 cell}

Задайте матрицу выигрыша и разрыв вводный штраф при выравнивании двух последовательностей:

% Create variables containing two nucleotide sequences.
Seq1 = 'CCAATCTACTACTGCTTGCAGTAC';
Seq2 = 'AGTCCGAGGGCTACTCTACTGAAC';

% Create a scoring matrix with a match score of 10 and a mismatch
% score of -9
sm = [10 -9 -9 -9;
      -9 10 -9 -9;
      -9 -9 10 -9;
      -9 -9 -9 10];

% Use the ScoringMatrix and GapOpen properties when returning
% information about the top three local alignments.
struct4 = localalign(Seq1, Seq2, 'alpha', 'nt', ...
         'scoringmatrix', sm, 'gapopen', 20, 'numaln', 3)

struct4 = 

        Score: [3x1 double]
        Start: [3x2 double]
         Stop: [3x2 double]
    Alignment: {3x1 cell} 

Больше о

свернуть все

Непересечение выравниваний

Выравнивания, имевшие соответствия или общие несоответствия.

Оптимальное выравнивание

Выравнивание с самым высоким счетом.

Субоптимальное выравнивание

Выравнивание со счетом меньше, чем самый высокий счет.

Ссылки

[1] Бартон, G. (1993). Эффективный алгоритм, чтобы определить местоположение всех локально оптимальных выравниваний между двумя последовательностями, допускающими разрывы. CABIOS 9, 729–734.

Представленный в R2009b