深度工具Skill deeptools

deepTools 是一个用于下一代测序(NGS)数据分析的Python命令行工具包,提供BAM到bigWig转换、质量控制、样本比较和可视化功能,支持ChIP-seq、RNA-seq、ATAC-seq等多种实验类型。关键词:NGS分析,生物信息学,数据可视化,质量控制。

数据分析 0 次安装 0 次浏览 更新于 3/20/2026

name: 深度工具 description: “NGS分析工具包。BAM到bigWig转换,QC(相关性,PCA,指纹),热图/配置文件(TSS,峰),用于ChIP-seq、RNA-seq、ATAC-seq可视化。”

deepTools:NGS数据分析工具包

概述

deepTools 是一个全面的Python命令行工具套件,设计用于处理和分析高通量测序数据。使用deepTools进行质量控制、数据标准化、样本比较,并为ChIP-seq、RNA-seq、ATAC-seq、MNase-seq和其他NGS实验生成出版物质量的可视化。

核心能力:

  • 将BAM比对转换为标准化覆盖轨道(bigWig/bedGraph)
  • 质量控制评估(指纹、相关性、覆盖)
  • 样本比较和相关性分析
  • 围绕基因组特征生成热图和配置文件图
  • 富集分析和峰区域可视化

何时使用此技能

此技能应在以下情况使用:

  • 文件转换: “转换BAM到bigWig”、“生成覆盖轨道”、“标准化ChIP-seq数据”
  • 质量控制: “检查ChIP质量”、“比较重复样本”、“评估测序深度”、“QC分析”
  • 可视化: “创建TSS周围热图”、“绘制ChIP信号”、“可视化富集”、“生成配置文件图”
  • 样本比较: “比较处理与对照”、“关联样本”、“PCA分析”
  • 分析工作流: “分析ChIP-seq数据”、“RNA-seq覆盖”、“ATAC-seq分析”、“完整工作流”
  • 处理特定文件类型: BAM文件、bigWig文件、BED区域文件在基因组学上下文中

快速入门

对于新用户,从文件验证和常见工作流开始:

1. 验证输入文件

在运行任何分析之前,使用验证脚本验证BAM、bigWig和BED文件:

python scripts/validate_files.py --bam sample1.bam sample2.bam --bed regions.bed

这检查文件存在、BAM索引和格式正确性。

2. 生成工作流模板

对于标准分析,使用工作流生成器创建自定义脚本:

# 列出可用工作流
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

3. 最常见操作

查看assets/quick_reference.md获取常用命令和参数。

安装

uv pip install deeptools

核心工作流

deepTools工作流通常遵循此模式:QC → 标准化 → 比较/可视化

ChIP-seq质量控制工作流

当用户请求ChIP-seq QC或质量评估时:

  1. 使用scripts/workflow_generator.py chipseq_qc生成工作流脚本
  2. 关键QC步骤:
    • 样本相关性(multiBamSummary + plotCorrelation)
    • PCA分析(plotPCA)
    • 覆盖评估(plotCoverage)
    • 片段大小验证(bamPEFragmentSize)
    • ChIP富集强度(plotFingerprint)

解释结果:

  • 相关性: 重复样本应聚类在一起,相关性高(>0.9)
  • 指纹: 强ChIP显示陡峭上升;平坦对角线表示富集差
  • 覆盖: 评估测序深度是否足够进行分析

完整工作流详情在references/workflows.md → “ChIP-seq质量控制工作流”

ChIP-seq完整分析工作流

用于从BAM到可视化的完整ChIP-seq分析:

  1. 使用标准化生成覆盖轨道(bamCoverage)
  2. 创建比较轨道(bamCompare用于log2比率)
  3. 围绕特征计算信号矩阵(computeMatrix)
  4. 生成可视化(plotHeatmap,plotProfile)
  5. 在峰处进行富集分析(plotEnrichment)

使用scripts/workflow_generator.py chipseq_analysis生成模板。

完整命令序列在references/workflows.md → “ChIP-seq分析工作流”

RNA-seq覆盖工作流

用于链特异性RNA-seq覆盖轨道:

使用bamCoverage和--filterRNAstrand分离正向和反向链。

重要: 切勿对RNA-seq使用--extendReads(会跨越剪接点)。

使用标准化:CPM用于固定分箱,RPKM用于基因级别分析。

模板可用:scripts/workflow_generator.py rnaseq_coverage

详情在references/workflows.md → “RNA-seq覆盖工作流”

ATAC-seq分析工作流

ATAC-seq需要Tn5偏移校正:

  1. 使用alignmentSieve和--ATACshift转移读取
  2. 使用bamCoverage生成覆盖
  3. 分析片段大小(预期核小体梯状模式)
  4. 如果可用,在峰处可视化

模板:scripts/workflow_generator.py atacseq

完整工作流在references/workflows.md → “ATAC-seq工作流”

工具类别和常见任务

BAM/bigWig处理

将BAM转换为标准化覆盖:

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

关键工具: bamCoverage、bamCompare、multiBamSummary、multiBigwigSummary、correctGCBias、alignmentSieve

完整参考:references/tools_reference.md → “BAM和bigWig文件处理工具”

质量控制

检查ChIP富集:

plotFingerprint -b input.bam chip.bam -o fingerprint.png \
    --extendReads 200 --ignoreDuplicates

样本相关性:

multiBamSummary bins --bamfiles *.bam -o counts.npz
plotCorrelation -in counts.npz --corMethod pearson \
    --whatToShow heatmap -o correlation.png

关键工具: plotFingerprint、plotCoverage、plotCorrelation、plotPCA、bamPEFragmentSize

完整参考:references/tools_reference.md → “质量控制工具”

可视化

创建TSS周围热图:

# 计算矩阵
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

创建配置文件图:

plotProfile -m matrix.gz -o profile.png \
    --plotType lines --colors blue red

关键工具: computeMatrix、plotHeatmap、plotProfile、plotEnrichment

完整参考:references/tools_reference.md → “可视化工具”

标准化方法

选择正确的标准化对于有效比较至关重要。查阅references/normalization_methods.md获取全面指导。

快速选择指南:

  • ChIP-seq覆盖: 使用RPGC或CPM
  • ChIP-seq比较: 使用bamCompare与log2和readCount
  • RNA-seq分箱: 使用CPM
  • RNA-seq基因: 使用RPKM(考虑基因长度)
  • ATAC-seq: 使用RPGC或CPM

标准化方法:

  • RPGC: 1×基因组覆盖(需要–effectiveGenomeSize)
  • CPM: 每百万映射读取计数
  • RPKM: 每千碱基每百万读取(考虑区域长度)
  • BPM: 每百万分箱
  • 无: 原始计数(不建议用于比较)

完整解释:references/normalization_methods.md

有效基因组大小

RPGC标准化需要有效基因组大小。常见值:

生物体 组装 大小 使用
人类 GRCh38/hg38 2,913,022,398 --effectiveGenomeSize 2913022398
小鼠 GRCm38/mm10 2,652,783,500 --effectiveGenomeSize 2652783500
斑马鱼 GRCz11 1,368,780,147 --effectiveGenomeSize 1368780147
果蝇 dm6 142,573,017 --effectiveGenomeSize 142573017
线虫 ce10/ce11 100,286,401 --effectiveGenomeSize 100286401

完整表带读取长度特定值:references/effective_genome_sizes.md

跨工具常见参数

许多deepTools命令共享这些选项:

性能:

  • --numberOfProcessors, -p:启用并行处理(始终使用可用核心)
  • --region:为测试处理特定区域(例如,chr1:1-1000000

读取过滤:

  • --ignoreDuplicates:移除PCR重复(推荐用于大多数分析)
  • --minMappingQuality:按对齐质量过滤(例如,--minMappingQuality 10
  • --minFragmentLength / --maxFragmentLength:片段长度边界
  • --samFlagInclude / --samFlagExclude:SAM标志过滤

读取处理:

  • --extendReads:扩展到片段长度(ChIP-seq:是,RNA-seq:否)
  • --centerReads:在片段中点居中以获得更锐信号

最佳实践

文件验证

始终首先验证文件使用scripts/validate_files.py检查:

  • 文件存在和可读性
  • BAM索引存在(.bai文件)
  • BED格式正确性
  • 文件大小合理

分析策略

  1. 从QC开始: 在进行前运行相关性、覆盖和指纹分析
  2. 在小区域测试: 使用--region chr1:1-10000000进行参数测试
  3. 记录命令: 保存完整命令行以进行可重复性
  4. 使用一致标准化: 在比较中对样本应用相同方法
  5. 验证基因组组装: 确保BAM和BED文件使用匹配的基因组构建

ChIP-seq特定

  • 始终扩展读取用于ChIP-seq:--extendReads 200
  • 移除重复: 在大多数情况下使用--ignoreDuplicates
  • 首先检查富集: 在详细分析前运行plotFingerprint
  • GC校正: 仅检测到显著偏差时应用;GC校正后切勿使用--ignoreDuplicates

RNA-seq特定

  • 切勿扩展读取用于RNA-seq(会跨越剪接点)
  • 链特异性: 用于链文库使用--filterRNAstrand forward/reverse
  • 标准化: CPM用于分箱,RPKM用于基因

ATAC-seq特定

  • 应用Tn5校正: 使用alignmentSieve与--ATACshift
  • 片段过滤: 设置适当的min/max片段长度
  • 检查核小体模式: 片段大小图应显示梯状模式

性能优化

  1. 使用多处理器: --numberOfProcessors 8(或可用核心)
  2. 增加分箱大小以更快处理和更小文件
  3. 单独处理染色体用于内存有限系统
  4. 预过滤BAM文件使用alignmentSieve创建可重用过滤文件
  5. 使用bigWig而非bedGraph: 压缩并更快处理

故障排除

常见问题

BAM索引缺失:

samtools index input.bam

内存不足: 使用--region单独处理染色体:

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

处理慢: 增加--numberOfProcessors和/或增加--binSize

bigWig文件太大: 增加分箱大小:--binSize 50或更大

验证错误

运行验证脚本以识别问题:

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

常见错误和解决方案在脚本输出中解释。

参考文档

此技能包括全面参考文档:

references/tools_reference.md

所有deepTools命令的完整文档按类别组织:

  • BAM和bigWig处理工具(9工具)
  • 质量控制工具(6工具)
  • 可视化工具(3工具)
  • 杂项工具(2工具)

每个工具包括:

  • 目的和概述
  • 关键参数带解释
  • 使用示例
  • 重要说明和最佳实践

使用此参考当: 用户询问特定工具、参数或详细使用。

references/workflows.md

常见分析的工作流示例:

  • ChIP-seq质量控制工作流
  • ChIP-seq完整分析工作流
  • RNA-seq覆盖工作流
  • ATAC-seq分析工作流
  • 多样本比较工作流
  • 峰区域分析工作流
  • 故障排除和性能提示

使用此参考当: 用户需要完整分析流水线或工作流示例。

references/normalization_methods.md

标准化方法的全面指南:

  • 每种方法的详细解释(RPGC、CPM、RPKM、BPM等)
  • 何时使用每种方法
  • 公式和解释
  • 按实验类型的选择指南
  • 常见陷阱和解决方案
  • 快速参考表

使用此参考当: 用户询问标准化、比较样本或使用哪种方法。

references/effective_genome_sizes.md

有效基因组大小值和使用:

  • 常见生物体值(人类、小鼠、果蝇、线虫、斑马鱼)
  • 读取长度特定值
  • 计算方法
  • 在命令中何时和如何使用
  • 自定义基因组计算说明

使用此参考当: 用户需要基因组大小用于RPGC标准化或GC偏差校正。

助手脚本

scripts/validate_files.py

验证BAM、bigWig和BED文件用于deepTools分析。检查文件存在、索引和格式。

使用:

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

何时使用: 在开始任何分析之前,或故障排除错误时。

scripts/workflow_generator.py

为常见deepTools工作流生成可自定义的bash脚本模板。

可用工作流:

  • chipseq_qc:ChIP-seq质量控制
  • chipseq_analysis:完整ChIP-seq分析
  • rnaseq_coverage:链特异性RNA-seq覆盖
  • atacseq:ATAC-seq与Tn5校正

使用:

# 列出工作流
python scripts/workflow_generator.py --list

# 生成工作流
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

# 运行生成的工作流
chmod +x qc.sh
./qc.sh

何时使用: 用户请求标准工作流或需要模板脚本自定义。

资产

assets/quick_reference.md

快速参考卡带最常见命令、有效基因组大小和典型工作流模式。

何时使用: 用户需要快速命令示例不带详细文档。

处理用户请求

对于新用户

  1. 从安装验证开始
  2. 使用scripts/validate_files.py验证输入文件
  3. 基于实验类型推荐适当工作流
  4. 使用scripts/workflow_generator.py生成工作流模板
  5. 引导自定义和执行

对于有经验用户

  1. 提供请求操作的特定工具命令
  2. 参考references/tools_reference.md中适当部分
  3. 建议优化和最佳实践
  4. 提供问题故障排除

对于特定任务

“转换BAM到bigWig”:

  • 使用bamCoverage带适当标准化
  • 基于使用案例推荐RPGC或CPM
  • 提供生物体有效基因组大小
  • 建议相关参数(extendReads、ignoreDuplicates、binSize)

“检查ChIP质量”:

  • 运行完整QC工作流或特定使用plotFingerprint
  • 解释结果
  • 基于结果建议后续行动

“创建热图”:

  • 引导两步过程:computeMatrix → plotHeatmap
  • 帮助选择适当矩阵模式(reference-point vs scale-regions)
  • 建议可视化参数和聚类选项

“比较样本”:

  • 推荐bamCompare用于两样本比较
  • 建议multiBamSummary + plotCorrelation用于多样本
  • 引导标准化方法选择

参考文档

当用户需要详细信息时:

  • 工具详情: 直接到references/tools_reference.md中特定部分
  • 工作流: 使用references/workflows.md获取完整分析流水线
  • 标准化: 查阅references/normalization_methods.md进行方法选择
  • 基因组大小: 参考references/effective_genome_sizes.md

使用grep模式搜索参考:

# 查找工具文档
grep -A 20 "^### toolname" references/tools_reference.md

# 查找工作流
grep -A 50 "^## Workflow Name" references/workflows.md

# 查找标准化方法
grep -A 15 "^### Method Name" references/normalization_methods.md

示例交互

用户:“我需要分析我的ChIP-seq数据”

响应方法:

  1. 询问可用文件(BAM文件、峰、基因)
  2. 使用验证脚本验证文件
  3. 生成chipseq_analysis工作流模板
  4. 自定义为特定文件和生物体
  5. 解释脚本运行时的每一步

用户:“我应该使用哪种标准化?”

响应方法:

  1. 询问实验类型(ChIP-seq、RNA-seq等)
  2. 询问比较目标(样本内或样本间)
  3. 查阅references/normalization_methods.md选择指南
  4. 推荐适当方法带理由
  5. 提供参数示例命令

用户:“创建TSS周围热图”

响应方法:

  1. 验证bigWig和基因BED文件可用
  2. 使用computeMatrix带reference-point模式在TSS
  3. 生成plotHeatmap带适当可视化参数
  4. 如果数据集大,建议聚类
  5. 提供配置文件图作为补充

关键提醒

  • 首先文件验证: 始终在分析前验证输入文件
  • 标准化重要: 选择适当方法进行比较类型
  • 小心扩展读取: ChIP-seq是,RNA-seq否
  • 使用所有核心: 设置--numberOfProcessors为可用核心
  • 在区域测试: 使用--region进行参数测试
  • 首先检查QC: 在详细分析前运行质量控制
  • 记录一切: 保存命令以进行可重复性
  • 参考文档: 使用全面参考获取详细指导