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
就能断点重跑了。