GenoTEX:面向基因表达数据分析的大语言模型智能体基准¶
一句话概述:GenoTEX(Genomics Data Automatic Exploration Benchmark)是一个专为自动化基因表达数据分析而设计的基准数据集。
核心功能与知识点详解¶
1. 基准数据集概览¶
GenoTEX 包含 1,384 个基因-性状关联(GTA)分析问题,其中 132 个为无条件问题(仅寻找与目标性状相关的基因),1,252 个为条件问题(需考虑年龄、性别或共存疾病等协变量的影响)。输入数据总量约 41.5 GB,涵盖 911 个数据集,平均每个数据集含 167 个样本,总计 152,415 个样本。每个数据集平均包含 18,530 个标准化基因特征。基准提供 237,907 行分析代码(由生物信息学专家编写,平均每个数据集 261 行),以及每个问题所发现的显著性基因列表。
每个 GTA 问题模拟真实研究场景:寻找与特定性状(如疾病)相关的基因,并可选择性地控制某些条件的影响(如年龄、性别、共存疾病)。这类似于真实的科研情境——关键基因往往因患者身体状况的不同而有所变化。
2. 评测任务¶
基准定义了三个子任务,对应数据分析流水线的关键步骤:
| 任务 | 说明 |
|---|---|
| 数据集选择 | 从公共数据库中选出与目标性状相关的合适数据集 |
| 数据预处理 | 对原始表达谱和临床数据进行清洗、标准化、整合 |
| 统计分析 | 执行适当的统计检验(如回归分析),识别显著性基因 |
这三个任务共同覆盖了自动化基因表达分析的全部环节,能够全面评估 LLM Agent 的代码生成、推理和工具调用能力。
3. 数据来源与组织¶
GenoTEX 的数据来源于两大公共数据库:
- GEO(Gene Expression Omnibus):通过 Entrez Utilities 按特定标准程序化搜索并下载。每个数据集存储在以其 GSE 编号命名的文件夹中,通常包含
.gz压缩的 SOFT 文件和矩阵文件。 - TCGA(The Cancer Genome Atlas):通过 UCSC Xena 平台 下载,按癌症类型组织。每个文件夹包含
clinicalMatrix文件(样本临床特征)和PANCAN.gz文件(基因表达数据)。
为安全处理路径,性状名称经过归一化:去除单引号(')并将空格替换为下划线(_)。例如,“Crohn's Disease”变为“Crohns_Disease”,“Large B-cell Lymphoma”变为“Large_B-cell_Lymphoma”。
4. 目录结构详解¶
GenoTEX 的数据部分分为三个根目录:input/、output/ 和 metadata/。
./
├── input/
│ ├── GEO/ # 来自 GEO 的原始数据
│ │ ├── Trait_1/ # 性状名称归一化后的目录
│ │ │ ├── GSE12345/
│ │ │ │ ├── GSE12345_family.soft.gz
│ │ │ │ └── GSE12345_series_matrix.txt.gz
│ │ │ └── ...
│ │ └── ...
│ └── TCGA/ # 来自 TCGA 的原始数据
│ ├── TCGA_Cancer_Type_1/
│ │ ├── TCGA.XXXX.sampleMap_XXXX_clinicalMatrix
│ │ └── TCGA.XXXX.sampleMap_HiSeqV2_PANCAN.gz
│ └── ...
├── output/ # 分析输出数据
│ ├── preprocess/ # 预处理后的数据集
│ │ ├── Trait_1/
│ │ │ ├── clinical_data/
│ │ │ │ ├── GSE12345.csv
│ │ │ │ ├── Xena.csv
│ │ │ │ └── ...
│ │ │ ├── gene_data/
│ │ │ │ ├── GSE12345.csv
│ │ │ │ ├── Xena.csv
│ │ │ │ └── ...
│ │ │ ├── cohort_info.json
│ │ │ ├── GSE12345.csv
│ │ │ ├── Xena.csv
│ │ │ └── ...
│ │ └── ...
│ └── regress/ # 回归分析结果
│ ├── Trait_1/
│ │ ├── significant_genes_condition_None.json
│ │ ├── significant_genes_condition_Condition_1.json
│ │ └── ...
│ └── ...
└── metadata/ # 问题定义与领域知识
├── task_info.json # GTA 分析问题列表及先验知识
└── gene_synonym.json # 基因符号映射表(同义词)
预处理结果说明:
- 对于每个性状,
output/preprocess/{trait_name}/下包含三个子区域: clinical_data/:存储整理后的临床数据 CSV,行列格式:行为性状名称,列为样本 ID。gene_data/:存储基因表达数据 CSV,行为基因符号,列为样本 ID。- 直接存储的 CSV(如
{trait_name}/{cohort_ID}.csv):将临床数据与基因表达数据合并后的“链接数据集”,行为样本 ID,列为所有特征(临床+基因)。 - 对于 GEO 数据集,
cohort_ID为 GSE 编号;对于 TCGA(每个性状最多一个 TCGA 数据集),统一使用Xena作为 ID。 - 每个性状目录下还有一个
cohort_info.json文件,记录数据集筛选和预处理结果的相关元数据。
示例数据格式:
- 基因表达数据(
gene_data/{cohort_ID}.csv):
GSM7920782 GSM7920783 GSM7920784 ... GSM7920825
A2M 13.210 13.238 14.729 ... 7.359
ACVR1C 5.128 5.337 5.611 ... 8.151
ADAM12 9.807 12.374 9.953 ... 9.266
... ... ... ... ... ...
ZEB2 9.534 10.488 10.553 ... 8.151
- 临床数据(
clinical_data/{cohort_ID}.csv):
GSM7920782 GSM7920783 ... GSM7920825
Breast_Cancer 1.0 1.0 ... 0.0
Age 49.0 44.0 ... 74.0
Gender 0.0 0.0 ... 1.0
- 链接数据集(
{trait_name}/{cohort_ID}.csv):
Breast_Cancer Age Gender A2M ACVR1C ADAM12 ... ZEB2
GSM7920782 1.0 49.0 0.0 13.210 5.128 9.807 ... 9.534
GSM7920783 1.0 44.0 0.0 13.238 5.337 12.374 ... 10.488
...
5. 代码与注释¶
所有分析代码(统计检验、预处理脚本)由生物信息学专家编写,并附带详细注释。这些代码可作为自动化方法的参考标准,也便于人工复现和校验。
安装与代码实操¶
获取数据集¶
GenoTEX 提供两种分发方式:
- GitHub + 云存储:
- 代码与文档托管在 GitHub 仓库
数据文件通过以下链接单独下载(总大小 82.0 GB,请确保磁盘空间充足):
一体化打包版(代码+数据):
- Kaggle
- Hugging Face
- 适合希望单次下载并利用平台功能的用户。
使用建议¶
- 下载数据后,按目录结构放置于项目根目录下。
- 直接读取
input/下的原始数据,或使用output/preprocess/中的预处理结果进行分析。 - 如需复现基准结果,可参考
metadata/task_info.json中的问题定义,运行对应的统计代码(位于 GitHub 仓库的code/目录中,需额外克隆)。 - 若开发 LLM Agent,推荐以
output/regress/中的 JSON 结果为 ground truth 进行评估。
注:详细的代码使用说明(如环境配置、运行命令)请参见 GitHub 仓库中的 README 文件。
常见问题¶
Q1:性状名称为何要归一化?
为了路径操作安全,避免因空格、单引号等特殊字符导致脚本错误。用户在使用时应使用归一化后的名称访问目录。
Q2:GEO 数据集中 SOFT 文件和矩阵文件有何区别?
SOFT(Simple Omnibus Format in Text)文件包含样本元数据、探针信息等完整数据;矩阵文件(series_matrix.txt)是精简后的基因表达矩阵。两者均可用于分析,但矩阵文件更常用。
Q3:如何处理 TCGA 数据中不同癌症类型的命名差异?
TCGA 文件夹名称保持原样(如“TCGA_Cancer_Type_1”),可能未严格匹配归一化后的性状名称。需要参考 metadata/task_info.json 中的映射关系进行对应。
Q4:为什么有些性状目录没有 TCGA 数据?
并非所有性状都有对应的 TCGA 数据集。GenoTEX 只选取了在 TCGA 中可获取的癌症类型,其他性状仅包含 GEO 数据。
Q5:数据量过大,能否只下载部分数据集?
可以。Google Drive 和百度网盘均支持选择性下载。如需单独某个性状,直接下载对应文件夹即可。
速查表¶
| 项目 | 数值 |
|---|---|
| GTA 问题总数 | 1,384 |
| 无条件问题 | 132 |
| 条件问题 | 1,252 |
| 输入数据大小 | 41.5 GB |
| 数据集数量 | 911 |
| 平均样本数/数据集 | 167 |
| 总样本数 | 152,415 |
| 平均基因特征数/数据集 | 18,530 |
| 代码总行数 | 237,907 |
| 平均代码行数/数据集 | 261 |
| 数据压缩后总下载大小 | 82.0 GB |
| 主要数据来源 | GEO, TCGA |
| 许可协议 | CC BY 4.0 |
引用¶
如果您在研究中使用了 GenoTEX,请引用我们的 arXiv 论文:
@article{liu2024genotex,
title={GenoTEX: A Benchmark for Automated Gene Expression Data Analysis with Large Language Models},
author={Liu, Haoyang and others},
journal={arXiv preprint arXiv:2406.15341},
year={2024}
}
许可¶
本基准数据集采用 Creative Commons Attribution 4.0 International (CC BY 4.0) 许可协议。您可以自由共享和改编,但需标注原始出处。
致谢¶
感谢所有参与数据注释和代码编写的生物信息学专家,以及提供数据支持的 GEO 和 TCGA 公共数据库。