README.md

title: "README.md" author: "YihanXiao" date: "8/2/2021"

STREAM: Spatial transcriptomics data analysis and modeling

STREAM is a protocol for processing spatial transcriptomic data. Currently, it supports 10x-genomics. The flow could also take processed matrices or Seurat object from FISH-seq, STARmap, Slide-seq , Dbit-seq and seq-scope as input files. Processed matrices consist of count matrix and table with location information for each spots obtained from image processing. Besides,the meta file of cell-type annotations is optional.

STREAM is composed of for following parts: Initialization, Preprocessing, SE genes, Spatial Clustering, CCI and Integration with scRNA seq data. Preprocessing part includes steps of initialization, visualization, QC, normalization, filter, dimension reduction, clustering based on expression only, marker-gene identification, etc. SE genes part is for the genes with strong difference in spatial expression pattern, in which published methods including SpatialDE, binspect, silhouetteRank, SPARK are collected. Spatial clustering part investigates sub-domains for tissue heterogeneity through HMRF and Neighborhood-Kmeans method. CCI part aims to study the potential gene pair relation and cell-cell interaction in the space.

Documentation

For the documentation, instruction and tutorials of STREAM, visit STREAM Website.

Installation

$ git clone https://github.com/YeehanXiao/STREAM.git
$ cd STREAM
$ conda env create -f enviroment.yml
$ conda activate STREAM
$ pip3 install NaiveDE
$ pip3 install spatialde
$ R -e 'devtools::install_github("xzhoulab/SPARK")'
$ R -e 'devtools::install_github("RubD/Giotto", force = TRUE)'
$ R -e 'devtools::install(".")'

Usage

Initialize

instrs <- Giotto::createGiottoInstructions(show_plot = FALSE,save_plot = FALSE, save_dir = "./",python_path = "/usr/local/bin/python3")

object <- Giotto::createGiottoObject(raw_exprs = data[["Spatial"]]@counts, spatial_locs = data@meta.data[, c("x", "y")], instructions = instrs)

Preprocess

object <- processing(object = Giotto_obj)

Identify SE genes

diffgene <- DiffGenes(object = object, numCores = 10)

Explore spatial clustering pattern

object <- KmeansCluster(object = object)
object <- HmrfCluster(object = object, outputFolder = "/Users/xiaoyihan", spatialGenes = diffgene$binspectGenes[1:200, ]$genes)

Study cell-cell interaction

ggi <- GGI(object = object, numCores = 10)
interaction=SpatCellphoneDB(testob, num.cores = 16,cellphonedbPath = "/Users/xiaoyihan/miniconda3/bin/cellphonedb")

Visualization

QCplot(object=object)
SEplot(diffgene,Species = "mouse")
DomainPlot(object=object)
scHOTplot(cci)
cellphoneDBplot(interaction = interaction, outputFolder = "liver_results",save.plot = TRUE)

References

...



YeehanXiao/STREAM documentation built on Aug. 13, 2022, 6:43 p.m.