Kraken2+Bracken

作者: 生信记 | 来源:发表于2020-06-23 17:57 被阅读0次

    1. 简介

    Kraken2是一个基于k-mer算法的高精度宏基因组序列分类软件,能够快速的将测序reads进行物种分类。

    Kraken2官网

    Bracken (Bayesian Reestimation of Abundance with KrakEN)是一种高精度统计方法,结合Kraken可以实现高准确度的宏基因组测序数据物种分类分析。

    Bracken官网

    Kraken和Bracken的更多介绍可以参考:宏基因组序列物种分类之kraken 1/2和Bracken的使用

    2. 软件安装和数据库下载

    Kraken2安装

    # 源码安装
    git clone https://github.com/DerrickWood/kraken2.git
    cd kraken2
    sh install_kraken2.sh  ~/bin/kraken2  # 安装路径(编译后文件存储文件夹)
    ~/bin/kraken2/kraken2 --help  #可加入到环境变量,方便使用
    
    # conda安装(推荐,可以帮忙解决很多依赖)
    conda install -y kraken2
    kraken2 --help
    

    Bracken安装

    # 源码安装(推荐,后续要用到其中的子程序)
    git clone https://github.com/jenniferlu717/Bracken.git
    cd Bracken
    bash install_bracken.sh
    cd src/ && make
    ../bracken -h # 可将bracken加入环境变量方便使用,绝对路径为~/software/Bracken/bracken
    
    # conda安装
    conda install -y bracken
    brcken -h
    

    数据库下载(第一种方式)

    直接下载Kraken官网索引好的数据库。

    # 可直接在下载页面下载
    # http://ccb.jhu.edu/software/kraken2/downloads.shtml
    # MiniKraken2_v1_8GB 包含了细菌(acteria)、古菌( archaea)和病毒(viral)
    # MiniKraken2_v2_8GB 在v1的基础上加入了人基因组(GRCh38)
    wget ftp://ftp.ccb.jhu.edu/pub/data/kraken2_dbs/old/minikraken2_v1_8GB_201904.tgz
    tar zxvf minikraken2_v1_8GB_201904_UPDATE.tgz -C ./ #绝对路径为~/db/minikraken2_v1_8GB/
    
    # Bracken数据库构建
    ~/software/Bracken/bracken-build -d ~/db/minikraken2_v1_8GB -t 8 -k 35 -l 150 #结束后会在kraken数据库路径下生成database150mers.kmer_distrib
    

    Bracken参数解释:

    • -d,Kraken数据库路径;
    • -t,线程数;
    • -k,k-mer长度,Kraken1默认为31,Kraken2默认为32;
    • -l,reads读长。

    数据库下载(第二种)

    使用命令行下载Kraken数据库。

    # 命令行下载数据库(需要时间长)
    kraken2-build --standard --threads 56 --db kraken2_db # 标准模式下只下载古菌(archaea)、细菌(bacteria)、人类(human)、载体(UniVec_Core)、病毒(viral)
    

    数据库下载(第三种)

    下载序列后本地索引,较为灵活但下载时间较长。

    mkdir kraken2_db && cd kraken2_db
    # 先下载taxonomy
    kraken2-build  --threads 56 --db ./ --download-taxonomy
    
    # 然后下载所需类型数据库序列
    # 可用数据库:"archaea", "bacteria", "plasmid", "viral", "human", "fungi", "plant", "protozoa", "nr", "nt", "UniVec", "UniVec_Core"
    kraken2-build  --threads 56 --db ./  --download-library bacteria
    kraken2-build  --threads 56 --db ./  --download-library viral
    ......
    
    # 最后索引 
    kraken2-build --build --threads 56 --db ./
    
    

    补充说明:官方单独整理了一个真核病原菌的数据库,详情可参考EuPathDB

    3. 分析

    数据:质控好的PE150(如果为其它长度,Bracken数据库索引的长度也要改变)数据TEST.R1.clean.fq.gz和TEST.R2.clean.fq.gz。

    # 第一步,使用Kraken2分析,不使用--use-mpa-style模式
    mkdir out
    ~/bin/kraken2/kraken2 --db ~/dbminikraken2_v1_8GB  --threads 56  --report ./out/TEST.report --output out/TEST.output  --paired TEST.R1.clean.fq.gz TEST.R2.clean.fq.gz
    # 第二步,使用Braken校正
    ~/software/Bracken/bracken -d ~/dbminikraken2_v1_8GB -i ./out/TEST.report -o ./out/TEST.S.bracken -w TEST.S.bracken.report -r 150 -l S
    # 第三步,将Braken的report格式转换成--use-mpa-style格式
    # 用Bracken的子程序
    ~/software/Bracken/kreport2mpa.py -r TEST.S.bracken.report   -o TEST.new.report
    
    结果展示
    TEST.new.report
    KraKen2参数解释:
    • --db,数据库路径;
    • --threads,线程数;
    • --report,注释结果统计报告(每个物种的reads数目)文件名;
    • --output,每条reads注释详情输出文件名;
    • --paired,输入数据为paired-end数据。
    Bracken参数解释
    • -d,Kraken2数据库路径(包含Braken对应长度索引);
    • -i,Kraken2的输出文件名(--report的输出文件名),在这里作为输入文件;
    • -o,Bracken输出文件(校正详情)文件名;
    • -w,Bracken计算后的新报告(每个物种的reads数目)文件名;
    • -r, reads长度;
    • -l,分类水平(D,P,C,O,F,G,S)。
    kreport2mpa.py参数解释:
    • -r,需要转换的报告文件名;
    • -o,转换后的报告文件名(--use-mpa-style格式)。

    相关文章

      网友评论

        本文标题:Kraken2+Bracken

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