【2021研电赛】基于深度学习的蛋白质与化合物结合性质预测
本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取!

获奖情况:三等奖
1.作品简介
针对药物发现过程中的药物筛选问题,本设计基于深度学习提出新的神经网络结构和数据处理方式用于预测蛋白质与化合物之间的结合性质。与其他预测方法相比,在数据编码方式上,我们对氨基酸的单独特征和氨基酸处于氨基酸序列中表现出的特征分别进行了建模,使用了多组可学习的特征嵌入对氨基酸进行编码,并使用类似注意力机制的方式从多组特征嵌入获得氨基酸序列的特征嵌入,在网络结构上,我们利用卷积网络、图卷积网络、transformer和多层感知机在处理不同类型数据时所拥有的优势,将不同类型的网络相结合从而充分发挥不同网络的各自优势,建模了蛋白质化学性质与其氨基酸序列的关系、化合物的化学性质与其分子三维空间结构之间的关系以及蛋白质与化合物之间的结合关系。
2.算法介绍
我们利用深度学习技术,训练神经网络完成对蛋白质和化合物的结合性质预测。所设计的神经网络整体结构如图2-1所示。整个神经网络可以被分为三个部分,分别为蛋白质特征提取模块、化合物特征提取模块以及预测模块。其中,蛋白质特征提取模块从氨基酸序列中提取蛋白质的化学性质,得到蛋白质的全局描述;化合物特征提取模块从化合物的图中提取化合物的化学性质,得到化合物的全局性描述;预测模块则根据蛋白质的全局描述和化合物的全局描述判断蛋白质与化合物是否能够相互结合。
3.作品创新
① 为了能够表达氨基酸自身特征以及氨基酸相互组合的特征,我们将蛋白质编码直接编码为可学习的query、key和value,通过类似自注意力(self-attention)的方式完成对具体蛋白质的编码。
② 为了适配化合物分子的图结构,我们使用图卷积网络从化合物中提取特征,并且在图卷积层之间增加残差连接以防止图卷积对图信号的过平滑效应。
③ 使用线性与双线性将结合的方式完成对蛋白质特征和化合物特征的整合。
4.算法流程图

5.未来展望
本设计基于深度学习提出了新的神经网络结构和数据处理方式用于预测蛋白质与化合物之间的结合性质。我们首先使用合适的方式对蛋白质和化合物进行编码,尽量在特征编码中反映出蛋白质和化合物的关键特点,然后针对拥有不同数据结构蛋白质特征和化合物特征,应用不同类型的神经网络对数据进行适配,以尽量从数据中提取关键信息,最后我们使用ROC曲线与AUC对最终模型的预测性能进行了评估。
我们的设计实现了预期功能,完成了以下目标:
① 对于蛋白质和化合物的编码方式能够成功应用于神经网络的训练,说明所提出的特征编码方式是有效的。
② 神经网络在经过训练后,在测试数据集中又有一定的泛化能力,说明我们所提出的多种类型结合的神经网络能够从蛋白质和化合物中提取关键特征并用于判断两者的结合性质。
我们的设计虽然达成了与其功能,但是仍存在一些缺点和有待进一步探究的问题:
① 我们设计的神经网络虽然具有一定的泛化性能,但是仍然有待提高,因为在实际应用过程中,蛋白质与化合物之间能够反映的几率很小,也就是正负样本比例非常低,因此如果需要将模型投入实际应用,需要模型对于正样本具有很强的识别能力。
② 虽然间接的证明了我们对蛋白质和化合物的编码方式以及数据处理方式是有效的,但是无法分析这些编码方式和处理方式奏效的原因,如果能够分析这些原因,就可以有根据的对神经网络进行改进,从而提高性能,增加实际应用价值。
更多研电赛作品请查看2021年研电赛获奖作品合集
相关文章:
【2021研电赛】基于深度学习的蛋白质与化合物结合性质预测
本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取! 获奖情况:三等奖 1.作品简介 针对药物发现过程中的药物筛选问题,本设计基于深度学习提出新的神经网络结构和数据处理方式用于预测蛋白质与化合物之…...
物联网中的毫米波雷达:连接未来的智能设备
随着物联网(IoT)技术的飞速发展,连接设备的方式和效能变得越来越重要。毫米波雷达技术作为一种先进的感知技术,正在为物联网设备的连接和智能化提供全新的可能性。本文将深入探讨毫米波雷达在物联网中的应用,以及它是如…...
软件外包开发需求文档编写
软件外包开发需求文档是指导整个外包项目开发流程的关键文件,外包开发需求文档可能还包括修订历史记录、项目术语表、附录等其他有助于项目团队理解和实现需求的信息。它通常包含以下内容,希望对大家有所帮助。北京木奇移动技术有限公司,专业…...
Java算法(五):手写数组逆置API方法,实现数组逆置。 while实现 for循环实现
Java算法(五) while 循环实现 需求: 已知一个数组,arr {11, 22, 33, 44, 55};使用程序实现把数组中的元素交换位置。 交换后的数组为 arr {55, 44, 33, 22, 11}; 并在控制台输出交换后的数组元素。 代码示例 package com.…...
Vue el-table序号与复选框hover切换
效果图下: <template><div class"container"><el-tableref"multipleTable"id"multipleTable":data"person.tableData"cell-mouse-enter"cellEnter"cell-mouse-leave"cellLeave"selecti…...
【Bug】Access to the path ‘xxx‘ is denied.
文章目录 问题问题代码原因解决拓展处理Bug的具体步骤 问题 exception has been thrown by the target of an invocation.System.UnauthorizedAccessException: Access to the path ‘D:\WebSiteStaging\02Maint\wwwroot\Upload\XXX\Tables\Other\1d2724af-9584-4fee-b828-6f8…...
郑州市管城回族区政协副主席张惠云一行莅临中创算力调研指导工作
为促进企业健康发展,服务管城区企业。2023年11月8日,郑州市管城区政协副主席、工商联主席张惠云带队赴河南中创算力信息科技有限公司进行走访调研。 中创算力董事长许伟威、技术总监刘朝阳陪同考察。此次调研旨在深入了解中创算力的发展情况,…...
SAE 2.0,让容器化应用开发更简单
云原生容器化应用托管模式的演变 云原生这个概念从提出,到壮大,再到今天的极大普及,始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的,应用通…...
Apache Storm 2.5.0 单机安装与配置
1、下载storm 2.5.0 2、需要安装python3,并且设置python3的环境变量 3、修改storm.yaml配置 storm.zookeeper.servers:- "node4" # - "server2" # # nimbus.seeds: ["host1", "host2", "host3"] # nimbus…...
4-爬虫-selenium(等待元素加载、元素操作、操作浏览器执行js、切换选项卡、前进后退异常处理)、xpath、动作链
1 selenium等待元素加载 2 selenium元素操作 3 selenium操作浏览器执行js 4 selenium切换选项卡 5 selenium前进后退异常处理 6 登录cnblogs 7 抽屉半自动点赞 8 xpath 9 动作链 10 自动登录12306 上节回顾 # 1 bs4 解析库---》xml(html)-遍历文档树-属性 文本 标签名-搜索文…...
矩阵键盘独立接口设计(Keil+Proteus)
前言 实验:通过4*4的矩阵键盘,按下某个按钮之后会在数码管上面显示对应的键号。(0~F) 基础操作参考这篇博客: LED数码管的静态显示与动态显示(KeilProteus)-CSDN博客https://blog.csdn.net/w…...
国产猫罐头可以作为长期主食吗?口碑好的顶级猫罐头推荐
我一直在分析和尝试国产猫罐头,我家猫已经吃了几十款了。今天,我想和大家分享一些关于国产猫罐头的经验和心得。 近年来,国产宠粮市场呈现出爆发趋势,各个猫粮商在配方、营养数据和包装上展开了激烈的角逐,无一不让我…...
大数据毕业设计选题推荐-营业厅营业效能监控平台-Hadoop-Spark-Hive
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
CSS的Grid布局与Flex布局
Grid布局 Grid布局是一种CSS布局模式,它使用一个二维的网格系统来定位元素。它允许您将容器分为行和列,然后将元素放置在特定的行和列中。Grid布局非常适合创建复杂的网页布局和对齐元素。 以下是grid布局的基本语法: .container { displ…...
常见React Hooks 钩子函数用法
一、useState useState()用于为函数组件引入状态(state)。纯函数不能有状态,所以把状态放在钩子里面。 import React, { useState } from react import ./Button.cssexport function UseStateWithoutFunc() {const [name, setName] useStat…...
AlGaN/GaN HEMT 中缓冲区相关电流崩溃的缓冲区电位模拟表征
标题:Characterization of Buffer-Related Current Collapse by Buffer Potential Simulation in AlGaN/GaN HEMTs 来源:IEEE TRANSACTIONS ON ELECTRON DEVICES (18年) 摘要 - 在本文中,通过使用脉冲 I-V 测量和二维漂移扩散模拟研究了 Al…...
深入理解ClickHouse跳数索引
一、跳数索引 影响ClickHouse查询性能的因素很多。在大多数场景中,关键因素是ClickHouse在计算查询WHERE子句条件时是否可以使用主键。因此,选择适用于最常见查询模式的主键对于表的设计至关重要。 然而,无论如何仔细地调优主键ÿ…...
ElasticSearch中实际操作细节点
ElasticSearch中的细节点 文章目录 ElasticSearch中的细节点1、提示:1.1 ElasticSearch相关文档:1.2 Kibana的常用快捷键1.3 kibana的注释方式 2、term与terms的用法以及区别3、ElasticSearch中"index":"false","doc_values&qu…...
VCG 获取指定面片与顶点的索引
文章目录 一、介绍二、实现代码三、实现效果参考资料一、介绍 VCG Lib存在许多中方式对Mesh数据进行编码,其中最为常用的为顶点+三角形(比如三角形网格以及四面体网格)。VCG关于Mesh的定义如下所示: vcg::tri::TriMesh 包含顶点的容器类型(通常是std::vector),具体的顶点…...
开发知识点-Django
Django 1 了解简介2 Django项目结构3 url 地址 和视图函数4 路由配置5 请求及响应6 GET请求和POST请求查询字符串 7 Django设计模式及模板层8 模板层-变量和标签9 模板层-过滤器和继承继承 重写 10 url反向解析11 静态文件12 Django 应用及分布式路由创建之后 注册 一下 13 模型…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
