昨晚又熬到凌晨两点,盯着屏幕上的火山图发呆。
客户那边催得紧,说差异基因怎么只有几十个。
我反复检查数据,没毛病啊。
后来才发现,是分组搞反了。
这种低级错误,新手最容易犯。
今天就把这个血泪教训分享出来。
希望能帮兄弟们省下几个通宵。
做转录组分析,最核心的就是对比。
也就是我们常说的geo2r对照组前后。
很多人以为点两下鼠标就能出结果。
其实里面的门道多着呢。
首先,你要搞清楚什么是对照组。
在geo2r里,对照组就是基准线。
你选的那一组,就是参照物。
如果你把实验组当成对照组。
那出来的logFC符号全都会反。
虽然基因没变,但方向反了。
这就导致你后续通路分析全乱套。
记得上次有个学生找我帮忙。
他跑出来的数据,关键通路没富集。
我一看他的设计矩阵,傻眼了。
他把正常样本设成了处理组。
这就像用尺子量桌子,却把桌子当尺子。
结果当然南辕北辙。
所以,在点击run之前。
一定要再三确认你的分组标签。
特别是当你从GEO数据库下载数据时。
那些sample annotation往往很乱。
有的写的是control,有的写的是normal。
还有的直接标个1或者0。
这时候千万别想当然。
最好去原始文献里核对一下。
看看作者到底把谁当对照。
这一步虽然繁琐,但能救命。
再来说说p值和adj.P.Val。
很多新人只看p值小于0.05。
这就很危险了。
多重检验校正后的p值才是王道。
也就是adj.P.Val。
如果你只看原始p值。
假阳性会多到让你怀疑人生。
通常我们设定adj.P.Val < 0.05。
且|log2FC| > 1。
作为筛选差异基因的标准。
当然,这个阈值可以根据数据情况调整。
但绝对不能忽略校正这一步。
还有一个容易被忽视的细节。
就是缺失值的处理。
geo2r默认会剔除有缺失值的探针。
如果你的数据缺失很多。
可能会损失大量有用信息。
这时候可以考虑用均值填补。
或者用knn填补。
但这需要一定的生物信息学基础。
如果不确定,宁可少几个基因。
也不要引入人为偏差。
说到这,不得不提一下可视化。
很多兄弟跑完数据,直接交报告。
连个热图都不画。
老板看了能满意吗?
当然不行。
用pheatmap或者ggplot2画个图。
既美观又能直观展示聚类情况。
特别是geo2r对照组前后。
的热图,能一眼看出批次效应。
如果有明显的批次效应。
说明你的数据可能需要重新标准化。
或者在模型中加入批次作为协变量。
虽然geo2r本身不支持复杂模型。
但你可以在R语言里用limma包。
那样自由度就大多了。
不过对于快速预览来说。
geo2r还是很好用的。
毕竟它不需要写代码。
对新手非常友好。
最后再啰嗦一句。
数据分析不是玄学。
每一步都要有依据。
不要为了凑显著性而凑数据。
科学精神才是我们的底线。
希望这篇帖子能帮到你。
如果有不懂的地方,欢迎留言。
我们一起交流,共同进步。
毕竟在这个行业,独狼走不远。
抱团才能取暖。
好了,我要去补觉了。
明天还要改另一篇论文。
加油吧,打工人。