Skip to main content

VIVS

PyPI version Tests passing

VIVS (Variational Inference for Variable Selection) is a Python package to identify molecular dependencies in omics data. Please refer to the preprint and to the project repository here for more details.

Installation

Currently, VIVS is only available on GitHub. To install the package, on Python >= 3.9, you can do the following:

  1. install jax with GPU support (see here for instructions)
  2. install the package using pip:
pip install vivs

Alternatively, you can clone the repository and install the package in editable mode:

pip install -e .

Basic usage

Data format

To use VIVS in your project, import the data of intest in a scanpy AnnData object. Right now, VIVS only supports assays where $X$ corresponds to gene expression counts. In particular, make sure than the anndata contains raw counts and not normalized data.

The response(s) $Y$ of interest are expected to be stored in the obsm attribute of the anndata object, either as an array or as a dataframe.

VIVS may not scale to many thousands of genes. In such a case, it is recommended to filter the genes before running VIVS, which can be done in the following way:

from vivs import select_genes

adata = select_genes(adata, n_top_genes=2000)

Model fitting and inference

VI-VS can be initialized and trained as follows:

from vivs import VIVS

model = VIVS(
    adata,
    feature_obsm_key="my_obsm_key",
    xy_linear=False,
    xy_model_kwargs={"n_hidden": 8}
)
model.train_all()

Once the model is trained, feature significance can be computed as follows:

res = model.get_hier_importance(n_clusters_list=[100, 200])

Here, n_clusters_list is a list of the number of clusters to consider for the hierarchical clustering of the features.

These results can be visualized using plot_hier_importance:

model.plot_hier_importance(res, theme_kwargs=dict(figure_size=(15, 2))

Metadata

Release files for vivs 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vivs 0.1.1
File Size Uploaded
vivs-0.1.1.tar.gz 16.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vivs 0.1.1
File Interpreter ABI Platform
vivs-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 33.6 kB

Release files / vivs-0.1.1.tar.gz

Download URL vivs-0.1.1.tar.gz
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a80e7a8c413166bdc21994d40912c95c0d118e67fcb810167ee152b9bacf0032
BLAKE2b-256 checksum
How to use checksums
492bd70a57e5c72871d034422dea0650af0067a7800370bde0bf158e86aefdbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / vivs-0.1.1-py3-none-any.whl

Download URL vivs-0.1.1-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a3f545035bf28677641a4c92d677a14d46bafc4c383518e8ef4755691ad7fd5
BLAKE2b-256 checksum
How to use checksums
f121c29ae4dcc92aac593d760639ed82db7cf5a887edcf2d3bf53a2f7ea85721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page