Méthylation

La méthylation de l'ADN est un processus biologique par lequel des groupes méthyle sont ajoutés à l'ADN, souvent au niveau des cytosines dans le contexte d'une séquence CpG. Ce processus est crucial pour réguler l'expression des gènes et peut avoir des implications significatives dans le développement, ainsi que dans diverses maladies, y compris le cancer.

Basecalling avec Dorado pour la détection de méthylation

Pourquoi utiliser un modèle spécifique ?

L'utilisation de modèles spécifiques pour le basecalling, tels que hac,5mCG_5hmCG dans Dorado, permet de reconnaître et de classifier spécifiquement les motifs de méthylation. Ces modèles sont entraînés pour distinguer les cytosines méthylées des non-méthylées, ce qui est essentiel pour des analyses de méthylation précises.

Commande pour le basecalling

Exécutez la commande suivante pour le basecalling avec reconnaissance des motifs de méthylation :

dorado basecaller hac,5mCG_5hmCG pod5/ --reference hg38.fa > basecalls.bam

Vérification des tags dans les BAM

Après le basecalling, vérifiez que les fichiers BAM générés contiennent les tags nécessaires avec Samtools :

samtools view fichier.bam | head
samtools view fichier.bam | head | grep mM

Les tags mM et mL dans les BAM sont cruciaux car ils indiquent les sites de méthylation et leur niveau.

Il ne faut surtout pas repasser les BAM en FASTQ ou alors vous perdrez vos tags

Triage et indexation des fichiers BAM

Le triage et l'indexation des fichiers BAM sont nécessaires pour optimiser les étapes d'analyse subséquentes.

  1. Triage des fichiers BAM : Consultez cette page pour des instructions détaillées sur le triage des fichiers BAM.

  2. Indexation : Après le triage, indexez vos fichiers pour permettre des accès rapides à des régions spécifiques.

Utilisation de ModKit pour l'analyse de la méthylation

Installation de ModKit

Modkit est un outil bioinformatique pour travailler avec des bases modifiées d'Oxford Nanopore. Il est principalement utilisé pour convertir des fichiers modBAM en fichiers bedMethyl en utilisant les meilleures pratiques, mais permet également de manipuler des fichiers modBAM et de générer des statistiques récapitulatives. Une documentation détaillée et un guide de démarrage rapide sont disponibles en ligne. Pour l'installer :

git clone https://github.com/nanoporetech/modkit.git
cd modkit
cargo install --path .

Vérification de l'installation

Pour confirmer que ModKit a été installé correctement, utilisez :

modkit --version

Utilisez ModKit pour analyser les données de séquence et quantifier la méthylation à partir des fichiers BAM préparés.

Utilisation

Modkit comprend une suite d'outils pour manipuler des données de base modifiées stockées dans des fichiers BAM. Les informations de base modifiées sont stockées dans les balises MM et ML. Ces balises sont produites par les basecallers contemporains des plateformes de séquençage d'Oxford Nanopore Technologies (dorado).

Construction de Tables bedMethyl

L'une des principales utilisations de modkit est de créer des décomptes récapitulatifs des bases modifiées et non modifiées dans un format bedMethyl étendu. Les fichiers bedMethyl répertorient les décomptes de modifications de base à partir de chaque lecture de séquençage sur chaque position génomique de référence.

Commande de Base

Pour créer un fichier bedMethyl simple :

modkit pileup path/to/reads.bam output/path/pileup.bed --log-filepath pileup.log

Cette commande ne nécessite pas de séquence de référence. Un seul fichier contenant les résumés du nombre de bases sera créé, et l'argument final spécifie une sortie de fichier journal facultative.

Filtrage et Transformations

Pour signaler uniquement les comptages des dinucléotides CpG de référence :

modkit pileup path/to/reads.bam output/path/pileup.bed --cpg --ref path/to/reference.fasta

Utilisation de Préréglages

Pour une utilisation plus facile, utilisez des préréglages. Par exemple, le préréglage traditional effectue les transformations suivantes :

modkit pileup path/to/reads.bam output/path/pileup.bed \
  --ref path/to/reference.fasta \
  --preset traditional

Cela équivaut à exécuter les options :

modkit pileup --cpg --ref <reference.fasta> --ignore h --combine-strands

Description de la Production de bedMethyl

Définitions des Colonnes

  • Nmod: Nombre d'appels classés comme résidu avec une modification de base spécifiée.

  • Ncanonical: Nombre d'appels classés comme base canonique.

  • Nother_mod: Nombre d'appels classés comme modifiés mais différents de la base répertoriée.

  • Nvalid_cov: Couverture valide (Nmod + Nother_mod + Ncanonical).

  • Ndiff: Nombre de lectures avec une base autre que la base canonique.

  • Ndelete: Nombre de lectures avec une suppression à cette position de référence.

  • Nfail: Nombre d'appels en dessous du seuil de probabilité.

  • Nnocall: Nombre de lectures alignées sans appel de modification de base.

Colonnes bedMethyl

  • chrom: Nom de la séquence de référence.

  • start: Position de départ basée sur 0.

  • end: Position finale exclusive basée sur 0.

  • modified base code: Code à une lettre pour la base modifiée.

  • score: Égal à Nvalid_cov.

  • strand: '+' pour le brin positif, '-' pour le brin négatif, '.' pour les brins combinés.

  • color: Toujours 255,0,0.

Exemples d'Utilisation Avancée

Pour combiner plusieurs appels de modification de base en un seul :

modkit pileup path/to/reads.bam output/path/pileup.bed --combine-mods

Pour produire un fichier bedGraph pour chaque modification dans le fichier BAM :

modkit pileup path/to/reads.bam output/directory/path --bedgraph --prefix mod_

Methplotlib

Methplotlib est un script permettant de générer une vue de navigateur sur une fenêtre en utilisant des données de méthylation provenant de plusieurs sources. Il prend en charge les appels de méthylation de Nanopolish, les fréquences de méthylation de Nanocompore, les fichiers ont-cram avec des balises MM/ML et les fichiers bedgraph.

Installation

Création d'un Nouvel Environnement Conda

Pour créer un nouvel environnement Conda et installer Methplotlib :

conda create -n methplotlib methplotlib

Installation avec Pip

Pour installer Methplotlib en utilisant pip :

pip install methplotlib

Utilisation

Methplotlib est utilisé pour tracer les appels ou fréquences de méthylation de Nanopolish, Nanocompore, ont-cram ou bedgraph.

Commande de Base

methplotlib [-h] [-v] -m METHYLATION [METHYLATION ...] -n NAMES [NAMES ...] -w WINDOW [-g GTF] [-b BED] [-f FASTA] [--simplify] [--split] [--static STATIC] [--smooth SMOOTH] [--dotsize DOTSIZE] [--example] [-o OUTFILE] [-q QCFILE]

Arguments Optionnels

  • -h, --help: Affiche le message d'aide et quitte.

  • -v, --version: Affiche la version et quitte.

  • -m, --methylation METHYLATION [METHYLATION ...]: Données au format nanopolish, nanocompore, ont-cram ou bedgraph.

  • -n, --names NAMES [NAMES ...]: Noms des jeux de données dans --methylation.

  • -w, --window WINDOW: Fenêtre (région) à laquelle la visualisation doit être limitée.

  • -g, --gtf GTF: Ajouter une annotation basée sur un fichier GTF.

  • -b, --bed BED: Ajouter une annotation basée sur un fichier BED.

  • -f, --fasta FASTA: Requis lorsque --window est un chromosome entier, un contig ou un transcript.

  • --simplify: Simplifier la piste d'annotation pour afficher les gènes plutôt que les transcripts.

  • --split: Diviser plutôt que superposer les pistes de méthylation.

  • --static: Créer une image statique de la fenêtre du navigateur (nom du fichier).

  • --binary: Créer le tracé nanopolish en ignorant les nuances de log-likelihood.

  • --smooth: Taille de la fenêtre glissante pour la moyenne des valeurs de fréquence (int).

  • --dotsize: Contrôler la taille des points dans les tracés par lecture (int).

  • --example: Afficher la commande d'exemple et quitter.

  • -o, --outfile OUTFILE: Fichier de sortie des résultats. Par défaut : methylation_browser_{chr}_{start}_{end}.html. Utilisez {region} comme raccourci pour {chr}_{start}_{end} dans le nom de fichier. Les chemins manquants seront créés.

  • -q, --qcfile QCFILE: Fichier de rapport de QC. Par défaut : le chemin dans outfile préfixé par qc_, par exemple qc_report_methylation_browser_{chr}_{start}_{end}.html. Utilisez {region} comme raccourci pour {chr}_{start}_{end} dans le nom de fichier. Les chemins manquants seront créés.

Exemples d'Utilisation

Pour tracer les appels de méthylation de Nanopolish :

Pour tracer les appels de méthylation de Nanopolish :

methplotlib -m path/to/nanopolish_methylation.tsv -n Sample1 -w chr1:1000000-2000000 -g path/to/annotations.gtf -f path/to/reference.fasta -o output.html

Utilisation de Nanocompore

Pour tracer les données de Nanocompore :

methplotlib -m path/to/nanocompore_output.tsv -n Sample2 -w chr2:3000000-4000000 -b path/to/annotations.bed -o output.html

Utilisation avec Bedgraph

Pour utiliser des fichiers bedgraph :

methplotlib -m path/to/methylation.bedgraph -n Sample4 -w chr4:7000000-8000000 -g path/to/annotations.gtf -f path/to/reference.fasta -o output.html

Methylartist

MethylArtist est un outil bioinformatique conçu pour analyser les données de méthylation de l'ADN. Il permet de visualiser la méthylation sur des régions spécifiques de l'ADN en utilisant des fichiers BED pour guider l'analyse. Ce module est particulièrement utile pour les chercheurs souhaitant identifier les patterns de méthylation et leur impact potentiel sur la régulation des gènes.

Installation de MethylArtist

MethylArtist est disponible via pip ou conda :

pip install methylartist

ou

conda install -c bioconda methylartist

Fonctionnement de MethylArtist

MethylArtist commence par analyser chaque ligne du fichier BED fourni. Pour chaque région spécifiée, l'outil cherche les données de méthylation correspondantes et calcule la moyenne de la méthylation pour la région entière. Un point représentant cette moyenne est ensuite placé sur un graphique.

Nous verrons par la suite 3 cas patients :

  • 1 patient Normal

  • 1 patient Hyperméthylé

  • 1 patient Hypométhylé

Ces cas de figures permettront de visualiser si les résultats obtenus sont pertinants

Voici les régions que nous allons regarder pour comparer la méthylation des différents patients. C'est la région 15q du chromosome 15

chr15	23686413	23687205
chr15	24848046	24848435
chr15	24878211	24878560
chr15	25438474	25439046

Lancement de Methylartist

Pour commencer nous allons creer le TSV à partir de notre BAM et de notre BED en spécifiant les motifs que nous cherchons, dans notre cas le CG. Le tsv va donc contenir toutes les données de méthylation des régions de notre BED.

methylartist segmeth -b "input.bam" -i "15q.bed" -p 32 --ref "hg38.fa" --motif CG > output.segmeth.tsv

Ensuite nous alons créer l'image pour visualiser cette méthylation

methylartist segplot -s "input.segmeth.tsv" -o "output.png"

Ici nous pouvons remarquer la différences de méthylation significative entre nos différents patient et elle correspond bien au fait qu'ils soient hyperméthylé ou hypo.

Nous pouvons aller plus loin en séparant notre BED pour que au lieu de prendre une moyenne par région on prenne qu'une seule base par une seule base.

Ici nous pouvons voir beaucoup plus de points et vraiment voir la différence de hauteur des points et la différence de volume

Maintenant nous allons séparer nos régions avec des id pour voir lesquelles sont plus pertinantes que d'autres dans notre sélection

Grâce à cette vue nous pouvons remarquer que la région 4 par exemple n'est pas très pertinante vu qu'elle ne présente pas de méthylation (en rouge)

Nous pouvons également rajouter un paramètre en plus dans notre commande pour visualiser notre méthylation avec des violins

methylartist segplot -s "input.segmeth.tsv" -v -o "output.png"

Last updated