Deeptools
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
- Skill ID
- k-dense-ai/scientific-agent-skills/deeptools
- Publisher
- k-dense-ai
- Repository
- scientific-agent-skills
- Installs
- 0
- Files
- 9
- License
- BSD license
- Requires
- Requires Python >3.8 and deepTools 3.5.6-compatible dependencies. The upstream project recommends conda/bioconda for full dependency resolution; repo examples use uv with pinned PyPI installs for reproducible command-line workflows.
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
k-dense-ai/scientific-agent-skills/deeptoolsInstalls these files- SKILL.md
- assets/quick_reference.md
- references/core_workflows.md
- references/effective_genome_sizes.md
- references/normalization_methods.md
- references/tools_reference.md
- references/workflows.md
- scripts/validate_files.py
- scripts/workflow_generator.py
What this skill tells the agent
deepTools: NGS Data Analysis Toolkit
Overview
deepTools is a comprehensive suite of Python command-line tools designed for processing and analyzing high-throughput sequencing data. Use deepTools to perform quality control, normalize data, compare samples, and generate publication-quality visualizations for ChIP-seq, RNA-seq, ATAC-seq, MNase-seq, and other NGS experiments.
Core capabilities:
- Convert BAM alignments to normalized coverage tracks (bigWig/bedGraph)
- Quality control assessment (fingerprint, correlation, coverage)
- Sample comparison and correlation analysis
- Heatmap and profile plot generation around genomic features
- Enrichment analysis and peak region visualization
When to Use This Skill
This skill should be used when:
- File conversion: "Convert BAM to bigWig", "generate coverage tracks", "normalize ChIP-seq data"
- Quality control: "check ChIP quality", "compare replicates", "assess sequencing depth", "QC analysis"
- Visualization: "create heatmap around TSS", "plot ChIP signal", "visualize enrichment", "generate profile plot"
- Sample comparison: "compare treatment vs control", "correlate samples", "PCA analysis"
- Analysis workflows: "analyze ChIP-seq data", "RNA-seq coverage", "ATAC-seq analysis", "complete workflow"
- Working with specific file types: BAM files, bigWig files, BED region files in genomics context
Quick Start
For users new to deepTools, start with file validation and common workflows:
1. Validate Input Files
Before running any analysis, validate BAM, bigWig, and BED files using the validation script:
python scripts/validate_files.py --bam sample1.bam sample2.bam --bed regions.bedThis checks file existence, BAM indices, and format correctness.
2. Generate Workflow Template
For standard analyses, use the workflow generator to create customized scripts:
# List available workflows
python scripts/workflow_generator.py --list
# Generate ChIP-seq QC workflow
python scripts/workflow_generator.py chipseq_qc -o qc_workflow.sh \
--input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam" \
--genome-size 2913022398
# Make executable and run
chmod +x qc_workflow.sh
./qc_workflow.sh3. Most Common Operations
See assets/quick_reference.md for frequently used commands and parameters.
Installation
uv pip install deepTools==3.5.6Upstream recommends conda/bioconda for full dependency resolution, especially on shared HPC systems:
conda install -c conda-forge -c bioconda deeptoolsOn Apple Silicon, upstream documents either the PyPI route above or an osx-64 conda environment when native conda packages are unavailable.
Core Workflows and Tool Categories
Complete command sequences for ChIP-seq QC, full ChIP-seq analysis, RNA-seq coverage, and ATAC-seq analysis — plus the BAM/bigWig processing, quality control, and visualization tool categories — are in references/core_workflows.md and references/workflows.md. Per-tool options are in references/tools_reference.md.
Normalization Methods
Choosing the correct normalization is critical for valid comparisons. Consult references/normalization_methods.md for comprehensive guidance.
Quick selection guide:
- ChIP-seq coverage: Use RPGC or CPM
- ChIP-seq comparison: Use bamCompare with log2 and readCount
- RNA-seq bins: Use CPM
- RNA-seq genes: Use RPKM (accounts for gene length)
- ATAC-seq: Use RPGC or CPM
Normalization methods:
- RPGC: 1× genome coverage (requires --effectiveGenomeSize)
- CPM: Counts per million mapped reads
- RPKM: Reads per kb per million (per-bin length and library-size scaling)
- BPM: Bins per million, analogous to TPM-style scaling over binned signal
- None: Raw counts (not recommended for comparisons)
Full explanation: references/normalization_methods.md
Effective Genome Sizes
RPGC normalization requires effective genome size. Common values:
| Organism | Assembly | Size | Usage |
|---|---|---|---|
| Human | GRCh38/hg38 | 2,913,022,398 | --effectiveGenomeSize 2913022398 |
| Human | T2T/CHM13CAT_v2 | 3,117,292,070 | --effectiveGenomeSize 3117292070 |
| Mouse | GRCm39/mm39 | 2,654,621,783 | --effectiveGenomeSize 2654621783 |
| Mouse | GRCm38/mm10 | 2,652,783,500 | --effectiveGenomeSize 2652783500 |
| Zebrafish | GRCz11 | 1,368,780,147 | --effectiveGenomeSize 1368780147 |
| Drosophila | dm6 | 142,573,017 | --effectiveGenomeSize 142573017 |
| C. elegans | ce10/ce11 | 100,286,401 | --effectiveGenomeSize 100286401 |
Complete table with read-length-specific values: references/effective_genome_sizes.md
Common Parameters Across Tools
Many deepTools commands share these options:
Performance:
--numberOfProcessors, -p: Enable parallel processing (always use available cores)max/max/2: Supported values for--numberOfProcessors; useful under schedulers because recent deepTools releases detect CPU affinity more carefully--region: Process specific regions for testing (e.g.,chr1:1-1000000)
Read Filtering:
--ignoreDuplicates: Remove PCR duplicates (recommended for most analyses)--minMappingQuality: Filter by alignment quality (e.g.,--minMappingQuality 10)--minFragmentLength/--maxFragmentLength: Fragment length bounds--samFlagInclude/--samFlagExclude: SAM flag filtering
Read Processing:
--extendReads: Extend to fragment length (ChIP-seq: YES, RNA-seq: NO)--centerReads: Center at fragment midpoint for sharper signals
Best Practices
File Validation
Always validate files first using scripts/validate_files.py to check:
- File existence and readability
- BAM indices present (.bai files)
- BED format correctness
- File sizes reasonable
Analysis Strategy
- Start with QC: Run correlation, coverage, and fingerprint analysis before proceeding
- Test on small regions: Use
--region chr1:1-10000000for parameter testing - Document commands: Save full command lines for reproducibility
- Use consistent normalization: Apply same method across samples in comparisons
- Verify genome assembly: Ensure BAM and BED files use matching genome builds
ChIP-seq Specific
- Always extend reads for ChIP-seq:
--extendReads 200 - Remove duplicates: Use
--ignoreDuplicatesin most cases - Check enrichment first: Run plotFingerprint before detailed analysis
- GC correction: Only apply if significant bias detected; never use
--ignoreDuplicatesafter GC correction
RNA-seq Specific
- Never extend reads for RNA-seq (would span splice junctions)
- Strand-specific: Use
--filterRNAstrand forward/reversefor common dUTP-style stranded libraries; confirm library orientation before interpreting strand labels - Normalization: CPM for bins, RPKM for genes
ATAC-seq Specific
- Apply Tn5 correction: Use alignmentSieve with
--ATACshift - Use only proper pairs for shifting:
--ATACshiftis equivalent to--shift 4 -5 5 -4and filters to properly paired fragments - Fragment filtering: Set appropriate min/max fragment lengths
- Check nucleosome pattern: Fragment size plot should show ladder pattern
Performance Optimization
- Use multiple processors:
--numberOfProcessors 8(or available cores) - Increase bin size for faster processing and smaller files
- Process chromosomes separately for memory-limited systems
- Pre-filter BAM files using alignmentSieve to create reusable filtered files
- Use bigWig over bedGraph: Compressed and faster to process
Troubleshooting
Common Issues
BAM index missing:
samtools index input.bamOut of memory: Process chromosomes individually using --region:
bamCoverage --bam input.bam -o chr1.bw --region chr1More from k-dense-ai
Use this skill in a project
Open any RiverX project, search the Skills panel for k-dense-ai/scientific-agent-skills/deeptools, and install it in one click.
