百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

利用ggClusterNet绘制共线网络

bigegpt 2024-08-05 11:52 7 浏览

尔云间 一个专门做科研的团队

原创 小果 生信果

欢迎点赞+收藏+关注[给你小心心]



今天小果学习一下ggClusterNet这个包,进行共线网络的绘制

代码如下:

01安装需要的R包

install.packages(“igraph”)
install.packages(“ggplot2”)
install.packages(“phyloseq”)
install.packages(“sna”)
install.packages(“devtools”)
install.packages(“tidyfst”)
devtools::install_github("taowenmicro/ggClusterNet")
install.packages(“tidyverse”)

02导入需要的R包

library(igraph)
library(phyloseq)
library(sna)
library(ggClusterNet)
library(ggplot2)
library(tidyfst)
library(tidyverse)

03代码展示

#导入示例数据#
data(ps)
#-提取丰度最高的指定数量的otu进行构建网络
#计算相关#
result = corMicro (ps = ps,
                   N = 150,
                   method.scale = "TMM",
                   r.threshold=0.8,
                   p.threshold=0.05,
                   method = "spearman"                                      
)
#提取相关矩阵
cor = result[[1]]
head(cor)
#网络中包含的OTU的phyloseq文件提取
ps_net = result[[3]]
#-导出otu表格
otu_table = ps_net %>% 
  vegan_otu() %>%
  t() %>%
  as.data.frame()
#人工构造分组信息:将网络中全部OTU分为五个部分
netClu=data.frame(ID=row.names(otu_table),group=rep(1:5,length(row.names(otu_table)))[1:length(row.names(otu_table))] )
netClu$group = as.factor(netClu$group)
#计算布局#
result2 = PolygonClusterG (cor = cor,nodeGroup =netClu  )
node = result2[[1]]
#nodeadd 节点注释的:用otu表格和分组文件进行注释
#nodeadd函数只是提供了简单的用注释函数,用户可以自己在node的表格后面添加各种注释信息
tax_table = ps_net %>%
  vegan_tax() %>%
  as.data.frame()
#node节点注释#
nodes = nodeadd(plotcord =node,otu_table = otu_table,tax_table = tax_table)
#计算边#
edge = edgeBuild(cor = cor,node = node)
p <- ggplot() + geom_segment(aes(x = X1, y = Y1, xend = X2, yend = Y2,color = as.factor(cor)),
                             data = edge, size = 0.5) +
  geom_point(aes(X1, X2,fill = Phylum,size = mean),pch = 21, data = nodes) +
  scale_colour_brewer(palette = "Set1") +
  scale_x_continuous(breaks = NULL) + scale_y_continuous(breaks = NULL) +
  theme(panel.background = element_blank()) +
  theme(axis.title.x = element_blank(), axis.title.y = element_blank()) +
  theme(legend.background = element_rect(colour = NA)) +
  theme(panel.background = element_rect(fill = "white",  colour = NA)) +
  theme(panel.grid.minor = element_blank(), panel.grid.major = element_blank())
ggsave(p,“ggcluster1.pdf”)
#分8组
netClu=data.frame(ID=row.names(cor),group=rep(1:8,length(row.names(cor)))[1:length(row.names(cor))] )
netClu$group = as.factor(netClu$group)
result2 = PolygonClusterG (cor = cor,nodeGroup =netClu )
node = result2[[1]]
# node节点注释#
nodes = nodeadd(plotcord =node,otu_table = otu_table,tax_table = tax_table)
#计算边#
edge = edgeBuild(cor = cor,node = node)
### 出图
p1 <- ggplot() + geom_segment(aes(x = X1, y = Y1, xend = X2, yend = Y2,color = as.factor(cor)),
                                data = edge, size = 0.5) +
  geom_point(aes(X1, X2,fill = Phylum,size = mean),pch = 21, data = nodes) +
  scale_colour_brewer(palette = "Set1") +
  scale_x_continuous(breaks = NULL) + scale_y_continuous(breaks = NULL) +
  # labs( title = paste(layout,"network",sep = "_"))+
  # geom_text_repel(aes(X1, X2,label=Phylum),size=4, data = plotcord)+
  # discard default grid + titles in ggplot2
  theme(panel.background = element_blank()) +
  # theme(legend.position = "none") +
  theme(axis.title.x = element_blank(), axis.title.y = element_blank()) +
  theme(legend.background = element_rect(colour = NA)) +
  theme(panel.background = element_rect(fill = "white",  colour = NA)) +
  theme(panel.grid.minor = element_blank(), panel.grid.major = element_blank())
ggsave(“ggCluster.2.pdf”,p1)



往期代码

【1】lncRNA的拷贝数变异下游相关分析

【2】R可视化:ggstatsplot包—科研界的美图秀秀

【3】随机森林算法用于分类预测和筛选诊断标志物

【4】基于本地Java版GSEA的输出结果整合多个通路到一张图

【5】基于岭回归模型和基因表达矩阵估算样本对药物反应的敏感性

【6】基于R包NMF对样本进行分型分析

【7】DALEX包用于探索、解释和评估模型;分析不同特征变量对响应变量的影响

【8】根据肿瘤突变负荷TMB进行KM生存分析寻找最佳的cutoff

【9】基于单样本富集分析算法评估组织中的免疫细胞浸润水平

【10】代码分享│什么?你还在用散点图来可视化数据之间的相关性

【11】代码分享│诊断列线图、校准曲线、决策曲线和临床影响曲线的构建

【12】代码分享│你了解基因的动态变化模式吗

【13】代码分享│生物信息分析之SCI热门图表-复杂热图

【14】代码分享│生物信息分析之SCI热门图表-火山图

【15】代码分享│生物信息分析之SCI热门图表-箱型图和小提琴图

【16】代码分享│深度学习-人工神经网络(ANN)的构建

【17】代码分享│R可视化:高分文章绘图之基于RCircos包的多类型圈图绘制

【18】代码分享│R可视化:基因与功能之间的关系--GO功能富集网络图绘制

【19】代码分享│生物信息分析之SCI热门图表—KM曲线和tROC曲线

【20】代码分享│R可视化:肿瘤预后模型之Cox回归分析后用R语言绘制森林图

【21】代码分享│生物信息分析之SCI热门图表—相关性热图和散点图

【22】代码分享│生信分析之R语言分析相关性及可视化的N种风格

【23】代码分享│TCGA数据获取有困难,不会预处理,学习起来

【24】代码分享│机器学习-支持向量机递归特征消除(SVM-RFE)的构建

【25】代码分享│R可视化:对两个矩阵进行相关性可视化分析

【26】GEO数据库多数据集差异分析整合利器RRA,再也不用纠结去除批次效应

【27】你与生信大佬的距离,只差2分钟搞定预后模型构建和性能评估

【28】9+SCI纯生信,模型构建中的“流量明星”,你不得不知的LASSO

【29】手把手教你画美观大气的lasso回归模型图,为你的SCI增砖添瓦

【30】R可视化:clusterProfiler包做组间比较GO富集图

【31】代码分享|R可视化:复杂热图绘制技巧之热图中添加柱状图

【32】代码分享——基于基因突变信息分析肿瘤突变负荷

【33】代码分享│富集不到想要的通路?别放弃呀,试试GSEA

【34】代码分享│还在用PCA做降维聚类吗?最强降维模型tSNE--你值得拥有

【35】代码分享│GSVA:原来功能通路也能做差异分析!

【36】代码分享│Slingshot:你不知道的单细胞拟时序分析还有它

【37】基于基因功能注释信息挖掘关键作用基因

【38】基于癌症分类预测的标志物特征提取的SVM-RFE分析代码

【39】依据表型数据基于无监督聚类算法对研究群体进行分层聚类分析

【40】基于稳健排序整合算法对多数据集进行整合及可视化

【41】基于基因表达谱估算样本免疫基质评分和肿瘤纯度

【42】自动化绘制LASSO算法回归模型图

【43】用于临床诊断和临床决策影响的DCA分析

【44】基于样本预后生存信息和临床因素用于评价不同模型的一致性指数软件

【45】用于探索、解释和评估模型的DALEX残差分析软件

【46】基于细菌群落功能丰度结果进行差异功能分析及可视化

【47】基于基因差异分析结果绘制其在染色体上的分布

【48】利用逐步回归法筛选特征基因构建Cox风险模型分析

【49】基于Immune Subtype Classifier进行肿瘤免疫亚型分类

【50】不同物种之间的同源基因名称转换分析

【51】基于逐步多因素cox回归筛选预后标记基因并构建风险评分模型

【52】基于表达信息挖掘与关注基因密切相关的基因

【53】基因组学基因名称修正分析

【54】基于Spearman算法构建关联网络

【55】基于线性建模方法对代谢组和转录组数据整合分析

【56】基于lasso回归模型方法筛选特征基因

【57】基于线性建模方法对代谢组和转录组数据整合分析

【58】基于参数型经验贝叶斯算法和支持向量机(SVM)筛选疾病亚型特征基因

【59】基于LDA(线性判别分析)算法的微生物biomarker的筛选

【60】基于R包xCell计算64种免疫细胞相对含量及下游可视化

【61】基于甲基化数据评估肿瘤纯度及下游可视化

【62】基于DiffCorr包识别不同表型下的差异共表达关系对

【63】基于逆累计分布函数识别显著偏差通路

【64】基于差异基因对通路的影响挖掘关键通路

【65】基于高通量数据的样本相似性分析

需要以上代码私信小果哦

生信果”,生信入门、R语言、生信图解读与绘制、软件操作、代码复现、生信硬核知识技能、服务器、生物信息学的教程,以及基于R的分析和可视化等原创内容,一起见证小白和大佬的成长。

相关推荐

排列五20216期图规(排列五20266)

千4038百4106十0567个2478四定:0348,01469,0567,24780002,0004,0007,0008,0052,0054,0057,0058,0062,0064,0067...

光伏电站数据通信规约(光伏发电数据)

光伏电站数据通信规约为保证数据通信系统中通信双方有效和可靠地通信,事先需制定启动和维持通信所必需的数据传送格式的约定和规则,将这类约定和规则称为规约。光伏电站计算机监控系统中,数据通信分为站内通信和光...

C#开发串口通信实例及串口基础(c#串口通信源码)

一、串口通信简介串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串...

JT/T808 终端模拟器,协议功能验证、平台对接测试、数据交互调试

JT808终端模拟器是一种用于测试和调试基于《JT/T808协议》(即《道路运输车辆卫星定位系统车载终端通信协议》)的客户端设备(车载终端)的工具。它模拟实际车载终端的行为,与平台服务器进行交互...

方程小组恶意软件细节披露 新线索直指美国国家安全局

2月份曝出的网络间谍活动“方程小组”其恶意软件的攻击技术是目前最为高端的,卡巴斯基在其使用的恶意软件方程毒药(EquationDrug)中发现了诸如“SKYHOOKCHOW、DRINKPARSLEY、...

微软Office 365无法在线激活?试试这个方法

一些购买了正版Office365的用户在激活软件时可能会遇到0x8004FC12错误,如下图所示。如果你尝试了各种方法后不奏效,可试试下面的方法,该方法来自于微软Windows帮助和支持官方微博。打...

登录微软账户出现错误代码0x80048823以及报错0x800704cf解决方法

登录微软账户输入密码后出现错误代码0x80048823以及Win10报错“0x800704cf”怎么解决?微软账户登录错误代码---登录微软商店或登录outlook时输入密码后出现错误代码0x8004...

Linux 命令 ncftp(文件传输)——想玩转linux就请一直看下去

我是IT悟道,点击右上方“关注”,每天分享IT、科技、数码方面的干货。Linuxncftp命令Linux命令大全Linuxncftp命令用于传输文件。FTP让用户得以下载存放于服务器主机的文件,...

玩转 Linux 之:磁盘分区、挂载知多少?

今天来聊聊linux下磁盘分区、挂载的问题,篇幅所限,不会聊的太底层,纯当科普!!1、Linux分区简介1.1主分区vs扩展分区硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两...

一文带你了解 Linux 文件权限,从基础到高级

在Linux中,每个文件和目录都关联了一组权限,定义了不同用户对其的访问能力。权限分为三类:读取(read,r)、写入(write,w)和执行(execute,x),分别用字母r、w、x...

Linux 使用 socat 让云服务器作为跳板机的方法

概念三台机器:客户端A(192.168.1.11)服务器B(192.168.1.88)跳板机C(192.168.1.32)实现A与B的双向数据传输,本该这样:A<...

Linux启动流程之ROM-CODE(linux启动详解)

1.从哪里开始?下图是AM335X核心板和功能框图:AM335X核心板的存储信息如下:AM335X核心板运行linux系统,在这里提出一个问题:上电后指令从哪里开始执行?DDRorEMMC?2....

「Linux」——select和epoll详解(linux epoll详解)

select和epoll详解select和epoll的区别(面试常考)select一、什么是select1.select函数原型2.参数解释3.参数timeout取值4.返回值5.监控原理二、sele...

Linux中使用输入输出和错误重定向, 赶紧收藏!

Linux中的每个进程都提供三个打开的文件(通常称为文件描述符),分别是标准的输入、输出和错误文件。StandardInput是键盘,抽象为文件,使编写脚本和程序更容易。StandardOut...

「正点原子Linux连载」第七十一章Linux 4G通信实验

1)实验平台:正点原子Linux开发板2)摘自《正点原子I.MX6U嵌入式Linux驱动开发指南》关注官方微信号公众号,获取更多资料:正点原子第七十一章Linux4G通信实验前面我们学习了如何在Li...