2023.10.22
输入数据来自第三步:
3.HiFi + HiC 数据通过 hifiasm 组装嵌合体基因组
HiFi reads 经过 hifiasm 组装至 contigs 水平后,接下来将借助 HiC 数据,将一个个的 contig 定位到染色体上,组装成染色体水平的基因组。
HiC 数据之前在 hifiasm 组装 contigs 的时候已经用过一次了,当时的作用是为了让 hifiasm 能够更好的 phase 两套单倍型,期望得到更好的组装效果,那么现在就是HiC数据在组装基因组中发挥最重要作用的时刻:将 contigs 锚定到染色体上。用到的工具就是 **chromap + yahs。**这两个软件都是近两年发表的,相比与之前使用的 Juicer + 3dDNA 流程,组装效果可以说又快又好,一个普通的哺乳动物基因组,两到三天即可完成组装。
chromap 论文链接: https://doi.org/10.1038/s41467-021-26865-w
yahs 论文链接:https://doi.org/10.1093/bioinformatics/btac808
chromap 进行高效 Hi-C 数据比对
需要对 pri.hic.asm.hic.p_ctg.fa 文件建立索引:
# 普通 fasta 文件索引
samtools faidx pri.hic.asm.hic.p_ctg.fa
# chromap 专属索引
chromap -i -r pri.hic.asm.hic.p_ctg.fa -o pri.hic.asm.hic.p_ctg.index
HiC 数据比对:
chromap --preset hic \\
-r ./pri.hic.asm.hic.p_ctg.fa \\
-x ./pri.hic.asm.hic.p_ctg.index \\
--remove-pcr-duplicates \\
-1 ./hic.clean_R1.fastq.gz \\
-2 ./hic.clean_R2.fastq.gz \\
--SAM \\
-o aligned.sam \\
-t 28
# -1, -2 两参数后为质控后的 HiC FASTQ 文件。
# --remove-pcr-duplicates 去除测序过程中的 PCR 重复冗余。
对输出的 SAM 文件排序并转 BAM 输出:
samtools view -bh aligned.sam | samtools sort -@ 28 -n > aligned.bam
# 按照read的名字进行排序和按照位置排序或未排序,对 scaffolding 的结果会有一些不同。
# 成功运行完成后可删除 aligned.sam 文件,减少存储占用
yahs 进行 scaffolding
初步进行 sacffolding:
yahs -e GATC \\
pri.hic.asm.hic.p_ctg.fa \\
aligned.bam
# -e GATC 指的是 HiC 测序时使用的 Mbol 酶切位点:GATC
# 如果对 contigs 组装结果自信,也可加参数 --no-contig-ec,加参数后将不对 contigs 进行纠错,即不打断 contigs 组装。
# yahs.out_scaffolds_final.fa 即为初步组装的结果。
使用 yahs 软件安装包自带的工具 juicer + juicer_tools.1.9.9_jcuda.0.8.jar 对组装结果进行可视化:(juicer_tools 下载链接:https://github.com/aidenlab/juicer/wiki/Download#version-199)
juicer pre -a \\
-o out_JBAT \\
yahs.out.bin \\
yahs.out_scaffolds_final.agp \\
pri.hic.asm.hic.p_ctg.fa.fai
# yahs.out.bin, yahs.out_scaffolds_final.agp 即为上一步的输出文件
# -o out_JBAT 为这一步的输出前缀,其中输出的 out_JBAT.txt 为接下来的输入文件
# 输出的 out_JBAT.assembly 用于后续的 juicebox 查看
# 输出的 out_JBAT.liftover.agp 用于后续的二次矫正
# 此步骤运行输出的 log 信息中包含类似 <(echo "assembly 1416099967") 信息,
# 其中 1416099967 为基因组大小或者大小的二分之一。
# 因为现阶段 yahs v1.2a.1 不支持 2G 以上的基因组,故超过 2G 的基因组可缩放 1/2,
# 后续在 JuiceBox 中查看时设置缩放比例为 2 即可。
java -Xmx100G -jar ~/software/juicer_tools.1.9.9_jcuda.0.8.jar pre \\
out_JBAT.txt out_JBAT.hic <(echo "assembly 1416099967")
# 生成的 out_JBAT.hic 文件与out_JBAT.assembly 可一起导入 JuiceBox 中查看组装结果
在 JuiceBox 中查看,若组装没错误,则初步组装结果 yahs.out_scaffolds_final.fa 即为 Scaffolding 的最终版本,若发现有组装不合适的地方,需要手动调整后,导出 out_JBAT.review.assembly 文件进行二次矫正
**juiceBox 手动调整,教程如下:**导出纠正后的 out_JBAT.review.assembly 文件
Juicebox Assembly Tools · aidenlab/Juicebox Wiki (github.com)
juicer post 进行二次矫正:
juicer post \\
-o out_JBAT \\
out_JBAT.review.assembly \\
out_JBAT.liftover.agp \\
pri.hic.asm.hic.p_ctg.fa
输出的 out_JBAT.FINAL.fa 即为最终的 scaffolding 结果