Ini adalah basis kode resmi untuk scGPT: Menuju Membangun Model Fondasi untuk Multi-omik Sel Tunggal Menggunakan AI Generatif .
!PEMBARUAN : Kami telah merilis beberapa pos pemeriksaan scGPT baru yang telah dilatih sebelumnya. Silakan lihat bagian Pos pemeriksaan scGPT yang telah dilatih sebelumnya untuk lebih jelasnya.
[26.02.2024] Kami telah memberikan dukungan awal untuk menjalankan alur kerja pra-pelatihan dengan HuggingFace di cabang model integrasi-huggingface. Kami akan melakukan pengujian lebih lanjut dan segera menggabungkannya ke cabang utama.
[2023.12.31] Tutorial baru tentang aplikasi zero-shot kini tersedia! Silakan lihat menemukannya di direktori tutorials/zero-shot. Kami juga menyediakan pos pemeriksaan model baru yang telah dilatih sebelumnya secara berkelanjutan untuk tugas terkait penyematan sel. Silakan lihat buku catatan untuk lebih jelasnya.
[2023.11.07] Seperti yang diminta oleh banyak orang, sekarang kami telah menjadikan perhatian flash sebagai ketergantungan opsional. Bobot yang telah dilatih sebelumnya dapat dimuat pada CPU pytorch, GPU, dan backend flash-attn menggunakan fungsi load_pretrained yang sama, load_pretrained(target_model, torch.load("path_to_ckpt.pt"))
. Contoh penggunaan juga ada di sini.
[2023.09.05] Kami telah merilis fitur baru untuk sampel pemetaan referensi ke kumpulan data referensi khusus atau ke jutaan sel yang dikumpulkan dari CellXGene! Dengan bantuan perpustakaan faiss, kami mencapai efisiensi waktu dan memori yang luar biasa. Indeks lebih dari 33 juta sel hanya membutuhkan memori kurang dari 1 GB dan pencarian kesamaan membutuhkan waktu kurang dari 1 detik untuk 10.000 sel kueri di GPU . Silakan lihat tutorial pemetaan Referensi untuk lebih jelasnya.
scGPT kini juga tersedia di aplikasi online berikut, sehingga Anda dapat memulai hanya dengan browser Anda!
scGPT bekerja dengan Python >= 3.7.13 dan R >=3.6.1. Harap pastikan Anda memiliki versi pra-instalasi Python dan R yang benar.
scGPT tersedia di PyPI. Untuk menginstal scGPT, jalankan perintah berikut:
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"
[Opsional] Kami merekomendasikan penggunaan Wandb untuk logging dan visualisasi.
pip install wandb
Untuk pengembangan, kami menggunakan pengelola paket Puisi. Untuk menginstal Puisi, ikuti petunjuk di sini.
$ git clone this-repo-url
$ cd scGPT
$ poetry install
Catatan : Ketergantungan flash-attn
biasanya memerlukan versi GPU dan CUDA tertentu. Jika Anda mengalami masalah apa pun, silakan merujuk ke repositori flash-attn untuk petunjuk instalasi. Untuk saat ini, Mei 2023, kami merekomendasikan penggunaan CUDA 11.7 dan flash-attn<1.0.5 karena berbagai masalah yang dilaporkan tentang penginstalan versi baru flash-attn.
Berikut adalah daftar model terlatih. Silakan temukan tautan untuk mengunduh folder pos pemeriksaan. Kami merekomendasikan penggunaan model whole-human
untuk sebagian besar aplikasi secara default. Jika kumpulan data penyempurnaan Anda memiliki konteks jenis sel yang serupa dengan data pelatihan model spesifik organ, model ini biasanya juga dapat menunjukkan performa kompetitif. File kosakata berpasangan yang memetakan nama gen ke id disediakan di setiap folder pos pemeriksaan. Jika id ENSEMBL diperlukan, temukan konversinya di gene_info.csv.
Nama model | Keterangan | Unduh |
---|---|---|
manusia seutuhnya (disarankan) | Dilatih pada 33 juta sel manusia normal. | link |
dilatih secara terus-menerus | Untuk tugas terkait penyematan sel zero-shot. | link |
otak | Dilatih pada 13,2 juta sel otak. | link |
darah | Dilatih pada 10,3 juta sel darah dan sumsum tulang. | link |
jantung | Dilatih pada 1,8 juta sel jantung | link |
paru-paru | Dilatih pada 2,1 juta sel paru-paru | link |
ginjal | Dilatih sebelumnya pada 814 ribu sel ginjal | link |
pan-kanker | Telah dilatih sebelumnya pada 5,7 juta sel dari berbagai jenis kanker | link |
Silakan lihat kode contoh kami di example/finetune_integration.py. Secara default, skrip mengasumsikan folder pos pemeriksaan scGPT disimpan di direktori examples/save
.
Kami sangat menyambut baik kontribusi pada scGPT. Silakan kirimkan permintaan penarikan jika Anda memiliki ide atau perbaikan bug. Kami juga menyambut baik segala masalah yang Anda temui saat menggunakan scGPT.
Kami dengan tulus berterima kasih kepada penulis proyek sumber terbuka berikut:
@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 }
}