--- license: mit pipeline_tag: mask-generation tags: - model_hub_mixin - pytorch_model_hub_mixin --- # CI-FM: Cellular Interaction Foundation Model ## Overview This is the PyTorch implementation of the CI-FM model -- an AI model that can simulate the activities within a living tissue (AI virtual tissue). The current version of CI-FM has 138M parameters and is trained on around 23M cells of spatial genomics. The signature functions of CI-FM are: - **Embedding** of celllular microenvironments via ```embeddings = model.embed(adata)``` (Figure below panel D top); - **Inference** of cellular gene expressions within a certain microenvironment via ```expressions = model.predict_cells_at_locations(adata, target_locs)``` (Figure below panel D bottom). The detailed usage of the model can be found in the [tutorial](https://huggingface.co/ynyou/CIFM/blob/main/test.ipynb). Before running the tutorial, please set up an environment following the [environment instruction](https://huggingface.co/ynyou/CIFM#environment). More information about the model can be found in the [preprint](). ![](./figures/cifm.png) ## Environment I use conda to manage the environment ```conda create -n $MYENV python=3.11```, but it is not the only way to do that. After entering the environment, you can clone the model via: ``` # Make sure you have git-lfs installed (https://git-lfs.com), e.g. as: git lfs install # or if you are under conda environment, you can also install git-lfs via conda as: conda install anaconda::git-lfs # clone the model and enter the directory git clone https://huggingface.co/ynyou/CIFM cd ./CIFM/ git lfs install ; git lfs pull ``` The environment can be set up via: ``` # my python version is 3.11, which is manage when creating conda environment: conda create -n $MYENV python=3.11 pip install torch==2.1.0 --index-url https://download.pytorch.org/whl/cu118 pip install torch-scatter torch-sparse torch-cluster torch-geometric -f https://data.pyg.org/whl/torch-2.1.0+cu118.html pip install scanpy e3nn lightning==2.1.0 transformers numpy==1.26.4 ``` where the compatibility between ```torch``` and ```torch-geometric``` is not always guaranteed (lines 2-3), since these two guys are very picky on the platform and the version of other packages. You may need trial-and-error to find the right versions of ```torch``` and ```torch-geometric``` that works for you, e.g., in some machine I once installed via: ``` pip install torch==2.0.1 --index-url https://download.pytorch.org/whl/cu117 pip install torch-scatter torch-sparse torch-cluster torch-geometric -f https://data.pyg.org/whl/torch-2.0.1+cu117.html ``` ## Citation If you use this code for you research, please cite our paper. ``` TBD ```