/deepspot-m
Offline fixture standing in for a gene panel readout
$ npx -y skills add ClawBio/ClawBio --skill deepspot-m --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/deepspot-m
Context preview
The summary Claude sees to decide when to auto-load this skill.
Offline fixture standing in for a gene panel readout
SKILL.md
deepspot-m.SKILL.mdname: deepspot-m
description: Transcriptome-wide virtual spatial transcriptomics from H&E histology with DeepSpot-M. Scores a 224x224 tile and returns per-gene log1p-CPM values for any HGNC symbols you ask for, with a CSV, a report and a reproducibility bundle.
license: MIT
metadata:
version: "0.3.0"
# The weights carry their own terms. Nested under `metadata` because the
# agentskills spec allows no other top-level key than the six it names, and
# a top-level `model_license` fails `agentskills validate`.
model_license: cc-by-nc-sa-4.0
author: Kalin Nonchev
domain: spatial-transcriptomics
tags:
- spatial-transcriptomics
- histology
- gene-expression
- foundation-model
- digital-pathology
- h-and-e
inputs:
- name: input_file
type: file
format:
- png
- jpg
- jpeg
- tif
- tiff
description: One 224x224 H&E tile cut at native (~20x) resolution
required: true
outputs:
- name: report
type: file
format:
- md
description: Per-gene expression report with the upstream limitations attached
- name: result
type: file
format:
- json
description: Machine-readable per-gene log1p-CPM values and run parameters
- name: tables
type: file
format:
- csv
description: Gene table, one row per gene
- name: reproducibility
type: directory
format:
- dir
description: commands.sh, environment.yml and checksums.sha256
dependencies:
python: ">=3.11"
packages:
- deepspotm>=1.0,<2
- Pillow>=9.0
demo_data:
- path: examples/demo_tile.png
description: Synthetic 224x224 H&E-like tile
- path: examples/demo_expression.json
description: Offline fixture standing in for a gene panel readout
endpoints:
cli: python skills/deepspot-m/deepspot_m.py --input {input_file} --output {output_dir}
openclaw:
requires:
bins:
- python3
always: false
emoji: "🧬"
homepage: https://github.com/ratschlab/DeepSpotM
os:
- darwin
- linux
install:
- kind: pip
package: deepspotm
trigger_keywords:
- virtual spatial transcriptomics
- gene expression from histology
- spatial transcriptomics from H&E
- predict gene expression from a tissue image
- DeepSpot-M🧬 DeepSpot-M Virtual Spatial Transcriptomics
You are **deepspot-m**, a specialised ClawBio agent that turns an H&E histology tile into virtual spatial transcriptomics. You score one 224x224 tile with the DeepSpot-M foundation model and report per-gene log1p-CPM values for the gene symbols the user names.
Trigger
**Fire this skill when the user says any of:**
- "virtual spatial transcriptomics"
- "predict gene expression from histology"
- "spatial transcriptomics from H&E"
- "what genes are expressed in this tissue image"
- "score this tile for BRAF and COL1A1"
- "run DeepSpot-M on this tile"
- "gene expression map from a slide"
- "H&E to transcriptome"
**Do NOT fire when:**
- The user wants cells counted or outlined in an image. That is `cell-detection`.
- The user already has a measured spot-count table and wants region labels. That is `marker-dominance-mapper`.
- The user wants differential expression between conditions from a count matrix. That is `rnaseq-de`.
- The user wants single-cell clustering or embedding of an AnnData object. That is `scrna-orchestrator` or `scrna-embedding`.
- The user asks for TCGA bulk expression lookups. That is `xena-tcga-gene-query`.
Why This Exists
- **Without it**: Reading expression off an archived slide means running a spatial assay on the tissue, which most samples never get.
- **With it**: One archived H&E tile yields per-gene values in one command, entirely on the local machine.
- **Why ClawBio**: The call goes to a published model with released weights, pinned to one checkpoint, and every run leaves a reproducibility bundle behind.
This is a research tool, not a substitute for measurement. The model card publishes no per-gene accuracy figure, and neither does the preprint abstract, so this skill quotes none. Read the preprint for the evaluation before treating any number here as a finding, and see `## Safety` for the limitations upstream states.
Core Capabilities
1. **Score a tile**: Map one 224x224 H&E tile to per-gene log1p-CPM values. 2. **Query genes**: Ask for any HGNC symbols in the released panel and get only those, which is faster than scoring the whole transcriptome. 3. **Choose an embedding source**: Route gene queries through Evo 2, Orthrus, ProtT5, scGPT or Apertus embeddings. 4. **Check the tile**: Flag tiles that are near-white background or essentially colourless before reporting numbers for them. 5. **Report**: Write `report.md`, `result.json`, a gene CSV and a reproducibility bundle.
Scope
One skill, one task. This skill scores a single H&E tile and writes gene values. It does not read whole-slide images, tile them, register sections, call cells, or compute spatial statistics. For a whole slide, tile it first and call this skill per tile, or use `examples/predict_wsi.py` from the upstream repository.
Input Formats
| Format | Extension | Required Properties | Example | |--------|-----------|---------------------|---------| | PNG | `.png` | Exactly 224x224 px, H&E stained | `examples/demo_tile.png` | | JPEG | `.jpg`, `.jpeg` | Exactly 224x224 px, H&E stained | `tile.jpg` | | TIFF | `.tif`, `.tiff` | Exactly 224x224 px, H&E stained | `tile.tif` |
Tiles must be exactly 224x224 pixels. The skill checks the dimensions and stops with an explicit message when they differ. Upstream cuts tiles on a 224-pixel grid at native (~20x) resolution (source: upstream README, `### Command line`).
**On microns per pixel**: no microns-per-pixel or magnification figure appears on the model card, and the only magnification upstream states anywhere is the
Read more
name: deepspot-m
description: Transcriptome-wide virtual spatial transcriptomics from H&E histology with DeepSpot-M. Scores a 224x224 tile and returns per-gene log1p-CPM values for any HGNC symbols you ask for, with a CSV, a report and a reproducibility bundle.
license: MIT
metadata:
version: "0.3.0"
# The weights carry their own terms. Nested under `metadata` because the
# agentskills spec allows no other top-level key than the six it names, and
# a top-level `model_license` fails `agentskills validate`.
model_license: cc-by-nc-sa-4.0
author: Kalin Nonchev
domain: spatial-transcriptomics
tags:
- spatial-transcriptomics
- histology
- gene-expression
- foundation-model
- digital-pathology
- h-and-e
inputs:
- name: input_file
type: file
format:
- png
- jpg
- jpeg
- tif
- tiff
description: One 224x224 H&E tile cut at native (~20x) resolution
required: true
outputs:
- name: report
type: file
format:
- md
description: Per-gene expression report with the upstream limitations attached
- name: result
type: file
format:
- json
description: Machine-readable per-gene log1p-CPM values and run parameters
- name: tables
type: file
format:
- csv
description: Gene table, one row per gene
- name: reproducibility
type: directory
format:
- dir
description: commands.sh, environment.yml and checksums.sha256
dependencies:
python: ">=3.11"
packages:
- deepspotm>=1.0,<2
- Pillow>=9.0
demo_data:
- path: examples/demo_tile.png
description: Synthetic 224x224 H&E-like tile
- path: examples/demo_expression.json
description: Offline fixture standing in for a gene panel readout
endpoints:
cli: python skills/deepspot-m/deepspot_m.py --input {input_file} --output {output_dir}
openclaw:
requires:
bins:
- python3
always: false
emoji: "🧬"
homepage: https://github.com/ratschlab/DeepSpotM
os:
- darwin
- linux
install:
- kind: pip
package: deepspotm
trigger_keywords:
- virtual spatial transcriptomics
- gene expression from histology
- spatial transcriptomics from H&E
- predict gene expression from a tissue image
- DeepSpot-M🧬 DeepSpot-M Virtual Spatial Transcriptomics
You are **deepspot-m**, a specialised ClawBio agent that turns an H&E histology tile into virtual spatial transcriptomics. You score one 224x224 tile with the DeepSpot-M foundation model and report per-gene log1p-CPM values for the gene symbols the user names.
Trigger
**Fire this skill when the user says any of:**
- "virtual spatial transcriptomics"
- "predict gene expression from histology"
- "spatial transcriptomics from H&E"
- "what genes are expressed in this tissue image"
- "score this tile for BRAF and COL1A1"
- "run DeepSpot-M on this tile"
- "gene expression map from a slide"
- "H&E to transcriptome"
**Do NOT fire when:**
- The user wants cells counted or outlined in an image. That is `cell-detection`.
- The user already has a measured spot-count table and wants region labels. That is `marker-dominance-mapper`.
- The user wants differential expression between conditions from a count matrix. That is `rnaseq-de`.
- The user wants single-cell clustering or embedding of an AnnData object. That is `scrna-orchestrator` or `scrna-embedding`.
- The user asks for TCGA bulk expression lookups. That is `xena-tcga-gene-query`.
Why This Exists
- **Without it**: Reading expression off an archived slide means running a spatial assay on the tissue, which most samples never get.
- **With it**: One archived H&E tile yields per-gene values in one command, entirely on the local machine.
- **Why ClawBio**: The call goes to a published model with released weights, pinned to one checkpoint, and every run leaves a reproducibility bundle behind.
This is a research tool, not a substitute for measurement. The model card publishes no per-gene accuracy figure, and neither does the preprint abstract, so this skill quotes none. Read the preprint for the evaluation before treating any number here as a finding, and see `## Safety` for the limitations upstream states.
Core Capabilities
1. **Score a tile**: Map one 224x224 H&E tile to per-gene log1p-CPM values. 2. **Query genes**: Ask for any HGNC symbols in the released panel and get only those, which is faster than scoring the whole transcriptome. 3. **Choose an embedding source**: Route gene queries through Evo 2, Orthrus, ProtT5, scGPT or Apertus embeddings. 4. **Check the tile**: Flag tiles that are near-white background or essentially colourless before reporting numbers for them. 5. **Report**: Write `report.md`, `result.json`, a gene CSV and a reproducibility bundle.
Scope
One skill, one task. This skill scores a single H&E tile and writes gene values. It does not read whole-slide images, tile them, register sections, call cells, or compute spatial statistics. For a whole slide, tile it first and call this skill per tile, or use `examples/predict_wsi.py` from the upstream repository.
Input Formats
| Format | Extension | Required Properties | Example | |--------|-----------|---------------------|---------| | PNG | `.png` | Exactly 224x224 px, H&E stained | `examples/demo_tile.png` | | JPEG | `.jpg`, `.jpeg` | Exactly 224x224 px, H&E stained | `tile.jpg` | | TIFF | `.tif`, `.tiff` | Exactly 224x224 px, H&E stained | `tile.tif` |
Tiles must be exactly 224x224 pixels. The skill checks the dimensions and stops with an explicit message when they differ. Upstream cuts tiles on a 224-pixel grid at native (~20x) resolution (source: upstream README, `### Command line`).
**On microns per pixel**: no microns-per-pixel or magnification figure appears on the model card, and the only magnification upstream states anywhere is the
🦖 ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

