信息速览
INFOBOX — GMrepo v3 一屏速览
维度 内容 本质 人类肠道宏基因组整理库(curated database),不是原始数据仓,也不是竞赛基准 维护方 华中科技大学(HUST)陈卫华课题组,与济宁医学院合作 论文 Nucleic Acids Res 2026;54(D1):D734–D742(doi:10.1093/nar/gkaf1190;2025-11-24 在线首发) 三代 v1 2019(58,903 runs/253 项目/92 表型)→ v2 2022(71,642/353/133)→ v3 2026(118,965/890/302) 规模(论文口径) 890 项目、118,965 runs(16S 87,048 + 宏基因组 31,917)、302 种疾病 规模(官网实时) 196,099 runs、1,172 项目、351 表型(2026-10-17 抓取,论文定稿后仍在增长) 核心增量 MCI(Marker Consistency Index):把"这个菌在多少研究里同向变化"压成一个 0–100% 的数 marker 层 1,299 marker taxa(726 种 + 573 属),167 个表型对,来自 275 个 curated 项目 获取 免费、免注册, /Downloads/SQLDumps/下 11 个.txt.gz+ 全库gmrepo.sql.gzlicense 官方未声明——这是本条目最重要的风险提示 一句话定位 想研究"某个菌到底是不是真的和某种病有关",GMrepo v3 是目前把"跨研究一致性"做得最显式的公开整理库之一
§0 导读:这个数据集解决什么问题
0.1 一个具体的研究困境
假设你在做一个结直肠癌(colorectal cancer, CRC)与肠道菌群的课题。你检索到公开数据里有几十个 CRC 相关的肠道宏基因组项目,来自中国、美国、欧洲、日本。你想回答一个看起来很朴素的问题:有没有哪些菌,在多个独立队列里都稳定地在患者中升高?
按传统做法,你需要:
- 逐个去 ENA / SRA 找项目,读原文补充材料确认哪些样本是 CRC、哪些是健康对照;
- 下载原始 fastq,自己跑质控、去宿主、物种注释;
- 把几十个项目的丰度表对齐到同一套分类体系;
- 手动做 meta 分析,逐个菌统计方向一致性。
这四步里,第一步(元数据整理)通常最耗人,也最容易出错——论文里的分组信息常常藏在补充表、甚至只在图注里。第三步(统一重注释)则要求所有项目用同一版本的工具和参考库,否则"差异"里混着方法学差异。
GMrepo 的存在意义就是把这四步的前三步做完并公开:它人工整理了宿主元数据、用统一流程重新注释了所有样本、按表型分组,并且(从 v2 开始)在项目级别识别了疾病 marker、(v3 起)用 MCI 量化这些 marker 的跨研究一致性。
0.2 它不是什么
明确边界比罗列功能更重要:
- 它不是原始数据仓。GMrepo 明确说明"因硬件存储限制,不直接提供原始测序数据",只在网页上给 run accession 并跳转 NCBI SRA。它给的是派生的种/属相对丰度表与人工整理的元数据。
- 它不是机器学习基准。没有官方 train/test 划分、没有排行榜、没有 baseline 模型分数。它的"评估"含义是生物学复现性评估(marker 是否在多个研究中同向),不是模型性能评估。
- 它不是某一次研究的数据集。890 个项目是汇集而来,每个项目有自己的采样协议、测序平台、人群构成。GMrepo 统一的是处理流程与元数据格式,不可能统一各项目的研究设计。
- 它不是 v3 才有的东西。v1(2019)和 v2(2022)都已发表且被广泛引用;v3 是同一数据库的第三代快照。检索时看到的"GMrepo"数字可能来自任一版本,必须看口径。
0.3 为什么它值得一个 AI-Ready 条目
对 AI/ML 研究者而言,GMrepo v3 的价值不在"拿来训一个分类器"(虽然可以),而在于三个更稀缺的属性:
- 表型标签已经是人工整理过的。疾病/健康分组不是靠关键词猜的,是逐个项目读过原文定的。这在微生物组领域是稀缺资源。
- 特征是统一的。所有样本都用 QIIME2(16S,ASV 层面)或 MetaPhlAn4(宏基因组)重新注释,丰度可比。这意味着你可以把不同项目的样本放进同一个特征空间。
- 带"证据强度"标注。MCI 直接告诉你某个 marker 在多少比例的研究里方向一致——这相当于给每个候选生物标志物附了一个可靠性分数,是构建"可信特征筛选"任务的天然素材。
代价也要说清楚:license 未声明、原始数据需自行回溯、元数据缺失率高、规模存在三个口径。这四点会在后文反复出现。
0.4 本条的读法建议
| 你的角色 | 建议先读 | 关键结论 |
|---|---|---|
| 想做疾病-菌群关联的研究者 | §1 → §2 → §4 | 先确认你的疾病表型在 302 种里、且样本量够 |
| 想构建 ML 数据集的人 | §2 → §3 → §5 → §6 | 注意 QC 通过率与元数据缺失,别把 QC 失败样本当负例 |
| 关心可复现性的方法学者 | §4 → §8 | MCI 的设计思路可直接迁移到其他组学 |
| 只想知道怎么下载 | §6 + 附录 D | 11 个 txt.gz + 一个 sql dump,无 API |
| 要做合规审查 | §6.4 + §10 坑 1 | license 未声明是硬伤,需向作者确认 |
§1 数据集速览:十问十答
Q1:GMrepo v3 到底是什么?
一个由华中科技大学陈卫华课题组维护的、对人类肠道宏基因组进行人工整理元数据 + 统一重注释的公开数据库,第三代版本发表于 Nucleic Acids Research 2026 年数据库专刊。
Q2:v3 和 v2、v1 是什么关系?
同一数据库的三个连续版本快照,不是三个独立数据库。v1(2019):58,903 runs / 253 项目 / 92 表型;v2(2022):71,642 runs / 353 项目 / 133 表型,首次引入 marker 识别与跨数据集比较;v3(2026):118,965 runs / 890 项目 / 302 表型,新增 MCI 指数与 marker 中心界面。
Q3:数据从哪来?
从 ENA(European Nucleotide Archive)与 NCBI SRA 等公共测序库收集,再读原始文献人工补齐宿主元数据。原始数据本身仍留在 SRA,GMrepo 只存派生结果。
Q4:里面有什么表?
项目表、run 主表(含人工整理元数据)、种级相对丰度、属级相对丰度、丰度汇总、种/属共现、按表型统计、MeSH 映射、NCBI 分类表,外加一个全库 MySQL dump。
Q5:v3 最大的方法学新增是什么?
MCI(Marker Consistency Index,标记物一致性指数)。它把"某个菌在健康 vs 疾病的比较中被识别为差异 marker"这件事,跨多个项目汇总成"出现频率 × 方向一致性"的单一百分比。
Q6:MCI 怎么读?
论文给出的经验阈值:MCI > 75% 视为在健康对照中稳健富集;MCI < 25% 视为在疾病中稳健富集;中间区间为方向不一致或证据不足。
Q7:1299 个 marker taxa 是什么意思?
726 个种 + 573 个属,共 1299 个分类单元,它们在某些表型对之间有显著的丰度差异,并且被跨项目比较过。分布在 167 个表型对中,来自 275 个"精心整理(curated)"的项目——注意这 275 只是全库 890 项目的一部分。
Q8:能下载吗?要钱吗?要注册吗?
能,不要钱,不要注册。官网 /Downloads/SQLDumps/ 目录下提供 11 个 .txt.gz 静态文件与一个 gmrepo.sql.gz 全库转储,直接 HTTP 下载。
Q9:有 API 吗?
没有 REST API。官方文档明确只提供静态文件与网页版图形查询构建器(Graphical Query Builder),查询结果页可导出 TSV。要程序化批量检索,得下载全库 dump 自建索引。
Q10:license 是什么?
官方没有声明。 官网与文档站都只有 “Copyright © 2021 HUST Chen lab” 字样,没有 CC BY、CC0、ODbL 之类的授权文本。数据可以免费下载,学术使用按惯例引用最新论文;但二次分发与商业使用处于法律不确定状态,使用前应直接联系作者确认。
1.1 速览补充表:三代关键指标对照
| 指标 | v1(2019) | v2(2022) | v3(2026) |
|---|---|---|---|
| 项目数 | 253 | 353 | 890 |
| runs/samples | 58,903 | 71,642 | 118,965 |
| 其中 16S 扩增子 | 41,285 | 45,111 | 87,048 |
| 其中宏基因组 | 17,618 | 26,531 | 31,917 |
| 表型(phenotype)数 | 92 | 133 | 302 |
| marker taxa | —(未引入) | 592(350 种 + 242 属) | 1,299(726 种 + 573 属) |
| 表型对 | — | 47 | 167 |
| marker 来源项目 | — | 83 | 275 |
| 一致性指标 | — | 无(仅趋势对比) | MCI |
| DOI | 10.1093/nar/gkz764 | 10.1093/nar/gkab1019 | 10.1093/nar/gkaf1190 |
一眼可见的增长不止是"量":16S 占比从 v2 的 63% 升到 v3 的 73%,说明 v3 的扩张主要靠扩增子项目;而宏基因组项目增幅相对温和(26,531 → 31,917,+20%)。这会影响下游分析——16S 只到属级(多数情况),宏基因组可到种/株级,混合使用时特征空间不对齐。
1.2 一句话结论
GMrepo v3 是"把文献里的分组信息抠出来、把所有样本用同一把尺子重新量一遍、再告诉你哪些菌在不同研究里说法一致"的基础设施型数据资源。它的门槛在理解口径,不在获取。
§2 数据构成与规格
2.1 三层漏斗:从 118,965 到 68,723
GMrepo 的规模不能只报一个总数。文档站 “Database overview” 页给出了一条清晰的处理漏斗,这是理解整个数据集最有用的一个视角:
| 层级 | runs/samples | 项目数 | 含义 |
|---|---|---|---|
| ① 已收录元数据 | 118,965 | 890 | 只要元数据整理完成即计入,其中不少样本根本没有下载或处理 |
| ② 已完成原始数据处理 | 108,176 | 884 | 下载了 fastq 并跑完了 QC 与注释流程 |
| ③ 可获得丰度数据 | 68,723 | 664 | 通过 QC,丰度表里真的有数 |
| ④ QC 失败 | 39,453 | 472 | 被剔除,但 run 记录保留 |
三个数字之间的关系值得细看:
- ①→② 掉了 10,789 个 run(约 9%),对应"元数据整理了但原始数据取不到或没处理"的情况——公共数据库里 run 被撤、被合并、或下载失败都属常态。
- ②→③ 掉了 39,453 个 run,QC 通过率约 63.5%。这是最需要注意的数字:如果你天真地以为 118,965 个样本都能用,实际可用的不到六成。
- ③+④ = 68,723 + 39,453 = 108,176,恰好等于 ②。这是唯一一个严格配平的等式。
- 但项目数上 664 + 472 = 1,136 > 884,不配平。原因是按项目计数时同一个项目可以同时出现在"有可用样本"和"有失败样本"两侧——一个项目里有些 run 过了 QC、有些没过,两边都被记一次。文档没有明说这个重叠,但从算术上可以反推出来。
这就是典型的"同一份数据、两个维度计数"陷阱。看到 664 和 472 相加超过 884,不要以为是文档写错,是计数口径不同。
2.2 QC 规则:两道闸门
文档 “Data processing & QC” 页披露的两轮 QC 规则很简洁:
第一轮(测序深度闸门):16S 样本的 clean reads 少于 20,000 条,判为 QC failed(QC status = 0),剔除。
第二轮(多样性闸门):注释完成后,如果某个样本里单一分类单元占总丰度超过 99.99%,说明扩增或测序出了严重问题(比如引物偏好导致近乎纯培养的假象),同样判为 failed。
注意 v1 论文 Figure 2 的图注里,这条规则写成了"less than 20k reads or 99.99% of the total abundance"——一个句子把两道闸门并在一起说。两种表述不矛盾,但读论文时容易误以为是一个阈值;实际执行是两轮、两个条件。
这套 QC 的严厉程度决定了用途边界:
- 20,000 条 reads 对 16S 而言是相当宽松的下限(多数可用样本在数万到十万级),所以 63.5% 的通过率主要不是被深度卡掉的;
- 更可能的原因是大量老项目测序深度本身偏低、或 SRA 上的 fastq 质量参差。但这只是推断,论文未给出 QC 失败原因的分布统计(见 §10 遗留疑点)。
2.3 分类单元:1,683 种、1,515 属
在 68,723 个可用样本中,GMrepo 共识别出 1,683 个物种,归属于 1,515 个属。纳入阈值是两条同时满足:
- 至少在 2 个样本中出现;
- 中位相对丰度 ≥ 0.01%。
这两个阈值都很宽松,意在"尽量不漏",而不是"只留高置信"。后果是丰度表里包含大量低丰度、低流行率的物种——做稀疏化或特征筛选时要注意,1,683 不是"可靠物种数",是"出现过的物种数"。
与 marker 层对照:marker 物种只有 726 个。这 726 是 1,683 的子集(还需满足"在表型对间有显著差异且进入 curated 项目"),但两者不可相减——1,683 − 726 = 957 不代表"957 个无关联物种",因为绝大多数物种从未被纳入任何 marker 分析。
2.4 表型体系:302 种疾病与健康对照
v3 把注释的疾病表型从 v2 的 133 扩到 302。表型组织方式(自 v1 起未变)是以表型为中心(phenotype-centric):
- 每个 run 归属于一个表型;
- 表型取"健康"或具体疾病名(对齐 MeSH 医学术语体系,库内提供
mesh_data.txt.gz映射表); - 同一个项目通常同时包含患者与健康对照,因此在"按表型检索"时,一个项目会被多个表型重复命中——官网首页对此专门有提示:“若用户未限定表型,检索到的项目数可能大于实际数量”。这句话是检索时最容易踩的坑之一。
健康对照不是第 303 个表型,而是作为对照基线单独汇总,在丰度统计里与各疾病并列展示。
2.5 宿主元数据字段
人工整理并随 run 一起发布的宿主侧字段(依据文档 “All runs” 表说明与 v1/v2 论文方法节):
| 字段 | 说明 | 典型缺失情况 |
|---|---|---|
| phenotype | 健康 / 疾病名 | 少量样本表型不明(v1 论文单独统计过 “unknown phenotype”) |
| country / population | 采样国家或人群 | 多数有,但粒度不一(国家 vs 地区) |
| age | 年龄 | 缺失较多,部分研究只给年龄段 |
| gender / sex | 性别 | 缺失中等 |
| BMI | 体质指数 | 缺失最严重,很多研究不报 |
| antibiotics usage | 近期抗生素使用 | 极稀疏,仅少数研究记录 |
v1 论文 Figure 3 专门画了元数据完整性的分布图,并按"年龄、性别、BMI 三项齐全"来评估完整性。这张图传达的信号很明确:不要假设 GMrepo 的元数据是齐全的,它是"尽力整理"的结果,不是"完整登记"。
对建模者的直接影响:
- 若要做年龄/性别分层分析,样本量会骤降;
- BMI 与抗生素使用几乎不能作为协变量在全库层面使用,只能在少数项目内部使用;
- 跨项目比较时必须先跑一遍缺失率审计,而不是直接 groupby。
2.6 项目来源与国别分布
v3 论文摘要未列国别统计;中文二次报道(热心肠日报,2025-11-25 转载)称样本"广泛分布于全球 45 个国家"。这一数字未在英文摘要中直接出现,属于二手中文来源口径,正文采用时应标注来源(见 §10 存照 A)。
对使用者更实际的问题不是"覆盖多少国",而是分布是否均衡。微生物组研究的国别分布长期高度集中于中美欧,GMrepo 作为汇集库无法改变这一点。做跨人群泛化研究时,这是一条硬约束,而非可以靠样本量弥补的问题。
2.7 文件清单与格式规格
官方下载目录 https://gmrepo.humangut.info/Downloads/SQLDumps/ 的完整清单(全部为 .txt.gz,制表符分隔纯文本;最后一项为 MySQL 转储):
| 文件名 | 内容 | 典型用途 |
|---|---|---|
projects.txt.gz |
项目列表与描述 | 建立项目索引、核对入组标准 |
stats_by_phenotype_and_project.txt.gz |
项目汇总(总 run / 已处理 / 有效 / 失败) | 筛选"样本量够且 QC 通过率高"的项目 |
sample_to_run_info.txt.gz |
全部 run + 人工整理元数据 | 主表,表型分组的唯一权威来源 |
samples_loaded.txt.gz |
已处理 run + 所用工具 + QC 状态 | 复现处理链、区分已处理/未处理 |
species_abundance.txt.gz |
种级相对丰度(仅 QC 通过) | 主要特征矩阵 |
species_abundance_summary.txt.gz |
种级丰度统计摘要 | 快速看分布,避免解压全表 |
species_cooccurence.txt.gz |
种/属共现 | 网络分析、生态位研究 |
stats_by_phenotype.txt.gz |
按表型统计 run 数、有效/失败数、关联物种属数 | 评估某疾病的可用样本规模 |
mesh_data.txt.gz |
MeSH 术语表 | 疾病名的标准化与跨库映射 |
superkingdom2descendents.txt.gz |
NCBI 分类表(taxon_id → 学名与层级) | 分类层级聚合、名称对齐 |
gmrepo.sql.gz |
全库 MySQL dump | 需要联表查询、自建 API 时的唯一选择 |
两个容易忽略的细节:
taxon_id与ncbi_taxon_id不是一回事。文档专门提醒:taxon_id是 GMrepo 内部唯一 ID,ncbi_taxon_id才是实体在 NCBI 分类体系中的 ID。联表时用错会导致大量空连接。- 丰度表是按样本归一化到 100% 的。文档写明"相对丰度随后按样本计算,总和归一化为 100%"。这意味着丰度不能直接跨样本相加当作绝对量,"总菌量"信息在归一化时已经丢失。
2.8 规格小结表
| 项目 | 规格 |
|---|---|
| 主键 | run accession(SRR/ERR/DRR 等 SRA 编号) |
| 记录粒度 | run/sample 级(非个体级;同一人多次采样会记多条) |
| 特征空间 | 种 1,683 / 属 1,515(全库可用样本);marker 层 726 种 + 573 属 |
| 标签空间 | 302 种疾病 + 健康对照 |
| 数值类型 | 相对丰度(百分比,样本内归一化至 100%) |
| 缺失值 | 元数据字段大量缺失;丰度表中不出现即视为 0 或未检出 |
| 压缩 | gzip,解压后为 TSV 文本 |
| 程序化访问 | 无 API;静态文件 + 网页查询构建器(结果可导 TSV) |
| 版本标识 | 以论文 DOI 为锚;官网首页未标版本号,工作台域名含 2025 |
最后一行值得强调:去官网首页看不到"v3"字样,但文档站数字与 v3 论文一致,工作台入口域名是 gmrepo2025.humangut.info:8443。判断你看到的是哪一版,靠数字而不是靠页面标签。
§3 处理与注释流水线
3.1 为什么"统一重注释"比"直接收集丰度表"值钱
微生物组领域有一个默认事实:不同研究用不同工具、不同参考库、不同参数做出的丰度表不可直接合并。同一份 fastq,用 QIIME2 的某个参考库注释和用 MetaPhlAn 注释,得到的物种组成可以在属级就有明显差异;换参考库版本又会有差异。
如果直接把 890 个项目的原始丰度表拼起来做 meta 分析,你得到的"病例 vs 对照差异"里会混进"工具差异"和"参考库差异"。这正是 GMrepo 花费大量算力重新处理全部数据的理由。
代价是:GMrepo 的丰度值只代表"用 GMrepo 流程处理后的值",不是各原始研究的官方结论。若你的研究需要复现某篇原文的数字,必须用原文的方法,不能用 GMrepo 的表。
3.2 16S 分支:QIIME2 + ASV
| 步骤 | 工具 | 说明 |
|---|---|---|
| 质量评估 | FastQC 0.11.8 | 唯一在文档中标注了版本号的工具 |
| 去接头/低质量碱基 | Trimmomatic | 版本未披露 |
| FASTQ → FASTA | Seqtk | 版本未披露 |
| 分类注释 | QIIME2 | 版本与参考库均未披露 |
| 输出单位 | ASV(Amplicon Sequence Variant) | 非 OTU |
为什么用 ASV 而不是 OTU:文档给出的理由是 ASV 能更精确地衡量序列变异,且便于不同研究之间的比较(可追踪、可重复)。OTU 依赖 97% 相似度聚类,聚类结果随数据集组成而变——同一批序列放进不同数据集里聚类,边界会移动;ASV 是逐条序列的去噪判定,同一序列在不同数据集中得到同一 ID。对"跨项目比较"这个核心目标,ASV 是正确选择。
但要清楚 ASV 的代价:ASV 是一串序列指纹,跨项目合并时通常还要再做一步分类学注释才能对齐到"物种"。而 16S 的物种级分辨率本身就有限(多数 16S 只能到属),这是为什么 v3 里 16S 占比升到 73% 却仍只有 726 个 marker 物种的部分原因。
3.3 宏基因组分支:MetaPhlAn4
宏基因组(shotgun metagenomics)走 MetaPhlAn4 默认参数。MetaPhlAn4 是基于标记基因(marker gene)的物种定量工具,不需要组装,速度快、跨样本可比性好,代价是对低丰度物种灵敏度有限、且只能给出其参考库中收录的物种。
文档未披露 MetaPhlAn4 使用的数据库版本。这是一个实质性缺口:MetaPhlAn 的数据库版本更新频繁,不同版本之间物种集合会变。若你要与自己的 MetaPhlAn 结果对比,必须先确认版本一致(见 §10 遗留疑点 B)。
3.4 相对丰度的归一化与解读
文档明确:相对丰度按样本计算并归一化为 100%。由此推出三条使用规则:
- 不能比较绝对菌量。一个人肠道细菌总量是另一个人的十倍,在相对丰度里看不出来。
- 组分数据(compositional data)的经典陷阱:某物种比例上升,其他物种比例必然下降,即使它们的绝对量没变。做差异分析时直接用 t 检验/ Wilcoxon 会引入假阳性,正规做法是对数比变换(CLR、ILR)后再分析。GMrepo 不提供变换后的矩阵,需自行处理。
- 零值含义模糊。"0"可能是真的没有,也可能是没测到(尤其 16S 的低丰度物种)。全库层面大量零值是正常的,做机器学习时朴素填充会引入偏差。
3.5 疾病 marker 识别流程
marker 识别是 v2 引入、v3 大幅扩展的模块。流程骨架(依据论文摘要、文档与中文二次报道综合):
对每个 curated 项目:
1. 取该项目内的两个表型(通常 = 疾病组 vs 健康对照组)
2. 在种级与属级分别做差异丰度分析(中文报道口径:LEfSe,线性判别分析效应大小)
3. 输出该项目内的差异分类单元及其方向(疾病组升 or 降)
跨项目汇总:
4. 按"表型对"(如 Health vs Colorectal Neoplasms)把多个项目的 marker 并起来
5. 统计每个 taxon 出现在多少个项目中、方向是否一致
6. v3 新增:计算 MCI,量化"出现频率 × 方向一致性"
7. 提供 marker-centric 界面:查同一 taxon 在不同疾病中的趋势
LEfSe 的具体参数(LDA 阈值、α 值、是否做多组比较)文档未披露,中文报道只提到"基于 LEfSe 算法"。这意味着严格的复现需要读论文方法节或联系作者(见 §10 遗留疑点 C)。
3.6 共现分析:三条件同时满足
共现(co-occurrence)模块的方法在文档中写得比较明确,是"三条件同时满足":
| 检验 | 判定"存在"的标准 | 显著性 |
|---|---|---|
| Fisher 精确检验 | 相对丰度 > 0.01% 视为该 taxon 存在 | p < 0.05 |
| Pearson 相关 | 基于相对丰度 | p < 0.05 |
| Spearman 相关 | 基于相对丰度 | p < 0.05 |
三者同时通过才记为共现对,且健康状态与每种疾病分别独立计算。
这套设计的用意是双保险:Fisher 精确检验只看"有没有",抓的是共存/互斥的生态关系;Pearson/Spearman 看"有多少",抓的是丰度协同。只用一种检验会漏掉另一类关系。
局限也很清楚:共现不等于因果,也不等于共生。两个菌共现可能因为它们偏好同一宿主环境(比如都喜欢高纤维饮食),而非彼此依赖。而且在相对丰度数据上做相关分析,本身就受组分约束影响(伪相关),结果只宜作为假设生成,不宜作为生态机制结论。
3.7 流水线可迁移性评估
| 环节 | 可复现性 | 缺口 |
|---|---|---|
| 原始数据获取 | 高 | run accession 齐全,可回 SRA |
| QC 阈值 | 高 | 20,000 reads / 99.99% 单单元,明确 |
| 16S 注释 | 中 | QIIME2 版本与参考库未披露 |
| 宏基因组注释 | 中 | MetaPhlAn4 参数明确(默认),DB 版本未披露 |
| 丰度归一化 | 高 | 样本内归一 100% |
| marker 识别 | 低 | LEfSe 参数未披露 |
| MCI 计算 | 中 | 定义清楚(频率 × 方向一致性),公式细节需查论文 |
| 共现分析 | 高 | 三条件与阈值明确 |
结论:"拿到与 GMrepo 完全一致的丰度表"这件事无法 100% 复现,但"理解它的丰度表是怎么来的、在什么条件下可比"完全可以做到。对多数下游使用者而言,后者才是关键。
§4 核心方法学增量:MCI 与跨数据集可复现性
4.1 问题从哪来:微生物组 marker 的"论文依赖"
微生物组领域有一个广为人知的尴尬:同一疾病,不同研究报出的 marker 菌常常对不上。结直肠癌研究里 Fusobacterium nucleatum 是难得的共识,但绝大多数其他候选菌在换个队列后就失去显著性。
原因至少有四层:
- 样本量与把握度:小样本研究容易出假阳性,也容易漏掉真信号;
- 研究对象差异:人群、饮食、用药、地理,都会改变菌群;
- 方法差异:测序平台、注释工具、参考库、统计方法全部不同;
- 发表偏倚:阳性结果更容易发表,阴性复现躺在抽屉里。
传统解决办法是 meta 分析——但那需要原始数据且工作量巨大,且每次只能针对一个菌、一个病。
GMrepo v3 的 MCI 提供的是批量、自动化的"一致性打分":不是回答"这个菌是不是真的有关",而是回答"在现有研究中,这个菌的说法有多一致"。这是一个更谦逊、但更可操作的问题。
4.2 MCI 的定义与读法
MCI = Marker Consistency Index(标记物一致性指数)。论文摘要给出的定义是:它综合了 marker 在多个研究中的流行程度(prevalence)与方向一致性(directional consistency)。
用直白的话说:
- 如果一个菌在 20 个项目里被识别为 marker,其中 18 个项目都是"疾病组升高",那它的一致性很高;
- 如果同样的 20 个项目里,9 个说升、11 个说降,那它的"平均效应"可能为零,但出现频率很高——这不是稳健信号,是噪声;
- 如果一个菌只在 2 个项目里出现,即便两次方向一致,也不该给高分。
MCI 就是把这两个维度压成一个 0–100% 的数。论文给出的经验判读:
| MCI 区间 | 含义 | 使用建议 |
|---|---|---|
| > 75% | 在健康对照中稳健富集 | 可作为健康关联菌的强候选 |
| 25%–75% | 方向不一致或证据混杂 | 灰区,不宜直接当生物标志物 |
| < 25% | 在疾病中稳健富集 | 可作为疾病关联菌的强候选 |
注意 0–25% 不代表"弱",而是"强地指向疾病"。MCI 是方向性刻度,不是"质量分"。
4.3 关键统计:400 个 marker 的两端
论文给出的核心数字非常具体:
- 在改变出现在 ≥10 个项目的 marker 中,共 400 个;
- 其中 143 个在健康对照中一致富集(MCI > 75%);
- 其中 85 个在疾病中富集(MCI < 25%)。
这组数字的价值在于它量化了"可复现"的比例:
- 两端合计 143 + 85 = 228,占 400 的 57%;
- 剩余 172 个(43%)落在灰区。
换句话说,即便是"在 10 个以上项目里都被识别为 marker"的这一批相对可靠的候选,也有超过四成方向不一致。这个数字本身就是对微生物组 marker 文献的一记提醒:"在某项研究中显著"与"跨研究一致"之间的距离比想象中大。
需要提醒的是,400 只是"≥10 个项目"这个门槛下的子集,不是 1,299 个 marker taxa 的全部。项目数少于 10 的 marker 没有进入这个统计,它们的一致性无从判断——这也解释了为什么论文把"≥10 个项目"作为分析门槛:低于这个门槛,一致性统计没有意义。
4.4 四个示例 marker:读法演练
论文与中文二次报道给出的四个代表性结论,正好覆盖 MCI 光谱的四种位置:
① Fusobacterium nucleatum(具核梭杆菌)——疾病端经典
在结直肠癌中持续富集。这是微生物组领域少有的"教科书级"共识,几乎每个 CRC 菌群研究都会报。它的存在相当于一个阳性对照:如果 MCI 方法在这个菌上给不出高一致性,说明方法本身有问题。它出现在疾病端,也反过来印证了 MCI 的标定方向正确。
② Enterocloster bolteae——跨病种关联
在多病种中显著关联。这个信号的性质与前一个不同:它不是一个病的专属 marker,而是跨疾病的共性信号。这类菌在临床上更有意思(可能反映普遍性炎症或代谢紊乱),但也更容易被混杂因素污染(比如住院、用药)。
③ Faecalibacterium prausnitzii(普氏粪杆菌)——健康端旗舰
高度一致的健康富集菌。这是众所周知的"抗炎、产丁酸"菌,在 IBD、CRC、糖尿病等多种疾病中都常见下降。它在 MCI > 75% 一侧,同样起到方法学校验作用。
④ Hungatella hathewayi——疾病端、特定病种
被报道为多发性硬化(multiple sclerosis, MS)等疾病的风险菌。这是一个较新的、病种相对特定的信号。这类 marker 的价值在于指向具体机制假说,但也最需要独立队列验证。
四例并置可以看出 MCI 的实用方式:它不是筛掉所有灰区菌,而是把"经典共识"“跨病共性”“健康保护”"病种特异"分门别类。
4.5 MCI 的方法学价值与边界
价值:
- 可迁移。这套"频率 × 方向一致性"的思路可以直接搬到任何"多研究独立发现同一类特征"的场景——影像组学、单细胞 marker 基因、GWAS 位点复现。GMrepo 提供了一个可抄的模板。
- 把"元分析"做成了数据库功能。用户不需要自己下载几十个项目、自己跑差异分析、自己汇总,MCI 已经算好并挂在界面上。
- 显式面对不确定性。相比"只报显著结果",把灰区占比(43%)摆出来是诚实的做法。
边界:
- MCI 不校正研究质量。20 个项目里 18 个一致,如果这 20 个都来自同一实验室、同一人群,一致性高不代表普适。
- MCI 不校正发表偏倚。库里收录的是已发表项目,阴性结果本就稀少。
- MCI 依赖上游 marker 识别的质量。若 LEfSe 参数在不同项目上不一致,方向一致性会被方法学噪声污染。
- MCI 高 ≠ 因果。稳健的关联仍可能由共同混杂(饮食、用药、BMI)驱动。
- MCI 的绝对数值依赖阈值设定。75%/25% 是经验阈值,论文未给出基于置换检验或 FDR 的标定依据(见 §10)。
4.6 从"趋势对比"到"一致性指数":v2 与 v3 的方法学差别
v2 已经有跨数据集比较,做法是"把各项目的 marker 并排展示,让用户自己看趋势是否一致"。这依赖人工判读。
v3 的 MCI 把这个判读自动化、指标化。表面上是加了一个数,实质上是把"一致性"从定性描述变成可排序、可筛选、可阈值化的量。这一转变对下游至关重要:只有变成数值,才能做"给 marker 排序""取 top-N 稳健 marker 建分类器"这类操作。
这也是为什么 MCI 是 v3 论文标题里 “enhanced cross-dataset biomarker analysis” 的实质内容,而不仅仅是又多收了几百个项目。
4.7 把 MCI 当特征权重用:一个可操作的想法
对做 ML 的人,一个自然的用法是:把 MCI 当作特征可靠性的先验权重。
思路 A:硬筛选
只保留 MCI > 75% 或 < 25% 的 marker 作为特征
→ 特征数从 1299 降到数百,噪声低,但可能丢掉病种特异信号
思路 B:软加权
以 |MCI - 50%| 作为权重,对特征做加权或作为正则项
→ 保留全部信息,让模型自己决定用多少
思路 C:分组验证
在 A 组项目上训练、B 组项目上测试,比较 MCI 高/低两组 marker 的泛化差距
→ 这实际上是在验证"MCI 是否真的预测了可迁移性",是一个有价值的研究问题
思路 C 尤其值得做:论文证明了 MCI 与方向一致性相关(定义使然),但没有证明 MCI 能预测"在新队列上的表现"。这是一个明确的开放问题。
§5 三方口径对账:论文、文档站、官网首页
5.1 三个数字,三套说法
这是使用 GMrepo 时最容易出错的地方,也是本条必须单独成节的理由。同一时刻(2026-10-17),你能看到三套规模数字:
| 指标 | 论文快照(v3,2025-11) | 文档站 overview | 官网首页实时(2026-10-17) |
|---|---|---|---|
| runs/samples | 118,965 | 118,965(收录层) | 196,099 |
| 项目数 | 890 | 890 | 1,172 |
| 疾病表型 | 302 | 302 | 351 |
| marker taxa | 1,299 | 未列 | 1,864 |
| marker 来源项目 | 275 | 未列 | 335 |
| 表型对 | 167 | 未列 | 186 |
| 物种 / 属 | 未列(摘要) | 1,683 / 1,515 | 未列 |
5.2 差额从哪来
论文与官网的差额(+77,134 runs、+282 项目、+49 表型)不可能是统计口径差异——数量级太大。唯一合理解释是:论文是 2025-11 定稿时的快照,官网在那之后继续收录了近一年的项目。
这带来两个直接后果:
- 引用时必须写清口径。写"GMrepo v3 有 118,965 个样本"是对的(论文口径),写"GMrepo 现在有 19.6 万个样本"也是对的(官网口径),但混着写就是错的。
- "v3"是一个时间点,不是一个功能集。官网没有版本号标签,工作台域名带
2025,但数字已远超 v3 论文。严格说,2026-10 你下载到的全库 dump 不是 v3 论文描述的那份数据,而是它的超集。
5.3 三个口径各自适合什么场合
| 场合 | 用哪个口径 | 理由 |
|---|---|---|
| 写论文的方法学引用 | 论文快照(118,965 / 890 / 302 / 1,299 / 167 / 275) | 可被审稿人核对到具体文献 |
| 报告"我能下载到多少数据" | 官网实时 | 与实际下载内容一致 |
| 说明 QC 通过率、可用样本 | 文档站 overview(108,176 / 68,723 / 39,453) | 唯一给出分层数字的公开来源 |
| 描述物种特征空间 | 文档站(1,683 种 / 1,515 属) | 唯一给出该数字的公开来源 |
最实用的一条经验:下载完全库后,用自己的脚本数一遍 sample_to_run_info.txt.gz 的行数,以实测为准,并在方法学里写"截至下载日期 YYYY-MM-DD,全库 N 个 run"。这是唯一不会被质疑的写法。
5.4 文档站的另外两处滞后
除了规模数字,文档站还有两处明显的滞后,都属于"读文档时要多留个心眼"的类型:
① 引用文案停在 v2。 文档首页写"请引用我们最新的论文",但给出的仍是 Dai et al. 2022(GMrepo v2, NAR 50(D1):D777–D784)。v3 论文(2026, 54(D1):D734–D742)没有被更新进去。这不是笔误,是文档维护滞后。引用时不要照抄文档站,要用 v3 的 DOI。
② 版权年份停在 2021。 站点页脚写 “Copyright © 2021 HUST Chen lab”,即便 v3 已于 2025 年发布。这也解释了为什么 license 信息看起来像"很久没维护"——事实上确实如此。
5.5 存照:容易混淆的四组数字
| 容易混的两组 | 区别 |
|---|---|
| 1,683 种(全库可用样本) vs 726 种(marker 物种) | 前者是"出现过的物种",后者是"在表型对显著且进入 curated 项目的物种";后者是前者子集 |
| 302 种疾病(论文) vs 351 表型(官网) | 后者含健康对照与新增疾病;"表型"与"疾病"在官网口径中并列出现 |
| 664 个项目(有可用样本) vs 472 个项目(含 QC 失败) | 两者不互斥,同一项目可两侧同时计数,相加超 884 |
| 118,965 run(收录) vs 108,176(已处理) vs 68,723(可用) | 三级漏斗,逐级递减,详见 §2.1 |
把这四组数字贴在方法学草稿旁边,能避免绝大多数"数字对不上"的返工。
§6 获取与许可:门是开的,牌子没挂
6.1 获取方式:静态文件,不需要任何申请
GMrepo 的获取是本文档里少见的"零摩擦"类型:
- 不需要注册、不需要登录、不需要填表、不需要申请、不需要机构邮箱;
- 所有数据以静态文件形式挂在
https://gmrepo.humangut.info/Downloads/SQLDumps/下; - 直接
wget/curl/ 浏览器点击即可。
最小可行的下载命令(示例,把目标目录换成你自己的路径):
# 只取主表与种级丰度(多数分析够用)
BASE=https://gmrepo.humangut.info/Downloads/SQLDumps
for f in sample_to_run_info.txt.gz species_abundance.txt.gz \
stats_by_phenotype.txt.gz superkingdom2descendents.txt.gz; do
curl -O "$BASE/$f"
done
# 需要联表时再下全库 dump(文件较大,建议先看 HEAD 的 Content-Length)
curl -O "$BASE/gmrepo.sql.gz"
6.2 决策树:我到底该下哪个文件
你的任务是什么?
├─ 只想统计"某疾病有多少可用样本"
│ └─ stats_by_phenotype.txt.gz(最轻,先下这个)
├─ 想做机器学习分类(样本 × 物种)
│ ├─ 元数据与标签 → sample_to_run_info.txt.gz
│ └─ 特征矩阵 → species_abundance.txt.gz
├─ 想知道某项目为什么样本少
│ └─ stats_by_phenotype_and_project.txt.gz
├─ 想做共现/网络分析
│ └─ species_cooccurence.txt.gz
├─ 想按分类层级聚合(门/纲/目/科)
│ └─ superkingdom2descendents.txt.gz + 丰度表
├─ 想把疾病名映射到标准术语
│ └─ mesh_data.txt.gz
└─ 想自建 API / 做复杂联表 / 需要全部注释字段
└─ gmrepo.sql.gz(全库 dump,一次性解决)
最重要的建议:先下 stats_by_phenotype.txt.gz。 它只有几百行,能立刻告诉你你关心的疾病在库里有多少 run、多少通过 QC。如果某个病只有 50 个样本,后面的建模计划可以直接调整,不必浪费带宽下载几个 GB 的丰度表。
6.3 原始数据怎么办:回 SRA
GMrepo 不提供原始 fastq。文档给出的路径有两条:
- 网页:在 GMrepo 里点每个 run 旁的 “linkout” 图标,直接跳到该 run 在 SRA 的页面;或把 run accession 粘贴进 SRA 搜索框。
- 命令行:SRA Toolkit 的
prefetch <run_accession>下载,或fastq-dump [options] <run_accession>直接转 fastq。
实际成本提醒:单个人类肠道宏基因组样本的 fastq 常在 1–5 GB 量级,890 个项目全量下载是 TB 级工程。绝大多数研究不需要全量——如果你只用 GMrepo 的丰度表,就完全不必碰原始数据。
6.4 许可:本条最重要的风险提示
官方未声明任何 license。
这是经过三处核验的结论:
- 官网首页:无 license 段落,仅有页脚版权声明;
- 文档站(
2909682517.github.io/gmrepodocumentation)全站检索:无 license / terms / 使用条款章节,页脚同为 “Copyright © 2021 HUST Chen lab”; - 下载页:只说明文件清单与格式,无授权说明。
这意味着什么,需要讲清楚:
| 使用场景 | 法律状态 | 建议动作 |
|---|---|---|
| 学术研究、论文中引用 | 灰色但惯例可行 | 引用 v3 论文,在方法中注明数据来源与下载日期 |
| 论文中再分发衍生表 | 不确定 | 引用原文 + 说明"派生自 GMrepo,原库未声明许可" |
| 商业产品中使用 | 高风险 | 必须先向通讯作者(Wei-Hua Chen)书面确认 |
| 打包进自己的公开数据集 | 高风险 | 同上;或只提供下载脚本,不打包数据本体 |
| 训练商业模型 | 高风险 | 同上 |
需要区分的是:论文的著作权与数据的许可是两回事。v3 论文发表在 Nucleic Acids Research(OUP 开放获取),论文文本适用 OUP 的开放获取条款;但数据本身的许可并不因论文开放获取而自动开放。这是很多使用者会混淆的地方。
对比参照:同领域的 CuratedMetagenomicData(Bioconductor)等资源通常会明确声明许可(多为 CC BY 或类似),GMrepo 在这方面是明显的短板。
6.5 API 状况与替代方案
无 REST API。 文档明确只提供静态文件与网页图形查询构建器。
对程序化使用者的三条替代路径:
- 全库 dump + 本地 SQL:
gmrepo.sql.gz导入本地 MySQL(或转成 SQLite/Postgres),最灵活,一次性成本高但后续零成本。 - 静态文件 + pandas:
species_abundance.txt.gz是 TSV,pandas.read_csv(..., sep='\t')即可,适合中等规模分析。注意大文件内存占用。 - 查询构建器 + 结果导 TSV:适合一次性、探索性查询,不适合批量。注意首页提示的"项目重复计数"问题。
6.6 获取环节的五个坑(提前警告)
taxon_id≠ncbi_taxon_id。联表出错的头号原因,详见 §2.7。- 丰度表是样本内归一化到 100% 的。不能当绝对量用。
- 样本主键是 run 不是个体。同一人多次采样算多个 run,做个体级分析前必须去重(若元数据里有个体标识)。
- 官网数字与下载内容不一致。官网首页是实时统计,你下载的是某一时刻的快照,以实测行数为准。
gmrepo.sql.gz解压后体积可能远超预期。先看 HEAD 的 Content-Length,确保磁盘够。
§7 生态位:GMrepo 在微生物组数据资源版图中的位置
7.1 四类资源的对照
微生物组领域的公开资源大致分四层,GMrepo 处在"整理了的下游派生数据"这一层:
| 层级 | 代表资源 | 提供什么 | 与 GMrepo 的关系 |
|---|---|---|---|
| 原始序列仓 | ENA、NCBI SRA、DDBJ | fastq / sra 文件 | 上游:GMrepo 的原始数据都在这 |
| 统一整理的元数据+丰度 | GMrepo、CuratedMetagenomicData | 人工整理的样本元数据 + 统一注释的丰度 | GMrepo 的同层竞品是 curatedMetagenomicData |
| 单一大项目 | American Gut Project、HMP | 单个大型队列的内部数据 | 上游:AGP 是 GMrepo 的重要数据来源之一 |
| 分析平台/工具 | QIIME2、MetaPhlAn、LEfSe | 方法与软件 | 上游工具:GMrepo 用它们做处理 |
7.2 与 CuratedMetagenomicData 的定位差异
同为"整理过的宏基因组资源",两者路线不同(对比基于公开定位,非本次核验的具体数字):
| 维度 | GMrepo | CuratedMetagenomicData |
|---|---|---|
| 发放形式 | 静态 TSV + MySQL dump | R/Bioconductor 包(curatedMetagenomicData()) |
| 更新机制 | 官网持续追加,版本靠论文标识 | 包版本化,随 Bioconductor 发布周期 |
| 强项 | 表型中心组织 + 项目级 marker + MCI | 与 R 生态无缝,元数据标准统一 |
| 一致性分析 | 内置 MCI 与 marker 界面 | 无内置跨研究一致性指标 |
一句话区分:GMrepo 更像"带分析结论的数据库",curatedMetagenomicData 更像"干净的数据管道"。前者省去你自己算一致性,后者省去你自己对格式。
7.3 AGP 在其中的特殊地位
American Gut Project(AGP)是 GMrepo 的重要上游之一。v1 论文特别说明了一个细节:来自 AGP 的数据,只采信"由医疗专业人员(医生、医师助理)给出的诊断"作为表型依据——因为 AGP 是公民科学项目,参与者自报的疾病信息质量参差。
这个细节很有代表性:GMrepo 的表型标签不是"原文写了什么就记什么",而是有准入判断的。这也是它相对"直接爬元数据"的价值所在。
同时也带来一个偏倚:AGP 中大量自报表型样本会被归入 “unknown phenotype”(v1 论文 Figure 3 专门统计了这块),导致某些疾病的有效样本比 AGP 的原始样本量少得多。做样本量规划时要预见到这一点。
7.4 数据库的"代谢":为什么 v3 之后还在长
从论文快照(118,965 runs)到官网实时(196,099 runs)的 10 个月内增长了 65%,说明这是一个仍在活跃维护的资源,不是发表后即冻结的静态数据集。
这对使用者的正面意义:资源不会烂尾。负面意义:任何写死的数字都会过期,包括本条目里的所有数字。这正是本条反复强调"以实测为准"的原因。
判断资源是否活跃的一个简单办法:看官网首页数字与最近一次论文的差距。差距大且方向为增长,说明在维护。
7.5 下游应用生态
GMrepo 被用在几类典型下游场景(基于其数据形态推断的常见用法,非特定论文引用统计):
- 疾病分类器训练:以种/属丰度为特征、以表型为标签,训练 RF/XGBoost/深度学习模型。难点在跨项目批次效应。
- 生物标志物筛选:用 MCI 做初筛,再在独立队列验证。
- 菌群-疾病关联的假设生成:marker-centric 界面可快速看一个菌在多个病中的趋势。
- 教学与综述:数据可下载、结构清晰,适合作为微生物组数据处理的示例。
- meta 分析的方法学对照:把自己的差异分析结果与 GMrepo 的 marker 表对照,看是否落在"已知一致"的区域。
7.6 与库内其他条目的关系
详见 §9。这里先给结论:GMrepo 属于**“多组学-微生物组”**这一类,与影像/病理/电子病历类条目没有直接交叉,互链价值主要在同一"整理型数据库"方法论层面,而非同一数据源层面。
§8 方法学启示:三条可迁移的经验
8.1 经验一:把"整理"本身当作可发表的产品
v1、v2、v3 三次都发在 Nucleic Acids Research 的数据库专刊。这类工作的贡献不是新算法,而是把杂乱数据整理成可用状态,并持续投入人力维护。
这个模式对 AI 数据集建设的启示很直接:数据整理(curation)的工程价值长期被低估。一个标注质量高、元数据齐全、版本可追溯的整理数据集,其科研价值往往超过一个新训练的模型。GMrepo 连续三代发表、被广泛引用,说明学术共同体会为"可信赖的整理"付费(以引用形式)。
8.2 经验二:一致性指标可以做成一种"数据产品质量标签"
MCI 的思路是把"这个结论有多稳"变成数据的一部分。这对任何多来源数据集都适用:
- 影像组学:某纹理特征在多少个中心的研究中被报为有效?
- 单细胞:某 marker 基因在多少个数据集中被报为该细胞类型特异?
- GWAS:某位点在多少个队列中重复?
传统做法是把这些放在"讨论"或"局限"里,读者自己判断。MCI 的做法是把它做成一个可筛选的字段。这是一个简单但威力很大的设计选择:一旦变成字段,就可以排序、取阈值、作为特征权重。
8.3 经验三:诚实报告灰区比只报显著更有说服力
论文明确写出"400 个 marker 中 143 个健康富集、85 个疾病富集",等于承认了 172 个(43%)方向不一致。这是一个不讨好但正确的选择。
对比之下,很多数据集论文只报"我们发现了 N 个 marker",而不说其中有多少能复现。GMrepo v3 的做法提供了一个模板:在发布数据集时,同时发布"这个数据集里有多少结论是稳的"。
8.4 反面清单:GMrepo 没做好的三件事
诚实地列出短板,比单纯表扬更有用:
- license 未声明。这是最严重的问题,直接限制了商业使用与二次分发,与本领域其他资源相比是明显退步。
- API 缺失。2026 年的生物数据库没有 REST API 已经很少见。静态文件 + dump 的做法虽然可用,但把索引成本转嫁给了用户。
- 处理流程版本披露不全。FastQC 标了 0.11.8,QIIME2/MetaPhlAn4 数据库版本/Trimmomatic/Seqtk 全无版本号,导致严格复现困难。
这三条都不是不可修补的技术难题,更多是工程规范意识的问题。对读者而言,这也是一个提醒:看数据集论文时,除了看规模数字,也要看它有没有把版本、许可、API 这些"不性感"的东西写清楚。
8.5 一条实践建议:先用小样本验证流程
拿到任何整理型数据库,推荐的验证顺序是:
第 1 步:下 stats_by_phenotype.txt.gz,确认目标疾病样本量
第 2 步:下 sample_to_run_info.txt.gz,看目标疾病的元数据缺失率
第 3 步:下 species_abundance.txt.gz,取目标疾病 + 健康对照的子集
第 4 步:在这个小子集上跑通全流程(预处理 → 特征筛选 → 建模 → 评估)
第 5 步:确认无误后再扩大范围 / 下载全库 dump
这个顺序能避免"下了 20 GB 才发现关键字段全空"的情况。
§9 与库内条目的关系
9.1 关系判定
| 条目 | 关系类型 | 说明 |
|---|---|---|
| 本库现有 GMrepo 任何版本条目 | 无 | 经 DB 全表检索 url_name ILIKE '%gmrepo%' 与 title ILIKE '%GMrepo%',返回 0 行,本条目为该资源在本库的首个条目 |
| American Gut Project | 上游数据源 | AGP 是 GMrepo 收录的重要项目之一;解释 GMrepo 的表型准入规则时需提及 |
| 其他微生物组/宏基因组条目 | 同域 | 若库内存在 CuratedMetagenomicData 类条目,属同层竞品,互链价值最高 |
| 其他"整理型数据库"条目 | 方法论同构 | 凡以"人工整理 + 统一重注释"为核心贡献的数据库,都与本条目在方法论上可对照 |
9.2 与库内条目的检索建议
若需在库内检索"微生物组"类条目,推荐按以下关键词逐个试(大小写不敏感):
SELECT record_id, url_name, left(title, 60)
FROM ai_ready_dataset
WHERE status = 1 AND del_sign = 0
AND (url_name ILIKE '%microbio%'
OR url_name ILIKE '%metagenom%'
OR url_name ILIKE '%gut%'
OR url_name ILIKE '%16s%'
OR url_name ILIKE '%genom%')
ORDER BY record_id;
注意:本库的在架统计必须带 del_sign = 0,否则会把历史软删占位算进来。
9.3 互链点的写作建议
本条不写具体 rid。原因是互链目标的具体 record_id 由入库顺序决定,写作阶段无法确认,写错会导致发布后"导航目标不在架"的检查失败。正确的做法是由主会话在入库后统一回填。
正文中建议表述为:“GMrepo v3 与库内 American Gut Project 等肠道菌群条目同域,前者是整理层、后者是原始队列层,二者构成上下游关系。”
9.4 为什么本条目在库里是必要的
AI-Ready 数据集谱系长期偏向影像与文本,微生物组是明显缺位的一块。而微生物组数据恰恰是最典型的"AI-Ready 难题":
- 原始数据在 SRA,格式不统一;
- 元数据散落在论文补充材料里;
- 不同研究的方法差异巨大,合并需要统一重注释;
- 表型标签的可靠性依赖人工整理。
GMrepo 把这些问题解决了一大半,是这一领域最有代表性的"整理型"资源。收录它,能填补本库在"多组学-微生物组"上的空白,也能为其他整理型数据库提供一个可对照的样板。
§10 避坑清单:十个已核实或高度可疑的坑
坑 1:license 未声明却被当作开放数据
现象:很多二手介绍(包括部分中文科普)把 GMrepo 描述为"免费开放数据",读者据此直接用于商业项目或打包分发。
实情:官网与文档站均无 license 文本,只有版权声明。“免费可下载"不等于"授权可再分发”。
应对:学术使用引用论文即可;商业或再分发前,必须写信向通讯作者确认。引用时写"数据来源:GMrepo v3(https://gmrepo.humangut.info),原库未声明许可",比含糊写"公开数据"更安全。
坑 2:把官网首页的实时数字当成论文数字
现象:写论文时引用"GMrepo 有 196,099 个样本",审稿人核对 v3 论文发现是 118,965,被质疑数据来源不实。
实情:官网是实时统计,会随收录增长;论文是定稿快照。
应对:学术引用用论文口径;若必须用最新数字,写明"官网首页,访问日期 YYYY-MM-DD"。最稳妥的做法是下载后自数行数。
坑 3:以为 118,965 个样本都能用
现象:按 118,965 规划样本量,实际可用只有 68,723(约 58%)。
实情:三级漏斗——收录 118,965 → 已处理 108,176 → 可用 68,723。QC 通过率 63.5%(相对已处理样本)。
应对:规划前先下 stats_by_phenotype.txt.gz,看你关心的疾病实际可用多少样本。别用总数。
坑 4:把 664 与 472 相加当作项目总数
现象:“664 个项目有可用数据 + 472 个项目 QC 失败 = 1,136 个项目,可文档说只有 884 个项目,是不是数据错了?”
实情:两个数字不互斥。同一项目里部分 run 通过、部分失败,会在两侧各计一次。
应对:项目计数以"已处理 884"为准;run 计数才有严格配平(68,723 + 39,453 = 108,176)。
坑 5:把 1,683 个物种当成"可靠物种数"
现象:直接用 1,683 个物种做特征,模型被大量低丰度噪声物种拖垮。
实情:1,683 的纳入阈值极宽松(≥2 个样本出现、中位丰度 ≥0.01%),只保证"出现过",不保证"稳定"。
应对:自行加阈值——例如要求流行率 > 10% 或平均丰度 > 0.1%,再做特征筛选。GMrepo 不做这一步是有意为之(保持最大信息量),需要你按任务补。
坑 6:把相对丰度当绝对量做统计
现象:对物种丰度直接做 t 检验,得到大量"显著"差异,其中相当一部分是组分效应(compositional effect)的假象。
实情:丰度已按样本归一化到 100%。一个物种上升,必然挤压其他物种。
应对:做 CLR 或 ILR 变换后再做差异检验;或用专门的组分数据方法(ANCOM-BC、ALDEx2 等)。GMrepo 不提供变换后矩阵。
坑 7:用 taxon_id 去连 NCBI 表
现象:联表后大量空值,或分类学名称完全对不上。
实情:GMrepo 内部用 taxon_id(内部唯一 ID),NCBI 实体 ID 是 ncbi_taxon_id,两者不同。
应对:连 superkingdom2descendents.txt.gz 时用 ncbi_taxon_id;内部关联用 taxon_id。文档对此有明确提醒。
坑 8:把 1299 个 marker 当成"全部显著菌"
现象:以为库里所有有差异的菌都在这 1299 个里。
实情:1,299 个 marker 只来自 275 个 curated 项目(全库 890 项目的一部分),且只覆盖 167 个表型对。大量项目从未做过 marker 识别。
应对:如果你的疾病不在 167 个表型对里,marker 表里可能一无所有,需要自己从丰度表做差异分析。
坑 9:以为同一项目只属于一个表型
现象:检索某疾病,返回的项目数远多于实际该疾病的项目数。
实情:官网首页明确提示:几乎每个项目都同时包含患者与健康对照,未限定表型时项目会被重复命中。
应对:检索时限定具体表型;或用项目表去重后再统计。
坑 10:把 MCI 当成"这个菌是真的"的证明
现象:挑 MCI 最高的几个菌,直接写进"已证实的生物标志物"。
实情:MCI 衡量的是跨研究一致性,不是因果性,也不是诊断效能。它在 400 个 ≥10 项目的 marker 上只有 57% 落在两端(143 + 85),其余 43% 在灰区。
应对:MCI 高只说明"多个研究同向报告",仍需独立队列验证诊断性能(AUC、灵敏度、特异度),并考虑混杂因素。
10.1 遗留疑点(本轮未能核实的项)
- QC 失败原因分布:文档只给阈值,未给"因深度不足失败"与"因单分类单元失败"的数量分拆。
- 参考库版本:QIIME2 的参考库、MetaPhlAn4 的数据库版本均未披露,严格复现受限。
- LEfSe 参数:LDA 阈值、α 值、是否多组比较未披露;“Disease marker identification” 专页未抓取(超出本轮网络预算)。
- 45 国覆盖:仅中文二次报道口径,英文摘要未见,属待核。
- 个体级样本数:118,965 是 run 数,对应多少个独立个体未披露。
- MCI 阈值标定依据:75%/25% 为经验阈值,论文摘要未说明是否经置换检验或 FDR 标定。
- 官网实时数字与论文的映射关系:196,099 runs 是否已全部经过 v3 流程处理,未披露。
- 库内是否已有 CuratedMetagenomicData 类条目:本轮未做全库同域扫描(超出写手职责范围,建议主会话按 §9.2 的 SQL 复核)。
§11 总结
11.1 三句话总结
- GMrepo v3 是人类肠道宏基因组领域最系统的"整理型"公开数据库之一:890 个项目、118,965 个 run、302 种疾病,用 QIIME2/MetaPhlAn4 统一重注释,元数据人工整理。
- 它的方法学增量是 MCI:把"某个菌在多少研究里同向变化"压成 0–100% 的分数,让跨研究一致性第一次变成可排序、可筛选的字段;在 400 个高频 marker 中,57% 落在稳定两端,43% 在灰区。
- 它的最大短板是治理而非技术:license 未声明、无 API、处理流程版本披露不全——这三点直接限制了商业使用与严格复现。
11.2 适合谁
| 角色 | 适合理由 |
|---|---|
| 疾病-菌群关联研究者 | 省去最耗时的元数据整理与统一重注释,直接拿可比丰度表 |
| 想做生物标志物筛选的团队 | MCI 提供了现成的"一致性"先验,可做初筛 |
| 微生物组方法学者 | MCI 的设计思路可直接迁移到其他组学的一致性评估 |
| ML 工程师构建医疗组学数据集 | 标签可靠、特征统一、规模大,是少见的"可直接用"的组学表格数据 |
| 教学与综述作者 | 数据可得、结构清晰、三代演进脉络完整,适合作为案例 |
11.3 不适合谁
| 角色 | 不适合理由 |
|---|---|
| 需要原始 fastq 的研究者 | GMrepo 不发原始数据,须回 SRA 自取 |
| 需要绝对菌量(qPCR、定量内标)的研究者 | 相对丰度已归一化,绝对量信息丢失 |
| 需要株级(strain-level)分辨率的研究者 | 16S 到属、宏基因组默认到种,株级不足 |
| 商业产品团队(未经授权) | license 未声明,法务风险高,须先取得书面许可 |
| 需要某个特定小病种且样本少量的研究者 | 302 种疾病中分布极不均,冷门病种样本可能个位数 |
| 需要 API 做实时检索的工程团队 | 无 API,只能下全库 dump 自建 |
11.4 30 秒决策卡
你是否要研究"肠道菌群与人类疾病"? 否 → 不需要本数据集
↓ 是
你的疾病在 GMrepo 的 302 种表型里吗? 否 → 只能从丰度表自做差异分析
↓ 是
下 stats_by_phenotype.txt.gz,可用样本 > 100? 否 → 考虑合并更多项目或换资源
↓ 是
你需要原始序列吗? 是 → GMrepo 只给丰度,原始数据去 SRA
↓ 否
用丰度表还是全库 dump? 单病种/单分析 → 丰度表;多表联查/自建 API → dump
↓
你是否要做商业使用/再分发? 是 → 先向作者确认 license(官方未声明)
↓ 否
可以开始。引用 v3 论文 DOI: 10.1093/nar/gkaf1190
11.5 版本与引用规范
写论文时推荐的引用方式(示例):
数据来源:GMrepo v3(Liu C, Wang X, Zhang Z, et al. GMrepo v3: a curated human gut microbiome database with expanded disease coverage and enhanced cross-dataset biomarker analysis. Nucleic Acids Research, 2026, 54(D1): D734–D742. doi:10.1093/nar/gkaf1190),全库数据于 YYYY-MM-DD 从 https://gmrepo.humangut.info/Downloads/SQLDumps/ 下载,共 N 个 run 通过 QC。
这四要素——版本 DOI、下载日期、下载地址、实测数量——能覆盖审稿人对数据来源的绝大多数质询。
FAQ(高频问答 20 问)
A. 基础认知
1. GMrepo 和 GMrepo v3 是一回事吗?
GMrepo 是数据库名,v3 是第三代版本。当前官网运行的是 v3 之后的持续更新版本,数字已超过 v3 论文快照。
2. 它和 QIIME2 是什么关系?
QIIME2 是 GMrepo 处理 16S 数据用的工具,不是同一层级的东西。GMrepo 用 QIIME2 跑注释,输出 ASV 与丰度表。
3. 它和 MetaPhlAn 是什么关系?
MetaPhlAn4 是 GMrepo 处理宏基因组数据用的物种定量工具(默认参数)。MetaPhlAn 是工具,GMrepo 是数据库。
4. 它是中国团队做的吗?
是。华中科技大学生命科学与技术学院陈卫华课题组主导,v3 与济宁医学院合作。
5. 为什么样本数从 v1 的 5.9 万涨到 v3 的 11.9 万?
主要是持续收录新发表的公开项目 + 对已有项目的补充。v3 的 16S 占比(73%)高于 v2(63%),说明增量主要来自扩增子项目。
B. 数据与获取
6. 下载需要申请吗?
不需要。免注册、免申请,直接 HTTP 下载静态文件。
7. 全库有多大?
官方未给出总大小。单个丰度表解压后可能达 GB 级;gmrepo.sql.gz 是全库转储,下载前建议先看 Content-Length。本条不提供未核实的具体体积数字。
8. 有 API 吗?
没有 REST API。只有静态文件与网页查询构建器。
9. 原始数据在哪?
在 NCBI SRA / ENA。GMrepo 只给 run accession,点击 linkout 跳转,或用 SRA Toolkit 的 prefetch / fastq-dump 自取。
10. 数据多久更新一次?
官方未公布更新周期。从论文(2025-11)到官网(2026-10)增长 65% 来看,处于持续追加状态,但无固定节奏。
C. 数据使用
11. 丰度是绝对量还是相对量?
相对量,且已按样本归一化到 100%。不能比较绝对菌量。
12. 为什么我的分析里很多物种丰度是 0?
物种纳入阈值很宽松(≥2 样本、中位丰度 ≥0.01%),大量低丰度物种在多数样本中就是 0。零值既可能是真没有,也可能是没测到。
13. 可以直接做 t 检验吗?
不建议。相对丰度是组分数据,直接检验会引入假阳性。应先做 CLR/ILR 变换,或用 ANCOM-BC、ALDEx2 等专用方法。
14. taxon_id 和 ncbi_taxon_id 有什么区别?
前者是 GMrepo 内部唯一 ID,后者是 NCBI 分类体系中的实体 ID。联表时必须用对。
15. 一个 run 是一个病人吗?
不一定。run 是一次测序,同一人多次采样会有多个 run。个体级分析需先按元数据去重。
D. Marker 与 MCI
16. 1299 个 marker 覆盖所有项目吗?
不。只来自 275 个 curated 项目、覆盖 167 个表型对。全库 890 项目中其余项目未做 marker 识别。
17. MCI 高就说明这个菌是真信号吗?
不。MCI 衡量跨研究一致性,不衡量因果或诊断效能。仍需独立队列验证。
18. 为什么 MCI 的灰区占比这么高(43%)?
因为微生物组研究的异质性本来就大:人群、饮食、用药、方法学差异都会让 marker 方向翻转。灰区高是诚实的反映,不是方法失败。
19. 我能不能自己算 MCI?
可以。定义是"出现频率 × 方向一致性"的合成,但具体公式细节需查论文方法节(本轮未核到完整公式)。建议直接调用库里现成的 MCI 值。
20. marker 分析用的是什么差异检验?
中文二次报道口径为 LEfSe;具体参数(LDA 阈值、α 值)文档未披露,属遗留疑点。
事实清单(硬事实 26 条)
| # | 事实 | 来源 |
|---|---|---|
| 1 | v3 论文:Nucleic Acids Res 2026;54(D1):D734–D742 | OUP/Scilit 元数据 |
| 2 | DOI:10.1093/nar/gkaf1190 | OUP / CNGBdb |
| 3 | PMID:41277537 | PubMed / CNGBdb |
| 4 | v3 在线首发:2025-11-24 | OUP |
| 5 | v3 规模:890 项目 / 118,965 runs | 论文摘要 |
| 6 | v3 构成:16S 87,048 + 宏基因组 31,917 | 论文摘要 |
| 7 | v3 疾病表型:302(v2 为 133) | 论文摘要 |
| 8 | marker taxa:1,299(726 种 + 573 属) | 论文摘要 |
| 9 | 表型对:167;来源项目:275 | 论文摘要 |
| 10 | ≥10 项目的 marker:400 个 | 论文摘要 |
| 11 | MCI > 75% 的健康富集 marker:143 个 | 论文摘要 |
| 12 | MCI < 25% 的疾病富集 marker:85 个 | 论文摘要 |
| 13 | 维护机构:华中科技大学(HUST)陈卫华课题组 | 论文作者单位 / 站点版权 |
| 14 | 官方站点:https://gmrepo.humangut.info | 论文摘要 |
| 15 | 已处理 run:108,176(884 项目) | 文档站 overview |
| 16 | 可用丰度 run:68,723(664 项目) | 文档站 overview |
| 17 | QC 失败 run:39,453(472 项目) | 文档站 overview |
| 18 | 可用样本中物种 1,683 / 属 1,515 | 文档站 overview |
| 19 | 物种纳入阈值:≥2 样本且中位丰度 ≥0.01% | 文档站 overview |
| 20 | QC 阈值 1:16S clean reads < 20,000 判失败 | 文档站 |
| 21 | QC 阈值 2:单分类单元 > 99.99% 判失败 | 文档站 |
| 22 | 16S 流程:QIIME2 + ASV;宏基因组:MetaPhlAn4 默认参数 | 文档站 |
| 23 | 上游工具:FastQC 0.11.8 / Trimmomatic / Seqtk | 文档站 |
| 24 | 共现三条件:Fisher(p<0.05) + Pearson(p<0.05) + Spearman(p<0.05),存在阈值 0.01% | 文档站 |
| 25 | 下载目录:/Downloads/SQLDumps/,11 个 txt.gz + 1 个 sql.gz | 文档站 |
| 26 | 官网首页实时:196,099 runs / 1,172 项目 / 351 表型 / 1,864 markers | 官网首页 2026-10-17 |
术语表(28 条)
| 术语 | 英文 | 释义 |
|---|---|---|
| 宏基因组 | metagenome | 环境样本中全部微生物遗传物质的总和 |
| 宏基因组测序 | shotgun metagenomics | 对样本全部 DNA 直接测序,可到种/株级 |
| 16S rRNA 扩增子 | 16S rRNA amplicon | 只测 16S 基因特定区段,成本低,多数到属级 |
| ASV | Amplicon Sequence Variant | 扩增子序列变体,逐条序列去噪后的精确序列单元 |
| OTU | Operational Taxonomic Unit | 按相似度阈值聚类的操作分类单元,ASV 的前身 |
| 相对丰度 | relative abundance | 某分类单元在样本中的占比,通常归一化至 100% |
| 流行率 | prevalence | 某分类单元在样本集合中出现的比例 |
| 共现 | co-occurrence | 两个分类单元在样本中非随机地同时出现 |
| 表型 | phenotype | 样本供体的健康状态或疾病类别 |
| 表型对 | phenotype pair | 用于比较的两组表型,如健康 vs 结直肠癌 |
| marker taxon | marker taxon | 在表型对之间丰度显著差异的分类单元 |
| MCI | Marker Consistency Index | 标记物一致性指数,综合出现频率与方向一致性 |
| 元数据整理 | metadata curation | 从文献与公共库中人工提取并核实样本宿主信息 |
| 重注释 | re-annotation | 用统一工具与参考库重新处理原始数据 |
| 组分数据 | compositional data | 各部分之和恒定的数据(如归一化丰度) |
| CLR | Centered Log-Ratio | 中心对数比变换,处理组分数据的常用方法 |
| ILR | Isogonal Log-Ratio | 等距对数比变换,组分数据另一种变换 |
| LEfSe | Linear Discriminant Analysis Effect Size | 差异丰度分析工具,输出 LDA 效应量 |
| MetaPhlAn | MetaPhlAn | 基于标记基因的宏基因组物种定量工具 |
| QIIME2 | QIIME 2 | 微生物组扩增子分析流程框架 |
| 批次效应 | batch effect | 因处理批次不同引入的非生物学差异 |
| 组成性偏倚 | compositional bias | 组分数据中某部分变化引起的其他部分表观变化 |
| 假阳性 | false positive | 实际无差异却被判为有差异 |
| FDR | False Discovery Rate | 错误发现率,多重检验校正指标 |
| 本库软删 | soft delete | 记录保留但 del_sign=1,统计时须排除 |
| 在架 | on-shelf | 本库中 status=1 AND del_sign=0 的条目 |
| AI-Ready | AI-Ready | 结构规范、许可清晰、可直接用于模型训练的数据就绪状态 |
| 数据治理 | data governance | 围绕许可、版本、质量与可追溯性的管理规范 |
§12 案例解剖:三个典型使用场景的完整推演
本节用三个虚构但符合真实数据约束的场景,把前文的规则串成可执行的动作序列。所有场景中的样本量、阈值均为示例,实际以你下载的数据为准。
12.1 场景一:结直肠癌菌群特征筛选(小样本起步)
背景:一位临床研究者想验证"某几个菌能否区分 CRC 患者与健康对照",手头没有算力跑原始数据,希望直接用 GMrepo 的丰度表。
第一周:先看规模,别急着下载
动作 1:下载 stats_by_phenotype.txt.gz(几百 KB)
动作 2:筛选 phenotype 含 "Colorectal" 的行
动作 3:读三列——run 总数、有效 run 数、失败 run 数
判断:
- 若有效 run < 100 → 样本不足,考虑合并相邻表型或换资源
- 若失败比例 > 50% → 该项目群整体测序质量差,慎用
这一步的价值在于用几百 KB 的成本否决掉后续几个 GB 的下载。很多人跳过这一步,直接下丰度表,最后发现目标疾病只有几十个样本。
第二周:确认元数据可用性
动作 4:下载 sample_to_run_info.txt.gz
动作 5:取目标表型 + 健康对照的子集
动作 6:逐列统计缺失率(age / gender / BMI / country / antibiotics)
判断:
- country 缺失 < 10% → 可做国别分层或作为协变量
- age 缺失 > 50% → 放弃年龄校正,改在局限中声明
- BMI 缺失 > 70% → 基本不可用(这在微生物组数据里很常见)
- antibiotics 缺失 > 90% → 只能当"未记录"处理,不能当"未使用"
最后一条最容易出错:"未记录"与"未使用"是完全不同的语义。若把缺失当"未使用",会把大量未知样本归入干净组,系统性稀释抗生素效应。
第三周:构建特征矩阵并处理组分性
动作 7:下载 species_abundance.txt.gz,取子集样本 × 物种
动作 8:过滤——保留流行率 > 10% 的物种(自行加严阈值)
动作 9:零值处理——加伪计数(如 1e-6)后做 CLR 变换
动作 10:可选——用 MCI 对物种排序,作为特征重要性的先验
第 9 步是分水岭。不做变换直接跑 t 检验,你会得到上百个"显著"物种,其中大量是组分效应的产物——某个高丰度物种变化,会机械地推高所有其他物种的相对比例。做完 CLR 后显著物种数通常会大幅收缩,这才是可信的信号。
第四周:划分与评估
动作 11:按 project_accession 划分 train/test(严禁按样本随机)
动作 12:训练基线模型(逻辑回归 / 随机森林)
动作 13:同时报告两个指标:
- 同项目内交叉验证 AUC(乐观,仅作参考)
- 跨项目 holdout AUC(真实,作为主结论)
动作 14:与 GMrepo 的 marker 表对照,看模型选出的特征有多少落在 1299 个 marker 里
第 13 步的两个数字通常会差很多。同项目交叉验证 AUC 0.9、跨项目 AUC 0.6 是微生物组领域的常态。只报前者是自欺,只报后者会被质疑方法不行——两个都报,并解释差距来源(批次效应 + 人群差异),才是诚实写法。
这个场景的三个关键判断点
| 判断点 | 错误做法 | 正确做法 |
|---|---|---|
| 样本量 | 用 118,965 规划 | 用 stats_by_phenotype 的实际可用数 |
| 缺失值 | 把 NaN 当"无" | 区分"未记录"与"未使用",缺失率高就放弃该协变量 |
| 评估 | 只报同项目 CV | 同项目 CV + 跨项目 holdout 双报 |
12.2 场景二:MCI 作为方法学模板的迁移
背景:一位影像组学研究者读到 GMrepo v3 的 MCI,想把这个思路用到自己的"某影像特征在多少中心的研究中被报为有效"的问题上。
第一步:拆解 MCI 的两个输入
MCI 的输入不是原始数据,而是每条"发现"的方向与所属研究。迁移到影像组学时,对应关系是:
| GMrepo 中的概念 | 影像组学中的对应物 |
|---|---|
| marker taxon | 某个影像组学特征(如某纹理参数) |
| project | 某个独立研究 / 中心 / 队列 |
| phenotype pair | 某疾病 vs 对照 |
| 方向(富集/减少) | 特征值在病例组升高/降低 |
| 出现频率 | 多少个研究报告该特征显著 |
| 方向一致性 | 其中多少个方向相同 |
| MCI | 合成的一致性分数 |
第二步:明确 MCI 不解决什么
迁移时必须放弃三个幻想:
- 它不校正研究质量。20 个研究一致,若都来自同一团队同一设备,一致性没有普适意义。GMrepo 也没解决这个问题。
- 它不校正发表偏倚。阴性结果不进库,MCI 天然偏高。
- 它不告诉你因果。一致性是关联的属性,不是机制的证明。
第三步:设计自己的版本
一个可落地的迁移方案:
输入:N 个独立研究,每个研究报告一组显著特征及方向
计算:
for 每个特征 f:
k = 报告 f 显著的研究数
n = 总研究数
p_same = 方向相同的研究数 / k
consistency = p_same # 方向一致性
prevalence = k / n # 出现频率
score = consistency × f(prevalence) # 合成(f 可取 sqrt、log 等)
输出:按 score 排序的特征表 + 灰区标注
关键设计选择在于 f(prevalence) 的形式:GMrepo 的具体合成公式本轮未核到(见遗留疑点),但无论取什么形式,必须让"只在一个研究里出现"的特征无法得到高分——否则会把孤例误判为稳健信号。
第四步:验证 MCI 类指标真的有预测力
这是最有价值的一步,也是最容易被跳过的:用留出研究验证"MCI 高的特征,在未参与计算的新研究里是否更可能复现"。
留一研究法(leave-one-study-out):
for 每个研究 s:
用其余研究计算每个特征的 score
检查 s 中该特征是否显著且方向一致
汇总:score 高分组的复现率 vs 低分组
如果两者无差异 → 该一致性指标没有预测力,只是描述统计
GMrepo v3 论文证明了 MCI 与方向一致性相关(这是定义使然,近乎同义反复),但没有证明它能预测新研究中的表现。这是一个明确的开放问题,也是迁移者最该做的验证。
12.3 场景三:作为 LLM/多模态 agent 的知识底座
背景:一个做医学问答或科研助手的团队,想把 GMrepo 作为"肠道菌群-疾病"事实的结构化来源。
为什么适合
- 表型名对齐 MeSH,可与其他医学词表打通;
- marker 表给出"菌—病—方向—一致性"四元组,天然适合构建知识图谱的边;
- 数据可离线全量下载,不依赖在线 API,适合做检索增强的本地索引。
构建流程
步骤 1 下 gmrepo.sql.gz,导入本地数据库
步骤 2 建三张核心表:
t_taxon(ncbi_taxon_id, name, rank)
t_phenotype(mesh_id, name)
t_marker(ncbi_taxon_id, mesh_id, direction, n_projects, mci)
步骤 3 为每条边生成自然语言陈述:
"Faecalibacterium prausnitzii 在健康对照中一致富集(MCI > 75%)"
步骤 4 向量化 + 建索引,供 RAG 检索
步骤 5 在答案中强制附带三要素:样本来源数、MCI 值、一致性等级
必须设的三道安全阀
- 禁止把 MCI 翻译成"证实"。生成文本必须写"多项研究报告一致",不能写"已证实"。
- 灰区必须显式披露。若用户问到一个 MCI 在 25%–75% 的菌,答案必须提示"证据方向不一致"。
- 禁止跨病种外推。某菌在 CRC 中一致性高,不代表在 IBD 中也高——marker 表是按表型对组织的,不能按菌聚合后跨病种传播。
第 3 条是最容易被忽略的。一个常见的错误生成是:“A 菌是 CRC 的稳健 marker,因此 A 菌也与 IBD 相关。” 这在数据上完全无依据,因为 IBD 的表型对可能根本没算过 A 菌,或算了但方向相反。
这个场景的价值与风险对照
| 价值 | 风险 |
|---|---|
| 四元组结构清晰,易构图谱 | MCI 易被误读为"证实" |
| 表型对齐 MeSH,跨库可连 | 表型对粒度被忽略,跨病种外推 |
| 离线可部署,无 API 依赖 | license 未声明,商用需授权 |
| 数据量大,覆盖 302 疾病 | 各病种样本量极不均,冷门病结论薄弱 |
§13 分角色阅读路径
本条目信息密度较高,不同读者不必通读。以下按角色给出最短路径。
13.1 临床/流行病学研究者(关心"这个菌到底靠不靠谱")
| 顺序 | 章节 | 要拿走的结论 |
|---|---|---|
| 1 | §0.1–§0.2 | 它解决什么、不是什么 |
| 2 | §4.2–§4.4 | MCI 怎么读、四个示例 marker |
| 3 | §10 坑 10 | MCI 高 ≠ 已证实 |
| 4 | §12.1 | 从样本量到建模的完整流程 |
预计耗时:20 分钟。最关键的一句:MCI 衡量的是跨研究一致性,不是诊断效能,临床落地仍需前瞻验证。
13.2 机器学习工程师(关心"能不能直接拿来训模型")
| 顺序 | 章节 | 要拿走的结论 |
|---|---|---|
| 1 | §1 十问十答 | 快速建立全局 |
| 2 | §2.1–§2.3 | 可用样本 68,723,特征 1,683 种 |
| 3 | §10 坑 3/5/6/7 | 四个必踩的坑 |
| 4 | 附录 E/F | 划分与流程骨架 |
预计耗时:30 分钟。最关键的一句:按项目划分 train/test,否则指标全部虚高。
13.3 数据工程/平台团队(关心"怎么接进自己的系统")
| 顺序 | 章节 | 要拿走的结论 |
|---|---|---|
| 1 | §6.1–§6.5 | 静态文件、无 API、license 未声明 |
| 2 | §2.7 | 11 个文件的清单与用途 |
| 3 | §6.2 + 附录 D | 该下哪个文件 |
| 4 | §6.6 | 五个获取坑 |
预计耗时:15 分钟。最关键的一句:全库 dump 是唯一能支撑复杂联表的方式,但要先看体积。
13.4 方法学者/综述作者(关心"这篇论文的方法学贡献")
| 顺序 | 章节 | 要拿走的结论 |
|---|---|---|
| 1 | §4 全节 | MCI 的定义、统计结果、边界 |
| 2 | §5 全节 | 三口径对账,引用规范 |
| 3 | §8 全节 | 三条可迁移经验 + 三条短板 |
| 4 | §12.2 | MCI 迁移到其他组学的具体做法 |
预计耗时:40 分钟。最关键的一句:MCI 把"一致性"从定性描述变成可排序字段,这一步的设计价值大于任何单个发现。
13.5 合规/法务(关心"能不能用")
| 顺序 | 章节 | 要拿走的结论 |
|---|---|---|
| 1 | §6.4 | license 未声明的事实与三处核验 |
| 2 | 附录 B | 许可清晰度评分 2/10 |
| 3 | §10 坑 1 | 商业使用的前置动作 |
预计耗时:10 分钟。最关键的一句:免费下载 ≠ 授权使用,商业场景必须先取得作者书面许可。
13.6 快速通道:只看三行
若只有一分钟,读这三行:
- 规模:890 项目、118,965 run、302 种疾病、1299 marker taxa(论文口径;官网实时已增至 196,099 run)。
- 增量:MCI 把"某菌在多少研究里同向变化"压成 0–100% 分数,400 个高频 marker 中 57% 落在两端、43% 在灰区。
- 风险:官方未声明 license、无 REST API、工具版本披露不全。
§14 常见误解澄清:十二条
误解往往比信息本身更有杀伤力。以下十二条是围绕 GMrepo 最容易形成的错误认知,逐条纠正。
误解 1:GMrepo 是一个新的测序项目
纠正:它是一个汇集与再处理平台。库里没有一个样本是 GMrepo 团队自己采的,全部来自公开数据库的已发表项目。它的贡献在于整理、统一注释与派生分析。
为什么会产生这个误解:论文标题里的 “curated database” 容易被理解为"我们建了一个数据库",而"建"既可以是采集,也可以是汇集。
误解 2:v3 是"第三个独立数据集"
纠正:v3 是同一数据库的第三代快照,与 v2 是包含关系(大体上,不保证逐条样本都保留)。v2 的 71,642 个 run 基本都在 v3 里。做纵向分析时要注意,跨版本比较不等于跨队列比较。
误解 3:数据下载就是原始测序数据
纠正:完全不提供原始 fastq。下载到的是丰度表、元数据表、共现表、分类表。原始数据必须去 SRA 或 ENA 按 run accession 自取。
误解 4:样本数就是病人数
纠正:118,965 是 run 数(测序次数),不是个体数。同一人多次采样(如 IBD 患者的随访队列)会产生多个 run。个体级分析必须先按元数据去重,而元数据里是否有稳定的个体标识,需自行核对。
误解 5:302 种疾病就是 302 个表型
纠正:论文说"注释的疾病数从 133 增至 302",官网说"351 个表型"。两者的差异在于后者把健康对照与部分非疾病状态也计入表型。引用时写"302 种疾病"更严谨。
误解 6:marker 就是生物标志物
纠正:marker 是"在某表型对之间丰度显著差异的分类单元",是一个统计概念。生物标志物需要满足诊断性能(灵敏度、特异度、AUC)、可重复性、临床可及性等多重条件。GMrepo 的 1299 个 marker 中,大多数没有经过诊断性能评估。
误解 7:MCI 高就等于结论可靠
纠正:MCI 高只说明多个研究报告了同向变化。如果这些研究共享同一人群、同一饮食结构、同一方法学偏倚,一致性再高也不能推广。MCI 是关联的一致性,不是因果的确定性。
误解 8:有了 MCI 就不需要 meta 分析
纠正:MCI 是粗粒度的批量筛查,不能替代严格 meta 分析。meta 分析需要效应量(如标准化均值差)、置信区间、异质性检验(I²)、发表偏倚评估(漏斗图),这些 MCI 都不提供。正确用法是"先看 MCI 筛候选,再做 meta 分析定量"。
误解 9:相对丰度相加可以比较总量
纠正:每个样本的相对丰度都归一化到 100%,相加恒等于 100。不同样本的"总丰度"在归一化时已丢失。要研究绝对菌量,需要 qPCR、流式细胞术或加内标。
误解 10:16S 和宏基因组可以直接混在一起分析
纠正:两者的分辨率不同(16S 多到属、宏基因组可到种),特征空间不对齐。混合使用必须先把 16S 的 ASV 注释到属级,再与宏基因组的属级丰度合并,且要意识到两者对同一属的定量系统性偏差不同。
误解 11:库里有 890 个项目,所以每个疾病都有很多项目
纠正:分布极不均。常见病(CRC、IBD、糖尿病)可能几十个项目,冷门病可能只有一两个项目、几十个样本。先查 stats_by_phenotype.txt.gz,不要按平均数规划。
误解 12:数据库一直在更新,所以随时下载都是最新最全
纠正:更新不等于"每次下载都完整"。官网首页的实时数字是统计值,不代表每个表都已刷新到该规模;不同表的更新可能不同步。以自己的实测行数为准,并在方法中写明下载日期。
14.1 误解的共性来源
十二条里有九条源自同一个原因:把"数据量大"误当成"数据可靠"。规模是可见的,质量是隐藏的;MCI、QC 通过率、缺失率这些"质量信号"都埋在文档深处,需要主动去查。
这与影像数据集的经验一致:一个 10 万张的公开数据集,如果标注来自单一来源且未经抽检,其价值可能不及一个 5000 张的多中心精标集。GMrepo 在这一点上做得比多数资源好(它公开了 QC 通过率与 MCI),但仍需使用者主动解读。
14.2 三条自检问句
在把 GMrepo 写进论文之前,问自己三句:
- 我引用的数字是哪个口径?(论文 / 文档站 / 官网实时)
- 我的疾病有多少实际可用的样本?(不是全库总数)
- 我的结论依赖的是关联还是因果?(若写"导致",需要另找证据)
三句都答得出来,基本可以避免最常见的方法学硬伤。
附录
附录 A:条目信息速查卡
| 项 | 内容 |
|---|---|
| slug | gmrepo-v3 |
| 官方名 | GMrepo v3(Gut Microbiome Data Repository 第三代) |
| 主页 | https://gmrepo.humangut.info |
| 下载 | https://gmrepo.humangut.info/Downloads/SQLDumps/ |
| 文档 | https://2909682517.github.io/gmrepodocumentation |
| 论文 | Nucleic Acids Res 2026;54(D1):D734–D742 |
| DOI | 10.1093/nar/gkaf1190 |
| PMID | 41277537 |
| 维护方 | 华中科技大学 陈卫华课题组 |
| 许可 | 未声明(仅版权声明) |
| 获取摩擦 | 极低(免注册直下) |
| 复现摩擦 | 中(工具版本披露不全) |
| 主要用途 | 疾病-菌群关联、marker 筛选、组学 ML 数据源 |
| 主要风险 | license 未声明、无 API、三口径数字易混用 |
附录 B:DAIMS 评估全表
| 维度 | 评分(1-10) | 依据 |
|---|---|---|
| D 可发现性 | 8 | 三代论文连续发表于 NAR 数据库专刊,DOI/PMID 齐全,官网长期在线;扣分在于首页无版本号标签,初次访问难以判断是第几代 |
| A 可获取性 | 8 | 免注册、免申请、静态文件直下,11 个 TSV + 全库 dump;扣分在于无 REST API,大规模程序化检索需自建索引 |
| I 可互操作 | 7 | TSV 通用格式 + MeSH 映射 + NCBI 分类 ID,可与主流工具对接;扣分在于 taxon_id 与 ncbi_taxon_id 双 ID 体系易混淆,无 BIOM 等标准组学格式导出 |
| M 元数据质量 | 7 | 人工整理、有准入判断(如 AGP 只采信医疗专业人员诊断);扣分在于年龄/性别/BMI/抗生素使用等字段缺失普遍,完整率未系统公布 |
| S 可持续性 | 7 | 2026-10 官网数字较论文增长 65%,显示活跃维护;扣分在于无固定更新周期公告、文档站引用文案与版权年份停留在旧版 |
| R 可复现性 | 6 | QC 阈值与共现规则明确,FastQC 有版本号;扣分在于 QIIME2/MetaPhlAn4 数据库版本、Trimmomatic/Seqtk 版本、LEfSe 参数均未披露,无法严格复现 |
| L 许可清晰度 | 2 | 官方全站无 license 文本,仅有版权声明;商业使用与再分发法律状态不明——本表最低分项 |
| 综合评级 | 6.4/10(中上) | 作为数据资源本身质量高、获取摩擦极低;被许可缺失与流程版本披露不全拖低,尤其许可一项是硬伤 |
附录 C:逐项证据链自证
| 关键数字 | 来源 | 位置 |
|---|---|---|
| 890 项目 / 118,965 runs | v3 论文摘要 | OUP / PubMed / CNGBdb 三处一致 |
| 16S 87,048 + 宏基因组 31,917 | v3 论文摘要 | 同上 |
| 302 种疾病 | v3 论文摘要 | 同上 |
| 1,299 marker taxa(726 种 + 573 属) | v3 论文摘要 | 同上 |
| 167 表型对 / 275 curated 项目 | v3 论文摘要 | 同上 |
| 400 marker / 143 健康富集 / 85 疾病富集 | v3 论文摘要 | 同上 |
| 108,176 / 68,723 / 39,453 | 文档站 Database overview | 抓取 2026-10-17 |
| 1,683 种 / 1,515 属 | 文档站 Database overview | 同上 |
| 20,000 reads / 99.99% | 文档站 Data processing & QC | 同上 |
| QIIME2 + ASV / MetaPhlAn4 默认参数 | 文档站 Data processing & QC | 同上 |
| FastQC 0.11.8 | 文档站 Data processing & QC | 同上 |
| 共现三条件与 0.01% 阈值 | 文档站 Data processing & QC | 同上 |
| 11 个 txt.gz + gmrepo.sql.gz | 文档站 Download data from GMrepo | 同上 |
| 无 REST API | 文档站 Download data from GMrepo | 同上 |
| 196,099 / 1,172 / 351 / 1,864 / 335 / 186 | 官网首页 | 抓取 2026-10-17 |
| v1:58,903 / 253 / 92 | v1 论文摘要(PMID 31504765) | PubMed |
| v2:71,642 / 353 / 133;592 marker / 47 表型对 / 83 项目 | v2 论文(PMC8728112) | PMC 全文 |
附录 D:数据获取决策树(详版)
开始
│
├─ 目标:只想知道某疾病的样本规模
│ └─ 下 stats_by_phenotype.txt.gz(最小,几百行)
│
├─ 目标:做疾病分类建模
│ ├─ 1. sample_to_run_info.txt.gz → 取 phenotype + 元数据
│ ├─ 2. species_abundance.txt.gz → 取特征矩阵
│ ├─ 3. 交集样本 → 训练/测试划分(按项目划,避免同项目泄漏)
│ └─ 4. 注意:QC 失败样本不在丰度表内,不必当负例处理
│
├─ 目标:做 marker 复现性研究
│ ├─ 1. 论文方法节 + marker 表
│ ├─ 2. 用丰度表自算差异(与原 marker 对照)
│ └─ 3. 用 MCI 做一致性分层
│
├─ 目标:做共现网络
│ └─ species_cooccurence.txt.gz(已算好三条件共现)
│
├─ 目标:自建查询服务
│ └─ gmrepo.sql.gz → 本地 MySQL → 包一层 REST
│
└─ 目标:复现 GMrepo 的处理流程
└─ 需要原始 fastq(SRA)+ 工具版本(部分未披露)→ 无法完全复现
附录 E:可分片训练/测试的划分建议
GMrepo 不做官方 train/test 划分,自建划分时有三条原则:
| 原则 | 做法 | 原因 |
|---|---|---|
| 按项目划分,不按样本 | 整个项目归入 train 或 test | 同项目样本共享实验条件,随机会导致批次泄漏、指标虚高 |
| 按人群/国别分层 | 尽量让 train 与 test 人群不同 | 检验跨人群泛化,这才是真实部署场景 |
| 保留时间外推集 | 若有项目年份,留一批较新项目做 test | 检验模型对"新研究"的稳健性 |
最小示例骨架:
import pandas as pd
meta = pd.read_csv('sample_to_run_info.txt.gz', sep='\t', low_memory=False)
abund = pd.read_csv('species_abundance.txt.gz', sep='\t', index_col=0)
# 只保留有用样本(丰度表内即有 QC 通过的样本)
common = meta['run_accession'].isin(abund.index)
meta = meta[common]
# 按项目划分,避免批次泄漏
projects = meta['project_accession'].unique()
test_projects = set(pd.Series(projects).sample(frac=0.2, random_state=42))
is_test = meta['project_accession'].isin(test_projects)
X_train = abund.loc[meta.loc[~is_test, 'run_accession']]
X_test = abund.loc[meta.loc[ is_test, 'run_accession']]
y_train = meta.loc[~is_test, 'phenotype']
y_test = meta.loc[ is_test, 'phenotype']
(字段名以实际下载文件表头为准;上文为结构示意,具体列名需打开文件确认。)
附录 F:常见分析流程模板
步骤 1 数据加载
- 读 sample_to_run_info.txt.gz 与 species_abundance.txt.gz
- 按 run_accession 取交集,确认样本数
步骤 2 子集筛选
- 限定目标疾病 + 健康对照
- 统计每组的项目数与样本数(项目数太少要警惕)
步骤 3 组成性处理
- 零值处理(伪计数或零膨胀模型)
- CLR / ILR 变换
步骤 4 特征筛选
- 流行率阈值(如 >10%)
- 可选:用 MCI 作先验排序
步骤 5 建模
- 按项目划分 train/test
- 报告 AUC 同时报告跨项目与跨人群表现
步骤 6 解释与验证
- 对照 GMrepo marker 表,看命中率
- 报告灰区 marker 的处理方式
附录 G:条目写作说明
- 本条目所有规模数字均标注口径(论文 / 文档站 / 官网实时),未做四舍五入合并。
- 未核实项统一列入 §10.1 遗留疑点,不在正文以确定语气陈述。
- license 按"官方未声明"处理,不做任何 CC/ODbL 推定。
- 互链 rid 一律不写具体值,由主会话入库后回填,避免导航目标不在架。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- american-gut-project — 共享标签:基因组学与多组学 / 微生物组 / 测序数据 / 队列研究
- china-map — 共享标签:基因组学与多组学 / 测序数据 / 队列研究 / 公共卫生与流行病学
- ckm-gut-metagenome — 共享标签:基因组学与多组学 / 微生物组 / 测序数据 / 队列研究
- hmp — 共享标签:基因组学与多组学 / 微生物组 / 测序数据
- ckb — 共享标签:基因组学与多组学 / 队列研究 / 公共卫生与流行病学
- ega — 共享标签:基因组学与多组学 / 测序数据 / 队列研究
- mgnify — 共享标签:基因组学与多组学 / 微生物组 / 测序数据
- curatedmetagenomicdata — 共享标签:基因组学与多组学 / 微生物组 / 测序数据
- all-of-us — 共享标签:基因组学与多组学 / 队列研究 / 公共卫生与流行病学
- sra — 共享标签:基因组学与多组学 / 测序数据 / 公共卫生与流行病学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

