Отчёт по практикуму 11

Ресеквенирование и поиск полиморфизмов у человека

Используем пайплайн, чтобы найти и охарактеризовать полиморфизмы в ридах пациента. Я работал с хромосомой 19.

Процесс работы

Основные этапы работы оформлены в виде сценариев для bash. Вот порядок команд, соответствующий изложению заданий (опущен этап копирования файлов сценариев):

Задействованные файлы:

Смысл основных команд описан в таблице 1.

Таблица 1. Команды, опции и их смысл
КомандаСмысл
hisat2-build chr19.fasta index/chr19.idxСоздаём индекс HISAT2 по файлу chr19.fasta в папке ./index/ с базовым именем chr19.idx.
fastqc $readsЗапускаем FastQC.
$trim SE -phred33 $reads ${trim_reads} TRAILING:20 MINLEN:50Триммирование: убираем с конца нуклеотиды с качеством прочтения ниже 20, а затем отбрасываем слишком короткие (в том числе укоротившиеся после предыдущей операции) чтения.
hisat2 --no-spliced-alignment --no-softclip -x $idx -U ${trim_reads} -S ${wdir}/map/chr19_aln.sam 2> ${wdir}/map/out.txtОсуществляем картирование, не допуская сплайсинга и софтклиппинга (обрезки концов не полностью лёгших ридов). Опцией -x предоставляем путь к индексу, также вывод (stderr) сохраняем в map/out.txt.
samtools view -b $samfile -o $bamfileПереводим файл .sam в бинарный формат.
samtools sort -o $sortedbam -O bam -T ./'sorttemp' $bamfileСортируем файл .bam, предоставляя samtools шаблон пути для временных файлов (-T).
samtools index $sortedbamИндексируем сортированный файл .bam.
samtools flagstat $sortedbam > ${flag_out}Собираем базовую статистику по картированию, альтернативную выводу HISAT2.
samtools faidx $refСоздаём короткую характеристику референнса в табличном виде (включает название, идентификатор, длину последовательности, номер первого нуклеотида — какой по счёту байт в файле, число нуклеотидов и байтов на строку).
samtools mpileup -u -f $ref $sortedbam -o $ref\.pile > snp_out.txt 2> snp_err.txtСоздаём .bcf файл с полиморфизмами, сохраняя вывод (stdout и stderr) в файлы. -f указывает, что референс был в формате fasta, -u — что вывод в .bcf, а не .vcf.
bcftools call -c -v -o $ref\.pile_indels.vcf $ref\.pileПереводим .bcf в .vcf с инделями. -c — берём только «консенсусные» SNP (редкие не будут учтены), -v — в вывод попадут только сами сайты SNP.
bcftools call -c -v -V indels -o $ref\.pile.vcf $ref\.pileТо же, без инделей (опция -V indels).
convert2annovar.pl -format vcf4 ${ref}.pile.vcf > ${ref}.avinputГотовим файл .vcf к применению annovar.
annotate_variation.pl -out $refg -build hg19 -dbtype refGene ${ref}.avinput ${avdir}/humandb.old/Эта и подобные команды — аннотация SNP по указанной базе. -out — опция для указания пути к файлу вывода с аннотацией,-build — опция для уточнения версии сборки генома человека, -dbtype — по какой базе аннотируем; далее указан путь к файлу с неаннотированными SNP и к папке с базой для аннотации.

По исходному отчёту FastQC смотрим число чтений в исходном файле (5524). На рис. 1 приведена оценка их качества.

качество до тримминга
Рисунок 1. Качество исходных ридов

После тримминга чтений осталось 5227 (отчёт). Длина в среднем сократилась незначительно (см. Sequence Length Distribution), а вот качество выросло (приведено на рис. 2). И отсечено, получается, было более 5 % чтений. Эта доля не выглядит пренебрежимо малой, поэтому триммирование представляется оправданным.

качество после тримминга
Рисунок 2. Качество после триммирования

Вывод программы картирования сообщает, что картировано 99,60 % чтений. Это практически все — напрашивается вывод, что чтения ложатся хорошо. Теперь рассмотрим подробнее файл .vcf с описанием полиморфизмов. Опишем три экземпляра из него (см. табл. 2).

Таблица 2. Характеристика трёх полиморфизмов
Номер примераКоординатаТипРеференсЧтенияПокрытиеКачество
117247439заменаGC42,762
217313178вставкаaaT78,4713
318304700заменаAG22236

Всего было 87 SNP и 6 инделей. Данные о распределении качества прочтений полиморфизмов и их покрытии получены с помощью Excel и приведены на рис. 3–4 (гистограммы).

качество полиморфизмов
Рисунок 3. Качество прочтения полиморфизмов
глубина
Рисунок 4. Глубина прочтения полиморфизмов

Более четверти полиморфизмов прочитаны с сомнительным качеством (ниже 20) и более трети имеют покрытие на уровне считанных единиц. Это говорит о в целом невысоком качестве выборки, хотя есть и хорошие высокопокрытые образцы (как второй и третий в таблице).

Для аннотации SNP без инделей была применена опция -V indels bcftools. (Файл .vcf с инделями больше не использовался). База данных refseq в annovar делит мои SNP на 3 группы: exonic (12 шт.), intronic (71 шт.), UTR3 (4 шт., соответствуют 3'–нетранслируемому участку). Это отражено в файле .variant_function. Гены, в которые попали полиморфизмы: MYO9B, MPV17L2, TOMM40 (указаны там же). "К каким нуклеотидным заменам привели SNP" — вопрос риторический, потому что сами SNP заменами и являются; тем не менее, ответ существует. Нуклеотидные замены в генах для UTR3 перечислены во всё том же файле, а в экзонах (вместе с аминокислотными заменами) — в файле .exonic_variant_function. Перечислим их все списком (префиксом c снабжаются нуклеотидные замены, префиксом p — аминокислотные; звёздочкой помечаются замены в нетранслируемом регионе):

Чтобы узнать, сколько SNP имеют rs, надо посмотреть на результат работы с базой snp138. В этом файле 77 строк, значит, столько SNP и имело rs. О частоте скажет база 1000genomes (второй столбец файла: числа лежат в диапазоне от 0,0002 до 0,7808; среднее 0,4213, медиана 0,5198). Клиническая аннотация — GWAS. (Аннотация.) По ней, имеется полиморфизм, ассоциированный с ростом, так же, как и полиморфизмы, связанные с рассеянным склерозом, метаболическим синдромом, сердечно-сосудистыми заболеваниями, долголетием, уровнем холестерина и болезнью Альцгеймера (вот про долголетие описано очень широко).

Практикум был очень длинным и запутанным, особенно в части с аннотацией по базам данных. Они лежали в разных папках, а одна из них (1000g2014oct_all) и вовсе должна была быть вызвана не совсем так, как оговорено (сказано про версию '1000g2014oct'). Тем не менее результаты есть, и это не может не радовать.