强烈推荐!有手就行!!使用Hi-C数据在没有参考基因组的情况下对单倍型解析组装进行染色体水平的scaffolding
Zeng, X., Yi, Z., Zhang, X. et al. Chromosome-level scaffolding of haplotype-resolved assemblies using Hi-C data without reference genomes. Nat. Plants (2024). https://doi.org/10.1038/s41477-024-01755-3
Scaffolding对于构建大多数染色体水平的基因组至关重要。高通量染色质构象捕获(Hi-C)技术因其便利性和成本效益已成为主要的scaffolding策略。随着测序技术和组装算法的进步,构建单倍型解析的基因组越来越受到青睐,因为单倍型可以提供额外的等位和非等位变异的遗传信息。ALLHiC是一个广泛使用的等位基因感知的scaffolding工具,专为此目的而设计。然而,它对染色体水平参考基因组的依赖以及较高的染色体错配率仍然阻碍了单倍型解析基因组的解读。在本文中,我们介绍了HapHiC,这是一种不依赖参考基因组的等位基因感知scaffolding工具,在染色体分配以及contig排序和定向方面表现出色。此外,我们通过对各种不利因素进行全面分析,为等位基因感知scaffolding面临的挑战提供了新的见解。最后,在HapHiC的帮助下,我们构建了重要的木质纤维素生物能源作物:巨芒(Miscanthus × giganteus)的单倍型解析三倍体基因组。
构建高质量的参考基因组是物种功能基因组学研究的基础。染色体scaffolding是从头构建真核染色体水平基因组的必要步骤,除非直接组装端粒到端粒的基因组。其目标是确定组装中的contig或scaffold的染色体分配,以及这些序列在染色体上的排序和定向。在早期的基因组研究中,染色体scaffolding通常使用遗传图谱中的连锁群和遗传距离信息来实现。
然而,近年来,高通量染色质构象捕获(Hi-C)技术逐渐取代遗传图谱,成为最广泛使用的染色体scaffolding解决方案,其原因在于其简便、周期短和成本低。Hi-C链接是通过邻近连接和大规模并行测序生成的,用于指示基因组中不同位点之间的染色质相互作用频率。这些信息可以用来推断染色体区域,以及contig或scaffold之间的距离和定向。已经开发了几种基于Hi-C的scaffolding工具,包括LACHESIS、HiRise、3D-DNA、SALSA2和 YaHS,适用于单倍体和单倍体折叠组装。
对于异源二倍体或多倍体,单倍型解析组装由两套或更多套单倍体序列组成。与单倍体折叠组装相比,它提供了额外的遗传信息,如双等位基因或多等位基因,以及非等位变异之间的顺反配置。最近在测序技术和组装算法方面的进展推动了单倍型解析基因组的解读。太平洋生物科学公司(PacBio)的HiFi测序和牛津纳米孔技术公司(ONT)的双链测序都达到了Q30(99.9%)的基础准确度水平,这为更准确的等位基因分相提供了坚实基础。后代数据使用来自父母基因组的短读长序列进行分相,从而实现全基因组水平的分相。最近,hifiasm利用Hi-C测序数据进行染色体水平的分相,无需父母数据。这两种方法在处理二倍体或类二倍体异源多倍体基因组方面表现出高准确性。因此,后续的染色体scaffolding可以独立地在每个相位的单倍型上进行。
同源多倍体在种子植物中普遍存在,特别是在重要经济作物中。在同源多倍体基因组中进行单倍型分相有助于研究作物驯化历史和遗传育种。它也为分析全基因组重复后的等位基因表达优势和基因组进化奠定了基础。然而,组装单倍型解析的同源多倍体基因组比二倍体基因组更具挑战性。后代数据不适用于同源多倍体,而hifiasm的基于Hi-C的算法在同源多倍体基因组组装中产生了不平衡的分相结果。因此,构建单倍型解析同源多倍体基因组的最常见策略是执行等位基因感知的scaffolding,即在染色体scaffolding期间同时使用Hi-C数据将contig分配到不同的单倍型。此外,分别对每个分相的单倍型进行scaffolding可能会导致错误,因为来自多个单倍型的Hi-C数据比对到单个单倍型,而忽略了单倍型之间可能的染色体结构变异。这再次强调了等位基因感知scaffolding的重要性。
ALLHiC是一种广泛使用的Hi-C scaffolding工具,专为等位基因感知scaffolding设计。它有效地识别等位基因序列,并在聚类前移除它们之间的Hi-C链接以减少干扰。ALLHiC在单倍型分相方面表现出色,并已应用于解决多个重要作物的二倍体和自四倍体基因组。然而,这种方法需要来自近缘物种的染色体水平参考基因组,这对于许多物种可能无法获得。尽管可以将单倍型折叠基因组组装和注释为参考,但这显著增加了基因组研究的时间和成本。此外,据观察,使用参考基因组时,ALLHiC 会引入聚类错误。这些限制和缺点在一定程度上阻碍了单倍型解析基因组的构建,特别是在同源多倍体中。
在本文中,我们介绍了HapHiC,这是一种基于Hi-C的scaffolding工具,使得在没有参考基因组的情况下能够进行同源多倍体组装的等位基因感知染色体scaffolding。我们对可能阻碍基因组等位基因感知scaffolding的因素进行了全面分析。与现有方法相比,HapHiC在解决这些挑战时表现出更高的scaffolding连贯性和更低的错误分配率。此外,HapHiC速度快且资源效率高,并已成功验证于不同倍性和分类群的基因组中。利用HapHiC,我们最终构建了重要的木质纤维素生物能源作物巨芒(Miscanthus × giganteus)的单倍型解析基因组。
使用Hi-C数据实现染色体级别单倍型的从头scaffolding
问题
解决方案
图1: HapHiC概述。 在染色体分配之前,contig及其连接的Hi-C序列(称为Hi-C链接)经历预处理步骤(黑色交叉表示移除等位contig对之间的Hi-C链接;黑色箭头表示组装校正的断点)。不利的Hi-C信号和错误组装的contig在Markov聚类之前被暂时移除。过滤出的contig然后重新分配到最适合的聚类中。如果聚类数超过预期的染色体数,则进行额外的层次聚类。在此之后,通过我们称之为“快速排序”的加速3D-DNA迭代scaffolding算法对每条染色体的contig进行排序和定向。随后,使用ALLHiC中使用的遗传算法和贪婪方法进一步优化结果。
影响
专家意见
论文背后的故事
来自编辑的意见
Fig. 5: Comparative analysis and examples of HapHiC in scaffolding published autotetraploid genomes.
Fig. 6: Comparative genomic analysis of M. × giganteus and other Miscanthus species.
Installation
# (1) Download HapHiC from GitHub
git clone https://github.com/zengxiaofei/HapHiC.git
# (2) Resolve dependencies
conda env create -f HapHiC/conda_env/environment_py310.yml
# Activate the HapHiC conda environment
conda activate haphic
# (3) Check whether all dependencies are correctly installed
/path/to/HapHiC/haphic check
# (4) Show all available commands and help message
$ /path/to/HapHiC/haphic -h
Align Hi-C data to the assembly
# (1) Align Hi-C data to the assembly, remove PCR duplicates and filter out secondary and supplementary alignments
bwa index asm.fa
bwa mem -5SP -t 28 asm.fa /path/to/hic_read1_fq.gz /path/to/hic_read2_fq.gz | samblaster | samtools view - -@ 14 -S -h -b -F 3340 -o HiC.bam
# (2) Filter the alignments with MAPQ 1 (mapping quality ≥ 1) and NM 3 (edit distance < 3)
$ /path/to/HapHiC/utils/filter_bam HiC.bam 1 --nm 3 --threads 14 | samtools view - -b -@ 14 -o HiC.filtered.bam
温馨提示
asm.fa
可以是单倍体折叠的contigs(例如,hifiasm中的p_ctg
)、单倍型分相的unitigs(例如,hifiasm中的p_utg
)或一个或多个单倍型的contigs集合(例如,hifiasm中的hap*.p_utg
)。此外,asm.fa也可以是其他软件输出的scaffolds。samtools sort -n
)。Juicer
流程进行Hi-C序列比对,尤其是在单倍型分相组装中。Run HapHiC scaffolding pipeline
单行命令。HapHiC提供了一个单行命令haphic pipeline来执行整个scaffolding流程。所需参数包括:
- asm.fa:您的基因组组装文件,格式为FASTA
- HiC.filtered.bam:在上一步中准备的BAM文件
- nchrs:组装中存在的染色体数量,同时也是预期的输出scaffolds数量。
/path/to/HapHiC/haphic pipeline asm.fa HiC.filtered.bam nchrs
Work with hifiasm
hifiasm
组装进行scaffolding时,您可以使用hifiasm
输出的GFA文件运行HapHiC。这里,“分型的hifiasm组装”指的是通过后代数据或基于Hi-C的算法组装的单倍型解析主链(.hap.p_ctg.gfa
)以及分型的unitigs(p_utg.gfa
)。HapHiC
使用GFA文件中的序列深度信息在聚类之前过滤掉潜在的折叠contigs/unitigs。如果提供了多个GFA文件,HapHiC
假设这些GFA文件是特定于单倍型的(.hap.p_ctg.gfa
),并根据此分型信息人工移除或减少单倍型之间的Hi-C连接。请注意,GFA文件中的contigs/unitigs应与FASTA文件中的一致。无论是.gfa还是noseq.gfa文件都是可以接受的。# (1) For hifiasm primary unitigs, use the GFA file to filter out potential collapsed unitigs before clustering
/path/to/HapHiC/haphic pipeline p_utg.fa HiC.filtered.bam nchrs --gfa p_utg.gfa
# (2) In addition to read depth filtering, HapHiC can also reduce Hi-C links between haplotypes according to phasing information in GFA files for haplotype-resolved primary contigs
# By default, all Hi-C links between haplotypes are completely removed and contigs from different haplotypes will not be clustered into the same group
/path/to/HapHiC/haphic pipeline allhaps.fa HiC.filtered.bam nchrs --gfa "hap1.p_ctg.gfa,hap2.p_ctg.gfa"
# The weight can be set to 0 to ignore the phasing information. You can also set it between 0 and 1 to run HapHiC as a double check. In the latter case, contigs from different haplotypes might be clustered together
/path/to/HapHiC/haphic pipeline allhaps.fa HiC.filtered.bam nchrs --gfa "hap1.p_ctg.gfa,hap2.p_ctg.gfa" ---phasing_weight 0
YaHS-style scaffolds.raw.agp
(recommended)
scaffolds.raw.agp
文件。在这个AGP文件中,断开的contigs不会被分配新的ID。相反,其在原始contigs中的起始和结束坐标显示在第七和第八列。通过遵循YaHS提供的方法,您可以生成.assembly
和.hic
文件,而无需重新比对。Juicebox
中进行可视化和整理的shell脚本。确保在您的系统上已安装并添加Java和samtools到$PATH中。然后,运行以下命令:# bash, not sh
bash juicebox.sh
scale factor: 2
。为了确保Hi-C互作图与Juicebox中的scaffolds和超scaffolds边界正确比对,请在Juicebox的菜单中通过 Assembly
> Set
Scale
设置您自己的比例因子。Juicebox
中手动整理后,您将获得修改后的组装文件out_JBAT.review.assembly
。要生成最终的scaffolds的FASTA文件:# Generate the final FASTA file for the scaffolds
/path/to/HapHiC/utils/juicer post -o out_JBAT out_JBAT.review.assembly out_JBAT.liftover.agp asm.fa
Visualization
haphic plot
命令,用于生成高度可定制的Hi-C互作图。此命令需要两个输入文件:过滤后的BAM文件HiC.filtered.bam
和一个包含与BAM文件中contig ID相匹配的scaffold AGP文件。# For HapHiC scaffolding result
/path/to/HapHiC/haphic plot scaffolds.raw.agp HiC.filtered.bam
# For the AGP file generated after manual curation in Juicebox
/path/to/HapHiC/haphic plot out_JBAT.FINAL.agp HiC.filtered.bam
contact_map.pdf
。如果BAM文件较大,此过程可能会有些缓慢,每10 GiB的BAM文件大约需要几分钟的时间。完成后,程序会生成一个名为contact_matrix.pkl
的二进制文件。此文件可以替代HiC.filtered.bam用于更快速的可视化(大约1分钟)。# Use previously generated `contact_matrix.pkl` for faster visualization
/path/to/HapHiC/haphic plot out_JBAT.FINAL.agp contact_matrix.pkl
separate_plots.pdf
的文件,该文件分别展示了每个scaffold的互作图:/path/to/HapHiC/haphic plot out_JBAT.FINAL.agp HiC.filtered.bam --separate_plots
# 或者 输入上一步生成的contact_matrix.pkl
/path/to/HapHiC/haphic plot out_JBAT.FINAL.agp contact_matrix.pkl --separate_plots
Order and orient whole scaffolds using a reference genome
haphic refsort
,用于根据参考基因组对整个scaffolds进行排序和定向。# The preset can be `asm5` if the reference genome is well-assembled from the same species
minimap2 -x asm20 ref.fa asm.fa --secondary=no -t 28 -o asm_to_ref.paf
# `haphic refsort` can also be compatible with other aligners, like wfmash
wfmash ref.fa asm.fa -m -n 1 -S 1 -t 28 | cut -f 1-6,8- > asm_to_ref.paf
haphic refsort
命令,您可以基于PAF文件生成一个新的AGP文件:# By default, scaffolds are output based on the alphabetical order of the chromosome IDs of the reference genome
haphic refsort 04.build/scaffolds.raw.agp asm_to_ref.paf > scaffolds.refsort.agp
# You can manually specify the order by listing them and separating with commas
haphic refsort 04.build/scaffolds.raw.agp asm_to_ref.paf --ref_order chr1,chr2,chr3,chr4,... > scaffolds.refsort.agp
scaffolds.refsort.agp
文件可以直接用于Juicebox纠错[2]和haphic plot
的可视化[3]。请注意,此功能不会更改您的scaffolds,它只通过整体排序和定向来改变展示方式。Received
13 December 2023
Accepted
01 July 2024
Published
05 August 2024
引用链接
[1]
minimap2: https://github.com/lh3/minimap2[2]
Juicebox纠错: https://github.com/zengxiaofei/HapHiC?tab=readme-ov-file#juicebox[3]
可视化: https://github.com/zengxiaofei/HapHiC?tab=readme-ov-file#visualization