Esta es la base de código oficial de scGPT: Hacia la construcción de un modelo básico para multiómicas unicelulares utilizando IA generativa .
!ACTUALIZACIÓN : Hemos lanzado varios puntos de control scGPT nuevos previamente entrenados. Consulte la sección Puntos de control de scGPT previamente entrenados para obtener más detalles.
[2024.02.26] Hemos brindado soporte preliminar para ejecutar el flujo de trabajo de preentrenamiento con HuggingFace en la rama integrar-huggingface-model. Pronto realizaremos más pruebas y las fusionaremos con la rama principal.
[2023.12.31] ¡Ya están disponibles nuevos tutoriales sobre aplicaciones zero-shot! Encuéntrelos en el directorio tutorials/zero-shot. También proporcionamos un nuevo punto de control de modelo preentrenado continuo para tareas relacionadas con la incorporación de células. Consulte el cuaderno para obtener más detalles.
[2023.11.07] Como muchos lo solicitaron, ahora hemos convertido la atención flash en una dependencia opcional. Los pesos previamente entrenados se pueden cargar en los backends de CPU, GPU y flash-attn de pytorch utilizando la misma función load_pretrained, load_pretrained(target_model, torch.load("path_to_ckpt.pt"))
. También se incluye aquí un ejemplo de uso.
[2023.09.05] ¡Hemos lanzado una nueva función para mapear muestras de referencia a un conjunto de datos de referencia personalizado o a todos los millones de células recopiladas de CellXGene! Con la ayuda de la biblioteca faiss, logramos una gran eficiencia en tiempo y memoria. El índice de más de 33 millones de celdas solo requiere menos de 1 GB de memoria y la búsqueda de similitud toma menos de 1 segundo para 10.000 celdas de consulta en GPU . Consulte el tutorial de mapeo de referencia para obtener más detalles.
scGPT ahora también está disponible en las siguientes aplicaciones en línea, por lo que puede comenzar simplemente con su navegador.
scGPT funciona con Python >= 3.7.13 y R >=3.6.1. Asegúrese de tener instalada la versión correcta de Python y R antes de la instalación.
scGPT está disponible en PyPI. Para instalar scGPT, ejecute el siguiente 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 el registro y la visualización.
pip install wandb
Para el desarrollo, utilizamos el administrador de paquetes de Poetry. Para instalar Poetry, siga las instrucciones aquí.
$ git clone this-repo-url
$ cd scGPT
$ poetry install
Nota : La dependencia flash-attn
generalmente requiere una versión específica de GPU y CUDA. Si encuentra algún problema, consulte el repositorio flash-attn para obtener instrucciones de instalación. Por ahora, mayo de 2023, recomendamos usar CUDA 11.7 y flash-attn<1.0.5 debido a varios problemas informados sobre la instalación de nuevas versiones de flash-attn.
Aquí está la lista de modelos previamente entrenados. Encuentre los enlaces para descargar las carpetas de puntos de control. Recomendamos utilizar el modelo whole-human
para la mayoría de las aplicaciones de forma predeterminada. Si su conjunto de datos de ajuste comparte un contexto de tipo celular similar con los datos de entrenamiento de los modelos específicos de órganos, estos modelos generalmente también pueden demostrar un rendimiento competitivo. En cada carpeta de puntos de control se proporciona un archivo de vocabulario emparejado que asigna nombres de genes a identificadores. Si se necesitan identificadores de ENSEMBL, busque la conversión en gene_info.csv.
Nombre del modelo | Descripción | Descargar |
---|---|---|
totalmente humano (recomendado) | Preentrenado en 33 millones de células humanas normales. | enlace |
preentrenamiento continuo | Para tareas relacionadas con la incrustación de células de disparo cero. | enlace |
cerebro | Preentrenado en 13,2 millones de células cerebrales. | enlace |
sangre | Preentrenado en 10,3 millones de células sanguíneas y de médula ósea. | enlace |
corazón | Preentrenado en 1,8 millones de células cardíacas | enlace |
pulmón | Preentrenado en 2,1 millones de células pulmonares. | enlace |
riñón | Preentrenado en 814 mil células renales. | enlace |
pan-cáncer | Preentrenado en 5,7 millones de células de varios tipos de cáncer. | enlace |
Consulte nuestro código de ejemplo en ejemplos/finetune_integration.py. De forma predeterminada, el script asume que la carpeta del punto de control scGPT está almacenada en el directorio de examples/save
.
Agradecemos enormemente las contribuciones a scGPT. Envíe una solicitud de extracción si tiene alguna idea o corrección de errores. También agradecemos cualquier problema que encuentre al usar scGPT.
Agradecemos sinceramente a los autores de los siguientes proyectos de código abierto:
@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 }
}