Skip to main content

STAT: Spatial Transcriptomics Analytical agenT - AI-powered platform for spatial omics analysis

Project description

STAT

Spatial Transcriptomics Analytical agenT

An AI-powered platform for spatial omics analysis with multi-format support, interactive visualization, and intelligent code generation.

Features

  • AI Agent: Natural language interface for spatial transcriptomics analysis — ask questions, get results
  • Multi-format support: Single-slice, multi-slice, and multi-omics (gene + protein) datasets
  • Interactive viewer: Canvas-based spatial visualization with zoom/pan, ROI drawing, and cell overlays
  • Skill system: Extensible analysis skills (cell type annotation, deconvolution, spatial domains, etc.)
  • Code execution: Agent generates and runs analysis code in a sandboxed environment
  • Multi-provider LLM: Works with OpenAI, Anthropic, Google, Deepseek, and Poe

Installation

pip install stat-agent

With all analysis skill dependencies (squidpy, scvi-tools, torch, liana, etc.):

pip install "stat-agent[skills]"

Quick Start

Web Interface

stat-web
# Open http://localhost:8889

Or with the startup script (includes Jupyter Lab):

./start_web.sh

In the web UI:

  1. Enter path to your dataset directory
  2. Configure LLM (API key, model)
  3. Click "Load Dataset"
  4. Ask questions in the chat panel: "Annotate cell types", "Find spatially variable genes", "Show BRCA1 expression"

Data Format

STAT auto-detects your data layout. Place files in a single directory:

Single-slice:

dataset/
├── tissue.h5ad          # Required: AnnData with x, y coordinates in obs
└── he.tif               # Optional: H&E image (pixel coords = cell coords)

Multi-slice:

dataset/
├── tissue_slice_0.h5ad
├── he_slice_0.tif
├── tissue_slice_1.h5ad
└── he_slice_1.tif

Multi-omics:

dataset/
├── tissue.h5ad          # Gene expression
├── tissue_protein.h5ad  # Protein expression
├── he.tif
└── protein_CD3.tif

Key: Cell coordinates (x, y) in adata.obs map directly to image pixels (x, y). No coordinate transformation needed.

Built-in Skills

Skill Description
Cell Type Annotation (GPT) Unsupervised clustering + LLM-based annotation
Cell Type Annotation (scANVI) Transfer learning from scRNA-seq reference
Deconvolution (RCTD) Spot-level cell type deconvolution
Spatial Domains (SpaGCN) Graph-based spatial domain identification
SVG (SpatialDE) Spatially variable gene detection
Neighborhood Enrichment Cell type co-localization analysis
Cell Communication (LIANA+) Ligand-receptor interaction analysis
Cell Communication (CellPhoneDB) Permutation-based interaction testing
GO Enrichment Gene Ontology pathway analysis
Niche Detection (Harmonics) Spatial niche identification
Integration (Harmony) Multi-slice batch correction
Alignment (STalign) Spatial slice alignment

Architecture

User Query → QueryPlanner → SkillFilter → LLM Matching → SkillVerifier → Code Generation → Execution
  • QueryPlanner: Determines target slices, breaks complex queries into steps
  • SkillFilter: Programmatic filtering by modality, data level, number of slices
  • SkillVerifier: Checks prerequisites, requests missing information
  • SpatialAgent: Generates analysis code using skill instructions + session context
  • CodeExecutor: Sandboxed execution with state change detection

Project Structure

stat_agent/
├── core/                  # Data layer
│   ├── session.py         # Multi-slice/multi-omics session
│   ├── data_slice.py      # Single data slice wrapper
│   └── roi_manager.py     # ROI geometry management
├── agent/                 # Agent pipeline
│   ├── spatial_agent_core.py
│   ├── conversation_orchestrator.py
│   ├── pipeline_executor.py
│   ├── query_planner.py
│   ├── skill_registry.py
│   ├── skill_filter.py
│   ├── skill_verifier.py
│   ├── llm_backend.py
│   └── memory.py
└── functions/
    └── io.py              # Data loading
.claude/skills/            # Skill definitions (SKILL.md + helper libs)
web_interface.py           # Flask backend + API endpoints
static/                    # Frontend (JS + CSS)
templates/                 # HTML templates

License

BSD-3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stat_agent-0.1.10.tar.gz (271.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stat_agent-0.1.10-py3-none-any.whl (291.4 kB view details)

Uploaded Python 3

File details

Details for the file stat_agent-0.1.10.tar.gz.

File metadata

  • Download URL: stat_agent-0.1.10.tar.gz
  • Upload date:
  • Size: 271.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stat_agent-0.1.10.tar.gz
Algorithm Hash digest
SHA256 66ee007f4231cb868cc479c2c02bf327d8b25dfe5a3ed8706b718bcdd376bc3c
MD5 5a1013e4da5c348fa6fe4d1f71470cc6
BLAKE2b-256 9277cf41c4c24f369a0e09bb9316d46b903d50543e3f9e01eecb961569445df5

See more details on using hashes here.

Provenance

The following attestation bundles were made for stat_agent-0.1.10.tar.gz:

Publisher: publish.yml on chenyhvvvv/STAT-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stat_agent-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: stat_agent-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 291.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for stat_agent-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 716cd3deea61a12437d550f2a69f896ab3ab19fc44cc0bbdace9bd7441cc0875
MD5 671ad03c41b60b1911feaead20fef859
BLAKE2b-256 b774b5d2cc89d24d6be25d965a5ec55e9dd88cef306840b529cf63ed6a6cbc69

See more details on using hashes here.

Provenance

The following attestation bundles were made for stat_agent-0.1.10-py3-none-any.whl:

Publisher: publish.yml on chenyhvvvv/STAT-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page