Документация

Описание представляет собой адаптированный перевод англоязычной документации. Рекомендуем в первую очередь обращаться к англоязычной версии.

MIGEC – программное обеспечение для исправление ошибок на основе уникального молекулярного баркодирования.

Исходный код и двоичные файлы VDJtools находятся по ссылке.

ФУНКЦИИ MIGEC

  1. Демультиплексирование, обрезка адаптеров, поиск перекрытий в ридах для данных NGS. Извлечение последовательностей UMI
  2. Сборка консенсусов для исходных молекул, поступивших в подготовку библиотеки, путем группировки прочтений с идентичными молекулярными идентификаторами.
  3. Картирование сегментов V, D и J, извлечение областей CDR3 и сборка клонотипов для всех иммунных рецепторов человека и мыши (TRA/TRB/TRG/TRD и IGH/IGL/IGK)
  4. Дополнительная фильтрация ошибок в последовательности CDR3
  5. Гибкая и простая обработка множества образцов
  6. В настоящее время поддерживаются все пары «вид-ген», имеющие последовательности зародышевой линии (на основе IMGT), позволяющие идентифицировать CDR3
Species Gene
HomoSapiens TRA, TRB, TRG, TRD, IGL, IGK, IGH
MusMusculus TRB, TRG, TRD, IGL, IGK, IGH
MacacaMulatta TRB, IGK, IGH
OryctolagusCuniculus IGL, IGK, IGH
RattusNorvegicus IGL, IGH
CanisLupusFamiliaris TRB, TRG
SusScrofa IGL, IGK
BosTaurus TRD
MusSpretus IGL
GallusGallus TRB
AnasPlatyrhynchos TRB

Установка и запуск

MIGEC написан на Groovy (языке сценариев Java) и распространяется в виде исполняемого JAR-файла. Чтобы установить его, получите последнюю версию JRE и загрузите исполняемый файл из раздела релизов.

Чтобы запустить определенную команду MIGEC, скажем, Checkout, выполните

java -jar MIGEC-$VERSION.jar Checkout [arguments ].

Где $VERSION означает версию MIGEC (например, 1.2.1). Далее это обозначение опускается в документации MIGEC.

Для просмотра списка доступных команд выполните:

java -jar MIGEC-$VERSION.jar -h .

Также вы можете загрузить репозиторий и скомпилировать его из исходного кода с помощью Maven. Требуется Maven версии 3.0.

git clone https://github.com/mikessh/MIGEC.git

cd MIGEC/

mvn clean install

java -jar target/MIGEC-$VERSION.jar

Это должно показать вам список доступных команд MIGEC.

Запуск команд

Все процедуры в MIGEC доступны для работы с единичными образцами и группами образцов. Варианты команд, предназначенные для автоматической обработки нескольких входных образцов используют минимальное количество скриптов между этапами анализа. Это рекомендуемый способ использования MIGEC.

Список команд MIGEC для обработки нескольких образцов:

Если файл «barcodes» написан правильно, всю анализ можно произвести следующим образом:

MIGEC="java -Xmx8G -jar MIGEC-$VERSION.jar"

$MIGEC CheckoutBatch -cu barcodes.txt checkout/

$MIGEC Histogram checkout/ histogram/

$MIGEC AssembleBatch -c checkout/ histogram/ assemble/

$MIGEC CdrBlastBatch -R TRB checkout/ assemble/ cdrblast/

$MIGEC FilterCdrBlastResultsBatch cdrblast/ cdrfinal/

Обработка единичных файлов

Пример работы с IGH библиотекой, отсеквенированной на MiSeq в режиме парных прочтений длиной 300 пар нуклеотидов, на Unix-сервере с 16 ГБ RAM. Такая длина прочтений при секвенировании обеспечивает полное секвенирование IGH, таким образом, что концы ридов перекрываются. Сначала необходимо создать файл barcodes.txt, содержащий последовательности адаптеров; рекомендации см. в разделе ниже. Затем, предполагая, что соответствующие файлы FASTQ — это IGH_SAMPLE_R1.fastq.gz и IGH_SAMPLE_R2.fastq.gz, адаптер, содержащий UMI- и мультиплексный индекс, находится рядом с 5'UTR сегмента V и установлен NCBI-BLAST+, запустите все 6 команд следующим образом:

$MIGEC Checkout -cute --overlap barcodes.txt IGH_S1-10_R1.fastq.gz IGH_S1-10_R2.fastq.gz checkout/

$MIGEC Histogram checkout/ histogram/

$MIGEC Assemble -c --mask 0:0 checkout/S1_R12.fastq.gz . assembly/

$MIGEC CdrBlast -R IGH checkout/S1_R12.fastq.gz cdrblast/S1_raw.txt

$MIGEC CdrBlast -a -R IGH assembly/S1_R12.fastq.gz cdrblast/S1_asm.txt

$MIGEC FilterCdrBlastResults cdrblast/S1_asm.txt cdrblast/S1_raw.txt cdrfinal/S1.txt

Примечание

Поскольку точка (.) зарезервирована MIGEC для указания пустых полей метаданных и неиспользуемых аргументов, используйте ./, если вы хотите указать путь к текущей директории.

Анализ прочтений, покрывающих всю последовательность иммуноглобулина

MIGEC можно использовать в качестве инструмента предварительной обработки для получения полноценных консенсусов для дальнейшего пост-анализа с помощью инструмента HIgBlast. Обратите внимание, что из-за типичного низкого качества считываний MiSEQ 300+300bp режим --overlap команды Checkout не гарантирует хорошей работы. Вместо этого мы рекомендуем сначала собрать консенсусы, а затем выполнять перекрытие с использованием внешних инструментов. Например, команду merge MiTools можно использовать с опцией --same-strand, последняя имеет решающее значение, поскольку собранные консенсусы находятся на одной и той же цепи в отличие от обычной ориентации прочтений Illumina.

Качество консенсуса и эффективность перекрытий можно значительно улучшить, используя опцию --only-first-read команд Histogram и Assemble. Если этот параметр установлен, он предписывает процедурам использовать только первое чтение, качество которого обычно выше второго. Это применимо к неориентированным чтениям и лучше работает для дизайна асимметричного секвенирования, например 400+200bp.

Демультиплексирование

Команда Checkout-batch

Описание

Команда предназначена для выполнения демультиплексирования и извлечения UMI из файлов FASTQ, которые ранее были разделены с использованием индексов Illumina.

Использование

java -jar migec.jar CheckoutBatch [options] barcodes_file output_dir barcodes_file определяет правила мультиплексирования образцов и извлечения UMI. Он имеет следующую структуру.

Sample ID Master barcode sequence Slave barcode sequence Read#1 FASTQ Read#2 FASTQ
S0 acgtacgtAGGTTAcadkgag
S1 acgtacgtGGTTAAcadkgag ctgkGTTCaat ILM1_R1_L001.fastq.gz ILM1_R2_L001.fastq.gz
S2 acgtacgtAAGGTTcadkgagNNNNNN ILM2_R1_L001.fastq.gz ILM2_R2_L001.fastq.gz
S3 acgtacgtTAAGGTcadkgagNNNNNN NNNNNNctgkGTTCaat ILM1_R1_L001.fastq.gz ILM1_R2_L001.fastq.gz

Применяются следующие правила:

Параметры

Те же, что и в Checkout-manual, см. ниже.

Формат выходных данных

Команда Checkout создает файлы в формате FASTQ, к заголовку которых добавляется поле с экстрагированными UMI. Каждое прочтение, успешно обработанное Checkout, будет выведено следующим образом:

@ILLUMINA_HEADER UMI:NNNN:QQQQ

АТАГАТТАТГАГТАТГ

+

##II#IIIIIIIIIIII

Исходный заголовок прочтения ( ILLUMINA_HEADER) сохраняется, добавленный UMI:NNNN:QQQQ содержит последовательность тега UMI (основания NNNN) и его строку качества ( QQQQ).

Checkout-manual

Описание

Команда выполняет демультиплексирование и извлечение UMI.

Использование

java -jar migec.jar Checkout [options] barcodes_file R1.fastq[.gz] [. or R2.fastq[.gz]] output_dir

Для парных прочтений:

java -jar migec.jar Checkout -cute barcodes.txt R1.fastq.gz R2.fastq.gz ./checkout/

Для непарной библиотеки:

java -jar migec.jar Checkout -cute barcodes.txt R.fastq.gz . ./checkout/

Для перекрывающихся парных ридов:

java -jar migec.jar Checkout -cute --overlap barcodes.txt R1.fastq.gz R2.fastq.gz . checkout/

barcodes.txt представляет собой таблицу, разделенную табуляцией, и имеющую следующую структуру:

Sample ID Master barcode sequence Slave barcode sequence
S0 acgtacgtAGGTTAcadkgag
S1 acgtacgtGGTTAAcadkgag ctgkGTTCaat
S2 acgtacgtAAGGTTcadkgagNNNNNN
S3 acgtacgtTAAGGTcadkgagNNNNNN NNNNNNctgkGTTCaat

Рид сканируется на наличие главного адаптера (Master barcode sequence), а затем, если он обнаружен, сканируется на наличие подчиненного адаптера (Slave barcode sequence).

Например, в случае S2 Checkout будет искать точное совпадение с AAGGTT, затем оставшуюся последовательность адаптера с двумя разрешенными несовпадениями и выводить регион NNNNNN в заголовок. В случае S3, в дополнение к поиску в подчиненном адаптере наличия GTTC, выполняется нечеткое сопоставление с остальной частью баркода, а область NNNNNN извлекается и объединяется с областью UMI основного рида.

Параметры

-c сжатие gzip.

-u выполнить извлечение региона UMI и вывести его в заголовок демультиплексированных файлов FASTQ.

-t обрезать последовательность адаптера из вывода.

-e также удалить следы template-switching (poly-G) в случае, когда адаптер, содержащий UMI, добавляется с использованием обратной транскрипции (библиотеки кДНК).

--overlap попытается найти перекрытия в ридах (только для парных прочтений), неперекрывающиеся и перекрывающиеся риды будут помещены в файлы *_R1/_R2* и *_R12* FASTQ соответственно. При перекрытии будет взят нуклеотид более высокого качества, чтобы улучшить общее качество данных.

--overlap-max-offset X управляет степенью поиска перекрывающейся области. ВАЖНО. Если глубина библиотеки очень большая, следует установить значение ~40.

Поиск по баркоду:

-o позволяет ускорить вычисления, предполагая, что чтение ориентировано, т. е. главный адаптер должен находиться в R1

-r применить пользовательский шаблон RC. По умолчанию предполагается, что риды Illumina являются комплементарными, поэтому выполняется обратное дополнение чтения с помощью подчиненного адаптера, так что выходные риды будут на главной цепи.

--rc-barcodes также ищет обе адаптерные последовательности в обратном дополнении. Используйте его, если не уверены в структуре вашей библиотеки.

--skip-undef не будет сохранять риды, в которых нет последовательности адаптера, чтобы сэкономить место на диске.

MIG statistics

Описание

Команда для генерации статистики консенсусного покрытия, то есть распределения размеров групп молекулярных идентификаторов (MIG).

Использование

java -jar migec.jar Histogram checkout/ histogram/

Запуск этой команды создаст несколько файлов в папке histogram/, один из которых важен для базовой обработки данных — overseq.txt. Заголовок таблицы содержит размеры MIG (в масштабе log2), а каждая строка соответствует демультиплексированной выборке и содержит количество чтений в MIG заданного размера (кумулятивная численность).

Consensus assembly

Assemble-batch

Описание

Скрипт для выполнения сборки с помощью UMI.

Использование

java -jar migec.jar AssembleBatch [options] checkout_output_folder/ histogram_output_folder/ output_folder/

Выполняет сборку всех файлов FASTQ, созданных командой checkout, все параметры сборки устанавливаются в соответствии с результатами работы команды histogram.

Assemble-manual

Описание

Команда для выполнения сборки с помощью UMI.

Использование

java -jar migec.jar Assemble [options] R1.fastq[.gz] [. or R2.fastq[.gz]] output_folder.

Непарные и перекрывающиеся FASTQ:

java -jar migec.jar Assemble -c checkout/S1_R0.fastq.gz . assembly/

Парные FASTQ:

java -jar migec.jar Assemble -c checkout/S1_R1.fastq.gz checkout/S1_R2.fastq.gz ./assembly/

Парные FASTQ, требующий сборки только вторых прочтений:

java -jar migec.jar Assemble -c --mask 0:1 checkout/S1_R1.fastq.gz checkout/S1_R2.fastq.gz assembly/

CdrBlast-batch

Описание

Команда для извлечения последовательностей CDR3. Будет правильно комбинировать чтения, полученные из парных и перекрывающихся прочтений, и выполнять анализ как необработанных, так и собранных данных.

Использование

java -jar migec.jar CdrBlastBatch [options] -R gene [checkout_output_folder/ or .] [assemble_output_folder/ or .] output_folder

Выполняет извлечение CDR3 и определение сегмента V/J как для необработанных (выходные данные Checkout), так и для собранных данных. Параметр -R является обязательным, если не предоставлены метаданные ( --sample-metadata), указывающие ген для каждого образца; поддерживаемые гены: TRA, TRB, TRG, TRD, IGH, IGK и IGL. Если не указаны assembly_output_folder или checkout_output_folder, обработка будет выполняться только для оставшихся входных данных, это полезно, например. если хочется быстро обработать собранные данные. В противном случае будут использоваться только сэмплы и типы файлов (парные, перекрывающиеся или одиночные), которые присутствуют в обоих выходных файлах. Обработка как необработанных, так и собранных данных необходима для исправления ошибок второго этапа.

CdrBlast-manual

Команда для извлечения последовательностей CDR3

Использование

java -jar migec.jar CdrBlast [options] -R gene file1.fastq[.gz] [file2.fastq[.gz] ...] output_file

Пример библиотеки, содержащей последовательности альфа-цепи Т-клеточного рецептора.

в случае данных, собранных по MIG:

java -jar migec.jar CdrBlast -a -R TRA assembly/S1_R2.fastq.gz cdrblast/S1_asm.cdrblast.txt

Для сырых данных

java -jar migec.jar CdrBlast -R TRA checkout/S1_R2.fastq.gz cdrblast/S1_raw.cdrblast.txt

для объединения и обработки двух или более файлов FASTQ одновременно:

java -jar migec.jar CdrBlast -R TRA checkout/S1_R2.fastq.gz checkout/S2_R2.fastq.gz cdrblast/S12_raw.cdrblast.txt