Maps & Geo
tooluniverse-scvi-tools - Claude MCP Skill
Deep learning for single-cell omics using scvi-tools — probabilistic (VAE-based) batch correction and integration with scVI, semi-supervised integration and label transfer with scANVI, CITE-seq RNA+protein joint modeling with totalVI, scATAC-seq analysis with PeakVI, multiome RNA+ATAC joint modeling with MultiVI, spatial transcriptomics cell-type deconvolution with DestVI, and RNA velocity with veloVI. Use when scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, or veloVI are mentioned by name, or when a request needs deep-learning-based batch correction, reference mapping / scArches-style query-to-reference mapping, denoising single-cell counts, joint modeling of two modalities (RNA+protein, RNA+ATAC, single-cell+spatial), or a variational-autoencoder latent space for single-cell data — as opposed to classic scanpy/Harmony-based integration.
SEO Guide: Enhance your AI agent with the tooluniverse-scvi-tools tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to deep learning for single-cell omics using scvi-tools — probabilistic (vae-based) batch correction an... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# scvi-tools Deep Learning for Single-Cell Omics
Local, guided workflows for training and applying scvi-tools' probabilistic
deep-learning models on a user's own AnnData files.
## Honesty contract (read first)
This skill trains real neural networks via the real `scvi-tools` package. It
must never fabricate a latent space, a training curve, or a DE result.
1. **Preflight before anything.** Every script checks `import scvi` (and
`anndata`/`scanpy`/`numpy`) before touching data. If scvi-tools is not
installed, the script prints the exact `pip install scvi-tools` command
and exits 0 — it does not estimate, guess, or describe hypothetical
training results.
2. **Raw integer counts required.** Every training script verifies the input
layer looks like raw counts and refuses to train on normalized/log data
with a clear error, rather than letting scvi-tools fail deep inside
training or silently produce meaningless output.
3. **Report the device honestly.** Every script prints whether it is
training on GPU (CUDA/MPS) or CPU before starting, since CPU training can
be 10-50x slower — never claim GPU training happened when it did not.
4. **Never overwrite the input file.** All outputs go to a separate
directory/file passed by the caller.
## When to Use This Skill
Use when the user:
- Names scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, veloVI, or scArches
specifically
- Wants deep-learning-based batch correction / integration for scRNA-seq
with strong or nonlinear batch effects
- Has CITE-seq (RNA + surface protein), multiome (RNA + ATAC), or
spatial + single-cell reference data and wants a joint/deconvolved model
- Wants to map a new (query) dataset onto an existing trained reference
model (reference mapping / label transfer)
- Wants RNA velocity with model-based uncertainty (not just `scvelo`'s
point estimates)
**NOT for** (use other skills instead):
- Plain scanpy-based QC, normalization, clustering, marker genes, or
Harmony batch correction with no deep learning involved ->
`tooluniverse-single-cell`
- Running scVI or scANVI as a shared, remote GPU-backed MCP tool for other
callers (not local, guided analysis of your own file) ->
`setup-scvi-remote-tool` / `setup-scanvi-remote-tool`
- Bulk RNA-seq DESeq2 -> `tooluniverse-rnaseq-deseq2`
- FASTQ-level QC/trimming -> `tooluniverse-fastq-qc`
## Model Selection
See `references/model_selection.md` for the full decision tree. Quick
version:
| Data | Model |
|---|---|
| scRNA-seq, no labels, want integration | scVI |
| scRNA-seq, partial/full cell-type labels | scANVI |
| CITE-seq (RNA + protein) | totalVI |
| scATAC-seq only | PeakVI |
| Multiome (RNA + ATAC) | MultiVI |
| Spatial + single-cell reference | DestVI |
| RNA velocity (spliced/unspliced) | veloVI |
| Map new data onto an existing reference | scANVI + `load_query_data` |
Run `python scripts/validate_adata.py your.h5ad --batch-key batch --suggest`
to get a data-driven recommendation instead of guessing.
## Workflow
```bash
# 1. Check the environment and the data
python scripts/validate_adata.py raw.h5ad --batch-key batch --suggest
# 2. Prepare: QC, HVG selection, stash raw counts in a 'counts' layer
python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch
# 3. Train the model chosen in step 1
python scripts/train_model.py prepared.h5ad results/ --model scvi --batch-key batch
# 4. Differential expression (posterior-based, not scanpy's rank_genes_groups)
python scripts/differential_expression.py results/scvi_model results/adata_scvi_trained.h5ad \
de.csv --groupby leiden
# 5. (Optional) Map a new dataset onto a trained scANVI reference
python scripts/transfer_labels.py results/scanvi_model prepared.h5ad query.h5ad results/
```
For totalVI/MultiVI/DestVI's modality-specific input shapes, and DestVI's
two-stage fit, see `references/multimodal_workflows.md` — do not guess the
input format; getting it wrong is the most common failure mode for these
three models.
## Reference Documentation
- `references/model_selection.md` — full decision tree, minimum data per model
- `references/scrna_integration.md` — scVI/scANVI integration details, when to prefer this over Harmony
- `references/multimodal_workflows.md` — totalVI, MultiVI, DestVI input shapes and the DestVI two-stage fit
- `references/troubleshooting.md` — install issues, NaN losses, GPU/OOM, key mismatches, silent-failure checklistSignals
Information
- Repository
- mims-harvard/ToolUniverse
- Author
- mims-harvard
- Last Sync
- 11/3/2026
- Repo Updated
- 11/3/2026
- Created
- 10/7/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
CLAUDE
Claude-Mem: AI Development Instructions
cursorrules
CrewAI Development Rules
firecrawl-build-interact
Integrate Firecrawl `/interact` into product code for dynamic pages and browser actions after scraping. Use when a feature needs clicks, form fills, pagination, authentication-aware flows, or other multi-step interactions that plain `/scrape` cannot complete.
firecrawl-build
Integrate Firecrawl into application code whenever a product, agent, or workflow needs web data inside the app — web search, live search results, page scraping, structured extraction, or browser interaction. Use when building any feature that needs data from the web in code, even if the user does not mention Firecrawl explicitly and only describes wanting web data, website content, search, scraping, or interaction in an application. Trigger for Firecrawl requests, "fire girl" shorthand, and generic app-level web-data needs that should map to `/scrape`, `/search`, or `/interact`. Do not use this skill for one-off terminal-only web tasks during the current session; use `firecrawl/cli` for those.
Related Guides
Python Django Best Practices: A Comprehensive Guide to the Claude Skill
Learn how to use the python django best practices Claude skill. Complete guide with installation instructions and examples.
Mastering Python and TypeScript Development with the Claude Skill Guide
Learn how to use the python typescript guide Claude skill. Complete guide with installation instructions and examples.
Mastering Data Science with Claude: A Complete Guide to the Pandas Scikit-Learn Skill
Learn how to use the pandas scikit learn guide Claude skill. Complete guide with installation instructions and examples.