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

利用ggClusterNet绘制共线网络

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

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

原创 小果 生信果

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



今天小果学习一下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的分析和可视化等原创内容,一起见证小白和大佬的成长。

相关推荐

程序员请收好:10个非常有用的 Visual Studio Code 插件

一个插件列表,可以让你的程序员生活变得轻松许多。作者|Daan译者|Elle出品|CSDN(ID:CSDNnews)以下为译文:无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人...

PADS在WIN10系统中菜单显示不全的解决方法

决定由AD转PADS,打开发现菜单显示不正常,如下图所示:这个是由于系统的默认字体不合适导致,修改一下系统默认字体即可,修改方法如下:打开开始菜单-->所有程序-->Windows系统--...

一文讲解Web前端开发基础环境配置

先从基本的HTML语言开始学习。一个网页的所有内容都是基于HTML,为了学好HTML,不使用任何集成工具,而用一个文本编辑器,直接从最简单的HTML开始编写HTML。先在网上下载notepad++文...

TCP/IP协议栈在Linux内核中的运行时序分析

本文主要是讲解TCP/IP协议栈在Linux内核中的运行时序,文章较长,里面有配套的视频讲解,建议收藏观看。1Linux概述  1.1Linux操作系统架构简介Linux操作系统总体上由Linux...

从 Angular Route 中提前获取数据

#头条创作挑战赛#介绍提前获取意味着在数据呈现在屏幕之前获取到数据。本文中,你将学到,在路由更改前怎么获取到数据。通过本文,你将学会使用resolver,在AngularApp中应用re...

边做游戏边划水: 基于浅水方程的水面交互、河道交互模拟方法

以下文章来源于腾讯游戏学堂,作者Byreave篇一:基于浅水方程的水面交互本文主要介绍一种基于浅水方程的水体交互算法,在基本保持水体交互效果的前提下,实现了一种极简的水面模拟和物体交互方法。真实感的...

Nacos介绍及使用

一、Nacos介绍Nacos是SpringCloudAlibaba架构中最重要的组件。Nacos是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态DNS...

Spring 中@Autowired,@Resource,@Inject 注解实现原理

使用案例前置条件:现在有一个Vehicle接口,它有两个实现类Bus和Car,现在还有一个类VehicleService需要注入一个Vehicle类型的Bean:publicinte...

一文带你搞懂Vue3 底层源码

作者:妹红大大转发链接:https://mp.weixin.qq.com/s/D_PRIMAD6i225Pn-a_lzPA前言vue3出来有一段时间了。今天正式开始记录一下梗vue3.0.0-be...

一线开发大牛带你深度解析探讨模板解释器,解释器的生成

解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...

Nacos源码—9.Nacos升级gRPC分析五

大纲10.gRPC客户端初始化分析11.gRPC客户端的心跳机制(健康检查)12.gRPC服务端如何处理客户端的建立连接请求13.gRPC服务端如何映射各种请求与对应的Handler处理类14.gRP...

聊聊Spring AI的Tool Calling

序本文主要研究一下SpringAI的ToolCallingToolCallbackorg/springframework/ai/tool/ToolCallback.javapublicinter...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockers...

在MySQL登录时出现Access denied for user ~~ (using password: YES)

Windows~~~在MySQL登录时出现Accessdeniedforuser‘root‘@‘localhost‘(usingpassword:YES),并修改MySQL密码目录适用...

mysql 8.0多实例批量部署script

背景最近一个项目上,客户需要把阿里云的rdsformysql数据库同步至线下,用作数据的灾备,需要在线下的服务器上部署mysql8.0多实例,为了加快部署的速度,写了一个脚本。解决方案#!/bi...