本文主要是介绍初步组装的杂合基因组如何去冗余,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
redundans的目标是辅助杂合基因组的组装,输入文件可以是组装的contig,测序文库以及额外的参考基因组,最后用于搭建出scaffold级别的纯合基因组组装结果。包括如下几个步骤:
- 从头组装: 它会调用Platanus、SSPACE3进行组装
- 去冗余: 从最初组装中去除冗余的序列
- scaffolding: 利用双端测序将contig进行搭接
- gap closing: 即填补scaffold中的N序列
对于我们三代组装的结果而言,我们只需要去冗余这一步即可。
软件安装
这一步一定要保证你的电脑上装了ZLIB库,不然就需要去修改BWA和LAST的Makefile, 手动添加"CFLAGS"和"LDFLAGS", 你或许不行。
git clone --recursive https://github.com/lpryszcz/redundans.git
cd redundans && bin/.compile.sh
结果输出"done"才算是成功.如果还需要作图,则需要安装 matplotlib numpy
pip install matplotlib numpy
最好用下面这行命令测试下。
./redundans.py -v -i test/*_?.fq.gz -f test/contigs.fa -o test/run1
软件的使用
这个软件就是在安装的时候让我折腾了下,使用倒是非常的方便,去冗余主要调整的参数就是相似度和重叠(overlap)度 默认相似度参数--identity 0.51
,重叠比例是--overlap 0.80
越大越严格。
此外,如果你用-i
参数提供了二代测序数据,redundans
还会默认搭scaffold和补洞,但我只需要用到它的去冗余步骤, 另外的两步我不要,所以还要添加--noscaffolding
和--nogapclosing
跳过这两步。
ident=0.55
ovl=0.80
contig=contig.fa
threads=10
redundans.py -v -f ${contig} -o ident_${ident}_ovl_${ovl} -t ${threads} \--log ident_${ident}_ovl_${ovl}.log \--identity ${ident} --overlap ${ovl} \--noscaffolding --nogapclosing
上面代码运行时如果不小心中断了,加上--resume
就能断点重跑了。
参考资料
- https://github.com/lpryszcz/redundans
- Redundans: an assembly pipeline for highly heterozygous genomes
这篇关于初步组装的杂合基因组如何去冗余的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!