You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,16 @@ k-NN-based mapping of cells across representations to tranfer labels, embeddings
16
16
17
17
Inspired by scanpy's [ingest][] and the [HNOCA-tools][] packages. Check out the [docs][] to learn more, in particular our [tutorials][].
18
18
19
+
## Key use cases
20
+
21
+
- Transfer cell type labels and expression values from dissociated to spatial datasets.
22
+
- Transfer embeddings between arbitrary query and reference datasets.
23
+
- Compute presence scores for query datasets in large reference atlasses.
24
+
- Identify niches in spatial datasets by contextualizing latent spaces in spatial coordinates.
25
+
- Evaluate the results of transferring labels, embeddings and feature spaces using a variety of metrics.
26
+
27
+
The core idea of `CellMapper` is to separate the method (k-NN graph with some kernel applied to get a mapping matrix) from the application (mapping across arbitrary representations), to be flexible and fast. The tool currently supports [pynndescent][], [sklearn][], [faiss][] and [rapids][] for neighborhood search, implements a variety of graph kernels, and is closely integrated with `AnnData` objects.
28
+
19
29
## Installation
20
30
21
31
You need to have Python 3.10 or newer installed on your system.
@@ -37,20 +47,20 @@ There are two alternative options to install ``cellmapper``:
37
47
38
48
## Getting started
39
49
40
-
This package assumes that you have ``ref`` and ``query`` AnnData objects, with a joint embedding computed and stored in ``.obsm``. We explicilty do not compute this joint embedding, but there are plenty of method you can use to get such joint embeddings, e.g. [GimVI][] or [ENVI][] for spatial mapping, [GLUE][], [MIDAS][] and [MOFA+][] for modality translation, and [scVI][], [scANVI][] and [scArches][] for query-to-reference mapping - this is just a small selection!
50
+
This package assumes that you have ``query`` and ``reference`` AnnData objects, with a joint embedding computed and stored in ``.obsm``. We explicilty do not compute this joint embedding, but there are plenty of method you can use to get such joint embeddings, e.g. [GimVI][] or [ENVI][] for spatial mapping, [GLUE][], [MIDAS][] and [MOFA+][] for modality translation, and [scVI][], [scANVI][] and [scArches][] for query-to-reference mapping - this is just a small selection!
41
51
42
52
With a joint embedding in ``.obsm["X_joint"]`` at hand, the simplest way to use ``CellMapper`` is as follows:
This will transfer data from the reference to the query dataset, including celltype labels stored in ``ref.obs``, a UMAP embedding stored in ``ref.obsm``, and expression values stored in ``ref.X``.
61
+
This will transfer data from the reference to the query dataset, including celltype labels stored in ``reference.obs``, a UMAP embedding stored in ``reference.obsm``, and expression values stored in ``reference.X``.
52
62
53
-
There are many ways to customize this, e.g. use different ways to compute k-NN graphs and to turn them into mapping matrices, and we implement a few methods to evaluate whether your k-NN transfer was sucessful. Check out the [docs][] to learn more.
63
+
There are many ways to customize this, e.g. use different ways to compute k-NN graphs and to turn them into mapping matrices, and we implement a few methods to evaluate whether your k-NN transfer was sucessful. The tool also implements a `self-mapping` mode (only a query object, no reference), which is useful for spatial contextualization. Check out the [docs][] to learn more.
54
64
55
65
## Release notes
56
66
@@ -74,7 +84,11 @@ Please cite this GitHub repo if you find CellMapper useful for your research.
title={Unsupervised discovery of tissue architecture in multiplexed imaging},
146
+
author={Kim, Junbum and Rustam, Samir and Mosquera, Juan Miguel and Randell, Scott H and Shaykhiev, Renat and Rendeiro, Andr{\'e} F and Elemento, Olivier},
title={Sopa: a technology-invariant pipeline for analyses of image-based spatial omics},
158
+
author={Blampey, Quentin and Mulder, Kevin and Gardet, Margaux and Christodoulidis, Stergios and Dutertre, Charles-Antoine and Andr{\'e}, Fabrice and Ginhoux, Florent and Courn{\`e}de, Paul-Henry},
title={Quantitative characterization of cell niches in spatially resolved omics data},
170
+
author={Birk, Sebastian and Bonafonte-Pard{\`a}s, Irene and Feriz, Adib Miraki and Boxall, Adam and Agirre, Eneritz and Memi, Fani and Maguza, Anna and Yadav, Anamika and Armingol, Erick and Fan, Rong and others},
title={Unsupervised spatially embedded deep representation of spatial transcriptomics},
180
+
author={Xu, Hang and Fu, Huazhu and Long, Yahui and Ang, Kok Siong and Sethi, Raman and Chong, Kelvin and Li, Mengwei and Uddamvathanak, Rom and Lee, Hong Kai and Ling, Jingjing and others},
title={Spatial transcriptomics at subspot resolution with BayesSpace},
192
+
author={Zhao, Edward and Stone, Matthew R and Ren, Xing and Guenthoer, Jamie and Smythe, Kimberly S and Pulliam, Thomas and Williams, Stephen R and Uytingco, Cedric R and Taylor, Sarah EB and Nghiem, Paul and others},
title={Squidpy: a scalable framework for spatial omics analysis},
214
+
author={Palla, Giovanni and Spitzer, Hannah and Klein, Michal and Fischer, David and Schaar, Anna Christina and Kuemmerle, Louis Benedikt and Rybakov, Sergei and Ibarra, Ignacio L and Holmberg, Olle and Virshup, Isaac and others},
0 commit comments