Home

Awesome

SpaGCN v1.2.7

SpaGCN: Integrating gene expression, spatial location and histology to identify spatial domains and spatially variable genes by graph convolutional network

Jian Hu*, Xiangjie Li, Kyle Coleman, Amelia Schroeder, Nan Ma, David J. Irwin, Edward B. Lee, Russell T. Shinohara, Mingyao Li*

SpaGCN is a graph convolutional network to integrate gene expression and histology to identify spatial domains and spatially variable genes. To jointly model all spots in a tissue slide, SpaGCN integrates information from gene expression, spatial locations and histological pixel intensities across spots into an undirected weighted graph. Each vertex in the graph contains gene expression information of a spot and the edge weight between two vertices quantifies their expression similarity that is driven by spatial dependency of their coordinates and the corresponding histology. To aggregate gene expression of each spot from its neighboring spots, SpaGCN utilizes a convolutional layer based on edge weights specified by the graph. The aggregated gene expression is then fed into a deep embedding clustering algorithm to cluster the spots into different spatial domains. After spatial domains are identified, genes that are enriched in each spatial domain can be detected by differential expression analysis between domains. SpaGCN is applicable to both in-situ transcriptomics with single-cell resolution (seqFISH, seqFISH+, MERFISH, STARmap, and FISSEQ) and spatial barcoding based transcriptomics (Spatial Transcriptomics , SLIDE-seq, SLIDE-seqV2, HDST, 10x Visium, DBiT-seq, Stero-seq, and PIXEL-seq) data.

SpaGCN workflow <br> For thorough details, see the preprint: Biorxiv <br>

Usage

The SpaGCN package is an implementation of a garph convolutional network for spatial transcriptomics. With SpaGCN, you can:

Tutorial

For the step-by-step tutorial, please refer to: <br> https://github.com/jianhuupenn/SpaGCN/blob/master/tutorial/tutorial.md <br> A Jupyter Notebook of the tutorial is accessible from : <br> https://github.com/jianhuupenn/SpaGCN/blob/master/tutorial/tutorial.ipynb <br> Toy data and results can be downloaded at: <br> https://drive.google.com/drive/folders/1zten54vkjorp26T4iD0ApQGa9ut5eY42?usp=sharing <br> Please install Jupyter in order to open this notebook.

New Features! EZ Mode SpaGCN now available.

For users who are new to Python, we provide an Easy Mode SpaGCN. The parameter setting and intermedium steps are simplified. <br> Important Notes: This easy mode ONLY have basic functions and is ONLY for analysis purpose. <br> For method comparison, debugging, customizing parameters, and checking intermedium outputs, please refer to the detailed tutorial above. <br> Easy Mode SpaGCN tutorial: <br> https://github.com/jianhuupenn/SpaGCN/blob/master/tutorial/tutorial_ez_mode.md <br> Easy Mode SpaGCN Jupyter Notebook: <br> https://github.com/jianhuupenn/SpaGCN/blob/master/tutorial/tutorial_ez_mode.ipynb <br>

System Requirements

Python support packages: igraph, torch, pandas, numpy, scipy, scanpy > 1.5, anndata, louvain, sklearn.

Versions the software has been tested on

Environment 1:

Environment 2:

Environment 3:

Contributing

Souce code: Github

We are continuing adding new features. Bug reports or feature requests are welcome.

Last update: 06/19/2021, version 1.2.0

References

Please consider citing the following reference:

<br>