Анализ вариантов и аннотация
Для проведения клинической диагностики недостаточно просто получить набор вариантов, необходимо его аннотировать, разделить генотипы по передаче от родителей (если возможно), а также глубоко проанализировать. Эти этапы выполняются как программно (при помощи GATK или других пакетов), так и вручную.
Общая аннотация вариантов
В качестве одного из первых этапов аннотации вариантов их можно обработать программами, предсказывающими потенциальный эффект варианта. Эти программы могут делиться на разные подтипы: какие-то из них лишь оценивают тип варианта (сэйм-сенс, миссенс, нонсенс и т.п.), другие пытаются предсказать патогенность варианта по его эффекту на структуру белка или организацию хроматина.
К первой группе относятся приложения типа ANNOVAR, Oncotator или SnpEff. Эти приложения аннотируют варианты согласно тому, какой именно эффект они оказывают на белок, и присваивают вариантам уровень значимости. В программе SnpEff, используемой нами, варианты разделяются по уровню на когорты LOW (низкий эффект - синонимичные замены), MODERATE (несинонимичные замены, вставки и выпадения кодонов), HIGH (нонсенс мутации, потеря старт/стоп кодона, сплайсинговые мутации, вариации активного центра фермента или участка белок-белковых взаимодействий, сдвиг рамки считывания), а также MODIFIER (замены в интронах, нетранслируемых областях или межгенных участках). Ко второй группе (пока не представленной в нашем пайплайне) относятся программы типа PolyPhen 2, SIFT и другие. Эти программы предсказывают эффект мутации и LOF-мутации при помощи определенного набора специфических свойств конкретного варианта (положение, тип аминокислотной замены и т.д.)
Аннотация вариантов по базам данных
Часто бывает полезно аннотировать уже известные ранние варианты с помощью их ID в базе данных (вроде dbSNP или ClinVar) или информации из GWAS-каталога. Для этого используется программа SnpSift. В ее возможности входит добавление ID или Info полей из VCF-файла базы данных в VCF-файл из эксперимента, фильтрация вариантов, добавление и удаление информационных полей и аннотация по каталогу GWAS. В нашем пайплайне мы аннотируем варианты при помощи dbSNP ID, инфо-полей из ClinVar (важность - CLNSIG, ассоциированный фенотип - CLNDBN, а также флаги PM и OM, указывающие на наличие для данного варианта подтверждения в литературе и записи в базе фенотипов OMIM). Также для вариантов добавляется информация о функции затрагиваемого гена.
Запуск SnpEff и SnpSift:
java -Xmx64g -jar /Molly/barbitoff/software/snpEff/snpEff.jar \ -noHgvs -v -o gatk hg19 experiment.GF.vcf > experiment.snpeff.vcf 2> experiment.Progress.log # Adding rsID java -Xmx64g -jar /Molly/barbitoff/software/snpEff/SnpSift.jar \ annotate -v -noInfo /Molly/barbitoff/gatk-bundle-b37/dbsnp_138.b37.vcf \ experiment.snpeff.vcf > experiment.dbSNP.vcf 2> experiment.dbSNP.Progress.log # Adding only specific info java -Xmx64g -jar /Molly/barbitoff/software/snpEff/SnpSift.jar \ annotate -v -noId -info PM,OM,CLNSIG,CLNDBN,CLNREVSTAT \ /Molly/barbitoff/exomes/kits_data/clinvar_20151201.vcf \ experiment.dbSNP.vcf > experiment.clinvar.vcf # Removing INFO - example java -Xmx64g -jar /Molly/barbitoff/software/snpEff/SnpSift.jar rmInfo experiment.vcf \ "AC" "AF" "AN" "BaseQRankSum" > experiment.rminfo.vcf # SnpSift filtering - keeping variants with high and moderate effect java -Xmx64g -jar /Molly/barbitoff/software/snpEff/SnpSift.jar \ filter -v "( EFF[*].IMPACT = 'MODERATE' ) | ( EFF[*].IMPACT = 'HIGH' )" \ experiment.vcf > experiment.modhigheff.vcf
Фазирование генотипов
Дополнительная стадия, призванная облегчить медицинский генетический анализ - фазирование генотипов по передаче в родословной (определение материнского/отцовского происхождения аллели). Для этого требуется файл с родословной, имеющий расширение .ped и форматированный следующим образом:
# Comments # Gender - 0 - unknown; 1 - male; 2 - female # Phenotype - 0 - unaffected; 1 - affected # FAMILY_ID SAMPLE_ID MAT_ID PAT_ID GENDER PHENOTYPE FAM001 sample_X sample_M sample_F 1 1
Запуск GATK для фазирования выполняется так:
java -Xmx64g -jar /Molly/barbitoff/software/gatk-protected/target/GenomeAnalysisTK.jar -T PhaseByTransmission \ -R /Molly/barbitoff/reference/GATK_b37/human_g1k_v37.fasta \ -V experiment_name.complete.vcf \ -ped samples.ped \ -o experiment_name.complete.phased.vcf
Важно, что фазирование производится только в трио пациентов и парах родитель-ребенок. Для семей с несколькими сиблингами рекомендуется прогонять программу в несколько пассажей, убирая из родословной одного из сибсов и добавляю другого.