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 Когда все входные последовательности не имеют той же длины.

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

Совет

Если ваши входные последовательности являются той же длиной, 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-by-(M*(M-1)/2) вектор - строка, соответствующий парам M*(M-1)/2 последовательностей в Seqs. Вывод D располагается в порядке ((2,1),(3,1),..., (M,1),(3,2),...(M,2),...(M,M-1)). Это - нижний левый треугольник полного M-by-M матрица расстояния. Чтобы получить расстояние между I th и 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 Когда все входные последовательности не имеют той же длины.

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

Совет

Если ваши входные последовательности имеют ту же длину, 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 ...) управляет преобразованием вывода в квадратную матрицу, таким образом, что D(I,J) обозначает расстояние между I th и 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