kraken软件操作手册

转录组数据质量分析完,想拿kraken软件分析下数据有没有微生物的序列污染

找了全网没看见什么相关的指导文章,看官网的操作手册也很鸡助,所以自己翻译了官网手册以及写了代码,希望对后来的人有些帮助。

Kraken是2013年Wood提出的的宏基因组序列分类软件,能够快速对宏基因样品中的DNA序列进行分类,因此可以进行微生物检测。Kraken在序列比对环节(环节C)采用精确k-mer匹配和精简数据库的方法(环节B),忽略基因变异,采取精确匹配;并且建立了专用数据库与k-mer匹配相配合,极大地提高了检测速度.Kraken分为两个版本:内存开销较大的normal版和将内存开销限制为2Gb以内的mini版.Kraken速度极快,精度较低,适用于做微生物检测的预处理.

官网网址:http://ccb.jhu.edu/software/kraken/

操作文档网址 :http://ccb.jhu.edu/software/kraken/MANUAL.html

一 安装

1、如果安装了miniconda的话可以直接用命令安装

  conda install kraken

2、从kraken官网下载source包,其中包括了kraken的一些代码,安装脚本install_kraken.sh,以及readme文件

在安装脚本目录下运行

./install_kraken.sh $KRAKEN_DIR

$KRAKEN_DIR指定kraken安装的目录

当看到提示 "Kraken installation complete."说明安装完成,随后将kraken两个主要的脚本复制到加入环境变量

cp $KRAKEN_DIR/bin/kraken $HOME/bin

cp $KRAKEN_DIR/bin/kraken-build $HOME/bin

$HOME/bin你环境变量的位置

二、下载kraken标准数据库

kraken-build --standard --threads 24 --db $DBNAME

--threads 24 指定线程数24

--db $DBNAME 指定安装的目录

当数据库构建完成,可以使用以下命令删除冗余的文件

kraken-build --db $DBNAME --clean

三、分类代码

kraken --db $DBNAME seqs.fa

主要参数:

--threads NUM 设置线程数

--classified-out 输出已经被分类的序列也就是污染的序列

--unclassified-out 输出未被分类的序列也就是未污染的序列

--output 输出

| or > 也是输出

--fastq-input 声明输入文件是fastq格式

--gzip-compressed 声明输入文件是.gz的压缩格式

--bzip2-compressed 声明输入文件是.bz的压缩格式

--paired 如果是双端测序,则需声明为是双端测序

四、实例代码

代码一:输出classify序列和unclassify序列以及一个.kraken文件

--threads 8:指定线程 8

--db /data/program/Assessment/kraken_database/ 指定标准数据库的路径

--fastq-input--gzip-compressed 指定fastq文件格式,这里指定为gzip

--paired 指定是双端测序

${output_forward_paired}${output_reverse_paired}输入文件的路径与名称:read1 read2

--classified-out 指定输出分类的序列文件——有污染

${output_classify} 输出分类的序列文件的路径及名称

--unclassified-out 指定输出未分类的序列文件——无污染

${output_unclassify}输出未分类的序列文件的路径及名称

> ${kraken} 输出一个.kraken文件

代码二:输出报告,报告统计了污染的比例,还有污染的种类

${kraken}上面生成的.kraken文件

> ${kraken_report} 指定输出报告的路径及名称

最终我加入我自己的输入文件路径与输出文件路径等内容,写成的代码如下:

kraken软件操作手册_第1张图片

nohup...& 是把任务挂到后台运行

最终得到的报告如下:

kraken软件操作手册_第2张图片

98.46%未被污染

1.54%被污染,且列出污染的序列属于哪个物种。

就酱

希望对大家有帮助。

你可能感兴趣的:(kraken软件操作手册)