跳转至

Hi‑C 分析流程

本文档记录在 Linux (Ubuntu 22.04) 环境下,从原始测序数据到获得标准化 Hi‑C 矩阵的完整流程。主要使用 HiC‑ProJuicer 两条技术路线,并比较两者差异,供后续根据项目需求选择。

1. HiC‑Pro 与 Juicer 的差别

HiC‑Pro Juicer
设计理念 “模块化”——用户可自由组合与参数定制 “一键式”——尽量封装全部步骤
受支持的限制性内切酶 任意酶(自定义) 目前仅支持 HindIIIMboI
并行能力 支持多样本并行 支持,且针对超大数据集优化
输出格式 .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 安装依赖

sudo apt update && sudo apt upgrade -y

方法 A:Conda(0.8.3,不推荐

conda create -n hicup -y
conda activate hicup
conda install -y hicup

方法 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 质控流程

  1. 构建 Bowtie2 索引
bowtie2-build dk1622.fna dk1622.fna
  1. 模拟酶切
hicup_digester --genome dk1622 --re1 ^GATC,MboI dk1622.fna
  1. 生成并编辑配置文件
hicup --example      # 生成 hicup_example.conf

修改示例配置:

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
  1. 运行 HiC‑UP
hicup --config hicup_example.conf

执行结束后,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 configureg++ not found,请先安装:

sudo apt install -y g++

然后继续:

make configure PREFIX=/opt/software   # 可自定义安装位置
make install

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 运行

HiC-Pro -i fastq/sample1 \
        -o results/sample1 \
        -c config_hicpro.txt

成功后将在 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. 参考链接


更新记录

日期 版本 说明
2025‑07‑02 v1.0 初稿整理

TODO

  • [ ] 完善 Juicer GPU 加速说明
  • [ ] 补充 HiCExplorer 可视化示例