Esta é a base de código oficial do scGPT: Towards Building a Foundation Model for Single-Cell Multi-omics Using Generative AI .
!ATUALIZAÇÃO : Lançamos vários novos pontos de verificação scGPT pré-treinados. Consulte a seção Pontos de verificação scGPT pré-treinados para obter mais detalhes.
[2024.02.26] Fornecemos um suporte preliminar para executar o fluxo de trabalho de pré-treinamento com HuggingFace na ramificação do modelo de integração-huggingface. Conduziremos mais testes e mesclaremos o branch principal em breve.
[2023.12.31] Novos tutoriais sobre aplicativos zero-shot já estão disponíveis! Por favor, veja como encontrá-los no diretório tutoriais/zero-shot. Também fornecemos um novo ponto de verificação contínuo de modelo pré-treinado para tarefas relacionadas à incorporação de células. Consulte o caderno para obter mais detalhes.
[2023.11.07] Conforme solicitado por muitos, agora tornamos a atenção flash uma dependência opcional. Os pesos pré-treinados podem ser carregados em back-ends de CPU, GPU e flash-attn pytorch usando a mesma função load_pretrained, load_pretrained(target_model, torch.load("path_to_ckpt.pt"))
. Um exemplo de uso também está aqui.
[2023.09.05] Lançamos um novo recurso para amostras de mapeamento de referência para um conjunto de dados de referência personalizado ou para todos os milhões de células coletadas do CellXGene! Com a ajuda da biblioteca faiss, conseguimos uma grande eficiência de tempo e memória. O índice de mais de 33 milhões de células ocupa apenas menos de 1 GB de memória e a pesquisa de similaridade leva menos de 1 segundo para 10.000 células de consulta na GPU . Consulte o tutorial de mapeamento de referência para obter mais detalhes.
O scGPT agora também está disponível nos seguintes aplicativos on-line, para que você possa começar simplesmente com seu navegador!
scGPT funciona com Python >= 3.7.13 e R >=3.6.1. Certifique-se de ter a versão correta do Python e R instalada na pré-instalação.
scGPT está disponível no PyPI. Para instalar o scGPT, execute o seguinte comando:
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"
[Opcional] Recomendamos usar wandb para registro e visualização.
pip install wandb
Para desenvolvimento, estamos usando o gerenciador de pacotes Poetry. Para instalar o Poetry, siga as instruções aqui.
$ git clone this-repo-url
$ cd scGPT
$ poetry install
Nota : A dependência flash-attn
geralmente requer GPU específica e versão CUDA. Se você encontrar algum problema, consulte o repositório flash-attn para obter instruções de instalação. Por enquanto, maio de 2023, recomendamos o uso de CUDA 11.7 e flash-attn<1.0.5 devido a vários problemas relatados sobre a instalação de novas versões do flash-attn.
Aqui está a lista de modelos pré-treinados. Encontre os links para baixar as pastas do ponto de verificação. Recomendamos usar o modelo whole-human
para a maioria dos aplicativos por padrão. Se o seu conjunto de dados de ajuste fino compartilhar um contexto de tipo de célula semelhante aos dados de treinamento dos modelos específicos de órgãos, esses modelos geralmente também poderão demonstrar desempenho competitivo. Um arquivo de vocabulário emparelhado que mapeia nomes de genes para ids é fornecido em cada pasta de ponto de verificação. Se forem necessários ids ENSEMBL, encontre a conversão em gene_info.csv.
Nome do modelo | Descrição | Download |
---|---|---|
humano inteiro (recomendado) | Pré-treinado em 33 milhões de células humanas normais. | link |
pré-treinado contínuo | Para tarefas relacionadas à incorporação de células zero-shot. | link |
cérebro | Pré-treinado em 13,2 milhões de células cerebrais. | link |
sangue | Pré-treinado em 10,3 milhões de células do sangue e da medula óssea. | link |
coração | Pré-treinado em 1,8 milhão de células cardíacas | link |
pulmão | Pré-treinado em 2,1 milhões de células pulmonares | link |
rim | Pré-treinado em 814 mil células renais | link |
pan-câncer | Pré-treinado em 5,7 milhões de células de vários tipos de câncer | link |
Consulte nosso código de exemplo em exemplos/finetune_integration.py. Por padrão, o script assume a pasta do ponto de verificação scGPT armazenada no diretório examples/save
.
Agradecemos muito as contribuições para o scGPT. Envie uma solicitação pull se tiver alguma ideia ou correção de bug. Também agradecemos quaisquer problemas que você encontrar ao usar o scGPT.
Agradecemos sinceramente aos autores dos seguintes projetos de código aberto:
@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 }
}