Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Checklist-style reference for OmicVerse downstream tutorials covering AUCell scoring, metacell DEG, and related exports.
.claude/skills/single-cell-downstream-analysis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-18 | ✗→✓ | ▲ Improved | — | — |
| case-06 | ✗→✓ | ▲ Improved | — | — |
This skill sheet distills the OmicVerse single-cell downstream tutorials into an executable checklist. Each module highlights prerequisites, the core API entry points, interpretation checkpoints, resource planning notes, and any optional validation or export steps surfaced in the notebooks.
t_aucell.ipynb)AnnData object with clustering/embedding (adata.obsm['X_umap']) is prepared.ov.single.geneset_aucell for one pathway; ov.single.pathway_aucell for multiple pathways.ov.single.pathway_aucell_enrichment to score all pathways in a library (set num_workers for parallelism).sc.pl.embedding to confirm pathway activity patterns.sc.tl.rank_genes_groups on the AUCell AnnData to find cluster-enriched pathways and visualize withsc.pl.rank_genes_groups_dotplot.
num_workers=8 in tutorial) and sufficient memory for thedense AUCell matrix.
adata_aucs.write_h5ad('...') for reuse.ov.single.pathway_enrichment and ov.single.pathway_enrichment_plot heatmaps.t_scdeg.ipynb)ov.pp.qc, ov.pp.preprocess, ov.pp.scale, ov.pp.pca).adata.raw before HVG filtering.ov.bulk.pyDEG(test_adata.to_df(...).T) for full-cell and metacell views.ov.single.MetaCell(..., use_gpu=True) when GPU is available for acceleration.dds.plot_volcano) and targeted boxplots (dds.plot_boxplot) for top DEGs.ov.utils.embedding to confirm localization.passed to pyDEG.
legend_* settings for publication-ready visuals.t_deg_single.ipynb)adata with condition, cell_label, and optional batch metadata.ov.settings.cpu_gpu_mixed_init()).ov.single.DEG(..., method='wilcoxon'|'t-test'|'memento-de') with deg_obj.run(...) to target cell types.ov.single.DCT(..., method='sccoda'|'milo') for differential composition testing.ov.pp.preprocess, ov.single.batch_correction, ov.pp.neighbors, ov.pp.umap.deg_obj (Wilcoxon / memento) and adjust capture rate / bootstraps for stability.sim_results.set_fdr(); interpret boxplots with condition-level shifts.num_cpus, num_boot, high k); ensure adequate compute time.ov.pl.embedding), Milo beeswarm plots, and custom color palettes.t_scdrug.ipynb)infercnvpy.datasets.maynard2020_3k).ov.utils.get_gene_annotation (requires GTF from GENCODE or T2T-CHM13).ov.utils.download_GDSC_data() and ov.utils.download_CaDRReS_model() for drug-response models.git clone https://github.com/CSB5/CaDRReS-Sc).ov.single.autoResolution(adata, cpus=4).ov.single.Drug_Response(adata, scriptpath='CaDRReS-Sc', modelpath='models/', output='result').output; cross-reference with inferred CNV states.AnnData (adata.write('scanpyobj.h5ad')) to reuse for downstream analyses or re-runs.t_scenic.ipynb)ov.single.mouse_hsc_nestorowa16() (or provide preprocessed data with raw counts).*.feather) and motif annotations (motifs-*.tbl) for the species; allocate>3 GB disk space and verify paths (db_glob, motif_path).
ov.single.SCENIC(adata, db_glob=..., motif_path=..., n_jobs=12).scenic_obj.auc_mtx.head()), RSS scores, and embeddings colored by regulon activity.n_jobs matches available cores); ensure enough RAM for motif enrichment.scenic_obj (ov.utils.save) and regulon AnnData (regulon_ad.write).t_cnmf.ipynb)ov.pp.preprocess), scaling (ov.pp.scale), PCA, and have UMAP embeddings for inspection.np.arange(5, 11)) and iterations; ensure output directory exists.ov.single.cNMF(..., output_dir='...', name='...').cnmf_obj.factorize(...), cnmf_obj.combine(...), cnmf_obj.k_selection_plot(),cnmf_obj.consensus(...).
cnmf_obj.load_results(...), cnmf_obj.get_results(...), optional RF classifier via get_results_rfc.ov.pl.embedding), cluster labels, and dotplots of top genes.total_workers) and verifying diskspace for intermediate factorization files.
t_nocd.ipynb)ov.single.scanpy_lazy (automated preprocessing) before running NOCD.scbrca = ov.single.scnocd(adata) followed by chained methods (matrix_transform, matrix_normalize,GNN_configure, GNN_preprocess, GNN_model, GNN_result, GNN_plot, cal_nocd, calculate_nocd).
sc.pl.umap) for nocd, nocd_n, and Leiden labels using shared color maps.t_lazy.ipynb)sample_key) and optionally initialize hybrid compute (ov.settings.cpu_gpu_mixed_init()).ov.single.lazy(adata, species='mouse', sample_key='batch', ...) with optional reforce_stepsand module-specific kwargs.
ov.single.generate_scRNA_report(...) to build HTML summary; ov.generate_reference_table(adata) forcitation tracking.
ov.pl.embedding) for quality and annotation alignment.reforce_steps accordingly.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +64 percentage points is the difference between those two pass rates over the 22 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.