cigar2align

Преобразуйте невыровненные последовательности в выровненные последовательности с помощью подписей в формате CIGAR

Синтаксис

Alignment = cigar2align(Seqs,Cigars)
[GapSeq, Indices] = cigar2align(Seqs,Cigars)
... = cigar2align(Seqs,Cigars,Name,Value)

Описание

Alignment = cigar2align(Seqs,Cigars) преобразует невыровненные последовательности в Seqs, массив ячеек из символьных векторов или вектор строки, в Alignment, матрица выровненных последовательностей, с помощью информации сохранена в Cigars, массив ячеек отформатированных СИГАРОЙ векторов символов или вектора строки.

[GapSeq, Indices] = cigar2align(Seqs,Cigars) преобразует невыровненные последовательности в Seqs, массив ячеек из символьных векторов или вектор строки, в GapSeq, массив ячеек из символьных векторов выровненных последовательностей, и также возвращает Indices, вектор из числовых индексов, с помощью информации сохранен в Cigars, массив ячеек отформатированных СИГАРОЙ векторов символов или вектора строки. Когда выравнивание имеет много столбцов, этот синтаксис использует меньше памяти и быстрее.

... = cigar2align(Seqs,Cigars,Name,Value) преобразует невыровненные последовательности в Seqs, массив ячеек из символьных векторов или вектор строки, в Alignment, матрица выровненных последовательностей, с помощью информации сохранена в Cigars, массив ячеек отформатированных СИГАРОЙ векторов символов или вектора строки, с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

Seqs

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

Cigars

Массив ячеек допустимых отформатированных СИГАРОЙ векторов символов или вектора строки. Cigars должен содержать то же число элементов как Seqs.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'Start'

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

'GapsInRef'

Логическое определение, отобразить ли положения в выровненных последовательностях, которые соответствуют разрывам в ссылочной последовательности. Выбором является true(1 ) или false(0 ). Если ваша ссылочная последовательность имеет разрывы, и вы устанавливаете GapsInRef к false(0 ), и затем дальнейшее использование Alignment как введено к align2cigar, возвращенные отформатированные СИГАРОЙ векторы символов не будут совпадать с исходными единицами.

По умолчанию: false(0 )

'SoftClipping'

Логическое определение, включать ли символы в выровненные последовательности чтения, соответствующие мягким концам усечения. Выбором является true(1 ) или false(0 ).

По умолчанию: false(0 )

'OffsetPad'

Логическое определение, добавить ли дополнение, очищает слева от каждой выровненной последовательности чтения, чтобы представлять смещение положения запуска от первого положения ссылочной последовательности. Выбором является true(1 ) или false(0 ). Когда false, матрица выровненных последовательностей запускается в положении запуска крайней левой выровненной последовательности чтения.

По умолчанию: false(0 )

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

Alignment

Матрица выровненных последовательностей, в которых количество строк равняется количеству векторов символов в Seqs.

GapSeq

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

Indices

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

  • Ссылочная последовательность может быть расширена с учетом вставок.

  • Выровненная последовательность может иметь ведущие мягкие усечения, дополнение или символы вставки.

Примеры

Создайте массив ячеек из символьных векторов, содержащий невыровненные последовательности, создайте массив ячеек соответствующих отформатированных СИГАРОЙ векторов символов, сопоставленных со ссылочной последовательностью ACGTATGC, и затем восстановите выравнивание:

r = {'ACGACTGC', 'ACGTTGC', 'AGGTATC'}; % unaligned sequences
c = {'3M1D1M1I3M', '4M1D1P3M', '5M1P1M1D1M'}; % cigar-formatted
aln1 = cigar2align(r, c)
aln1 =

ACG-ATGC
ACGT-TGC
AGGTAT-C

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

aln2 = cigar2align(r, c,'GapsInRef',true)
aln2 =

ACG-ACTGC
ACGT--TGC
AGGTA-T-C

Восстановите выравнивание, добавляющее дополнение смещения 5:

aln3 = cigar2align(r, c, 'start', [5 5 5], 'OffsetPad', true)
aln3 =

    ACG-ATGC
    ACGT-TGC
    AGGTAT-C

Алгоритмы

Когда cigar2align восстанавливает выравнивание, оно не отображает трудно отсеченные положения (H) или мягкие отсеченные положения (S). Кроме того, это не рассматривает мягких отсеченных положений, как запускают положения для выровненных последовательностей.

Альтернативы

Если ваша информация о CIGAR получена в Signature свойство BioMap объект, можно использовать getAlignment метод, чтобы создать выравнивание.

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