用途与背景
deepTools 是一套用于处理和分析高通量测序数据的 Python 命令行工具集。根据资料,它可用于质量控制、数据归一化、样本比较,并为 ChIP-seq、RNA-seq、ATAC-seq、MNase-seq 及其他 NGS 实验生成可发表级别的可视化图表。其典型工作流遵循 "QC → Normalization → Comparison/Visualization"(质量控制 → 归一化 → 比较/可视化)的模式。
主要能力
资料列出的核心能力包括:
- 将 BAM 比对转换为归一化的覆盖度轨道(bigWig/bedGraph)
- 质量控制评估(指纹图、相关性、覆盖度)
- 样本比较与相关性分析
- 围绕基因组特征生成热图和分布曲线图
- 富集分析和峰值区域可视化
工具按类别分为:BAM/bigWig 处理工具(9 个)、质量控制工具(6 个)、可视化工具(3 个)、杂项工具(2 个)。资料中提到的具体工具包括:bamCoverage、bamCompare、multiBamSummary、multiBigwigSummary、correctGCBias、alignmentSieve(BAM/bigWig 处理);plotFingerprint、plotCoverage、plotCorrelation、plotPCA、bamPEFragmentSize(质控);computeMatrix、plotHeatmap、plotProfile、plotEnrichment(可视化)。
安装
使用以下命令安装:
uv pip install deeptools
使用方式
资料提供了辅助脚本与命令示例:
文件校验(分析前验证 BAM、bigWig、BED 文件):
python scripts/validate_files.py --bam sample1.bam sample2.bam --bed regions.bed
生成工作流模板:
# 列出可用工作流
python scripts/workflow_generator.py --list
# 生成 ChIP-seq QC 工作流
python scripts/workflow_generator.py chipseq_qc -o qc_workflow.sh \
--input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam" \
--genome-size 2913022398
# 赋予执行权限并运行
chmod +x qc_workflow.sh
./qc_workflow.sh
可用的工作流模板包括:chipseq_qc(ChIP-seq 质量控制)、chipseq_analysis(完整 ChIP-seq 分析)、rnaseq_coverage(链特异性 RNA-seq 覆盖度)、atacseq(含 Tn5 校正的 ATAC-seq)。
资料还提供了具体操作示例,例如 BAM 转 bigWig:
bamCoverage --bam input.bam --outFileName output.bw \
--normalizeUsing RPGC --effectiveGenomeSize 2913022398 \
--binSize 10 --numberOfProcessors 8
样本比较(log2 比值):
bamCompare -b1 treatment.bam -b2 control.bam -o ratio.bw \
--operation log2 --scaleFactorsMethod readCount
围绕 TSS 生成热图采用两步流程(computeMatrix → plotHeatmap):
# 计算矩阵
computeMatrix reference-point -S signal.bw -R genes.bed \
-b 3000 -a 3000 --referencePoint TSS -o matrix.gz
# 生成热图
plotHeatmap -m matrix.gz -o heatmap.png \
--colorMap RdBu --kmeans 3
归一化方法
资料强调选择正确的归一化对有效比较至关重要,并列出:RPGC(1× 基因组覆盖度,需要 --effectiveGenomeSize)、CPM(每百万比对读数计数)、RPKM(考虑区域长度)、BPM、None(原始计数,不推荐用于比较)。快速选择指南:ChIP-seq 覆盖度用 RPGC 或 CPM;ChIP-seq 比较用 bamCompare 配合 log2 和 readCount;RNA-seq 分箱用 CPM;RNA-seq 基因用 RPKM;ATAC-seq 用 RPGC 或 CPM。
有效基因组大小
RPGC 归一化需要有效基因组大小,资料给出常见值:人类 GRCh38/hg38 为 2,913,022,398;小鼠 GRCm38/mm10 为 2,652,783,500;斑马鱼 GRCz11 为 1,368,780,147;果蝇 dm6 为 142,573,017;线虫 ce10/ce11 为 100,286,401。
适用场景
资料列出的适用场景包括:文件转换(BAM 转 bigWig、生成覆盖度轨道、归一化 ChIP-seq 数据);质量控制(检查 ChIP 质量、比较重复样本、评估测序深度);可视化(围绕 TSS 生成热图、绘制 ChIP 信号、可视化富集、生成分布曲线);样本比较(处理组 vs 对照组、样本相关性、PCA 分析);分析工作流(分析 ChIP-seq、RNA-seq 覆盖度、ATAC-seq 分析)。
限制与注意事项
资料中包含针对不同实验类型的具体注意事项:
- RNA-seq:绝不要使用 --extendReads(会跨越剪接位点);链特异性文库使用 --filterRNAstrand forward/reverse;分箱用 CPM,基因水平用 RPKM。
- ChIP-seq:应始终使用 --extendReads 200;多数情况使用 --ignoreDuplicates;详细分析前先运行 plotFingerprint 检查富集;仅当检测到显著偏差时才应用 GC 校正,且 GC 校正后绝不使用 --ignoreDuplicates。
- ATAC-seq:需使用 alignmentSieve 配合 --ATACshift 进行 Tn5 校正;设置合适的片段长度过滤;片段大小图应显示核小体阶梯模式。
资料还提到性能优化建议(使用多处理器、增大 binSize、按染色体分别处理、优先使用 bigWig 而非 bedGraph)和故障排查(BAM 索引缺失时用 samtools index、内存不足时用 --region 分染色体处理等)。上述内容均来自资料,未提供的细节(如具体性能基准、收费信息、平台支持范围等)暂未提供。