這是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 中找到轉換。
型號名稱 | 描述 | 下載 |
---|---|---|
全人類(建議) | 對 3,300 萬個正常人體細胞進行預訓練。 | 關聯 |
持續預訓練 | 用於零樣本單元嵌入相關任務。 | 關聯 |
腦 | 對 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 }
}