Doublet Detection (bioSkills)
A Claude Code skill that identifies multi-cell droplets in single-cell RNA-seq before they are mistaken for real intermediate or transitional cell states.
| Type | Claude Skill |
| Supplier | GPTomics bioSkills (community OSS, MIT) |
| Availability | GA — part of the bioSkills collection |
| Pricing | Free / OSS (MIT) — scDblFinder, Scrublet, DoubletFinder, Seurat and scanpy are separately installed OSS |
| Capabilities | Read/Write — Claude runs the skill’s workflow locally (R/Python), not as an MCP tool |
| Verified | works · 2026-08-03 |
| Security | cleared · 2026-08-03 — GPTomics/bioSkills MIT confirmed, provenance matches, no advisories |
How to install
bioSkills is not an npm package — skills are plain markdown/code read directly by the agent. Clone the repo, then either run the installer for the whole category or copy the single skill directory.
- Claude Code — clone and install via the bundled script:
git clone https://github.com/GPTomics/bioSkills cd bioSkills ./install-claude.sh --categories "single-cell"The installer copies matching skills into
~/.claude/skills/(default target). Use./install-claude.sh --listto preview the skills first. - Claude Code / other agents — copy just this one skill:
cp -r bioSkills/single-cell/doublet-detection ~/.claude/skills/(run from inside your clone — the previous step left you in
bioSkills/; otherwise replacebioSkills/with the absolute path of your clone). Install the chosen detector on first use:BiocManager::install("scDblFinder")in R, or use the Scrublet implementation bundled with scanpy in Python.
What it does
Runs simulate-and-score doublet detection per sample and helps decide what to do with the calls:
- Method panel — scDblFinder 1.16+ (R, the collection’s recommended 2024–2026 default), Scrublet via scanpy 1.10+ (Python), and DoubletFinder (R, current release — the
*_v3function suffixes were removed after November 2023). Works alongside Seurat 5.0+ /SingleCellExperimentobjects. - Workflow — detect per sample on raw counts after basic QC and before integration or clustering; set the expected doublet rate from recovered-cell counts (~0.8% per 1,000 cells, i.e.
dbr.per1k = 0.008); apply a homotypic adjustment (modelHomotypic()) to discount same-cell-type pairs that scoring cannot see; tune the cutoff when a Scrublet score histogram is not bimodal; and flag-and-inspect rather than deleting blindly. - Design rules the skill encodes — for multiplexed pools the expected rate comes from the total lane cell count, not the demultiplexed subset, otherwise doublets are systematically underestimated.
Primary use cases: single-cell QC before clustering, ruling out artefactual “intermediate” populations, per-sample cleanup ahead of multi-sample integration.
Notes
Distributed as a SKILL.md (plus reference material) in the bioSkills collection — Claude executes the workflow locally rather than as an MCP server. The upstream skill front-matter name is bio-single-cell-doublet-detection and it declares tool_type: mixed (it spans both R and Python detectors); if invoked as a namespaced plugin command it resolves under the bioSkills plugin, not as a bare /doublet-detection. Complements the earlier QC step in Single-cell RNA QC and the downstream annotation work in CellTypist and popV. Homotypic doublets — two cells of the same type — remain largely undetectable by any of these methods, which is why the skill treats calls as flags for inspection. Upstream directory: single-cell/doublet-detection.
Sources
Installed this tool?
Share feedback — install path, OS, errors, workarounds. The form opens with this tool pre-selected and a link back to this page.