Skip to main content

Introduction to SpaCell

  • SpaCell has been developed for analysing spatial transcriptomics (ST) data, which include imaging data of tissue sections and RNA expression data across the tissue sections. The ST data add a novel spatial dimension to the traditional gene expression data, which derive from dissociated cells. The ST data also add molecular information to a typical histological image. Spacell is desinged to integrates the two histopathological imaging and sequencing fields, with the ultimate aim to discover novel biology and to improve histopathological diagnosis.

  • SpaCell implements (deep) neural network (NN) models likea multi-input and multi-output autoencoder, transfer learning with or without fine tuning and residual and separable convolutional NN architectures to identify cell types or to predict disease stages. The NN integrates millions of pixel intensity values with thousands of gene expression measurements from spatially-barcoded spots in a tissue. Prior to model training, SpaCell enables users for implement a comprehensive data preprocessing workflow to filter, combine, and normalise images and gene expression matrices.

Installation

  1. Requirements:
[python 3.6+]
[TensorFlow 1.4.0]
[scikit-learn 0.18]
[keras 2.2.4]
[seaborn 0.9.0]
[opencv 4.1.1]
[pandas 0.25.0]
[pillow 6.1.0]
[python-spams 2.6.1]
[staintools 2.1.2]
...
  1. Installation:

2.1 Build from sources

To meet the requirements, we recommend user to use either (1) conda environment:

# Download SapCell from GitHub and install all required packages:
git clone https://github.com/BiomedicalMachineLearning/Spacell.git
cd Spacell
conda env create -f requirements.yml
# To activate environment:
conda activate SpaCell
# To exit environment:
conda deactivate

Or (2) Docker container:

# Downlaod Docker image
docker pull biomedicalmachinelearning/spacell:latest
# Run Docker container
docker run \
-it \
-v /path/to/your/data:/home/Spacell/dataset/ \ # mount your local data directory to container
biomedicalmachinelearning/spacell:latest

2.2 Install from PyPi

pip install SpaCell

Build Status

Build Type Status Artifacts
Ubuntu Linux 18.04 Build Status Conda, Docker, PyPI
Centos Linux 7 Build Status Conda, Docker, PyPI
MacOS(Mojave) Build Status Conda, Docker, PyPI
MacOS(Catalina) Build Status Conda, Docker, PyPI
Windows 10 Build Status Docker, PyPI

* python-spams 2.6.1, a dependence of staintools 2.1.2, is currently not avaliable on Windows 10 platform. We recommend Windows 10 user to use Docker container instead of Conda environment.

Usage

Configurations

config.py

  1. Specify the dataset directory and output directory.
  2. Specify model parameters.

1. Image Preprocessing

python image_normalization.py

2. Count Matrix PreProcessing

python count_matrix_normalization.py

3. Generate paired image and gene count training dataset

python dataset_management.py

4. Classification

python spacell_classification.py

5. Clustering

python spacell_clustering.py -i /path/to/one/image.jpg -l /path/to/iamge/tiles/ -c /path/to/count/matrix/ -e 100 -k 2 -o /path/to/output/

  • -e is number of training epochs
  • -k is number of expected clusters

6. Clustering Validation and Quantification

python spacell_validation.py -d /path/to/data -a annotation.png -w wsi.jpeg -m affine_tranformation_matrix.txt -o output_folder -k clustering_predictions.tsv -c annotation_colour_range

  • -c is annotation colour range thresholds - blue_low green_low red_low blue_upper green_upper red_low
  • -t indicates that annotations are not closed paths, so spacell with try to close the paths
  • -f downscale factor if the input whole slide image has already been downscaled
  • -s spot size, optional, usually set automatically

Results

Classification of ALS disease stages

Clustering for finding prostate cancer region

Clustering for finding inflamed stromal

Clustering for anatomical regions in mouse olfactory bulb (High density ST dataset)

Dataset

For evaluating the algorithm, ALS (Amyotrophic lateral sclerosis) dataset, prostate cancer dataset, and a high density spatial transcriptomic HDST dataset were used.

Citing Spacell

If you find Spacell useful in your research, please consider citing:

Xiao Tan, Andrew T Su, Minh Tran, Quan Nguyen (2019). SpaCell: integrating tissue morphology and spatial gene expression to predict disease cells. (Manuscript is currently under-review)

The team

The software is under active development by the Biomedical Machine Learning Lab at the Institute for Molecular Bioscience (IMB, University of Queensland).

Please contact Dr Quan Nguyen (quan.nguyen@uq.edu.au), Andrew Su (a.su@uq.edu.au), and Xiao Tan (xiao.tan@uq.edu.au) for issues, suggestions, and we very welcome collaboration opportunities.

Metadata

Release files for Spacell 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Spacell 1.0.1
File Size Uploaded
Spacell-1.0.1.tar.gz 28.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Spacell 1.0.1
File Interpreter ABI Platform
Spacell-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 58.2 kB

Release files / Spacell-1.0.1.tar.gz

Download URL Spacell-1.0.1.tar.gz
Size 28.3 kB
Tags Source
SHA-256 checksum
How to use checksums
73b5d314ac09db72ae3129f86aa82bae47873bb445a1406de384441ef35a7383
BLAKE2b-256 checksum
How to use checksums
86eccd4a62506841d952983131dc725df8f04e383cb646d28ce47b1119137ea2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release files / Spacell-1.0.1-py3-none-any.whl

Download URL Spacell-1.0.1-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
924243506167a1fbb3bbdea3d4b4c4a8aa07041fff2c4a73695fb7d7cfdef01a
BLAKE2b-256 checksum
How to use checksums
ecf5b562d79fe974bd0024fe8604da42df71de63f6f89679f96fa32e2d56b346
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

0.9.9

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page