Skip to main content

Infer regulatory modules through informative latent component model in the single-cell Perturb-seq data

Project description

Documentation-webpage PyPI-Server Github License Project generated with Hatch

perturbVI

perturbvi is a scalable approach to infer regulatory modules through informative latent component model in the single-cell Perturb-seq data.

Installation | Example | Notes | Version | Support | Other Software


Installation

# install perturbvi
uv pip install perturbvi

# help
perturbvi --help

Get Started with perturbvi

Perform inference using SuSiE PCA to find the regulatory modules from CRISPR perturbation data

perturbvi <matrix> <guide> <z_dim> <l_dim> <tau> -o=<out_dir> --verbose

Arguments

  • matrix: Path to the experiment CSV file.
  • guide: Path to the guide CSV file.
  • z_dim: Number of latent factors, Z dim (12).
  • l_dim: Number of single effects, L dim (400).
  • tau: Residual precision, Tau (800).
  • out_dir: Specifies the output directory path.
  • --verbose: For logging (Optional).

Example Usage

perturbvi luhmes_exp.csv luhmes_G.csv 12 400 800 -o=results --verbose

This will save all the files (including params.pkl) in results folder.

For luhmes results, we can analyze it:

import perturbvi

guide_path="luhmes_G.csv"
gene_symbol_path = "luhmes_gene_symbol.csv"

OUTPUT_DIR = "results"

info = perturbvi.utils.luhmes_analysis(
  OUTPUT_DIR, 
  guide_path, 
  gene_symbol_path
)

# number of degs per w from PIP
print(info["num_deg_per_w"])

# number of degs per perturbed gene from LFSR
print(info["num_deg_per_perturbed_gene"])

Notes

  • perturbvi uses JAX with Just In Time compilation to achieve high-speed computation. However, there are some issues for JAX with Mac M1 chip. To solve this, users need to initiate conda using miniforge, and then install perturbvi using pip in the desired environment.

Version History

TBD

Support

Please report any bugs or feature requests in the Issue Tracker. If users have any questions or comments, please contact Dong Yuan (dongyuan@usc.edu) and Nicholas Mancuso (nmancuso@usc.edu).

Other Software

Feel free to use other software developed by Mancuso Lab:

  • SuShiE: a Bayesian fine-mapping framework for molecular QTL data across multiple ancestries.
  • MA-FOCUS: a Bayesian fine-mapping framework using TWAS statistics across multiple ancestries to identify the causal genes for complex traits.
  • SuSiE-PCA: a scalable Bayesian variable selection technique for sparse principal component analysis
  • twas_sim: a Python software to simulate TWAS statistics.
  • FactorGo: a scalable variational factor analysis model that learns pleiotropic factors from GWAS summary statistics.
  • HAMSTA: a Python software to estimate heritability explained by local ancestry data from admixture mapping summary statistics.

perturbvi is distributed under the terms of the MIT license.


This project has been set up using Hatch. For details and usage information on Hatch see https://github.com/pypa/hatch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

perturbvi-0.2.1.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

perturbvi-0.2.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file perturbvi-0.2.1.tar.gz.

File metadata

  • Download URL: perturbvi-0.2.1.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.17

File hashes

Hashes for perturbvi-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c0faf9f601ce0d0a1c3923fa7df4aa4e1efdf8cb338f1d3931944b6b19b8a90c
MD5 eb474cb7051149af43ce6ae557655479
BLAKE2b-256 06fb6d1c1a6ed8af6e7c9c373a01b91999ffe9f297fbd8d36c6e93828037cdbe

See more details on using hashes here.

File details

Details for the file perturbvi-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: perturbvi-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.17

File hashes

Hashes for perturbvi-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 799e6f17c5c91bbcea2c9b94a4f4d793c8d770922e8b41d9e8a9395d4a876e50
MD5 d8324fd4dacbcd00c275a5d23fb31503
BLAKE2b-256 f453e9f7a608199d6d754cf1814dbbb8194bcf19dda4e9bd469950d20276d1e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page