查看原文
其他

WGCNA是数据挖掘的大熔炉!

果子 果子学生信 2023-06-15

WGCNA技术,本质上相关性分析,在分析过程中做了两次相关。

第一次相关性

(这一次的相关性比较特殊)把基因变成很多类。
他称为模块。
右边的图是原始表达矩阵,行是基因,列是样本。
通过相关性分析,把表达模式接近的基因聚在一起。
就形成了一个个模块。
每个模块里面有很多基因。

此时每个模块里面的基因,理论上应该参与相似的通路。
那么这些不同的模块,需要同时分析么?
不,同时分析,等于没有分析。

此时作者提出了一个概念,叫作epigene
把每个模块里面的基因进行分析,整合得到一个值,用这个值代替整个模块。
那么表达矩阵就变成了,epigene在行,样本在列了。
这样,原始矩阵就变得简单了。
现在每一行就跟基因一样了,有自己的表达量,所以称为epigene,寓意基因之上的,超越基因的。

第二次相关性

因为上面的操作,简化了矩阵,得到了一个行是epigene,列是样本的矩阵。
而我们同时还有个行是性状,列是样本的矩阵。这里记录了每一个样本的性状信息。

那现在我们能干什么呢,
可以求出每一个性状信息和epigene的相关性
实际上就是性状和基因模块的相关性。
最后的结果就像这样的

通过查看颜色比较红的色块就可以找出
跟某个性状比较相关的模块。
性状,肯定是你感兴趣的,你只是不知道哪些基因跟他相关,现在我们能定位到模块,模块里面就是基因啊。
这样,一个科学问题就有眉目了。

当你想用纯生信发文章的时候,对一个技术的要求是苛刻的,恨不能用某个技术直接代替Western blot,直接给我定位到最重要的单个基因上去。
而,对于科研人员来说,一个技术能准确的把范围缩小到一群基因,已经很满意了。接下来通过多个技术和实验来确定最重要的基因就行了。

为什么说是数据挖掘的大熔炉?

第一次求相关性的时候(理论知识下次阐述),其实跟性状是没有关系的。
得到epigene和样本的矩阵后,第二次相关性才跟性状有关。

而性状的添加就是其超强拓展能力所在。

常规的,性状信息应该是数值,比如患者的年龄就是数值。生存时间就是数值。
如果是分类变量呢?比如生存信息,需要使用1或者0来表示
如果是是性别这样的带有字符串呢?依然需要把他们转为0或者1。

我们以TCGA的数据来举例,除了添加常见的各种临床信息之外,还能添加什么呢?
因为这一列只要是数值就行,TCGA里面的数值可多了。

第一种,添加一列直接获取的信息

可以是是基因A的表达量。
那这时候算出来的跟这个基因相关的模块代表什么意思呢?
就是跟这个基因相关的基因啊?
对这群基因进行分析,反过来可以注释这个基因A呢,基因A可以是编码基因,也可以是非编码基因。
这个可以跟GZ01的技能联合起来使用

可以是micoRNA的表达量。
这时候可以找到microRNA的靶基因啊。
这篇16分的文章就给了示范

可以是甲基化位点的信息。这样我们可以找到跟这个位点十分相关的基因,
更加可能找到靶基因呢。
此处,补充一句,完全的甲基化表达矩阵也是可以做WGCNA的。
450K的位点几十万个,一般人的电脑根本承受不住,这时候可以选取变异最大的5000个基因来做一做。
我也不是瞎说,这篇接近20分的文章就是这么做的


除此之外,还有突变信息,SNP信息,
添加转录因子找靶基因。
添加自噬marker。。
添加m6Amarker。。。。
任何能获得的信息都可以添加一下

第二种,添加计算出来的信息。

本质上,任何能够区分样本的信息都可以加在这里。
比如,我们在免疫浸润部分得到的每个样本中每个细胞的浸润信息。
ssgsea算法在量化免疫浸润时的运用以及原理

你把结果往这里一放,就多了28个免疫细胞浸润的信息。
如果狂野一点,添加的是xcell,那就是64个。但是并不是越多越好,是越可靠越好。

还有哪些是可以计算出来的呢?
干性,突变负荷,以及未来出现的任何一种量化样本的结果

跳出TCGA的框架,还能添加什么?
可以添加任意gene set经过ssGSEA量化后的结果,类似于GSVA的结果。
这样,你就能放手去探索任意一个通路和模块的相关性了。
而GSEA的课程,下周也出现啦。

在这里,比较好的,我建议添加的是 board 的50个hallmarks gene set

有什么注意事项?

超过二分类的信息如何添加。
比如5个时间点,四个亚型,我该以什么格式添加呢?
如果是四个亚型,就可以添加四列,每一列是1或者0,1代表输入当前亚型,0代表不属于。
可以手工做,也可以借助limma包的矩阵方法来做

design=model.matrix(~0+ group)

那么这时候得到的相关模块代表什么意思呢?

该亚组特异的模块。

我们把他换成四个时间位点再来展示一下。

除了给出四个时间的列,得到跟每个时间相关的模块外,
还可以添加一列,按照时间顺序依次为1,2,3,4。
那么我们猜一猜,这时候关联到的基因有什么特征呢?

这些基因随着时间递增。

我们把那个模块里面的基因选出来,做个图试试

这时候能不能开点脑洞,找出先增高,再下降的基因呢?
我觉得是可以的,只要设置为1,2,3,1这样的就可以了。
这时候如果有模块跟他相关,他的基因就会符合这样的表达模式。

而这个当你的实验有多组时,真的很有用啊。

好了,今天的WGCNA唠嗑就到这里,WGCNA的原理,hub gene,无尺度分布,保守性分析,拓展使用,都会慢慢呈现。
这个技能无论对于实验人员还是数据挖掘人员,都是个万金油的存在,各取所需吧。

看得不过瘾,点击阅读原文获取更多信息(奸笑一声)。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存