seqpdist

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

Синтаксис

D = seqpdist(Seqs)
D = seqpdist(Seqs, ...'PropertyName', PropertyValue, ...)
D = seqpdist(Seqs, ...'Method', MethodValue, ...)
D = seqpdist(Seqs, ...'Indels', IndelsValue, ...)
D = seqpdist(Seqs, ...'OptArgs', OptArgsValue, ...)
D = seqpdist(Seqs, ...'PairwiseAlignment', PairwiseAlignmentValue, ...)
D = seqpdist(Seqs, ...'UseParallel', UseParallelValue, ...)
D = seqpdist(Seqs, ...'SquareForm', SquareFormValue ...)
D = seqpdist(Seqs, ...'Alphabet', AlphabetValue, ...)
D = seqpdist(Seqs, ...'ScoringMatrix', ScoringMatrixValue, ...)
D = seqpdist(Seqs, ...'Scale', ScaleValue, ...)
D = seqpdist(Seqs, ...'GapOpen', GapOpenValue, ...)
D = seqpdist(Seqs, ...'ExtendGap', ExtendGapValue, ...)

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

Seqs

Любое следующее:

  • Массив ячеек из символьных векторов или вектор строки, содержащий нуклеотид или последовательности аминокислот

  • Вектор из структур, содержащих Sequence поле

  • Матрица символов, в которых каждая строка соответствует нуклеотиду или последовательности аминокислот

MethodValueВектор символов или строка, которая задает метод, чтобы вычислить попарные расстояния. Значением по умолчанию является 'Jukes-Cantor'.
IndelsValueВектор символов или строка, которая задает, как обработать сайты с разрывами. Значением по умолчанию является 'score'.
OptArgsValueВектор символов или массив ячеек, который задает один или несколько входных параметров, требуемых или принятых методом расстояния, заданным Method свойство.
PairwiseAlignmentValueУправляет глобальным попарным выравниванием входных последовательностей (использующий nwalign функция), при игнорировании нескольких выравнивание входных последовательностей (если таковые имеются). Выбором является true или false. Значение по умолчанию:
  • true — Когда все входные последовательности не имеют той же длины.

  • false — Когда все входные последовательности имеют ту же длину.

Совет

Если ваши входные последовательности являются той же длиной, seqpdist принимает, что они выравниваются. Если они не выравниваются, выполнить одно из следующих действий:

  • Выровняйте последовательности прежде, чем передать их seqpdist, например, использование multialign функция.

  • Установите PairwiseAlignment к true при использовании seqpdist.

UseParallelValueУправляет вычислением попарного использования расстояний parfor- циклы. Когда true, и Parallel Computing Toolbox™ установлен и parpool открыто, расчет происходит параллельно. Если нет никакого открытого parpool, но автоматическое создание включено в Параллельных Настройках, пул по умолчанию будет автоматически открыт, и расчет происходит параллельно. Если Parallel Computing Toolbox установлен, но нет никакого открытого parpool и автоматическое создание отключено, затем расчет использует parfor- циклы в последовательном режиме. Если Parallel Computing Toolbox не установлен, то расчет использует parfor- циклы в последовательном режиме. Значением по умолчанию является false, который использует циклы for в последовательном режиме.
SquareFormValue

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

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

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

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

    • 'BLOSUM62'

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

    • 'BLOSUM100'

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

    • 'DAYHOFF'

    • 'GONNET'

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

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

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

    Примечание

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

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

    Примечание

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

Примечание

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

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

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

DВектор, который содержит биологические расстояния между каждой парой последовательностей, сохраненных в M элементы Seqs.

Описание

D = seqpdist(Seqs) возвращает D, вектор, содержащий биологические расстояния между каждой парой последовательностей, сохранен в M последовательности Seqs, массив ячеек последовательностей, вектор из структур, или матрица или последовательности.

D 1- (M*(M-1)/2) вектор-строка, соответствующий M*(M-1)/2 пары последовательностей в Seqs. Выход D располагается в порядке ((2,1),(3,1),..., (M,1),(3,2),...(M,2),...(M,M-1)). Это - нижний левый треугольник полного M- M матрица расстояния. Получить расстояние между Ith и Jпоследовательности th для I > J, используйте формулу D((J-1)*(M-J/2)+I-J).

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

D = seqpdist(Seqs, ...'Method', MethodValue, ...) задает метод, чтобы вычислить расстояния между каждой парой последовательности. Выбор показывают в следующих таблицах.

Методы для нуклеотидов и аминокислот

МетодОписание
p-distanceПропорция сайтов, на которых эти две последовательности отличаются. p близко к 1 для плохо связанных последовательностей и p близко к 0 для подобных последовательностей.
d = p
Jukes-Cantor (значение по умолчанию)

Оценка наибольшего правдоподобия количества замен между двумя последовательностями. p описан с методом p-distance.

Для нуклеотидов:

d = -3/4 log(1-p * 4/3)

Для аминокислот:

d = -19/20 log(1-p * 20/19)
alignment-scoreРасстояние (d) между двумя последовательностями (1, 2) вычисляется из попарного счета выравнивания между этими двумя последовательностями (score12), и попарное выравнивание выигрывает между каждой последовательностью и им (score11, score22) можно следующим образом:
d = (1-score12/score11)* (1-score12/score22)    
Эта опция не подразумевает, что предварительно выровненный вводят последовательности, будет перестроен, это только баллы их. Используйте с осторожностью; этот метод расстояния не выполняет ультраметрическое условие. В редком случае, где счет между последовательностями больше счета при выравнивании последовательности с собой, затем d = 0

Методы без выигрыша разрывов (только нуклеотиды)

МетодОписание
Tajima-NeiОценка наибольшего правдоподобия, рассматривая фоновые частоты нуклеотида. Это может быть вычислено из входных последовательностей или дано установкой OptArgs к [gA gC gG gT]. gA, gC, gG&gt скалярные значения для частот нуклеотида.
KimuraРассматривает отдельно переходную замену нуклеотида и transversional замену нуклеотида.
TamuraРассматривает отдельно переходную замену нуклеотида, transversional замену нуклеотида и содержимое GC. Содержимое GC может быть вычислено из входных последовательностей или дано установкой OptArgs к пропорции содержимого GC (скалярное значение от 0 к 1).
HasegawaРассматривает отдельно переходную замену нуклеотида, transversional замену нуклеотида и фоновые частоты нуклеотида. Фоновые частоты могут быть вычислены из входных последовательностей или даны путем установки OptArgs свойство к [gA gC gG gT].
Nei-TamuraРассматривает отдельно переходную замену нуклеотида между пуринами, переходную замену нуклеотида между пиримидинами, transversional замену нуклеотида и фоновые частоты нуклеотида. Фоновые частоты могут быть вычислены из входных последовательностей или даны путем установки OptArgs свойство к [gA gC gG gT].

Методы без выигрыша разрывов (только аминокислоты)

МетодОписание
PoissonПринимает, что количество замен аминокислоты на каждом сайте имеет распределение Пуассона.
GammaПринимает, что количество замен аминокислоты на каждом сайте имеет Гамма распределение параметром a. Установите a использование OptArgs свойство. Значением по умолчанию является 2.

Можно также задать пользовательскую функцию расстояния использование @, например, @distfun. Функция расстояния должна иметь форму:

function D = distfun(S1, S2, OptArgsValue)

distfun функционируйте берет следующие аргументы:

  • S1 S2 — Две последовательности той же длины (нуклеотид или аминокислота).

  • OptArgsValue — Дополнительные зависимые проблемой аргументы.

distfun функция возвращает скаляр, который представляет расстояние между S1 и S2.

D = seqpdist(Seqs, ...'Indels', IndelsValue, ...) задает, как обработать сайты с разрывами. Выбор:

  • score (значение по умолчанию) — Баллы эти сайты или как точечная мутация или параметрами выравнивания, в зависимости от метода выбраны.

  • pairwise-del — Для каждого попарного сравнения это игнорирует сайты с разрывами.

  • complete-del — Игнорирует все столбцы в нескольких выравнивание, которые содержат разрыв. Эта опция доступна, только если вы обеспечили выравнивание кратного как вход Seqs.

D = seqpdist(Seqs, ...'OptArgs', OptArgsValue, ...) передачи один или несколько аргументов, требуемых или принятых методом расстояния, заданы Method свойство. Используйте вектор символов или массив ячеек, чтобы передать один или несколько входных параметров. Например, обеспечьте частоты нуклеотида для Tajima-Nei метод расстояния, вместо того, чтобы вычислить их из входных последовательностей.

D = seqpdist(Seqs, ...'PairwiseAlignment', PairwiseAlignmentValue, ...) управляет глобальным попарным выравниванием входных последовательностей (использующий nwalign функция), при игнорировании нескольких выравнивание входных последовательностей (если таковые имеются). Значение по умолчанию:

  • true — Когда все входные последовательности не имеют той же длины.

  • false — Когда все входные последовательности имеют ту же длину.

Совет

Если ваши входные последовательности имеют ту же длину, seqpdist принимает, что они выравниваются. Если они не выравниваются, выполнить одно из следующих действий:

  • Выровняйте последовательности прежде, чем передать их seqpdist, например, использование multialign функция.

  • Установите PairwiseAlignment к true при использовании seqpdist.

D = seqpdist(Seqs, ...'UseParallel', UseParallelValue, ...) задает, использовать ли parfor- циклы при вычислении попарных расстояний. Когда true, и Parallel Computing Toolbox установлен и parpool открыто, расчет происходит параллельно. Если нет никакого открытого parpool, но автоматическое создание включено в Параллельных Настройках, пул по умолчанию будет автоматически открыт, и расчет происходит параллельно. Если Parallel Computing Toolbox установлен, но нет никакого открытого parpool и автоматическое создание отключено, затем расчет использует parfor- циклы в последовательном режиме. Если Parallel Computing Toolbox не установлен, то расчет использует parfor- циклы в последовательном режиме. Значением по умолчанию является false, который использует циклы for в последовательном режиме.

D = seqpdist(Seqs, ...'SquareForm', SquareFormValue ...) управляет преобразованием выхода в квадратную матрицу, таким образом что DiJ) обозначает расстояние между Ith и Jпоследовательности th. Квадратная матрица симметрична и имеет нулевую диагональ. Выбором является true или false (значение по умолчанию). Установка Squareform к true совпадает с использованием squareform функция в Statistics and Machine Learning Toolbox™.

D = seqpdist(Seqs, ...'Alphabet', AlphabetValue, ...) задает тип последовательности (нуклеотид или аминокислота). Выбором является 'NT' или 'AA' (значение по умолчанию).

Остающиеся входные свойства доступны когда Method свойство равняется 'alignment-score' или PairwiseAlignment свойство равняется true.

D = seqpdist(Seqs, ...'ScoringMatrix', ScoringMatrixValue, ...) задает матрицу выигрыша, чтобы использовать для глобального попарного выравнивания. Значение по умолчанию:

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

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

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

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

D = seqpdist(Seqs, ...'ExtendGap', ExtendGapValue, ...) задает штраф за расширение разрыва в выравнивании. Выбором является любое положительное целое число. Значение по умолчанию равно GapOpenValue.

Примеры

  1. Считайте данные о выравнивании аминокислоты в структуру MATLAB.

    seqs = fastaread('pf00002.fa');
  2. Для каждой возможной пары последовательностей в нескольких выравнивание проигнорируйте сайты с разрывами и счет с выигрывающим матричным PAM250.

    dist = seqpdist(seqs,'Method','alignment-score',...
                    'Indels','pairwise-delete',...
                    'ScoringMatrix','pam250');
  3. Обеспечьте перестройку каждой пары последовательности игнорирование обеспеченного несколько выравнивание.

    dist = seqpdist(seqs,'Method','alignment-score',...
                    'Indels','pairwise-delete',...
                    'ScoringMatrix','pam250',...
                    'PairwiseAlignment',true);
  4. Измерьте Jukes-Cantor попарные расстояния после перестройки каждой пары последовательности, считая разрывы как точечные мутации.

    dist = seqpdist(seqs,'Method','jukes-cantor',...
                    'Indels','score',...
                    'Scoringmatrix','pam250',...
                    'PairwiseAlignment',true);

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

Смотрите также

| | | | | | |

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