R包ggNetView使用---(1)
Example 1
首先基于OTU相对丰度数据,采用 WGCNA 方法通过皮尔逊相关系数(阈值0.7,p值0.05)构建了微生物共现网络,网络节点代表OTU并按模块性进行分组;随后使用 类Gephi布局算法 对网络进行可视化,将同一模块的节点布局相邻,节点颜色和填充均按模块划分,节点大小在1-5范围内变化,边设置为浅灰色半透明连线,最终生成了一个展示微生物群落内物种关联模式的可视化网络图。
{r
library(ggNetView)
library(ggplot2)
library(ggnewscale)
data("otu_tab")
data("otu_rare")
data("otu_rare_relative")
data("tax_tab")
dim(otu_rare_relative)
colnames(otu_rare_relative)
obj <- build_graph_from_mat(
mat = otu_rare_relative, # 数据矩阵(相对丰度数据)
transfrom.method = "none", # 不对数据进行转换
method = "WGCNA", # 使用WGCNA方法构建网络
cor.method = "pearson", # 皮尔逊相关系数
proc = "BH", # Benjamini-Hochberg多重检验校正
r.threshold = 0.7, # 相关系数阈值
p.threshold = 0.05, # p值阈值
node_annotation = tax_tab # 节点注释信息(分类学表格)
)
p1 <- ggNetView(
graph_obj = obj, # 网络对象
layout = "gephi", # 使用类似Gephi的布局算法
layout.module = "adjacent", # 同一模块的节点布局相邻
# 分组和颜色设置
group.by = "Modularity", # 按模块分组
fill.by = "Modularity", # 按模块填充颜色
# 节点大小
pointsize = c(1, 5), # 节点大小范围(最小1,最大5)
# 布局选项
center = F, # 不将网络居中
jitter = F, # 不添加随机抖动
# 边(连线)设置
mapping_line = F, # 不根据属性映射边的样式
shrink = 0.9, # 收缩因子(控制边长的缩短程度)
linealpha = 0.2, # 边透明度(20%,很淡)
linecolor = "#d9d9d9" # 边颜色(浅灰色)
)
p1
Example 2
这段代码通过gglink_heatmaps函数,将56个环境因子(分为4组)与8个物种进行皮尔逊相关性分析,并以热图的形式展示环境因子组内和组间的关系,同时将环境因子与物种通过网络图连接,直观地展示了环境因子与物种之间的关联。结果图形中,环境因子热图被放置在四个角落,物种部分以圆形轮廓布局,中间用连线表示相关性。整个过程旨在探索环境因子与物种丰度之间的潜在关系。
{r
data("Envdf_4st")
data("Spedf")
out1 <- gglink_heatmaps(
env = Envdf_4st, # 输入环境因子数据
spec = Spedf, # 输入物种丰度数据
env_select = list( # 对环境因子进行分组设置
Env01 = 1:14, # 第一组:第1-14列环境因子
Env02 = 15:28, # 第二组:第15-28列环境因子
Env03 = 29:42, # 第三组:第29-42列环境因子
Env04 = 43:56 # 第四组:第43-56列环境因子
),
spec_select = list( # 对物种进行分组设置
Spec01 = 1:8 # 物种组:第1-8列物种
),
relation_method = "correlation", # 使用相关性分析方法
spec_layout = "circle_outline", # 物种布局为圆形轮廓
cor.method = "pearson", # 使用皮尔逊相关系数
cor.use = "pairwise", # 使用成对完整观测计算相关系数
r = 6, # 相关阈值设置为6(可能为相关系数阈值或半径参数)
orientation = c( # 热图放置方位
"top_right", "bottom_right", # 右上和右下位置
"top_left", "bottom_left" # 左上和左下位置
)
)
#> The max module in network is 2 we use the 2 modules for next analysis
out1[[1]]