Skip to main content

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==0.1.2

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.5.3,<2.0
  • 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.8
  • 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

scstate-1.0.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scstate-1.0.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file scstate-1.0.0.tar.gz.

File metadata

  • Download URL: scstate-1.0.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.12

File hashes

Hashes for scstate-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3ff8cd43d545a71a5645e51c7ffa3c693093297ccc8ed1b0e21c286ff2443eba
MD5 07ddcf3d70733debdbd239c9131d9d6a
BLAKE2b-256 30953f117995e6dc14effe50bd355e2ad0d02991276a411f7a9f22cfcc491aa2

See more details on using hashes here.

File details

Details for the file scstate-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: scstate-1.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

Hashes for scstate-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ed60b672d71ca8bf271a729d67bfd85e68f9d59e7981cbaf1c8d62d7885bf3e
MD5 bf68ac73da3f036b3d91aa3402291184
BLAKE2b-256 5cd96ae81622655612184da6c73e58c1d02b8d7ec5a18e8cb1b48d848b9d697c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page