基因组组装:3. juicer 比对 HiC 数据至参考基因组
为了将组装完成的 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/data/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.faDpnII 限制性内切酶名称(用于切割参考基因组及输出文件命名):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/salsola/$ mkdir fastq$ cd fastq/$ ln -s /home/hic_data/salsola/hic.1.fq hic_R1.fastq$ ln -s /home/hic_data/salsola/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 /ldata/xyt/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 软件环境(/ldata/xyt/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,776Normal 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,043Intra-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)