这是scGPT 的官方代码库:使用生成人工智能构建单细胞多组学的基础模型。
!更新:我们发布了几个新的预训练 scGPT 检查点。请参阅预训练 scGPT 检查点部分了解更多详细信息。
[2024.02.26]我们为在integrate-huggingface-model分支上使用HuggingFace运行预训练工作流程提供了初步支持。我们将进行进一步的测试并尽快将其合并到主分支。
[2023.12.31]关于零样本应用程序的新教程现已推出!请参阅在tutorials/zero-shot 目录中找到它们。我们还为细胞嵌入相关任务提供了一个新的连续预训练模型检查点。请参阅笔记本了解更多详细信息。
[2023.11.07]根据许多人的要求,现在我们已将 flash-attention 设为可选依赖项。可以使用相同的 load_pretrained 函数load_pretrained(target_model, torch.load("path_to_ckpt.pt"))
将预训练权重加载到 pytorch CPU、GPU 和 flash-attn 后端。这里还有一个示例用法。
[2023.09.05]我们发布了一项新功能,用于将样本参考映射到自定义参考数据集或从 CellXGene 收集的所有数百万个细胞!在 faiss 库的帮助下,我们取得了很好的时间和内存效率。超过 3300 万个单元的索引仅占用不到 1GB 内存,并且在 GPU 上对 10,000 个查询单元进行相似性搜索只需不到 1 秒。请参阅参考映射教程了解更多详细信息。
scGPT 现在也可在以下在线应用程序中使用,因此您只需使用浏览器即可开始!
scGPT 适用于 Python >= 3.7.13 和 R >=3.6.1。请确保您在安装前安装了正确版本的 Python 和 R。
scGPT 可在 PyPI 上使用。要安装 scGPT,请运行以下命令:
pip install scgpt " flash-attn<1.0.5 " # optional, recommended
# As of 2023.09, pip install may not run with new versions of the google orbax package, if you encounter related issues, please use the following command instead:
# pip install scgpt "flash-attn<1.0.5" "orbax<0.1.8"
[可选] 我们建议使用 wandb 进行日志记录和可视化。
pip install wandb
为了进行开发,我们使用 Poetry 包管理器。要安装 Poetry,请按照此处的说明进行操作。
$ git clone this-repo-url
$ cd scGPT
$ poetry install
注意: flash-attn
依赖项通常需要特定的 GPU 和 CUDA 版本。如果您遇到任何问题,请参阅 flash-attn 存储库以获取安装说明。目前,即 2023 年 5 月,我们建议使用 CUDA 11.7 和 flash-attn<1.0.5,因为报告了有关安装新版本 flash-attn 的各种问题。
这是预训练模型的列表。请找到下载检查点文件夹的链接。我们建议默认情况下对大多数应用程序使用whole-human
模型。如果您的微调数据集与器官特定模型的训练数据共享相似的细胞类型上下文,那么这些模型通常也可以表现出有竞争力的性能。每个检查点文件夹中都提供了将基因名称映射到 ids 的配对词汇文件。如果需要 ENSEMBL ID,请在gene_info.csv 中找到转换。
型号名称 | 描述 | 下载 |
---|---|---|
全人类(推荐) | 对 3300 万个正常人体细胞进行预训练。 | 关联 |
持续预训练 | 用于零样本单元嵌入相关任务。 | 关联 |
脑 | 对 1320 万个脑细胞进行预训练。 | 关联 |
血 | 对 1030 万个血液和骨髓细胞进行预训练。 | 关联 |
心 | 经过 180 万个心脏细胞的预训练 | 关联 |
肺 | 对 210 万个肺细胞进行预训练 | 关联 |
肾 | 对 814,000 个肾细胞进行预训练 | 关联 |
泛癌 | 对 570 万个各种癌症类型的细胞进行预训练 | 关联 |
请参阅 example/finetune_integration.py 中的示例代码。默认情况下,该脚本假定 scGPT 检查点文件夹存储在examples/save
目录中。
我们非常欢迎对 scGPT 做出贡献。如果您有任何想法或错误修复,请提交拉取请求。我们也欢迎您在使用 scGPT 时遇到任何问题。
我们衷心感谢以下开源项目的作者:
@article { cui2023scGPT ,
title = { scGPT: Towards Building a Foundation Model for Single-Cell Multi-omics Using Generative AI } ,
author = { Cui, Haotian and Wang, Chloe and Maan, Hassaan and Pang, Kuan and Luo, Fengning and Wang, Bo } ,
journal = { bioRxiv } ,
year = { 2023 } ,
publisher = { Cold Spring Harbor Laboratory }
}