SAMtools - SAMtools

SAMtools
Оригинальный автор (ы)Хэн Ли
Разработчики)Джон Маршалл, Петр Данечек и др. [1]
изначальный выпуск2009
Стабильный выпуск
1.10 / 6 декабря 2019 г.; 11 месяцев назад (2019-12-06)
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная системаUnix-подобный
ТипБиоинформатика
ЛицензияBSD, Массачусетский технологический институт
Интернет сайтwww.htslib.org

SAMtools это набор утилит для взаимодействия и постобработки выравнивание чтения коротких последовательностей ДНК в СЭМ (Выравнивание последовательности / Карта), БАМ (Двоичное выравнивание / Карта) и CRAM форматы, написанные Хэн Ли. Эти файлы генерируются как вывод выравниватели для короткого чтения любить BWA. Предоставляются как простые, так и расширенные инструменты, поддерживающие сложные задачи, такие как вызов вариантов и просмотр выравнивания, а также сортировка, индексирование, извлечение данных и преобразование формата.[2] Файлы SAM могут быть очень большими (10 с Гигабайт является обычным явлением), поэтому сжатие используется для экономии места. Файлы SAM представляют собой удобочитаемые текстовые файлы, а файлы BAM - это просто их двоичный эквивалент, в то время как файлы CRAM представляют собой реструктурированный двоичный формат контейнера, ориентированный на столбцы. Файлы BAM обычно сжаты и более эффективны для программного обеспечения, чем SAM. SAMtools позволяет работать напрямую со сжатым файлом BAM без необходимости распаковывать весь файл. Кроме того, поскольку формат файла SAM / BAM несколько сложен - он содержит операции чтения, ссылки, выравнивания, информацию о качестве и пользовательские аннотации - SAMtools сокращает усилия, необходимые для использования файлов SAM / BAM, скрывая подробности низкого уровня.

Использование и команды

Как и многие Unix команды, команды SAMtool следуют ручей модель, где данные проходят через каждую команду, как если бы конвейерная лента. Это позволяет объединить несколько команд в конвейер обработки данных. Хотя конечный результат может быть очень сложным, для его создания требуется лишь ограниченное количество простых команд. Если не указано иное, стандартные потоки (stdin, stdout и stderr) предполагается. Данные, отправленные в stdout, по умолчанию выводятся на экран, но их легко перенаправить в другой файл с помощью обычных перенаправителей Unix (> и >>) или в другую команду через конвейер (|).

Команды SAMtools

SAMtools предоставляет следующие команды, каждая из которых вызывается как "Samtools some_command".

Посмотреть
В Посмотреть команда фильтрует данные в формате SAM или BAM. Используя параметры и аргументы, он понимает, какие данные выбрать (возможно, все), и передает только эти данные. Ввод обычно представляет собой файл sam или bam, указанный в качестве аргумента, но это могут быть данные sam или bam, передаваемые по конвейеру из любой другой команды. Возможные варианты использования включают извлечение подмножества данных в новый файл, преобразование между форматами BAM и SAM и просто просмотр необработанного содержимого файла. Порядок извлеченных чтений сохраняется.
Сортировать
В Сортировать команда сортирует файл BAM на основе его положения в ссылке, как определено его выравниванием. Элемент + координата в ссылке, по которой выравнивается первая совпавшая база в чтении, используется в качестве ключа для ее упорядочения. [TODO: проверить]. Отсортированный вывод по умолчанию выгружается в новый файл, хотя его можно направить в стандартный вывод (используя параметр -o). Поскольку сортировка требует большого объема памяти, а файлы BAM могут быть большими, эта команда поддерживает режим секционирования (с параметрами -m) для использования не более заданного объема памяти и создания нескольких выходных файлов. Эти файлы затем могут быть объединены для создания полного отсортированного файла BAM [TODO - изучите детали этого более тщательно].
показатель
В показатель Команда создает новый индексный файл, который позволяет быстро искать данные в (отсортированных) SAM или BAM. Как и индекс в базе данных, сгенерированный * .sam.sai или * .bam.bai file позволяет программам, которые могут его читать, более эффективно работать с данными в связанных файлах.
tview
В tview Команда запускает интерактивную программу просмотра на основе ascii, которую можно использовать для визуализации выравнивания чтения с указанными небольшими участками эталонного генома. По сравнению с программой просмотра на основе графики, такой как IGV,[3] он имеет несколько функций. Внутри представления можно переходить к разным позициям по ссылочным элементам (используя 'g') и отображать справочную информацию ('?').
mpileup
В mpileup команда производит формат pileup (или BCF) файл, содержащий для каждой геномной координаты перекрывающиеся базы чтения и отступы в этой позиции во входных файлах BAM. Это может использоваться, например, для вызова SNP.
флагштат

Примеры

Посмотреть
просмотр samtools sample.bam > sample.sam

Преобразуйте файл BAM в файл SAM.

просмотр samtools -bS sample.sam > sample.bam

Преобразуйте файл sam в файл bam. В -b опция сжимает или оставляет сжатые входные данные.

просмотр samtools sample_sorted.bam "chr1: 10-13"

Извлеките все чтения, выровненные по указанному диапазону, то есть те, которые выровнены по ссылочному элементу с именем chr1 и покрывают его 10-ю, 11-ю, 12-ю или 13-ю базу. Результаты сохраняются в файл BAM, включая заголовок. Индекс входного файла необходим для извлечения чтений в соответствии с их положением на карте в эталонном геноме, созданным индекс samtools.

просмотр samtools -h -b sample_sorted.bam "chr1: 10-13"> tiny_sorted.bam

Извлеките те же чтения, что и выше, но вместо того, чтобы отображать их, записывает их в новый файл BAM, tiny_sorted.bam. В -b опция делает вывод сжатым и -час опция заставляет также выводить заголовки SAM. Эти заголовки включают описание ссылки, которая читается в sample_sorted.bam были согласованы и будут необходимы, если tiny_sorted.bam файл должен использоваться с некоторыми из более сложных команд SAMtools. Порядок извлеченных чтений сохраняется.

tview
samtools tview sample_sorted.bam

Запустите интерактивную программу просмотра, чтобы визуализировать небольшую область ссылки, считывания выровнены и несовпадения. В представлении можно перейти к новому местоположению, набрав g: и местоположение, например г: chr1: 10,000,000. Если имя ссылочного элемента и следующее за ним двоеточие заменено на {{{1}}}, используется текущий ссылочный элемент, т.е. если {{{1}}} вводится после предыдущей команды "goto", зритель переходит в область на 200 пар оснований вниз на chr1. Набор текста ? отображает справочную информацию о движении прокрутки, цветах, видах и т. д.

samtools tview -p chrM: 1 sample_chrM.bam UCSC_hg38.fa

Установите начальную позицию и сравните.

samtools tview -d T -p chrY: 10 000 000 sample_chrY.bam UCSC_hg38.fa >> save.txt
samtools tview -d H -p chrY: 10 000 000 sample_chrY.bam 'UCSC_hg38.fa >> save.html

Сохраните экран в формате .txt или .html.

Сортировать
samtools sort unsorted_in.bam разобрались

Прочтите указанные unsorted_in.bam как ввод, отсортируйте его по выровненной позиции чтения и запишите его в sorted_out.bam, bam-файл, имя которого (без расширения) было указано.

samtools sort -m 5000000 unsorted_in.bam разобрались

Прочтите указанные unsorted_in.bam в качестве ввода отсортируйте его по блокам до 5 миллионов килобайт (5 Гб) [TODO: проверьте единицы здесь, это могло быть неправильно] и записать вывод в серию файлов BAM с именами sorted_out.0000.bam, sorted_out.0001.bamи т. д., где все чтения bam 0 происходят до любого чтения bam 1 и т.д. [TODO: проверьте, что это правильно].

показатель
индекс samtools sorted.bam

Создает индексный файл, sorted.bam.bai для sorted.bam файл.

Смотрите также

использованная литература

  1. ^ http://sourceforge.net/mailarchive/forum.php?thread_name=2F0E69A8-A2DD-4D6E-9EDE-2A9C0506DA0F%40sanger.ac.uk&forum_name=samtools-devel
  2. ^ Ли, Х.; Handsaker, B .; Wysoker, A .; Fennell, T .; Ruan, J .; Гомер, Н .; Marth, G .; Абекасис, Г.; Дурбин, Р.; Подгруппа по обработке данных проекта «1000 геном» (2009 г.). "Формат выравнивания / карты последовательностей и SAMtools" (PDF). Биоинформатика. 25 (16): 2078–2079. Дои:10.1093 / биоинформатика / btp352. ЧВК  2723002. PMID  19505943.
  3. ^ IGV

внешние ссылки