exponenta event banner

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'

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

HeaderStruct

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

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

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

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

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

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

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

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

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

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

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

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

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

ReadGroup*

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

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

  • Образец

  • Библиотека

  • Описание

  • Блок платформы

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

  • Центр упорядочения

  • Дата

  • Платформа

Program*

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

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

  • Версия

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

* Эти структуры и их поля появляются в структуре вывода только в том случае, если они присутствуют в файле 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] Ли, Х., Хандсейкер, Б., Вайсокер, А., Феннелл, Т., Руан, Дж., Гомер, Н., Март, Г., Гонкало, А. и Дурбин, Р. (2009). Формат выравнивания/карты последовательности и инструменты SAMtools. Биоинформатика 25, 16, 2078-2079.

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