exponenta event banner

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и установлена Toolbox™ параллельных вычислений и parpool открыт, вычисления выполняются параллельно. При отсутствии открытых parpool, но автоматическое создание включено в настройках параллелизма, пул по умолчанию будет автоматически открыт и вычисления будут выполняться параллельно. Если установлена панель инструментов параллельных вычислений, но нет открытых parpool и автоматическое создание отключено, то вычисление использует parfor- петли в последовательном режиме. Если панель инструментов параллельных вычислений не установлена, то при вычислении используется parfor- петли в последовательном режиме. По умолчанию: false, который использует for-loops в последовательном режиме.
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 матрица расстояний. Чтобы получить расстояние между Iи Jth последовательности для 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Рассматривает отдельно переходное нуклеотидное замещение и поперечное нуклеотидное замещение.
TamuraРассматривает отдельно переходное нуклеотидное замещение, поперечное нуклеотидное замещение и содержание ГХ. Содержимое GC можно вычислить из входных последовательностей или задать путем установки OptArgs к доле содержимого GC (скалярное значение от 0 кому 1).
HasegawaОтдельно рассматривает переходное нуклеотидное замещение, поперечное нуклеотидное замещение и фоновые нуклеотидные частоты. Фоновые частоты могут быть вычислены из входных последовательностей или заданы путем установки OptArgs свойство для [gA gC gG gT].
Nei-TamuraОтдельно рассматривает переходное нуклеотидное замещение между пуринами, переходное нуклеотидное замещение между пиримидинами, поперечное нуклеотидное замещение и фоновые нуклеотидные частоты. Фоновые частоты могут быть вычислены из входных последовательностей или заданы путем установки 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и установлена панель инструментов параллельных вычислений и parpool открыт, вычисления выполняются параллельно. При отсутствии открытых parpool, но автоматическое создание включено в настройках параллелизма, пул по умолчанию будет автоматически открыт и вычисления будут выполняться параллельно. Если установлена панель инструментов параллельных вычислений, но нет открытых parpool и автоматическое создание отключено, то вычисление использует parfor- петли в последовательном режиме. Если панель инструментов параллельных вычислений не установлена, то при вычислении используется parfor- петли в последовательном режиме. По умолчанию: false, который использует for-loops в последовательном режиме.

D = seqpdist(Seqs, ...'SquareForm', SquareFormValue ...) управляет преобразованием выходного сигнала в квадратную матрицу, такую, что D(I,J) обозначает расстояние между Iи J3-я последовательность. Квадратная матрица симметрична и имеет нулевую диагональ. Варианты: true или false (по умолчанию). Настройка Squareform кому true совпадает с использованием squareform функция в 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. Измерьте попарные расстояния Джукса - Кантора после перегруппировки каждой пары последовательностей, считая промежутки как точечные мутации.

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

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

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