Skip to content
AI Bot edited this page Nov 3, 2026 · 1 revision

Architecture and data flow

Runtime services

Service Responsibility
Next.js / React frontend Search, molecule cards, dataset review, model setup, prediction results
FastAPI Upload/import coordination, dataset/model metadata, registration jobs, review bridge
Java SDF worker Analyze files and import confirmed records using CDK
Java model worker Generate features and train/evaluate Weka classifiers
Java molecule worker Register ad-hoc structures, generate features, invoke predictions
Spring Boot predictor Molecule lookup, substructure matching, approved-build inference
MariaDB Registry, dataset membership, target values, jobs, evidence, artifacts, results

Data flow

SDF → analysis → confirmed import → molecules and dataset memberships → chemical features → model build → human review → publication → prediction

New SMILES → registration job → identity/feature generation → approved-model prediction → saved result

Long-running operations use persisted jobs, leases, progress, retries, and audit events. They are not tied to a single browser session. Search and saved-result reads do not automatically submit prediction jobs.

Identity and provenance

The registry distinguishes a canonical molecule from a source dataset registration. Import retains source records and selected properties. Canonical identity uses InChI-based checks; failed or conflicting normalization must not silently merge unrelated structures by name or vendor ID.

Features have manifests, versions, status, and checksums. Current source adds sealed profile revisions and build snapshots. Do not assume matching profile names make two independently trained builds interchangeable.

Builds and publication

A model definition expresses training intent. A build records membership, evaluation, feature/artifact contracts, and lifecycle state. Approval selects the published build for a definition. Prediction follows that publication pointer and validates artifacts/features before inference. Saved results identify the build so a retrained model can be distinguished from earlier results.

Version and deployment boundaries

V2 is the visible interface branding; v3 is the maintained data/prediction generation. /api/v1 management routes coexist with /api/v3 prediction routes. Old PHP pages, Perl import scripts, serialized legacy artifacts, and old database dumps are not instructions for a new installation.

Public deployment can lag current source. Consult the update notes and the live options/model metadata before relying on a newly implemented feature.

Technical references: database model, features, job queue, prediction contracts.

Clone this wiki locally