Was macht deepTools: NGS-Datenanalyse-Toolkit?
Übersicht
deepTools ist eine umfassende Suite von Python-Kommandozeilenwerkzeugen, die für die Verarbeitung und Analyse von Hochdurchsatz-Sequenzierungsdaten entwickelt wurde. Verwenden Sie deepTools, um Qualitätskontrollen durchzuführen, Daten zu normalisieren, Proben zu vergleichen und publikationsreife Visualisierungen für ChIP-seq, RNA-seq, ATAC-seq, MNase-seq und andere NGS-Experimente zu erstellen.
Kernfähigkeiten:
- Konvertierung von BAM-Alignments in normalisierte Coverage-Tracks (bigWig/bedGraph)
- Bewertung der Qualitätskontrolle (Fingerabdruck, Korrelation, Coverage)
- Probenvergleich und Korrelationsanalyse
- Erstellung von Heatmaps und Profilplots um genomische Merkmale
- Anreicherungsanalyse und Visualisierung von Peak-Regionen
Wann Sie diese Fertigkeit einsetzen sollten
Diese Fertigkeit sollte eingesetzt werden, wenn:
- Dateikonvertierung: „BAM in bigWig konvertieren“, „Coverage-Tracks erzeugen“, „ChIP-seq-Daten normalisieren“
- Qualitätskontrolle: „ChIP-Qualität prüfen“, „Replikate vergleichen“, „Sequenziertiefe bewerten“, „QC-Analyse“
- Visualisierung: „Heatmap um TSS herum erstellen“, „ChIP-Signal plotten“, „Anreicherung visualisieren“, „Profilplot erzeugen“
- Probenvergleich: „Behandlung vs. Kontrolle vergleichen“, „Proben korrelieren“, „PCA-Analyse“
- Analyse-Workflows: „ChIP-seq-Daten analysieren“, „RNA-seq-Coverage“, „ATAC-seq-Analyse“, „kompletter Workflow“
- Arbeiten mit bestimmten Dateitypen: BAM-Dateien, bigWig-Dateien, BED-Regionsdateien im Genomik-Kontext
Schnellstart
Für Benutzer, die neu bei deepTools sind, beginnen Sie mit der Dateivalidierung und gängigen Workflows:
1. Eingabedateien validieren
Führen Sie vor jeder Analyse die Validierung von BAM-, bigWig- und BED-Dateien mit dem Validierungsskript durch:
python scripts/validate_files.py --bam sample1.bam sample2.bam --bed regions.bed
Dies prüft Dateiexistenz, BAM-Indizes und Formatkorrektheit.
2. Workflow-Vorlage erstellen
Verwenden Sie für Standardanalysen den Workflow-Generator, um angepasste Skripte zu erstellen:
# Verfügbare Workflows auflisten
python scripts/workflow_generator.py --list
# ChIP-seq-QC-Workflow generieren
python scripts/workflow_generator.py chipseq_qc -o qc_workflow.sh \
--input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam" \
--genome-size 2913022398
# Ausführbar machen und ausführen
chmod +x qc_workflow.sh
./qc_workflow.sh
3. Häufigste Operationen
Siehe assets/quick_reference.md für häufig verwendete Befehle und Parameter.
Installation
uv pip install deepTools==3.5.6
Upstream empfiehlt conda/bioconda für vollständige Abhängigkeitsauflösung, insbesondere auf gemeinsamen HPC-Systemen:
conda install -c conda-forge -c bioconda deeptools
Auf Apple Silicon dokumentiert Upstream entweder den PyPI-Weg oben oder eine osx-64-Conda-Umgebung, wenn native Conda-Pakete nicht verfügbar sind.
Kern-Workflows und Tool-Kategorien
Vollständige Befehlsketten für ChIP-seq-QC, vollständige ChIP-seq-Analyse, RNA-seq-Coverage und ATAC-seq-Analyse – plus die Kategorien BAM/bigWig-Verarbeitung, Qualitätskontrolle und Visualisierung – finden Sie in references/core_workflows.md und references/workflows.md. Die Optionen pro Tool finden Sie in references/tools_reference.md.
Normalisierungsmethoden
Die Wahl der richtigen Normalisierung ist entscheidend für gültige Vergleiche. Konsultieren Sie references/normalization_methods.md für eine umfassende Anleitung.
Schnellauswahlhilfe:
- ChIP-seq-Coverage: Verwenden Sie RPGC oder CPM
- ChIP-seq-Vergleich: Verwenden Sie bamCompare mit log2 und readCount
- RNA-seq-Bins: Verwenden Sie CPM
- RNA-seq-Gene: Verwenden Sie RPKM (berücksichtigt die Genlänge)
- ATAC-seq: Verwenden Sie RPGC oder CPM
Normalisierungsmethoden:
- RPGC: 1× Genom-Coverage (erfordert --effectiveGenomeSize)
- CPM: Counts pro Million gemappter Reads
- RPKM: Reads pro Kilobase pro Million (pro-Bin-Längen- und Bibliotheksgrößen-Skalierung)
- BPM: Bins pro Million, analog zur TPM-Skalierung über Binned-Signal
- Keine: Rohe Counts (nicht für Vergleiche empfohlen)
Vollständige Erklärung: references/normalization_methods.md
Effektive Genomgrößen
Die RPGC-Normalisierung erfordert die effektive Genomgröße. Häufige Werte:
| Organismus | Assemblierung | Größe | Verwendung |
|---|---|---|---|
| Mensch | GRCh38/hg38 | 2.913.022.398 | --effectiveGenomeSize 2913022398 |
| Mensch | T2T/CHM13CAT_v2 | 3.117.292.070 | --effectiveGenomeSize 3117292070 |
| Maus | GRCm39/mm39 | 2.654.621.783 | --effectiveGenomeSize 2654621783 |
| Maus | GRCm38/mm10 | 2.652.783.500 | --effectiveGenomeSize 2652783500 |
| Zebrafisch | GRCz11 | 1.368.780.147 | --effectiveGenomeSize 1368780147 |
| Drosophila | dm6 | 142.573.017 | --effectiveGenomeSize 142573017 |
| C. elegans | ce10/ce11 | 100.286.401 | --effectiveGenomeSize 100286401 |
Vollständige Tabelle mit leselängenspezifischen Werten: references/effective_genome_sizes.md
Gemeinsame Parameter über Tools hinweg
Viele deepTools-Befehle teilen diese Optionen:
Leistung:
--numberOfProcessors, -p: Parallele Verarbeitung aktivieren (immer verfügbare Kerne verwenden)max/max/2: Unterstützte Werte für--numberOfProcessors; nützlich unter Schedulern, da neuere deepTools-Releases CPU-Affinität sorgfältiger erkennen--region: Bestimmte Regionen zum Testen verarbeiten (z. B.chr1:1-1000000)
Read-Filterung:
--ignoreDuplicates: PCR-Duplikate entfernen (für die meisten Analysen empfohlen)--minMappingQuality: Nach Alignierungsqualität filtern (z. B.--minMappingQuality 10)--minFragmentLength/--maxFragmentLength: Fragmentlängengrenzen--samFlagInclude/--samFlagExclude: SAM-Flag-Filterung
Read-Verarbeitung:
--extendReads: Auf Fragmentlänge verlängern (ChIP-seq: JA, RNA-seq: NEIN)--centerReads: Auf Fragmentmittelpunkt zentrieren für schärfere Signale
Best Practices
Dateivalidierung
Validiere Dateien immer zuerst mit scripts/validate_files.py, um Folgendes zu prüfen:
- Dateiexistenz und Lesbarkeit
- Vorhandensein von BAM-Indizes (.bai-Dateien)
- Korrektheit des BED-Formats
- Angemessene Dateigrößen
Analysestrategie
- Mit QC beginnen: Korrelations-, Coverage- und Fingerabdruckanalyse vor dem Fortfahren durchführen
- Auf kleinen Regionen testen:
--region chr1:1-10000000zum Testen von Parametern verwenden - Befehle dokumentieren: Vollständige Befehlszeilen für Reproduzierbarkeit speichern
- Konsistente Normalisierung verwenden: Gleiche Methode auf alle Proben in Vergleichen anwenden
- Genomassemblierung überprüfen: Sicherstellen, dass BAM- und BED-Dateien übereinstimmende Genom-Builds verwenden
ChIP-seq-Spezifisch
- Reads immer verlängern für ChIP-seq:
--extendReads 200 - Duplikate entfernen:
--ignoreDuplicatesin den meisten Fällen verwenden - Zuerst Anreicherung prüfen: plotFingerprint vor detaillierter Analyse ausführen
- GC-Korrektur: Nur anwenden, wenn signifikante Verzerrung erkannt wurde;
--ignoreDuplicatesnach GC-Korrektur niemals verwenden
RNA-seq-Spezifisch
- Reads niemals verlängern für RNA-seq (würde Spleißstellen überspannen)
- Strangspezifisch:
--filterRNAstrand forward/reversefür übliche dUTP-strangspezifische Bibliotheken verwenden; Bibliotheksorientierung bestätigen, bevor Strangetiketten interpretiert werden - Normalisierung: CPM für Bins, RPKM für Gene
ATAC-seq-Spezifisch
- Tn5-Korrektur anwenden: alignmentSieve mit
--ATACshiftverwenden - Nur korrekte Paare für Verschiebung verwenden:
--ATACshiftist äquivalent zu--shift 4 -5 5 -4und filtert auf korrekt gepaarte Fragmente - Fragmentfilterung: Angemessene min/max-Fragmentlängen festlegen
- Nukleosomenmuster prüfen: Fragmentgrößenplot sollte ein Leitermuster zeigen
Leistungsoptimierung
- Mehrere Prozessoren verwenden:
--numberOfProcessors 8(oder verfügbare Kerne) - Bingröße erhöhen für schnellere Verarbeitung und kleinere Dateien
- Chromosomen separat verarbeiten für speicherbegrenzte Systeme
- BAM-Dateien vorfiltern mit alignmentSieve, um wiederverwendbare gefilterte Dateien zu erstellen
- bigWig gegenüber bedGraph verwenden: Komprimiert und schneller zu verarbeiten
Fehlerbehebung
Häufige Probleme
BAM-Index fehlt:
samtools index input.bam
Nicht genügend Speicher:
Chromosomen einzeln mit --region verarbeiten:
bamCoverage --bam input.bam -o chr1.bw --region chr1
Langsame Verarbeitung:
--numberOfProcessors und/oder --binSize erhöhen
bigWig-Dateien zu groß:
Bingröße erhöhen: --binSize 50 oder größer
Validierungsfehler
Validierungsskript ausführen, um Probleme zu identifizieren:
python scripts/validate_files.py --bam *.bam --bed regions.bed
Häufige Fehler und Lösungen werden in der Skriptausgabe erläutert.
Referenzdokumentation
Diese Fertigkeit enthält umfassende Referenzdokumentation:
references/tools_reference.md
Vollständige Dokumentation aller deepTools-Befehle, kategorisiert:
- BAM- und bigWig-Verarbeitungswerkzeuge (9 Werkzeuge)
- Qualitätskontrollwerkzeuge (6 Werkzeuge)
- Visualisierungswerkzeuge (3 Werkzeuge)
- Verschiedene Werkzeuge (3 Werkzeuge, einschließlich
bigwigAverage)
Jedes Werkzeug enthält:
- Zweck und Übersicht
- Wichtige Parameter mit Erläuterungen
- Anwendungsbeispiele
- Wichtige Hinweise und Best Practices
Diese Referenz verwenden, wenn: Benutzer nach bestimmten Tools, Parametern oder detaillierter Verwendung fragen.
references/workflows.md
Vollständige Workflow-Beispiele für gängige Analysen:
- ChIP-seq-Qualitätskontroll-Workflow
- ChIP-seq-vollständiger Analyse-Workflow
- RNA-seq-Coverage-Workflow
- ATAC-seq-Analyse-Workflow
- Multi-Sample-Vergleichs-Workflow
- Peak-Region-Analyse-Workflow
- Fehlerbehebungs- und Leistungstipps
Diese Referenz verwenden, wenn: Benutzer vollständige Analyse-Pipelines oder Workflow-Beispiele benötigen.
references/normalization_methods.md
Umfassender Leitfaden zu Normalisierungsmethoden:
- Detaillierte Erklärung jeder Methode (RPGC, CPM, RPKM, BPM, usw.)
- Wann welche Methode verwendet werden sollte
- Formeln und Interpretation
- Auswahlhilfe nach Experimenttyp
- Häufige Fallstricke und Lösungen
- Kurzreferenztabelle
Diese Referenz verwenden, wenn: Benutzer Fragen zur Normalisierung, zum Vergleich von Proben oder zur Auswahl der Methode haben.
references/effective_genome_sizes.md
Effektive Genomgrößenwerte und Verwendung:
- Häufige Organismuswerte (Mensch, Maus, Fliege, Wurm, Zebrafisch)
- Leselängenspezifische Werte
- Berechnungsmethoden
- Wann und wie in Befehlen zu verwenden
- Anweisungen zur Berechnung benutzerdefinierter Genome
Diese Referenz verwenden, wenn: Benutzer die Genomgröße für die RPGC-Normalisierung oder die GC-Bias-Korrektur benötigen.
Hilfsskripte
scripts/validate_files.py
Validiert BAM-, bigWig- und BED-Dateien für die deepTools-Analyse. Prüft Dateiexistenz, Indizes und Format.
Verwendung:
python scripts/validate_files.py --bam sample1.bam sample2.bam \
--bed peaks.bed --bigwig signal.bw
Wann verwenden: Vor dem Start einer Analyse oder bei der Fehlerbehebung.
scripts/workflow_generator.py
Erzeugt anpassbare Bash-Skriptvorlagen für gängige deepTools-Workflows.
Verfügbare Workflows:
chipseq_qc: ChIP-seq-Qualitätskontrollechipseq_analysis: Vollständige ChIP-seq-Analysernaseq_coverage: Strangspezifisches RNA-seq-Coverageatacseq: ATAC-seq mit Tn5-Korrektur
Verwendung:
# Workflows auflisten
python scripts/workflow_generator.py --list
# Workflow generieren
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
# Generierten Workflow ausführen
chmod +x qc.sh
./qc.sh
Wann verwenden: Benutzer fordern Standard-Workflows an oder benötigen Vorlagenskripte zur Anpassung.
Assets
assets/quick_reference.md
Kurzreferenz mit den häufigsten Befehlen, effektiven Genomgrößen und typischen Workflow-Mustern.
Wann verwenden: Benutzer benötigen schnelle Befehlsbeispiele ohne ausführliche Dokumentation.
Umgang mit Benutzeranfragen
Für neue Benutzer
- Mit Installationsüberprüfung beginnen
- Eingabedateien mit
scripts/validate_files.pyvalidieren - Je nach Experimenttyp geeigneten Workflow empfehlen
- Workflow-Vorlage mit
scripts/workflow_generator.pygenerieren - Durch Anpassung und Ausführung führen
Für erfahrene Benutzer
- Spezifische Tool-Befehle für angeforderte Operationen bereitstellen
- Auf entsprechende Abschnitte in
references/tools_reference.mdverweisen - Optimierungen und Best Practices vorschlagen
- Fehlerbehebung bei Problemen anbieten
Für bestimmte Aufgaben
„BAM in bigWig konvertieren“:
- bamCoverage mit geeigneter Normalisierung verwenden
- RPGC oder CPM je nach Anwendungsfall empfehlen
- Effektive Genomgröße für den Organismus angeben
- Relevante Parameter vorschlagen (extendReads, ignoreDuplicates, binSize)
„ChIP-Qualität prüfen“:
- Vollständigen QC-Workflow ausführen oder speziell plotFingerprint verwenden
- Interpretation der Ergebnisse erläutern
- Folgeaktionen basierend auf Ergebnissen vorschlagen
„Heatmap erstellen“:
- Durch den zweistufigen Prozess führen: computeMatrix → plotHeatmap
- Bei der Auswahl des geeigneten Matrixmodus helfen (reference-point vs scale-regions)
- Visualisierungsparameter und Clustering-Optionen vorschlagen
„Proben vergleichen“:
- bamCompare für Zwei-Proben-Vergleich empfehlen
- multiBamSummary + plotCorrelation für mehrere Proben vorschlagen
- Bei der Auswahl der Normalisierungsmethode anleiten
Dokumentation referenzieren
Wenn Benutzer detaillierte Informationen benötigen:
- Tool-Details: Auf bestimmte Abschnitte in
references/tools_reference.mdverweisen - Workflows:
references/workflows.mdfür vollständige Analyse-Pipelines verwenden - Normalisierung:
references/normalization_methods.mdfür die Methodenauswahl konsultieren - Genomgrößen:
references/effective_genome_sizes.mdreferenzieren
Beispielinteraktionen
Benutzer: „Ich muss meine ChIP-seq-Daten analysieren“
Antwortansatz:
- Nach verfügbaren Dateien fragen (BAM-Dateien, Peaks, Gene)
- Dateien mit dem Validierungsskript validieren
- chipseq_analysis-Workflow-Vorlage generieren
- Für ihre spezifischen Dateien und Organismus anpassen
- Jeden Schritt erklären, während das Skript läuft
Benutzer: „Welche Normalisierung sollte ich verwenden?“
Antwortansatz:
- Nach Experimenttyp fragen (ChIP-seq, RNA-seq, usw.)
- Nach Vergleichsziel fragen (innerhalb einer Probe oder zwischen Proben)
references/normalization_methods.md-Auswahlhilfe konsultieren- Geeignete Methode mit Begründung empfehlen
- Befehlsbeispiel mit Parametern bereitstellen
Benutzer: „Erstelle eine Heatmap um TSS herum“
Antwortansatz:
- bigWig-Dateien und G...