이것은 scGPT: 생성 AI를 사용하여 단일 셀 다중 오믹스를 위한 기반 모델 구축을 향한 공식 코드베이스입니다.
!업데이트 : 사전 훈련된 몇 가지 새로운 scGPT 체크포인트를 출시했습니다. 자세한 내용은 사전 학습된 scGPT 검사점 섹션을 참조하세요.
[2024.02.26] 통합-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 라이브러리의 도움으로 우리는 엄청난 시간과 메모리 효율성을 달성했습니다. 3,300만 개가 넘는 셀의 인덱스는 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 저장소에서 설치 지침을 참조하세요. 새로운 버전의 flash-attn 설치와 관련하여 보고된 다양한 문제로 인해 2023년 5월 현재로서는 CUDA 11.7 및 flash-attn<1.0.5를 사용하는 것이 좋습니다.
사전 학습된 모델 목록은 다음과 같습니다. 체크포인트 폴더 다운로드 링크를 찾아보세요. 기본적으로 대부분의 애플리케이션에는 whole-human
모델을 사용하는 것이 좋습니다. 미세 조정 데이터 세트가 기관별 모델의 훈련 데이터와 유사한 세포 유형 컨텍스트를 공유하는 경우 이러한 모델은 일반적으로 경쟁력 있는 성능도 보여줄 수 있습니다. 유전자 이름을 ID에 매핑하는 쌍을 이루는 어휘 파일이 각 체크포인트 폴더에 제공됩니다. ENSEMBL ID가 필요한 경우 gene_info.csv에서 변환을 찾으세요.
모델명 | 설명 | 다운로드 |
---|---|---|
전체 인간(권장) | 3,300만 개의 정상 인간 세포에 대해 사전 훈련되었습니다. | 링크 |
지속적인 사전 학습 | 제로샷 셀 임베딩 관련 작업에 사용됩니다. | 링크 |
뇌 | 1,320만 개의 뇌세포에 사전 훈련되었습니다. | 링크 |
피 | 1,030만 개의 혈액 및 골수 세포에 대해 사전 훈련되었습니다. | 링크 |
마음 | 180만 개의 심장 세포에 사전 훈련됨 | 링크 |
폐 | 210만 개의 폐 세포에 대해 사전 훈련됨 | 링크 |
신장 | 814,000개의 신장 세포에 대해 사전 훈련됨 | 링크 |
범암 | 다양한 암 유형의 570만 개 세포에 대해 사전 훈련됨 | 링크 |
example/finetune_integration.py에서 예제 코드를 참조하세요. 기본적으로 스크립트는 examples/save
디렉터리에 저장된 scGPT 검사점 폴더를 가정합니다.
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 }
}