美文网首页微生物
如何构建kraken2个性化数据库

如何构建kraken2个性化数据库

作者: 谷流觞 | 来源:发表于2021-02-03 11:42 被阅读0次

    kraken2就不介绍了,是一款挺好用的快速比对宏基因组软件。

    现在有了nt数据库下面animal的序列,那么如何构建kraken2的数据库呢?

    首先推荐把kraken2安装到单独的conda环境中,而不是把kraken2直接安装

    conda install kraken2                 #不推荐

    这种虽然方便,但是很可能与其它软件产生环境变量冲突

    看了看kraken2的说明书,它提供”archaea”, “bacteria”, “plasmid”, “viral”, “human”, “fungi”, “plant”, “protozoa”, “nr”, “nt”, “env_nr”, “env_nt”, “UniVec”, “UniVec_Core”数据库,但确实没有动物库

    那么自己构建一个库吧。

    1 首先利用kraken2自身下载数据库的功能,下载taxonomy分类库

    kraken2-build --download-taxonomy --threads 24 --db $DBNAME

    2 添加nt.animal.fa

    kraken2-build --add-to-library nt.animal.fa --db $DBNAME

    这一步就会报错,因为nt.animal.fa库里有一些奇奇怪怪的accession,例如4W1Z_7

    其实这些accession也没问题,但kraken2就是识别不出来,好吧,那只能更改源代码

    找到kraken2安装的目录,修改一下libexec/scan_fasta_file.pl

    注释掉die那一行,就OK了,吐槽一下kraken2编程真严谨,如果是我这句估计都不写

    另外,需要注意的是,nt.animal.fa库里有些很短的序列,可能只有几十bp,也可以写个perl把这些序列删了,我试了试,152G的文件变成了149G,似乎用处不大

    3 构建个性化库

    kraken2-build --build --db $DBNAME           #当时自己好像没加线程,以后试试加线程

    4 运行kraken2

    kraken2 --db $DB --threads 20 --paired ../s-592_NDSW56977_1.fq ../s-592_NDSW56977_2.fq --report report --output output --classified-out cseqs#.fq --unclassified-out de-s-592_NDSW56977#.fq            #kraken2好处就是还能把未分类的序列paired,真优秀,这些序列就是去除宿主的序列了

    相关文章

      网友评论

        本文标题:如何构建kraken2个性化数据库

        本文链接:https://www.haomeiwen.com/subject/impptltx.html