BioAgent is an AI-powered research assistant that enables scientists to perform complex structural biology tasks through natural language. Unlike traditional pipelines, it uses an autonomous agent (LangGraph) to reason, plan, and execute workflows dynamically.
The platform connects a modern React frontend with a Python-based agentic backend, orchestrating specialized bioinformatics tools.
graph TB
subgraph Frontend["Frontend (Vite + React + TypeScript)"]
Chat[Chat Interface]
NGL[NGL 3D Viewer]
Cyto[Cytoscape.js Maps]
Panels[Result Panels]
end
subgraph Backend["Backend (FastAPI + Python)"]
API[FastAPI REST + SSE]
Agent[LangGraph Agent]
LLM[LLM Provider Layer]
Tools[Bio Tool Registry]
Eval[Eval / Trace Logger]
DB[(SQLite)]
end
subgraph BioTools["Bio Tools (Local Binaries + APIs)"]
AF[AlphaFold DB API]
P2R[P2Rank - Pocket Detection]
Vina[AutoDock Vina - Docking]
PLIP_T[PLIP - Interactions]
FS[Foldseek - Structure Search]
end
Chat -->|SSE stream| API
API --> Agent
Agent -->|tool calls| Tools
Agent --> LLM
Agent --> Eval
Tools --> AF
Tools --> P2R
Tools --> Vina
Tools --> PLIP_T
Tools --> FS
API -->|results| NGL
API -->|results| Cyto
API -->|results| Panels
Agent --> DB
- Natural Language Interface: "Find binding pockets in p53 and dock aspirin into the largest one."
- Autonomous Reasoning: The agent plans steps, recovers from errors, and chains multiple tools.
- Integrated Bio-Tools:
- AlphaFold DB: Instant structure retrieval.
- P2Rank: Machine learning-based pocket detection.
- AutoDock Vina: Molecular docking simulation.
- Foldseek: Structural similarity search (10,000x faster than TM-align).
- Visual-First: embedded NGL viewer for 3D structures and Cytoscape for interaction maps.
| Directory | Purpose |
|---|---|
/backend |
FastAPI server, LangGraph agent, and tool wrappers. |
/frontend |
React UI, visualizations, and chat logic. |
This is a monorepo. You will need to set up both the backend and frontend.
Go to the backend/ directory and follow the instructions to install Python dependencies and download bio-tools.
cd backend
pip install uv
uv syncGo to the frontend/ directory to install Node.js dependencies and start the dev server.
cd frontend
npm install
npm run devMIT License.