exponenta event banner

cigar2align

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

Синтаксис

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

Описание

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

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

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

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

Seqs

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

Cigars

Массив ячеек допустимых векторов символов в формате CIGAR или строкового вектора. Cigars должен содержать то же количество элементов, что и Seqs.

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

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

'Start'

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

'GapsInRef'

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

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

'SoftClipping'

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

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

'OffsetPad'

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

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

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

Alignment

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

GapSeq

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

Indices

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

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

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

Примеры

Создание массива ячеек из символьных векторов, содержащих неориентированные последовательности, создание массива ячеек из соответствующих символьных векторов в формате CIGAR, связанных с ссылочной последовательностью 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