Process, quality-control, annotate, and visualize single-cell or single-nucleus RNA-seq datasets across tissues and species. Use when Codex needs to build, adapt, or review a general scRNA-seq QC pipeline; choose dataset-appropriate cell-level filters from QC distributions; run required scDblFinder-based doublet and ambient-RNA filtering; annotate cells with matched references or marker-based fallbacks; or generate global and per-group UMAP visualizations for large scRNA-seq datasets.
69
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Read references/qc-annotation-umap-heuristics.md before picking thresholds, annotation backends, or UMAP feature-selection rules.
Confirm what inputs exist before writing code:
Preserve provenance in the output: package versions, thresholds, threshold-justification plots, counts removed or flagged at each filter, annotation backend and reference, marker-gene selection heuristic, and any manual cluster exclusions.
Choose QC thresholds from the data, not from a fixed template.
percent.mt.Run cell-level QC.
percent.mt.scDblFinder for doublet detection. Run it per batch or capture channel, and split very large batches before doublet calling.scDblFinder cannot run in the environment, surface the blocker explicitly or get user approval before using a different caller.passes_QC column instead of physically dropping cells when downstream provenance matters.Build a latent space and inspect residual artifacts.
scVI is warranted for this dataset and use case before training it.scVI when integration across batches, donors, chemistries, or related datasets is important, or when the dataset is large and noisy enough that a learned latent space is likely to help.scVI or a conventional PCA workflow was chosen for this dataset.Annotate cells.
cell_type_mapper.Choose a general marker panel for global UMAP.
Generate UMAP visualizations.
Scale to large datasets without copying.
When implementing a pipeline, produce an auditable output set:
.h5ad or equivalent object with raw counts preserved and QC or annotation fields in metadata.For 10x-style matrix bundles, a local runner is available:
python plugins/ngs-analysis/scripts/run_scrnaseq_post_count_qc.py --input-dir path/to/scrna_bundleThe input directory should contain matrix/, manifest.tsv, and dataset_metadata.json, unless explicit paths are supplied. Treat the runner as an auditable analysis surface: its marker-based fallback is PBMC-oriented when no matched reference is provided, so tissue-specific annotation and integration choices still require review.
The runner writes visualizations/index.html for portable artifact review, summary.md plus provenance/analysis_status.json for explicit completeness/blocker reporting, and auto-launches a localhost Marimo review app recorded in notebooks/marimo_server.json. It also writes notebooks/scrna_qc_review.marimo.py as a notebook backup over the generated PNG/CSV/H5AD outputs. Treat the notebook and review app as review layers, not as the source of truth; the run envelope and generated artifacts remain canonical.
references/qc-annotation-umap-heuristics.md: Threshold-selection heuristics, annotation fallback strategy, general marker-panel selection rules, and large-dataset memory practices.11c74d6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.