Alignement de séquences, manipula3on, contrôle- qualité et analyse de fichiers SAM/BAM Stéphanie Le Gras DU Dijon
Objec3fs Préparer les données avant de faire l analyse de variants Comprendre à quoi sert un alignement Réaliser un alignement Comprendre les biais qu il peut y avoir dans un alignement de lectures Corriger les biais Connaitre le format SAM/BAM Es3mer l efficacité de capture Calcule la couverture nucléo3dique
Analyse pré détec3on des variants Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Analyse de données pour l applica3on de re- séquençage
Plan Alignement Le format SAM/BAM Les régions posant problèmes BWA La couverture nucléo3dique Es3ma3on de l efficacité de capture Raffinement des alignements Recalibra3on des bases
ALIGNEMENT
Process Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Alignement Trouver la posi3on des lectures dans le génome de référence Génome de référence Lecture 1 2 Une seule posi3on dans le génome de référence Plusieurs posi3ons possibles (Répé33on, régions dupliqués, pseudogènes )
Alignement de données NGS Défi NGS : Aligner rapidement des millions de lectures courtes en u3lisant le minimum de ressources informa3ques Ges3on des données pairées BLAST, Blat Ou3ls NGS BWA (Li et al, 2009) Bow3e SOAP (Rufallo et al, Bioinforma3cs, 2011) Format SAM/BAM
SAM/BAM format SAM : Sequence Alignment/Map Format d alignement générique Avant SAM/BAM : 1 format de fichier par aligneur! Convient aux reads courts et longs (Illumina, AB/ Solid et Roche/454) U3lisé comme fichiers de sor3e par le projet 1000 génomes Fichier texte tabulé (SAM) Con3ent deux sec3ons: - Entête (op3onnel) - Alignement
Entête Entête commence par @ Se trouve au début du fichier Tag @HG : (version du format, ) @SQ : Liste des séquences de référence (une ligne par séquence de référence u3lisée) @RG : group de lecture @PG : nom du programme
Alignement
Alignement FLAG U3lisé pour filtrer un fichier SAM/BAM hgp://picard.sourceforge.net/explain- flags.html
Alignement
Alignement : CIGAR Comprendre l alignement
Alignement :Tags addi3onnels
Exemple <QNAME> <FLAG> <RNAME> <POS> <MAPQ> <CIGAR> <MRNM> <MPOS> <ISIZE> <SEQ> <QUAL>[<TAG>:<VTYPE>:<VALUE> [...]]
Le fichier BAM Le format de fichier BAM est la version compressée du fichier SAM. (Format compa3ble avec GZIP) Indexer les fichiers BAM (*.bam.bai) : accélérer la recherche des alignements à une posi3on donnée Ordonné par coordonnées chromosomiques
Manipula3on de fichiers SAM/ PlateForMe BAM Manipula3on de fichiers SAM/BAM avec les API (Applica3on Programming Interface) Samtools (en C) Picard (en Java) Pysam (en python) Agen3on: les différentes API ne proposent pas toutes les mêmes fonc3onnalités
Samtools Permet de créer et d indexer des fichiers BAM à par3r de fichier SAM Calculer des sta3s3ques d alignement Enlever les duplicats de PCR Fusionner des fichiers SAM/BAM Visualiser des alignement à par3r des fichiers BAM Détecter des SNP Détecter des pe3ts indels
Picard Modules complémentaires à Samtools Iden3fica3ons de duplicats Ordonner des fichiers BAM Ajouter des informa3ons de groupe de lecture Con3ent plus d ou3ls de conversion de format Pas de visualisa3on d alignements possible Pas de détec3on de variants
Manipula3on des fichiers SAM
SAM: un format universel
BWA Li H. and Durbin R. (2009) Fast and accurate short read alignment with Burrows- Wheeler Transform. Bioinforma3cs, 25:1754-60. [PMID: 19451168] Rapide et peu gourmand en ressources Supporte l alignement de lectures avec des inser3ons/ délé3ons (indels) Supporte les séquençages simples (single end) et pairés (paired end) Nécessite des données de bonne qualité Fonc3onne avec un nombre limité d erreurs (2 pour 32bp, 4 pour 100 bp,...) Nécessite d indexer les séquences de référence (accélérer la recherche)
Par3e pra3que n 1 Objec3f : Réaliser l alignement des lectures Fichiers d entrée : CRN- 107_R1.fastq.gz CRN- 107_R2.fastq.gz Fichiers intermédiaires : CRN- 107- R1.sai CRN- 107- R2.sai Fichier de sor3e : CRN- 107.sam Ou3l à u3liser : BWA (aln) BWA (sampe) Aide : Il faut aligner les lectures de chaque sens (read 1 et read 2) séparément Puis rassembler les données Autoriser des indels de 50nt Nombre maximum de différences : 3
Par3e pra3que n 2 Objec3f : Générer un fichier bam ordonné et indexé Fichiers d entrée : CRN- 107.sam Fichiers intermédiaires : CRN- 107_notSorted.bam Fichier de sor3e : CRN- 107.bam CRN- 107.bam.bai Ou3l à u3liser : Samtools view Samtools sort Samtools index
Par3e pra3que n 3a Objec3f : Ajouter des informa3ons dans l entête du fichier BAM (groupe de lecture, plateforme ) Fichiers d entrée CRN- 107.bam Fichier de sor3e CRN- 107_RG.bam Ou3l à u3liser : Picard : AddOrReplaceReadGroups.jar Aide : Desac3vez la valida3on du fichier BAM RGID=1 RGLB=L52 RGPL=illumina RGPU=GGCTAC RGSM=CRN- 107
Vérifica3on des entêtes Par3e pra3que n 3b Objec3f : Vérifier que les entêtes sont correctes Fichiers d entrée CRN- 107_RG.bam Ou3l à u3liser : Samtools view
Vérifica3on des entêtes
QC : Alignement Pourcentage de lectures alignées sur le génome de référence Si trop faible: Contamina3on? Mauvais génome u3lisé? Mauvaise qualité des lectures?
QC : Alignement Par3e pra3que n 4 Objec3f : Vérifiez combien de lectures ont été alignées Fichier d entrée : CRN- 107_RG.bam Ou3l à u3liser : Samtools flagstat
Samtools flagstat
Régions pouvant poser problème Régions de faibles compléxités (homopolymères) Régions dont les séquences sont représentées plus d une fois dans le génome (répé33ons ) Alignabilité dépend de la longueur des lectures meilleure si données pairées
Alignabilité
Les régions répétées Les lectures s alignant dans les régions répétées ne peuvent pas être gardées pour l analyse (introduc3on de biais) Région répétée génome Taille des fragments
Les régions répétées Les lectures s alignant dans les régions répétées ne peuvent pas être gardées pour l analyse (introduc3on de biais) Région répétée génome Taille des fragments Avantage des lectures pairées!
Les lectures issues de régions répétées Comment les détecter? BWA donne une qualité d alignement de 0 à des lectures s alignant à plus d une posi3on En u3lisant les flags des fichiers SAM
Les régions répétées Par3e pra3que n 5 Objec3f : Enlever les lectures qui s alignent plusieurs fois dans le génome. Indexer le fichier créé. Compter le nombre de lectures enlevées. Fichier d entrée CRN- 107_RG.bam Fichier de sor3e CRN- 107_uniquelyMapped.bam Ou3l à u3liser : Samtools view Samtools index Sa mtools flagstat Aide : Qualité minimum >= 1 Format du fichier de sor3e : BAM
Samtools flagstat (avant)
Samtools flagstat (après) Nombre de lectures mul3- alignées : 561016-463795 = 97221 (17%)
Les lectures dupliquées Lectures dupliquées : Séquences ayant la même séquence nucléo3dique Alignées sur le même chromosome avec la même posi3on de début et de fin d alignement et dans le même sens de lecture Ont le même CIGAR Cause : PCR pendant la prépara3on de la librairie (duplicats moléculaire) Même cluster lu deux fois (duplicats op3ques)
Les lectures dupliquées Source: GATK
Les lectures dupliquées Lectures dupliquées : Avantage des lectures pairées génome
Les lectures dupliquées Lectures dupliquées : Avantage des lectures pairées génome
Les lectures dupliquées Par3e pra3que n 6 Objec3f : Les lectures ne sont pas flaguées comme duplicat par défaut. Il faut u3liser des ou3ls pour les reconnaitre. Annotez les lectures dupliquées dans nos données Fichier d entrée CRN- 107_uniquelyMapped.bam Fichier d entrée CRN- 107_Marked.bam Ou3l à u3liser : Picard MarkDuplicates Aide : Créez un index Desac3vez la valida3on du fichier BAM
Les lectures dupliquées
Les lectures dupliquées Par3e pra3que n 7 Objec3f : Vérifier la quan3té de lectures marquées comme duplicats Fichier : CRN- 107_Marked.bam Ou3l : Samtools flagstat
Les lectures dupliquées
ESTIMATION DE LA COUVERTURE
Process Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Couverture nucléo3dique Nombre de lectures présentes à une posi3on donnée Meilleure sera la couverture, meilleure sera la détec3on des variants (Encore plus vrai pour les variants hétérozygotes)
Couverture minimale pour la détec3on des hétérozygotes doi:10.1371/journal.pone.0025531.t001
Par3e pra3que n 8: Objec3f : Nous voulons évaluer la couverture nucléo3dique dans nos données Fichiers : CRN- 107_Marked.bam CaptureDesign_chr4.bed Ou3l à u3liser : GATK : DepthOfCoverage Aide : Pas de downsampling Format de sor3e : CSV (comma (,) separated value) Ques3on : Quelle est la couverture nucléo3dique moyenne?
ESTIMATION DE L EFFICACITÉ DE CAPTURE
Efficacité de capture Comment évaluer l efficacité de capture? Nombre de lectures tombant dans les régions que l on a cherché à capturer Besoin d un fichier avec les coordonnées chromosomiques des régions que l on a cherché à capturer (fichier au format BED)
Le format BED Fichier texte tabulé Minimum de 3 colonnes Col 1 : Chromosome Col 2 : Posi3on de début de la région Col 3 : posi3on de fin de la région Col 4 : Nom de la région (op3onnel) Col 5 : Score (op3onnel) Col 6 : Orienta3on (op3onnel) jusqu à 12 colonnes
Et comme pour SAM il y a SAMtools Pour les fichiers BED il y a BEDtools Calculer l intersec3on entre deux fichiers BED Calculer le nombre de lecture par annota3on génomique (exon, intron, ) (BEDtools peut également gérer les fichiers BAM)
Par3e pra3que n 9 Objec3f : Nous voulons compter le nombre de lecture tombant dans les régions ciblées par la capture Fichier d entrée : CRN- 107_RG.bam CaptureDesign_chr4.bed Fichier de sor3e : exon_coverage_crn- 107.bed Ou3l à u3liser : BEDtools coveragebed
Le fichier de sor3e est de la forme : Col 1 : chromosome Col 2 : début de la région Col 3 : fin de la région Col 4 : Nombre de lecture dans la région Col 5 : Taille de la région Col 6 : Nombre de nucléo3de couvert dans la région Col 7 : Pourcentage de bases couvertes Ques3on : Est ce que toutes les régions sont couvertes? Combien de lectures sont capturées dans la région? Quel est le taux d efficacité de la capture?
Format de fichier Il existe un grand nombre de format de fichiers pour stocker des données génomiques hgp://genome.ucsc.edu/faq/faqformat.html Conversion d un fichier avec un grand nombre d informa3ons vers un fichier contenant la quan3té d informa3on nécessaire Gain de place Pour conver3r d un format vers un autre, il faut que le fichier d origine con3enne les informa3ons nécessaires Ex : Bam - > BED (Perte d informa3on) Ex : BED - > BAM (Informa3on manquante) Ex : Fastq - > BED (Il faut aligner les séquences!)
RAFFINEMENT DES ALIGNEMENTS
Process Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Réalignement autour des indels Problème d alignement : Dans les régions de faibles complexités Autour des indels Ces mesappariements détectés comme des variants peuvent biaiser les modèles sta3s3ques u3lisées lors de la détec3on des variants
Réalignement autour des PlateForMe indels 3 différents type de régions sont ciblées par le réalignement des indels Les indels connus (1000 génomes, dbsnp ) Les indels détectés dans les échan3llons analysés (en u3lisant le CIGAR) Sites avec des indels supposés
Comment ça marche 1. Trouver la meilleur séquence consensus dans une région donnée (la région inclue un maximum d un indel) 2. Le score de la séquence consensus est égal à la somme des qualités des bases ayant un mesappariement 3. Si le score du consensus est meilleur que celui de l alignement originel alors le nouvel alignement est conservé.
Exemple sur un autre échan3llon chr12:88,481,520-88,481,560
Réalignement local Par3e pra3que n 10 Objec3f : nous souhaitons réaligner les bases autour des indels Fichiers d entrée CRN- 107_Marked.bam Posi3ons connues à u3liser : Mills_and_1000G_gold_standard.indels.hg19.vcf 1000G_phase1.indels.hg19.vcf Fichier de sor3e indelintv_crn- 107.intervals CRN- 107.realigned.bam Ou3l à u3liser : GATK RealignerTargetCreator (chercher les régions où réaligner) GATK IndelRealigner (réalise les réglements locaux aux posi3ons détectées par RealignerTargetCreator )
IGV Navigateur de Génomes Développé par le Broad Ins3tute Le meilleur pour la visualisa3on de données de reséquençage
IGV Génome à charger : hg19 (Genomes/Load from server) Fichier à charger (File/Load from File): CRN- 107_RG.bam (avant réalignement local) CRN- 107.realigned.bam (après réalignement local) Pour visualiser un fichier Bam il faut avoir son fichier bai (index) correspondant chr4:122,766,732-122,766,861
RECALIBRATION DE LA QUALITÉ DES BASES
Process Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Recalibra3on des qualités des bases A quoi ça sert? Corriger les biais d assignement des scores de qualités des séquenceurs Comment ça marche? Les ou3ls scannent les lectures alignées et cherchent les posi3ons qui sont des mesappariements (nucléo3des différents du génome) Si les mesappariements ne sont pas des variants connus alors l ou3l considère que c est une erreur de séquençage Calcul de sta3s3ques sur tous les mesappariements détectés et sur leur contexte dans la lecture (dinucléo3de, posi3on dans la lecture ) Correc3on de la valeur de qualité pour qu elle corresponde à la qualité observée
Par3e pra3que n 11 Objec3f : effectuer la recalibra3on des qualités des bases Fichiers d entrée CRN- 107.realigned.bam Posi3ons connues à u3liser : dbsnp_137.hg19.vcf Fichier de sor3e CRN- 107.recal_data.grp CRN- 107.realigned.recalibrated.bam Ou3l à u3liser : GATK BaseRecalibrator GATK PrintReads
Process Fichier fastq Données brutes Iden3fica3on des duplicats Fichier SAM/BAM Fichier fastq Fichier SAM/BAM Filtra3on et enlevement des données de mauvaise qualité Alignement Réalignement local Recalibra3on de la qualité des bases Fichier SAM/BAM Fichier SAM/BAM Sta3s3ques Données prêtes pour analyse des variants Fichier SAM/BAM
Références Mark A. DePristo, Eric Banks, Ryan Poplin, Kiran V. Garimella, Jared R. Maguire, Christopher Hartl, Anthony A. Philippakis, Guillermo del Angel, Manuel A. Rivas, Mag Hanna, Aaron McKenna, Tim J. Fennell, Andrew M. Kernytsky, Andrey Y. Sivachenko, Kris3an Cibulskis, Stacey B. Gabriel, David Altshuler, and Mark J. Daly. A framework for varia3on discovery and genotyping using next- genera3on DNA sequencing data. Nature Gene3cs, 43(5):491{498, May 2011. Heng Li and Richard Durbin. Fast and accurate short read alignment with BurrowsWheeler transform. Bioinforma3cs, 25(14): 1754{1760, July 2009. Heng Li, Bob Handsaker, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, and Richard Durbin. The sequence Alignment/Map format and SAMtools. Bioinforma3cs, 25(16):2078{2079, August 2009.