上一节介绍了两组比较中如何展示差异基因数目,这一节的内容更进了一步,我造了一种图,可以用来表示具体的差异基因。
想象一下你的单细胞数据同时包含对照组
和实验组
,在做完前期的基础分析之后,得到了A B C D等共享
的亚群,现在你想知道在A亚群中,实验组和对照组比较有哪些差异基因。
类似的场景也可以是你的数据有多个肿瘤患者,每个病人都有配对
的原发灶
、转移灶
,现在想每个病人单独看看原发、转移的差异基因。
怎么想到这个图的
说到差异基因,火山图大家一定都画过,但是如果有多个亚群、多个病人,那么多张火山图又显得冗杂了。
再来看看这个图
每一列是一个亚群,纵轴是log2FC,有正有负。一眼看上去也只能大致看出基因的多少,包含信息并不多。
如果把这两种图结合起来呢?就是这样子的
这张图怎么看
每个panel
表示一个亚群或是一个病人,横轴表示显著性,从中间向两边都是越来越显著(整张图右下角的箭头就是说的这个意思);纵轴表示log2FC,有正有负。中间两条横向虚线是log2FC的阈值,只有当p值和log2FC同时满足一定阈值才会算作差异基因。
所以每个panel里面只有右上角
、左下角
才是差异基因,才会被涂上颜色。另一方面,右下角、左上角空出来了,可以把基因label加上去,充分利用空间,这些基因名也是对齐
的。
这张图的难点有以下几个:
- 图形的整体构思
- 基因名如何对齐
- 分面还是拼图的选择(最终选择了拼图)
获取代码
这个系列都会采取限时公开
的方式共享代码,24小时
内是免费的。超过这个时间如何获取,后台回复2022A
可知(可能需要你动动小手转发一下)。
代码是从count
开始的,即使完全不懂单细胞,也能把图画出来,比较友好,希望对大家有用。代码和测试数据的网盘链接如下:
- 链接:https://pan.baidu.com/s/1aWkC9Ddj_RAWp0ecy6juTA
- 提取码:94r7