欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初步组装的杂合基因组如何去冗余

程序员文章站 2024-03-02 08:01:40
...

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

参考资料