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.21.tar.gz (308.4 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.21-py3-none-any.whl (341.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for stat_agent-0.1.21.tar.gz
Algorithm Hash digest
SHA256 39924858cbc133df1339aabd984504f3d90da570f632cf438902e5892e3544fd
MD5 fc6fe69e9ab6ab0ef22b5467ad0fb3f2
BLAKE2b-256 9a66842f259bae9db0eb8f4829efe40327bb8f5d9b03f06b4ebede4ee45ce56f

See more details on using hashes here.

Provenance

The following attestation bundles were made for stat_agent-0.1.21.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.21-py3-none-any.whl.

File metadata

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

File hashes

Hashes for stat_agent-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 033bb139042a71840d68bef7792e32370b923623c5c4df8c3dc1d054eee7d23b
MD5 9c3ce10f5cd100395ac550cbb7942aa0
BLAKE2b-256 d9464decb0961999579697d8685689776ae8749d2ebafad9fa1a0de5d683cf7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for stat_agent-0.1.21-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