预构建数据库介绍

聊完 Kraken2 自身的构建方法,咱们得聊聊最实际的问题——数据库从哪来。你当然可以自己从头构建,但那太费时间了。好在官方已经准备好了几个预构建好的数据库,拿来就能用。

我个人建议,绝大多数情况下,先用官方预构建库跑通流程。等你有特殊需求了,再考虑自己动手定制。今天就带你把这三个主流数据库吃透。

官方三件套:Standard、Minikraken、PlusPF

官方预构建的数据库,说白了就是三个兄弟,各有各的脾气。我用一张图让你看清楚它们的关系:

官方预构建数据库家族 官方预构建数据库 Minikraken (最小最快) Standard (最均衡) PlusPF (最全面) 快速筛查 / 低资源环境 内存不足8G时首选 日常分析 / 通用场景 细菌真菌病毒全覆盖 深度溯源 / 小众物种 包含质粒和UniVec 约 4 GB(压缩后) 约 8 GB(压缩后) 约 12 GB(压缩后)

Standard 数据库

大小:压缩后约 8 GB,解压后约 20 GB。构建时的参数是这样:

kraken2-build --standard --threads 8 --db standard_db

适用范围:这是官方最推荐的"万金油"库。它包含了细菌、古菌、病毒和人类基因组的完整数据。说白了一个普通的环境样本或者临床样本,用它跑就对了。

我记得刚入行那会儿,有个师兄非要自己从头建库,折腾了两天,结果分类效果还不如直接下载 Standard。为什么?因为官方维护的序列版本是最新的,你自己下载反而容易漏掉更新。

我的习惯:只要有 >=16 GB 内存的机器,我肯定用 Standard 数据库。它覆盖的物种数量满足 95% 以上的常规分析需求。

Standard 数据库包含的主要内容:

  • RefSeq 中的完整细菌基因组(约 2 万个)
  • RefSeq 中的完整古菌基因组(约 500 个)
  • RefSeq 中的完整病毒基因组(约 1.5 万个)
  • 人类参考基因组(GRCh38)
  • 部分真菌基因组

Minikraken 数据库

大小:压缩后仅约 4 GB,解压后约 10 GB。

wget https://genome-idx.s3.amazonaws.com/kraken/minikraken2_v2_8GB_202003.tgz
tar -xzvf minikraken2_v2_8GB_202003.tgz

适用范围:这个家伙的存在,就是为那些内存捉急的机器准备的。Minikraken 只包含部分代表性的细菌和病毒基因组,但分类准确率并没有想象中那么差。

我曾经在一个老旧的服务器上跑宏基因组分析,内存只有 8 GB。当时还不信邪,硬上 Standard,结果系统直接 OOM 掉。后来换成 Minikraken,嗯,又快又稳。

注意踩坑:Minikraken 对真菌的分类能力很弱。如果你的样本真菌占比高,别用它。我曾经有个环境样本,用 Minikraken 跑出来真菌几乎都是"unclassified",换 Standard 立马正常了。

Minikraken 的取舍逻辑:

  1. 只保留每个属中具有代表性的物种
  2. 完全砍掉了古菌和人类基因组
  3. 病毒只保留重要的致病性病毒
  4. 真菌基本只留了模式物种

PlusPF 数据库

大小:压缩后约 12 GB,解压后约 30 GB。这是官方预构建里最大的一个。

wget https://genome-idx.s3.amazonaws.com/kraken/k2_pluspf_20220630.tar.gz
tar -xzvf k2_pluspf_20220630.tar.gz

适用范围:PlusPF 可以理解为 Standard 的"增强版"。它在 Standard 的基础上额外增加了 质粒基因组 和 UniVec 数据库(用于检测载体污染)。

你想想看,在哪些场景下特别有用?比如医院的环境样本,里面可能含有携带耐药基因的质粒;又比如你测序的样本来自实验室,可能混入了载体序列。PlusPF 能帮你把这类东西揪出来。

关键区别:PlusPF 多了两大块内容:
  • 完整的质粒 RefSeq 数据库
  • UniVec_Core 数据库(用于鉴定载体污染)

为什么官方不把 PlusPF 作为默认推荐?因为它的内存消耗确实大。30 GB 的解压大小意味着你至少需要 48 GB 的内存才能愉快地跑起来。我在云计算节点上用过几次,每次都得申请大内存实例。

三个数据库的选择策略

数据库 压缩大小 解压大小 最低内存 推荐场景
Minikraken ~4 GB ~10 GB 8 GB 快速筛查、低内存环境
Standard ~8 GB ~20 GB 16 GB 日常分析、通用分类
PlusPF ~12 GB ~30 GB 32-48 GB 深度溯源、质粒检测
选库口诀:内存小用 Minikraken,常规分析用 Standard,要挖质粒用 PlusPF。

最后说一句,这三个库都在持续更新。官方大概每半年到一年会发布一个新版本。我个人习惯每次跑重要项目前,去检查一下是否有新版本,毕竟序列数据库这种东西,越新越准。

好了,预构建数据库就聊这么多。下回你想了解如何把这些库和你的实战项目结合起来用,随时可以翻回来参考今天的笔记。