A spatial transcriptomics deconvolution tool for cell type identification and gene expression analysis
Project description
CITEgeist: Cellular Indexing of Transcriptomes and Epitopes for Guided Exploration of Intrinsic Spatial Trends
CITEgeist is a computational method for deconvolving spatial transcriptomics data using spatially-resolved CITE-seq measurements. The pipeline performs both cell-type proportion estimation and gene expression deconvolution in a two-pass approach, leveraging both protein and RNA measurements from the same spatial locations.
Quick Installation
You can now also install CITEgeist using pip:
pip install citegeist
Table of Contents
System Requirements
Software Dependencies
-
Operating System:
- Linux
- macOS
- Windows 10 with WSL2
-
Python: 3.10
-
Gurobi version > 3.9
Key Python Dependencies
- scanpy==1.10.4
- anndata==0.11.3
- numpy==1.26.4
- pandas==2.2.3
- scipy==1.13.1
- scikit-learn==1.6.1
- gurobipy==11.0.2 (requires license)
- matplotlib==3.10.0
- seaborn==0.13.2
- h5py==3.12.1
- squidpy==1.6.2
- spatialdata==0.2.5.post0
It is recommended to install the dependencies in the CITEgeist_env.yml file for running the notebooks.
Hardware Requirements
- RAM: Minimum 16GB, Recommended 64GB+
- Storage: 16GB minimum for installation and basic analysis
- CPU: Multi-core processor recommended (8+ cores for optimal performance)
Getting Started
1. Installation
Install CITEgeist using pip:
pip install citegeist
For development installation:
git clone https://github.com/acc383/CITEgeist.git
cd CITEgeist
pip install -e .[dev]
2. Set Up the Environment
- Create and activate a new conda environment:
conda create -n citegeist python=3.10
conda activate citegeist
3. Obtain Gurobi License
CITEgeist requires a Gurobi license (free for academic use):
- Sign up for an academic license at: https://www.gurobi.com/downloads/end-user-license-agreement-academic/
- Follow the instructions to download and install your license.
- Update the license file path in your code to match your local license location.
4. Running CITEgeist
You can run CITEgeist in two ways:
A. Using Python Scripts
- Expected runtime on a standard computer (16 threads, 32GB RAM):
- Small dataset: ~2 hours
- Medium dataset: ~4 hours
- Large dataset: ~10 hours
Key Parameters:
radius: Radius for neighbor detection (default: 4)lambda_reg: Regularization strength for cell proportion estimation (default: 0.001)alpha_elastic: Elastic net mixing parameter for cell proportion estimation (default: 0.7)max_y_change: Maximum allowed change in Y values (default: 0.2)
Optional Parameters:
profiling_only: Set for cell-type proportions only.max_workers: Number of parallel workers.checkpoint_interval: Checkpoint saving interval.
B. Using SLURM Distribution
For large-scale analyses, you can use the provided examples/sbatch_sample.sh script for distributed computing.
Benchmarking and Reproducibility
For specific reproduction of benchmarking tests and detailed methodology, please refer to the 'examples' and 'benchmarking' section in the documentation.
Run the Analysis
You can either:
A. Run the code directly:
- Expected runtime: ~2 hours on a standard computer (16 threads, 32GB RAM).
B. Use SLURM distribution:
- Use the provided
examples/sbatch_sample.shscript for distributed computing.
Additional System Requirements
- RAM: 32GB (minimum)
- CPU: 16 threads (recommended)
- Storage: Sufficient space for your dataset
- Operating System: Linux/Unix recommended (Windows users may need additional configuration)
Project details
Release history Release notifications | RSS feed
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 citegeist-0.1.1.tar.gz.
File metadata
- Download URL: citegeist-0.1.1.tar.gz
- Upload date:
- Size: 40.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a52eab80cb37151a9e8ab88dfac6e31e3c9d1a336aef77c3379fd49e611c53ec
|
|
| MD5 |
87eaed3971b8110d80907870ebcf4586
|
|
| BLAKE2b-256 |
f240e01e365781f04652261023d446b05a9a292404c3f08bb30c290f78086a01
|
File details
Details for the file citegeist-0.1.1-py3-none-any.whl.
File metadata
- Download URL: citegeist-0.1.1-py3-none-any.whl
- Upload date:
- Size: 32.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
888a8da316cb026c476dad8ed824215a2e2dc9f9a5f034e4c8966bda7e21b258
|
|
| MD5 |
c62518cccebc4cce31dca7db48e097d0
|
|
| BLAKE2b-256 |
f0835e3be5c708a221e15744c9d0029eefb69c89739f49a0ee86d2b7e7f355f0
|