scGPT:单细胞的末日与开端

使用生成式 AI 构建单细胞多组学基础模型

来自论文:scGPT: Towards Building a Foundation Model for Single-Cell Multi-omics Using Generative AI;doi: https://doi.org/10.1101/2023.04.30.538439

如今通用人工智能模型纵横天下,你无法阻止机器发展的浪潮,人类文明终毁于人类。当你躺平两天的时候,你睁眼发现已经进入另一个时代:不信,你看以下事实:
就这两天:
(1)ChatGPT使EdTech崩溃;
(2)微软Bing免费开发使用ChatGPT;
(3)麻省理工发布人工智能以降低药物成本;
(4)以及今天单细胞通用人工智能模型
如今单细胞分析工具1000多种,从2009年至今,你努力10年也许搞出几个工具,但你那效果也不咋样,模型泛化能力也只能水论文;如今scGPT通吃,其他模型简直小巫见大巫。辛苦10年,终功亏一篑。
原先发文章找模型按照年来,如今争分夺秒,你想到的别人已经实现并开源。

摘要:生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显着的成功。具体来说,大规模多样化数据集和预训练Transformer的结合已成为开发基础模型的一种有前途的方法。虽然文本是由单词组成的,但细胞可以用基因来表征。这个类比启发我们探索细胞和基因生物学基础模型的潜力。通过利用呈指数增长的单细胞测序数据,我们首次尝试通过对超过 1000 万个细胞进行生成预训练来构建单细胞基础模型。我们证明了生成式预训练Transformer,scGPT ,可以有效地捕获对基因和细胞有意义的生物学见解。此外,该模型可以很容易地进行微调,以在各种下游任务中实现最先进的性能,包括多批次融合(multi-batch integration)、多组学融合(multi-omic integration)、细胞类型注释(cell-type annotation)、基因扰动预测(genetic perturbation prediction)和基因网络推断(gene network inference)。

贡献:首次尝试通过对超过 1000 万个细胞进行生成预训练来构建单细胞基础模型 scGPT;证明预训练模型在基因和细胞水平上捕获了有意义的生物学见解。学习基因嵌入,通过将功能相关的基因组合在一起来解码已知通路。通过零样本学习,预训练模型能够在看不见的数据集上揭示有意义的细胞簇。通过在少量学习设置中进行微调,该模型在广泛的下游任务上实现了最先进的性能,包括批次矫正(batch correction)、多组学融合(multi-omic integration)、细胞类型注释(cell type annotation)、基因扰动预测(genetic perturbation prediction)、伪细胞生成(pseudo-cell generation)和基因网络推断(gene network inference)。scGPT 模型和工作流程的发布旨在促进所有相关领域的未来研究。我们设想采用预训练的基础模型将加深我们对细胞生物学的理解,

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Python末日文字游戏的例子,其中包括菜单、人物状态和boss等元素。你可以根据自己的需求进行修改和扩展。 ```python import random # 初始化人物状态 player = { 'name': 'Player', 'health': 100, 'attack': 10, 'defense': 5, 'money': 0 } # 初始化boss状态 boss = { 'name': 'Boss', 'health': 200, 'attack': 20, 'defense': 10, 'money': 100 } # 初始化资源 resources = { 'food': 10, 'water': 10, 'medicine': 5, 'weapon': 1 } # 菜单选项 menu = { '1': '搜索资源', '2': '查看人物状态', '3': '与Boss战斗', '4': '退出游戏' } # 搜索资源函数 def search_resources(): global player, resources # 随机获取一种资源 resource = random.choice(list(resources.keys())) # 随机获取资源数量 amount = random.randint(1, 3) # 增加资源数量 resources[resource] += amount # 显示搜索结果 print('你找到了{}个{}!'.format(amount, resource)) # 减少人物健康值 player['health'] -= 10 # 查看人物状态函数 def show_player_status(): global player print('人物状态:') for key, value in player.items(): print('{}: {}'.format(key, value)) # 与Boss战斗函数 def fight_boss(): global player, boss print('你与{}展开了激烈的战斗!'.format(boss['name'])) while player['health'] > 0 and boss['health'] > 0: # 计算双方造成的伤害 player_damage = player['attack'] - boss['defense'] boss_damage = boss['attack'] - player['defense'] # 减少双方健康值 player['health'] -= boss_damage boss['health'] -= player_damage # 显示战斗结果 print('你对{}造成了{}点伤害!'.format(boss['name'], player_damage)) print('{}对你造成了{}点伤害!'.format(boss['name'], boss_damage)) if player['health'] <= 0: print('你被{}打败了!'.format(boss['name'])) else: print('你打败了{}!'.format(boss['name'])) # 增加人物金钱 player['money'] += boss['money'] # 游戏主循环 while True: # 显示菜单 print('菜单:') for key, value in menu.items(): print('{} - {}'.format(key, value)) # 获取用户输入 choice = input('请选择菜单选项:') # 处理用户输入 if choice == '1': search_resources() elif choice == '2': show_player_status() elif choice == '3': fight_boss() elif choice == '4': print('游戏结束!') break else: print('无效的菜单选项!') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值