AI蛋白质设计与人工智能药物设计
AI蛋白质设计与人工智能药物设计
AI蛋白质设计
一、蛋白质相关的深度学习简介
1.基础概念
1.1.机器学习简介:从手写数字识别到大语言模型
1.2.蛋白质结构预测与设计回顾
1.3.Linux简介
1.4.代码环境:VS code和Jupyter notebook*
1.5.Python关键概念介绍*
2.常用的分析/可视化蛋白质及相关分子的方法
2.1.常用数据库与同源序列搜索和MSA构建
2.2.使用pymol和Mol可视化蛋白质结构
2.3.使用biopython与biotite分析生物序列与结构数据*
2.4.使用fpocket与point-site分析蛋白质结构口袋*
3.深度学习蛋白质设计与传统蛋白质设计之间的差异
3.1.深度学习的本质
3.2.传统方法:全原子能量函数Rosetta与统计势
3.3.深度学习:几何深度学习
3.4.深度学习与传统的物理方法的互补性
3.5.深度学习蛋白质设计的优越性
4.蛋白质语言模型
4.1.语言模型:从RNN到Transformers
4.2.理解蛋白质语言
4.3.生成式蛋白质语言模型
4.4.结构模型与语言模型的比较分析
5.基于深度学习的蛋白质功能与性质预测
5.1.蛋白质功能分类预测*
5.2.信号肽、跨膜区、亚细胞定位预测
5.3.蛋白质同源结构搜索
5.4.酶活性位点预测
二、深度学习与蛋白质结构预测
1.传统蛋白质(复合物)结构预测
1.1.使用modeller、swiss-model进行同源建模
1.2.基于分子动力学的从头建模
1.3.分子对接加入非蛋白质部分,AutoDock Vina实际操作*
2.现代深度学习用于蛋白质结构预测
2.1.RaptorX:从计算机视觉到蛋白质结构
2.2.AlphaFold2
2.3.AlphaFold3:生成式结构预测
2.4.ESMFold:语言模型与结构预测的融合
3.AlphaFold2 原理回顾
3.1.从共进化到结构
3.2.注意力机制
3.3.EvoFormer
3.4.Structural Module
4.AlphaFold3 介绍
4.1.扩散模型
4.2.训练数据
4.3.AlphaFold3 的成绩与不足
5.AlphaFold2/3 实际操作与结果分析
5.1.AlphaFold2实操*
5.2.AlphaFold2分析*
5.3.AlphaFold server使用*
5.4.本地版的AlphaFold3*
5.5.AlphaFold3分析*
6.ESMFold
6.1.从语言模型到结构预测
6.2.什么时候使用ESMFold,什么时候使用AlphaFold
6.3.ESMFold使用*
三、固定主链蛋白质序列设计
1.传统的蛋白质序列设计
1.1.基于全原子力场*
1.2.基于统计势
2.融入结构知识的语言模型设计蛋白质序列
2.1.ESM-IF原理介绍
2.2.ESM-IF的应用*
3.基于CNN的序列设计
3.1.CNN原理简介
3.2.DenseCPD设计方法
3.3.有侧链构象的设计方法
4.基于GNN设计序列
4.1.ProteinMPNN 的成功经验分析
4.2.ProteinMPNN 的广泛应用
4.3.ProteinMPNN 实际操作*
5.其他的序列设计模型
5.1.ABACUS-R 简介与实际操作*
5.2.CarbonDesign 从结构预测来到序列设计去*
5.3.CARBonAra 环境感知的序列设计*
6.固定主链序列设计在功能蛋白设计中的应用
6.1.新骨架蛋白质表达量优化(Science文章复现)*
6.2.抗体亲和力优化(Science文章复现)*
6.3.结合进化信息的酶性质全方位优化(JACS文章复现)*
四、深度学习蛋白质结构设计
1.传统思路回顾
1.1.结构域拼接
1.2.SCUBA:无侧链的蛋白质力场
2.基于蛋白质表面几何深度学习的binder设计
2.1.masif原理简介
2.2.masif用于识别蛋白表面的PPI热点
2.3.masif设计binder
3.基于扩散模型的蛋白质骨架设计模型
3.1.FrameDiff:基于IPA的主链生成*
3.2.Chroma:等变图神经网络结构设计
3.3.RFDiffusion:基于RosettaFold
3.4.RFDiffusion-All-Atom:基于RosettaFold-All-Atom
4.序列-结构共设计
4.1.trDesign
4.2.AlphaFold Hallucination
4.3.Rfjoint
4.4.Protein Generator
5.结合蛋白从头设计Nature Communication文章流程*
5.1.功能表位的选取
5.2.带限制条件的骨架生成
5.3.迭代优化
6.荧光素酶结构从头设计
6.1.Theozyme理论解释
6.2.骨架生成策略
6.3.活性位点设计与活性进化
五、面向功能的蛋白质序列设计
1.语言的深度学习建模方法
1.1.Transformer
1.2.BERT: Bidirectional Encoder Representations from Transformers
1.3.GPT: Generative Pre-trained Transformers
2.蛋白质语言模型的代表:ESM
2.1.模型框架
2.2.ESM系列工作:ESM-1/2,MSA Transformer,ESM3
2.3.ESM模型实际操作*
3.基于蛋白质语言模型的功能蛋白设计
3.1.预训练+微调的范式
3.2.条件式生成模型:Progen与ZymCTRL
3.3.Progen案例分析
3.4.上手微调ZymCTRL*
4.非自回归的序列生成模型
4.1.ProteinGAN:生成序列
4.2.DeepEvo:生成耐热酶
4.3.Prot-VAE
4.4.P450Diffusion:基于扩散模型设计功能P450*
5.功能蛋白生成后的评估指标
5.1.天然序列相似性评估*
5.2.多样性评估*
5.3.结构合理性评估*
六、基于深度学习的蛋白质挖掘与改造应用
1.酶学性质预测
1.1.DLKcat与GotEnzyme数据库介绍
1.2.UniKP:利用预训练模型挖掘、改造Kcat*
1.3.CLEAN:基于对比学习的EC号预测挖掘稀有脱卤酶*
2.蛋白质热稳定性改造
2.1.MutCompute介绍
2.2.利用MutCompute改造PETase(Nature)*
2.3.ThermoMPNN介绍与使用*
2.4.Pythia介绍与使用*
3.机器学习辅助定向进化/蛋白质工程
3.1.零样本突变效应预测原理
3.2.零样本改造基因编辑酶*
3.3.Low-N策略用于蛋白质工程
3.4.预训练模型的Evo-tuning*
3.5.ECNet介绍
3.6.蛋白质相互作用中的突变效应预测
4.针对自己的实验数据,训练自己的神经网络*
4.1.神经网络训练框架
4.2.数据收集、整理
4.3.特征提取方式
4.4.预训练模型的选取
4.5.模型训练、测试
4.6.新突变的预测
5.深度学习辅助的新酶挖掘*
5.1.基因编辑脱氨酶挖掘(Cell工作复现)
5.2.耐热塑料水解酶挖掘(Nature Communications
5.3.使用FoldSeek进行基于结构的挖掘
AIDD人工智能药物发现与设计
一、搭建和爬取数据库
- AIDD概述及药物综合数据库介绍
- 人工智能辅助药物设计AIDD概述
- 安装环境
- (1) anaconda
- (2) vscode
- (3) pycharm
- (4) 虚拟环境
- 第三方库基本使用方法
- (1) numpy
- (2) pandas
- (3) matplotlib
- (4) requests
- 多种药物综合数据库的获取方式
- (1) KEGG(requests爬虫)
- (2) Chebi(libChEBIpy)
- (3) PubChem(pubchempy / requests)
- (4) ChEMBL(chembl_webresource_client)
- (5) BiGG(curl)
- (6) PDB(pypdb)
二、 ML-based AIDD
- 机器学习
- (1) 机器学习种类:
- ① 监督学习
- ② 无监督学习
- ③ 强化学习
- (2) 典型机器学习方法
- ① 决策树
- ② 支持向量机
- ③ 朴素贝叶斯
- ④ 神经网络
- ⑤ 卷积神经网络
- (3) 模型的评估与验证
- (4) 分类评估:准确率、精确率、召回率、F1分数、ROC曲线、AUC计算
- (5) 回归评估:平均绝对误差、均方差、R2分数、可释方差分数
- (6) 交叉验证
- (1) 机器学习种类:
- sklearn工具包基本使用
- rdkit工具包的基本使用
- 化合物编码方式和化合物相似性理论知识
- 项目实战1:基于ADME和Ro5的分子筛选
- 项目实战2:基于化合物相似性的配体筛选
- 项目实战3:基于化合物相似性的分子聚类
- 项目实战4: 基于机器学习的生物活性预测
- 项目实战5:基于机器学习的分子毒性预测
三、GNN-based AIDD
- 图神经网络
- (1) 框架介绍: PyG,DGL,TorchDrug
- (2) 图神经网络消息传递机制
- (3) 图神经网络数据集设计
- (4) 图神经网络节点预测、图预测任务和边预测任务实战
- 论文精讲:DeepTox: Toxicity Prediction using Deep Learning
- 项目实战1:基于图神经网络的分子毒性预测
- (1) SMILES分子数据集构建PyG图数据集
- (2) 基于GNN进行分子毒性预测
- 项目实战2:基于图神经网络的蛋白质-配体相互作用预测
- (1) 蛋白质分子图形化,构建PyG图数据集
- (2) 基于GIN进行网络搭建及相互作用预测
四、NLP-based AIDD
- 自然语言处理
- (1) Encoder-Decoder模型
- (2) 循环神经网络 RNN
- (3) Seq2seq
- (4) Attention
- (5) Transformer
- 项目实战1:基于自然语言的分子毒性预测
- (1) SMILES分子数据集词向量表示方法
- (2) 基于NLP模型进行分子毒性预测
- 项目实战2:基于Transformer的有机化学反应产量预测 (Prediction of chemical reaction yields using deep learning)
五、分子生成与药物设计
- 蛋白质数据库介绍与相关数据爬取
- (1) PDB数据库
- (2) UniProt数据库
- 蛋白质相关药物设计项目实战
- 项目实战 (1):基于RDKit的生化反应与蛋白质基本处理
- 项目实战 (2):基于序列的蛋白质属性预测
- 项目实战 (3):基于结构的蛋白质属性预测
- 项目实战 (4):基于NGLView可视化的蛋白质-配体相互作用
- 项目实战 (5):基于机器学习的蛋白质-配体相互作用亲和力预测
- 项目实战 (6):基于蛋白质三维结构使用原子卷积网络的进行蛋白质-配体相互作用预测
相关文章:
AI蛋白质设计与人工智能药物设计
AI蛋白质设计与人工智能药物设计 AI蛋白质设计 一、蛋白质相关的深度学习简介 1.基础概念 1.1.机器学习简介:从手写数字识别到大语言模型 1.2.蛋白质结构预测与设计回顾 1.3.Linux简介 1.4.代码环境:VS code和Jupyter notebook* 1.5.Python关键概…...

IOS ARKit进行图像识别
先讲一下基础控涧,资源的话可以留言,抽空我把它传到GitHub上,这里没写收积分,竟然充值才能下载,我下载也要充值,牛! ARSCNView 可以理解画布或者场景 1 配置 ARWorldTrackingConfiguration AR追…...

初级数据结构——二叉搜索树
目录 前言一、定义二、基本操作三、时间复杂度分析四、变体五、动态图解六、代码模版七、经典例题[1.——700. 二叉搜索树中的搜索](https://leetcode.cn/problems/search-in-a-binary-search-tree/)代码题解 [2.——938. 二叉搜索树的范围和](https://leetcode.cn/problems/ra…...
C++设计模式之组合模式中如何实现同一层部件的有序性
在组合模式中,为了实现同一层上部件的有序性,可以采取以下几种设计方法: 1. 使用有序集合 使用有序集合(如 std::list、std::vector 或其他有序容器)来存储和管理子部件。这种方法可以确保子部件按照特定顺序排列&am…...
duxapp RN 端使用AppUpgrade 进行版本更新
版本更新包含了组件和工具的组合 注册 下面这是 duxcms 入口文件检查更新的注册方法,注册的同时会检查更新 import {request,updateApp,userConfig } from ./utils// 检查app更新 setTimeout(async () > {if (process.env.TARO_ENV rn) {// eslint-disable-n…...

【计网】自定义序列化反序列化(三) —— 实现网络版计算器【下】
🌎实现网络版计算器【下】 本次序列化与反序列化所用到的代码,Tcp服务自定义序列化反序列化实现网络版计算器。 文章目录: 实实现网络版计算器【下】 客户端实现 基于守护进程的改写 🚀客户端实现 在这之前,…...
神经网络中的优化方法(一)
目录 摘要Abstract1. 与纯优化的区别1.1 经验风险最小化1.2 代理损失函数1.3 批量算法和小批量算法 2. 神经网络中优化的挑战2.1 病态2.2 局部极小值2.3 高原、鞍点和其他平坦区域2.4 悬崖和梯度爆炸2.5 长期依赖2.6 非精确梯度2.7 局部和全局结构间的弱对应 3. 基本算法3.1 随…...

Linux 计算机网络基础概念
目录 0.前言 1.计算机网络背景 1.1 独立模式 1.2 网络互联 1.3 局域网(Local Area Network,LAN) 1.4 广域网(Wide Area Network,WAN) 2.协议 2.1什么是协议 2.2协议分层和软件分层 2.3 OSI七层网络模型 2.3…...

qt QGraphicsEllipseItem详解
1、概述 QGraphicsEllipseItem是Qt框架中QGraphicsItem的一个子类,它提供了一个可以添加到QGraphicsScene中的椭圆项。QGraphicsEllipseItem表示一个带有填充和轮廓的椭圆,也可以用于表示椭圆段(通过startAngle()和spanAngle()方法ÿ…...
Python websocket
router.websocket(/chat/{flow_id}) 接口代码,并了解其工作流程、涉及的组件以及如何基于此实现你的新 WebSocket 接口。以下内容将分为几个部分进行讲解: 接口整体概述代码逐行解析关键组件和依赖关系如何基于此实现新功能示例:创建一个新的…...

【MySQL-5】MySQL的内置函数
目录 1. 整体学习的思维导图 2. 日期函数 编辑 2.1 current_date() 2.2 current_time() 2.3 current_timestamp() 2.4 date(datetime) 2.5 now() 2.6 date_add() 2.7 date_sub() 2.8 datediff() 2.9 案例 2.9.1 创建一个出生日期登记簿 2.9.2 创建一个留言版 3…...

深度学习笔记之BERT(三)RoBERTa
深度学习笔记之RoBERTa 引言回顾:BERT的预训练策略RoBERTa训练过程分析静态掩码与动态掩码的比较模型输入模式与下一句预测使用大批量进行训练使用Byte-pair Encoding作为子词词元化算法更大的数据集和更多的训练步骤 RoBERTa配置 引言 本节将介绍一种基于 BERT \t…...
C++知识点总结(59):背包型动态规划
背包型动态规划 一、背包 dp1. 01 背包(限量)2. 完全背包(不限量)3. 口诀 二、例题1. 和是质数的子集数2. 黄金的太阳3. 负数子集和4. NASA的⻝物计划 一、背包 dp 1. 01 背包(限量) 假如有这几个物品&am…...

C++:反向迭代器的实现
反向迭代器的实现与 stack 、queue 相似,是通过适配器模式实现的。通过传入不同类型的迭代器来实现其反向迭代器。 正向迭代器中,begin() 指向第一个位置,end() 指向最后一个位置的下一个位置。 代码实现: template<class I…...
webGL入门教程_04vec3、vec4 和齐次坐标总结
vec3、vec4 和齐次坐标总结 1. vec3 和 vec4 1.1 什么是 vec3 和 vec4? vec3: GLSL 中的三维向量类型,包含 3 个浮点数:(x, y, z)。常用于表示三维坐标、RGB 颜色、法线、方向等。 vec4: GLSL 中的四维向量类型&…...

uniapp中父组件数组更新后与页面渲染数组不一致实战记录
简单描述一下业务场景方便理解: 商品设置功能,支持添加多组商品(点击添加按钮进行增加).可以对任意商品进行删除(点击减少按钮对选中的商品设置进行删除). 问题: 正常添加操作后,对已添加的任意商品删除后,控制台打印数组正常.但是与页面显示不一致.已上图为例,选中尾…...
优化 Conda 下载速度:详细的代理配置和网络管理策略
优化 Conda 下载速度:详细的代理配置和网络管理策略 为了彻底解决使用 Conda 下载 PyTorch 时遇到的速度问题,并确保下载过程稳定可靠,这需要一个详细、综合的技术方案。让我们更深入地分析问题原因,然后详尽地解释采取的解决策略…...

服务器遭受DDoS攻击后如何恢复运行?
当服务器遭受 DDoS(分布式拒绝服务)攻击 后,恢复运行需要快速采取应急措施来缓解攻击影响,并在恢复后加强防护以减少未来攻击的风险。以下是详细的分步指南: 一、应急处理步骤 1. 确认服务器是否正在遭受 DDoS 攻击 …...

MFC音视频播放器-支持电子放大等功能
前言 本播放器在VS2019下开发,使用ffmpegD3D实现视频播放渲染功能。同时本播放器支持录像功能、截图功能、音视频播放功能、码流信息显示、电子放大功能等。D3D的渲染同时支持surface和texture两种方式,电子放大功能是在D3D Texture方式下进行实现。以下…...
c语言编程1.17蓝桥杯历届试题-回文数字
题目描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...