Skip to main content

CellNiche represents cellular microenvironments in atlas-scale spatial omics data with contrastive learning

Project description

CellNiche

Overview ✨

CellNiche is a scalable, cell-centric framework for identifying and characterizing cellular micro-environments from atlas-scale, heterogeneous spatial omics data.
Instead of processing entire tissue slices, CellNiche samples local subgraphs around each cell and learns context-aware embeddings via contrastive learning, while explicitly decoupling molecular identity (gene expression or cell-type labels) from spatial proximity modeling.

Installation ⚙️

From Source (recommend)

git clone https://github.com/Super-LzzZ/CellNiche.git
cd cellniche

From PyPI

pip install CellNiche

Requirements

  • Python ≥ 3.7
  • PyTorch ≥ 1.12
  • PyTorch Geometric (torch-geometric, torch-scatter, torch-sparse, torch-cluster, torch-spline-conv)
  • Scanpy ≥ 1.9
  • Anndata ≥ 0.9
  • scikit-learn ≥ 1.3
  • numpy ≥ 1.22
  • scipy ≥ 1.10
  • pandas ≥ 2.0
  • networkx ≥ 3.1
  • tqdm ≥ 4.67.1

You can install most dependencies with:

pip install torch torchvision torchaudio
pip install torch-geometric torch-scatter torch-sparse torch-cluster torch-spline-conv
pip install scanpy anndata scikit-learn numpy scipy pandas networkx tqdm

A successful example

conda create -n cellniche python=3.9
conda activate cellniche
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
pip install torch_cluster-1.6.3+pt20cu117-cp39-cp39-linux_x86_64.whl
pip install torch_scatter-2.1.2+pt20cu117-cp39-cp39-linux_x86_64.whl
pip install torch_sparse-0.6.18+pt20cu117-cp39-cp39-linux_x86_64.whl
pip install torch_spline_conv-1.2.2+pt20cu117-cp39-cp39-linux_x86_64.whl
pip install torch-geometric==2.6.1
pip install CellNiche

pip install pyyaml
...

Tutorials 📚

Spatial proteomics data or single-cell spatial transcriptomics data

The data required to run tutorials is located in data/. Please note that due to Github size limitations, you have to download the relevant data for analysis from Google Drive.

CellNiche for single-slice

CellNiche for integrated multiple slices from the same experiment

CellNiche for integrated multiple slices across different technologies

Getting Started 🚀

bash (recommend)

python -m cellniche.main --config ./configs/cortex.yaml

python

# way 1: If you download from source (better suited for personalized use)
sys.path.append('/share/home/liangzhongming/phd_code/530/CellNiche/release')
import cellniche as cn

# way 2: If you download from PyPI (better suited for stable use)
# import cellniche as cn


# Parse arguments from a YAML config
# Run training/inference
adata = cn.cli(["--config", "../configs/cortex.yaml"])

Contribution

For questions or comments, please use the issue tracker and/or email Zhongming Liang (liangzhongming21@mails.ucas.ac.cn).

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

cellniche-0.1.5.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

cellniche-0.1.5-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file cellniche-0.1.5.tar.gz.

File metadata

  • Download URL: cellniche-0.1.5.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.20

File hashes

Hashes for cellniche-0.1.5.tar.gz
Algorithm Hash digest
SHA256 6fe1b74e17c949d0e11a55bb880ea008518834f067e07138f7ec7aac9c6bc41d
MD5 785c4e0f0007a8a92211c52358ea3300
BLAKE2b-256 3ce6f420ab7f74b72d80e596efd864e166aa2f857658c97c477ca577ca4aba4c

See more details on using hashes here.

File details

Details for the file cellniche-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: cellniche-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.20

File hashes

Hashes for cellniche-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ea86544be64381c515faaaf2301e2a1a1c05558b497faf06db25857655d90132
MD5 b114f20ade1a639d180cf276321473e9
BLAKE2b-256 78dda3749bf46ca72909e444918949257aac3b32d8edb30ed0585343c45cd637

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