当前位置: 首页 > news >正文

R语言:microeco:一个用于微生物群落生态学数据挖掘的R包:第七:trans_network class

# 网络是研究微生物生态共现模式的常用方法。在这一部分中,我们描述了trans_network类的所有核心内容。
# 网络构建方法可分为基于关联的和非基于关联的两种。有几种方法可以用来计算相关性和显著性。
#我们首先介绍了基于关联的网络。trans_network中的cal_cor参数用于选择相关计算方法。

> t1 <- trans_network$new(dataset = dataset, cal_cor = "base", taxa_level = "OTU", filter_thres = 0.0001, cor_method = "spearman")

> devtools::install_github('zdk123/SpiecEasi')
> library(SpiecEasi)
# SparCC method, require SpiecEasi package
> t1 <- trans_network$new(dataset = dataset, cal_cor = "SparCC", taxa_level = "OTU", filter_thres = 0.001, SparCC_simu_num = 100)
# require WGCNA package
> library(WGCNA)
> t1 <- trans_network$new(dataset = dataset, cal_cor = "WGCNA", taxa_level = "OTU", filter_thres = 0.0001, cor_method = "spearman")

#参数COR_cut可用于选择相关阈值。此外,COR_optimization = TRUE表示使用RMT理论寻找优化的相关阈值,而不是COR_cut。
> t1$cal_network(p_thres = 0.01, COR_optimization = TRUE)
# use arbitrary coefficient threshold to contruct network
> install.packages("rgexf")
> t1$save_network(filepath = "network.gexf")
#根据Gephi中计算出的模块绘制网络并给出节点颜色。
#https://gephi.org/users/download/ 下载grephi

#现在,我们用门的信息显示节点的颜色,用正相关和负相关来显示边缘的颜色。所有使用的数据

#都存储在网络中。gexf文件,包括模块分类、门信息和边分类。

> t1$cal_network_attr()
Result is stored in object$res_network_attr ...
> t1$res_network_attrVertex                 4.070000e+02
Edge                   1.989000e+03
Average_degree         9.773956e+00
Average_path_length    2.784505e+00
Network_diameter       9.000000e+00
Clustering_coefficient 4.697649e-01
Density                2.407378e-02
Heterogeneity          1.193606e+00
Centralization         9.907893e-02
Modularity             5.485651e-01
> t1$cal_network_attr()
Result is stored in object$res_network_attr ...
> t1$res_network_attrVertex                 4.070000e+02
Edge                   1.989000e+03
Average_degree         9.773956e+00
Average_path_length    2.784505e+00
Network_diameter       9.000000e+00
Clustering_coefficient 4.697649e-01
Density                2.407378e-02
Heterogeneity          1.193606e+00
Centralization         9.907893e-02
Modularity             5.485651e-01
> t1$cal_module()
Use cluster_fast_greedy function to partition modules ...
Totally, 25 modules are idenfified ...
Modules are assigned in network with attribute name -- module ...
> t1$get_node_table(node_roles = TRUE)
The nodes (22) with NaN in z will be filtered ...
Result is stored in object$res_node_table ...
> t1$plot_taxa_roles(use_type = 1)
Warning message:
Removed 22 rows containing missing values (`geom_point()`). 

t1$plot_taxa_roles(use_type = 2)

> t1$cal_eigen()
#然后用相关热图来显示特征基因与环境因素之间的关系。
> t2 <- trans_env$new(dataset = dataset, add_data = env_data_16S[, 4:11])
> t2$cal_cor(add_abund_table = t1$res_eigen)
> t2$plot_cor()

# 函数cal_sum_links()用于对从一个分类单元到另一个分类单元或同一分类单元中的链接(边)数求和。
# 函数plot_sum_links()用于显示函数cal_sum_links()的结果。这对于快速查看不同分类群之间或一个分类群内部连接了多少节点非常有用。
# 对于本教程中的“门”级别,函数cal_sum_links()将从一个门到另一个门或同一门中的连杆数求和。
# 所以圆形图外围的数字表示有多少条边或连接与门有关。例如,就Proteobacteria而言,
# 大约总共有900条边与Proteobacteria中的OTUs相关,其中大约有200条边将Proteobacteria中的两个OTUs连接起来,
# 大约有150条边将Proteobacteria中的OTUs与来自Chloroflexi的OTUs连接起来。

# 函数cal_sum_links()用于对从一个分类单元到另一个分类单元或同一分类单元中的链接(边)数求和。
# 函数plot_sum_links()用于显示函数cal_sum_links()的结果。这对于快速查看不同分类群之间或一个分类群内部连接了多少节点非常有用。
# 对于本教程中的“门”级别,函数cal_sum_links()将从一个门到另一个门或同一门中的连杆数求和。
# 所以圆形图外围的数字表示有多少条边或连接与门有关。例如,就Proteobacteria而言,
# 大约总共有900条边与Proteobacteria中的OTUs相关,其中大约有200条边将Proteobacteria中的两个OTUs连接起来,
# 大约有150条边将Proteobacteria中的OTUs与来自Chloroflexi的OTUs连接起来。

# calculate the links between or within taxonomic ranks
> t1$cal_sum_links(taxa_level = "Phylum")
# return t1$res_sum_links_pos and t1$res_sum_links_neg
# require chorddiag package
> devtools::install_github("mattflor/chorddiag", build_vignettes = TRUE)
> t1$plot_sum_links(plot_pos = TRUE, plot_num = 10)

> #subset_network()函数可用于从网络中提取部分节点和这些节点之间的边。在这个函数中,应该使用node参数提供所需的节点。
> t1$subset_network(node = t1$res_node_type %>% .[.$module == "M1", ] %>% rownames, rm_single = TRUE)
IGRAPH 7df7c55 UNW- 407 1989 -- 
+ attr: name (v/c), taxa (v/c), Phylum (v/c), RelativeAbundance (v/n), module (v/c), label (e/c), weight (e/n)
+ edges from 7df7c55 (vertex names):[1] OTU_50   --OTU_357   OTU_50   --OTU_154   OTU_305  --OTU_3303  OTU_305  --OTU_2564  OTU_305  --OTU_30    OTU_1    --OTU_13824 OTU_1    --OTU_4731 [8] OTU_1    --OTU_34    OTU_1    --OTU_301   OTU_1    --OTU_668   OTU_1    --OTU_1169  OTU_1    --OTU_847   OTU_1    --OTU_1243  OTU_1    --OTU_266  
[15] OTU_1    --OTU_1897  OTU_1    --OTU_1185  OTU_1    --OTU_1892  OTU_1    --OTU_1811  OTU_1    --OTU_126   OTU_1    --OTU_902   OTU_1    --OTU_351  
[22] OTU_1    --OTU_264   OTU_1    --OTU_1173  OTU_1    --OTU_1866  OTU_1    --OTU_1848  OTU_1    --OTU_1204  OTU_41   --OTU_117   OTU_59   --OTU_78   
[29] OTU_59   --OTU_357   OTU_59   --OTU_943   OTU_2733 --OTU_2725  OTU_4050 --OTU_7205  OTU_4050 --OTU_3522  OTU_4147 --OTU_1646  OTU_4147 --OTU_109  
[36] OTU_4147 --OTU_7557  OTU_4147 --OTU_265   OTU_4147 --OTU_3164  OTU_4147 --OTU_8029  OTU_4147 --OTU_107   OTU_4147 --OTU_7648  OTU_4147 --OTU_3138 
[43] OTU_4147 --OTU_1812  OTU_4147 --OTU_2784  OTU_4147 --OTU_426   OTU_4147 --OTU_1850  OTU_4147 --OTU_3712  OTU_4147 --OTU_3321  OTU_4147 --OTU_12327
[50] OTU_4147 --OTU_3159  OTU_4147 --OTU_7630  OTU_4147 --OTU_1885  OTU_4147 --OTU_1827  OTU_4147 --OTU_7346  OTU_4147 --OTU_4531  OTU_4147 --OTU_1810 
+ ... omitted several edges
> #然后,我们展示了下一个实现的网络构建方法:SpiecEasi R包中的SpiecEasi(稀疏逆协方差估计for Ecological Association Inference)网络。
> # cal_cor select NA
> t1 <- trans_network$new(dataset = dataset, cal_cor = NA, taxa_level = "OTU", filter_thres = 0.0005)
After filtering, 301 features are remained ...
> # require SpiecEasi package  https://github.com/zdk123/SpiecEasi
> t1$cal_network(network_method = "SpiecEasi")
---------------- 2024-03-18 15:42:16.310147 : Start ----------------
Applying data transformations...
Selecting model with pulsar using stars...
Fitting final estimate with mb...
done
---------------- 2024-03-18 15:48:05.015648 : Finish ----------------
The result network is stored in object$res_network ...
> t1$res_network
IGRAPH da9387f UNW- 301 1595 -- 
+ attr: name (v/c), taxa (v/c), Phylum (v/c), RelativeAbundance (v/n), weight (e/n), label (e/c)
+ edges from da9387f (vertex names):[1] OTU_32  --OTU_238  OTU_32  --OTU_115  OTU_32  --OTU_578  OTU_32  --OTU_260  OTU_32  --OTU_62   OTU_32  --OTU_1283 OTU_32  --OTU_205  OTU_32  --OTU_315 [9] OTU_32  --OTU_64   OTU_32  --OTU_348  OTU_32  --OTU_345  OTU_32  --OTU_201  OTU_50  --OTU_408  OTU_50  --OTU_59   OTU_50  --OTU_3303 OTU_50  --OTU_117 
[17] OTU_50  --OTU_318  OTU_50  --OTU_632  OTU_50  --OTU_67   OTU_50  --OTU_3052 OTU_50  --OTU_357  OTU_50  --OTU_771  OTU_50  --OTU_30   OTU_50  --OTU_674 
[25] OTU_305 --OTU_59   OTU_305 --OTU_37   OTU_305 --OTU_3303 OTU_305 --OTU_146  OTU_305 --OTU_67   OTU_305 --OTU_578  OTU_305 --OTU_3052 OTU_305 --OTU_28  
[33] OTU_305 --OTU_30   OTU_305 --OTU_26   OTU_305 --OTU_92   OTU_305 --OTU_58   OTU_408 --OTU_23   OTU_408 --OTU_22   OTU_408 --OTU_117  OTU_408 --OTU_169 
[41] OTU_408 --OTU_27   OTU_408 --OTU_217  OTU_408 --OTU_3052 OTU_408 --OTU_1830 OTU_408 --OTU_530  OTU_6426--OTU_31   OTU_6426--OTU_515  OTU_6426--OTU_372 
[49] OTU_6426--OTU_409  OTU_6426--OTU_293  OTU_6426--OTU_341  OTU_6426--OTU_1819 OTU_6426--OTU_1922 OTU_6426--OTU_970  OTU_6426--OTU_430  OTU_75  --OTU_31  
[57] OTU_75  --OTU_22   OTU_75  --OTU_515  OTU_75  --OTU_204  OTU_75  --OTU_656  OTU_75  --OTU_839  OTU_75  --OTU_1922 OTU_75  --OTU_21   OTU_75  --OTU_431 
+ ... omitted several edges

> t1$plot_network()

这一期跑了很久。大家慎跑。

相关文章:

R语言:microeco:一个用于微生物群落生态学数据挖掘的R包:第七:trans_network class

# 网络是研究微生物生态共现模式的常用方法。在这一部分中&#xff0c;我们描述了trans_network类的所有核心内容。 # 网络构建方法可分为基于关联的和非基于关联的两种。有几种方法可以用来计算相关性和显著性。 #我们首先介绍了基于关联的网络。trans_network中的cal_cor参数…...

ubuntu下在vscode中配置matplotlibcpp

ubuntu下在vscode中配置matplotlibcpp 系统&#xff1a;ubuntu IDE&#xff1a;vscode 库&#xff1a;matplotlib-cpp matplotlibcpp.h文件可以此网址下载&#xff1a;https://github.com/lava/matplotlib-cpp 下载的压缩包中有该头文件&#xff0c;以及若干实例程序。 参考…...

Vue面试题,背就完事了

1.vue的生命周期有哪些及每个生命周期做了什么? Vue.js 的生命周期可以分为以下几个核心阶段&#xff0c;每个阶段都伴随着特定的钩子函数&#xff08;生命周期钩子&#xff09;来执行相应的操作&#xff1a; 创建阶段&#xff1a; beforeCreate&#xff1a;实例被创建后、数…...

centos创建并运行一个redis容器 并支持数据持久化

步骤 : 创建redis容器命令 docker run --name mr -p 6379:6379 -d redis redis-server --appendonly yes 进入容器 : docker exec -it mr bash 链接redis : redis-cli 查看数据 : keys * 存入一个数据 : set num 666 获取数据 : get num 退出客户端 : exit 再退…...

nvm安装和使用保姆级教程(详细)

一、 nvm是什么 &#xff1a; nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和npm都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 二、卸载之前安装的node: …...

跳绳计数,YOLOV8POSE

跳绳计数&#xff0c;YOLOV8POSE 通过计算腰部跟最初位置的上下波动&#xff0c;计算跳绳的次数...

阿里云ecs服务器配置反向代理上传图片

本文所有软件地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/12OSFilS-HNsHeXTOM47iaA 提取码&#xff1a;dqph 为什么要使用阿里云服务器&#xff1f; 项目想让别人通过外网进行访问就需要部署到我们的服务器当中 1.国内知名的服务器介绍 国内比较知名的一些…...

免费阅读篇 | 芒果YOLOv8改进110:注意力机制GAM:用于保留信息以增强渠道空间互动

&#x1f4a1;&#x1f680;&#x1f680;&#x1f680;本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 该专栏完整目录链接&#xff1a; 芒果YOLOv8深度改进教程 该篇博客为免费阅读内容&#xff0c;直接改进即可&#x1f680;&#x1f680;&#x1f…...

GetLastError()返回值及含义

https://www.cnblogs.com/ericsun/archive/2012/08/10/2631808.html 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空…...

k8s admin 用户生成token

k8s 版本 1.28 创建一个admin的命名空间 admin-namespce.yaml kind: Namespace apiVersion: v1 metadata: name: admin labels: name: admin 部署进k8s kubectl apply -f admin-namespce.yaml 查看k8s namespace 的列表 kubectl get namespace查看当前生效的…...

【vscode】vscode重命名变量后多了很多空白行

这种情况&#xff0c;一般出现在重新安装 vscode 后出现。 原因大概率是语言服务器没设置好或设置对。 以 Python 为例&#xff0c;到设置里搜索 "python.languageServer"&#xff0c;将 Python 的语言服务器设置为 Pylance 即可。...

深度学习实战模拟——softmax回归(图像识别并分类)

目录 1、数据集&#xff1a; 2、完整代码 1、数据集&#xff1a; 1.1 Fashion-MNIST是一个服装分类数据集&#xff0c;由10个类别的图像组成&#xff0c;分别为t-shirt&#xff08;T恤&#xff09;、trouser&#xff08;裤子&#xff09;、pullover&#xff08;套衫&#xf…...

vue实现element-UI中table表格背景颜色设置

目前在style中设置不了&#xff0c;那么就在前面组件给设置上 :header-cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }" :cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }"...

RabbitMQ学习总结-消息的可靠性

保证MQ消息的可靠性&#xff0c;主要从三个方面&#xff1a;发送者确认可靠性&#xff0c;MQ确认可靠性&#xff0c;消费者确认可靠性。 1.发送者可靠性&#xff1a;主要依赖于发送者重试机制&#xff0c;发送者确认机制&#xff1b; 发送者重试机制&#xff0c;其实就是配置…...

2024蓝桥杯每日一题(BFS)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一&#xff1a;母亲的奶牛 试题二&#xff1a;走迷宫 试题三&#xff1a;八数码1 试题四&#xff1a;全球变暖 试题五&#xff1a;八数码2 试题一&#xff1a;母亲的奶牛 【题目描述】 农夫约…...

力扣思路题:最长特殊序列1

int findLUSlength(char * a, char * b){int alenstrlen(a),blenstrlen(b);if (strcmp(a,b)0)return -1;return alen>blen?alen:blen; }...

c# 的ref 和out

在C#中&#xff0c;ref和out是用于方法参数的关键字&#xff0c;它们都允许在方法调用中对参数进行修改。 ref关键字用于传递参数的引用。当使用ref关键字声明一个参数时&#xff0c;实际上是在告诉编译器此参数在调用方法之前必须被赋值。ref参数传递的是参数的引用地址&…...

ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案

ONLYOFFICE文档8.0全新发布&#xff1a;私有部署、卓越安全的协同办公解决方案 文章目录 ONLYOFFICE文档8.0全新发布&#xff1a;私有部署、卓越安全的协同办公解决方案摘要&#x1f4d1;引言 &#x1f31f;正文&#x1f4da;一、ONLYOFFICE文档概述 &#x1f4ca;二、ONLYOFFI…...

Mar 14 | Datawhale 01~04 打卡 | Leetcode面试下

第一阶段主要就是学习字符串的处理和二叉树的遍历。前一段时间学习了二叉树的遍历&#xff0c;记忆还比较深刻&#xff0c;这几个题还是比较轻松的做出来了&#xff1b;但是像Longest Palindromic Substring这样的题除了简单的字符串处理&#xff08;回文判断&#xff09;&…...

【计算机网络】什么是http?

​ 目录 前言 1. 什么是HTTP协议&#xff1f; 2. 为什么使用HTTP协议&#xff1f; 3. HTTP协议通信过程 4. 什么是url&#xff1f; 5. HTTP报文 5.1 请求报文 5.2 响应报文 6. HTTP请求方式 7. HTTP头部字段 8. HTTP状态码 9. 连接管理 长连接与短连接 管线化连接…...

麦橘超然Flux控制台快速体验:输入文字秒出高清图片

麦橘超然Flux控制台快速体验&#xff1a;输入文字秒出高清图片 1. 为什么选择Flux控制台 如果你正在寻找一个简单高效的AI图像生成工具&#xff0c;麦橘超然Flux控制台值得考虑。这个基于DiffSynth-Studio构建的Web服务&#xff0c;集成了majicflus_v1模型&#xff0c;通过fl…...

大模型数据治理终极指南:5个关键步骤实现高效生命周期管理

大模型数据治理终极指南&#xff1a;5个关键步骤实现高效生命周期管理 【免费下载链接】Foundations-of-LLMs 项目地址: https://gitcode.com/GitHub_Trending/fo/Foundations-of-LLMs 大模型数据治理是构建高质量AI系统的基石&#xff0c;对于确保模型性能、合规性和可…...

LingBot-Depth实操手册:Gradio API返回JSON结构解析与字段含义

LingBot-Depth实操手册&#xff1a;Gradio API返回JSON结构解析与字段含义 1. 引言&#xff1a;为什么需要了解API返回结构 当你使用LingBot-Depth处理深度图像时&#xff0c;最让人困惑的可能就是API返回的那一串JSON数据。这些数据到底代表什么&#xff1f;每个字段有什么含…...

AgentCPM深度研报助手C语言文件操作实战:批量处理本地研报文本文件

AgentCPM深度研报助手C语言文件操作实战&#xff1a;批量处理本地研报文本文件 你是不是也遇到过这样的场景&#xff1f;手头有一堆下载好的行业研报&#xff0c;有PDF&#xff0c;有TXT&#xff0c;堆在文件夹里。想快速了解每份报告的核心观点&#xff0c;但一份份打开看&am…...

OBS多平台直播插件:3步搞定全网同步推流,让内容覆盖提升300%

OBS多平台直播插件&#xff1a;3步搞定全网同步推流&#xff0c;让内容覆盖提升300% 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为每次直播只能选择一个平台而烦恼吗&#xff1…...

AI赋能Spring开发:借助快马平台快速集成Spring AI,打造智能应用

AI赋能Spring开发&#xff1a;借助快马平台快速集成Spring AI&#xff0c;打造智能应用 Spring生态庞大&#xff0c;新技术集成往往需要查阅大量文档。最近我在尝试将Spring AI集成到项目中&#xff0c;发现这个过程比想象中要复杂得多。好在发现了InsCode(快马)平台&#xff…...

Html2Pdf高性能转换引擎:PHP 7.2-8.4全版本兼容的企业级HTML转PDF解决方案

Html2Pdf高性能转换引擎&#xff1a;PHP 7.2-8.4全版本兼容的企业级HTML转PDF解决方案 【免费下载链接】html2pdf OFFICIAL PROJECT | HTML to PDF converter written in PHP 项目地址: https://gitcode.com/gh_mirrors/ht/html2pdf 在当今企业数字化转型浪潮中&#xf…...

从MSTAR到RSDD-SAR:一文看懂SAR目标检测数据集20年演进,你的模型该用哪个?

从MSTAR到RSDD-SAR&#xff1a;SAR目标检测数据集的二十年技术进化与选型实战 军用雷达技术研究员李明曾在2018年遇到一个棘手问题&#xff1a;他训练的舰船检测模型在实验室测试准确率达到98%&#xff0c;实际部署到南海海域时性能却暴跌至62%。问题根源很快锁定在数据集——他…...

SEO_网站SEO诊断与快速优化解决办法分享

<h2>SEO诊断&#xff1a;了解你的网站现状&#xff0c;为优化铺路</h2> <p>在当今数字化时代&#xff0c;拥有一个高效、优化良好的网站是任何企业或个人成功的关键。网站SEO诊断是这一过程中的重要步骤。通过网站SEO诊断&#xff0c;我们可以全面了解你的网…...

Simulink Simscape传感模块实战指南:从基础到高级应用

1. Simscape传感模块基础入门 第一次接触Simulink Simscape的传感模块时&#xff0c;我完全被那些复杂的参数搞晕了。后来才发现&#xff0c;这些模块其实就是物理系统的"眼睛"和"耳朵"&#xff0c;专门用来捕捉机械系统中的各种运动状态和力学特性。举个生…...