GeneCompass:跨物种大模型用于破解基因调控机理

news2024/11/25 16:35:51

GeneCompass是第一个基于知识的跨物种基础模型,该模型预先训练了来自人类和小鼠的超过1.2亿个单细胞转录组。在预训练过程中,GeneCompass有效整合了四种生物先验知识,以自监督的方式增强了对基因调控机制的理解。对多个下游任务进行微调,GeneCompass在单个物种的多个任务中优于最先进的模型,并开启了跨物种生物研究的新领域。总的来说,GeneCompass标志着对通用基因调控机制的学习和加速发现关键调控因子和药物候选靶点的里程碑。

来自:GeneCompass: Deciphering Universal Gene Regulatory Mechanisms with Knowledge-Informed Cross-Species Foundation Model
工程地址:https://github.com/xCompass-AI/geneCompass

目录

  • 背景概述
  • 概述:GeneCompass架构和预训练
  • 方法:数据收集
  • 方法:GeneCompass
    • GeneCompass架构
    • GeneCompass预训练和优化
    • 消融实验与不同规模的数据
    • 微调
    • 细胞和基因embedding
    • 先验知识embedding
  • 下游任务方法
    • 单物种的细胞类型注释
    • GRN预测
    • 细胞对药物及其剂量的反应预测

背景概述

脊椎动物是由数以万亿计的细胞组成的复杂系统,这些细胞被分为数百种不同的类型。细胞合作形成不同的组织和器官,每一个都有一套独特的生理功能。阐明这些组织和器官的基因调控机制对于破解个体发育模式和促进临床治疗至关重要。随着组学测序技术的快速发展,人们已经开始在单细胞分辨率上解剖各种器官中的细胞如何发挥其特定功能,并积累了大量的单细胞数据。然而,基因表达在多个水平上受到调控,从染色质可及性到转录后修饰。这意味着,仅通过湿生物学实验全面解读基因调控机制是劳动密集和耗时的。深度学习模型的出现,凭借其在大型数据集中表示复杂模式的能力,为剖析多层次和跨物种的调节机制提供了机会。

近年来,自然语言领域的BERT、GPT、PaLM和LLaMA等基础模型以及视觉领域的DALL-E在各种下游任务中取得了显著的性能。它们通常都采用自监督学习对大量数据进行预训练,然后通过微调对特定的下游任务进行适应。类似的,转录组是理解生物系统内基因调控活动的"语言"。一些研究利用单细胞转录组数据构建预训练基础模型,如scGPT、Geneformer和scFoundation。这些工作的共同点是利用数以千万计的人类单细胞转录组谱来预训练基础模型,并在广泛的下游任务中表现出卓越的性能,如细胞聚类、细胞类型注释、基因扰动模拟和药物靶标预测。然而,目前的模型有其局限性。

动机
由于脊椎动物在物种间表现出巨大的多样性,而基因调控机制的进化守恒(尽管不同物种的基因组和表型可能有很大的差异,但它们在基因表达调控的基本原理和组件上存在共同之处),来自不同物种的数据集的整合为揭示基因调控提供了一个绝佳的机会,而目前的模型仅依赖于单个物种的数据。此外,过去几十年积累的丰富的生物学知识,包括核心调控区数据、实验证实的基因相互作用和基因家族注释,代表了我们迄今为止对生物过程的全面理解。将这些知识注入预训练过程中,可以指导模型以自监督的方式学习通用的基因调控机制。

贡献
GeneCompass是一个知识丰富的跨物种基础模型,在scCompass-126M上预训练,scCompass-126M是目前最大的语料库,包含超过1.2亿个来自人类和小鼠的单细胞转录组。

  • 重要的是,该模型结合了生物学知识,包括启动子序列、基因共表达网络、基因家族信息和转录因子-靶基因调控关系。通过在各种下游任务中微调预训练模型,模型取得了比SOTA模型更好的性能。总的来说,模型在基础模型的发展方面取得了重大突破。

概述:GeneCompass架构和预训练

GeneCompass是一个知识丰富的跨物种基础模型,预训练了来自人类和小鼠的超过1.2亿个细胞的转录组。通过对有限的数据进行微调,GeneCompass可以有效地应用于各种下游生物相关任务(图1a)。利用显性的自注意力机制,GeneCompass可以基于输入的转录组了解细胞和基因之间的复杂关系。

通过构建一个大规模的预训练语料库scCompass-126M推动了GeneCompass的开发。该语料库由来自人类和小鼠的1.26亿个单细胞转录组组成,这些转录组来自公开可用的数据集,包括广泛的器官和细胞类型(图1c, d)。为了确保数据质量,作者过滤掉了异常基因表达的细胞。此外,作者在数据集中保留了具有足够可变性或表达水平的基因,以捕获细胞类型特异性特征(即生物异质性)。由于人和小鼠之间存在不同的基因列表,这里通过共享相同的基因id来对齐它们的同源基因。在GeneCompass中,token字典包含了36,092个基因中的17,465个同源基因(图1a)。
fig1a

  • 图1a:GeneCompass 的框架。该模型在人类和小鼠的大规模单细胞转录组上进行预训练。与从头开始训练不同,预训练的 GeneCompass 可用于多个下游任务,包括细胞类型注释、基因调控网络预测、剂量反应预测等。

fig1b

  • 图1b:四种先验知识嵌入,包括基因调控网络、启动子序列、基因家族和共表达。

fig1c

  • 图1c:scCompass-126M 中人类和小鼠的器官类型

fig1d

  • 图1d:从 scCompass-126M 中采样的子集的不同细胞类型的 UMAP。

目前大规模转录组预训练模型主要利用相对基因排序或分组基因表达值作为输入,导致转录组的表达信息不足。为了克服这一限制,我们将基因的绝对表达值和相应的基因id连接起来,然后根据整个scCompass-126M的归一化表达值在细胞内对基因进行排序。绝对表达式值的引入为GeneCompass提供了更细粒度的信息。为了进一步增强预训练模型的能力,作者通过不同的方法将启动子序列、基因共表达网络、基因家族和转录因子-靶基因调控网络等四种不同类型的生物先验知识编码到统一的嵌入空间中(图1b)。

为了表示物种信息,在每个细胞前嵌入一个species token(图1a)。总的来说,GeneCompass将基因id,表达值,先验知识组成基因token,利用12层Transformer进行编码。

GeneCompass采用掩码语言建模(mask language modeling, MLM)策略,在预训练过程中随机掩码基因token。具体来说,每个细胞随机 mask 15%的基因,然后GeneCompass通过两个独立的Decoder heads同时恢复这些被mask的基因id和表达值。这种多任务自监督学习范式结合了相对rank和绝对expression的恢复,增强了捕捉基因表达中微妙关系的能力。

方法:数据收集

作者构建了一个大规模的预训练语料库scCompass-126M。该语料库由超过1.2亿个单细胞转录组组成,包括两种不同的物种,人类和小鼠。多物种单细胞数据为理解不同生物的细胞异质性提供了丰富的资源。然而,由于物种之间的生物过程和技术差异,收集和预处理这些数据具有挑战性。

在所有物种中,人类和鼠的细胞比例最高,各自有超过5000万个细胞数据。研究使用的数据来自不同来源的公开数据集平台,包括NCBI-GEO、NCBI-SRA、EMBL-EBI-ArrayExpress和CNCB-GSA。从这些数据库中下载FASTQ文件,并通过运行相同的pipeline获得基因原始计数。其他基因原始计数数据直接从CELLxGENE、Single Cell Portal、Curated Cancer Cell Atlas (3CA)、Cell BLAST、Human Cell Atlas、Temporal Expression during Development Database (TEDD)中下载。对于准备多物种单细胞数据进行下游分析,执行了几个预处理步骤。对于质量控制,排除了低质量和受损的细胞。然后进行归一化和log来统一数值范围。

方法:GeneCompass

GeneCompass架构

GeneCompass采用12层自注意力Transformer对输入嵌入进行编码,每层自注意力Transformer由12个heads组成。GeneCompass对2048基因token序列处理为768维,模型参数的数量达到1亿。在预训练和微调过程中,采用高斯误差线性单元(Gaussian Error Linear Units, GELUs)作为非线性激活,注意力层和密集层的dropout概率均为0.02。模型配置、数据加载和训练的代码由Pytorch和Huggingface Transformers库实现,用于模型配置、数据加载和训练。此外,作者扩展了库,使其能够输入可扩展的外部知识。

GeneCompass预训练和优化

GeneCompass将基因ID、表达值以及相应的先验知识(启动子、GRN、基因家族和共表达)整合在一起,编码细胞转录组。采用掩码语言建模策略在预训练过程中随机mask基因,包括基因的id、表达和先验知识。MLM已被证明可以帮助大型模型有效地学习更好的表示。详细地说,每个细胞随机选择15%的基因来mask。与已有工作相比,GeneCompass构建了一种多任务学习范式,同时基于embedding来预测被mask基因的ID和表达

使用MSE优化表达预测:
eq1
其中, n u n k n_{unk} nunk表示未知基因表达的数量, x ~ j ( i ) \widetilde{x}_{j}^{(i)} x j(i)是预测的基因表达,真实值是 x j ( i ) x_{j}^{(i)} xj(i)

交叉熵用于预测基因ID:
eq2
这里的基因ID是mask基因的rank。

预训练参数演示如下:使用AdamW优化器将学习率设置为线性衰减,10000个预热步骤,最大学习率为1e-3,使用基因填充策略,批大小为10。为了充分利用GPU的能力,Deepspeed被应用在代码框架中,因为它提供了优化,利用动态批处理、混合精度、模型并行性和内存优化等技术来加速大型神经网络的训练,同时减少它们的内存消耗,所有这些都在类似pytorch的API中。使用每节点带有8个Nvidia A800 GPU的4节点服务器,预训练过程在9天内完成。

消融实验与不同规模的数据

使用不同的细胞数进行预训练对GeneCompass进行消融研究。具体来说,对于人类单细胞转录组语料库预训练的GeneCompass,使用不同的细胞数 (即 5 × 1 0 4 , 5 × 1 0 5 , 5 × 1 0 6 , 5.5 × 1 0 7 5\times 10^{4},5\times 10^{5},5\times 10^{6},5.5\times 10^{7} 5×104,5×105,5×106,5.5×107)。通过小鼠单细胞转录组语料库预训练的GeneCompass,使用不同的细胞数 (即 5 × 1 0 4 , 5 × 1 0 5 , 5 × 1 0 6 , 4.5 × 1 0 7 5\times 10^{4},5\times 10^{5},5\times 10^{6},4.5\times 10^{7} 5×104,5×105,5×106,4.5×107)。通过人-小鼠单细胞转录组语料库预训练的GeneCompass,使用不同的细胞数,即前面两个列表相加。为了使GeneCompass完全收敛,对数据规模小的实验使用较大的epoch。

微调

GeneCompass是编码器解码器架构,编码器有12个Transformer层,这些层由预训练的权重初始化,解码器是任务特定层。微调模型用于各种下游任务,如细胞类型注释,剂量-反应预测和基因调控网络推断。由于任务范式的不同,不同下游任务的微调超参数可能会有所不同。为了公平比较,作者在不同数据集的相同任务中使用相同的超参数(可能不是最优的),以验证GeneCompass的鲁棒性。

细胞和基因embedding

768维的细胞嵌入是从<cls> token生成的,该token被添加到单细胞信息的开头以表示细胞个体。此外,GeneCompass可以将每个基因编码到768个维度,这些维度包含了单细胞转录组中基因的上下文信息。注意,细胞和基因嵌入都是从最后一层Transformer中获得的。

先验知识embedding

将启动子序列、基因共表达网络、基因家族信息、转录因子-靶基因调控关系等四种生物学知识纳入预训练模型。

启动子embedding:启动子是基因转录的激活信号。在GeneCompass中,每个基因的启动子由2500个碱基组成,包括转录起始位点(TSS)前的上游500个碱基和TSS后的下游2000个碱基。启动子序列在DNABert预训练模型上微调40 epochs,得到768维的启动子embedding。

启动子序列来自基因组注释文件。

共表达embedding:高共表达基因对是指在没有外界干扰的情况下,其转录表达谱在多种器官或组织中高度相关的基因。因此,高共表达基因在理论上是相关和相似的。通常我们希望编码后,共表达基因对之间的距离尽可能近,非共表达基因对之间的距离尽可能远。具体来说,作者计算了每个基因对的Pearson相关系数(PCC),然后选择PCC大于0.8的基因对进行gene2vec输出embedding。

基因家族embedding:同一基因家族中的基因具有相同的祖基因,因此基因在功能上是相似的。因此,当基因嵌入到特征空间时,同一家族的基因应该更接近,形成基因簇。然而,一个基因可能属于多个基因家族,并且基因家族之间可能存在重叠。为了处理这种复杂的关系,在构建训练样本时,作者使用gene2vec嵌入方法列出所有具有家族共属关系的基因作为基因对。Gene2vec可以根据基因家族的大小和所属的家族数自适应调整基因的频率,并在属于多个家族时充分考虑单个基因与其他基因之间的关系。作者使用了1645个人类基因家族和1539个小鼠基因家族进行嵌入。每个基因的嵌入是768维的。

GRN embedding:GRN是指细胞内或特定基因组内基因间相互作用形成的网络。在众多相互作用关系中,以基因间转录表达为基础的调控关系尤为重要。一般来说,一些基因可以通过转录表达来控制其他基因的表达水平。通常,GRN是一个有向图,每个基因代表一个节点,GRN中基因之间的控制关系用加权有向图来描述。目标是在已经发现的调控关系的基础上,尽可能完善调控网络,并了解更多基因之间未知的相互作用。在不同的组织细胞中,基因之间的调控关系不是静态的。目标是使具有更多调控关系的基因在嵌入空间中更加紧密。因此,作者从GRN中统计具有调控关系的基因对。这些基因对通过gene2vec方法进行嵌入。基因对之间的调控关系越多,在训练过程中出现的次数越多,编码后的关系越接近。每个基因的嵌入是768维的。

下游任务方法

单物种的细胞类型注释

微调的目标是通过利用GeneCompass生成的细胞嵌入来识别每个细胞的类型。具体来说,在class token添加一个全连接层,用于预测细胞类型。预测的细胞类型概率和GT之间的交叉熵损失被优化得尽可能低。

对于人类特定的任务,作者在人类多发性硬化症(hMS)、人类肺(hLung)和人类肝脏(hLiver)数据集上对GeneCompass和基于Transformer的方法Geneformer进行了基准测试。对于小鼠特异性任务,在小鼠脑(mBrain)、小鼠肺(mLung)和小鼠胰腺(mp胰腺)数据集上比较了经过和未经过预训练的GeneCompass结果。同时,在小鼠胰腺(mpPancreas)数据集上对GeneCompass与TOSICA方法进行了基准测试。

GRN预测

这项任务包括预测基因之间的相互作用和关系,以深入了解基因如何共同控制细胞过程。作者使用DeepSEM框架来评估GeneCompass的推断基因调控网络(GRN)的性能。使用scGPT提供的Immune Human数据集,从预训练的GeneCompass模型中生成基因嵌入。

对于GRN预测。在DeepSEM上应用GeneCompass输出的基因embedding。对于评估,使用已知的GRN作为ground truth。

细胞对药物及其剂量的反应预测

这是促进药物开发的关键。CPA被用于该任务,与GRN类似,模型产生的基因embedding被添加到CPA中,以促进CPA的表现。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSM酒店信息管理系统-计算机毕业设计源码41731

摘要 酒店信息管理系统是一种基于计算机技术的管理工具&#xff0c;旨在提高酒店业务效率和服务质量。该系统通过集成多个功能模块&#xff0c;实现酒店各项业务的自动化管理&#xff0c;包括客房信息管理、预订信息管理、入住信息管理、退房信息管理、续费信息管理等。该系统可…

免费使用正版的Typora教程

1.来到Typora官网下载安装。 Typora官网: https://typoraio.cn/ 2.激活主程序 编辑修改Typora安装目录下文件 下面展示文件目录路径 &#xff1a; D:\SoftWare\Typora1.9.5\resources\page-dist\static\js\LicenseIndex.180dd4c7.4da8909c.chunk.js查找&#xff1a;e.hasAc…

打通“链上数据脉络” 欧科云链数字生态建设成果凸显

7月25日&#xff0c;据Coindesk报道&#xff0c;全球领先的区块链技术和服务提供商欧科云链宣布旗下OKLink浏览器与Polygon Labs正式达成合作&#xff0c;成为AggLayer首个区块链搜索引擎及Web3数据分析平台&#xff0c;将为开发者提供精简易用的链上数据访问和开发工具&#x…

Python 中的正反斜杠用法详解

在Python编程中&#xff0c;字符串是一个常用的数据类型&#xff0c;字符串中的斜杠&#xff08;反斜杠\和正斜杠/&#xff09;具有特殊的用法和意义&#xff0c;本文将介绍这两种斜杠的用法。 一、反斜杠的转义作用 在Python中&#xff0c;反斜杠&#xff08;\&#xff09;…

2024年必读高质量计算机编程书籍

点击上方关注 “终端研发部” 设为“星标”&#xff0c;和你一起掌握更多数据库知识 1、推荐书籍&#xff1a;《Python Cookbook》 理由&#xff1a;这本书是Python学习者公认的经典教程&#xff0c;由资深Python专家David Beazley编写。它不仅仅是一本Python语言的参考手册&am…

【React 】开发环境搭建详细指南

文章目录 一、准备工作1. 安装 Node.js 和 npm2. 选择代码编辑器 二、创建 React 项目1. 使用 Create React App2. 手动配置 React 项目 三、集成开发工具1. ESLint 和 Prettier2. 使用 Git 进行版本控制 在现代前端开发中&#xff0c;React 是一个非常流行的框架&#xff0c;用…

科学又省力 宠物浮毛怎么去掉便捷高效?除毛秘籍养宠空气净化器

上次和朋友逛完街去她家&#xff0c;她家的猫哈基米一开门就飞奔过来&#xff0c;朋友直接抱起它狂亲。结果&#xff0c;猫毛和汗水粘得到处都是&#xff0c;手臂上、脸上都是&#xff0c;看得我这鼻炎星人直起鸡皮疙瘩。很多养宠物的朋友都说&#xff0c;天天给猫狗梳毛&#…

C++-----多态

一.对多态的解释 场景&#xff1a;买车票时&#xff0c;学生是半价&#xff0c;军人要优先......,对于不同的人群&#xff0c;在同一个售票窗口会受到不同折扣&#xff0c;这就是多态的体现。 上图就是多态的效果。 为什么Ticket的参数是person类型&#xff0c;但却能接受不同…

嵌入式初学-C语言-五

C语言语句概述 C语句的分类 ⑴ 控制语句 用于完成一定的控制功能 ① if ( ) …… else …… ② for ( ) …… ③ while ( ) …… ④ do …… while ( ) ⑤ continue ⑥ break ⑦ switch ( ) ⑧ return ⑨ goto 标号 (无条件跳转语句) 说明&#xff1a;“( ) ”…

Flutter Dio网络请求报错FormatException: Unexpected character

最近开发Flutter项目&#xff0c;网络请求采用的是Dio框架&#xff0c;在发起网络请求的时候报错&#xff1a; 网络请求返回的数据为&#xff1a; var returnCitySN {\"cip\": \"127.0.0.1\", \"cid\": \"00\", \"cname\"…

【漏洞复现】用友时空KSOA PreviewKPQT SQL注入漏洞

0x01 产品简介 用友时空KSOA是建立在SOA理念指导下研发的新一代产品&#xff0c;是根据流通企业最前沿的I需求推出的统一的IT基础架构&#xff0c;它可以让流通企业各个时期建立的IT系统之间彼此轻松对话&#xff0c;帮助流通企业保护原有的IT投资&#xff0c;简化IT管理&…

B站录播姬 v2.12.0 中文版

一个方便好用免费开源的哔哩哔哩直播录制工具。 B站录播姬是一款适用于B站的直播录制工具&#xff0c;该软件使用简单&#xff0c;功能强大&#xff0c;为你录制每一次的直播&#xff0c;用户只需要添加主播的直播号&#xff0c;当主播直播时&#xff0c;软件将自动为你录制直…

文件包涵漏洞(ctfshow 无条件竞争)

Web78 payload: ?filephp://filter/readconvert.base64-encode/resourceflag.php Web79 <?php system(cat flag.php); Data协议写入内容读取 payload: ?filedata://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs Web80 ?file/var/log/nginx/access.log…

结构体,联合体,指针和浮点代码笔记

系列文章 : 深入理解计算机系统笔记 文章目录 系列文章3.9 异质的数据结构3.9.1 结构3.9.2 联合3.9.3 数据对齐 3.10 在机器级程序中将控制和数据结合起来3.10.1 理解指针3.10.2 应用&#xff1a;使用GDB调试器3.10.3 内存越界引用和缓冲区溢出3.10.4 对抗缓冲区溢出攻击3.10…

(最新)华为 2024 届校招-硬件通⽤/单板开发——第十一套和十二套

&#xff08;最新&#xff09;华为 2024 届校招-硬件通⽤/单板开发——第十一套和十二套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;仅供参考&#xff09;&#xff08;共十二套&#xff09;&#xff08;谢绝白嫖哈&#xff09; …

leetcode日记(56)文本左右对齐

不难想但是很难写&#xff0c;需要考虑情况。 我是先写出代码框架&#xff08;先看一行可以加入接下来几个字母和对应空格&#xff0c;然后用空格数和字母数相除取模计算出字母间可以塞多少个空格&#xff0c;循环塞入这些空格和字母&#xff0c;添加进结果中&#xff09;&…

MongoDB教程(二十三):关于MongoDB自增机制

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、MongoD…

青少年绘画大赛兰州站:童梦起航 致敬科学 续写降压0号之父强国梦

2024年7月21日&#xff0c;“鹤舞童梦致敬科学精神”青少年绘画大赛在兰州隆重启幕。 活动邀请了多位重量级嘉宾担任评委&#xff0c;包括中国美术家协会会员、甘肃省油画协会常务理事马爱兵&#xff0c;兰州交通大学天佑美术馆馆长王欣&#xff0c;以及国家一级美术师蔡晓斌。…

【Java基础系列】RBAC:介绍与原理

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【C++】模板详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…