LATEST RELEASE: see https://pypi.org/project/yomix/
DOCUMENTATION: https://perrin-isir.github.io/yomix/
Yomix is an interactive tool to explore low dimensional embeddings of omics data.
As illustrated in the GIF below, users can explore embeddings—typically generated using dimensionality reduction techniques such as UMAP, t-SNE, TriMap, or VAEs. Within these visualizations, users can identify clusters of interest and use a lasso tool to define specific subsets. Yomix can then compute gene signatures for these subsets almost instantaneously. For instance, it can identify gene signatures that best distinguish subset A from the rest of the data, differentiate subset A from subset B, or find genes whose expression levels are most strongly correlated with a user-defined direction within subset A.
In a python virtual environment, do:
pip install yomix
Then try the tool with:
yomix --example
To use it on your own files:
yomix yourfile.h5ad
where yourfile.h5ad is an anndata object saved in h5ad format (see
anndata - Annotated data),
with at least one .obsm field of dimension 2 or more (the low dimensional embedding).
When there are many samples in the dataset, the --subsampling option can be passed to improve reactiveness:
yomix --subsampling N yourfile.h5ad
It randomly subsamples the dataset to a maximum number of N samples. For example:
yomix --subsampling 5000 yourfile.h5ad
Other option: INSTALL FROM SOURCE
git clone https://github.com/perrin-isir/yomix.git
We recommand to create a python environment with micromamba, but any python package manager can be used instead.
cd yomix
micromamba create --name yomixenv --file environment.yaml
micromamba activate yomixenv
pip install -e .
Then try the tool with:
yomix yomix/example/pbmc.h5ad
The input file must be an anndata object saved in h5ad format (see
anndata - Annotated data),
with at least one .obsm field of dimension 2 or more.
Using Seurat objects with Yomix
You can use Seurat objects by converting them to .h5ad format in R:
Load required libraries:
library(rhdf5)
library(dplyr)
library(patchwork)
library(SeuratDisk)
library(Seurat)
library(SeuratData)
Load the object:
my_file <- readRDS("path.rds")
If it is a SingleCellExperiment object, convert to Seurat:
if (inherits(my_file, "SingleCellExperiment")) {
my_file <- as.Seurat(my_file)
}
Save as H5Seurat:
SaveH5Seurat(my_file, filename = "filename.h5seurat")
Convert to .h5ad:
Convert("filename.h5seurat", dest = "h5ad", output.path = "/.h5ad")
Nicolas Perrin-Gilbert
Joshua Waterfall
Pierre Fumeron
Nisma Amjad
Jason Z. Kim
Erkan Narmanli
Christopher R. Myers
James P. Sethna
Jérôme Contant
Thomas Fuks
Julien Vibert
Silvia Tulli
Philippe Martin