Hi‑C 分析流程¶
本文档记录在 Linux (Ubuntu 22.04) 环境下,从原始测序数据到获得标准化 Hi‑C 矩阵的完整流程。主要使用 HiC‑Pro 与 Juicer 两条技术路线,并比较两者差异,供后续根据项目需求选择。
1. HiC‑Pro 与 Juicer 的差别¶
| HiC‑Pro | Juicer | |
|---|---|---|
| 设计理念 | “模块化”——用户可自由组合与参数定制 | “一键式”——尽量封装全部步骤 |
| 受支持的限制性内切酶 | 任意酶(自定义) | 目前仅支持 HindIII、MboI |
| 并行能力 | 支持多样本并行 | 支持,且针对超大数据集优化 |
| 输出格式 | .bed, .pairs, .matrix 等多种 |
只生成 .hic |
| 后续分析 | 需自行调用第三方工具 | 内置 3D‑DNA、Arrowhead、HiCCUPS 等 |
选择建议
- 快速原型验证 / 超大数据集:优先 Juicer。
- 需要灵活改动、支持冷门酶或自定义分辨率:推荐 HiC‑Pro。
Hi‑C 流程总览

2. 环境准备¶
2.1 创建虚拟机(可选)¶
如果您的本地操作系统不是Linux,建议先安装虚拟机(如VirtualBox)并部署一个Linux发行版(如Ubuntu Server)。
2.2 安装 Miniconda¶
# 下载并静默安装
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -p ~/miniconda3
# 初始化
source ~/miniconda3/bin/activate
conda init --all
exec $SHELL # 重新加载 shell
3. 使用 HiC‑UP 进行数据质控¶
3.1 安装依赖¶
方法 A:Conda(0.8.3,不推荐)¶
方法 B:源码安装(v0.9.2,推荐)¶
# 下载并解压
wget https://github.com/StevenWingett/HiCUP/archive/refs/tags/v0.9.2.tar.gz
tar -zxvf v0.9.2.tar.gz
# 创建环境并安装依赖
conda create -n hicup -y
conda activate hicup
conda install -y samtools bowtie2 pandoc r-base r-tidyverse r-plotly perl
3.2 质控流程¶
- 构建 Bowtie2 索引
- 模拟酶切
- 生成并编辑配置文件
修改示例配置:
Threads: 16
Bowtie2: /path/to/bowtie2
Index: /path/to/dk1622.index
Digest: /path/to/Digest_dk1622_MboI.txt
# FASTQ (paired-end, 相邻两行)
/data/DK_2.R1.fastq.gz
/data/DK_2.R2.fastq.gz
- 运行 HiC‑UP
执行结束后,results/ 目录下将生成 HTML 质控报告及过滤后的 FASTQ。
4. HiC‑Pro 流程¶
4.1 下载与安装¶
wget https://github.com/nservant/HiC-Pro/archive/refs/tags/v3.1.0.zip
unzip v3.1.0.zip && cd HiC-Pro-3.1.0
# 建议修改 environment.yml 中的 name 字段为 hicpro
conda env create -f environment.yml
conda activate hicpro
若执行 make configure 报 g++ not found,请先安装:
然后继续:
4.2 参考文件准备¶
# 1. 生成酶切位点 bed
digest_genome.py -r ^GATC -o dk1622.bed dk1622.fna
# 2. 染色体长度表
samtools faidx dk1622.fna
cut -f1,2 dk1622.fna.fai > dk1622.size
# 3. Bowtie2 索引
bowtie2-build dk1622.fna dk1622.fna
项目推荐的目录结构:
project/
├── config_hicpro.txt
├── genome/
│ ├── dk1622.fna
│ ├── dk1622.bed
│ ├── dk1622.size
│ ├── dk1622.fna.1.bt2 ...
├── fastq/
│ └── sample1/
│ ├── DK_2.R1.fastq.gz
│ └── DK_2.R2.fastq.gz
└── results/
4.3 运行¶
成功后将在 results/sample1/hic_results/data/ 下生成 .matrix, .bed, .pairs 等文件,可直接用于 downstream 分析或可视化工具(如 HiCExplorer / Juicebox)。
5. Juicer 简要安装¶
仅给出核心步骤,详细请参考官方文档。
# 依赖:java 1.8+, bwa, samtools, g++ 等
git clone https://github.com/aidenlab/juicer.git
cd juicer
bash scripts/juicer.sh -g DK1622 -s MboI -z dk1622.fna -p dk1622.size -y dk1622.bed -D /path/to/juicer
生成的 DK1622.hic 可在 Juicebox GUI 打开,或供 3D‑DNA、HiCCUPS、Arrowhead 等后续工具使用。
6. 常见问题¶
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
Can not proceed without g++ |
系统缺失编译器 | sudo apt install g++ |
| HiC‑Pro 报 “index not found” | Bowtie2 索引文件名与参考序列不一致 | 保证二者前缀完全一致,如 dk1622.fna |
| Juicer 卡在 Sorting | 内存不足 | 增大 -S 参数或使用高内存节点 |
7. 参考链接¶
- HiC‑Pro: https://github.com/nservant/HiC-Pro
- HiC‑UP: https://github.com/StevenWingett/HiCUP
- Juicer & Juicebox: https://github.com/aidenlab/juicer
更新记录¶
| 日期 | 版本 | 说明 |
|---|---|---|
| 2025‑07‑02 | v1.0 | 初稿整理 |
TODO¶
- [ ] 完善 Juicer GPU 加速说明
- [ ] 补充 HiCExplorer 可视化示例