前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WGCNA实战练习

WGCNA实战练习

作者头像
生信修炼手册
发布于 2020-05-08 08:52:05
发布于 2020-05-08 08:52:05
1.4K00
代码可运行
举报
文章被收录于专栏:生信修炼手册生信修炼手册
运行总次数:0
代码可运行

欢迎关注”生信修炼手册”!

本文采用WGCNA官网的Tutirial 1的数据,对加权基因共表达网络分析和后续的数据挖掘的具体操作进行梳理, 数据可以从官网下载,示意图如下

整个分析流程可以分为以下几个步骤

1. 数据预处理

这部分包括以下4个内容

  • 读取基因表达量数据
  • 对样本和基因进行过滤
  • 读取样本表型数据
  • 可视化样本聚类树和表型数据

官方的示例数据是一个小鼠的芯片表达谱数据,包含了135个雌性小鼠的数据,在提供的表达谱数据中,除了探针ID和样本表达量之外,还有额外的探针注释信息,在读取原始数据时,需要把多余注释信息去除,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 读取文件
options(stringsAsFactors = FALSE)
femData = read.csv("LiverFemale3600.csv")# 去除多余的注释信息列
datExpr0 = as.data.frame(t(femData[, -c(1:8)]))
names(datExpr0) = femData$substanceBXH
rownames(datExpr0) = names(femData)[-c(1:8)]

对于基因的表达量数据,需要进行过滤,对于基因而言,可以过滤缺失值或者低表达的基因,对于样本而言,如果该样本中基因缺失值很多,也需要过滤,WGCNA内置了一个检验基因和样本的函数,通过该函数可以进行一个基本过滤,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gsg = goodSamplesGenes(datExpr0)
if (!gsg$allOK) {
datExpr0 = datExpr0[gsg$goodSamples, gsg$goodGenes]
}

goodSamples和goodGenes就是需要保留的基因和样本。基础过滤之后,还可以看下是否存在离群值的样本,通过样本的聚类树进行判断,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(sampleTree,
 main = "Sample clustering to detect outliers",
 sub="", xlab="", cex.lab = 1.5,
 cex.axis = 1.5, cex.main = 2)

生成的图片如下

从图上可以看出,F2_221 这个样本和其他样本差距很大,可以将该样本过滤掉。代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
clust = cutreeStatic(
 sampleTree,
 cutHeight = 15,
 minSize = 10)
keepSamples = (clust==1)
datExpr = datExpr0[keepSamples, ]
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)

表型数据中也包含了不需要的列,而且其样本比表达谱的样本多,需要根据表达谱的样本提取对应的表型数据,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 读取文件
traitData = read.csv("ClinicalTraits.csv")# 删除多余的列
allTraits = traitData[, -c(31, 16)]
allTraits = allTraits[, c(2, 11:36) ]# 样本和表达谱的样本保持一致
femaleSamples = rownames(datExpr)
traitRows = match(femaleSamples, allTraits$Mice)
datTraits = allTraits[traitRows, -1]
rownames(datTraits) = allTraits[traitRows, 1]

表达谱数据和表型数据准备好之后,可以绘制样本聚类树和表型的热图,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 由于去除了样本,重新对剩余样本聚类
sampleTree2 = hclust(dist(datExpr), method = "average")
traitColors = numbers2colors(datTraits, signed = FALSE)
plotDendroAndColors(
 sampleTree2,
 traitColors,
 groupLabels = names(datTraits),
 main = "Sample dendrogram and trait heatmap")

生成的图片如下

上半部分为样本的聚类树,下班部分为样本对应的表型的热图,顺序和聚类树中的顺序一致,表达量从低到高,颜色从白色过渡到红色,灰色代表缺失值。

2. 构建共表达网络,识别modules

在构建共表达网络时,将基因间的相关系数进行乘方运算来表征其相关性,首先需要确定乘方的值,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 设定一些列power梯度
powers = c(c(1:10), seq(from = 12, to=20, by=2))
sft = pickSoftThreshold(datExpr, powerVector = powers, verbose = 5)

sft这个对象中保存了每个power值计算出来的网络的特征,结构如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> str(sft)
List of 2
$ powerEstimate: num 6
$ fitIndices   :'data.frame':    15 obs. of  7 variables:
 ..$ Power         : num [1:15] 1 2 3 4 5 6 7 8 9 10 ...
 ..$ SFT.R.sq      : num [1:15] 0.0278 0.1264 0.3404 0.5062 0.6807 ...
 ..$ slope         : num [1:15] 0.345 -0.597 -1.03 -1.422 -1.716 ...
 ..$ truncated.R.sq: num [1:15] 0.456 0.843 0.972 0.973 0.94 ...
 ..$ mean.k.       : num [1:15] 747 254.5 111 56.5 32.2 ...
 ..$ median.k.     : num [1:15] 761.7 250.8 101.7 47.2 25.1 ...
 ..$ max.k.        : num [1:15] 1206 574 324 202 134 ...

其中powerEstimate就是最佳的power值,fitIndices保存了每个power对应的网络的特征。我们可以对不同power取值下,网络的特征进行可视化,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(
 sft$fitIndices[,1],
 -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
 xlab="Soft Threshold (power)",
 ylab="Scale Free Topology Model Fit,signed R^2",type="n",
 main = paste("Scale independence")
)
text(
 sft$fitIndices[,1],
 -sign(sft$fitIndices[,3])*sft$fitIndices[,2],
 labels=powers,
 cex=0.9,
 col="red"
)
abline(h=0.90, col="red")

生成的图片如下

sft$fitIndices保存了每个power构建的相关性网络中的连接度的统计值,k就是连接度值,可以看到,对于每个power值,提供了max, median, max3种连接度的统计量,这里对连接度的均值进行可视化,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(
sft$fitIndices[,1],
sft$fitIndices[,5],
xlab="Soft Threshold (power)",
ylab="Mean Connectivity",
type="n",
main = paste("Mean connectivity")
)
text(
sft$fitIndices[,1],
sft$fitIndices[,5],
labels=powers,
cex=cex1,
col="red"
)

生成的图片如下

确定好power值之后,可以直接构建相关性网络

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
net = blockwiseModules(
datExpr,
power = sft$powerEstimate,
TOMType = "unsigned",
minModuleSize = 30,
reassignThreshold = 0,
mergeCutHeight = 0.25,
numericLabels = TRUE,
pamRespectsDendro = FALSE,
saveTOMs = TRUE,
saveTOMFileBase = "femaleMouseTOM",
verbose = 3)

net对象中保存了所有相关性网络和module的结果,可以将基因的聚类树和对应的module进行可视化,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mergedColors = labels2colors(net$colors)
plotDendroAndColors(
 net$dendrograms[[1]],
 mergedColors[net$blockGenes[[1]]],
 "Module colors",
 dendroLabels = FALSE,
 hang = 0.03,
 addGuide = TRUE,
 guideHang = 0.05
)

生成的图片如下

上方为基因的聚类树,聚类时的距离为1-TOM值,下方为基因对应的modules。类似的,还可以结合基因间的距离,即1-TOM值,用热图展示,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
geneTree = net$dendrograms[[1]]
moduleColors = labels2colors(net$colors)
dissTOM = 1 - TOMsimilarityFromExpr(
 datExpr,
 power = sft$powerEstimate)
plotTOM = dissTOM ^ 7
diag(plotTOM) = NA
TOMplot(
 plotTOM,
 geneTree,
 moduleColors,
 main = "Network heatmap plot, all genes"
)

生成的图片如下

在前面文章我们提到过,在识别module的过程中共,首先用dynamicTreeCut识别modules, 然后根据Module eigengene间的相关性合并modules,net`这个对象中保存了合并前和合并后的modules, 可以将二者画在同一张图上,可视化代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unmergedColors = labels2colors(net$unmergedColors)
mergedColors   = labels2colors(net$colors)
plotDendroAndColors(
 net$dendrograms[[1]],
 cbind(unmergedColors[net$blockGenes[[1]]], mergedColors[net$blockGenes[[1]]]),
 c("Dynamic Tree Cut" , "Merged colors"),
 dendroLabels = FALSE,
 hang = 0.03,
 addGuide = TRUE,
 guideHang = 0.05
)

生成的图片如下

对于合并前的modules, 其相关性分析的结果可视化如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unmergedColors = labels2colors(net$unmergedColors)
MEList = moduleEigengenes(datExpr, colors = unmergedColors)
MEs = MEList$eigengenes
MEDiss = 1-cor(MEs)
METree = hclust(as.dist(MEDiss), method = "average")
plot(METree,
    main = "Clustering of module eigengenes",
    xlab = "",
    sub = "")

生成的图片如下

对于每个module而言,我们希望知道该module下对应的基因,提取方式如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> moduleColors = labels2colors(net$colors)
> unique(moduleColors)
[1] "grey"         "turquoise"    "grey60"       "yellow"       "tan"        
[6] "green"        "red"          "black"        "blue"         "midnightblue"
[11] "cyan"         "magenta"      "salmon"       "lightgreen"   "brown"      
[16] "purple"       "pink"         "greenyellow"  "lightcyan"
> head(names(datExpr)[moduleColors=="red"])
[1] "MMT00000159" "MMT00000793" "MMT00000840" "MMT00001154" "MMT00001245"
[6] "MMT00001260"

同样我们也可以提取module对应的基因表达量数据,绘制热图, 代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which.module="red"
plotMat(
t(scale(datExpr[,moduleColors==which.module ]) ),
nrgcols=30,
rlabels=F,
rcols=which.module,
main=which.module,
cex.main=2
)

生成的图片如下

3. 筛选与表型相关的modules

本质上是计算module的ME值与表型的相关系数,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)
MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes
MEs = orderMEs(MEs0)
moduleTraitCor = cor(
MEs,
datTraits,
use = "p"
)
moduleTraitPvalue = corPvalueStudent(
moduleTraitCor,
nSamples
)

可以对module和表型间的系数的结果进行可视化,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
textMatrix =  paste(
signif(moduleTraitCor, 2),
"\n(",
signif(moduleTraitPvalue, 1),
")",
sep = ""
)
dim(textMatrix) = dim(moduleTraitCor)
labeledHeatmap(
Matrix = moduleTraitCor,
xLabels = names(datTraits),
yLabels = names(MEs),
ySymbols = names(MEs),
colorLabels = FALSE,
colors = blueWhiteRed(50),
textMatrix = textMatrix,
setStdMargins = FALSE,
cex.text = 0.5,
zlim = c(-1,1),
main = paste("Module-trait relationships")
)

生成的图片如下

指定一个我们感兴趣的表型,可以得到与其相关性最高的module, 代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> which.trait <- "weight_g"
> moduleTraitCor[, which.trait]
> moduleTraitCor[, which.trait]
    MEmagenta        MEblack    MEturquoise        MEgreen    MElightcyan
 -0.017418109   -0.312679561   -0.272907078    0.001339804   -0.128053858
       MEblue        MEbrown          MEred       MEsalmon       MEyellow
  0.314323101    0.591340840    0.509942529    0.432058666    0.219900538
 MElightgreen  MEgreenyellow       MEgrey60         MEpink       MEpurple
 -0.057215182   -0.022394396   -0.016705204   -0.051495573   -0.021167541
        MEtan         MEcyan MEmidnightblue         MEgrey
  0.269827166    0.181595161    0.193569095    0.089702947

以上结果中,和weight_g最相关的为module为MEred,当然也可以自己指定一个阈值,筛选出多个候选的modules。在WGCNA中,对于基因定义了GS值,表征基因和表型之间的相关性,对于module而言,也可以用所有基因GS绝对值的平均数来表征该module与表型之间的相关性,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
moduleColors = labels2colors(net$colors)
which.trait <- "weight_g"
y <- datTraits[, which.trait]
GS <- as.numeric(cor(y ,datExpr, use="p"))
GeneSignificance <-  abs(GS)
ModuleSignificance <- tapply(
GeneSignificance,
moduleColors, mean, na.rm=T)
plotModuleSignificance(GeneSignificance, moduleColors)

生成的图片如下

可以看到brown, red这两个模块和体重相关。对于ME和某一表型而言,还可以将数据合并,聚类展示,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
weight <- datTraits[, which.trait]
MEs0 = moduleEigengenes(datExpr, moduleColors)$eigengenes
MEs = orderMEs(MEs0)
MET = orderMEs(cbind(MEs, weight))
par(mar = c(4, 2, 1, 2), cex = 0.9)
plotEigengeneNetworks(
MET, "",
marDendro = c(0,4,1,2),
marHeatmap = c(3,4,1,2),
cex.lab = 0.8,
xLabelsAngle = 90
)

生成的图片如下

4. 筛选关键基因

筛选出与表型高相关的modules之后,还可以对modules下的基因进行进一步筛选,主要根据GS值和MM值,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
datKME = signedKME(
datExpr,
MEs,
outputColumnName="MM.")
FilterGenes= abs(GS1)> .2 & abs(datKME$MM.brown)>.8

筛选出候选基因后,可以进行下游的功能富集分析,使用clusterProfiler等R包,进一步挖掘功能,之前的文章有详细介绍如何进行富集分析,这里就不展开了。

5. 导出module数据, 绘制网络图

可以导出指定modules对应的基因共表达网络,方便可视化,代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TOM = TOMsimilarityFromExpr(datExpr, power = 6)
modules = c("brown", "red")
probes = names(datExpr)
inModule = is.finite(match(moduleColors, modules));
modProbes = probes[inModule];
modTOM = TOM[inModule, inModule];
dimnames(modTOM) = list(modProbes, modProbes)
cyt = exportNetworkToCytoscape(
modTOM,
edgeFile = paste("CytoscapeInput-edges-", paste(modules, collapse="-"), ".txt", sep=""),
nodeFile = paste("CytoscapeInput-nodes-", paste(modules, collapse="-"), ".txt", sep=""),
weighted = TRUE,
threshold = 0.02,
nodeNames = modProbes,
nodeAttr = moduleColors[inModule]
)

最终会生成以下两个文件,可以导入cytoscape进行绘图

  1. CytoscapeInput-edges-brown-red.txt
  2. CytoscapeInput-nodes-brown-red.txt

当然也支持导出VisANT软件支持的格式,详细用法请参阅官网的帮助文档。

·end·

—如果喜欢,快分享给你的朋友们吧—

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RNA-seq入门实战(十一):WGCNA加权基因共表达网络分析——关联基因模块与表型
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
13.9K3
RNA-seq入门实战(十一):WGCNA加权基因共表达网络分析——关联基因模块与表型
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第二步-网络构建与模块识别)
1写在前面 上期我们完成了WGCNA输入数据的清洗,然后进行了样本的聚类与异常值的剔除,总体来说是非常简单的。😘 这期我们继续完成WGCNA分析的第二步,网络构建和模块识别。🤒 2用到的包 rm(list = ls()) library(WGCNA) library(tidyverse) 3示例数据 load("FemaleLiver-01-dataInput.RData") 4软阈值 4.1 topology analysis 首先我们要进行soft thresholding power β的计算。🤒
生信漫卷
2023/02/24
5910
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第二步-网络构建与模块识别)
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
WGCNA (weighted gene co-expression network analysis)权重基因共表达网络分析(流程模块见下图),可将表达模式相似的基因进行聚类,并分析模块与特定性状或表型之间的关联,常用于筛选关键表型的hub基因 ,是RNAseq分析中的一块很重要的拼图。而之所以叫组学数据黏合剂是因为表型可以是患者的临床信息(生存信息,分期信息,基线信息等),可以是重测序信息肿瘤(驱动基因的变异与否,signature ,CNV信息等),可以是转录组结果(免疫浸润,risk score ,GSVA ,分子分型结果),可以是单细胞数据(celltype ,AUCell 打分)等等 。注:这些在公众号之前的文章中大多都有涉及,文末有部分链接。
生信补给站
2023/08/25
1.1K1
RNAseq|WGCNA-组学数据黏合剂,代码实战-一(尽)文(力)解决文献中常见的可视化图
WGCNA:带你飞的科研神器
这个软件从2008年发表至今(截止到2019-05-20)已经被引用3899次。可见这个包多么受欢迎。
作图丫
2022/03/29
1.3K0
WGCNA:带你飞的科研神器
一文看懂WGCNA 分析(2019更新版)
不过,我这点战绩根本就算不上什么,其实这个WGCNA包已经是十多年前发表的了,仍然是广受好评及引用量一直在增加,破万也是指日可待。
生信技能树
2019/09/30
30.6K2
一文看懂WGCNA 分析(2019更新版)
WGCNA仅仅是划分基因模块,其它都是附加分析
曾老师给我分享了一篇数据挖掘的文章,里面的WGCNA非常奇怪,我之前没见过这样的模块与表型的相关性热图
生信技能树
2023/09/04
1.3K0
WGCNA仅仅是划分基因模块,其它都是附加分析
GEO_加权共表达网络WGCNA
WGCNA(Weighted Gene Co-Expression Network Analysis,即加权基因共表达网络分析)是一种用于分析基因表达数据的系统生物学方法。WGCNA的主要目的是识别基因表达数据中的共表达模块,并研究这些模块与外部样本特征(例如,疾病状态、临床特征等)之间的关系。
sheldor没耳朵
2024/07/25
3850
GEO_加权共表达网络WGCNA
七步走纯R代码通过数据挖掘复现一篇实验文章(第七步WGCNA)
WGCNA分析完全是照搬jimmy老师三年前的教程,要提醒大家的是要用别人的教程一定要看清楚别人数据格式,行名,列名,然后做成绝对一致的格式,这样会很大程度的减少报错!
生信技能树
2019/09/03
1.4K0
七步走纯R代码通过数据挖掘复现一篇实验文章(第七步WGCNA)
跟着Nature Plants学数据分析:R语言WGCNA分析完整示例
https://www.nature.com/articles/s41477-021-00897-y#data-availability
用户7010445
2023/01/06
9600
跟着Nature Plants学数据分析:R语言WGCNA分析完整示例
WGCNA加权基因共表达网络一步法分析学习
WGCNA是一种用于分析基因表达数据的系统生物学方法。主要用于识别在基因表达数据中呈现共表达模式的基因模块,并将这些模块与样本特征(如临床特征、表型数据)相关联,进而识别关键驱动基因或生物标志物。
凑齐六个字吧
2024/08/31
2270
WGCNA加权基因共表达网络一步法分析学习
加权基因共表达网络分析(WGCNA)实例
这里运行R语言包GDCRNATools的帮助文档中的例子获得胆管癌的rna表达矩阵
用户7010445
2020/03/23
2.5K0
加权基因共表达网络分析(WGCNA)实例
WGCNA加权基因共表达网络多步法分析学习
之前笔者介绍过一步法的分析的流程: WGCNA加权基因共表达网络一步法分析学习 https://mp.weixin.qq.com/s/2Q37RcJ1pBy_WO1Es8upIg
凑齐六个字吧
2024/10/10
1310
WGCNA加权基因共表达网络多步法分析学习
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第三步-模块与特征分析)
1写在前面 之前我们完成了WGCNA输入数据的清洗,网络构建和模块识别。😘 而且还介绍了如何对大型数据分级处理,有效地减少了内存的负担。😷 ---- 接着就是最重要的环节了,将不同module与表型或者临床特征相联系,进一步鉴定出有意义的module,并进行module内部的分析,筛选重要基因。🤒 不得不说,东西还是挺多的,而且非常重要,我们一起来试一下吧。🥰 2用到的包 rm(list = ls()) library(WGCNA) library(tidyverse) 3示例数据 load("Femal
生信漫卷
2023/02/24
5390
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第三步-模块与特征分析)
这个WGCNA作业终于有学徒完成了!
共画了3张热图,最后一张热图展示如下图,与原文对比'Ligamentocyte'和'Chondrocyte'相比较其他组是高表达的。
生信技能树
2019/11/10
2.3K0
R语言实现加权共表达网络分析
WGCNA(Weighted GeneCo-Expression Network Analysis,加权共表达网络分析)分析方法旨在寻找协同表达的基因模块(module),并探索基因网络与关注的表型之间的关联关系,以及网络中的核心基因。我们今天介绍下在R语言如何实现WGCNA,此包还有一个限制那就是样本总数必须大于15。
一粒沙
2019/08/08
7K2
R语言实现加权共表达网络分析
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第二步补充-大数据的网络构建与模块识别)
1写在前面 之前我们完成了WGCNA输入数据的清洗,网络构建和模块识别。😘 ---- 但这里我们的示例数据内所含有的基因其实是很少的,而在实际情况中,一个简单的测序可能就要包含上万个基因,这对大家的电脑无疑是不小的压力。🤒 在WGCNA的包内其实也提供了解决方案,基本思想是分级聚类。🧐 ---- 1️⃣ 首先,我们使用快速但相对粗糙的聚类方法,用于将基因预聚类成大小接近的模块,且不超过你所设定的基因最大值。😂 2️⃣ 然后我们分别在每个模块中执行完整的网络分析。🤠 3️⃣ 最后,合并特征基因高度相关的模块。
生信漫卷
2023/02/24
4740
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第二步补充-大数据的网络构建与模块识别)
WGCNA + ssGSEA的组合分析
生物信息数据分析教程视频——16-单样本基因集富集分析(ssGSEA)用于肿瘤相关免疫细胞浸润水平评估
DoubleHelix
2023/09/06
7160
WGCNA + ssGSEA的组合分析
WGCNA
加权基因共表达网络分析 (WGCNA, Weighted correlation network analysis)是用来描述不同样品之间基因关联模式的系统生物学方法,可以用来鉴定高度协同变化的基因集, 测试数据下载地址:https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/Tutorials/FemaleLiver-Data.zip
生信编程日常
2020/04/01
1.5K0
WGCNA
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第一步-数据整理)
1写在前面 最近实在是忙的不行,根本没时间更新,一到家就只想睡觉。🥹 今天写个最近用到的分析方法,Weighted correlation network analysis (WGCNA),是非常经典的生信分析方法了,现在被引有9913次了,马上就要破万啦。😘 网上相关的教程也是不胜枚举,但多多少少是有些不尽人意的地方,有的少步骤,有的代码不全。😅 这里在仔细阅读了官方手册后,在这里和大家一起认真地step by step研究一下,查缺补漏吧。🥰 2用到的包 rm(list = ls()) librar
生信漫卷
2023/02/24
7630
🤩 WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第一步-数据整理)
R中优雅的可视化WGCNA模块热图
R语言数据分析指南
2023/10/24
1.3K0
R中优雅的可视化WGCNA模块热图
推荐阅读
相关推荐
RNA-seq入门实战(十一):WGCNA加权基因共表达网络分析——关联基因模块与表型
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验