3 ème Ecole de bioinformatique AVIESAN (Roscoff) 8/10/2014 Raw reads (Fastq) Workflow DETECTION DE VARIANTS [ VARIANT CALLING ] Mapping on the reference genome Olivier Sand UMR8199 Génomique et Maladies Métaboliques http://www-good.ibl.fr/ Mapping Post-processing Variant Calling Pre-processing Variant Calling Variant Filtering & Annotation Variants Outils Sites où vos données présentent une variation relative au génome de référence Genotype pour chaque échantillon à ces sites SNPs (SNVs) INDELs (insertions et/ou délétions courtes ) SVs (inversions, translocations, CNVs, larges indels) SAMtools mpileup/bcftools VarScan Analysis GATK Unified Genotyper GATK Haplotype Caller CASAVA (Illumina) CLCbio Genomics Workbench Partek Genomic Suite
Venn diagrams showing the number of identified variants for tested germline (A), somatic (B), CNV (C) and exome CNV (D) tools. Distribution of SNP positions of the common SNPs of all members of family trio detected by GATK, samtools Individuals and Illumina CASAVA. Pabinger S et al. Brief Bioinform 2014;15:256-278 Yi M et al. Nucl. Acids Res. 2014;42:e101. (a) Numbers in black are the number of SNV positions passing MIEC, whereas numbers in gray are the number of variants designed for detection on the SNP array. (b) Numbers are percentage of SNVs passing MIEC that are also SNPs designed for detection on the SNP array (gray number divided by black number in each corresponding section of (a). (c) Numbers in black are the numbers of NGS-detected SNVs passing MIEC that are also designed for detection on the array, whereas numbers in gray are the number of SNPs designed for detection on SNP array for the same positions of NGS-detected SNVs passing MIEC, which has also passed MIEC within array data. (d) Percentage of NGS-detected SNVs passing MIEC that were also arraydetected SNPs passing MIEC (gray number divided by black number in each corresponding section of (c). (e) Numbers in black indicate number of SNVs passing MIEC, whereas numbers in gray indicate the number of SNVs failing MIEC. (f) Error rate of MIEC based on (e) (gray number divided by black number in each corresponding section of (e). The Author 2013. Published by Oxford University Press. Published by Oxford University Press on behalf of Nucleic Acids Research 2014. This work is written by (a) US Government employee(s) and is in the public domain in the US. Formats Out Variant Call Format Genome Variation Format (Sequence Ontology Project) ##gvf-version 1.07 ##genome-build NCBI B36.3 ##sequence-region chr16 1 88827254 chr16 samtools SNV 49291141 49291141. +. ID=ID_1;Variant_seq=A,G;Reference_seq=G; chr16 samtools SNV 49291360 49291360. +. ID=ID_2;Variant_seq=G;Reference_seq=C; chr16 samtools SNV 49302125 49302125. +. ID=ID_3;Variant_seq=T,C;Reference_seq=C; chr16 samtools SNV 49302365 49302365. +. ID=ID_4;Variant_seq=G,C;Reference_seq=C; chr16 samtools SNV 49302700 49302700. +. ID=ID_5;Variant_seq=T;Reference_seq=C; chr16 samtools SNV 49303084 49303084. +. ID=ID_6;Variant_seq=G,T;Reference_seq=T; chr16 samtools SNV 49303156 49303156. +. ID=ID_7;Variant_seq=T,C;Reference_seq=C; chr16 samtools SNV 49303427 49303427. +. chr16 samtools SNV 49303596 49303596. +. ID=ID_8;Variant_seq=T,C;Reference_seq=C; ID=ID_9;Variant_seq=T,C;Reference_seq=C; seqid source type start end score strand phase attributes Variant Call Format Binary Call Format version binaire de VCF plus rapide à traiter beaucoup d échantillons génomique Format texte, tab délimité Très explicite Développé pour le projet 1000 génomes Extensible (ajout de nouveaux champs possible) Très utilisé http://samtools.github.io/hts-specs/vcfv4.2.pdf
Variant Call Format ##fileformat=vcfv4.0 ##FILTER=<ID=LowQual,Description="QUAL < 50.0"> ##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed"> ##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)"> ##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality"> ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> ##FORMAT=<ID=PL,Number=3,Type=Float,Description="Normalized, Phred-scaled likelihoods for AA,AB,BB genotypes where A=ref and B=alt; not applicable if site is not biallelic"> ##INFO=<ID=AC,Number=.,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed"> ##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed"> ##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes"> ##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership"> ##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> ##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?"> ##INFO=<ID=Dels,Number=1,Type=Float,Description="Fraction of Reads Containing Spanning Deletions"> ##INFO=<ID=HRun,Number=1,Type=Integer,Description="Largest Contiguous Homopolymer Run of Variant Allele In Either Direction"> ##INFO=<ID=HaplotypeScore,Number=1,Type=Float,Description="Consistency of the site with two (and only two) segregating haplotypes"> ##INFO=<ID=MQ,Number=1,Type=Float,Description="RMS Mapping Quality"> ##INFO=<ID=MQ0,Number=1,Type=Integer,Description="Total Mapping Quality Zero Reads"> ##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth"> ##INFO=<ID=SB,Number=1,Type=Float,Description="Strand Bias"> ##INFO=<ID=VQSLOD,Number=1,Type=Float,Description="log10-scaled probability of variant being true under the trained gaussian mixture model"> ##UnifiedGenotyperV2="analysis_type=UnifiedGenotyperV2 input_file=[text CLIPPED FOR CLARITY]" #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 chr1 873762. T G 5231.78 PASS AC=1;AF=0.50;AN=2;DP=315;Dels=0.00;HRun=2;HaplotypeScore=15.11;MQ=91.05;MQ0=15;QD=16.61;SB=-1533.02;VQSLOD=-1.5473 GT:AD:DP:GQ:PL 0/1:173,141:282:99:255,0,255 chr1 877664 rs3828047 A G 3931.66 PASS AC=2;AF=1.00;AN=2;DB;DP=105;Dels=0.00;HRun=1;HaplotypeScore=1.59;MQ=92.52;MQ0=4;QD=37.44;SB=-1152.13;VQSLOD= 0.1185 GT:AD:DP:GQ:PL 1/1:0,105:94:99:255,255,0 chr1 899282 rs28548431 C T 71.77 PASS AC=1;AF=0.50;AN=2;DB;DP=4;Dels=0.00;HRun=0;HaplotypeScore=0.00;MQ=99.00;MQ0=0;QD=17.94;SB=-46.55;VQSLOD=-1.9148 GT:AD:DP:GQ:PL 0/1:1,3:4:25.92:103,0,26 chr1 974165 rs9442391 T C 29.84 LowQual AC=1;AF=0.50;AN=2;DB;DP=18;Dels=0.00;HRun=1;HaplotypeScore=0.16;MQ=95.26;MQ0=0;QD=1.66;SB=-0.98 GT:AD:DP:GQ:PL 0/1:14,4:14:60.91:61,0,255 Structure VCF: 3 parties 1) Méta-données (descrivent le contenu) ##fileformat=vcfv4.2 ##filedate=20090805 ##source=myimputationprogramv3.1 ##reference=file:///seq/references/1000genomespilot-ncbi36.fasta ##contig=<id=20,length=62435964,assembly=b36,md5=f126cdf8a6e0c7f379d618ff66beb2da,species="homo sapiens",taxonomy=x> ##phasing=partial ##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> ##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> ##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency"> ##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> ##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> ##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> ##FILTER=<ID=q10,Description="Quality below 10"> ##FILTER=<ID=s50,Description="Less than 50% of samples have data"> ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> ##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> ##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> ##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> 2) Titres des colonnes #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 3) Données (variants) 20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0 0:48:1:51,51 1 0:48:8:51,51 1/1:43:5:.,. 20 17330. T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0 0:49:3:58,50 0 1:3:5:65,3 0/0:41:3 20 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1 2:21:6:23,27 2 1:2:0:18,2 2/2:35:4 20 1230237. T. 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0 0:54:7:56,60 0 0:48:4:51,51 0/0:61:2 20 1234567 microsat1 GTC G,GTCT 50 PASS NS=3;DP=9;AA=G GT:GQ:DP 0/1:35:4 0/2:17:2 1/1:40:3 Colonnes VCF [HEADER LINES] #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 chr1 873762. T G 5231.78 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:173,141:282:99:255,0,255 chr1 877664 rs3828047 A G 3931.66 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 1/1:0,105:94:99:255,255,0 chr1 899282 rs28548431 C T 71.77 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:1,3:4:25.92:103,0,26 chr1 974165 rs9442391 T C 29.84 LowQual [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:14,4:14:60.91:61,0,255 SITES GENOTYPES CHROM : chromosome POS : position génomique (-1 pour indels) ID : identifiant dbsnp (rs) REF : base de référence (fwd strand) ALT : base(s) alternative(s) observée(s) (fwd strand) QUAL : probabilité en échelle Phred (-10 log 10 (p err )) FILTER : PASS/LowQual/ INFO : annotations FORMAT Echantillon(s). = donnée manquante Annotations VCF ##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> ##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> ##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency"> ##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> ##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> ##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> chr1 873762 [CLIPPED] AC=1;AF=0.50;AN=2;DP=315;Dels=0.00;HRun=2;HaplotypeScore=15.11;MQ=91.05;MQ0=15;QD=16.61;SB=-1533.02;VQSLOD=-1.5473 chr1 877664 [CLIPPED] AC=2;AF=1.00;AN=2;DB;DP=105;Dels=0.00;HRun=1;HaplotypeScore=1.59;MQ=92.52;MQ0=4;QD=37.44;SB=-1152.13;VQSLOD= 0.1185 chr1 899282 [CLIPPED] AC=1;AF=0.50;AN=2;DB;DP=4;Dels=0.00;HRun=0;HaplotypeScore=0.00;MQ=99.00;MQ0=0;QD=17.94;SB=-46.55;VQSLOD=-1.9148 Description des codes dans lignes ##INFO de l entête ID=code de l annotation Number=nombre de valeurs pouvant être inclues (., A, R, G, 0, 1, 2, ) Type=type de l annotation (entier, réel, caractère, chaine de caractère, flag) Description= définition de l annotation
Génotypes VCF Genome Analysis Toolkit ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> ##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed»> ##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth»> ##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> ##FORMAT=<ID=PL,Number=3,Type=Float,Description="Normalized, Phred-scaled likelihoods for AA,AB,BB genotypes where A=ref and B=alt; not applicable if site is not biallelic"> #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA12878 chr1 873762. T G 5231.78 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:173,141:282:99:255,0,255 chr1 877664 rs3828047 A G 3931.66 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 1/1:0,105:94:99:255,255,0 chr1 899282 rs28548431 C T 71.77 PASS [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:1,3:4:25.92:103,0,26 chr1 974165 rs9442391 T C 29.84 LowQual [ANNOTATIONS] GT:AD:DP:GQ:PL 0/1:14,4:14:60.91:61,0,255 Description des codes dans lignes ##FORMAT de l entête Exemple: REF=A, ALT=G,T GT : génotype (0/0, 0/1, 1/1, 1/2) AD : profondeur par allèle (total reads) DP : profondeur de couverture (reads filtrés) GQ : qualité du génotype (Phred) PL : vraisemblance normalisée de chaque génotype (AA,AB,BB) A G T A 0/0 0/1 0/2 G 1/1 1/2 T 2/2 GATK : Genome Analysis ToolKit The Genome Analysis Toolkit : A MapReduce framework for analyzing next-generation DNA sequencing data, McKenna et al. (2010) http://www.broadinstitute.org/gatk/about/ Equipe de développement du Broad Institute (USA) Utilisé dans de nombreux projets (1000 Genomes Project, The Cancer Genome Atlas...) A la base développé pour génétique humaine mais maintenant générique Développé en Java Citations : Sources 2010 2011 2012 2013 2014 GATK Website* Google Scholar 2 9 25 136 29 134 415 767 1642 * Nature, Science, Nature Genetics, Nature Biotechnology, New England Journal of Medicine, Cell, and Genome Research. GATK variant discovery pipeline Défis: mutations vs bruit Erreurs d alignement et artefacts de séquençage
Défis: solution Équilibre entre sensibilité (minimise les faux négatifs, i.e. variants réels non-identifiés) et spécificité (minimise les faux positifs, i.e. artefacts non-rejetés) Très difficile à concilier en une seule étape => décomposition de la découverte de variants en étapes séparées: joint variant calling (par cohorte) => meilleure sensibilité variant filtering (par cohorte) => meilleure spécificité OU (v3) variant calling (par échantillon) => meilleure sensibilité joint genotyping (par cohorte) => meilleure sensibilité variant filtering (par cohorte) => meilleure spécificité GATK Variant Callers Haplotype Caller : plus récent et plus sophistiqué recommandé capacité à détecter des indels nettement supérieure Unified Genotyper : recommandé pour Analyser plus de 100 échantillons à la fois (performance) Travailler avec des organismes non-diploides (UG peut gérer différents niveaux de ploïdie alors que HC pas) Travailler avec des échantillons poolés (même limitation de HC concernant la ploïdie) Unified Genotyper Comment est détecté un SNP? Détecte les SNPs et les INDELs séparément Considère chaque locus de variant indépendamment Etapes: 1. Détermine les allèles possibles 2. Calcule les vraisemblances 3. Calcule la distribution des fréquences alléliques 4. Détermine le comptage allélique le plus vraisemblable 5. Emet un variant s il y a lieu 6. Assigne un génotype pour chaque échantillon
Comment est détecté un SNP? Comment est détecté un SNP? Comment est détecté un SNP? Comment est détecté un SNP? Complex bayesian algorithms based on : Base scale Read scale Position scale Genotype scale Biais de séquençage connus: GA / Hi-Seq : Base Quality 454 : Homopolymères SOLiD : Base Quality + Color space traduction Phred-Quality Base Mapping quality Forward/Reverse ALT allele count REF allele count ALT / REF Read Depth Overall genotype association Base scale Read scale Position scale Genotype scale Phred-Quality Base Mapping quality Forward/Reverse ALT allele count REF allele count ALT / REF Overall genotype association SNP quality 10 => P error = 1 / 10 30 => P error = 1 / 1000 Read Depth SNP quality
Haplotype Caller Assemblage de novo local Capable de découvrir SNPs et INDELs simultanément via assemblage de novo local des haplotypes dans une région active Capable d estimer la probabilité qu un site soit non-variant. Permet de distinguer la différence entre: pas de variant détecté parce que les données suggèrent que le site est non-variant pas de données disponibles AVANT Etapes 1. Détermine si une région est potentiellement variable 2. Construit un assemblage de la région 3. Calcule la vraisemblance de l haplotype 4. Détermine s il y a des variants sur l haplotype le plus vraisemblable 5. Emet un variant s il y a lieu 6. Assigne un génotype pour chaque échantillon APRES Conclusion Points forts : Assez rapide d'exécution (parallélisation possible) Bonne découverte d INDELs complexes (HC) Beaucoup de fonctionnalités et d'options Améliorations fréquentes Très utilisé par la communauté Site internet avec bonne documentation Points faibles : A l'origine créé pour l'analyse de génomes humains Etapes de pré-processing Espace de stockage Références GATK Premier papier (citation) : The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data McKenna A, Hanna M, Banks E, Sivachenko A, Cibulskis K, Kernytsky A, Garimella K, Altshuler D, Gabriel S, Daly M, DePristo MA, 2010 GENOME RESEARCH 20:1297-303 Second papier : description plus détaillée des outils A framework for variation discovery and genotyping using next-generation DNA sequencing data DePristo M, Banks E, Poplin R, Garimella K, Maguire J, Hartl C, Philippakis A, del Angel G, Rivas MA, Hanna M, McKenna A, Fennell T, Kernytsky A, Sivachenko A, Cibulskis K, Gabriel S, Altshuler D, Daly M, 2011 NATURE GENETICS 43:491-498 Troisième papier : best practices From FastQ Data to High-Confidence Variant Calls: The Genome Analysis Toolkit Best Practices Pipeline Van der Auwera GA, Carneiro M, Hartl C, Poplin R, del Angel G, Levy-Moonshine A, Jordan T, Shakir K, Roazen D, Thibault J, Banks E, Garimella K, Altshuler D, Gabriel S, DePristo M, 2013 CURRENT PROTOCOLS IN BIOINFORMATICS 43:11.10.1-11.10.33
Outils TP GATK Fichier d entrée TP GATK Merci de votre attention