小鬼的WGCNA图文详解(三)--聚类树Cluster Dendrogram图

还是老习惯,给出官网教程,至于你是看还是不看,它就在那里,等着你的深入研究~

https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/Tutorials/

如有理解错误,还请各位大神批评指正!
WGCNA分析图文详解专题中要解释的第二张图:

image.png

官方注释:

Figure 5:Clustering dendrogram of genes, with dissimilarity based on topological overlap, together with assigned merged module colors and the original module colors.

这张图有三个部分:

  • 1,聚类树:那么你对聚类方法又了解多少?
  • 2,Dynamic Tree Cut:根据某一height,聚类树分成了多少类(也即模块)
  • 3,Merged dynamic:合并后的聚类模块,那么又是根据什么指标要将Dynamic Tree Cut中的类别进行合并得到新的聚类模块呢?
#前期代码
softPower = 6;
adjacency = adjacency(datExpr, power = softPower);
TOM = TOMsimilarity(adjacency);
dissTOM = 1-TOM

根据最佳软阈值和表达谱数据首先计算得到一个邻接矩阵adjacency,然后将邻接矩阵转换为TOM矩阵再计算一个距离矩阵dissTOM,这个距离矩阵就是后面用来画聚类树的图。

物以类聚,人以群分。物体与物体之间进行聚类总是根据某一相似度指标来进行刻画的,那么这里的距离矩阵dissTOM就是这个指标,只不过是距离(非相似度)。

而聚类的方法非常多,官方教程中使用的是层次聚类。

We now use hierarchical clustering to produce a hierarchical clustering tree (dendrogram) of genes. Note that we use the function hclust that provides a much faster hierarchical clustering routine than the standard hclust function.

使用R中的函数hclust()

geneTree = hclust(as.dist(dissTOM), method = "average");

采用的聚类方法为平均距离(method = "average"),

关于这个method,查看帮助文档,其实还有很多选项,大家可以根据结果进行调整。画出来的第一部分是这个样子的:

image.png

图片中,每一个树枝代表一个gene,纵坐标的Heigth为聚类距离。

设定一个聚类距离阈值,就可以将gene聚成module,这里又有很多方法设定这个阈值。而官网教程成给定的是dynamicTreeCut包中的函数cutreeDynamic,并且设定了最小模块中包含的基因个数为30个基因。

# We like large modules, so we set the minimum module size relatively high:
minModuleSize = 30;

# Module identification using dynamic tree cut:
dynamicMods = cutreeDynamic(dendro = geneTree, distM = dissTOM,
                deepSplit = 2, pamRespectsDendro = FALSE,
                minClusterSize = minModuleSize);

table(dynamicMods)
image.png

这里可以看到,总共得到了22个模块(1-22),以及每个模块中基因的数量。0为没有聚到任何模块中的基因。

由于Dynamic Tree Cut方法可能会产生两个模块,但是这两个模块的基因的表达谱是高度相似的,因此有必要对模块进行合并。为了定量每一个模块的共表达相似性,这里计算了每一个模块的eigengenes,即每个模块的特征值(这也是WGCNA分析中一个非常重要的概念,具体是什么,下次再进行说明~)。

# Calculate eigengenes
MEList = moduleEigengenes(datExpr, colors = dynamicColors)
MEs = MEList$eigengenes

# Calculate dissimilarity of module eigengenes
MEDiss = 1-cor(MEs);

# Cluster module eigengenes
METree = hclust(as.dist(MEDiss), method = "average");

# Plot the result
sizeGrWindow(7, 6)
plot(METree, main = "Clustering of module eigengenes",
xlab = "", sub = "")

这里也是直接对22个模块和一个灰色模块(就是没有聚到任何类别的基因的集合)进行了聚类树的绘制,然后设置聚类树的高度为0.25(下图中的红色阈值线),将22个模块合并成了18个模块。这里对模块进行合并采用的是模块特征值之间的皮尔森相关系数计算的距离矩阵,即两个模块之间的相关性大于0.75就合并为一个新的模块。

image.png

最后将聚类树,原始的模块和新的合并后的模块画在一张图里面就是最开始那张图了。

参考资料:

1,https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/Tutorials/
2,A General Framework for Weighted Gene Co-Expression Network Analysis, Stat Appl Genet Mol Biol. 2005;4:Article17. Epub 2005 Aug 12

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容