首先,对于第一步的组装的,我们先从HiFiasm软件开始介绍。
HiFiasm 是一个用于基因组组装的软件,特别针对高通量测序数据,尤其是PacBio公司的HiFi读取数据。以下是关于HiFiasm软件的一些详细信息:
HiFiasm由李恒团队开发,是一个开源项目,可以在GitHub上找到其源代码和文档。在单倍体解析中,HiFiasm能够进行单倍体解析组装,这意味着它能够区分个体中的两个同源染色体。HiFiasm能够生成端粒到端尾的基因组组装,即从染色体的一个端粒到另一个端粒的完整组装。HiFiasm生成的组装结果具有较高的连续性和准确性,能够解析更多的片段重复区域。HiFiasm的运行速度快,适合大规模基因组组装任务。HiFiasm提供了简单的命令行界面,易于安装和使用。HiFiasm适用于人类基因组的组装,能够提供高质量的基因组序列。HiFiasm也适用于动植物基因组的组装,尤其是在需要高连续性和准确性的场景中。
HiFiasm能够进行三联体组装,即同时组装父母和后代的基因组。HiFiasm支持HiFi读取、超长Oxford Nanopore读取以及Hi-C读取数据,使其能够进行单样本和三联体组装。HiFiasm输出的基因组组装结果通常为GFA(Graph Fragment Assembly)格式,这是一种用于表示基因组组装图形的数据格式。作为一个开源项目,HiFiasm拥有活跃的社区支持。
HiFiasm组装的工作原理:
- Reads互相纠错:将所有的reads进行all-vs-all比对并进行纠错。基于reads间的overlap信息,如果read上有一个碱基与其他碱基不同,并有至少3条reads支持,则认为它是SNP并保留,否则认为是错误并进行纠正。HiFiasm只使用相同单倍型的数据纠错,避免过度校正,保留来自不同单倍型的杂合变异信息,HiFiasm可以对杂合SNP进行定相phasing。
- String-graph构建:HiFiasm构建以reads为顶点、重叠区为边的定相string-graph。区别于一般三代数据组装时构建的string-graph,Hifiasm会保留全部的气泡(bubble),因而可以保留下来基因组上全部的单倍型信息,以便后续对于单倍型的处理。
- 组装构建:如果没有其他辅助分型数据,Hifiasm会任意选择bubble的一侧为主要组装结果(primary contigs),类似Falcon unzip和HiCanu。如果有父母本的测序数据,Hifiasm可以通过亲本特有的kmer在图上识别出来自父母本的序列,从而得到两套单倍体基因组。
一、HiFiasm软件介绍和安装
官网:https://github.com/chhylp123/hifiasm
直接进入官网
右下角进入最新版本
下载安装最新的版本
git clone https://github.com/chhylp123/hifiasm
cd hifiasm
make
二、HiFiasm 运行
首先,是HiFi only assembly用的是单倍体组装,
HiFi= …/HiFi.fastq.gz
- 这里定义了一个变量HiFi,指向了HiFi读取数据的压缩文件路径。
prefix=Fragaria_vesca
- 定义了一个变量prefix,用于后续输出文件的命名前缀。在这个例子中,前缀是Fragaria_vesca,这可能是某种生物的名称或代号。
hifiasm -o ${prefix} -t 26 -l3 ${HiFi} 2> out.log
- hifiasm是HiFiasm软件的命令。
- -o ${prefix}指定输出文件的前缀。
- -t 26指定使用26个线程进行并行处理。
- -l3是HiFiasm的一个参数,用于设置组装过程中的某些阈值。
- ${HiFi}是输入的HiFi读取数据文件。
- 2>out.log将标准错误重定向到out.log文件中,用于记录可能出现的错误信息。
awk '/^S/{print ">"$2;print $3}' ${prefix}.bp.p_ctg.gfa > ${prefix}.bp.p_ctg.fa
- 使用awk命令从GFA文件中提取序列信息。
- /^S/匹配以S开头的行,这些行包含序列信息。
- {print “>”$2;print $3}打印序列的名称($2)和序列本身($3)。
- ${prefix}.bp.p_ctg.gfa是HiFiasm输出的GFA文件。
-
${prefix}.bp.p_ctg.fa将提取的序列保存为FASTA格式的文件。
/usr/bin/java -jar /path/gnx.jar ${prefix}.bp.p_ctg.fa > N50
- 使用Java运行gnx.jar工具,这是一个用于计算组装质量指标(如N50)的工具。
- ${prefix}.bp.p_ctg.fa是上一步生成的FASTA格式的组装结果文件。
-
N50将N50值的输出保存到N50文件中。
那么下一期让我们看看初步组装的结果文件有什么。