嬴图 | 围绕中心性算法在寄生虫网络的研究

news2024/11/17 7:28:58

算法在实践中的应用有哪些?中心性算法的特点和应用一文了解。

前言

寄生(Parasitism)是两种生物之间的一种“消费者—资源”的关系,即寄生虫(Parasite)和它的宿主(Host)。

寄生虫生活在宿主的身上或体内,依赖宿主提供营养和庇护;而宿主则在许多方面受到伤害,例如暴露于许多传染病的威胁之下,因为寄生虫通常是很多病原体的载体。

近年来,网络分析(Network Analysis)技术越来越广泛地应用在寄生性疾病的传播以及生物灭绝、入侵或迁移等对生态系统稳定性的研究中。这些研究的范围取决于涉及到的地区大小、宿主/寄生虫的种类多少等。

图技术利用其对高维数据建模的能力,能自然地反映实体之间是如何网络化的,从而使事物具备了高度的可解释性,大大加速对各项科学研究的辅助工作。

01|技术革新

寄生虫的问题,尽管对肉眼来说是“不可见”的,但寄生虫的物种数量非常庞大,它们之间的无数互动都会大大地影响众多的宿主物种。这种复杂性对于宿主 — 寄生虫群落的研究提出了非常大的挑战。

痛点:多样性带来的困境

研究生态系统的传统方法是实验和理论数学模型。这些早期的努力在一定程度上有助于描述网络结构。

然而,要用它们来进一步描述相互作用所产生的影响几乎是不可能的,更不用说是需要在不断变化的情景下做出预测了。由于寄生虫的丰富性和宿主范围的不断增长,这使得寄生虫学的研究在计算上也极具挑战性。

解决:利用网络分析技术

利用网络分析技术,可以通过描述网络结构中宿主和寄生虫之间的相互作用,揭示和洞察出它们之间潜在的复杂关系。

网络分析最早在社会网络研究中得到了很好的发展,并已被借用到包括生态学和生物应用在内的许多领域。

它有一个坚实而通用的工具包,能利用网络的潜在特征,如中心性、相似性、模块度、连通性、嵌套性等,来执行深入的描述和预测任务。

02 | 流行病的预防

许多在人类身上出现的新发传染病(Emerging Infectious Diseases, EID)起源于动物。一些研究表明,我们更容易受到来自近亲的交叉感染。

人类中一些最有害的疾病可能是由灵长类动物传播的,如恶性疟疾、黄热病和艾滋病毒等。[1]因此,密切关注非人类的灵长类动物,尤其是那些处于中心位置的灵长类动物,可能有助于抵御新的流行病。此用例说明了如何使用图算法来帮助加速(增强)EID 的研究。

算法:中心性

作为一种经典的网络衡量标准,中心性(Centrality)能够从不同的角度来揭示网络中实体的重要性。

在灵长类动物 — 寄生虫网络(Primate-Parasite Network)中,处于中心位置的宿主可能是那些——

(a)携带寄生虫最多的;

(b)在控制寄生虫传播中发挥了重要作用的;

(c)具有最大传递影响的宿主。

这些考虑因素能对应于明确的中心性指标:

(a)度中心性[2]

(b)中介中心性[3]

(c)特征向量中心性[4]

如果读者不太熟悉这些度量标准,可以参考附加到每个算法名称的 Ultipa 算法文档

构建:灵长类动物 — 寄生虫网络

以下演示的“灵长类动物 — 宿主数据集”是从GMPD[5]下载的,其中包含217个灵长类宿主节点[6](@host)和820个寄生虫节点(@parasite),还有3,587条[7](@hasHost)从寄生虫指向它们各自的宿主。

图1:宿主和寄生虫之间的关系
图1:宿主和寄生虫之间的关系

我们观察到,大多数寄生虫具有多个宿主,每个宿主也可能有多个寄生虫。对于有同一寄生虫的每两个宿主,我们将它们连接在一起(@shareParasites边)并将它们之间共有的寄生虫数量记录为权重(weight),如下图所示:

图2:两个宿主间有相同寄生虫的示例——无向边

在Ultipa嬴图中,每条边都需要有方向。由于@shareParasites是双向的关系,我们在有相同寄生虫的每对宿主间插入两个方向不同、但权重相同的边。 

  图3:两个宿主间有相同寄生虫的示例——有向边 

 通过这种方式,我们另外向网络插入了总共15,436条@shareParasites边。 

寻找:居于中心位置的灵长类动物

我们将这个网络导入Ultipa Manager 中并运行上述三种中心性算法,旨在找到前10个重要的宿主。比较结果可以看到,度中心性特征向量中心性捕获了非常相似的重要宿主,而中介中心性与它们的相关性较低。在实际应用中,生态学家要么根据一些特定的关注点选择单一的中心性进行测量,要么在分析其相关性后通过组合不同指标的结果来获取一个综合输出。

(a)使用度中心性算法计算在每个宿主上发现的寄生虫数量。这个指标虽然很简单,但清楚地反映了每个宿主接触的寄生虫的范围。

图4:在Ultipa Manager 中计算度中心性最高的十个宿主 

上面的截图显示了感染最多种类寄生虫的前10个宿主,找出它们只需要在Ultipa Manager 中写2个UQL 命令,第一个algo( )命令运行度中心性算法,第二个find().nodes()命令通过内部ID(UUID)查询出宿主节点,最后以表的形式返回宿主的外部ID(即ID,通常更易读)和计算出的节点度,便于下游任务(如果有)进一步的使用。 

(b)使用中介中心性算法来衡量一个宿主位于任何其他两个宿主之间通过@shareParasite边形成的最短路径中的概率。它描述了宿主作为网络中其他宿主之间寄生虫共享/传播的“桥梁”角色的重要性。 

图5:在Ultipa Manager中计算中介中心性最高的10个宿主 

上面的截图是前10个起到媒介或桥梁作用的宿主,这可以作为进一步调查的良好指标。  

请注意:中介中心性算法相较于度中心性算法,其复杂度是指数级增加的,因此更具挑战性。但是该算法可以在较小的数据集上运行,或指示算法进行采样计算来提速(计算复杂度更低)。当然,也可以通过密集地并行技术来加速,这正是 Ultipa嬴图在向量化计算和存储接近计算(以及无索引邻接数据结构)的架构上所做的。

 (c)在特征向量中心性算法的假设中,宿主的中心性不仅取决于它连接了多少个宿主,还取决于它连接的宿主有多重要。它提供了比度中心性更复杂的视图,同时在数量与质量之间做了平衡。 

图6:在Ultipa Manager 中计算特征向量中心性最高的:10个宿主 

请注意: 著名的 PageRank 算法是特征向量中心性的一个变体。在疾病传播研究中,具有较高特征向量中心性的实体(节点或顶点) 更有可能接近感染源(即追踪大流行的爆发源)。

03 | 写在最后

将网络分析应用到疾病传播,为研究人员的科研探索提供了非常重要的辅助,同时也对人类健康提供更多的了解。Ultipa嬴图支持复杂的网络拓扑建模,可以轻松地处理物种和交互多样性。同时,我们痴迷于强劲的核心算力、灵活的查询模式以及丰富的算法库。Ultipa嬴图随时准备好协助全球生态学家揭开更多关于自然和生命的神秘面纱。(文/ Pearl C

· END·

关于嬴图数据库(Ultipa Graph)

嬴图实时图数据库是第四代图数据库产品。Ultipa嬴图建有全球范围内最丰富的图算法库,超过100+,通过一系列技术创新实现了对动态、海量数据的深下钻、科学计量、多维度归因分析。数据加载、更新、查询、分析、聚合、计算等维度,通过构建应用产品,深度赋能客户。相比与传统的关系型数据库或数仓、数湖产品,嬴图数据库在数据建模的灵活性、计算时效性、充分满足业务需求等多个维度。更多关于嬴图数据库的探索,请关注www.ultipa.cn

参考

  1. ^J. Gómez, C. Nunn, M. Verdúc, Centrality in primate–parasite networks reveals the potential for the transmission of emerging infectious diseases to humans (2013)
  2. ^度中心性 - Ultipa 图分析与图算法 - Ultipa Graph
  3. ^中介中心性 - Ultipa 图分析与图算法 - Ultipa Graph
  4. ^特征向量中心性 - Ultipa 图分析与图算法 - Ultipa Graph
  5. ^全球哺乳动物寄生虫数据库(GMPD) https://parasites.nunn-lab.org/
  6. ^点 (Node),代表真实世界中的实体,即图论中的顶点 (vertex),在 Ultipa 图系统中也称作节点。
  7. ^边 (Edge),代表真实世界中实体间的关系,即连接两个节点的边。Ultipa 图系统中的边均为有向边。边的两个端点可以相同也可以不相同,相同时边称为自环边(Loop)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智芯MCU软件开发环境搭建

智芯MCU软件开发环境搭建 目录 智芯MCU软件开发环境搭建前言1 软件安装2 编译环境3 烧录环境4 新建工程结束语 前言 智芯科技的MCU主要应用于汽车行业,属于车规级的MCU,目前上市的MCU型号较少,相关资料也不多,所以这里出一期开发…

医学影像信息系统(PACS源码)基本概况和工作原理

一、医学影像信息系统(PACS)基本概况 医学影像信息系统(PACS)是一种集影像采集、传输、存储、管理、查询、诊断、报告、归档和科研于一体的综合性应用系统。它基于医学影像存储与通信系统(Picture Archiving and Comm…

Seata Saga 模式理论学习、生产级使用示例搭建及注意事项(一) | Spring Cloud57

一、前言 通过以下系列章节: docker-compose 实现Seata Server高可用部署 | Spring Cloud 51 Seata AT 模式理论学习、事务隔离及部分源码解析 | Spring Cloud 52 Spring Boot集成Seata利用AT模式分布式事务示例 | Spring Cloud 53 Seata XA 模式理论学习、使用…

当我用AI为开发AntV图表插上想象的翅膀后

前言 做前端图表时,最耗时的就是找配置参数,比如你在使用AntV G2时,为了更加美观,拉大数据之间的差距,需要将y轴设置一个最小值,由于每个图表的参数少说十几个,多达二十多个,一个一…

C# 反射 (Reflection) 的常用功能

目录 一、概述 二、实例化类 三、反射赋值 四、获取字段值 五、获取字段名 六、获取字段类型 七、调用方法 结束 一、概述 反射指程序可以访问、检测和修改它本身状态或行为的一种能力。 程序集包含模块,而模块包含类型,类型又包含成员。反射则…

华为认证 | HCIE-Datacom 考试大纲

01 HCIE-Datacom考试概述 02 HCIE-Datacom考试内容 HCIE-Datacom V1.0 考试覆盖数据通信领域:路由交换高阶技术、企业网络架构全景、园区网络典型架构与技术、华为CloudCampus解决方案设计与部署、广域互联网络典型架构与技术、华为SD-WAN解决方案设计与部署、广域…

人机接口回路原理(四)

五、硬件时钟电路 接口插件设置了一个硬件时钟电路,由一片MC146818时钟芯片及辅助元器件组成,如图1-35所示。 MC146818芯片是智能式硬件时钟,其内部由电子时钟和存储器两部分组成。可计年、月、日、时、分、秒、星期;能…

时间序列中的无监督表示学习

自监督学习中,有一个常用的方法是对比学习; 2.  时间序列的表示学习 1.1 采用对比学习的方式 Time-series representation learning via temporal and contextual contrasting(IJCAI’21) 本文采用对比学习的方式进行时间序列表示学习。首先对于同一…

告别原始 UI 样式,拥抱 Fluent Design 风格 PyQt/PySide 组件库

简介 这是一个使用 PyQt/PySide 编写的 Fluent Design 风格的组件库,支持亮暗主题无缝切换和自定义主题色,搭配 QtDesigner 可以快速开发美观的界面。github 仓库地址为 https://github.com/zhiyiYo/PyQt-Fluent-Widgets ,演示视频可以在哔哩…

夏至后,这些农事活动要注意管理

夏至过后,温度会进一步攀登,较高的气温和光照会让夏作物生长更加旺盛。接下来就让我们看看在这些夏作物在种植时都需要注意哪些方面吧! 一、蔬菜管理 夏白菜、夏甘蓝、夏菜花都是在6月下旬开始育早熟的菜花苗,秋大棚中的芹菜也是…

超强总结,性能测试实战(购物业务板块)真实压测场景...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 购物网站购物流程…

人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型,调通模型的训练与测试

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型13-pytorch搭建RBM(受限玻尔兹曼机)模型,调通模型的训练与测试。RBM(受限玻尔兹曼机)可以在没有人工标注的情况下对数据进行学习。其原理类似于我们人类学习的过程&#xff0c…

Redis简单动态字符串SDS

目录 前言 一.SDS定义 二.SDS与C字符串的区别 2.1 常数复杂度获取字符串的长度 2.2 杜绝缓冲区溢出 2.3 减少修改字符串时带来的内存重分配次数 2.3.1 空间预分配 2.3.2 惰性空间释放 2.4 二进制安全 2.5 兼容部分C字符串函数 2.6 总结 三.SDS缺点 前言 Redis没有直接使用C语…

gRPC教程与应用

gRPC是是谷歌一个开源的跨语言的RPC框架,面向移动和 HTTP/2 设计。 grpc中文网 在 gRPC 里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用和服务。 gRPC 也是基于以下理念&#xff1…

python3+requests+unittest接口自动化测试

1.环境准备 python3 pycharm编辑器 2.框架目录展示 (该套代码只是简单入门,有兴趣的可以不断后期完善) (1)run.py主运行文件,运行之后可以生成相应的测试报告,并以邮件形式发送;…

【C++进阶】红黑树实现

文章目录 红黑树的概念红黑树的性质红黑树节点的定义红黑树结构红黑树的插入1.按照二叉搜索的树规则插入新节点2.进行旋转和变色源码 红黑树的验证中序遍历判断是否满足二叉搜索树判断是否满足红黑树 完整源码 红黑树的概念 红黑树,是一种二叉搜索树,但…

基于spss的多元统计分析 之 单/双因素方差分析 多元回归分析(1/8)

实验目的: 1.掌握单样本t检验、两样本t检验、配对样本t检验、单因素方差分析、多元回归分析的基本原理; 2.熟悉掌握SPSS软件或者R软件关于单因素、多因素方差分析、多元回归分析的基本操作; 3.利用实验指导…

2.3C++保护成员

C 保护成员 在C中,可以使用保护成员 protected,来提高代码的安全性。 我用大白话解释一下什么是保护成员:说白了就是为了防止其他类直接访问或修改其成员加的一个措施。 目的是保护,成员的私有性和可见性。 C 类的保护 可以为…

web 语音通话 jssip

先把封装好的地址安上(非本人封装):webrtc-webphone: 基于JsSIP开发的webrtc软电话 jssip中文文档:jssip中文开发文档(完整版) - 简书 jssip使用文档:(我没有运行过,但…

Nginx服务器,在window系统中的使用(前端,nginx的应用)

简介:Nginx是一个轻量级、高性能的HTTP和反向代理web服务器,且支持电子邮件(IMAP/POP3)代理服务,特点是占用内存少,并发能力强,给我们来了很多的便利,国内大部分网站都有使用nginx&a…