为了将组装完成的 contig 数据拼接成为 scaffold,需要测定样本的 HiC 数据,通过片段间的互作强度推断片段间的物理距离,互作强度越强,物理距离越近,据此将分散的 contig 挂载成为 scaffold。其中,一般使用 Juicer 软件将 HiC 数据比对至基因组并构建 contig 间互作强度矩阵。然后,根据 Juicer 软件的输出,使用 3D-DNA 软件将 contig 挂载成为 scaffold。本文主要介绍如何使用 Juicer 软件分析 HiC 数据,下一篇博文将介绍 3D-DNA 软件的使用方法。
3.1 准备软件及数据
相比于其他软件,juicer 的使用较为复杂,因为 juicer 并不会自动的准备比对所需的数据,需要用户配置。
3.1.1 使用 mamba 安装 juicer
$ mamba install hcc::juicer
3.1.2 配置 juicer 软件环境
mamba 下载完成 juicer 软件后,并不能直接使用,因为包含了许多版本的 juicer,需要用户手动选择版本并配置相关环境。juicer 要求软件目录下包含 script/、references/、restriction_sites/ 三个文件夹。其中,script /目录下为 juicer 运行所需的脚本及 juicer_tools.jar 软件,references/ 目录下为参考基因组 fastq 文件及索引(bwa index 结果),restriction_sites/ 目录下为参考基因组酶切位点信息(generate_site_positions.py 结果)及 contig 长度信息,具体步骤如下。
1)创建 juicer 软件目录
$ mkdir /home/software/juicer-1.6
$ cd /home/software/juicer-1.6/
2)创建 scripts 文件夹并下载 juicer_tools
$ ln -s /home/miniconda3/pkgs/juicer-1.6-cuda_py310hbd92243_0/share/juicer-1.6-0/scripts/CPU/ scripts
"ln -s" 命令将通过 conda 下载的 juicer 文件软链接到 juicer 软件目录下,并创建 scripts/ 文件夹,CPU 表示单核版本。此外,juicer 还有SLURM、AWS(Amazon Web Services)、LSF、UGER 等集群版本。集群版本中仅 SLURM 在维护,其余版本作者已弃用。CPU/ 目录下文件为 juicer 运行所需的脚本。
# 下载 juicer_tools
$ wget https://s3.amazonaws.com/hicfiles.tc4ga.com/public/juicer/juicer_tools_1.22.01.jar
# 将 juicer_tools 移至 scripts/common/ 目录下,方可被 juicer 调用
$ cd scripts/common/
$ ln -s /home/software/juicer-1.6/juicer_tools_1.22.01.jar juicer_tools.jar
3)创建 references 文件夹收纳参考基因及其索引
$ cd /home/software/juicer-1.6/
$ mkdir references
$ cd references/
# 将 HiC 数据的参考基因组移至 references 目录下
$ ln -s /home/hifiasm_output/hifi.asm.bp.p_ctg.fa hifi.asm.bp.p_ctg.fa
# 构建基因组索引
$ bwa index hifi.asm.bp.p_ctg.fa
4)创建 restriction_sites 文件夹并获取参考基因组酶切位点、contig 长度信息
$ cd /home/software/juicer-1.6/
$ mkdir restriction_sites
$ cd restriction_sites/
$ python /home/miniconda3/pkgs/juicer-1.6-cuda_py310hbd92243_0/share/juicer-1.6-0/scripts/misc/generate_site_positions.py \
DpnII salsola ../references/hifi.asm.bp.p_ctg.fa
DpnII 限制性内切酶名称(用于切割参考基因组及输出文件命名):
salsola 参考基因组名称(用于输出文件命名):
../references/hifi.asm.bp.p_ctg.fa 参考基因组文件路径
salsola_DpnII.txt 输出文件,即参考基因组的酶切位点文件
# 获取 contig 长度信息
$ awk 'BEGIN{OFS="\t"}{print $1, $NF}' salsola_DpnII.txt > salsola.chrom.sizes
3.1.3 配置 juicer 工作环境
juicer 要求工作目录下包含 fastq/ 文件夹,存放 HiC 测序文件。juicer 运行时会默认从 fastq 文件夹内读取 HiC 测序信息。
# 创建 fastq 文件夹并建立 HiC 测序数据软链接
$ cd /home/juicer_output/
$ mkdir fastq
$ cd fastq/
$ ln -s /home/hic_data/hic.1.fq hic_R1.fastq
$ ln -s /home/hic_data/hic.2.fq hic_R2.fastq
PS:建立软链接避免数据重复占用存储空间。
PS:注意,juicer 只识别 fastq 文件夹内 _R.fastq 格式文件,软链接重命名时需要注意。
3.2 HiC 测序 reads 比对至参考基因组
$ cd /home/juicer_output/salsola/
$ /home/software/juicer-1.6/scripts/juicer.sh -t 30 -g salsola -s DpnII \
-p /home/software/juicer-1.6/restriction_sites/salsola.chrom.sizes \
-y /home/software/juicer-1.6/restriction_sites/salsola_DpnII.txt \
-z /home/software/juicer-1.6/references/hifi.asm.bp.p_ctg.fa \
-D /home/software/juicer-1.6/
-t 指定 bwa 比对 HiC 数据时的线程数(30)
-g 基因组名称(salsola)
-s 限制性内切酶类型(DpnII)
-p 基因组长度文件(salsola.chrom.sizes)
-y 限制性内切酶切割位点(salsola_DpnII.txt)
-z 参考基因组文件(hifi.asm.bp.p_ctg.fa)
-D juicer 软件环境(/home/software/juicer-1.6/)
3.3 juicer 输出文件说明
juicer 完成比对后,会在工作目录下生成 aligned/、split/ 文件夹。splits 中为 juicer 运行的中间文件,在确认 juicer 正确运行完成后,可以通过执行 clean.sh 脚本以删除中间文件、压缩较大的输出文件。aligned 目录下存放的是 juicer 最终输出结果,包括 hic 文件(inter.hic 和 inter_30.hic)、统计信息(inter.txt)、有效配对(merged_nodups)等。其中,hic 文件为图谱文件,是高度压缩的二进制文件,存储了多个分辨率的接触矩阵,支持随机访问,可以导入 juicebox 可视化不同区段间的互作强度。inter_30.hic 中 "30" 表示通过 MAPQ>30 过滤之后的结果。merged_nodups.txt 是已去除重复项的 Hi-C 接触数据,是下游 3D-DNA 等挂载软件的输入文件。
比对结果说明文件(inter.txt)
Sequenced Read Pairs: 321,253,776
Normal Paired: 164,730,220 (51.28%)
Chimeric Paired: 102,464,533 (31.90%)
Chimeric Ambiguous: 52,596,050 (16.37%)
Unmapped: 1,462,973 (0.46%)
Ligation Motif Present: 1,471,774 (0.46%)
Alignable (Normal+Chimeric Paired): 267,194,753 (83.17%)
Unique Reads: 186,269,122 (57.98%)
PCR Duplicates: 80,925,631 (25.19%)
Optical Duplicates: 0 (0.00%)
Library Complexity Estimate: 346,626,043
Intra-fragment Reads: 38,455,575 (11.97% / 20.65%)
Below MAPQ Threshold: 89,116,252 (27.74% / 47.84%)
Hi-C Contacts: 58,697,295 (18.27% / 31.51%)
Ligation Motif Present: 267,200 (0.08% / 0.14%)
3' Bias (Long Range): 52% - 48%
Pair Type %(L-I-O-R): 25% - 25% - 25% - 25%
Inter-chromosomal: 20,861,914 (6.49% / 11.20%)
Intra-chromosomal: 37,835,381 (11.78% / 20.31%)
Short Range (<20Kb): 24,785,356 (7.72% / 13.31%)
Long Range (>20Kb): 13,049,600 (4.06% / 7.01%)
- Alignable + Ambiguous + Unmapped = 100%
- Alignable = Unique Reads + PCR Duplicates
- Unique Reads = Intra-fragment Reads + Below MAPQ Threshold + Hi-C Contacts
- Hi-C Contacts = Inter-chrom + Intra-chrom
Alignable (Normal+Chimeric Paired):Normal Paired 和 Chimeric Paired 是序列比对领域的两个术语,这两类 Paired 都是有效 Paired。本案例中 HiC 测序数据中总共有 83% 的 Reads 是有效的。
PCR Duplicates:是指在 PCR 扩增过程中被重复扩增的序列。因为是重复信息,不纳入后续的分析,仅考虑 Unique Reads。一般以 30% 为阈值,如果测序数据的PCR重复度 >30%,说明 PCR 扩增轮数较高,测序结果已经饱和;如果 <30%,则说明还可以适当增加扩增轮数,提高测序结果中的信息量。
Intra-fragment Reads:Juicer 会按照特定的窗口大小(分辨率),将参考基因组序列划分为等长的 fragment,fragment 内的 Reads 称为Intra-fragment Reads。.hic 文件记录的是各染色体区域之间的相互作用矩阵,不包含区间内互作信息,所以 .hic 文件中不包含 Intra-fragment Reads 信息。从 Intra-fragment Reads 开始,后续条目均存在两个百分数,第一个百分数为该条目 Reads 数占总 Reads 数的比例,第二个百分数为该条目 Reads 数占 Unique Reads 的比例。
Below MAPQ Threshold:是指比对质量低于阈值(MAPQ<Threshold)的 Reads 数量。inter.txt 文件中 Threshold = 0,inter_30.txt 文件中Threshold = 30。
Hi-C Contacts:各染色体区域之间的互作的 Reads 数量。Unique Reads = Intra-fragment Reads + Below MAPQ Threshold + Hi-C Contacts,其中仅 Hi-C Contacts 的信息被记录在 .hic 文件中。
Inter-chromosomal:Hi-C Contacts 中片段间互作,即 Paired 中两个 Reads 比对到不同的片段上。本实验输入数据中片段为 contig,Inter-chromosomeal 表示 contig 间的互作数量。Intra-chromosomal 为片段内互作,即 Paired 中两个 Reads 比对到相同片段上。一般染色体内互作数量大于染色体间(intra>inter)