使用R语言进行WGCNA基因共表达网络分析

需积分: 20 6 下载量 91 浏览量 更新于2024-08-13 1 收藏 7KB TXT 举报
,WGCNA(Weighted Gene Co-expression Network Analysis)是一种在基因表达数据中发现共表达基因模块的方法,用于理解基因之间的相互作用以及它们与生物性状之间的关系。以下是对提供的R脚本部分的详细解释: 首先,脚本加载了必要的库`WGCNA`,并设置选项`stringsAsFactors=FALSE`,这将避免读取数据时默认将字符串列转换为因子。`enableWGCNAThreads()`允许脚本利用多核处理器提高计算效率。 接着,脚本读取了两个文本文件:'Sam_info.txt'包含样本信息,'ExpData.txt'包含基因表达数据。`read.csv`函数用于读取这些数据,`sep='\t'`指定数据是以制表符分隔的,`row.names=1`表示第一列作为行名。 `dim(expro)`显示了原始基因表达矩阵的维度。然后,通过计算每个基因的方差,选取方差大于四分位数的基因(即25%最大方差的基因),得到`expro.upper`,这是一个去除低变异性基因后的表达矩阵。 `datExpr`是将`expro.upper`转置后的数据框,`nGenes`和`nSamples`分别记录了基因数量和样本数量。这部分数据预处理是为了减少后续分析的计算负担,并确保分析集中在具有显著变异性的基因上。 `goodSamplesGenes`函数用于评估样本的质量,返回一个包含样本质量信息的对象`gsg`。`gsg$allOK`将返回一个布尔值,指示所有样本是否都符合质量标准。 `sampleTree`是通过平均链接方法计算的样本聚类树,用于检测潜在的离群值。`hclust`函数实现了这个功能,而`plot(sampleTree)`则绘制了聚类树。`save(datExpr,file="FPKM-01-dataInput.RData")`保存了处理后的基因表达数据,以便后续使用。 接下来,`pickSoftThreshold`函数用于选择软阈值,这是构建WGCNA网络的第一步。它尝试不同的幂次(powers)来找到最佳的阈值,使得网络呈现出最佳的尺度自由度。`plot`函数展示了不同幂次下的尺度自由度模型拟合情况,帮助选择合适的软阈值。 最后,脚本提供了一系列可能的幂次,用于软阈值化,包括从1到10的整数和从12到20的偶数。`sft`对象包含了这些幂次的拟合指数,可以进一步分析以确定最佳的软阈值。 这段脚本主要涵盖了WGCNA中的数据预处理、样本质量检查、样本聚类、网络构建前期的软阈值选择等关键步骤。为了进行完整的WGCNA分析,还需要继续执行模块识别、模块与样本特征的相关性分析、模块代表基因选择等多个步骤。