Анализ одиночных клеток через scvi-tools
Подсказывает, какую модель scvi-tools взять и как провести интеграцию данных, перенос меток и мультимодальный анализ одиночных клеток.
- Что делает
- Подсказывает, какую модель scvi-tools взять и как провести интеграцию данных, перенос меток и мультимодальный анализ одиночных клеток.
- Когда брать
- Когда нужно объединить наборы данных одиночных клеток, убрать батч-эффекты, перенести метки или проанализировать CITE-seq, multiome, ATAC-seq и пространственные данные.
- Пример запроса
- Объедини два набора scRNA-seq из разных экспериментов и убери батч-эффекты с помощью scVI.
- Нужно подключить
- Python, терминал
- Работает лучше с
- видеокарта (GPU)
Входит в плагин bio-research. В Cowork и Claude Code можно поставить плагин целиком.
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
scvi-toolsв~/.claude/skills/. - Откройте 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 — ведущей платформы вероятностных моделей в геномике одиночных клеток.
Как пользоваться этим скиллом
- Определи подходящий рабочий процесс по таблицам моделей и процессов ниже
- Прочитай соответствующий справочный файл — там подробные шаги и код
- Используй скрипты из
scripts/, чтобы не переписывать типовой код - По вопросам установки или GPU смотри
references/environment_setup.md - Для отладки смотри
references/troubleshooting.md
Когда использовать этот скилл
- Когда упоминаются scvi-tools, scVI, scANVI или связанные модели
- Когда нужна коррекция батч-эффектов или интеграция на основе глубокого обучения
- Когда идёт работа с мультимодальными данными (CITE-seq, multiome)
- Когда требуется картирование на референс или перенос меток
- Когда анализируются данные ATAC-seq или пространственной транскриптомики
- Когда изучаются латентные представления данных одиночных клеток
Руководство по выбору модели
| Тип данных | Модель | Основной сценарий |
|---|---|---|
| scRNA-seq | scVI | Интеграция без учителя, дифференциальная экспрессия (DE), импутация |
| scRNA-seq + метки | scANVI | Перенос меток, интеграция с частичным учителем |
| CITE-seq (РНК+белок) | totalVI | Мультимодальная интеграция, очистка белковых данных от шума |
| scATAC-seq | PeakVI | Анализ доступности хроматина |
| Multiome (РНК+ATAC) | MultiVI | Совместный анализ модальностей |
| Пространственные данные + референс scRNA | DestVI | Деконволюция типов клеток |
| РНК-скорость | veloVI | Динамика транскрипции |
| Разные технологии | sysVI | Коррекция батч-эффектов на уровне систем |
Справочные файлы по рабочим процессам
| Рабочий процесс | Справочный файл | Описание |
|---|---|---|
| Настройка окружения | references/environment_setup.md | Установка, GPU, сведения о версиях |
| Подготовка данных | references/data_preparation.md | Приведение данных к формату для любой модели |
| Интеграция scRNA | references/scrna_integration.md | Коррекция батч-эффектов scVI/scANVI |
| Анализ ATAC-seq | references/atac_peakvi.md | PeakVI для доступности хроматина |
| Анализ CITE-seq | references/citeseq_totalvi.md | totalVI для белка и РНК |
| Анализ multiome | references/multiome_multivi.md | MultiVI для РНК+ATAC |
| Пространственная деконволюция | references/spatial_deconvolution.md | Пространственный анализ DestVI |
| Перенос меток | references/label_transfer.md | Картирование на референс scANVI |
| Картирование scArches | references/scarches_mapping.md | Картирование запроса на референс |
| Коррекция батч-эффектов | references/batch_correction_sysvi.md | Продвинутые методы работы с батч-эффектами |
| РНК-скорость | references/rna_velocity_velovi.md | Динамика veloVI |
| Устранение неполадок | references/troubleshooting.md | Частые проблемы и решения |
Скрипты командной строки
Модульные скрипты для типовых рабочих процессов. Соединяй их в цепочки или меняй по необходимости.
Скрипты пайплайна
| Скрипт | Назначение | Использование |
|---|---|---|
prepare_data.py | Контроль качества, фильтрация, отбор HVG | python scripts/prepare_data.py raw.h5ad prepared.h5ad --batch-key batch |
train_model.py | Обучение любой модели scvi-tools | python scripts/train_model.py prepared.h5ad results/ --model scvi |
cluster_embed.py | Соседи, UMAP, Leiden | python scripts/cluster_embed.py adata.h5ad results/ |
differential_expression.py | Анализ DE | python scripts/differential_expression.py model/ adata.h5ad de.csv --groupby leiden |
transfer_labels.py | Перенос меток с помощью scANVI | python 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 |
Обязательные требования
- Нужны сырые счётчики: модели scvi-tools требуют данных в виде целочисленных счётчиков ``
python adata.layers["counts"] = adata.X.copy() # Before normalization scvi.model.SCVI.setup_anndata(adata, layer="counts")``
- Отбор 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()``
- Информация о батчах: для интеграции укажи 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.