Map spatial transcriptomics data from 10x Genomics Visium or Xenium onto tissue section images, visualizing gene expression and spatial clustering distributions.
86
83%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Process 10x Genomics Visium or Xenium spatial transcriptomics data and project gene expression onto tissue section images. Supports single-gene visualization, multi-gene overlays, and spatial clustering maps.
python -m py_compile scripts/main.pypython -m py_compile scripts/main.py
python scripts/main.py --help
python scripts/main.py --platform visium --data-dir ./test_data/visium_sample --gene GENE_0000 --output ./test_output/--platform is missing, check the data directory for filtered_feature_bc_matrix.h5 + spatial/ (→ Visium) or transcripts.parquet (→ Xenium) and infer the platform automatically. Report the inferred platform before proceeding.scripts/main.py with the appropriate platform and gene flags.If scripts/main.py fails or required fields are missing, respond with:
FALLBACK REPORT
───────────────────────────────────────
Objective : <mapping goal>
Inputs Available : <platform, data-dir, gene(s) provided>
Missing Inputs : <list exactly what is missing>
Partial Result : <any steps completed safely>
Blocked Steps : <what could not be completed and why>
Next Steps : <minimum info needed to complete>
───────────────────────────────────────For complex multi-constraint requests, always include these sections explicitly:
--crop; missing genes will be skipped.h5, tissue_positions_list.csv, tissue images).h5, transcripts.parquet, nucleus_boundaries.parquet)# Single gene — Visium
python scripts/main.py --platform visium --data-dir /path/to/spaceranger/outs/ \
--gene PIK3CA --output ./output/
# Single gene — Xenium
python scripts/main.py --platform xenium --data-dir /path/to/xenium/outs/ \
--gene PIK3CA --output ./output/
# Multiple genes
python scripts/main.py --platform visium --data-dir /path/to/data/ \
--genes PIK3CA,PTEN,EGFR --mode overlay --output ./output/
# With clustering results
python scripts/main.py --platform visium --data-dir /path/to/data/ \
--cluster-file ./clusters.csv --output ./output/| Parameter | Type | Default | Description |
|---|---|---|---|
--platform | str | required | visium or xenium |
--data-dir | str | required | Data directory path |
--gene | str | optional | Single gene name |
--genes | list | optional | Multiple genes, comma-separated |
--mode | str | single | single / overlay / multi / cluster |
--cluster-file | str | optional | Clustering result CSV |
--output | str | ./output | Output directory |
--dpi | int | 300 | Output image DPI |
--cmap | str | viridis | Color map |
--crop | str | optional | Crop region x1,y1,x2,y2 |
→ Full parameter reference: references/parameters.md
{gene}_spatial_map.png — Single gene spatial expression map{gene}_heatmap.png — Gene expression heatmapmulti_gene_overlay.png — Multi-gene overlay (with --mode overlay)cluster_spatial_map.png — Cluster spatial distributioncombined_report.html — Comprehensive HTML reportThis skill accepts: 10x Genomics Visium or Xenium output directories with valid Space Ranger or Xenium Explorer file structures, plus at least one gene name or cluster file.
If the request does not involve spatial transcriptomics mapping — for example, asking to perform bulk RNA-seq analysis, process scRNA-seq without spatial coordinates, or analyze non-genomics imaging data — do not proceed. Instead respond:
"
spatial-transcriptomics-mapperis designed to map 10x Genomics Visium/Xenium spatial transcriptomics data onto tissue images. Your request appears to be outside this scope. Please provide a valid Visium or Xenium data directory, or use a more appropriate tool."
If the data is from a non-10x spatial platform (Slide-seq, MERFISH, seqFISH, etc.), note that this skill supports Visium and Xenium only, and recommend the appropriate platform-specific tool or pipeline.
scripts/main.py fails, use the Fallback Template above.Every final response must include:
--hires for high resolution--crop to specify region of interestscanpy
squidpy
matplotlib
seaborn
pillow
numpy
pandas
h5py
pyarrow # Xenium only
dask # Xenium only
opencv-python # optional, advanced image processingca9aaa4
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.