deeptools

Par mkurman · zorai

npx skills add https://github.com/mkurman/zorai --skill deeptools

name: deeptools description: Toolkit d'analyse NGS. Conversion BAM vers bigWig, QC (corrélation, PCA, empreintes digitales), heatmaps/profils (TSS, peaks), pour visualisation ChIP-seq, RNA-seq, ATAC-seq. license: BSD license tags: [scientific-skills, deeptools, visualization, bioinformatics] metadata: skill-author: K-Dense Inc. -------|----------|------|-------| | Human | GRCh38/hg38 | 2 913 022 398 | --effectiveGenomeSize 2913022398 | | Souris | GRCm38/mm10 | 2 652 783 500 | --effectiveGenomeSize 2652783500 | | Poisson zèbre | GRCz11 | 1 368 780 147 | --effectiveGenomeSize 1368780147 | | Drosophila | dm6 | 142 573 017 | --effectiveGenomeSize 142573017 | | C. elegans | ce10/ce11 | 100 286 401 | --effectiveGenomeSize 100286401 |

Tableau complet avec valeurs spécifiques à la longueur de lecture : references/effective_genome_sizes.md

Paramètres communs aux outils

De nombreuses commandes deepTools partagent ces options :

Performance :

  • --numberOfProcessors, -p : Activer le traitement parallèle (utiliser toujours les cores disponibles)
  • --region : Traiter des régions spécifiques pour les tests (ex. chr1:1-1000000)

Filtrage des lectures :

  • --ignoreDuplicates : Supprimer les doublons PCR (recommandé pour la plupart des analyses)
  • --minMappingQuality : Filtrer par qualité d'alignement (ex. --minMappingQuality 10)
  • --minFragmentLength / --maxFragmentLength : Limites de longueur de fragment
  • --samFlagInclude / --samFlagExclude : Filtrage par drapeau SAM

Traitement des lectures :

  • --extendReads : Étendre à la longueur de fragment (ChIP-seq : OUI, RNA-seq : NON)
  • --centerReads : Centrer au point médian du fragment pour des signaux plus nets

Bonnes pratiques

Validation de fichiers

Toujours valider les fichiers d'abord en utilisant scripts/validate_files.py pour vérifier :

  • Existence et lisibilité des fichiers
  • Indices BAM présents (fichiers .bai)
  • Correction du format BED
  • Tailles de fichier raisonnables

Stratégie d'analyse

  1. Commencer par le QC : Exécuter corrélation, couverture et analyse d'empreinte digitale avant de poursuivre
  2. Tester sur de petites régions : Utiliser --region chr1:1-10000000 pour tester les paramètres
  3. Documenter les commandes : Sauvegarder les lignes de commande complètes pour reproductibilité
  4. Utiliser une normalisation cohérente : Appliquer la même méthode pour tous les échantillons dans les comparaisons
  5. Vérifier l'assemblage du génome : S'assurer que les fichiers BAM et BED utilisent les mêmes versions de génome

Spécifique à ChIP-seq

  • Toujours étendre les lectures pour ChIP-seq : --extendReads 200
  • Supprimer les doublons : Utiliser --ignoreDuplicates dans la plupart des cas
  • Vérifier l'enrichissement d'abord : Exécuter plotFingerprint avant une analyse détaillée
  • Correction GC : Ne l'appliquer que si biais significatif détecté ; ne jamais utiliser --ignoreDuplicates après correction GC

Spécifique à RNA-seq

  • Ne jamais étendre les lectures pour RNA-seq (traverserait les jonctions d'épissage)
  • Spécifique au brin : Utiliser --filterRNAstrand forward/reverse pour les librairies avec orientation
  • Normalisation : CPM pour les bins, RPKM pour les gènes

Spécifique à ATAC-seq

  • Appliquer correction Tn5 : Utiliser alignmentSieve avec --ATACshift
  • Filtrage de fragments : Définir les longueurs min/max appropriées
  • Vérifier le motif de nucléosome : Le graphique de taille de fragment doit montrer un motif en échelle

Optimisation des performances

  1. Utiliser plusieurs processeurs : --numberOfProcessors 8 (ou cores disponibles)
  2. Augmenter la taille de bin pour traitement plus rapide et fichiers plus petits
  3. Traiter les chromosomes séparément pour systèmes à mémoire limitée
  4. Pré-filtrer les fichiers BAM en utilisant alignmentSieve pour créer des fichiers filtrés réutilisables
  5. Préférer bigWig à bedGraph : Compressé et plus rapide à traiter

Dépannage

Problèmes courants

Index BAM manquant :

samtools index input.bam

Manque de mémoire : Traiter les chromosomes individuellement en utilisant --region :

bamCoverage --bam input.bam -o chr1.bw --region chr1

Traitement lent : Augmenter --numberOfProcessors et/ou --binSize

Fichiers bigWig trop volumineux : Augmenter la taille de bin : --binSize 50 ou plus

Erreurs de validation

Exécuter le script de validation pour identifier les problèmes :

python scripts/validate_files.py --bam *.bam --bed regions.bed

Les erreurs courantes et solutions sont expliquées dans la sortie du script.

Documentation de référence

Cette skill inclut une documentation de référence complète :

references/tools_reference.md

Documentation complète de toutes les commandes deepTools organisées par catégorie :

  • Outils de traitement BAM et bigWig (9 outils)
  • Outils de contrôle de qualité (6 outils)
  • Outils de visualisation (3 outils)
  • Outils divers (2 outils)

Chaque outil inclut :

  • Objectif et aperçu
  • Paramètres clés avec explications
  • Exemples d'utilisation
  • Notes importantes et bonnes pratiques

Utiliser cette référence quand : Les utilisateurs posent des questions sur des outils spécifiques, des paramètres ou une utilisation détaillée.

references/workflows.md

Exemples complets de workflows pour analyses courantes :

  • Workflow de contrôle de qualité ChIP-seq
  • Workflow complet d'analyse ChIP-seq
  • Workflow de couverture RNA-seq
  • Workflow d'analyse ATAC-seq
  • Workflow de comparaison multi-échantillons
  • Workflow d'analyse de région peak
  • Conseils de dépannage et optimisation des performances

Utiliser cette référence quand : Les utilisateurs ont besoin de pipelines d'analyse complets ou d'exemples de workflows.

references/normalization_methods.md

Guide complet des méthodes de normalisation :

  • Explication détaillée de chaque méthode (RPGC, CPM, RPKM, BPM, etc.)
  • Quand utiliser chaque méthode
  • Formules et interprétation
  • Guide de sélection par type d'expérience
  • Pièges courants et solutions
  • Tableau de référence rapide

Utiliser cette référence quand : Les utilisateurs posent des questions sur la normalisation, la comparaison d'échantillons ou le choix de la méthode.

references/effective_genome_sizes.md

Valeurs de taille de génome effectif et utilisation :

  • Valeurs courantes d'organismes (humain, souris, mouche, ver, poisson zèbre)
  • Valeurs spécifiques à la longueur de lecture
  • Méthodes de calcul
  • Quand et comment utiliser dans les commandes
  • Instructions de calcul pour génomes personnalisés

Utiliser cette référence quand : Les utilisateurs ont besoin de la taille de génome pour normalisation RPGC ou correction de biais GC.

Scripts d'aide

scripts/validate_files.py

Valide les fichiers BAM, bigWig et BED pour analyse deepTools. Vérifie existence des fichiers, indices et format.

Utilisation :

python scripts/validate_files.py --bam sample1.bam sample2.bam \
    --bed peaks.bed --bigwig signal.bw

Quand utiliser : Avant de commencer une analyse, ou lors du dépannage d'erreurs.

scripts/workflow_generator.py

Génère des modèles de script bash personnalisables pour workflows deepTools courants.

Workflows disponibles :

  • chipseq_qc : Contrôle de qualité ChIP-seq
  • chipseq_analysis : Analyse complète ChIP-seq
  • rnaseq_coverage : Couverture RNA-seq avec orientation
  • atacseq : ATAC-seq avec correction Tn5

Utilisation :

# Lister les workflows
python scripts/workflow_generator.py --list

# Générer un workflow
python scripts/workflow_generator.py chipseq_qc -o qc.sh \
    --input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam" \
    --genome-size 2913022398 --threads 8

# Exécuter le workflow généré
chmod +x qc.sh
./qc.sh

Quand utiliser : Quand les utilisateurs demandent des workflows standard ou des modèles de script à personnaliser.

Assets

assets/quick_reference.md

Fiche de référence rapide avec les commandes les plus courantes, tailles de génome effectives et motif de workflow typique.

Quand utiliser : Les utilisateurs ont besoin d'exemples de commandes rapides sans documentation détaillée.

Gestion des demandes utilisateur

Pour nouveaux utilisateurs

  1. Commencer par vérification de l'installation
  2. Valider les fichiers d'entrée avec scripts/validate_files.py
  3. Recommander un workflow approprié selon le type d'expérience
  4. Générer un modèle de workflow avec scripts/workflow_generator.py
  5. Guider à travers la personnalisation et l'exécution

Pour utilisateurs expérimentés

  1. Fournir des commandes d'outils spécifiques pour les opérations demandées
  2. Référencer les sections appropriées dans references/tools_reference.md
  3. Suggérer des optimisations et bonnes pratiques
  4. Offrir un dépannage pour les problèmes

Pour tâches spécifiques

"Convertir BAM en bigWig" :

  • Utiliser bamCoverage avec normalisation appropriée
  • Recommander RPGC ou CPM selon le cas d'usage
  • Fournir la taille de génome effectif pour l'organisme
  • Suggérer les paramètres pertinents (extendReads, ignoreDuplicates, binSize)

"Vérifier la qualité ChIP" :

  • Exécuter le workflow QC complet ou utiliser plotFingerprint spécifiquement
  • Expliquer l'interprétation des résultats
  • Suggérer les actions de suivi selon les résultats

"Créer une heatmap" :

  • Guider à travers le processus en deux étapes : computeMatrix → plotHeatmap
  • Aider au choix du mode matrice (reference-point vs scale-regions)
  • Suggérer les paramètres de visualisation et options de clustering

"Comparer des échantillons" :

  • Recommander bamCompare pour comparaison deux échantillons
  • Suggérer multiBamSummary + plotCorrelation pour plusieurs échantillons
  • Guider la sélection de la méthode de normalisation

Référençage de la documentation

Quand les utilisateurs ont besoin d'informations détaillées :

  • Détails d'outils : Diriger vers sections spécifiques dans references/tools_reference.md
  • Workflows : Utiliser references/workflows.md pour pipelines d'analyse complets
  • Normalisation : Consulter references/normalization_methods.md pour sélection de méthode
  • Tailles de génome : Référencer references/effective_genome_sizes.md

Rechercher dans les références avec motifs grep :

# Trouver documentation d'outil
grep -A 20 "^### toolname" references/tools_reference.md

# Trouver workflow
grep -A 50 "^## Workflow Name" references/workflows.md

# Trouver méthode de normalisation
grep -A 15 "^### Method Name" references/normalization_methods.md

Exemples d'interactions

Utilisateur : "Je dois analyser mes données ChIP-seq"

Approche de réponse :

  1. Demander les fichiers disponibles (fichiers BAM, peaks, gènes)
  2. Valider les fichiers avec script de validation
  3. Générer un modèle workflow chipseq_analysis
  4. Personnaliser pour leurs fichiers et organisme spécifiques
  5. Expliquer chaque étape à l'exécution du script

Utilisateur : "Quelle normalisation devrais-je utiliser ?"

Approche de réponse :

  1. Demander le type d'expérience (ChIP-seq, RNA-seq, etc.)
  2. Demander l'objectif de comparaison (intra-échantillon ou inter-échantillons)
  3. Consulter le guide de sélection dans references/normalization_methods.md
  4. Recommander la méthode appropriée avec justification
  5. Fournir un exemple de commande avec paramètres

Utilisateur : "Créer une heatmap autour du TSS"

Approche de réponse :

  1. Vérifier que les fichiers bigWig et gènes BED sont disponibles
  2. Utiliser computeMatrix en mode reference-point au TSS
  3. Générer plotHeatmap avec paramètres de visualisation appropriés
  4. Suggérer le clustering si l'ensemble de données est volumineux
  5. Offrir un graphique de profil en complément

Rappels clés

  • Validation de fichiers d'abord : Toujours valider les fichiers d'entrée avant l'analyse
  • La normalisation compte : Choisir la méthode appropriée pour le type de comparaison
  • Étendre les lectures avec soin : OUI pour ChIP-seq, NON pour RNA-seq
  • Utiliser tous les cores : Définir --numberOfProcessors au nombre de cores disponibles
  • Tester sur des régions : Utiliser --region pour tester les paramètres
  • Vérifier le QC d'abord : Exécuter le contrôle de qualité avant une analyse détaillée
  • Documenter tout : Sauvegarder les commandes pour reproductibilité
  • Utiliser la documentation de référence : Consulter les références complètes pour guidance détaillée

Skills similaires