If you are already using Seurat for your analysis, VISION provides a convenience function for creating a Vision object from a Seurat object.

How this works

Recommendations when using Seurat IntegrateData

When using IntegrateData, a new assay is created called integrated.

We recommend creating your reduced-dimensional representation using this assay by running PCA in Seurat after IntegrateData.

Then create the Vision object, but use the default assay="RNA".

Why not use the integrated expression data? Typically this data only consists of a subset of the genes (e.g. 2000 highly-variable genes) and so is not ideal for matching genes in signatures.

Examples

Assuming you already have a Seurat object defined as seurat.obj, you can use it in this way:

signatures <- c("data/h.all.v5.2.symbols.gmt")

vision.obj <- Vision(seurat.obj, signatures = signatures)

vision.obj <- analyze(vision.obj)

viewResults(vision.obj)

The above call would take the "pca" dimensionality reduction from seurat.obj if it is defined. If you instead had run a Diffusion Map using Seurat and wanted to use that as your latent space, you could specify that like this:

vision.obj <- Vision(seurat.obj,
    signatures = signatures,
    dimRed <- "dm")

Any of the other Vision() constructor parameters can also be passed here. For example, if you wanted to enable microclustering with 5 cells per micropool:

vision.obj <- Vision(seurat.obj,
    signatures = signatures,
    pool = T, cellsPerPartition = 5
    )

By default, Vision will still run tSNE as part of the main analysis pipeline. You may wish to skip this if a visualization has already been run in Seurat. To instruction VISION to not run any additional visualization projections, set projection_methods = NULL like so:

vision.obj <- Vision(seurat.obj,
    signatures = signatures,
    projection_methods = NULL)


YosefLab/VISION documentation built on Feb. 19, 2023, 9:50 p.m.