iiuniversitet.ruЦентр обучения нейросетямОткрыть каталог

Анализ одиночных клеток через scvi-tools

Подсказывает, какую модель scvi-tools взять и как провести интеграцию данных, перенос меток и мультимодальный анализ одиночных клеток.

СкиллAnthropicClaudeApache-2.0Нужен терминалПроверка не требуется
Что делает
Подсказывает, какую модель scvi-tools взять и как провести интеграцию данных, перенос меток и мультимодальный анализ одиночных клеток.
Когда брать
Когда нужно объединить наборы данных одиночных клеток, убрать батч-эффекты, перенести метки или проанализировать CITE-seq, multiome, ATAC-seq и пространственные данные.
Пример запроса
Объедини два набора scRNA-seq из разных экспериментов и убери батч-эффекты с помощью scVI.
Нужно подключить
Python, терминал
Работает лучше с
видеокарта (GPU)

Входит в плагин bio-research. В Cowork и Claude Code можно поставить плагин целиком.

Как включить

  1. Скачайте архив и распакуйте его.
  2. Положите папку scvi-tools в ~/.claude/skills/.
  3. Откройте Claude Code и опишите задачу своими словами: Claude подхватит скилл по описанию.

Текст

---
name: scvi-tools
description: Глубокое обучение для анализа одиночных клеток с помощью scvi-tools. Используй этот скилл, когда пользователям нужны (1) интеграция данных и коррекция батч-эффектов (batch correction) с помощью scVI/scANVI, (2) анализ ATAC-seq с PeakVI, (3) мультимодальный анализ CITE-seq с totalVI, (4) анализ multiome (РНК+ATAC) с MultiVI, (5) деконволюция пространственной транскриптомики с DestVI, (6) перенос меток и картирование на референс с scANVI/scArches, (7) РНК-скорость (RNA velocity) с veloVI или (8) любой метод анализа одиночных клеток на основе глубокого обучения. Срабатывает на упоминания scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, veloVI, sysVI, scArches, вариационный автокодировщик, VAE, коррекция батч-эффектов, интеграция данных, мультимодальные данные, CITE-seq, multiome, картирование на референс, латентное пространство.
---

Скилл по глубокому обучению scvi-tools

Этот скилл даёт указания по анализу одиночных клеток методами глубокого обучения с помощью scvi-tools — ведущей платформы вероятностных моделей в геномике одиночных клеток.

Как пользоваться этим скиллом

  1. Определи подходящий рабочий процесс по таблицам моделей и процессов ниже
  2. Прочитай соответствующий справочный файл — там подробные шаги и код
  3. Используй скрипты из scripts/, чтобы не переписывать типовой код
  4. По вопросам установки или GPU смотри references/environment_setup.md
  5. Для отладки смотри references/troubleshooting.md

Когда использовать этот скилл

  • Когда упоминаются scvi-tools, scVI, scANVI или связанные модели
  • Когда нужна коррекция батч-эффектов или интеграция на основе глубокого обучения
  • Когда идёт работа с мультимодальными данными (CITE-seq, multiome)
  • Когда требуется картирование на референс или перенос меток
  • Когда анализируются данные ATAC-seq или пространственной транскриптомики
  • Когда изучаются латентные представления данных одиночных клеток

Руководство по выбору модели

Тип данныхМодельОсновной сценарий
scRNA-seqscVIИнтеграция без учителя, дифференциальная экспрессия (DE), импутация
scRNA-seq + меткиscANVIПеренос меток, интеграция с частичным учителем
CITE-seq (РНК+белок)totalVIМультимодальная интеграция, очистка белковых данных от шума
scATAC-seqPeakVIАнализ доступности хроматина
Multiome (РНК+ATAC)MultiVIСовместный анализ модальностей
Пространственные данные + референс scRNADestVIДеконволюция типов клеток
РНК-скоростьveloVIДинамика транскрипции
Разные технологииsysVIКоррекция батч-эффектов на уровне систем

Справочные файлы по рабочим процессам

Рабочий процессСправочный файлОписание
Настройка окруженияreferences/environment_setup.mdУстановка, GPU, сведения о версиях
Подготовка данныхreferences/data_preparation.mdПриведение данных к формату для любой модели
Интеграция scRNAreferences/scrna_integration.mdКоррекция батч-эффектов scVI/scANVI
Анализ ATAC-seqreferences/atac_peakvi.mdPeakVI для доступности хроматина
Анализ CITE-seqreferences/citeseq_totalvi.mdtotalVI для белка и РНК
Анализ multiomereferences/multiome_multivi.mdMultiVI для РНК+ATAC
Пространственная деконволюцияreferences/spatial_deconvolution.mdПространственный анализ DestVI
Перенос метокreferences/label_transfer.mdКартирование на референс scANVI
Картирование scArchesreferences/scarches_mapping.mdКартирование запроса на референс
Коррекция батч-эффектовreferences/batch_correction_sysvi.mdПродвинутые методы работы с батч-эффектами
РНК-скоростьreferences/rna_velocity_velovi.mdДинамика veloVI
Устранение неполадокreferences/troubleshooting.mdЧастые проблемы и решения

Скрипты командной строки

Модульные скрипты для типовых рабочих процессов. Соединяй их в цепочки или меняй по необходимости.

Скрипты пайплайна

СкриптНазначениеИспользование
prepare_data.pyКонтроль качества, фильтрация, отбор HVGpython scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch
train_model.pyОбучение любой модели scvi-toolspython scripts/train_model.py prepared.h5ad results/ --model scvi
cluster_embed.pyСоседи, UMAP, Leidenpython scripts/cluster_embed.py adata.h5ad results/
differential_expression.pyАнализ DEpython scripts/differential_expression.py model/ adata.h5ad de.csv --groupby leiden
transfer_labels.pyПеренос меток с помощью scANVIpython scripts/transfer_labels.py ref_model/ query.h5ad results/
integrate_datasets.pyИнтеграция нескольких наборов данныхpython scripts/integrate_datasets.py results/ data1.h5ad data2.h5ad
validate_adata.pyПроверка совместимости данныхpython scripts/validate_adata.py data.h5ad --batch-key batch

Пример рабочего процесса

# 1. Validate input data
python scripts/validate_adata.py raw.h5ad --batch-key batch --suggest

# 2. Prepare data (QC, HVG selection)
python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch --n-hvgs 2000

# 3. Train model
python scripts/train_model.py prepared.h5ad results/ --model scvi --batch-key batch

# 4. Cluster and visualize
python scripts/cluster_embed.py results/adata_trained.h5ad results/ --resolution 0.8

# 5. Differential expression
python scripts/differential_expression.py results/model results/adata_clustered.h5ad results/de.csv --groupby leiden

Утилиты на Python

scripts/model_utils.py предоставляет импортируемые функции для собственных рабочих процессов:

ФункцияНазначение
prepare_adata()Подготовка данных (контроль качества, HVG, настройка слоёв)
train_scvi()Обучение scVI или scANVI
evaluate_integration()Расчёт метрик интеграции
get_marker_genes()Извлечение маркеров DE
save_results()Сохранение модели, данных, графиков
auto_select_model()Подбор лучшей модели
quick_clustering()Соседи + UMAP + Leiden

Обязательные требования

  1. Нужны сырые счётчики: модели scvi-tools требуют данных в виде целочисленных счётчиков ``python adata.layers["counts"] = adata.X.copy() # Before normalization scvi.model.SCVI.setup_anndata(adata, layer="counts") ``
  1. Отбор HVG: используй 2000–4000 сильно изменчивых генов ``python sc.pp.highly_variable_genes(adata, n_top_genes=2000, batch_key="batch", layer="counts", flavor="seurat_v3") adata = adata[:, adata.var['highly_variable']].copy() ``
  1. Информация о батчах: для интеграции укажи batch_key ``python scvi.model.SCVI.setup_anndata(adata, layer="counts", batch_key="batch") ``

Быстрое дерево решений

Нужно интегрировать данные scRNA-seq?
├── Есть метки типов клеток? → scANVI (references/label_transfer.md)
└── Меток нет? → scVI (references/scrna_integration.md)

Есть мультимодальные данные?
├── CITE-seq (РНК + белок)? → totalVI (references/citeseq_totalvi.md)
├── Multiome (РНК + ATAC)? → MultiVI (references/multiome_multivi.md)
└── Только scATAC-seq? → PeakVI (references/atac_peakvi.md)

Есть пространственные данные?
└── Нужна деконволюция типов клеток? → DestVI (references/spatial_deconvolution.md)

Есть предобученная референсная модель?
└── Картировать запрос на референс? → scArches (references/scarches_mapping.md)

Нужна РНК-скорость?
└── veloVI (references/rna_velocity_velovi.md)

Сильные батч-эффекты между технологиями?
└── sysVI (references/batch_correction_sysvi.md)

Ключевые ресурсы

Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/knowledge-work-plugins/tree/main/bio-research/skills/scvi-tools, лицензия Apache-2.0. Изменения: перевод на русский язык.

Оригинал на английском
---
name: scvi-tools
description: Deep learning for single-cell analysis using scvi-tools. This skill should be used when users need (1) data integration and batch correction with scVI/scANVI, (2) ATAC-seq analysis with PeakVI, (3) CITE-seq multi-modal analysis with totalVI, (4) multiome RNA+ATAC analysis with MultiVI, (5) spatial transcriptomics deconvolution with DestVI, (6) label transfer and reference mapping with scANVI/scArches, (7) RNA velocity with veloVI, or (8) any deep learning-based single-cell method. Triggers include mentions of scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, veloVI, sysVI, scArches, variational autoencoder, VAE, batch correction, data integration, multi-modal, CITE-seq, multiome, reference mapping, latent space.
---

# scvi-tools Deep Learning Skill

This skill provides guidance for deep learning-based single-cell analysis using scvi-tools, the leading framework for probabilistic models in single-cell genomics.

## How to Use This Skill

1. Identify the appropriate workflow from the model/workflow tables below
2. Read the corresponding reference file for detailed steps and code
3. Use scripts in `scripts/` to avoid rewriting common code
4. For installation or GPU issues, consult `references/environment_setup.md`
5. For debugging, consult `references/troubleshooting.md`

## When to Use This Skill

- When scvi-tools, scVI, scANVI, or related models are mentioned
- When deep learning-based batch correction or integration is needed
- When working with multi-modal data (CITE-seq, multiome)
- When reference mapping or label transfer is required
- When analyzing ATAC-seq or spatial transcriptomics data
- When learning latent representations of single-cell data

## Model Selection Guide

| Data Type | Model | Primary Use Case |
|-----------|-------|------------------|
| scRNA-seq | **scVI** | Unsupervised integration, DE, imputation |
| scRNA-seq + labels | **scANVI** | Label transfer, semi-supervised integration |
| CITE-seq (RNA+protein) | **totalVI** | Multi-modal integration, protein denoising |
| scATAC-seq | **PeakVI** | Chromatin accessibility analysis |
| Multiome (RNA+ATAC) | **MultiVI** | Joint modality analysis |
| Spatial + scRNA reference | **DestVI** | Cell type deconvolution |
| RNA velocity | **veloVI** | Transcriptional dynamics |
| Cross-technology | **sysVI** | System-level batch correction |

## Workflow Reference Files

| Workflow | Reference File | Description |
|----------|---------------|-------------|
| Environment Setup | `references/environment_setup.md` | Installation, GPU, version info |
| Data Preparation | `references/data_preparation.md` | Formatting data for any model |
| scRNA Integration | `references/scrna_integration.md` | scVI/scANVI batch correction |
| ATAC-seq Analysis | `references/atac_peakvi.md` | PeakVI for accessibility |
| CITE-seq Analysis | `references/citeseq_totalvi.md` | totalVI for protein+RNA |
| Multiome Analysis | `references/multiome_multivi.md` | MultiVI for RNA+ATAC |
| Spatial Deconvolution | `references/spatial_deconvolution.md` | DestVI spatial analysis |
| Label Transfer | `references/label_transfer.md` | scANVI reference mapping |
| scArches Mapping | `references/scarches_mapping.md` | Query-to-reference mapping |
| Batch Correction | `references/batch_correction_sysvi.md` | Advanced batch methods |
| RNA Velocity | `references/rna_velocity_velovi.md` | veloVI dynamics |
| Troubleshooting | `references/troubleshooting.md` | Common issues and solutions |

## CLI Scripts

Modular scripts for common workflows. Chain together or modify as needed.

### Pipeline Scripts

| Script | Purpose | Usage |
|--------|---------|-------|
| `prepare_data.py` | QC, filter, HVG selection | `python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch` |
| `train_model.py` | Train any scvi-tools model | `python scripts/train_model.py prepared.h5ad results/ --model scvi` |
| `cluster_embed.py` | Neighbors, UMAP, Leiden | `python scripts/cluster_embed.py adata.h5ad results/` |
| `differential_expression.py` | DE analysis | `python scripts/differential_expression.py model/ adata.h5ad de.csv --groupby leiden` |
| `transfer_labels.py` | Label transfer with scANVI | `python scripts/transfer_labels.py ref_model/ query.h5ad results/` |
| `integrate_datasets.py` | Multi-dataset integration | `python scripts/integrate_datasets.py results/ data1.h5ad data2.h5ad` |
| `validate_adata.py` | Check data compatibility | `python scripts/validate_adata.py data.h5ad --batch-key batch` |

### Example Workflow

```bash
# 1. Validate input data
python scripts/validate_adata.py raw.h5ad --batch-key batch --suggest

# 2. Prepare data (QC, HVG selection)
python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch --n-hvgs 2000

# 3. Train model
python scripts/train_model.py prepared.h5ad results/ --model scvi --batch-key batch

# 4. Cluster and visualize
python scripts/cluster_embed.py results/adata_trained.h5ad results/ --resolution 0.8

# 5. Differential expression
python scripts/differential_expression.py results/model results/adata_clustered.h5ad results/de.csv --groupby leiden
```

### Python Utilities

The `scripts/model_utils.py` provides importable functions for custom workflows:

| Function | Purpose |
|----------|---------|
| `prepare_adata()` | Data preparation (QC, HVG, layer setup) |
| `train_scvi()` | Train scVI or scANVI |
| `evaluate_integration()` | Compute integration metrics |
| `get_marker_genes()` | Extract DE markers |
| `save_results()` | Save model, data, plots |
| `auto_select_model()` | Suggest best model |
| `quick_clustering()` | Neighbors + UMAP + Leiden |

## Critical Requirements

1. **Raw counts required**: scvi-tools models require integer count data
   ```python
   adata.layers["counts"] = adata.X.copy()  # Before normalization
   scvi.model.SCVI.setup_anndata(adata, layer="counts")
   ```

2. **HVG selection**: Use 2000-4000 highly variable genes
   ```python
   sc.pp.highly_variable_genes(adata, n_top_genes=2000, batch_key="batch", layer="counts", flavor="seurat_v3")
   adata = adata[:, adata.var['highly_variable']].copy()
   ```

3. **Batch information**: Specify batch_key for integration
   ```python
   scvi.model.SCVI.setup_anndata(adata, layer="counts", batch_key="batch")
   ```

## Quick Decision Tree

```
Need to integrate scRNA-seq data?
├── Have cell type labels? → scANVI (references/label_transfer.md)
└── No labels? → scVI (references/scrna_integration.md)

Have multi-modal data?
├── CITE-seq (RNA + protein)? → totalVI (references/citeseq_totalvi.md)
├── Multiome (RNA + ATAC)? → MultiVI (references/multiome_multivi.md)
└── scATAC-seq only? → PeakVI (references/atac_peakvi.md)

Have spatial data?
└── Need cell type deconvolution? → DestVI (references/spatial_deconvolution.md)

Have pre-trained reference model?
└── Map query to reference? → scArches (references/scarches_mapping.md)

Need RNA velocity?
└── veloVI (references/rna_velocity_velovi.md)

Strong cross-technology batch effects?
└── sysVI (references/batch_correction_sysvi.md)
```

## Key Resources

- [scvi-tools Documentation](https://docs.scvi-tools.org/)
- [scvi-tools Tutorials](https://docs.scvi-tools.org/en/stable/tutorials/index.html)
- [Model Hub](https://huggingface.co/scvi-tools)
- [GitHub Issues](https://github.com/scverse/scvi-tools/issues)

Источник: anthropics/knowledge-work-plugins / bio-research / scvi-tools ↗. Ссылка проверена 2026-10-10.