bamread

Считайте данные из файла BAM

Синтаксис

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

Описание

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

BAMStruct = bamread(File,nomap) возвращает чтения, которые не сопоставлены ни с какой ссылкой.

[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. Оба значения должны быть положительными, и на основе одни. Второе значение должно быть ≥ к первому значению.

nomap

Любое из следующего: 'Unmapped' или 0.

Аргументы name-value

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

HeaderStruct

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

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

1 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 областях значений BP 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 областям значений 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 не задавая выходные параметры, но с помощью ToFile Name,Value парные аргументы, чтобы создать SAM-отформатированный файл. Можно затем использовать samread с BlockRead Name,Value парные аргументы, чтобы считать 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