scState: A pathway-informed graph transformer framework for decoding stem cell state transitions from scRNA-seq data
Project description
scState: Decoding stem cell state transitions through pathway-informed heterogeneous graph representations
Note: This project is for internal testing purposes only. Do not use it in a production environment.
We developed scState, a pathway-informed graph transformer framework for identifying stem cells and resolving quiescent and activated stem cell states from scRNA-seq data. By integrating pathway activity with adversarial representation learning in a heterogeneous graph architecture, scState enables stem cell identification, cell state discrimination, pathway-level interpretation, and trajectory inference.
Keywords: scRNA-seq, graph transformer, adversarial learning, stem cell, cell state transition
Installation
System requirements
- Python 3.8.x
- Linux system is recommended
- GPU is recommended for faster model training, but CPU installation is also supported
Installation steps
1. Create a new conda environment
conda create --name scState python=3.8 -y
conda activate scState
2. Install PyTorch and PyTorch Geometric
Install PyTorch, PyTorch Geometric, and torchmetrics before installing scState.
GPU version with CUDA 11.8
pip install https://download.pytorch.org/whl/cu118/torch-2.4.1%2Bcu118-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcu118/torch_scatter-2.1.2%2Bpt24cu118-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcu118/torch_sparse-0.6.18%2Bpt24cu118-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcu118/torch_cluster-1.6.3%2Bpt24cu118-cp38-cp38-linux_x86_64.whl
pip install torch-geometric==2.6.1
pip install torchmetrics==0.9.3
CPU version
pip install https://download.pytorch.org/whl/cpu/torch-2.4.1%2Bcpu-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcpu/torch_scatter-2.1.2%2Bpt24cpu-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcpu/torch_sparse-0.6.18%2Bpt24cpu-cp38-cp38-linux_x86_64.whl
pip install https://data.pyg.org/whl/torch-2.4.0%2Bcpu/torch_cluster-1.6.3%2Bpt24cpu-cp38-cp38-linux_x86_64.whl
pip install torch-geometric==2.6.1
pip install torchmetrics==0.9.3
3. Install scState
The package name on PyPI is scstate:
pip install --upgrade scstate
To install a specific version:
pip install scstate==2.0.0
Although the package is installed from PyPI as scstate, it should be imported in Python as scState:
import scState
4. Install trajectory-related dependencies
If trajectory-related analysis is needed, install the optional trajectory dependencies:
python -m pip install "scstate[trajectory]==0.1.2"
Then install MulticoreTSNE for Palantir:
conda install -c conda-forge multicore-tsne=0.1 -y
Finally, install Palantir:
pip install palantir==1.0.0
5. Add the environment to Jupyter Notebook
pip install ipykernel
python -m ipykernel install --user --name scState --display-name "Python (scState)"
Dependencies
scState was tested under Python 3.8.x.
Main dependencies
The following dependencies are installed by default with:
pip install scstate
- anndata==0.8.0
- dill==0.3.4
- matplotlib==3.5.2
- numpy==1.22.3
- pandas==1.4.2
- scipy==1.10.1
- seaborn==0.11.2
- scikit-learn==1.1.2
- xlwt==1.3.0
- tqdm==4.64.0
- scanpy==1.9.1
- leidenalg==0.8.10
- ipywidgets==8.0.6
Model-related dependencies
- torch==2.4.1+cu118 or torch==2.4.1+cpu
- torch-geometric==2.6.1
- torchmetrics==0.9.3
- torch-scatter==2.1.2+pt24cu118 or torch-scatter==2.1.2+pt24cpu
- torch-sparse==0.6.18+pt24cu118 or torch-sparse==0.6.18+pt24cpu
- torch-cluster==1.6.3+pt24cu118 or torch-cluster==1.6.3+pt24cpu
Trajectory-related dependencies
- PhenoGraph==1.5.7
- fcsparser==0.2.4
- MulticoreTSNE==0.1
- palantir==1.0.0
Usage
After installation, scState modules can be imported as follows:
from scState.conv import *
from scState.scState_model import *
from scState.utils import *
License
This project is released under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scstate-2.0.0.tar.gz.
File metadata
- Download URL: scstate-2.0.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
822320948a92df260a6ca4707bf698369761d2ec4d1ebfe86b9e61eb7cd885c3
|
|
| MD5 |
19cf78772d1d28468e473653eaebbf8b
|
|
| BLAKE2b-256 |
e5c2ec82f9938ee245589eaf138f39def7bcae0260ca7dad7926dddd1af92cde
|
File details
Details for the file scstate-2.0.0-py3-none-any.whl.
File metadata
- Download URL: scstate-2.0.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce8dc0b3e69b8daa88eb659de6b858a5d9ce83447dd66f12ee87f9d18a102d58
|
|
| MD5 |
41f8cf257120dd2c57af78bcb853de19
|
|
| BLAKE2b-256 |
49bcc8d32009fee8ac2d44067a6b3ec23999bbb483289cef183a0c63d1575628
|