bamread

Чтение данных из файла BAM

Синтаксис

BAMStruct = bamread(File,RefSeq,Range)
[BAMStruct,HeaderStruct] = bamread(File,RefSeq,Range)
... = bamread(File,RefSeq,Range,Name,Value)

Описание

BAMStruct = bamread(File,RefSeq,Range) считывает записи выравнивания в File, файл в формате BAM, который выравнивается по RefSeq, ссылочную последовательность, в области значений, заданном Range. Данные выравнивания возвращаются в BAMStruct, MATLAB® массив структур.

[BAMStruct,HeaderStruct] = bamread(File,RefSeq,Range) также возвращает информацию о заголовке в HeaderStruct, структуру MATLAB.

... = bamread(File,RefSeq,Range,Name,Value) считывает записи выравнивания с дополнительными опциями, заданными одной или несколькими Name,Value аргументы в виде пар.

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

File

Вектор символов или строка, указывающая имя файла, путь и имя файла в формате BAM. Если вы задаете только имя файла, этот файл должен быть в пути поиска файлов MATLAB или в Текущей папке.

Примечание

Функция требует упорядочивания файла BAM, кроме тех случаев, когда возвращается чтение, которое не сопоставлено с какой-либо ссылкой.

RefSeq

Одно из следующих:

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

  • Положительное целое число, задающее индекс ссылки последовательности в файле BAM. Это число также является индексом ссылочной последовательности в Reference поле InfoStruct структура, возвращенная baminfo.

Range

Двухэлементный вектор, задающий начальное и конечное положения области значений в последовательности ссылки RefSeq. Оба значения должны быть положительными и основаны на одном. Второе значение должно быть ≥ первому значению.

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

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

'Full'

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

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

'Tags'

Управление чтением необязательных тегов в дополнение к первым 11 полям для каждого выравнивания в форматированном BAM файле. Варианты true (по умолчанию) или false.

По умолчанию: true

'ToFile'

Вектор символов или строка, задающая несуществующее имя файла или путь и имя файла для сохранения записей выравнивания в заданной области определенной ссылочной последовательности. The ToFile аргумент пары "имя-значение" создает файл с форматированием SAM. Если вы задаете только имя файла, файл сохраняется в текущей папке MATLAB.

Файл в формате SAM всегда основан на одном, даже если вы задаете ZeroBased аргумент пары "имя-значение" в true. Вы можете использовать файл в формате SAM в качестве входных данных при создании BioMap объект.

'ZeroBased'

Логическое определение, bamread ли использует нулевую индексацию при чтении файла. Логика управляет возвратом нулевых или основанных на одном положении в Position и MatePosition поля в BAMStruct. Варианты true или false (по умолчанию), который возвращает базовые позиции.

Этот аргумент пары "имя-значение" влияет на Position и MatePosition поля BAMStruct. Это не влияет на Range входной параметр или файл SAM, созданный при использовании ToFile аргумент пары "имя-значение". Файлы SAM всегда являются одноуровневыми.

Внимание

Если вы планируете использовать BAMStruct выходной аргумент для создания BioMap объект, убедитесь, что ZeroBased Аргумент пары "имя-значение" false.

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

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

BAMStruct

Массив N -by-1 структур, содержащий информацию о выравнивании последовательности и отображении из файла в формате BAM, где N количество записей выравнивания, хранимых в заданной области. Каждая структура содержит следующие поля .

ОбластьОписание
QueryName

Имя последовательности чтения (если она не указана) или имя пары последовательности (если она является парной).

Flag

Целое число, указывающее битовую информацию, которая задает состояние каждого из 11 флагов, описанных спецификацией формата SAM.

Совет

Вы можете использовать bitget функция для определения статуса определенного флага SAM.

ReferenceIndex

Индекс последовательности ссылки.

Совет

Чтобы преобразовать этот индекс в ссылочное имя, смотрите Reference поле в HeaderStruct выходной аргумент

PositionПоложение прямой опорной последовательности, где начинается крайняя левая основа выравнивания считанной последовательности. Это положение основано на нуле или основано на одном, в зависимости от ZeroBased аргумент пары "имя-значение".
MappingQualityЦелое число, задающее счет качества отображения для последовательности чтения.
CigarStringФорматированная CIGAR строка, представляющая выравнивание считанной последовательности по ссылочной.
MateReferenceIndexИндекс ссылочной последовательности, сопоставленной с сопряженной. Если mate нет, то это значение 0.
MatePositionПоложение прямой опорной последовательности, где начинается крайняя левая основа выравнивания совмещенной последовательности чтения. Это положение основано на нуле или основано на одном, в зависимости от ZeroBased аргумент пары "имя-значение".
InsertSizeКоличество базовых позиций между последовательностью чтения и ее сопутствующей последовательностью, когда обе они сопоставлены с одной и той же ссылочной последовательностью. В противном случае это значение 0.
SequenceВектор символов, содержащий буквенные представления последовательности read. Это противоположное дополнение, если последовательность read выравнивается по обратной цепочке ссылки последовательности.
QualityВектор символов, содержащий представление ASCII счета качества в относительных базах для последовательности чтения. Счет качества меняется назад, если последовательность считывания выравнивается по обратной цепи ссылки последовательности.
TagsСписок применимых меток SAM и их значений.

HeaderStruct

Структура MATLAB, содержащая информацию о заголовках для файла в формате BAM в следующих полях.

ОбластьОписание
NRefsКоличество ссылочных последовательностей в форматированном BAM файле.
Reference

1-by- NRefs массив структур, содержащих эти поля:

  • Name - Имя опорной последовательности.

  • Length - Длина эталонной последовательности.

Header*Структура, содержащая версию формата файла, порядок сортировки и порядок группы.
SequenceDictionary*

Структура, содержащая:

  • Имя последовательности

  • Длина последовательности

  • Идентификатор сборки генома

  • MD5 контрольную сумму последовательности

  • URI последовательности

  • Разновидности

ReadGroup*

Структура, содержащая:

  • Чтение идентификатора группы

  • Выборка

  • Библиотека

  • Описание

  • Система модуля

  • Предсказанный медианный размер вставки

  • Центр секвенирования

  • Дата

  • Платформа

Program*

Структура, содержащая:

  • Имя программы

  • Версия

  • Командная строка

* Эти структуры и их поля появляются в структуру output только в том случае, если они присутствуют в файле BAM. Информация в этих структурах зависит от информации, имеющейся в файле BAM.

Примеры

свернуть все

Считайте несколько записей выравнивания из файла ex1.bam, которые выравниваются по двум различным ссылочным последовательностям.

data1 = bamread('ex1.bam', 'seq1', [100 200])
data1=59×1 struct array with fields:
    QueryName
    Flag
    Position
    MappingQuality
    CigarString
    MatePosition
    InsertSize
    Sequence
    Quality
    Tags
    ReferenceIndex
    MateReferenceIndex

data2 = bamread('ex1.bam', 'seq2', [100 200])
data2=79×1 struct array with fields:
    QueryName
    Flag
    Position
    MappingQuality
    CigarString
    MatePosition
    InsertSize
    Sequence
    Quality
    Tags
    ReferenceIndex
    MateReferenceIndex

Считайте выравнивания из файла ex1.bam, которые полностью содержатся в области значений от 100 до 200 б.п. ссылочной последовательности seq1.

data3 = bamread('ex1.bam', 'seq1', [100 200], 'full', true)
data3=30×1 struct array with fields:
    QueryName
    Flag
    Position
    MappingQuality
    CigarString
    MatePosition
    InsertSize
    Sequence
    Quality
    Tags
    ReferenceIndex
    MateReferenceIndex

Считайте выравнивания из файла ex1.bam, которые совпадают с областью значений 100-300 б.п. ссылочной последовательности seq1. Считайте те же выравнивания, используя нулевую индексацию. Сравните положение 27-й записи в двух выходах.

data_one = bamread('ex1.bam','seq1', [100 300]);
data_zero = bamread('ex1.bam','seq1', [100 300], 'zerobased', true);
data_one(27).Position
ans = uint32
    135
data_zero(27).Position
ans = uint32
    134

Совет

  • bamread для функции требуется файл BAM.

  • Используйте baminfo функция для исследования размера и содержимого, включая имена ссылочных последовательностей, файла в формате BAM перед использованием bamread функция для чтения содержимого файла в массив структур MATLAB.

  • Если файл в формате BAM слишком велик для чтения с помощью доступной памяти, попробуйте одно из следующих действий:

    • Используйте меньшую область значений.

    • Использовать bamread без указания выходов, но с помощью ToFile Name,Value пара аргументов для создания файла с форматированием SAM. Затем можно использовать samread с BlockRead Name,Value пара аргументов для чтения файла с форматированием SAM. Или можно передать файл в формате SAM в BioIndexedFile функция конструктора для создания BioIndexedFile объект, который можно использовать для создания BioMap объект.

  • Используйте BAMStruct выходной аргумент, bamread возвращается к созданию BioMap объект, который позволяет вам исследовать, получать доступ, фильтровать и манипулировать всеми или подмножеством данных, прежде чем выполнять последующие анализы или просматривать данные.

Ссылки

[1] Li, H., Handsaker, B., Wysoker, A., Fennell, T., Ruan, J., Homer, N., Marth, G., Goncalo, A., and Durbin, R. (2009). Формат Sequence Alignment/Map и SAMtools. Биоинформатика 25, 16, 2078-2079.

Введенный в R2010b