Kraken2+Bracken

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)