单细胞组学大模型(8)--- scGenePT,scGPT和GenePT的结合,实验数据和文本数据的交融模型


–https://doi.org/10.1101/2024.10.23.619972

研究团队和单位

Theofanis Karaletsos–Head Of AI - Science at Chan Zuckerberg Initiative

(Chan Zuckerberg Initiative是扎克伯格和他妻子Chan成立的科研&教育机构)

研究简介

研究背景:


–https://doi.org/10.1038/s41551-024-01284-6

GenePT模型中已经证明使用基因的文本信息(NCBI gene数据库中对基因的描述),可以执行细胞聚类、基因调控网络和疾病状态预测的生物学任务,但并没有做对基因扰动预测的任务。

所以,scGenePT模型是把基因文本数据和单细胞测序数据结合起来,实现更好的基因扰动预测的任务。基因文本信息包含:NCBI基因card的描述、Uniport数据库的蛋白描述、基因功能注释。

这一切都是基于已有的大语言模型(chatGPT、Gemini、Deepseek等),能够理解基因的文本所代表的含义,理解基因的功能差异和表达模式,进而能够为实验数据比如scRNA-seq提供额外的信息。

研究目的

基因扰动预测的任务通常从两个角度来解决:要么是基础模型,在预训练期间大规模地从数据中学习表示,然后针对扰动预测作为下游任务进行微调(例如 scGPT);要么是专门的模型,从较小规模、更精选的数据中学习,并将特定的任务相关结构化信息直接嵌入到模型架构中(例如 GEARS)。

文章研究目的是想证明:

  • (1) 能否构建足够强大的模型来学习特定于专门任务的结构化生物学信息,而无需将其硬编码到模型架构中?
  • (2) 使用语言文本来补充实验数据的多模态方法能否帮助我们实现这一目标?
  • (3) 精选放入模型中的知识是否会产生重大影响?

因此作者采用了一个仅在 scRNA-seq count上训练的预训练基础模型 scGPT,并在基因水平上将语言注入到模型架构中。每个基因都通过 LLM embedding获得文本表示,该embedding聚合了来自各种先验知识的基因信息。

研究结果

  • (1) 在单细胞扰动建模中,GO信息为生物学学习的基因表示提供了附加的和互补的价值。
  • (2) 文本基因表示不如生物学学习的基因表示强大,但提供了有用的信息。
  • (3) 不同类型的文本知识提供不同类型的先验信息。在测试的数据集中,GO 注释在单基因扰动中帮助最大,而 NCBI 蛋白质描述为基因相互作用的扰动效应建模提供了更好的帮助。
  • (4) 通过仔细地管理我们引入到 scGPT 转录组基础模型中的辅助语言编码数据,我们可以达到甚至有时超过将结构化信息明确地硬编码到模型架构中的定制模型的性能。

1.方法

1.1 扰动模型的概念

扰动有很多种类型——遗传扰动(例如 CRISPR)、化学扰动(例如药物治疗)、环境扰动、感染(例如病毒)、自然等位基因变异(例如基因突变)。

在基于转录组学的模型中,更多是关注于遗传扰动,对基因进行敲除(降低基因表达值或表达值弄成0)。怎么理解这个扰动模型的过程呢:

  • 1.扰动模型实际上是对预训练好的模型进行微调。预训练模型是在完整基因表达下进行训练的,已经学到了基因之间的关系,不同基因表达值的分布对其它基因的影响。
  • 2.扰动就是把基因的表达值mask掉,或者做扰动token把需要扰动的基因标记上,把扰动token做成embedding,在把数据输入到模型之前,和原本预训练模型的输入进行矩阵运算(一般是加和)。
  • 3.让模型进行计算,预测扰动后的基因表达矩阵。
  • 4.最后统计哪些基因在扰动后表达值变化很大,则该基因和扰动基因有很强的关联性。


正如scGPT模型中的condition token,它等于扰动token。

1.2 原本的scGPT模型输入:

基因扰动表示如下:如果要扰动该基因,则标签为0,如果不扰动则为1(扰动的基因是自定义的),一般一次只扰动1到2个基因。

scGPT的输入是由3部分组成:基因token的embedding、基因表达值的embedding和基因扰动embedding:

这样一个细胞 t t t 的embedding就是:

然后把细胞embedding输入到scGPT的transformer架构中进行扰动后基因表达值的预测:

对应图中scGenePT的部分为:

1.3 基因文本数据示例

NCBI对基因的描述:

NCBI对基因的描述+UniProtKB对蛋白的描述:

Gene Ontology包含基因分子功能描述、分子组成描述和生物学过程描述:

1.4 融入基因文本embedding示例:

现在是4种基因的embedding进行加和,加和后构架成细胞embedding输入到scGPT原本的模型当中。

文本的embedding用GPT-3.5-text-embedding-ada-002模型生成。

最后的基因embedding是:

然后输入到scGPT的模型中:

1.5 scGenePT模型架构


综合上面所描述的,scGenePT模型的架构由scGPT和GenePT组合而成。

1.6 模型训练

模型是在GPU H100上基于scGPT进行微调的,训练数据为全人类基因组数据集。每个实验均运行了5次,每次使用不同的随机种子。

模型大部分超参数与scGPT保持一致。

在训练过程中,每个对照样本(即未经扰动的样本)会与一个扰动(湿实验测量结果)及其对应的模型扰动(即扰动后的基因表达数据)配对。前者是为“真实值”,后者是预测值。模型的目标是学习如何从对照样本和扰动信息中预测扰动后的基因表达数据。

对于每个对照/扰动对,研究随机抽取n=1536个基因,并通过最小化所有采样基因的真实值与预测扰动响应之间的均方误差(MSE)来进行训练,最后选择在验证数据上MSE损失最低的模型作为最佳模型。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

kafka原理和实践

Kafka是当前分布式系统中最流行的消息中间件之一,凭借着其高吞吐量的设计,在日志收集系统和消息系统的应用场景中深得开发者喜爱。本篇就聊聊Kafka相关的一些知识点。主要包括以下内容: Kafka简介 Kafka特点Kafka基本概念Kafka架构Kafka的几…

CSS | 实现三列布局(两边边定宽 中间自适应,自适应成比)

目录 示例1 (中间自适应 示例2(中间自适应 示例3(中间自适应 示例4 (自适应成比 示例5(左中定宽,右边自适应 示例6(中间自适应 示例7(中间自适应 示例8(中间定宽…

【大数据】机器学习------神经网络模型

一、神经网络模型 1. 基本概念 神经网络是一种模拟人类大脑神经元结构的计算模型,由多个神经元(节点)组成,这些节点按照不同层次排列,通常包括输入层、一个或多个隐藏层和输出层。每个神经元接收来自上一层神经元的输…

docker一张图理解

1、push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明: –disable-content-trust : 忽略镜像的校验,默认开启 # 上传本地镜像myapache:v1到镜像仓库中。 docker push myapache:v1 1.2、search 从Docker Hub查找镜像。参数说明: –…

Unity shader中真的可以动态关闭Stencil Test吗?

这个问题很多年前就有人问了: https://discussions.unity.com/t/how-to-disable-the-stencil-block-via-shader-properties/600273/1 最后的答案是: set [_StencilComp] to CompareFunction.Disabled to disable the Stencil Op completely. 但是我测试…

Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)

一、函数基础 1.1、函数的用法和底层分析 函数是可重用的程序代码块。 函数的作用,不仅可以实现代码的复用,更能实现代码的一致性。一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现。 在编写函数时&#xf…

win10电脑 定时关机

win10电脑 定时关机 https://weibo.com/ttarticle/p/show?id2309405110707766296723 二、使用任务计划程序设置定时关机打开任务计划程序: 按下“Win S”组合键,打开搜索框。 在搜索框中输入“任务计划程序”,然后点击搜索结果中的“任务…

初识JAVA-面向对象的三大特征之多态

1. 重温面向对象 面向对象是一种解决问题的思想,它把计算机程序看作是各种对象组合起来的。每个对象都有自己的数据(属性)和行为(方法),主要依靠对象之间的交互来解决和实现问题。Java是一门纯面向对象的语…

2024年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)

软考高级系统架构设计师考试包含三个科目:信息系统综合知识、系统架构设计案例分析和系统架构设计论文。考试形式为机考。本文主要回顾2024年下半年(2024-11-10)系统架构设计师考试上午综合知识科目的选择题,同时附带参考答案、解析和所涉知识点。 由于机…

【STM32-学习笔记-8-】I2C通信

文章目录 I2C通信Ⅰ、硬件电路Ⅱ、IIC时序基本单元① 起始条件② 终止条件③ 发送一个字节④ 接收一个字节⑤ 发送应答⑥ 接收应答 Ⅲ、IIC时序① 指定地址写② 当前地址读③ 指定地址读 Ⅳ、MPU6050---6轴姿态传感器(软件I2C)1、模块内部电路2、寄存器地…

Angular-生命周期及钩子函数

什么是生命周期 Angular 创建和渲染组件及其子组件,当它们绑定的属性发生变化时检查它们,并在从 DOM 中移除它之前销毁它们。生命周期函数通俗的讲就是组件创建、组件更新、组件销毁的时候会触发的一系列的方法。当 Angular 使用构造函数新建一个组件或…

【计算机网络】深入浅出计算机网络

第一章 计算机网络在信息时代的作用 计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施 CNNIC 中国互联网网络信息中心 因特网概述 网络、互联网和因特网 网络(Network)由若干结点(Node)和连接这些结点的链路…

Golang——rune和byte

本文详细介绍Golang中的两种字符类型rune和byte,介绍他们的区别,编码方式和简单的使用。 文章目录 byte 类型rune 类型UTF-8 与 Unicode 的关系byte和rune的主要区别Go的默认编码方式遍历方式遍历 byte遍历 rune补充 字符还原从 byte 序列还原字符串从 r…

基于当前最前沿的前端(Vue3 + Vite + Antdv)和后台(Spring boot)实现的低代码开发平台

项目是一个基于当前最前沿的前端技术栈(Vue3 Vite Ant Design Vue,简称Antdv)和后台技术栈(Spring Boot)实现的低代码开发平台。以下是对该项目的详细介绍: 一、项目概述 项目名称:lowcode-s…

java springboot3.x jwt+spring security6.x实现用户登录认证

springboot3.x jwtspring security6.x实现用户登录认证 什么是JWT JWT(JSON Web Token)是一种开放标准(RFC 7519),它用于在网络应用环境中传递声明。通常,JWT用于身份验证和信息交换。JWT的一个典型用法是…

代码随想录刷题day07|(数组篇)58.区间和

目录 一、数组理论基础 二、前缀和 三、相关算法题目 四、总结 五、待解决问题 一、数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合。 代码随想录 (programmercarl.com) 特点: 1.下标从0开始,内存中地址空间是连续的 2.查询快&…

专用小软件,完全免费,非常丝滑

今天给大家介绍一个专门将PDF数电发票合并打印的软件,这个软件可以批量操作,完全免费没有任何的广告。 电子发票专用批量打印工具 免费批量使用 软件无需安装,解压之后双击这个图标就能直接使用了。 点击右上角的加号,选中需要打…

安装虚拟机VMware遇到的问题

问题1:进入如下界面,不知道如何操作 解决办法 键盘⬇️,选择“Reset the system”回车 问题2:系统存放位置我给放在了VMware安装目录,具体D:\software\VMware\Windows安装不行 解决办法:D:\software\virt…

Matlab 具有周期性分布的死角孔的饱和空气多孔材料的声学特性

本文对直主孔含侧空腔(死角)的饱和空气多孔介质中的声传播进行了理论和数值研究。侧腔位于沿每个主孔周期性间隔的“节点”上。研究了侧向空腔分布中周期性的影响,并单独考虑了紧间隔死角的低频极限。结果表明,吸附系数和透射损失…

Vue如何构建项目

目录 1.安装Node.js 2.换源(建议) 3.选择一个目录 4.创建一个vue项目 5.验证是否成功 1.安装Node.js 安装18.3或更⾼版本的 Nodejs 点击下载->Node.Js中文网 node -v npm -v 安装好后在windows的cmd窗口下运行 如果能运行出结果就说明安装好了。 2.换源(建议) //…