scvi-tools
Helps your agent fit probabilistic models for single-cell data. It's useful for integrating data from different experiments or analyzing multimodal data.
What it does
This tool helps scientists analyze complex single-cell data, like DNA and RNA. It uses mathematical models to understand cell differences and relationships.
When to use it
- ✓When you have single-cell data and want to understand cell differences.
- ✓To group cells based on their features (RNA, proteins, etc.).
- ✓To compare different experiments or cell samples.
Example of what to ask your AI
“Analyze my single-cell RNA data to find cell clusters.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You provide the raw cell data, and the tool applies statistical models to find patterns and differences. It can integrate different data types (like RNA and proteins) for a more complete analysis.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill scvi-toolsOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/scvi-tools/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
scvi-tools
Targets scvi-tools 1.5.1, released September 10, 2026. APIs below were checked against the tagged source and official documentation. The examples are illustrative: the repository tests exercise short CPU synthetic fits for SCVI, SCANVI, TOTALVI, MULTIVI, METHYLVI, PEAKVI and POISSONVI, plus count-preserving preprocessing, DE output contracts, save/load and minification. The tested stack is Python 3.13, Scanpy 1.12.4, AnnData 0.13.4, MuData 0.4.1, PyTorch 2.14.1 and Lightning 2.6.6. Long training, hardware-specific paths and other specialized workflows remain illustrative; these checks do not establish convergence or biological validity.
Choose the model and its input contract
| Task | Class | Required input |
|---|---|---|
| RNA integration | scvi.model.SCVI |
Unnormalized RNA counts |
| RNA annotation | scvi.model.SCANVI |
Counts and partial labels |
| CITE-seq | scvi.model.TOTALVI |
RNA and protein counts, aligned cells |
| RNA + ATAC integration | scvi.model.MULTIVI |
Registered MuData with aligned modality representation |
| ATAC accessibility | scvi.model.PEAKVI |
Cells by peaks, binary/count accessibility |
| Quantitative ATAC | scvi.external.POISSONVI |
Region-level fragment counts |
| Methylation | scvi.external.METHYLVI, METHYLANVI |
MuData with methylated and total coverage counts |
| Cytometry | scvi.external.CYTOVI |
Transformed protein intensities |
| Large cross-system effects | scvi.external.SysVI |
Normalized, log-transformed expression |
| RNA velocity | scvi.external.VELOVI |
Preprocessed spliced/unspliced abundances |
The count rule is model-specific: do not feed raw RNA counts to SysVI or replace methylation coverage with ratios. Likewise, never reconstruct counts by exponentiating log-normalized data. Preserve measured counts and preprocessing provenance.
Read the corresponding references before using a specialized model:
- RNA models: SCVI, SCANVI, AUTOZI, VELOVI, ContrastiveVI, CellAssign, SOLO, LinearSCVI, AmortizedLDA.
- ATAC models: PEAKVI, POISSONVI, SCBASSET.
- Multimodal models: TOTALVI, TOTALANVI, MULTIVI, MRVI, DIAGVI.
- Spatial models: CondSCVI/DestVI, Stereoscope, Tangram, GIMVI, SCVIVA, RESOLVI.
- Specialized models: methylation, cytometry, SysVI, Decipher.
Release boundaries: JAX support, including JaxSCVI, was removed in 1.5.
scvi.model.mlxSCVI remains a separate optional Apple-silicon implementation;
PyTorch MPS and MLX are different backends. Spatial models and DIAGVI remain
importable in 1.5.1, but upstream directs their ongoing maintenance to
scVIVA-tools. Use the pinned
compatibility examples here only for existing scvi-tools workflows.
Workflow
- Confirm modality, raw-data provenance, unique cell/feature IDs, feature order, batch/sample metadata, and the intended biological comparison.
- Perform QC and feature selection before model registration. Use count-aware HVG selection for count layers, and preserve a full-gene count object for later analyses outside the selected feature set.
- Register the exact data object with that model's
setup_anndataorsetup_mudata; create and train the model. Setup is registration, not normalization. - Inspect validation history, held-out fit, seed stability, batch mixing and retention of known biology. A well-mixed UMAP alone does not validate integration.
- Extract representations or model-specific normalized outputs; save the model, data, selected feature order, software versions, seed and training parameters.
Illustrative RNA workflow
Assumes rna_counts.h5ad contains measured, unnormalized counts in .X, with
nonmissing obs['batch']. Choose QC thresholds for the experiment before this block.
import numpy as np
import scanpy as sc
import scvi
from scipy import sparse
scvi.settings.seed = 0
adata = sc.read_h5ad("rna_counts.h5ad")
assert adata.obs_names.is_unique and adata.var_names.is_unique
assert adata.obs["batch"].notna().all()
x = adata.X
values = x.data if sparse.issparse(x) else np.asarray(x)
assert np.isfinite(values).all() and (values >= 0).all()
assert np.allclose(values, np.rint(values))
assert (np.asarray(x.sum(axis=1)).ravel() > 0).all()
adata.layers["counts"] = x.copy()
…
FAQ
What is 'single-cell data'?
It's data collected from individual cells, allowing for much more detailed analysis than looking at a group of cells as a whole.
What are 'probabilistic models'?
These are mathematical models that use probability to describe and predict outcomes, helping to understand uncertainty in the data.
Can I use this for any biological data?
It's optimized for single-cell 'omics' data, such as RNA, ATAC, proteins, and methylation. Other data types might require different tools.
Details
Original description by the author
Fits probabilistic models for single-cell omics, including scVI batch integration, scANVI annotation, totalVI CITE-seq, MultiVI RNA/ATAC integration, and posterior differential expression. Use for generative modeling, reference mapping, multimodal analysis, or model-based uncertainty; use scanpy for standard preprocessing and exploratory analysis.
Popularity
- GitHub stars
- 51k
- Ranking position
- #1979
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
pytorch-patterns
Helps your agent use PyTorch for machine learning models. It applies best practices for efficient model training and ensures reproducible results.
affaan-m/ECC
evm-token-decimals
Helps your agent avoid errors with decimal numbers across different blockchain networks. It ensures token values are accurate in transactions and calculations.
affaan-m/ECC
knowledge-agent
Creates and queries knowledge bases using AI. It allows asking questions about past work or compiling expertise on a topic.
thedotmack/claude-mem