SAMtools - SAMtools
Оригинальный автор (ы) | Хэн Ли |
---|---|
Разработчики) | Джон Маршалл, Петр Данечек и др. [1] |
изначальный выпуск | 2009 |
Стабильный выпуск | 1.10 / 6 декабря 2019 г. |
Репозиторий | |
Написано в | C |
Операционная система | Unix-подобный |
Тип | Биоинформатика |
Лицензия | BSD, Массачусетский технологический институт |
Интернет сайт | www |
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 файл.
Смотрите также
использованная литература
- ^ http://sourceforge.net/mailarchive/forum.php?thread_name=2F0E69A8-A2DD-4D6E-9EDE-2A9C0506DA0F%40sanger.ac.uk&forum_name=samtools-devel
- ^ Ли, Х.; Handsaker, B .; Wysoker, A .; Fennell, T .; Ruan, J .; Гомер, Н .; Marth, G .; Абекасис, Г.; Дурбин, Р.; Подгруппа по обработке данных проекта «1000 геном» (2009 г.). "Формат выравнивания / карты последовательностей и SAMtools" (PDF). Биоинформатика. 25 (16): 2078–2079. Дои:10.1093 / биоинформатика / btp352. ЧВК 2723002. PMID 19505943.
- ^ IGV
внешние ссылки
- Домашняя страница проекта SAMtools
- Команды SAMtools
- Страница Wiki в SeqAnswers для программного обеспечения SAMtools (заглушка от 26 февраля 2012 г.) неработающей ссылке
- Математические заметки по алгоритмам SAMtools от его основного автора
- Краткое, несколько специализированное руководство по SAMtools от EMBL. неработающей ссылке