WGCNA分析教程 | 代码四

这篇具有很好参考价值的文章主要介绍了WGCNA分析教程 | 代码四。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

WGCNA的教程,我们在前期的推文中已经退出好久了。今天在结合前期的教程的进行优化一下。只是在现有的教程基础上,进行修改。其他的其他并无改变。

前期WGCNA教程

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三

本次教程的优化点

注意:本次教程在教程二的基础上修改。

  1. 教程代码更规范
  2. 教程添加了过滤数值流程
  3. 教程添加merge模块后图形绘制(注:在教程二的基础上)
  4. 教程添加更多的注释信息
  5. 教程后期添加视频讲解
    WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

WGCNA教程 | 代码四

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
本期教程输出所有的文件信息。

设置文件位置及导入包

##'@加权基因共表达分析(WGCNA)
##'@2023.09.02
##'@整理者:小杜的生信笔记
##'@前期教程网址:https://mp.weixin.qq.com/s/Ln9TP74nzWhtvt7obaMp1A
##'
##'@本教程主要主要是为了优化前期代码,在前期的基础上进行修改。
##'@若您的数据量较大,我们建议WGCNA在服务器上跑。
##'

##==============================================================================

setwd("E:\\小杜的生信筆記\\2023\\20230217_WGCNA\\WGCNA_04")
rm(list = ls())
#install.packages("WGCNA")
#BiocManager::install('WGCNA')
library(WGCNA)
options(stringsAsFactors = FALSE)
#enableWGCNAThreads(60) ## 打开多线程
#Read in the female liver data set

导入数据

我们这里给出了两种不同文件的导入方式,txtcsv

#'@导入数据
#'@导入txt格式数据
# WGCNA.fpkm = read.table("ExpData_WGCNA.txt",header=T,
#                         comment.char = "",
#                         check.names=F)
##'@导入csv文件格式
WGCNA.fpkm = read.csv("ExpData_WGCNA.csv", header = T, check.names = F)
WGCNA.fpkm[1:10,1:10]

检查数据缺失值

gsg = goodSamplesGenes(datExpr0, verbose = 3)
gsg$allOK
if (!gsg$allOK)
{
  if (sum(!gsg$goodGenes)>0)
    printFlush(paste("Removing genes:", paste(names(datExpr0)[!gsg$goodGenes], collapse = ", ")))
  if (sum(!gsg$goodSamples)>0)
    printFlush(paste("Removing samples:", paste(rownames(datExpr0)[!gsg$goodSamples], collapse = ", ")))
  # Remove the offending genes and samples from the data:
  datExpr0 = datExpr0[gsg$goodSamples, gsg$goodGenes]
}

过滤数值 [optional]

@过滤数值(optional),此步根据你自己的数据进行过滤数值,过滤的数值大小根据自己需求修改

meanFPKM=0.5  ###--过滤标准,可以修改
n=nrow(datExpr0)
datExpr0[n+1,]=apply(datExpr0[c(1:nrow(datExpr0)),],2,mean)
datExpr0=datExpr0[1:n,datExpr0[n+1,] > meanFPKM]
# for meanFpkm in row n+1 and it must be above what you set--select meanFpkm>opt$meanFpkm(by rp)
filtered_fpkm=t(datExpr0)
filtered_fpkm=data.frame(rownames(filtered_fpkm),filtered_fpkm)
names(filtered_fpkm)[1]="sample"
head(filtered_fpkm)
###'@输出过滤的文件
write.table(filtered_fpkm, file="WGCNA.filter.txt",
            row.names=F, col.names=T,quote=FALSE,sep="\t")

样本聚类

###'@样本聚类
sampleTree = hclust(dist(datExpr0), method = "average")
pdf("1_sample clutering.pdf", width = 6, height = 4)
par(cex = 0.7);
par(mar = c(0,4,2,0))
plot(sampleTree, main = "Sample clustering to detect outliers", sub="", xlab="", cex.lab = 1.5,
     cex.axis = 1.5, cex.main = 2)
dev.off()

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
样本sample05与整体数据差异较大,过滤此数据。

过滤样本

pdf("2_sample clutering_delete_outliers.pdf", width = 6, height = 4)
plot(sampleTree, main = "Sample clustering to detect outliers", sub="", xlab="", cex.lab = 1.5, 
     cex.axis = 1.5, cex.main = 2) +
  abline(h = 1500, col = "red")    ###'@"h = 1500"参数为你需要过滤的参数高度
dev.off()

##'@过滤离散样本
##'@"cutHeight"为过滤参数,与上述图保持一致
clust = cutreeStatic(sampleTree, cutHeight = 1500, minSize = 10)
keepSamples = (clust==1)
datExpr = datExpr0[keepSamples, ]
nGenes = ncol(datExpr)
nSamples = nrow(datExpr)

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
两个样本直接数据比较
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库


载入性状数据

##'@导入csv格式
traitData = read.csv("TraitData.csv",row.names=1)
# ##'@导入txt格式
# traitData = read.table("TraitData.txt",row.names=1,header=T,comment.char = "",check.names=F)
head(traitData)
allTraits = traitData
dim(allTraits)
names(allTraits)
# 形成一个类似于表达数据的数据框架
fpkmSamples = rownames(datExpr)
traitSamples =rownames(allTraits)
traitRows = match(fpkmSamples, traitSamples)
datTraits = allTraits[traitRows,]
rownames(datTraits)
collectGarbage()

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

Re-cluster samples

# Re-cluster samples
sampleTree2 = hclust(dist(datExpr), method = "average")
# 
traitColors = numbers2colors(datTraits, signed = FALSE)
# Plot the sample dendrogram and the colors underneath.

Sample dendrogram and trait heatmap

#sizeGrWindow(12,12)
pdf(file="3_Sample_dendrogram_and_trait_heatmap.pdf",width=8 ,height= 6)
plotDendroAndColors(sampleTree2, traitColors,
                    groupLabels = names(datTraits),
                    main = "Sample dendrogram and trait heatmap",cex.colorLabels = 1.5, cex.dendroLabels = 1, cex.rowText = 2)
dev.off()

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库


数据处理结束,继续后续网络构建分析!


#'@打开多线程分析
enableWGCNAThreads(5)

获得最佳阈值(softpower)

#'@获得soft阈值
#powers = c(1:30)
powers = c(c(1:10), seq(from = 12, to=30, by=2))
#'@调用网络拓扑分析功能
sft = pickSoftThreshold(datExpr, powerVector = powers, verbose = 5)

绘制softpower图形

#'@绘制soft power plot 
pdf(file="4_软阈值选择.pdf",width=12, height = 8)
par(mfrow = c(1,2))
cex1 = 0.85
# Scale-free topology fit index as a function of the soft-thresholding power
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=cex1,col="red");
# this line corresponds to using an R^2 cut-off of h
abline(h=0.8,col="red")
# Mean connectivity as a function of the soft-thresholding power
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")
dev.off()

详细教程请看:WGCNA分析教程 | 代码四
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

merge后的图形【我们最终获得图形】

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

输出模块与基因相关性散点图

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

输出MM和GS数据

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

Network heatmap plot

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库

WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库
WGCNA分析教程 | 代码四,信息可视化,数据挖掘,开发语言,学习,数据库


小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!文章来源地址https://www.toymoban.com/news/detail-691061.html

到了这里,关于WGCNA分析教程 | 代码四的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法

      需要本项目的全套环境、代码、文档、资源、数据和部署调试的私信博主!!! 本研究基于中国新冠疫情2020-01-11至2022-12-20的全国整体数据进行疫情大数据分析,通过对历史的数据进行大数据分析,可以有效的掌握过去疫情数据的特点,便于对疫情之后的防控提供更好的决

    2024年02月15日
    浏览(50)
  • 数据分析案例-数据分析师岗位招聘信息可视化

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 ​编辑 1.数据集介绍 2.实验工具 3.实验过程 3.1加载数据 3.2数据预处理 3.3数据可视化

    2024年02月16日
    浏览(57)
  • 数据分析案例-BI工程师招聘岗位信息可视化分析

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 数据集介绍 实验工具  实验过程 导入数据 数据预处理 数据可视化 1.分析BI工程师岗位

    2024年02月06日
    浏览(40)
  • 【数据挖掘】如何为可视化准备数据

            想要开始您的下一个数据可视化项目吗?首先与数据清理友好。数据清理是任何数据管道中的重要步骤,可将原始的“脏”数据输入转换为更可靠、相关和简洁的数据输入。诸如Tableau Prep或Alteryx之类的数据准备工具就是为此目的而创建的,但是当您可以使用Pyth

    2024年02月17日
    浏览(45)
  • Python招聘信息爬虫数据可视化分析大屏全屏系统

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年04月09日
    浏览(64)
  • 微博数据可视化分析:利用Python构建信息图表展示话题热度

    1. 引言 随着社交媒体的迅速发展,微博已成为人们交流观点、表达情感的重要平台之一。微博评论数据蕴含着丰富的信息,通过对这些数据进行分析和可视化,我们可以深入了解用户对特定话题的关注程度和情感倾向。本文将介绍如何利用Python进行微博评论数据的准备、探索

    2024年02月20日
    浏览(57)
  • 实例:【基于机器学习的NBA球员信息数据分析与可视化】

    数据集共有342个NBA球员样本,包含38个特征,即342行×38列。对这些数据进行集成和预处理。 利用python语言,设计合适的机器学习算法。找出球员在场时对球队比赛获胜的贡献大小,最能反映球员的综合实力的特征。 算法过程及结果的设计合适的可视化图像,将所设计的算法

    2024年02月08日
    浏览(59)
  • 【Python爬虫+数据分析】采集电商平台数据信息,并做可视化演示

    随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序,抓取电商平台的商品信息、

    2024年02月08日
    浏览(59)
  • 【大数据实训】基于赶集网租房信息的数据分析与可视化(七)

    温馨提示:文末有 CSDN 平台官方提供的博主 的联系方式,有偿帮忙部署 一、实验环境 (1)Linux: Ubuntu 16.04 (2)Python: 3.6 (3)Hadoop:3.1.3(4)Spark: 2.4.0(5)Web框架:flask 1.0.3 (6)可视化工具:Echarts (7)开发工具:Visual Studio Code 二、小组成员及分工 (1)成员:林xx,x

    2024年02月03日
    浏览(65)
  • 【大数据实训】基于当当网图书信息的数据分析与可视化(八)

    温馨提示:文末有 CSDN 平台官方提供的博主 的联系方式,有偿帮忙部署 一、实验环境 (1)Linux: Ubuntu 16.04 (2)Python: 3.5 (3)Hadoop:3.1.3(4)Spark: 2.4.0(5)Web框架:flask 1.0.3 (6)可视化工具:Echarts (7)开发工具:Visual Studio Code 二、小组成员及分工 (1)成员:林海滢,

    2024年02月04日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包