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

Вернуться на страницу семестра

Задача: Найти и описать полиморфизмы у пациента

Часть I: подготовка чтений

0. Создание рабочей директории.
В директории /nfs/srv/databases/ngs/ создана директория e.mironova, в неё скопированы файлы с ридами (chr21.fastq) и хромосомой (chr21.fasta). Подробнее о формате fastq - это тот же fasta формат, но в нём используются дополнительные символы, которые говорят о качестве прочтения и степени, с которой можно доверять каждому отдельному нуклеотиду.

Рис.1. Пересчёт качества в вероятность ошибки


1. Анализ качества чтений.
Контроль качества чтений с помощью программы FastQC. На выходе получена html страница с отчётом. Пример выдачи этой программы вы можете увидеть в пункте 2. Для лучшего понимания происходящего - картинка ниже.

Рис.2. Ящик с усами / диаграмма размахов / boxplot (жёлтый прямоугольник на картинке выдачи FastQC)



Дополнительное объяснение: желтый прямоугольник - интерквартальный размах (разница между верхней и нижней квартилями качества). Это диапазон значений качества, при котором 25% ридов на данной позиции имет качество выше нижней границы и 25% меньше верхней, то есть половина ридов на данном нуклеодите имеет качество, которое попадает в данный отрезок. Красная линия это медиана, синяя - среднее качество чтений.

2. Очистка чтений
Очистку чтений проведём с помощью программы Trimmomatic. С конца каждого чтения удалены нуклеотиды с качеством ниже 20, затем оставлены только чтения длиной не меньше 50 нуклеотидов. Использовалась программа, установленная на kodomo, команду можно увидеть в таблице ниже. Программа выдала, что из 8158 ридов осталось 7858 (96,32%) и 300 (3,68%) были откинуты. Для полученного улучшенного fastq файла снова была проведена проверка качества чтения и получена html страница. Итог и сравнение качества двух fastq файлов можно увидеть ниже.

Рис. 1. Контроль качества ридов до триммингаРис. 2. Контроль после тримминга
После тримминга (удаления «плохих» фрагментов чтений) мы видим, что все интерквантильные размахи качества позиций в ридах теперь в зелёной области (самый доверительный интервал). Можно бы было сказать так не только о интерквантильном размахе, но и вообще о значениях качества, если бы минимум качества в последней позиции не ушёл в жёлтую область, но остальные минимумы качества заметно выросли, конечно же, следом выросло и среднее значение - синяя линяя заметно поднялась. В некоторых позициях интерквантильные размахи уменьшились, но их уменьшения связано с поднятием нижней квартили, а не падением верхней, что также говорит об увеличении общего качества ридов.

Часть II: картирование чтений

3. Картирование чтений
Откартировать очищенные чтения с помощью программы Hisat2.
Этапы:
Сначала необходимо проиндексировать референсную последовательность; команда hisat2-build

Некоторые параметры hisat2:
-х – путь к индексу
-U – путь к чтениям
--no-softclip – запрет подрезания чтений
--no-spliced-alignment – картирование без разрывов

Затем построить выравнивание прочтений и референса в формате .sam. Запустите hisat2 с параметрами --no-spliced-alignment и --no-softclip
Сохранить вывод программы hisat2 в отдельный файл (вывод можно увидеть ниже)

7858 reads; of these: 7858 (100.00%) were unpaired; of these: 47 (0.60%) aligned 0 times 7808 (99.36%) aligned exactly 1 time 3 (0.04%) aligned >1 times 99.40% overall alignment rate

4. Анализ выравнивания
Переведите выравнивание чтений с референсом в бинарный формат .bam. Используйте пакет samtools, команда view: samtools view; Руководство по samtools.
Отсортируйте выравнивание чтений с референсом (получившийся после картирования .bam файл) по координате в референсе начала чтения; команда samtools sort;
Проиндексируйте отсортированный .bam файл командой samtools index
Выясните, сколько чтений откартировано на геном; загляните в вывод программы Hisat2. Видим, что 47 ридов не откартировано, 7808 встретились 1 раз, а 3 больше 1 раза.
В .sam файле также можно увидеть:
SRR2776256.15395984 – ID чтения
chr12 9822304 - хромосома и координата, куда «легло» чтение
100M – СIGAR: сжато кодирует информацию о выравнивании чтения
NM:i – расстояние до генома
NH:I – количество картирований для данного чтения

Часть III: Анализ SNP

5. Поиск SNP (single nucleotide polymorphism - однонуклеотидный полиморфизм) и инделей.
Создайте файл с полиморфизмами в формате .bcf; команда samtools mpileup -uf.

[mpileup] 1 samples in 1 input files Set max per-file depth to 8000

Создайте файл со списком отличий между референсом и чтениями в формате .vcf. Используйте команду "bcftools call -cv" пакета bcftools.

Таблица 1. Три полиморфизма из .vcf файла

КоординатаТип полиморфизмаРеференсРидыГлубина покрытия данного места (сколько чтений пересекло конкретную позицию)Качество чтений в данном месте
45397408ДелецияCTGTGTCTGT831.4691
45398160ВставкаgttgttttgttttgttttgTTGTTttgttttgttttgtttt1455.4663
16334963ЗаменаTG150225.009

6. Аннотация SNP
Для работы с программой annovar из .vcf файла необходимо получить файл, с которым умеет работать эта программа. Сделать это можно с помощью скрипта convert2annovar.pl.

NOTICE: Finished reading 148 lines from VCF file NOTICE: A total of 116 locus in VCF file passed QC threshold, representing 110 SNPs (70 transitions and 40 transversions) and 8 indels/substitutions NOTICE: Finished writing 110 SNP genotypes (70 transitions and 40 transversions) and 6 indels/substitutions for 1 sample

Было найдено 110 snp и 6 инделей.
С помощью программы annovar проаннотируйте только полученные snp (индели не надо!). Используйте базы данных: refgene, dbsnp, 1000 genomes, GWAS, Clinvar.
узнать, какие из Ваших snp имеют rs, можно с помощью команды
annotate_variation.pl -filter -out outputfile -build hg19 -dbtype snp138 inputfile.human humandb/

где inputfile.human — входной файл, полученный после обработки .vcf с помощью convert2annovar.pl (расширение не имеет значения); outputfile — выходной файл; humandb/ — директория, в которой лежат базы данных (все необходимые базы данных уже есть на kodomo, пользоваться опцией -downdb не надо!); snp138 — база данных, с которой вы работаете. Базы данных в annovar часто обновляются, для корректного запуска программы всегда нужно знать, какая версия какой базы данных у Вас скачена. Для вас: refgene — refGene; dbsnp — snp138; 1000 genomes — 1000g2014oct; GWAS — gwasCatalog; Clinvar — clinvar_20150629. В Annovar существуют 3 типа аннотаций по базам данных, основанных на: генной разметке (gene-based annotation); разметке других регионов генома (region-based annotation); фильтрации (filter-based annotation). Команды, с помощью которых можно проаннотировать полиморфизмы по необходимым базам данных есть в итоговой таблице ниже.
Вывод программы для аннотации по refgene NOTICE: The --geneanno operation is set to ON by default NOTICE: Reading gene annotation from /nfs/srv/databases/annovar/humandb/hg19_refGene.txt ... Done with 50914 transcripts (including 11516 without coding sequence annotation) for 26271 unique genes NOTICE: Reading FASTA sequences from /nfs/srv/databases/annovar/humandb/hg19_refGeneMrna.fa ... Done with 4 sequences WARNING: A total of 345 sequences will be ignored due to lack of correct ORF annotation NOTICE: Finished gene-based annotation on 110 genetic variants in polymorf.annovar NOTICE: Output files were written to poly_refgene.variant_function, poly_refgene.exonic_variant_function
Вывод программы для аннотации по dbsnp NOTICE: Variants matching filtering criteria are written to poly_dbsnp.hg19_snp138_dropped, other variants are written to poly_dbsnp.hg19_snp138_filtered NOTICE: Processing next batch with 110 unique variants in 110 input lines NOTICE: Database index loaded. Total number of bins is 2894320 and the number of bins to be scanned is 75 NOTICE: Scanning filter database /nfs/srv/databases/annovar/humandb/hg19_snp138.txt...Done
Вывод программы для аннотации по 1000 genomes NOTICE: Variants matching filtering criteria are written to poly_1000g.hg19_ALL.sites.2014_10_dropped, other variants are written to poly_1000g.hg19_ALL.sites.2014_10_filtered NOTICE: Processing next batch with 110 unique variants in 110 input lines NOTICE: Database index loaded. Total number of bins is 2824642 and the number of bins to be scanned is 75 NOTICE: Scanning filter database /nfs/srv/databases/annovar/humandb/hg19_ALL.sites.2014_10.txt...Done
Вывод программы для аннотации по GWAS NOTICE: Reading annotation database /nfs/srv/databases/annovar/humandb/hg19_gwasCatalog.txt ... Done with 18027 regions NOTICE: Finished region-based annotation on 110 genetic variants in polymorf.annovar NOTICE: Output file is written to poly_gwas.hg19_gwasCatalog
Вывод программы для аннотации по Clinvar NOTICE: the --dbtype clinvar_20150629 is assumed to be in generic ANNOVAR database format NOTICE: Variants matching filtering criteria are written to poly_clinvar.hg19_clinvar_20150629_dropped, other variants are written to poly_clinvar.hg19_clinvar_20150629_filtered NOTICE: Processing next batch with 110 unique variants in 110 input lines NOTICE: Database index loaded. Total number of bins is 49139 and the number of bins to be scanned is 2 NOTICE: Scanning filter database /nfs/srv/databases/annovar/humandb/hg19_clinvar_20150629.txt...Done

Таблица 2. Команды, выполненные в течение практикума

КомандраФункцияВыходные файлы
1. Анализ качества чтений
fastqc chr21.fastq (аналогично для imp_chr21.fastq)Вызов программы FastQC, которая контролирует качество чтенийchr21_fastqc.html chr21_fastqc.zip (отчет о программе в виде html файла)
2. Очистка чтений
java -jar /usr/share/java/trimmomatic.jar SE -phred33 chr21.fastq impr_chr21.fastq TRAILING:20 MINLEN:50Запускает программу Trimmomatic. Отрезать с конца каждого чтения нуклеотиды с качеством ниже 20, оставьте чтения длиной не меньше 50 нуклеотидов.impr_chr21.fastq
3. Картирование чтений
export PATH=${PATH}:/home/students/y06/anastaisha_w/hisat2-2.0.5Пакет программ, которые в данной папке, теперь доступны к вызову в putty-
hisat2-build chr21.fasta chr21Индексирует референсную последовательностьИндексированный chr21.fasta
hisat2 --no-spliced-alignment --no-softclip -x chr21 -U impr_chr21.fastq -S result.samВыравнивание референсной последовательности и ридов после триммингаresult.sam
4. Анализ выравнивания
samtools view result.sam -b -o result.bamПеревод выравнивания чтений с референсом в бинарный формат .bamresult.bam
samtools sort result.bam -T a.txt -o sort_result.bamСортировка выравнивания ридов с референсом (.bam файл) по координате в референсе начала чтенияsort_result.bam
samtools index sort_result.bamИндексировать отсортированный .bam файлИндексированный sort_result.bam
5. Поиск SNP и инделей
samtools mpileup -uf chr21.fasta sort_result.bam --output polymorf.bcfСоздать файл с полиморфизмамиБинарный файл polymorf.bcf, который содержит информацию об отличиях исследуемого образца от референса
bcftools call -cv polymorf.bcf -o polymorf.vcfПеревод файла с полиморфизмами из формата bcf в vcfpolymorf.vcf
6. Аннотация SNP
perl /nfs/srv/databases/annovar/convert2annovar.pl -format vcf4 polymorf.vcf > polymorf.annovarПолучен файл, с которым умеет работать программа annovar (чтобы работать с SNP, нужно вручную удалить индели из файла)polymorf.annovar
perl /nfs/srv/databases/annovar/annotate_variation.pl -out poly_refgene -build hg19 polymorf.annovar /nfs/srv/databases/annovar/humandb/Аннотация snp по базе данных refgenepoly_refgene.variant_function, poly_refgene.exonic_variant_function
perl /nfs/srv/databases/annovar/annotate_variation.pl -filter -out poly_dbsnp -build hg19 -dbtype snp138 polymorf.annovar /nfs/srv/databases/annovar/humandb/Аннотация snp по базе данных dbsnp (snp138)poly_dbsnp.hg19_snp138_dropped poly_dbsnp.hg19_snp138_filtered
perl /nfs/srv/databases/annovar/annotate_variation.pl -filter -dbtype 1000g2014oct_all -out poly_1000g -buildver hg19 polymorf.annovar /nfs/srv/databases/annovar/humandb/Аннотация snp по базе данных 1000 genomespoly_1000g.hg19_ALL.sites.2014_10_dropped, poly_1000g.hg19_ALL.sites.2014_10_filtered
perl /nfs/srv/databases/annovar/annotate_variation.pl -regionanno -dbtype gwasCatalog -out poly_gwas -build hg19 polymorf.annovar /nfs/srv/databases/annovar/humandb/Аннотация snp по базе данных GWASpoly_gwas.hg19_gwasCatalog
perl /nfs/srv/databases/annovar/annotate_variation.pl -filter -out poly_clinvar -dbtype clinvar_20150629 -buildver hg19 polymorf.annovar /nfs/srv/databases/annovar/humandb/Аннотация snp по базе данных Clinvarpoly_clinvar.hg19_clinvar_20150629_dropped, poly_clinvar.hg19_clinvar_20150629_filtered


В отчете укажите:
команды
описание трех полиморфизмов из .vcf файла
cколько snp и сколько инделей Вы получили?
Хорошее ли покрытие и качество у найденных полиморфизмов?
О покрытии и качестве полиморфизмов можно судить по таблице 6. Мы видим, что более, чем у половины (62 nps) плохое покрытие - < 5, у 38 nps глубина покрытия больше или равна 10, максимальное покрытие - 150. У 37 snp качество меньше 28 (красная область в программе FastQC). У 29 - качество очень хорошее - больше 100.
На какие категории делит snp база данных refseq в annovar? Сколько snp у Вас попало в каждую группу?

Таблица 3. Категории refseq в annovar

Обозначение Количество Значение
exonic 4 Экзонные SNP
splicing 0 SNP сайтов сплайсинга
ncRNA 0 SNP в генах некодирующих РНК
UTR5 0 SNP в области 5' нетранслируемых областей
UTR3 9 SNP в области 3' нетранслируемых областей
intronic 96 интронные SNP
upstream 1 SNP находится в области 1 kb до сайта начала транскрипции
downstream 0 SNP находится в области 1 kb до сайта начала транскрипции
intergenic 0 SNP расположены в межгенных областях

В какие гены попали Ваши snp? Гены, можно увидеть в таблице 6: NRIP1, UBASH3A, AGPAT3.

К каким нуклеотидным и аминокислотным заменам привели snp?
Это можно увидеть в аннотации по RefGene, таблица приведена ниже.

Таблица 4. Замены аминокислот

СинонимичностьГенКоординатаРеференсРидЗамена
ДаNRIP116340289CTНет. Остался глицин
НетUBASH3A43824106AGСерин -> Глицин
ДаUBASH3A43824123GCНет. Остался серин
ДаUBASH3A43863521AGНет. Остался пролин

Сколько snp имеет rs? В аннотации по банку dbsnp (snp138) можно увидеть, что всего 67 snp имеют rs.

Что Вы можете сказать о частоте найденных snp? См. таблицу 6. Частота встречаемости находится в интервале от 0,01 до 0,8 (но для одного нуклеотида она равна 1).

Что Вы можете сказать о клинической аннотации snp? Базы GWAS, Clinvar предоставляют клиническое описание SNP. Поиск по Clinvar не дал результатов, результат по GWAS:

Таблица 5. Клиническая аннотация

ЗаболеваниеКоординатаРеференсРидГетеро-/ГомозиготаКачество
Name=Cognitive performance16340289CThet225.009
Name=Type 1 diabetes43836390AGhom137.009
Name=Phospholipid levels (plasma)45404338AGhet35.0083


Составьте сводную таблицу, в которую бы вошли все snp и их характеристики по использованным для аннотации базам данных. По желанию можно выделить и/или описать наиболее интересные на Ваш взгляд полиморфизмы.

Таблица 6. Информация о snp, собранная с ПОЧТИ ВСЕХ аннотаций

КоординатаРеференсРидГетеро-/ГомозиготаКачествоГлубина Располежен (refgene)Ген (refgene)rs (dbsnp)Встречаемость (1000genome)
16334658CThet212.00932UTR3NRIP1(NM_003489:c.*2379G>A)rs10569470.159345
16334963TGhet225.009150UTR3NRIP1(NM_003489:c.*2074A>C)rs28229880.321486
16335402CThet42.007324UTR3NRIP1(NM_003489:c.*1635G>A)rs21424500.148562
16335515CThet225.00954UTR3NRIP1(NM_003489:c.*1522G>A)rs10414030.316693
16336647AThet28.01376UTR3NRIP1(NM_003489:c.*390T>A)
16336804TChom221.99962UTR3NRIP1(NM_003489:c.*233A>G)rs10569300.772364
16340289CThet225.00960exonicNRIP1rs22297410.599441
16359397CThom37.76522intronicNRIP1
16379074CAhom43.76472intronicNRIP1
16396991AGhom37.76522intronicNRIP1rs96366120.590455
16403246GAhom39.7652intronicNRIP1rs62220722
16403296GAhom35.76562intronicNRIP1rs4817585
16405589AGhom39.7652intronicNRIP1rs72790870.199281
16418176CThom26.77352intronicNRIP1rs99790820.132788
16432068TChom41.76482intronicNRIP1rs130524540.219249
43823968CThet13.218810upstreamUBASH3A
43824106AGhet210.00916exonicUBASH3Ars22777980.545327
43824123GChet225.0124exonicUBASH3Ars22777990.39976
43824193GAhet215.00924intronicUBASH3Ars119092290.0517173
43826112CThom17.83632intronicUBASH3Ars562680470.00998403
43826344CThom197.97420intronicUBASH3Ars37469230.429313
43826391TChom221.99932intronicUBASH3Ars37469240.466254
43826618CThet128.00826intronicUBASH3Ars37469250.169529
43827270CAhom84.51344intronicUBASH3A
43829758GAhom221.99932intronicUBASH3Ars117023740.403754
43829832AChet7.7956310intronicUBASH3A
43829895CGhet17.09246intronicUBASH3A
43830958AThet4.128484intronicUBASH3A
43831151GAhom117.5144intronicUBASH3Ars130477350.189497
43832844GThet26.01776intronicUBASH3A
43832856GChom142.00710intronicUBASH3Ars37613770.202276
43832918TChom171.99818intronicUBASH3Ars37613780.403355
43836251CAhom23.78252intronicUBASH3A
43836390AGhom137.00934intronicUBASH3Ars99767670.409145
43836835GAhom126.1336intronicUBASH3Ars19779520.209465
43838403TAhom221.99946intronicUBASH3Ars99746600.210463
43846956TGhom177.99824intronicUBASH3Ars28395100.184704
43847011GThet16.114310intronicUBASH3A
43852015TChet33.01054intronicUBASH3Ars739056590.13758
43852037TChet128.00910intronicUBASH3Ars124829470.536142
43855180TAhet4.7687512intronicUBASH3A
43859064CThom43.76472intronicUBASH3Ars28395140.560703
43860659AGhom29153372intronicUBASH3Ars28395150.526957
43862466GAhet225.00954intronicUBASH3Ars22543680.496206
43863247TChet4.7687510intronicUBASH3Ars171149450.0397364
43863293TChet9.5208812intronicUBASH3Ars171149460.0155751
43863521AGhet200.00926exonicUBASH3Ars8680920.616813
43864519GAhet125.00824intronicUBASH3Ars49201040.487021
43865046GAhom15.87792intronicUBASH3A
43865590CGhom43.76472intronicUBASH3Ars37880150.166733
43867059CThet225.00936intronicUBASH3Ars38272320.245008
45289508GAhom41.76482intronicAGPAT3
45289542GThom37.76522intronicAGPAT3
45294162TChom43.76472intronicAGPAT3rs81337890.81869
45299029GAhom41.76482intronicAGPAT3
45302889GAhom39.7652intronicAGPAT3
45309646CGhom35.76562intronicAGPAT3
45317365AGhet54.007212intronicAGPAT3rs65183350.810903
45319619CThom23.78252intronicAGPAT3rs20705410.400559
45323989GChet22.03418intronicAGPAT3
45324137AGhom3.981312intronicAGPAT3
45325916GThom35.76564intronicAGPAT3rs28384290.389177
45339066AGhom43.76472intronicAGPAT3rs4208261
45340268GAhom15.87792intronicAGPAT3
45342711GThom30.7682intronicAGPAT3
45344373CAhom35.76562intronicAGPAT3
45345133GThom29153372intronicAGPAT3
45348068GThom29153372intronicAGPAT3
45349756GAhom23.78252intronicAGPAT3rs28384390.776957
45349784AGhom24.77882intronicAGPAT3rs20705470.775958
45354316CThom41.76482intronicAGPAT3
45354744GAhom37.76522intronicAGPAT3rs18885250.76278
45354997GThet9.520886intronicAGPAT3
45356073TGhom35.76562intronicAGPAT3rs93061650.775958
45356183AGhom28.77012intronicAGPAT3rs93061660.762979
45356294GAhet4.128486intronicAGPAT3
45356761CAhom30.7682intronicAGPAT3
45360045GAhet149.00840intronicAGPAT3rs99815540.0339457
45361117AChom3.981312intronicAGPAT3
45363892CAhet15.14174intronicAGPAT3
45364210GChom30.7682intronicAGPAT3rs739066780.033746
45366893AGhet17.09246intronicAGPAT3rs119114860.459864
45372453GChom3.981312intronicAGPAT3
45373020AGhom28.77012intronicAGPAT3rs99743260.395966
45373499GChom43.76472intronicAGPAT3
45373938GThom39.7652intronicAGPAT3
45374071CThom43.76472intronicAGPAT3
45375397CAhom3.981312intronicAGPAT3
45376207AGhom28.77012intronicAGPAT3rs9158760.498403
45378476GAhet22.03418intronicAGPAT3
45378552AGhom80.51344intronicAGPAT3rs610330680.497604
45378963TChet135.04316intronicAGPAT3rs2002539380.173922
45379795GAhet43.007332intronicAGPAT3rs739066870.0219649
45380130CThom13.9432intronicAGPAT3rs28384500.391773
45380213GAhom9.306132intronicAGPAT3rs126267090.279353
45381944CThom39.7652intronicAGPAT3rs48188750.402756
45385041GThet24.02416intronicAGPAT3
45389261AGhet132.00830intronicAGPAT3rs739066920.11861
45389348TChom35.76562intronicAGPAT3rs28384540.254193
45391448GThet7.7956312intronicAGPAT3
45391752TChom100.5144intronicAGPAT3rs99766280.694289
45392846AGhom43.76472intronicAGPAT3rs37880940.403355
45393034CThom43.76472intronicAGPAT3
45397335CGhom24.77882intronicAGPAT3rs28384570.151158
45397393GAhet22.03418intronicAGPAT3
45400664GThet33.00914intronicAGPAT3
45401246GChet16.114312intronicAGPAT3
45404338AGhet35.008320UTR3AGPAT3(NM_020132:c.*2065A>G,NM_001037553:c.*2065A>G)rs74350.365415
45406095CGhom39.7652UTR3AGPAT3(NM_020132:c.*3822C>G,NM_001037553:c.*3822C>G)rs141510.464657
45406878CThet106.00816UTR3AGPAT3(NM_020132:c.*4605C>T,NM_001037553:c.*4605C>T)rs567983480.0131789







© Миронова Екатерина 2017 год