说实话 一开始我也觉得 geo 数据库就是个存基因芯片数据的仓库 你上上去搜搜 出来一堆 .txt .cdf 文件 满屏的数字矩阵看得人头皮发麻 当时我就想 这玩意儿能有多少 临床数据 啊 不就是几个样本的 RNA 表达量吗 后来有个师弟非要让我帮忙整理一批非小细胞肺癌的数据 我说你别折腾了 geo 里那点东西 离临床落地十万八千里 他还不信 非要我陪他一块儿翻 好家伙 翻完我真是长见识了 这也太香了 我之前真的小看它了
你别以为临床数据就是那种几万例的大 cohort 表格 在 geo 里 临床数据是嵌在 meta 信息里的 你点开任何一个 GSE 开头的条目 往下拉 看 supplementary file 那里 经常就藏着个 sample characteristics table 那里面写的啥呢 年龄 性别 分期 治疗方式 生存时间 甚至病理评分 我那个师弟当时盯着屏幕傻乐 你说谁成想 那个 GSE12345 居然附带了 200 多个病人的总体生存期数据 虽然样本量不算巨大 但做单中心的亚组分析 绝对够用 尤其是那些做了随访的老数据 时间跨度十年以上的 简直宝贝一样
不过你也得有个心理准备 geo 数据库有没有临床数据 这事儿得看你运气 更准确说是看数据上传者的心血 有人是真心实意想开放 把表型数据整理得清清楚楚 有的就是扔个芯片上去 连个注释都没有 我就遇到过一次 费了好大劲解压 结果发现所谓的 clinical info 就是一列 0 和 1 问上传者 人家不回 气得我直跺脚 这时候你得换个思路 不要只看 GEO 本身 要把 GEO 和 ClinicalTrials.gov 或者 PubMed 连起来看 很多 GEO 数据集是某篇论文支撑的 你去搜那篇论文 看 methods 部分 有时候临床表型数据在 supplement 的表格里 甚至作者会把 Excel 原表共享出来 我后来总结出一个套路 先查 GEO 的 title 和 abstract 如果提到 "clinical characteristics" "correlation with survival" 这种词 成功的概率就大了七八成 要是只提 "differential expression in cell lines" 那你趁早放弃吧 别浪费时间了 纯细胞株数据里哪来的 临床数据 啊
还有一种情况特别隐蔽 有些研究组会把微卫星不稳定性 MSI 状态 免疫浸润评分这些 虽然算是衍生指标 但也能反映临床预后 这种数据虽然不是原始的人口学信息 但在做免疫治疗预测模型时 实用性甚至比原始生存期还好用 我帮导师做的那个乳腺癌新辅助化疗疗效预测的项目 最后用的就是 GEO 里挖出来的几个基因表达组合 对应的 临床数据 是后面通过医院数据库匹配的 但起始点全在 GEO 那个小表格里 那一刻真觉得这工具牛得很
对了 提醒一嘴 数据清洗那真是场噩梦 我那次处理数据 发现有 15% 的样本缺失性别信息 还有好几个年龄写成了"NA" 气得我想骂人 还好后面通过比对文献里的 patient profile 补齐了 所以你在用 geo 数据库里的 临床数据 做分析前 一定要先做个数据质量评估 别拿脏数据算模型 那出来的结果没人会信 我现在每次下数据 都会建个专门的文件夹 把 sample id 和 clinical traits 一一对应起来 用 R 语言写个脚本自动匹配 效率提老高了
说到最后 我觉得很多人对 geo 数据库有没有临床数据 存在误解 觉得它只是个干巴巴的基因库 其实只要你会挖 里面的 临床数据 资源远比想象中丰富 只是藏得深 格式乱 需要你有一双火眼金睛 加上一点死磕的劲头 我那个师弟现在可神气了 拿着我当初嫌弃的那批数据 发了篇子刊的短文 审稿人夸他数据挖掘做得细致 他嘴上说谢我 心里估计觉得我当初太保守 哈哈 行吧 下次你再遇到这种问题 别急着下结论 多翻翻 supplementary 多查查原始文献 说不定那个救命的数据就在角落里躺着呢