返回Skills库

deepTools:NGS 数据分析工具包

MIT
📊 数据知识
K-Dense-AI可视化

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 区域文件

快速入门

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

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==3.5.6

上游建议使用 conda/bioconda 以获得完整的依赖解析,尤其是在共享的 HPC 系统上:

conda install -c conda-forge -c bioconda deeptools

在 Apple Silicon 上,当原生 conda 软件包不可用时,上游文档记录了上面的 PyPI 路径或 osx-64 conda 环境两种方案。

核心工作流

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 Quality Control Workflow"

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 Analysis Workflow" 中的完整命令序列

RNA-seq 覆盖度工作流

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

使用带有 --filterRNAstrand 的 bamCoverage 分离前向和反向链。

重要:对于 RNA-seq 永远不要使用 --extendReads(会跨越剪接位点)。

链说明: --filterRNAstrand 假定常见的 dUTP/NSR/NNSR 反向链文库构建方式。对于 read 1 与 RNA 链方向一致的文库,前向/反向输出会颠倒;当文库化学方法不同时,请使用 SAM 标志过滤。

使用归一化:CPM 用于固定箱,RPKM 用于基因级分析。

可用模板:scripts/workflow_generator.py rnaseq_coverage

references/workflows.md → "RNA-seq Coverage Workflow" 中的详细信息

ATAC-seq 分析工作流

ATAC-seq 需要 Tn5 偏移校正:

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

模板:scripts/workflow_generator.py atacseq

references/workflows.md → "ATAC-seq Workflow" 中的完整工作流

工具类别和常见任务

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 and bigWig File Processing Tools"

质量控制

检查 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 → "Quality Control Tools"

可视化

在 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 → "Visualization Tools"

归一化方法

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

快速选择指南:

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

归一化方法:

  • RPGC:1× 基因组覆盖度(需要 --effectiveGenomeSize)
  • CPM:每百万映射读取的计数
  • RPKM:每千碱基每百万读取(按每箱长度和文库大小缩放)
  • BPM:每百万箱,类似于在分箱信号上进行 TPM 式缩放
  • None:原始计数(不推荐用于比较)

完整说明:references/normalization_methods.md

有效基因组大小

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

| 生物 | 组装 | 大小 | 用法 |

|----------|----------|------|-------|

| 人类 | GRCh38/hg38 | 2,913,022,398 | --effectiveGenomeSize 2913022398 |

| 人类 | T2T/CHM13CAT_v2 | 3,117,292,070 | --effectiveGenomeSize 3117292070 |

| 小鼠 | GRCm39/mm39 | 2,654,621,783 | --effectiveGenomeSize 2654621783 |

| 小鼠 | 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:启用并行处理(始终使用可用核心)
  • max / max/2--numberOfProcessors 支持的值;在使用调度器时很有用,因为较新版本的 deepTools 对 CPU 亲和性的检测更加细致
  • --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(会跨越剪接位点)
  • 链特异性:对于常见的 dUTP 式链特异性库使用 --filterRNAstrand forward/reverse;在解读链标签之前,先确认文库方向
  • 归一化:箱使用 CPM,基因使用 RPKM

ATAC-seq 特定

  • 应用 Tn5 校正:使用带有 --ATACshift 的 alignmentSieve
  • 仅使用正确配对的读取进行移位--ATACshift 等价于 --shift 4 -5 5 -4,并过滤为正确配对的片段
  • 片段过滤:设置适当的最小/最大片段长度
  • 检查核小体模式:片段大小图应显示梯形模式

性能优化

  1. 使用多个处理器--numberOfProcessors 8(或可用核心)
  2. 增加箱大小以加快处理速度并减小文件大小
  3. 单独处理染色体以用于内存受限的系统
  4. 使用 alignmentSieve 预过滤 BAM 文件以创建可重用的过滤文件
  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 个工具)
  • 其他工具(3 个工具,包括 bigwigAverage

每个工具包括:

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

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

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

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

用法:

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:带有 Tn5 校正的 ATAC-seq

用法:

# 列出工作流
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 与 scale-regions)
  • 建议可视化参数和聚类选项

"比较样本":

  • 推荐用于两个样本比较的 bamCompare
  • 建议用于多样本的 multiBamSummary + plotCorrelation
  • 指导归一化方法选择

参考文档

当用户需要详细信息时:

  • 工具详细信息:指向 references/tools_reference.md 中的特定部分
  • 工作流:使用 references/workflows.md 进行完整分析管道
  • 归一化:查阅 references/normalization_methods.md 进行方法选择
  • 基因组大小:参考 references/effective_genome_sizes.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. 使用 reference-point 模式在 TSS 处使用 computeMatrix
  3. 使用适当的可视化参数生成 plotHeatmap
  4. 如果数据集较大,建议聚类
  5. 提供轮廓图作为补充

关键提醒

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

兼容工具

Claude CodeOpenClawHermes Agent

数据来源:claude-scientific-skillsMIT 许可) | 查看上游来源

上游项目:K-Dense-AI/scientific-agent-skills / claude-scientific-skills | 收录时间:2026-08-18 | 更新:2026-08-18

本页面内容基于上游开源许可项目整理,仅供学习参考。AI铺子不对第三方内容承担责任, 详情请参阅免责声明