Atelier Variant
niveau 2
Nadia BESSOLTANE - INRAe
Bastien JOB - Gustave Roussy
Wilfrid Richer - Institut Curie
École de bioinformatique niveau 2 AVIESAN-IFB-INSERM 2021
https://www.genome.gov/Health/Genomics-and-Medicine/Polygenic-risk-scores#one
Définition
Il existe différents types de variations :
Niveau 1...
3
Fastq Quality Control
-- FastQC --
Mapping
-- Bowtie2/Bwa --
Reads (Fastq)
Reference genome (Fasta)
Processing Post Alignement
Variant Calling
SNV & InDels
Filtrage & Annotation
Variants Structuraux
UNIX
Niveau 2 ...
4
Fastq Quality Control
-- FastQC --
Mapping
-- Bowtie2/Bwa --
Reads (Fastq)
Reference genome (Fasta)
Processing Post Alignement
Variant Calling
& Annotation
QC & Filtres
Recherche de marqueurs
Copy Number
5
Objectifs�
Analyse de variants
post-VCF
Nadia BESSOLTANE - INRAE
École de bioinformatique niveau 2 AVIESAN-IFB-INSERM 2021
7
Rappel : du fastq au VCF�
Rappel : du fastq au VCF�
VCF (variant call format)
vcfR package
Manipulate and Visualize VCF Data
CRAN : The Comprehensive R Archive Network
> ## installer le package
> #install.packages(“vcfR”)
> ## charger le package
> library(vcfR)
> ## afficher la description du package
> browseVignettes('vcfR')
> my.vcf <- read.vcfR(file=”pool.vcf.gz”)
objet de la classe vcfR
> # l’objet vcf appartient à quelle class
> is(my.vcf)
[1] "vcfR"
> # la liste des slots (sections)
> slotNames(my.vcf) #
[1] "meta" "fix" "gt"
> # vcf header
> my.vcf@meta
> # information about variants
> my.vcf@fix
> # genotype of each sample
> my.vcf@gt
Trois sections :
12
##fileformat=VCFv4.2
##FILTER=<ID=LowQual,Description="Low quality">
##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtere
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VC
##GATKCommandLine=<ID=HaplotypeCaller,CommandLine="HaplotypeCaller --min-base-quality-score 18 --emit-ref-confidence NONE
##INFO=<ID=AF,Number=A,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=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities
...
##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read positio
##INFO=<ID=SOR,Number=1,Type=Float,Description="Symmetric Odds Ratio of 2x2 contingency table to detect strand bias">
##contig=<ID=6,length=119458736>
##source=HaplotypeCaller
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SRR1262731 SRR1262732
6 2 . T A 67.64 . AC=1;AF=0.500;... GT:AD:DP:GQ:PL 0/1:3,2:5:75:75,0,105 0/1:3,2:5:75:75,
6 4 . GT G 58.60 . AC=1;AF=0.500;... GT:AD:DP:GQ:PL 0/1:1,2:3:28:66,0,28 0/1:1,2:3:28:66,
6 9 . C CA 55.60 . AC=1;AF=0.500;... GT:AD:DP:GQ:PL 0/1:7,2:9:63:63,0,279 0/1:7,2:9:63:63,
VCF header
Body
objet de la classe vcfR
meta(DATA)
fix (data)
gt (génotype)
Jeux de données #1:
Chez le bovin, il existe un locus de caractères quantitatifs (QTL) lié à la production de lait, situé sur le chromosome 6, et plus exactement sur une région de 700 kb, composée de 7 gènes.
Les échantillons QTL+ sont caractérisés par une diminution de la production en lait et une augmentation des concentrations en protéine et lipide.
Quelle mutation est responsable de ce QTL ?
Pour le TP nous disposons des résultats du variant calling de 3 échantillons (en Multi-VCF annoté).
TP 1 : recherche de mutation dans un QTL
Miri Cohen-Zinder et al, Genome Research 2005, DOI:10.1101/gr.3806705
Echantillons | Phénotype | Source |
SRR1262731 | QTL- | projet 1000 génomes bovins |
SRR1205992 | QTL+ | |
SRR1205973 | QTL+ | |
RMD
1- Se connecter sur Rstudio via JupyterLab
2- Aller dans l’espace projet
> setwd(“/shared/projects/my_project”)
3- Créer un répertoir TP
> dir.create(“TP_variants”)
4- Copier le matériel de TP dans le dir TP_variants
> file.copy(from = “/shared/projects/ebai2021_n2/DNAseq/variants/”,
to = “TP_variants”)
> setwd(“TP_variants”)
5- Changer le workspace.
Support de TP
Rappel : Filtre des variants
→ type de variants à garder (SNVs seulement, Indels...)
→ région d’intérêt
→ filtres sur la qualité (seuils arbitraires : profondeur, génotype (0/1, 1/1), ratio allélique…)
→ GATK Bests Practices : recommendations selon des métriques spécifiques à GATK, différentes pour les SNVs des Indels
→ dépendent de la question biologique
→ dépendent des outils utilisés
15
RMD
→ d’où l'intérêt de faire ses propres scripts
Rappel : Faux positif
Rappel :
Faux positifs vs Filtres qualité
True Positive (polymorphisms,mutations)
False
Positive
Faux Négatif
True Négatif
Filtres/seuils
résultat final
Variant calling results
Plus on est stringent plus on va éliminer les faux positifs mais avec le risque de perdre de vrais variants
max de vrais variants
min de faux positifs
RMD
Rappel :
Faux positif vs Filtres qualité
True Positive (polymorphisms,mutations)
False
Positive
Filtres/seuils
résultat final
Variant calling results
Plus on est stringent plus on va éliminer de faux positifs mais avec le risque de perdre de vrais variants
max de vrais variants
min de faux positifs
RMD
TP 2 : Mapping-by-sequencing
Jeux de données #2: Projet SOJ « Suppressor Of jmj14 » N. Butel et I. Le Masson (IJPB - INRAe)
→ Afin de comprendre le rôle de JMJ14 dans la systémie de la PTGS et d’identifier ses partenaires, des cribles génétiques ont été réalisés visant à isoler des suppresseurs de la mutation jmj14.
RMD
TP 2 : Mapping-by-sequencing
Gène JMJ14 WT WT muté
Transgène JAP3 - + +
Phénotype :
couleur des nervures
Arabidopsis thaliana
Mutagénèse EMS
autofécondation
Grains
JAP3-jmj14/SOJ
X
JAP3-jmj14
JAP3-jmj14
F1
autofécondation
¼ F2 🡪
JAP3-jmj14/SOJ
Séquençage HiSeq3000
paired-end 150 pb
couverture 20X
pool de ~30 plantes
Jeux de données #2: Projet SOJ « Suppressor Of jmj14 » N. Butel et I. Le Masson (IJPB - INRAe)
Plan expérimental :
Données :
→ Pour le TP nous disposons des résultats du variant calling des 15 échantillons (en Multi-VCF annoté).
TP 2 : Mapping-by-sequencing
* Recherche des pics
Principe :
RMD