基因组分析总述
基因组的第一步 — 基因组组装
-
前期的准备工作 — 基因组survey:
在进行基因组组装前, 我们需要对基因组大小和复杂度进行一个估计, 在以前可能会使用流式细胞仪技术进行测试, 在测序成本降低的今天, 我们更多采用使用二代测序数据进行基因组survey的方法进行耗时很短, 更准的survey1.1 基因组survey的核心计算方式 K-mer分析:
k-mer是一段长度为k的序列, 而后面的mer即为monomeric unit, 把测序reads分成长度为k的单元, 步长为1.此时进行滑动计数, 若一个片段长度为L, 则能生成L-k+1个K-mer片段.
1.2 基因组survey的工具 jellyfish:
jellyfish 是一个开源的github工具, 用于进行K-mer分析.Terminal window # 计数jellyfish count -m 21 -s 100M -t 10 -C reads.fasta # jellyfish的官方示例计数命令, -m为k-mer的长度, -s为使用的内存大小, -t为线程数# 进行矩形图的计算输出jellyfish histo mer_counts.jf1.3 使用结束
Contig的初步组装
使用hifiasm
hifi数据的首选还是hifiasm, 不仅快, 而且N50的指标相当优秀.
hifiasm的命令相当的简单, 并且没什么手动的空间.
hifiasm -t 30 -o hifiasm --h1 h1.fq.gz --h2 h2.fq.gz hifi.fq.gz # hifi+hic命令
因为这是第一次尝试拆分单倍型并进行后续的挂载, 我们一开始使用hifiasm, 并使用Hi-C + hifi 数据模式进行, 在hic模式下, hifiasm默认会生成hap1/hap2两套基因组(即拆分的二倍体单倍型基因组).
但是在约50x的Hifi数据的情况下, 我们得到的结果并不理想, 在CPhasing的挂载阶段得出的plot可以发现存在大量的挂载错误, scaffold应当是同向的, 而不应该是在互作图上展现为镜像. 因此尝试使用canu进行重新初步组装
使用canu
由于使用hifiasm直接进行分型失败, 因此重新尝试使用canu组装一个二倍的基因组后, 使用CPhasing进行基因组挂载后由CPhasing进行拆分.
WARNINGCanu 已经在2021年停止维护, 如果是使用最新的ont和hifi数据一起组装的话建议还是使用更新的软件进行初步挂载, 可以得到更好的结果.
canu的使用方法更加的复杂, 并且canu本身支持服务器集群运算, 因此需要更详细的参数调整以获得更好的结果(canu需要你先进行基因组survey, 而hifiasm是由hifiasm中的yak进行k-mer计算的).
分型基因组的挂载 —CPhasing
对于使用hifiasm进行了分型挂载的基因组, 对于一个二倍体而言可以得到hap1与hap2两个基因组, 使用CPhasing进行基因组分型的挂载的效果会更好.