【论文阅读】Simulating 500 million years of evolution with a language model

Simulating 500 million years of evolution with a language model

1、概述

展示了语言模型在蛋白质设计和进化模拟方面的能力。通过对 ESM3 模型的研究,发现其能够生成与自然蛋白质差异较大且具有功能的新蛋白质,如新型绿色荧光蛋白(GFP),表明语言模型可以达到自然进化未探索的蛋白质设计空间,为蛋白质工程和进化研究提供了新的途径和见解。

2、蛋白质与语言模型的背景知识

2.1 蛋白质的进化与特性

蛋白质的的自然进化:经过数十亿年自然进化形成,其模式如同在一个空间中,每个蛋白质通过突变等变化与其他蛋白质相连,进化路径受系统功能维持约束,随机突变和选择塑造其结构和功能。
基因测序调查显示蛋白质序列和结构的多样性,暗示存在潜在的蛋白质生物学语言,可以通过语言模型理解
荧光蛋白特性:GFP家族能形成荧光发色团,无需辅助因子或底物,其独特结构(十一链 β 桶和中心螺旋)使得发色团形成,该过程对突变敏感,少量随机突变即可导致荧光消失,在生物技术中是重要工具。

2.2 蛋白质语言模型的发展

已有多种蛋白质序列语言模型被开发和评估,发现其表示能够反映蛋白质结构和功能,且在无监督学习中学习到,随规模扩大性能提升,如ESM3通过对离散标记的处理和训练,在表示学习和生成应用中取得改进

3、ESM3模型的架构和训练

3.1 架构

3.1.1 总体概述

ESM3是多模态生成模型,对序列、结构和功能等多种模态进行推理,输入通过标记化处理,经过transformer和几何注意力等处理,输出可通过解码器转换为具体形式,如结构标记可解码为原子坐标。
模型采用预训练任务学习蛋白质的深层结构和生物学特性,以解决下一个标记预测任务,从而实现对蛋白质序列、结构和功能的联合建模和生成。

3.1.1.2 具体组成

标记化:所有channel(序列、结构、二级结构、SASA、功能注释、残基注释等等)都表示为标记序列,每个氨基酸位置有特定标记,如序列用29种标记(20种氨基酸+特殊标记),结构标记有4096个+4个特殊标记,功能标记通过对关键词的处理得到等。
输入与前向传播:ESM3能接受多种输入channel,如结构坐标,二级结构标签等,通过嵌入和求和等操作处理后输入transformer块,然后经过回归头得到各个channel的预测结果。
transformer:基于transformer架构改进,采用Pre-LN、旋转嵌入和SwiGLU等,核心修改是在网络第一层插入集和注意力子层,不同规模的模型(ESm3-small、medium、large)有不同的层数和参数设置。
几何注意力:通过处理骨架框架和原子坐标信息,以旋转和平移不变的方式整合几何信息想,实现对蛋白质局部骨架几何的推理,在结构标记编码器和ESM3第一层中使用。
结构标记器:用VQ-VAE编码器将每个残基与一个结构标

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTB:Ignition[WriteUP]

目录 连接至HTB服务器并启动靶机 1.Which service version is found to be running on port 80? 2.What is the 3-digit HTTP status code returned when you visit http://{machine IP}/? 3.What is the virtual host name the webpage expects to be accessed by? 4.…

如何把数组作为参数传递给函数(注意,只是传递数组名)?

直接上代码吧&#xff1a; template<class T, size_t nSize> void printArray(T(&Array)[nSize]) {T* pt Array;for (size_t n 0; n < nSize; n) {cout << *(pt n) << "\t";}cout << "\n"; } int main() {int ia[] {…

CPU飙高如何处理?

测试人员在压测的时候&#xff0c;会对应用进行测试&#xff0c;这个时候会查看cpu、内存、load、rt、qps等指标 CPU利用率是来描述CPU的使用情况的&#xff0c;表明了一段时间内CPU被占用的情况。使用率越高&#xff0c;说明机器在这个时间上运行了很多程序。 如何进行问题定…

【路径规划】多机器人路径规划

摘要 多机器人路径规划在现代自动化、仓储管理及智能交通系统中有着广泛的应用。本文提出了一种基于A*算法的多机器人路径规划方法&#xff0c;旨在解决多机器人在同一环境中的路径冲突问题。通过采用启发式搜索和路径优化策略&#xff0c;机器人能够在保持避障的前提下实现最…

c++----多态(初识)

大家好&#xff0c;今天我们来讲讲我们c中的一个关键知识&#xff0c;叫做多态。但是我们学习多态之前必须将我们前面学习过的继承学习过后才能学习。当然大家可能会先想什么叫多态&#xff0c;我们从名字上上看的话就是多种姿态嘛。毕竟看起来这么容易理解&#xff0c;但其实也…

【Verilog学习日常】—牛客网刷题—Verilog进阶挑战—VL25

输入序列连续的序列检测 描述 请编写一个序列检测模块&#xff0c;检测输入信号a是否满足01110001序列&#xff0c;当信号满足该序列&#xff0c;给出指示信号match。 模块的接口信号图如下&#xff1a; 模块的时序图如下&#xff1a; 请使用Verilog HDL实现以上功能&#x…

设置服务器走本地代理

勾选&#xff1a; 然后&#xff1a; git clone https://github.com/rofl0r/proxychains-ng.git./configure --prefix/home/wangguisen/usr --sysconfdir/home/wangguisen/etcmakemake install# 在最后配置成本地代理地址 vim /home/wangguisen/etc/proxychains.confsocks4 17…

基于基于微信小程序的社区订餐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

macos安装mongodb

文章目录 说明安装和配置安装mongodb配置PATH变量 验证日志及数据存放目录 mac启动和关闭mongodb后台启动失败问题mongodb-compass(GUI) 说明 Homebrew core 列表目前已经将 MongoDB 移除,不再为其提供支持。但是使用国内镜像的brew还是可以安装的&#xff01;这里直接从官网下…

算法笔记(四)——模拟

算法笔记&#xff08;四&#xff09;——模拟 文章目录 算法笔记&#xff08;四&#xff09;——模拟替换所有的问号提莫攻击Z字形变换外观数列数青蛙 模拟算法就是根据题目的要求&#xff0c;题目让干神马就做神马&#xff0c;一步一步来 替换所有的问号 题目&#xff1a;替换…

Tableau数据可视化入门

目录 一、实验名称 二、实验目的 三、实验原理 四、实验环境 五、实验步骤 1、Tableau界面引导 2、数据来源 3、数据预处理操作 4、制作中国各个地区的利润图表 4.1条形图 4.2气泡图 5、制作填充地球图 一、实验名称&#xff1a; 实验一&#xff1a;Tableau数据可…

探索 GraphRAG:从存储到查询,深入解析 NebulaGraph 与传统 SQL 的对比

近年来&#xff0c;图数据库逐渐成为大数据和人工智能领域的热议话题。特别是随着 GraphRAG 技术的火爆&#xff0c;如何高效存储和查询大规模图数据成为很多开发者关心的问题。出于好奇&#xff0c;我最近尝试了 GraphRAG 并研究其存储结构&#xff0c;因此决定进一步探索图数…

初识算法 · 双指针(2)

目录 前言&#xff1a; 盛最多水的容器 题目解析&#xff1a; 算法原理&#xff1a; 算法编写&#xff1a; 有效三角形的个数 题目解析&#xff1a; 算法原理&#xff1a; 算法编写&#xff1a; 前言&#xff1a; 本文介绍两个题目&#xff0c;盛最多水的容器和有效三…

C语言复习概要(三)

本文 使用Visual Studio进行调试的技巧与函数递归详解1. 引言2. Visual Studio 调试技巧2.1. 断点的使用2.1.1. 基本断点示例&#xff1a;设置基本断点 2.1.2. 条件断点示例&#xff1a;条件断点 2.2. 逐步执行代码示例&#xff1a;逐步执行代码 2.3. 监视变量使用监视窗口 2.4…

第十一章 缓存

目录 一、什么是缓存 二、缓存更新策略 2.1. 缓存主动更新策略 2.1.1. Cache Aside模式&#xff08;主流&#xff09;‌ 2.1.2. Read/Write Through模式‌ 2.1‌.3. Write Behind模式‌ 2.1.4. 总结 三、缓存穿透 四、缓存雪崩 五、缓存击穿 本文中的图片内容部分来源…

训练验证器解决数学应用题

人工智能咨询培训老师叶梓 转载标明出处 数学问题解决不仅要求模型能够理解问题的语言表述&#xff0c;还要求其能够准确地执行一系列数学运算&#xff0c;每一步的准确性都至关重要。遗憾的是&#xff0c;现有的语言模型在这一领域的性能远远未能达到人类的水平&#xff0c;它…

【Python|接口自动化测试】使用requests发送http请求时添加headers

文章目录 1.前言2.HTTP请求头的作用3.在不添加headers时4.反爬虫是什么&#xff1f;5.在请求时添加headers 1.前言 本篇文章主要讲解如何使用requests请求时添加headers&#xff0c;为什么要加headers呢&#xff1f;是因为有些接口不添加headers时&#xff0c;请求会失败。 2…

Windows上 minGW64 编译 libssh2库

下载libssh2库:https://libssh2.org/download/libssh2-1.11.0.zip 继续下载OpenSSL库: https://codeload.github.com/openssl/openssl/zip/refs/heads/OpenSSL_1_0_2-stable

java中创建不可变集合

一.应用场景 二.创建不可变集合的书写格式&#xff08;List&#xff0c;Set&#xff0c;Map) List集合 package com.njau.d9_immutable;import java.util.Iterator; import java.util.List;/*** 创建不可变集合:List.of()方法* "张三","李四","王五…

SpringBoot中间件Docker

Docker&#xff08;属于C/S架构软件&#xff09; 简介与概述 1.Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux …