Coder Social home page Coder Social logo

bm2-lab / spado Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 1.0 2.71 MB

Multi-slice Spatial Transcriptome Domain Analysis.

Home Page: https://github.com/bm2-lab/SpaDo

License: GNU General Public License v2.0

R 100.00%
multi-slice spatial-domains spatial-transcriptomics

spado's Introduction

Multi-slice Spatial Transcriptome Domain Analysis.

Fig 1. Workflow of SpaDo. a. Calculating the SPACE for both single-cell resolution and spot resolution spatial transcriptomic data. SPACE: SPatially Adjacent Cell type Embedding. b. Three functions involved in multi-slice spatial domain analysis: multi-slice domain detection, reference-based spatial domain annotation, and multi-slice clustering analysis by consideration of spatial domain composition. JSD, Jensen Shannon Divergence.

Overview

With the rapid advancements in spatial transcriptome sequencing, multiple tissue slices are now available, enabling the integration and interpretation of spatial cellular landscapes. Herein, we introduce SpaDo, a tool for multi-slice spatial domain analysis, including modules for multi-slice spatial domain detection, reference-based annotation, and multiple slice clustering at both single-cell and spot resolutions. We demonstrate SpaDo's effectiveness with over 40 multi-slice spatial transcriptome datasets from 7 sequencing platforms. Our findings highlight SpaDo's potential to reveal novel biological insights in multi-slice spatial transcriptomes.

Installation

  • SpaDo package can be installed from Github using devtools packages with R>=4.0.5.

  • Attention: SpaDo was originally built on Seurat 4.0.4 and SeuratObject 4.0.4. To avoid problems due to Seurat updates, please make sure you are using the same version of Seurat and SeuratObject packages (Seurat 4.0.4 and SeuratObject 4.0.4)!

    library(devtools)
    install_github("bm2-lab/SpaDo")

Getting started

See Tutorials with different styles and Demo datasets

Citation

Duan, B., Chen, S., Cheng, X. et al. Multi-slice spatial transcriptome domain analysis with SpaDo. Genome Biol 25, 73 (2024). https://doi.org/10.1186/s13059-024-03213-x

spado's People

Contributors

binduan avatar

Stargazers

 avatar Liuzaoqu avatar Hui Wan avatar  avatar  avatar Lambda Moses avatar Mark Keller avatar

Watchers

 avatar Michael Chuai avatar  avatar  avatar

Forkers

binduan

spado's Issues

Bugs when integrated a large 10X Visium spatial RNA-seq data (total samples = 24, spots ≈ 60k) by using `DomainPlot_multiple`

Hi,
Thank you very much for developing such useful tools. When integrating a large spatial RNA-seq data (10X Visium, total samples = 24, spots ≈ 60k), I encountered some bugs with DomainPlot_multiple function:

> DomainPlot_multiple(domain_hclust = domain_hclust,
+                     distribution_distance = DD)
Loading required package: umap


 *** caught segfault ***
address 0x7f5874b53ec0, cause 'memory not mapped'

Traceback:
 1: metric.function(dT, i, neighbors)
 2: FUN(X[[i]], ...)
 3: lapply(seq_len(V), function(i) {    neighbors <- pick.random.k(i)    neighbor.distances <- metric.function(dT, i, neighbors)    result <- matrix(c(i, neighbors, -1, neighbor.distances),         ncol = 2)    result[order(result[, 2]), ]})
 4: knn.from.data(dT, k, metric.function, subsample.k)
 5: knn.from.data.reps(d, k, distfun, reps = config$knn_repeats)
 6: knn.info(d, config)
 7: implementations[[method]](d, config)
 8: umap(t(data))
 9: DrawCluster(t(distribution_distance), method = "umap", label = cluster_hc[row.names(distribution_distance)])
10: DomainPlot_multiple(domain_hclust = domain_hclust, distribution_distance = DD)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection: dev.off()
Selection: 1
R is aborting now ...
Segmentation fault (core dumped)

Any suggestions would be greatly appreciated!

Error: No normalization

Hello,

Trying to run either InitialClustering or SpatialCellTypeDistribution with Seurat v5:

Error in ScaleData(): ! No layer matching pattern 'data' found. Please run NormalizeData and retry

The problem can be fixed by adding NormalizeData:

sce_seurat <- FindVariableFeatures(sce_seurat, nfeatures = nfeatures)  
sce_seurat <- NormalizeData(sce_seurat) ## Added  
sce_seurat <- ScaleData(sce_seurat)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.