2. 物种丰度数据简介:OTU/ASV表格、样本-物种矩阵、常见数据格式

聊到生物信息学数据分析,大家接触最早的应该就是物种丰度数据了。说白了,它就是一份“谁在样本里,有多少”的清单。我个人习惯把这类数据看作一张巨大的电子表格,行是物种,列是样本,交叉点填的就是那个物种在这个样本里有多少条序列。

不过,具体怎么组织这张表,背后还有不少门道。我在项目中遇到过几次因为表格格式没对齐,导致下游分析全部报错的情况——嗯,从那以后我对数据格式就格外上心了。

2.1 核心概念:OTU 与 ASV

在讨论表格之前,得先搞明白两个核心概念:OTU(Operational Taxonomic Unit,操作分类单元)和 ASV(Amplicon Sequence Variant,扩增子序列变体)。

  • OTU:早期扩增子分析的标准做法。把相似度 ≥97% 的序列归并成一个 OTU。我刚开始做这行时,大家几乎都用 OTU,因为它计算量小,能处理大规模数据。
  • ASV:后来出现的升级版。不设相似度阈值,直接对序列进行去噪,区分到单碱基差异。我建议现在做新项目尽量用 ASV,精度更高,可重复性也好。

实战经验:OTU 和 ASV 的表格结构完全一样,下游分析工具也大多兼容。所以你只需要关心上游分析流程用的是哪种方法,切换到 BIOM 格式的操作几乎没区别。

2.2 物种丰度表格:谁在什么地方有多少

无论 OTU 还是 ASV,最终输出的都是一种叫做“丰度表”的东西。它的标准结构很简单:

  • 行:代表 OTU/ASV 的 ID(例如 OTU_1、ASV_10)或物种分类名称(如 Escherichia coli)。
  • 列:代表样本名称(例如 Sample_A, Sample_B)。
  • 值:非负整数,表示该 OTU/ASV 在该样本中被观测到的序列条数。

举个例子,典型的 OTU 表长这样:

OTU_ID	Sample_A	Sample_B	Sample_C
OTU_1	1520	0	834
OTU_2	0	2301	95
OTU_3	480	1100	0
OTU_4	0	0	4200

你看,这就是一个标准的样本-物种矩阵。每一行代表一个物种单元,每一列是一个样本,数值就是丰度。零值表示在该样本中没检测到该物种。

避坑指南:我曾经遇到过一份 OTU 表,形状是“样本×OTU”(即行为样本、列为 OTU),结果导入 BIOM 工具死活报错。所以要记住:标准格式必须是OTU/ASV 为行,样本为列。如果搞反了,需要先转置,才能继续往下走。

2.3 常见数据格式:TSV、CSV 与 BIOM

物种丰度表格在转成 BIOM 之前,最常见的存储格式就是 TSV 和 CSV。它们本质上都是纯文本表格,区别只在于分隔符:

  • TSV(Tab-separated values):用制表符(Tab)分隔列。我个人习惯用 TSV,因为很多 Linux 命令行工具天然支持 Tab 分隔,而且不容易和数据内容里的逗号冲突。
  • CSV(Comma-separated values):用逗号(,)分隔列。Excel 默认打 CSV 很方便,但如果物种名称或注释里包含逗号,就得加引号包裹,否则会错列。

下面是一个对应的 CSV 格式示例:

OTU_ID,Sample_A,Sample_B,Sample_C
OTU_1,1520,0,834
OTU_2,0,2301,95
OTU_3,480,1100,0
OTU_4,0,0,4200

你一眼就能看到区别:逗号代替了 Tab 键。数据内容完全一样。

特性 TSV CSV BIOM
分隔符 制表符 (\t) 逗号 (,) 二进制或 JSON
人类可读性 高(文本格式) 高(文本格式) 低(需工具解析)
元数据支持 差(无标准方法) 差(无标准方法) 强(内置扩展)
压缩率 一般 一般 优秀(HDF5版本)
跨平台兼容 高 高 中(需专用库)

重要提醒:TSV 和 CSV 文件行末不要有额外的空行或空格。我排查过很多次导入问题,最后发现是 Excel 保存时在最后一列后面加了一个逗号,或者结尾多了一个空行。这些“隐形”错误,用 head 或 cat -A 命令就能发现。

2.4 知识体系:从原始数据到 BIOM 格式

下面的 SVG 图展示了一张完整的知识流转路径。它帮助你理解物种丰度数据在整个分析流程中的位置,以及各种格式之间的转换关系。

物种丰度数据知识体系:从原始数据到 BIOM 格式 物种丰度数据知识体系流程图 原始测序数据 FASTQ 文件 OTU / ASV 聚类 序列聚类/去噪算法 样本-物种丰度表 OTU_ID | Sample_A | Sample_B OTU_1 | 1520 | 0 OTU_2 | 0 | 2301 格式选择 TSV(Tab 分隔) CSV(逗号分隔) BIOM 格式转换 TSV/CSV → BIOM 1.0 / 2.0 下游分析工具 QIIME2, phyloseq, MEGAN 为什么要转 BIOM? 1. 统一元数据 2. 支持稀疏矩阵 3. 多工具兼容 4. 大数据高效存储 核心知识点小结 OTU/ASV 表格 → 样本-物种矩阵 → TSV/CSV 文本格式 → BIOM 通用格式

说实话,看完这张图你就明白了:物种丰度数据从产生到被工具消费,中间经历了一个标准的、可复用的流程。把原始测序数据变成 OTU/ASV 表格,再用 TSV/CSV 存储,最后转成 BIOM 格式交付给下游分析——每一步都有清晰的定义和最简实践。

我的小建议:刚开始接触这个领域时,不用追求一次搞懂所有细节。先把“样本-物种矩阵”长什么样记清楚,然后记住 TSV 和 CSV 的区别就够了。等你真的需要把表格导入 QIIME2 或 phyloseq 时,咱们再深入到 BIOM 格式的微观结构。