Skip to content

Efdix/ChatCellAnno

Repository files navigation

ChatCellAnno: Multimodal AI-Powered Single-Cell Annotation Assistant

License Python Platform

ChatCellAnno is a desktop application for single-cell annotation that combines marker genes, optional expression matrices, enrichment evidence, and visual context for LLM-assisted cluster labeling.

中文文档

Features

  • Multimodal context: marker genes, optional UMAP image context, and optional expression matrix.
  • Enrichment-assisted prompting: integrates GO/KEGG and related knowledge to reduce annotation ambiguity.
  • Flexible interaction modes: built-in browser flow plus configurable API settings.
  • Structured parsing: turns LLM responses into cluster annotations.
  • Code export: generates Scanpy (Python) and Seurat (R) annotation snippets.
  • Modular GUI: PySide6-based layout with separate core logic and UI modules.

Project Structure

  • chatcellanno/core.py: workflow orchestration (generate and parse).
  • chatcellanno/extractor.py: marker extraction from CSV/TSV formats.
  • chatcellanno/prompt.py: prompt construction.
  • chatcellanno/parser.py: response parsing and code generation.
  • chatcellanno/enrichment.py: enrichment analysis integration.
  • chatcellanno/gui/: main window, UI blocks, and worker threads.
  • gui.py: desktop app entry point.

Installation

Requirements

  • Python 3.10+

Quick Start

conda create -n chatcellanno python=3.10
conda activate chatcellanno
pip install pandas pyperclip gseapy biopython PySide6 PySide6-WebEngine
python gui.py

Build (Windows)

./build.ps1

The executable is generated under dist/.

Typical Workflow

  1. Load marker file (.csv or .tsv).
  2. Optionally add enrichment and image/matrix context.
  3. Generate a prompt file in Step 2, then either drag it to the built-in browser chat (manual mode) or send it automatically with API mode.
  4. Parse the LLM response and export code/report in Step 4 (Parsing & Report).

Development

  • Run tests from tests/ to verify parser and enrichment behavior.
  • Keep large runtime data (database/, genome/, results/) out of source control.

License

MIT. See LICENSE.

About

界面化的单细胞注释工具:零代码、易于上手、支持任意大模型 (Windows GUI for single-cell annotation: zero-code, user-friendly, compatible with any LLM)

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors