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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'Full'

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

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

'Tags'

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

Значение по умолчанию: true

'ToFile'

Вектор символов или строка, задающая несуществующее имя файла или путь и имя файла для сохранения выравнивания, записывают в заданной области значений определенной ссылочной последовательности. Аргумент пары "имя-значение" 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Представление отформатированной строки СИГАРЫ, как последовательность чтения выравнивается со ссылочной последовательностью.
MateReferenceIndexИндекс ссылочной последовательности сопоставлен с помощником. Если нет никакого помощника, то этим значением является 0.
MatePositionПоложение последовательности ссылки вперед, где крайняя левая основа выравнивания помощника последовательности чтения запускается. Это положение основано на нуле или на основе одно, в зависимости от аргумента пары "имя-значение" ZeroBased.
InsertSizeКоличество основных положений между последовательностью чтения и ее помощником, когда оба сопоставлены с той же ссылочной последовательностью. В противном случае этим значением является 0.
SequenceВектор символов, содержащий представления буквы последовательности чтения. Это - противоположное дополнение, если последовательность чтения выравнивается к противоположной скрутке ссылочной последовательности.
QualityВектор символов, содержащий представление ASCII качества на основу, выигрывает за последовательность чтения. Качественный счет инвертируется, если последовательность чтения выравнивается к противоположной скрутке ссылочной последовательности.
TagsСписок применимых тегов SAM и их значений.

HeaderStruct

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

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

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

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

  • Длина Длина ссылочной последовательности.

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

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

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

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

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

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

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

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

ReadGroup *

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

  • Считайте идентификатор группы

  • Выборка

  • Библиотека

  • Описание

  • Модуль платформы

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

  • Упорядочивание центра

  • Дата

  • Платформа

Program *

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

  • Название программы

  • Версия

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

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

Примеры

свернуть все

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

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

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

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

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

Считайте выравнивания из ex1.bam файла, которые выравниваются к 100 - 300 областям значений BP 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, не задавая выходные параметры, но с помощью аргументов пары Name,Value ToFile, чтобы создать SAM-отформатированный файл. Можно затем использовать samread с аргументами пары Name,Value BlockRead, чтобы считать SAM-отформатированный файл. Или можно передать SAM-отформатированный файл функции конструктора BioIndexedFile, чтобы создать объект BioIndexedFile, который можно использовать, чтобы создать объект BioMap.

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

Ссылки

[1] Литий, H., Handsaker, B., Wysoker, A., Fennell, T., Жуань, J., Гомер, N., Marth, G., Goncalo, A. и Durbin, R. (2009). Sequence Alignment / формат Карты и SAMtools. Биоинформатика 25, 16, 2078–2079.

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