Skip to content

PerturbVI

PerturbVI infers latent gene programs and their perturbation effects from single-cell Perturb-seq data.

Note

For the preprint, please see:
PerturbVI: A Scalable Latent Factor Model to Infer Genetic Regulatory Modules through CRISPR Perturbation Data.
doi.org/10.0000/perturbvi

Important

To reproduce the analyses:
https://github.com/mancusolab/perturbvi_analysis

Installation

uv pip install perturbvi

Quick start

Prepare an H5AD file with transformed expression in adata.X and a binary, named perturbation DataFrame in adata.obsm["G"].

from pathlib import Path
from perturbvi import fit_screen, load_screen, save_results

result_dir = Path("results/my_screen")
screen = load_screen("data/screen.h5ad")

fit = fit_screen(
    screen,
    z_dim=20,
    l_dim=1000,
    init="pca"
)

save_results(fit, result_dir)

This saves the fitted model and labeled result CSVs in result_dir. See the tutorials for plotting and enrichment.

Tutorials

Support

Please report bugs or feature requests in the issue tracker. For questions or comments, contact Abdullah Al Nahid (alnahid@usc.edu) or Nicholas Mancuso (nmancuso@usc.edu).

Other Software

Other software developed by the Mancuso Lab:

  • SuShiE: a Bayesian fine-mapping framework for molecular QTL data across multiple ancestries.
  • jaxQTL: scalable, count-based large-scale eQTL mapping.
  • MA-FOCUS: a Bayesian fine-mapping framework using TWAS statistics across multiple ancestries to identify causal genes for complex traits.
  • SuSiE-PCA: scalable Bayesian variable selection for sparse principal component analysis.
  • twas_sim: simulation of TWAS statistics.
  • traceax: stochastic trace estimation for linear operators.
  • FactorGo: scalable variational factor analysis for learning pleiotropic factors from GWAS summary statistics.
  • HAMSTA: estimation of heritability explained by local ancestry data from admixture mapping summary statistics.

PerturbVI is distributed under the terms of the MIT license.