Skip to content
Skillpedia
Machine learning51k · #1967

scanpy

Helps your agent analyze single-cell RNA sequencing data. It performs tasks from quality control to visualizing results. It's useful for biologists studying cells individually.

What it does

This tool analyzes single-cell RNA sequencing (scRNA-seq) data. It helps understand data quality, group similar cells, find important genes, and visualize the results.

When to use it

  • ✓When you have raw single-cell sequencing data.
  • ✓To organize and visualize your single-cell data.
  • ✓To identify different cell types within your sample.

Example of what to ask your AI

“Analyze my single-cell RNA-seq data, perform quality control, normalize the data, reduce dimensionality with PCA and UMAP, cluster the cells, and find marker genes.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/scanpy/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/scanpy/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses a set of instructions called Scanpy to process your data. It performs various steps like cleaning, normalization, dimensionality reduction, and clustering to reveal patterns in the data.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add K-Dense-AI/scientific-agent-skills --skill scanpy

Or download just the file:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/scanpy/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Scanpy: Single-Cell Analysis

Overview

Scanpy is a scalable Python toolkit for analyzing single-cell RNA-seq data, built on AnnData. Apply this skill for complete single-cell workflows including quality control, normalization, dimensionality reduction, clustering, marker gene identification, visualization, and trajectory analysis. Targets Scanpy 1.12.4 (released 2026-08-27), reviewed 2026-10-01. Native synthetic tests establish data/API contracts, not biological validity.

Installation

Requires Python 3.12+ (scanpy 1.12 dropped Python ≤3.11) and anndata ≥0.10.

uv pip install "scanpy[leiden]"

The [leiden] extra installs igraph and leidenalg; the scripts explicitly select flavor="igraph". For reproducible environments, pin a version: uv pip install "scanpy[leiden]==1.12.4".

For large or out-of-core datasets, many functions support Dask arrays (experimental):

uv pip install "scanpy[leiden]" dask

See the Using dask with Scanpy tutorial. For GPU-accelerated scanpy-like operations, use rapids-singlecell as a separate package.

If the input is an R-native single-cell object (.rds, .RData, Seurat, or SingleCellExperiment), first convert it to .h5ad with R tooling, then load it with Scanpy. Read references/r_interop.md for agent-run installation and conversion instructions across macOS, Linux, and Windows.

For AnnData structure and I/O details, use the anndata skill. For probabilistic models and batch correction, use scvi-tools.

Representation and inference contracts

  • Input to QC/preprocessing must be identified raw counts. The scripts reject negative, fractional, nonfinite or zero-total cells. Use --counts-layer counts when X is already normalized; never infer provenance from integer-looking values alone.
  • layers["counts"] remains unnormalized; .raw is an independent full-gene log-normalized snapshot. Gene subsetting also subsets every layer, but does not subset .raw genes. Retain a full-gene object for pseudobulk; the full pipeline does so.
  • seurat/cell_ranger HVGs use log-normalized values; seurat_v3 and seurat_v3_paper use counts and require scanpy[skmisc]. Scaling/regression are optional, may densify sparse data, and can remove biology along with covariates.
  • Marker ranking defaults to .raw when present; --no-use-raw selects X and --layer selects an explicit log-normalized layer. --groups/--reference control contrasts. Wilcoxon/t-test adjusted p-values use BH within each comparison; logreg returns ranking scores without p-values. Clusters chosen from the same data yield exploratory markers.
  • Condition DE requires raw-count sums per sample and cell type, independent biological replicates, aligned condition/donor metadata and a full-rank design. Analyze each cell type separately; repeated donor samples require a suitable paired design. Aggregation cannot fix confounding, missing replication, doublets or incorrect annotations.
  • Harmony (harmonypy) changes PCA coordinates; BBKNN (bbknn) changes the graph; ComBat changes X. Keep original expression/counts for DE, and assess biological conservation and batch mixing together. Requested integration/doublet failures stop.
  • The toolkit loads files into memory. For backed data, explicitly call .to_memory() on a chosen subset and close the file; backed mode is not a general out-of-core pipeline. Copy views before mutation. Dask support varies by function/array layout.
  • .rds needs an explicit R conversion stage. Cluster IDs do not determine cell types: all mappings/signature assets are illustrative human marker examples, requiring review.

Harmony 2 returns cells x PCs; the toolkit calls its native API because the Scanpy 1.12.4 wrapper still transposes that output and fails with current Harmony.

Optional packages: scikit-image for Scrublet automatic thresholding, loompy for Loom, scikit-misc for v3 HVGs, harmonypy==2.0.2/bbknn==1.6.0 for their integration branches, and louvain for the deprecated Louvain option (separate environment: louvain 0.8.2 requires igraph <0.12, conflicting with the tested igraph 1.0). Install only needed branches. R and optional integration execution boundaries are recorded in references/upstream-review.md.

…

FAQ

What is single-cell RNA sequencing (scRNA-seq) data?

It's a technology that allows the analysis of RNA from individual cells, revealing the diversity and functions of each cell in a tissue or sample.

What is an .h5ad file?

It's a common file format used to store single-cell data efficiently, compatible with the Scanpy tool.

Can I use data from other formats like .rds?

Yes, the tool can convert data from formats like .rds (common in R) into the .h5ad format before analysis.

Details

Original description by the author

Performs Scanpy single-cell RNA-seq QC, normalization, HVG selection, PCA/UMAP/t-SNE, clustering, exploratory marker ranking, pseudobulk preparation, visualization, and Seurat or SingleCellExperiment RDS conversion to h5ad. Applies to established exploratory scRNA-seq workflows with explicit count and expression provenance; complementary skills cover scvi-tools models and AnnData format details.

repo: K-Dense-AI/scientific-agent-skills

Popularity

GitHub stars
51k
Ranking position
#1967
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills