加权基因共表达网络分析

1、上次介绍了怎么下载数据,这次介绍怎么用R来做一个示例数据进行某个模块的分析

例如 :

假设你测量的是某种生物标志物的表达,数据集的形式可能是这样的

1)各列的解释:

① Gene_1, Gene_2, ..., Gene_200:基因名称或ID。

② Sample_1, Sample_2, ..., Sample_50: 每个样本的编号。可能代表不同的实验条件、不同的患者或不同的实验组。

③ 数据值:每个单元格中的数值表示基因在样本中的表达水平,通常是原始的读数(如RNA-seq中的FPKM值、TPM值)或经过标准化的表达量(如Z-score、RPKM等)。

2)注意:

① 在实际分析中,通常数据会进行以下预处理:

- 标准化:对每个基因的表达值进行标准化,使得每个基因的表达在不同样本中具有相同的尺度,避免极端的表达值对分析结果产生不必要的影响。

- 标准化方法如:Z-score标准化(每个基因的表达减去均值后再除以标准差),或者进行RPKM/TPM等归一化。

- 缺失值处理:如果数据中存在缺失值,通常会使用适当的方法(如均值填充、KNN填充或删除缺失数据)进行处理。

- 去除低变基因:通常,在进行WGCNA分析时,会去掉那些在所有样本中表达变化极小的基因,因为它们在网络构建中贡献较小,可能会影响结果的稳定性。

3)运行代码

这样就生成gene_expression_data.csv供后续分析

② 说明:

- 生成数据:代码中使用了正态分布生成了一个 50(样本) × 200(基因)的矩阵,并为每一行和每一列命名。

- 保存为CSV文件:通过write.csv()函数将数据保存为名为gene_expression_data.csv的文件。参数row.names = TRUE表示将行名(基因名称)写入文件中。

- 文件保存路径:文件会保存在当前工作目录中。如果你想指定一个特定的路径,可以将file参数改成绝对路径,例如:"C:/path/to/your/folder/gene_expression_data.csv"。


2、下面是完整的WGCNA分析流程,包括数据导入、数据预处理、共表达网络构建以及模块检测。

加权基因共表达网络分析代码,需要留言

运行完结果如下

详细介绍

1)数据清洗

① 去除了包含缺失值(NA)的行。

② 保留了平均表达量大于1的基因(只保留了表达较高的基因)。

2)选择软阈值(Soft-Threshold)

① 通过pickSoftThreshold()函数,并且选择了用于构建加权基因共表达网络的软阈值(power)。

② 在本代码中,R 会自动计算不同 power 值下的拓扑拟合度,并绘制出相应的图表。

③ 选择的power = 5是基于图中显示的拟合度指数。

注意:理想的软阈值通常是那些使得网络的拓扑结构尽可能接近无尺度小世界网络的值。

无尺度小世界网络是一类具有特定拓扑特征的网络,其主要特点是节点的度分布呈现幂律分布,即大部分节点的连接数(度)较少,而少数节点的连接数非常多,这些连接数较多的节点通常被称为“枢纽”节点(hubs)。这种网络结构在许多自然和社会现象中广泛存在,例如互联网、社交网络和生物网络等。

“小世界”特性则是指网络中任意两个节点之间的平均路径长度相对较短,同时网络的聚类系数较高。这意味着在这样一个网络中,虽然节点的总数可能很大,但通过相对少的跳跃就可以从一个节点到达另一个节点。

在构建生物网络时,选择理想的软阈值(soft threshold)能够使得网络的拓扑结构更接近无尺度小世界网络,从而更好地反映生物系统的真实特性。这种网络结构有助于理解复杂生物过程中的相互作用和关系。

3)基因方差

① 此次,对基因表达数据进行了方差分析。统计摘要显示基因的方差从0.6245到1.8159,大多数基因的方差较大,这表明它们在不同样本之间有较大的表达差异。所以选择删除了那些方差低于0.5的基因,进一步清洗数据。

4)基因相似度矩阵与层次聚类

① 计算了基因之间的相似度矩阵(基于基因表达的相关性),并使用层次聚类方法(hclust)对基因进行了聚类。

5)动态切割树状图(dynamicTreeCut)

① 使用cutreeDynamic()进行了模块识别,生成了基因的模块分配。

② 输出的dynamicModules显示了基因被分配到的不同模块,每个模块包含了多少个基因。

例如本次:

6)可视化结果

① 可视化有很多形式,本次生成了树状图。树状图展示了基因之间的聚类关系,模块通过不同的颜色进行标记。图形可以查看每个模块的基因组成和层次结构。

② 结果解读

模块数目:在dynamicModules中,本次示例的基因被分配到 7 个模块中,每个模块包含不同数量的基因。

模块划分:模块的划分反映了基因间表达的相关性。


3、如何看WGCNA的结果?

模块数量和基因分配:查看每个模块中包含的基因数量和模块的代表性。可以进一步进行功能注释(如果你有注释文件,可以直接将文件放入代码运行),了解每个模块的生物学意义。

模块的可视化:树状图和模块颜色图(通过plotDendroAndColors())可直观地查看基因之间的聚类关系及模块划分情况。

模块与表型的关联:如果想让图片更多信息,可以尝试将模块与样本的外部特征(如临床数据、表型信息等)关联,看看哪些模块与特定的表型相关。



生物信息学领域非常广泛,难以一次说尽。我们下次继续更新,一起深入学习生物信息学的内容!

喜欢的宝子们点个赞吧~码字不易,且行且珍惜~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容