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

GRN前沿:DGCGRN:基于有向图卷积网络的基因调控网络推理

1.论文原名:Inference of gene regulatory networks based on directed graph convolutional networks

2.发表日期:2024

DGCGRN框架

中心节点和节点的构建

局部增强策略

1. 问题背景

在基因调控网络中,许多节点的连接度较低(即低度节点),这些节点在图结构中包含的信息较少。传统的图神经网络(GNN)在处理这类低度节点时,可能会因为缺乏足够的邻域信息而导致特征表达能力不足,进而影响整体的预测性能。因此,需要一种方法来增强这些低度节点的特征表示。

2. 局部增强策略的核心思想

局部增强策略的核心是通过生成模型(CVAE)为低度节点生成额外的邻域特征,从而增强其特征表达能力。具体来说,该策略利用节点的局部结构信息和特征分布,生成与中心节点特征相关的邻域节点特征。这种方法可以在不改变整体图结构的前提下,为低度节点提供更丰富的特征信息。


3. 条件变分自编码器(CVAE)

CVAE是一种生成模型,结合了变分自编码器(VAE)和条件生成对抗网络(GAN)的思想。它通过编码器将输入数据编码为潜在空间的分布,然后通过解码器生成新的数据。在DGCGRN中,CVAE被用于生成邻域节点的特征,具体步骤如下:

局部增强策略的优势

  1. 针对性增强低度节点:通过生成邻域特征,为低度节点提供额外的特征信息,增强其在图神经网络中的表达能力。

  2. 保留局部结构信息:CVAE在生成邻域特征时,考虑了中心节点的特征分布,因此生成的特征与局部结构相关,能够更好地保留图的局部信息。

  3. 提升模型性能:通过增强低度节点的特征,模型能够更准确地捕捉节点间的调控关系,从而提升GRN推断的整体性能。

序列特征提取

1. 序列特征提取模块的背景和动机

在基因调控网络(GRN)推断中,基因表达数据通常是主要的输入特征。然而,基因表达数据的维度可能较低,尤其是在处理真实生物数据时。此外,基因表达数据只能反映基因在特定条件下的表达水平,而无法提供基因序列本身的结构信息。这些结构信息对于理解基因的调控机制至关重要,因为基因序列中的某些模式(如转录因子结合位点)直接影响基因的调控。

因此,DGCGRN引入了序列特征提取模块,通过从基因序列中提取额外的特征来补充基因表达数据。这些序列特征不仅能够提供基因序列的结构信息,还能增强模型对基因调控关系的推断能力。

2. 序列特征提取模块的实现细节

序列特征提取模块主要通过两种方法提取序列特征:

  1. 隐藏特征提取(Hidden Features Extraction):使用双向门控循环单元(Bi-GRU)模型提取基因序列的隐藏特征。

  2. 理化特征计算(Physicochemical Features Calculation):计算基因序列的物理化学性质,如Z-curve、GC含量、AT/GC比等。

2.1 隐藏特征提取(Hidden Features Extraction)

2.1.1 Bi-GRU模型

Bi-GRU(双向门控循环单元)是一种基于循环神经网络(RNN)的模型,能够处理序列数据的时间依赖性和上下文信息。Bi-GRU通过双向处理输入序列,能够捕捉序列的前向和后向依赖关系,从而提取更全面的特征。

  • 输入:基因序列被分割成多个k-mer片段(长度为k的子序列),每个k-mer片段通过one-hot编码表示。

  • 处理:Bi-GRU模型对这些k-mer片段进行处理,提取隐藏特征。

  • 输出:Bi-GRU模型输出每个基因序列的隐藏特征向量。

具体步骤

  1. k-mer分割:将基因序列分割成多个长度为k的子序列(k-mer片段)。例如,对于一个基因序列“ATGCGT”,如果k=3,则分割为“ATG”、“TGC”、“GCG”、“CGT”。

  2. One-hot编码:将每个k-mer片段通过one-hot编码表示。例如,对于4个核苷酸(A、C、G、T),每个核苷酸可以用一个4维的向量表示。

  3. Bi-GRU处理:将编码后的k-mer片段输入到Bi-GRU模型中,提取隐藏特征。

示例: 假设基因序列“ATGCGT”被分割成3-mer片段“ATG”、“TGC”、“GCG”、“CGT”,每个片段通过one-hot编码表示后输入到Bi-GRU模型中,最终输出一个隐藏特征向量。

基于有向图卷积网络的GRN预测

1. 有向图卷积网络(DGCN)的背景和动机

1.1 传统GCN的局限性

传统的图卷积网络(GCN)主要用于处理无向图数据。在无向图中,边没有方向,因此GCN通过聚合邻域节点的信息来更新节点的特征表示。然而,在基因调控网络(GRN)中,调控关系是有方向的(例如,转录因子A调控基因B,但基因B不一定调控转录因子A)。如果直接将无向图的处理方法应用于有向图,会丢失调控关系的方向性信息,从而影响推断的准确性。

1.2 DGCN的优势

DGCN通过引入有向图的处理机制,能够直接处理有向图数据,保留调控关系的方向性。具体来说,DGCN通过定义一阶和二阶邻近矩阵,能够更好地捕捉节点之间的直接和间接调控关系,从而提高GRN推断的准确性。

4. GRN预测模块的流程

基于DGCN的GRN预测模块的完整流程如下:

  1. 输入特征:将增强后的节点特征(包括基因表达特征、序列特征和局部增强特征)作为输入。

  2. 图卷积操作:通过DGCN的谱卷积操作,结合一阶和二阶邻近矩阵,更新节点的特征表示。

  3. 动态更新策略:在每次迭代中,根据预测的调控关系更新边的权重,生成新的加权图。

  4. 输出预测结果:最终,模型输出节点之间的调控关系预测结果,包括调控关系的存在概率和方向。


5. DGCN的优势和作用

5.1 保留调控关系的方向性

DGCN通过处理有向图数据,保留了基因调控关系的方向性,从而提高了GRN推断的准确性。

5.2 捕捉直接和间接调控关系

通过定义一阶和二阶邻近矩阵,DGCN能够捕捉节点之间的直接和间接调控关系,从而更好地理解基因调控网络的全局结构。

5.3 动态更新策略

动态更新策略使模型能够根据每次迭代的结果调整图结构,从而更好地捕捉节点之间的调控关系,进一步提高模型的预测性能。

细节补充:动态更新策略

1. 动态更新策略的背景和动机

在传统的图神经网络(GNN)中,图结构通常是静态的,即边的权重在训练过程中不会改变。然而,在基因调控网络(GRN)推断中,调控关系的强度可能因节点之间的相互作用而有所不同。静态图结构无法有效捕捉这种动态变化,从而限制了模型的预测能力。

为了解决这一问题,DGCGRN引入了动态更新策略。该策略通过在每次迭代中更新边的权重,使模型能够根据当前预测结果动态调整图结构,从而更好地反映节点之间的调控关系强度。

3. 动态更新策略的作用和优势

3.1 提高预测准确性

通过动态更新边权重,模型能够根据当前预测结果调整图结构,从而更好地反映节点之间的调控关系强度。这有助于提高模型对调控关系的预测准确性。

3.2 捕捉动态变化

基因调控网络中的调控关系可能因环境变化或节点状态而有所不同。动态更新策略能够捕捉这种动态变化,使模型在训练过程中不断优化图结构。

3.3 增强模型的适应性

动态更新策略使模型能够自适应地调整图结构,从而更好地适应不同的数据集和调控关系模式。实验结果表明,加入动态更新策略后,模型的预测性能显著提升。

相关文章:

GRN前沿:DGCGRN:基于有向图卷积网络的基因调控网络推理

1.论文原名:Inference of gene regulatory networks based on directed graph convolutional networks 2.发表日期:2024 DGCGRN框架 中心节点和节点的构建 局部增强策略 1. 问题背景 在基因调控网络中,许多节点的连接度较低(即…...

DeepSeek崛起:中国AI产业的颠覆者与重构者

当DeepSeek以"中国版ChatGPT"的标签横空出世时,这个诞生于杭州的AI新贵仅用三个月时间就完成了从行业黑马到颠覆者的蜕变。其开源大模型DeepSeek-R1在HuggingFace开源大模型排行榜的登顶,不仅意味着技术指标的超越,更预示着中国AI产…...

E. Exposition

题目链接:Problem - E - Codeforces 题目大意: 给你一个长度为n的序列,和一个整数k.现让找出所有连续的最长子区间, 其子区间的条件是:在区间里最大值减去最小值之差要小于 k . 输入: 输入数据的第一行包…...

KVM虚拟化快速入门,最佳的开源可商用虚拟化平台

引言 在信息技术飞速发展的时代,服务器资源的高效利用成为企业关注的焦点。KVM 虚拟化作为一种先进的虚拟化技术,在众多虚拟化方案中脱颖而出,为企业实现服务器资源的优化配置提供了有效途径。 以往,物理服务器的资源利用效率较…...

unity删除了安卓打包平台,unityhub 还显示已经安装,怎么解决

解决问题地址 可能由于版本问题文章中这个我没搜到,应该搜Android Build Supprot...

软件工程-软件设计

包括 从管理的观点看包括: 详细设计 概要设计 从技术的观点看包括: 数据设计(详细设计) 系统结构设计(概要设计) 过程设计(详细设计) 任务 分析模型——》设计模型——》设…...

【Viper】配置格式与支持的数据源与go案例

Viper 是一个用于 Go 应用程序的配置管理库,支持多种配置格式和数据源。 安装依赖 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要写在etcd客户端import里 1…...

C++ Primer 参数传递

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...

数据结构 day06

数据结构 day06 6. 双向链表6.3. 双向循环链表 7. 树 tree7.1. 特点7.1.1. 什么是树7.1.2. 树的特性7.1.3. 关于树的一些术语 7.2. 二叉树7.2.1. 什么是二叉树7.2.2. 二叉树的性质7.2.3. 满二叉树和完全二叉树的区别7.2.4. 二叉树的遍历(画图)7.2.5. 二叉…...

AI编程01-生成前/后端接口对表-豆包(或Deepseek+WPS的AI

前言: 做过全栈的工程师知道,如果一个APP的项目分别是前端/后端两个团队开发的话,那么原型设计之后,通过接口文档进行开发对接是非常必要的。 传统的方法是,大家一起定义一个接口文档,然后,前端和后端的工程师进行为何,现在AI的时代,是不是通过AI能协助呢,显然可以…...

01什么是DevOps

在日常开发中,运维人员主要负责跟生产环境打交道,开发和测试,不去操作生产环境的内容,生产环境由运维人员操作,这里面包含了环境的搭建、系统监控、故障的转移,还有软件的维护等内容。 当一个项目开发完毕&…...

力扣100. 相同的树(利用分解思想解决)

Problem: 100. 相同的树 文章目录 题目描述思路Code 题目描述 思路 题目要求判断两个二叉树是否完全相同,而此要求可以利用问题分解的思想解决,即判断当前节点的左右子树是否完全相同,而在二叉树问题分解的一般题目中均会带有返回值&#xff…...

【深度学习模型分类】

深度学习模型种类繁多,涵盖了从基础到前沿的多种架构。以下是主要模型的分类及代表性方法: 1. 基础模型 1.1 多层感知机(MLP) 特点:全连接神经网络,适用于结构化数据。 应用:分类、回归任务…...

el-select 设置宽度 没效果

想实现下面的效果,一行两个,充满el-col12 然后设置了 width100%,当时一直没有效果 解决原因: el-form 添加了 inline 所以删除inline属性 即可...

chrome://version/

浏览器输入: chrome://version/ Google浏览器版本号以及安装路径 Google Chrome131.0.6778.205 (正式版本) (64 位) (cohort: Stable) 修订版本81b36b9535e3e3b610a52df3da48cd81362ec860-refs/branch-heads/6778_155{#8}操作系统Windows…...

反向代理块sjbe

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…...

封装一个sqlite3动态库

作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、项目案例 二…...

P1878 舞蹈课(详解)c++

题目链接:P1878 舞蹈课 - 洛谷 | 计算机科学教育新生态 1.题目解析 1:我们可以发现任意两个相邻的都是异性,所以他们的舞蹈技术差值我们都要考虑,4和2的差值是2,2和4的差值是2,4和3的差值是1,根…...

力扣第一题 哈希解法 O(n)时间复杂度

题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那俩个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返…...

【C++学习篇】C++11

目录 ​编辑 1. 初始化列表{} 1.1 C98中的{} 1.2 C11中的{} 2. C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期 3.4 左值和右值的参数匹配 3.5 右值引⽤和移动语义的使⽤场景 3.5.1 左值引⽤…...

leetcode刷题第十天——栈与队列Ⅱ

本次刷题顺序是按照卡尔的代码随想录中给出的顺序 1047. 删除字符串中的所有相邻重复项 char* removeDuplicates(char* s) {int len strlen(s);char* tmp malloc(sizeof(char) * (len 1));int top -1, idx 0;while(idx < len) {if(top -1) tmp[top] s[idx];else {i…...

Vulnhub靶机随笔-Hackable II

Vulnhub靶机Hackable II详解 攻击机Kali IP:192.168.1.6 靶机 IP:未知 系统:未知 A.信息收集 扫描靶机存活性 确定IP地址 1.命令:arp-scan -l 扫描靶机开放端口及其服务版本信息 2.命令:nmap -A -p- -sV 靶机IP 3.靶机开放三个端口: 21ftp端口:存在anonymous匿…...

适配器模式 + 外观模式联合使用:新旧系统的平滑整合之道

🌟 引言:当系统演进遇到历史包袱 场景痛点: 假设企业需要将老旧的CRM系统与新的SaaS平台整合,面临: 旧系统接口:XML格式+同步调用新系统接口:JSON格式+异步调用需要统一提供简洁的RESTful API给前端若直接修改旧系统: // 旧系统核心类(无法修改) public class Leg…...

九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中&#xff0c;随着数据量的不断增长&#xff0c;单一数据库已难以满足高可用性、扩展性和…...

【第2章:神经网络基础与实现——2.3 多层感知机(MLP)的构建与调优技巧】

在当今科技飞速发展的时代,人工智能早已不是一个陌生的词汇,它已经渗透到我们生活的方方面面,从智能语音助手到自动驾驶汽车,从图像识别到自然语言处理。而支撑这一切的核心技术之一,就是神经网络。作为机器学习领域的璀璨明星,神经网络已经在众多任务中取得了令人瞩目的…...

宠物企业宣传网站静态模板 – 前端静态页面开发实例

该宠物宣传企业站是一个基于前端技术构建的静态网站&#xff0c;旨在为宠物行业的企业提供一个简洁、现代的在线展示平台。整个网站采用HTML、CSS和JavaScript三种技术&#xff0c;确保了良好的用户体验和页面表现。 前端技术&#xff1a; HTML&#xff1a;HTML负责构建网站的…...

git如何下载指定版本

要使用Git下载指定版本&#xff0c;可以通过以下步骤进行操作‌&#xff1a; ‌1. 使用Git命令行下载指定版本‌&#xff1a; 1.1 首先&#xff0c;使用git clone命令克隆整个git库到本地。例如&#xff1a;git clone [库的URL]。这将下载最新的代码到本地。‌ 1.2 进入克隆…...

【第4章:循环神经网络(RNN)与长短时记忆网络(LSTM)——4.2 LSTM的引入与解决长期依赖问题的方法】

在人工智能的璀璨星空中,深度学习模型犹如一颗颗耀眼的星辰,引领着技术的革新。而在处理序列数据的领域中,循环神经网络(RNN)无疑是那颗最为亮眼的星星。然而,即便是这样强大的模型,也面临着一些棘手的问题,其中最突出的便是长期依赖问题。今天,我们就来深入探讨一下长…...

IoTDB 集群节点 IP 改变,如何更新集群

问题 问题1&#xff1a;如果 IoTDB 配置的时候用的 IP&#xff0c;没有用 hostname&#xff0c;后面 IP 修改了&#xff0c;历史数据需要重新导吗&#xff1f; 问题2&#xff1a;如果现场运行 IoTDB 半年&#xff0c;电脑 IP 要改的话&#xff0c;半年的数据要导出来再导入么…...

C++ 设计模式-建造者模式

以下是一个完整的C建造者模式示例&#xff0c;包含产品类、建造者接口、具体建造者、指挥者以及测试代码&#xff1a; #include <iostream> #include <string> #include <memory>// 产品类&#xff1a;汽车 class Car { public:void setBody(const std::str…...