做生信分析,最头疼的不是跑代码,而是画图。
特别是拿到差异分析结果后,老板或者导师一眼就要看火山图和热图。
很多新手朋友,包括我当年,都是去淘宝找代画。
一张图几十块,稍微复杂点上百。
其实真没必要。
今天我就把压箱底的干货掏出来。
主要讲讲怎么利用geo2r结果制作火山图和热图。
不用那些高大上的复杂流程,咱们就用最朴素的R语言。
首先,你得有那个差异分析的结果文件。
通常就是logFC和Pvalue这两列。
如果你是用GEO2R在线分析的,直接下载CSV文件就行。
打开看看,里面肯定有Symbol或者ID。
如果没有,记得先映射一下基因名,不然画出来全是数字,谁看得懂。
这里有个小坑,有些基因名会有重复。
一定要去重,取平均或者最大值,不然画图的时候R会报错。
这一步很多人会忽略,导致最后图出来缺胳膊少腿。
接下来就是画图了。
火山图其实很简单,就是散点图。
横坐标是logFC,纵坐标是-Pvalue。
你只需要把那些P值小于0.05,且logFC绝对值大于1的点标红。
其他的点标灰。
这样一眼就能看出哪些基因显著上调,哪些显著下调。
我在给客户做geo2r结果制作火山图和热图的时候,经常强调配色。
别用那种荧光绿或者亮粉色,看着眼晕。
用深红配浅灰,高级感立马就出来了。
字体大小也要调,标题14号,坐标轴10号,图例8号。
这种细节,才是体现专业度的地方。
再说说热图。
热图比火山图麻烦点,因为它涉及聚类。
你需要把差异基因的表达矩阵提取出来。
注意,是标准化后的数据。
不然有的基因表达量几千,有的只有几,画出来全是黑的。
用pheatmap包,几行代码就能搞定。
但是,聚类的时候要小心。
有时候样本分组不对,聚类结果会乱跳。
这时候你得手动指定分组信息。
别偷懒,手动调一下树状图的顺序,让同组样本聚在一起。
这样审稿人看着才舒服。
这里分享一个真实的价格对比。
外面找代画,一套图(火山+热图)至少200块起步。
而且沟通成本极高,改个颜色要半天。
自己画的话,成本就是电费。
关键是,你自己懂了,下次遇到类似的数据,直接套用模板。
这就叫一劳永逸。
当然,如果你实在没时间,或者对R语言完全没概念。
那也可以考虑外包。
但一定要找那种能改图的,别找那种出个PDF就不管了的。
毕竟生信分析,改图是常态。
最后提醒一下,画图的时候,记得把P值校正的方法写清楚。
是BH法还是Bonferroni?
这在论文里是要交代的方法学细节。
别到时候被审稿人问住,那就尴尬了。
总之,掌握这个技能,对你以后的科研生涯帮助巨大。
特别是当你需要快速出图汇报进度的时候。
那种掌控感,是花钱买不到的。
希望大家都能顺利发文章。
如果有具体的代码问题,可以在评论区留言。
虽然我不一定每条都回,但我会尽量帮忙看看。
毕竟同行嘛,互相照应一下。
记住,geo2r结果制作火山图和热图,核心在于数据清洗和参数调整。
别一上来就画图,先把数据理干净。
数据错了,图再漂亮也是废纸一张。
这点务必牢记。
好了,今天就聊到这。
希望能帮到正在加班画图的你们。
加油!