mcpField
S
scvi-tools

scvi-tools

github.com/anthropicsデータ・データベース33.6k2.4k 回インストール1 日前に更新
リポジトリ

scvi-tools について

scvi-toolsは、単一細胞ゲノミクス解析を行う研究者向けの深層学習スキルです。単一細胞RNA、ATAC、マルチモーダル、空間データ、RNA velocityのモデル選択を案内し、データ準備、学習、統合、ラベル転送用のスクリプトを提供します。

主な機能

  1. 01データ種類に応じたscvi-toolsモデルの選択
  2. 02データ準備とモデル学習
  3. 03データセット統合とバッチ補正
  4. 04クラスタリング、埋め込み、差次的発現解析
  5. 05ラベル転送とリファレンスマッピング
  6. 06データ検証とトラブルシューティングのガイド

活用シーン

  1. 01バッチ差のある単一細胞RNA-seqデータの統合
  2. 02CITE-seqまたはMultiomeデータの統合解析
  3. 03参照データセットからクエリデータへの細胞ラベル転送
  4. 04ATAC-seq、空間トランスクリプトーム、RNA velocityの解析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill scvi-tools

インストール後、Claude Code で/scvi-toolsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
references/
atac_peakvi.md
batch_correction_sysvi.md
citeseq_totalvi.md
data_preparation.md
environment_setup.md
label_transfer.md
multiome_multivi.md
rna_velocity_velovi.md
scarches_mapping.md
scrna_integration.md
spatial_deconvolution.md
troubleshooting.md
scripts/
cluster_embed.py
differential_expression.py
integrate_datasets.py
model_utils.py
prepare_data.py
train_model.py
transfer_labels.py
validate_adata.py

詳細

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(RNA+protein)totalVIマルチモーダル統合、タンパク質のノイズ除去
scATAC-seqPeakVIクロマチンアクセシビリティ解析
Multiome(RNA+ATAC)MultiVIモダリティの統合解析
Spatial + scRNA referenceDestVI細胞型のデコンボリューション
RNA velocityveloVI転写ダイナミクス
Cross-technologysysVIシステムレベルのバッチ補正

ワークフローのリファレンスファイル

ワークフローリファレンスファイル説明
環境設定references/environment_setup.mdインストール、GPU、バージョン情報
データの準備references/data_preparation.md各モデルで使用するデータの形式設定
scRNA の統合references/scrna_integration.mdscVI/scANVI によるバッチ補正
ATAC-seq 解析references/atac_peakvi.mdアクセシビリティ解析のための PeakVI
CITE-seq 解析references/citeseq_totalvi.mdタンパク質+RNA のための totalVI
Multiome 解析references/multiome_multivi.mdRNA+ATAC のための MultiVI
空間デコンボリューションreferences/spatial_deconvolution.mdDestVI による空間解析
ラベル転送references/label_transfer.mdscANVI によるリファレンスマッピング
scArches マッピングreferences/scarches_mapping.mdクエリからリファレンスへのマッピング
バッチ補正references/batch_correction_sysvi.md高度なバッチ補正手法
RNA velocityreferences/rna_velocity_velovi.mdveloVI によるダイナミクス解析
トラブルシューティングreferences/troubleshooting.mdよくある問題と解決方法

CLI スクリプト

よく使うワークフロー向けのモジュール式スクリプトです。必要に応じて連結したり、変更したりできます。

パイプラインスクリプト
スクリプト目的使用方法
prepare_data.pyQC、フィルタリング、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、Leidenpython scripts/cluster_embed.py adata.h5ad results/
differential_expression.pyDE 解析python scripts/differential_expression.py model/ adata.h5ad de.csv --groupby leiden
transfer_labels.pyscANVI によるラベル転送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()データの準備(QC、HVG、レイヤーの設定)
train_scvi()scVI または scANVI のトレーニング
evaluate_integration()統合メトリクスの算出
get_marker_genes()DE マーカーの抽出
save_results()モデル、データ、プロットの保存
auto_select_model()最適なモデルの提案
quick_clustering()近傍グラフ + UMAP + Leiden

重要な要件

  1. 生カウントデータが必要です:scvi-tools のモデルには整数のカウントデータが必要です。

    adata.layers["counts"] = adata.X.copy()  # Before normalization
    scvi.model.SCVI.setup_anndata(adata, layer="counts")
    
  2. HVG の選択:高度に変動する遺伝子を 2000~4000 個使用します。

    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_key を指定します。

    scvi.model.SCVI.setup_anndata(adata, layer="counts", batch_key="batch")
    

クイック判断ツリー

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)

主なリソース

コメント