alterlab-deeptools — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-deeptools (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
This skill should be used when:
For users new to deepTools, start with file validation and common workflows:
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.
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.shSee assets/quick_reference.md for frequently used commands and parameters.
uv pip install deeptoolsdeepTools workflows typically follow this pattern: QC → Normalization → Comparison/Visualization
When users request ChIP-seq QC or quality assessment:
scripts/workflow_generator.py chipseq_qcInterpreting results:
Full workflow details in references/workflows.md → "ChIP-seq Quality Control Workflow"
For full ChIP-seq analysis from BAM to visualizations:
Use scripts/workflow_generator.py chipseq_analysis to generate template.
Complete command sequences in references/workflows.md → "ChIP-seq Analysis Workflow"
For strand-specific RNA-seq coverage tracks:
Use bamCoverage with --filterRNAstrand to separate forward and reverse strands.
Important: NEVER use --extendReads for RNA-seq (would extend over splice junctions).
Use normalization: CPM for fixed bins, RPKM for gene-level analysis.
Template available: scripts/workflow_generator.py rnaseq_coverage
Details in references/workflows.md → "RNA-seq Coverage Workflow"
ATAC-seq requires Tn5 offset correction:
--ATACshiftTemplate: scripts/workflow_generator.py atacseq
Full workflow in references/workflows.md → "ATAC-seq Workflow"
deepTools commands group into three categories. Quick command examples for each live in references/usage_playbook.md → "Inline Command Examples by Category"; full parameter documentation is in references/tools_reference.md.
multiBigwigSummary, correctGCBias, alignmentSieve (tools_reference.md → "BAM and bigWig File Processing Tools")
bamPEFragmentSize (tools_reference.md → "Quality Control Tools")
(tools_reference.md → "Visualization Tools")
Choosing the correct normalization is critical for valid comparisons. Consult references/normalization_methods.md for comprehensive guidance.
Quick selection guide:
Normalization methods:
Full explanation: references/normalization_methods.md
RPGC normalization requires effective genome size. Common values:
| Organism | Assembly | Size | Usage |
|---|---|---|---|
| Human | GRCh38/hg38 | 2,913,022,398 | --effectiveGenomeSize 2913022398 |
| 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
Many deepTools commands share these options:
Performance:
--numberOfProcessors, -p: Enable parallel processing (always use available cores)--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 filteringRead Processing:
--extendReads: Extend to fragment length (ChIP-seq: YES, RNA-seq: NO)--centerReads: Center at fragment midpoint for sharper signalsAlways validate files first using scripts/validate_files.py to check:
--region chr1:1-10000000 for parameter testing--extendReads 200--ignoreDuplicates in most cases--ignoreDuplicates after GC correction--filterRNAstrand forward/reverse for stranded libraries--ATACshift--numberOfProcessors 8 (or available cores)BAM index missing:
samtools index input.bamOut of memory: Process chromosomes individually using --region:
bamCoverage --bam input.bam -o chr1.bw --region chr1Slow processing: Increase --numberOfProcessors and/or increase --binSize
bigWig files too large: Increase bin size: --binSize 50 or larger
Run validation script to identify issues:
python scripts/validate_files.py --bam *.bam --bed regions.bedCommon errors and solutions explained in script output.
Load the matching reference on demand:
| Reference | Load when |
|---|---|
references/tools_reference.md | User asks about a specific tool, parameter, or detailed usage. All commands by category (BAM/bigWig 9, QC 6, visualization 3, misc 2) with parameters, examples, and notes. |
references/workflows.md | User needs a complete analysis pipeline. ChIP-seq QC, ChIP-seq analysis, RNA-seq coverage, ATAC-seq, multi-sample comparison, peak region analysis, performance tips. |
references/normalization_methods.md | User asks about normalization, comparing samples, or which method to use. Per-method detail (RPGC/CPM/RPKM/BPM…), formulas, selection guide, pitfalls. |
references/effective_genome_sizes.md | User needs a genome size for RPGC normalization or GC-bias correction. Per-organism and read-length-specific values, custom-genome calculation. |
references/usage_playbook.md | Driving the skill: per-request playbooks, example interactions, quick command examples by category, and grep recipes for searching the references above. |
Validates BAM, bigWig, and BED files for deepTools analysis. Checks file existence, indices, and format.
Usage:
python scripts/validate_files.py --bam sample1.bam sample2.bam \
--bed peaks.bed --bigwig signal.bwWhen to use: Before starting any analysis, or when troubleshooting errors.
Generates customizable bash script templates for common deepTools workflows.
Available workflows:
chipseq_qc: ChIP-seq quality controlchipseq_analysis: Complete ChIP-seq analysisrnaseq_coverage: Strand-specific RNA-seq coverageatacseq: ATAC-seq with Tn5 correctionUsage:
# List workflows
python scripts/workflow_generator.py --list
# Generate 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
# Run generated workflow
chmod +x qc.sh
./qc.shWhen to use: Users request standard workflows or need template scripts to customize.
Quick reference card with most common commands, effective genome sizes, and typical workflow pattern.
When to use: Users need quick command examples without detailed documentation.
Per-request playbooks (new vs experienced users, task-specific responses for "convert BAM to bigWig" / "check ChIP quality" / "create heatmap" / "compare samples"), example interactions, and grep recipes for searching the references all live in references/usage_playbook.md. The common thread: validate files first → pick the right workflow/normalization → generate or run the command → explain the result.
--extendReads YES for ChIP-seq, NO for RNA-seq (would span splice junctions)--normalizeUsing value; --scaleFactorsMethod only takes readCount/SES/None--region~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.