Kraken2与Bracken的联合使用与丰度矫正原理
山鬼不读书
2025年07月28日 20:14
收录于文集
共4篇

# 学习笔记:Kraken2与Bracken的联合使用与丰度矫正原理

## 一、Kraken2与Bracken的核心区别

| 工具 | 核心功能 | 输出特点 | 局限性 |

|------------|---------------------------|---------------------------|----------------------------|

| **Kraken2** | 基于k-mer匹配的快速物种分类 | 分类结果(.kraken)与丰度报告(.kreport) | 1. 长基因组物种丰度高估<br>2. 短基因组/低丰度物种丰度低估 |

| **Bracken** | 对Kraken2的丰度结果进行矫正 | 矫正后的丰度表(.bracken) | 依赖Kraken2的分类结果,需预先构建k-mer分布模型 |

## 二、为什么需要Bracken矫正?(Kraken2的缺陷)

### 1. 基因组长度偏差

- **机制**:长基因组含更多k-mer,测序读长更易匹配到长基因组物种 → 长基因组丰度被高估,短基因组(如病毒)被低估

- **案例**:某样本中病毒与细菌真实丰度为1:1,但Kraken2结果可能显示为1:10

### 2. 低丰度物种偏差

- **机制**:低丰度物种的少量读长易被归类到高丰度物种的共同祖先(LCA) → 低丰度物种被漏检或丰度严重低估

- **影响**:在临床样本中可能漏报潜在致病菌

## 三、Bracken矫正的核心逻辑

### 1. 构建参考模型(bracken-build)

```bash

bracken-build -d /path/to/kraken_db -t 24 -k 31 -l 150

# 生成关键文件:database150mers.kmer_distrib(记录各物种k-mer分布)

```

### 2. 矫正丰度(bracken)

```bash

bracken -d /path/to/kraken_db -i sample.kreport -o sample.bracken -r 150 -l S

# 核心参数:-r(测序读长)、-l(分类水平,如S=物种,G=属)

```

### 3. 矫正机制

- **统计模型**:基于参考基因组的k-mer数量与基因组长度,计算每个物种的理论k-mer分布

- **重新分配读长**:将被Kraken2误判到高丰度物种的读长,重新分配给真正的来源物种

## 四、实战流程总结

```mermaid

graph LR

A[测序数据] --> B[Kraken2分类]

B --> C[生成.kreport]

D[bracken-build构建模型] --> E[bracken矫正]

C --> E

E --> F[矫正后的丰度表.sample.bracken]

```

## 五、常见问题与解决方案

| 问题 | 解决方案 |

|-------------------------------|--------------------------------------------------------------------------|

| bracken-build耗时过长 | 1. 增加线程数<br>2. 先构建部分分类(如仅细菌)再合并 |

| 矫正后结果变化不明显 | 1. 检查-r参数是否与测序读长一致<br>2. 确认bracken-build与bracken使用同一数据库 |

| 内存不足导致崩溃 | 1. 减少线程数<br>2. 使用swap分区<br>3. 分批次处理 |

## 六、关键文件作用

| 文件 | 作用 |

|--------------------------|----------------------------------------------------------------------|

| database.kraken | Kraken2对参考序列的分类结果,记录每条序列的分类单元 |

| database150mers.kmer_distrib | 各物种k-mer分布模型,Bracken矫正的核心依据 |

| sample.kreport | Kraken2的原始丰度报告(未矫正) |

| sample.bracken | Bracken矫正后的丰度表(含reads数、丰度百分比等) |

## 七、学习资源推荐

1. **官方文档**:

- Kraken2:https://ccb.jhu.edu/software/kraken2/

- Bracken:https://ccb.jhu.edu/software/bracken/

2. **实战教程**:

- 宏基因组分析流程:https://github.com/DerrickWood/kraken2/wiki/Manual

- Bracken使用案例:https://github.com/jenniferlu717/Bracken

3. **论文参考**:

- Kraken2:https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1891-0

- Bracken:https://academic.oup.com/bioinformatics/article/32/14/2146/1744339

## 八、核心结论

Kraken2解决了**快速分类**问题,但存在**丰度估计偏差**;Bracken通过**参考基因组k-mer分布模型**,针对性矫正这些偏差,让宏基因组分析的**物种丰度更真实**。二者联合使用,可显著提升宏基因组物种组成分析的准确性。