10x scaffolding系列3:使用tigmint纠错并进
背景介绍
这篇应该是10x genomics数据辅助基因组组装的最后一篇,tigmint也是这些软件之中效果最好的一个,属于压箱底的好工具。并且这个软件是个活着的软件,相比于那些GitHub上最后更新时间是两三年前的软件而言,它还在不断地动态更新中,在我写这篇内容的2022年10月30日的时候,这个软件在3天前刚刚提交了一次更新。
而且tigmint安装起来也愈加地方便了,最初使用它的时候甚至只能用源码安装或者brew,现如今也支持conda一键安装了。
这里顺便提一下tigmint的开发者,是Shaun Jackman
,根据他的简历(https://sjackman.ca/resume/
), 他现在是10x genomcis
的高级计算生物学家职位,之前提到过的ARCS/ARKS也是他开发的。也难怪tigmint处理10x数据的表现如此优秀了。
根据GitHub上的介绍,tigmint不但可以用10x的数据,也可以使用nanopore数据。
tigmint的主要作用是识别并纠正错误组装。将10x/nanopore数据比对到基因组上之后,从比对结果中推断出DNA大分子(large DNA molecules
)范围的,因为跟单独的序列相比,DNA大分子的物理覆盖位置更一致,更不容易出现覆盖缺失的情况。在没有覆盖到的位置把基因组给断开。tigmint会以bed文件的格式输出需要切割的断点位置。而在运行tigmint的时候可以选择结合使用ARCS或者ARKS做后续的处理,当然也可以单独使用tigmint纠错。
软件安装
GitHub地址:https://github.com/bcgsc/tigmint
文章地址:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-018-2425-6
conda install -c bioconda tigmint arcs links abyss seqtk
软件运行
前期处理
输入文件要先把10x的原始数据用longranger basic
进行处理,处理完之后就可以直接输给tigmint进行组装了。
longranger basic
的使用可以参考10x的官网:
https://support.10xgenomics.com/genome-exome/software/pipelines/latest/advanced/other-pipelines
运行tigmint-make
tigmint-make的命令主要有3种模式:
- 只调用tigmint进行纠错
tigmint-make tigmint
- 纠错加组装
tigmint-make arcs
,还有一个arcs-long
模式 - 纠错+组装+基于reference计算一个组装的matrics。感觉这个应该是有比较好的reference的情况下再进行组装才需要的。
tigmint-make arcs draft=test.hic.hap2.p_ctg reads=10x_longranger_basic
注意事项
- draft和reads都只能是文件名,不能带后缀,否则会报错。
- draft(即基因组文件)得是
.fa
结尾的,如果是.fasta
,记得改成.fa
才能运行,否则会报找不到基因组文件的错误。 - 环境中安装的
samtools
的版本不能太低,samtools sort
命令里得有-t
选项,似乎samtools
的1.9或者1.10版本之后才更新出这个选项,老版本的samtools
运行到后面会报找不到-t
选项的错误。 - 运行过程中可能会遇到/tmp满了无法继续写入文件而中断的问题,解决办法是在有空间的位置设置一个临时文件夹,把中间文件写到我们自己设置的临时文件夹中去。
mkdir tmpdir
# 记得把这一句写入环境变量中哦。
export TMPDIR=/path/to/tmpdir
萌哥碎碎念
- 我尝试过
tigmint-make arcs
和tigmint-make arcs-long
,arcs-long
的结果里会引入更多的N,如果你后面还有Hi-C数据的话,没有必要在这一步里引入不必要的N,反正后面该打断该连不上的都是会现出原形的。 - 如果你是手动安装的ARCS,安装的过程中可能会遇到
sparsehash
找不到的错误,但是这个不影响ARCS的使用。因为这个依赖是ARKS所需要的,所以如果报错了,只是影响ARKS的使用,ARCS还是能正常使用的。一般而言,从结果来看,ARCS要比ARKS要好,只是ARKS更快罢了。