真的,做生物信息这行六年,我见过太多刚入行的师弟师妹,一上来就盯着TCGA和GEO这两个数据库狂下数据,结果跑出来的结果连个像样的PCA都画不圆,或者差异基因多到根本挑不出几个靠谱的。太痛苦了,真的。
咱们先说个大实话,很多人觉得TCGA就是金标准,GEO就是随便逛逛。错!大错特错!TCGA确实是大厂出品,样本量大,临床信息全,但它有个致命伤:它是“快照”。你拿到的那些RNA-seq数据,那是某个时间点、某个医院、甚至某个技术员手抖了一下测出来的东西。而GEO呢?那是个大杂烩,什么牛鬼蛇神都有,质量参差不齐得像早高峰的地铁。
我有个学员,去年接了个单子,老板让他从GEO里找几个癌症相关的芯片数据做验证。他懒得看元数据,直接下载了三个GSE编号的数据集,合并在一起做差异分析。结果呢?P值显著的一堆基因,拿去查文献发现根本没人提过。为什么?因为那三个数据集的批次效应(Batch Effect)简直能把人逼疯。不同实验室用的芯片平台不一样,甚至探针注释版本都不同,不经过严格的ComBat或者SVA校正,那就是在制造噪音。
这时候就得提提geo和tcga的测序 数据的区别了。TCGA主要是RNA-seq,GEO里既有芯片也有测序,还有甲基化、CNV等等。如果你做的是转录组,想拿GEO的数据去验证TCGA的结果,千万别直接拿原始count值去跑。你得先确认GEO里那个实验的测序深度够不够,覆盖度怎么样。我上次帮一个客户看数据,发现他用的GEO数据里,有30%的基因表达量是0,这还怎么分析?
再说说那个让人头秃的“标准化”。很多人直接用FPKM或者TPM,觉得这样就能比了。但在跨数据集比较时,尤其是geo和tcga的测序 数据混用的时候,RMA或者Quantile normalization可能更稳妥。别嫌麻烦,这一步省了,后面所有的热图、火山图都是垃圾。
还有个坑,就是临床信息的缺失。TCGA的临床表格虽然烂,但好歹有OS、DFS这些硬指标。GEO里的很多文章,作者根本懒得上传详细的临床数据,或者只给了分组标签。你要是直接拿分组标签做生存分析,那结果出来连你自己都不敢信。我见过最离谱的,是把正常组织和肿瘤组织混在一起,因为作者没标注清楚,结果做出来差异基因全是线粒体相关的,因为那些样本里细胞坏死严重,线粒体RNA释放出来了。
所以,真心建议大家,在动手跑代码之前,先花两天时间看文献,看元数据,看QC报告。别一上来就敲R代码。你要知道,数据清洗的时间应该占整个项目的60%以上。
最后,关于geo和tcga的测序 数据的使用,我的建议是:TCGA用来做探索性分析和模型训练,GEO用来做外部验证。但验证的时候,一定要找那些和TCGA在平台、人群、疾病亚型上尽量匹配的数据集。如果找不到,那就承认局限性,别强行解释。
科研不是变魔术,没有那么多奇迹。多看点原始数据,多问几个为什么,比盲目追求高分文章靠谱得多。希望这些踩过的坑,能帮你少走点弯路。毕竟,头发只有一头,别让它掉得太快。