How anantshri1/homo-lumo-gat works
MolPredict accepts molecular SMILES and returns HOMO-LUMO gap estimates with uncertainty. Its principal workflow parses SMILES into a molecular graph, runs GATv2 inference, and returns predictions through FastAPI; batch prediction repeats that flow for a list. An MCP server exposes single and batch prediction to agent clients, while the API also provides health status. The graph follows the sampled serving code and README capabilities; training and dataset-loading internals are not represented because their implementation was not sampled.
Main entry points: app.py FastAPI Routes · inference.py Inference Service · server.py Prediction Tools · graph_builder.py SMILES Graph Builder
Components 11
Molecule Graph
- SMILES Graph Builder
serving/graph_builder.py - Molecular Graph
serving/graph_builder.py
Model Inference
- Inference Service
serving/inference.py - GATv2 Network
serving/model.py - Model Checkpoint
checkpoints/best_model.pt
HTTP API
- FastAPI Routes
serving/app.py - Health Status
serving/app.py
MCP Tools
- MCP Server
mcp_server/server.py - Prediction Tools
mcp_server/server.py
Other components
- API Client
- LLM Agent
Connections 13
- API Client → FastAPI Routes: sends requests
- FastAPI Routes → Health Status: serves health
- FastAPI Routes → SMILES Graph Builder: parses SMILES
- SMILES Graph Builder → Molecular Graph: builds graph
- FastAPI Routes → Inference Service: requests prediction
- Inference Service → Model Checkpoint: loads weights
- Inference Service → GATv2 Network: runs forward pass
- Molecular Graph → Inference Service: provides graph data
- Inference Service → FastAPI Routes: returns estimates
- LLM Agent → MCP Server: calls tools
- MCP Server → Prediction Tools: dispatches tools
- Prediction Tools → FastAPI Routes: posts predictions
- FastAPI Routes → Prediction Tools: returns results