Kaiju: Fast and sensitive taxonomic classification for metagenomics
作者:
彼得·门泽尔pmenzel@gmail.com
安德斯·克罗krogh@binf.ku.dk
创建参考数据库和索引
kaiju是一个针对Illumina or Roche/454高通量宏基因组分类软件。用NCBI分类学和微生物和病毒的蛋白质序列的参考数据库将reads直接进行比对。
在进行reads分类之前,kaiju需要从参考蛋白数据库中构建数据库索引。你也可以从GenBank数据库中当前可用的数据中构造索引,或者从kaijuweb服务器上
下载一个索引。
为了创建一个索引,目录中的该程序将直接从NCBI FTP服务器上下载参考基因和分类文件,把他们转换成蛋白质数据库并且构建kaiju索引。
从NCBI参考数据库中下下载拼装完整的和注释好的古菌和细菌。截止到2016年10月,这个数据库包含20M 蛋白质序列,kaiju要求14G的RAM才能运行。
自定义数据库:
从蛋白序列集中可以构建一个自定义数据库。格式必须是FASTA格式的文件,其中标头是该蛋白质序列NCBI号,
分类标志必须包含在NCBI分类文件nodes.dmp and names.dmp.然后,kaiju
用程序mkbwt and mkfmi创建索引。如果数据库fasta文件被命名为proteins.faa,运行程序:
mkbwt -n 5 -a ACDEFGHIKLMNPQRSTVWY -o proteins proteins.faa
mkfmi proteins
运行kaiju

运行kaiju至少需要3个参数:
kaiju -t nodes.dmp -f kaiju_db.fmi -i inputfile.fastq
如果你选择makeDB.sh -n或-e,然后要用 -f kaiju_db_nr.fmi or -f kaiju_db_nr_euk.fmi
对于双端的序列要用 -i firstfile.fastq and -j secondfile.fastq。这两
个reads文件必须有相同的顺序。kaiju将删除所有 / 和空格。 reads名字
相同的将被合并在一起,如果两者有不同将发出一个错误。
kaiju能读取FASTQ and FASTA 格式的输入文件。如果文件被压缩,shell程序
可以在内部进行解压。
默认情况下,kaiju将输出到终端,输出也可以被写到指定的文件夹中,使用
选项-o :
kaiju -t nodes.dmp -f kaiju_db.fmi -i inputfile.fastq -o kaiju.out
运行模式:
默认运行模式是MEM,只考虑精确匹配的情况下。如果使用贪婪模式,允许不进
行匹配,通过选项-a进行设置模式,用选项 -e设置允许替换的数量:
kaiju -t nodes.dmp -f kaiju_db.fmi -i inputfile.fastq -a greedy -e 5
为了降低最低要求的匹配长度和匹配率的的临界值可以使用选项 -m和-s来改变
如果输入序列已经是蛋白质序列,那么要使用 -p选项来禁用输入转录。
选项-x可用于使通过使用SEG算法从鼓风+软件包含低复杂性区域的查询序列的过滤。启用该选项,以避免因虚假匹配误报匹配始终建议,由于简单重复的图案或其他测序噪音。
输出格式:
kaiju将输出每一个单端或者双端reads。默认输出格式包含由制表符分割的三列。使用选项-v可启用详细输出,将会额外打印三行:
1.C或U,表示reads被分类或未被分类。
2.每个read的名字。
3.NCBI分类号
4.用于分类的最佳匹配的分数和长度
5.最佳匹配的所有数据库序列的分类识别
6.匹配的read
分类准确度:
分类的精度取决于参考数据库的选择和运行Kaiju当所选选项两者。这些选择也影响Kaiju的速度和内存使用情况。对于灵敏度高的要求,建议使用NR库作为参考数据库,因为他们是最全面的蛋白质数据库。另外,使用proGenomes的精确度超过Refseq
此外,贪婪算法的运行模式,允许5个错误匹配,比MEM模式产生更高的灵敏度。
为了达到最快的分类,使用MEM模式和多个并行线程(-z); 和最低的内存使用量使用proGenomes参考数据库。并行线程数只对内存的使用影响不大。
此外,所需的最小匹配长度(的选择-m的MEM模式或匹配分数() -s)的贪婪方式支配的分类的灵敏度和精确度之间的权衡。请参阅本文关于这一主题的讨论。
Creating input file for Krona

本次翻译是在2016.11.18号晚上于实验室,由于时间有限只能翻译重点部分。
Kaiju: Fast and sensitive taxonomic classification for metagenomics的更多相关文章
- 论文笔记之:Semi-supervised Classification with Graph Convolutional Networks
Semi-supervised Classification with Graph Convolutional Networks 2018-01-16 22:33:36 1. 文章主要思想: 2. ...
- Fast RCNN论文学习
Fast RCNN建立在以前使用深度卷积网络有效分类目标proposals的工作的基础上.使用了几个创新点来改善训练和测试的速度,同时还能增加检测的精确度.Fast RCNN训练VGG16网络的速度是 ...
- 数据挖掘方面重要会议的最佳paper集合
数据挖掘方面重要会议的最佳paper集合,兴许将陆续分析一下内容: 主要有KDD.SIGMOD.VLDB.ICML.SIGIR KDD (Data Mining) 2013 Simple and De ...
- 比对软件Blast,Blast+,Diamond比较
1. Blast (1)格式化数据库 formatdb -i db.seq -p T -o T -l logfile 主要参数: -i 输入需要格式化的源数据库名称 -p 文件类型,是核苷酸序列数据库 ...
- 学习OpenCV——Surf(特征点篇)&flann
Surf(Speed Up Robust Feature) Surf算法的原理 ...
- OpenCV图像Surf与flann特征点(转载)
Surf(Speed Up Robust Feature) Surf算法的原理 ...
- Awesome-Text-Classification:文本分类资源合集
Awesome-Text-Classification https://github.com/fendouai/Awesome-Text-Classification Projects fastTex ...
- OpenCV特征点检测------Surf(特征点篇)
Surf(Speed Up Robust Feature) Surf算法的原理 ...
- kegg富集分析之:KEGGREST包(9大功能)
这个包依赖极有可能是这个:https://www.kegg.jp/kegg/docs/keggapi.html ,如果可以看懂会很好理解 由于KEGG数据库分享数据的策略改变,因此KEGG.db包不在 ...
随机推荐
- (三)kafka集群扩容后的topic分区迁移
kafka集群扩容后的topic分区迁移 kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建新的topic时才会参与工作.除非将已有的partit ...
- HQL 参数绑定、唯一结果、分页、投影总结(下)
分页: 在用hibernate封装的分页方法前,我们先回顾一下,Oracle里面原生分页做法 --分页查询 --(pageNo-1)*pagesize=起始行 pageNo*pagesize=结束行 ...
- 转:C语言 可变参数
C语言 可变参数 堆栈一般是怎么压栈处理的 /* * stack space: * * 参数3 | up * 参数2 | * 参数1 v ...
- theano + gpu
Teano安装测试 1. Anaconda 安装 Anaconda是一个科学计算环境,自带的包管理器conda很强大.之所以选择它是因为它内置了python,以及numpy.scipy两个必要库和一些 ...
- viewer.js图片查看器插件(可缩放/旋转/切换)
<!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- C#泛型-小心使用静态成员变量
对于泛型类的声明 其中使用类型参数的构造类型,比如List<T>被称为开放构造类型(open constructed type)而不使用类型参数的构造类型,例如List<int> ...
- 递归算法(三)——不借助四则运算实现加法
问题 求两个整型变量的和,不能使用四则运算,但可以使用位运算. 思路 以二进制形式,考虑两个整数相加: a = 01101001b b = 11100111b s = ???????? 一个常见的结 ...
- javascript画直线和画圆的方法(非HTML5的方法)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- scrapy数据存入mongodb
存入mongodb的pipelines文件是这样子写的 from openpyxl import Workbook from scrapy.conf import settings import py ...