跳转至

数据库

gmeta 的所有数据库都解析自同一个根目录。默认值按安装位置自适应:仓库检出用 <repo>/data/db(已 gitignore),pip 安装用 XDG 数据目录 (~/.local/share/gmeta/db)——数据库是几十 GB 的外部下载物,绝不放进包内。 用 GMETA_DB_DIR 或 -D 覆盖:

工具 期望路径 必需文件
kraken2 + bracken kraken2/ *.k2d + databaseXXXmers.kmer_distrib
centrifuge centrifuge/ <prefix>.1.cf.index*
kaiju kaiju/ nodes.dmp、names.dmp、*.fmi
metaphlan metaphlan/ mpa_v*/ 或 *.bt2l*
kmcp kmcp/ *.uniki + taxid.map(另需 taxdump/ 含 nodes.dmp)
sylph sylph/ *.syldb / *.syl2db
去宿主 host/ bowtie2 索引前缀(如 grch38.1.bt2l)

检查解析结果:gmeta db list —— 一张覆盖全部 8 个目标的 Rich 表格(ready/missing + 精确缺失的文件);gmeta db list -f json 是稳定的机器契约。每个探针调用的就是 执行器用的同一个 resolver,所以"ready"意味着分析软件真的会接受该路径——包括 bracken 的 kmer_distrib、kaiju 的 names.dmp 这类伴生文件。

下载脚本

数据库动辄几十 GB——gmeta db fetch 不直接下载,而是生成带注释、可断点续传的 bash 脚本,由你审查后自行运行:

gmeta db fetch                    # 生成全部目标脚本 → ./db-fetch/
gmeta db fetch kraken2 kmcp -O scripts/ --db-root /data/db

bash scripts/fetch-kraken2.sh     # wget -c → 解压 → 校验目录结构
bash scripts/run_all.sh           # 或按顺序全部执行

脚本安装到 $GMETA_DB_DIR(或生成时 --db-root 指定的目录),并校验 gmeta 解析器期望的目录结构。

kmcp 特殊:其预建数据库发布在 OneDrive/奶牛快传(无稳定的 wget 地址)。 fetch-kmcp.sh 会自动下载 NCBI taxdump,然后给出手动下载数据库的说明退出—— 手动步骤完成后重跑脚本即可完成校验。

URL 会随版本更新而变化;每个 URL 都放在脚本顶部的变量里,注释中附上游链接。

种基因组覆盖度的参考基因组

覆盖度计算需要物种参考基因组 FASTA + manifest CSV:

accession,species_taxid,organism_taxid,scientific_name,file_path
GCF_000025985.1,817,272559,Bacteroides fragilis NCTC 9343,refs/GCF_000025985.1.fna

相对 file_path 按 manifest 所在目录解析。没有 manifest 时,会在 --ref-dir 里搜 {accession}*.fna / {taxid}*.fna。

中文名映射表

src/gmeta/data/ 内置监测用中文名表(species_chinese_names.tsv、 genus_chinese_names.tsv、taxid_chinese_mapping.csv);未收录类群回退拉丁名。 映射表随包分发(体积小、与 gmeta 同版本管理)。扩展方式:编辑 src/gmeta/data/*.tsv|csv 后重装;未收录类群回退拉丁名。