Research Object Builder for Open Toxicology
ROBOT is a web-based application for creating, validating, building, and depositing FAIR toxicology model metadata as RO-Crates.
The system currently focuses on PBPK models and provides a practical workflow for:
- entering structured model metadata
- validating metadata against a schema
- generating RO-Crates
- downloading built crates
- depositing crates to Zenodo
- tracking draft, build, and deposition history
ROBOT is being developed as part of a broader effort to make toxicological models FAIR (Findable, Accessible, Interoperable, Reusable) and easier to share within the open science ecosystem.
Toxicology models are often difficult to:
- discover
- interpret
- validate
- reuse
because metadata is incomplete, inconsistent, or not packaged in machine-readable formats.
ROBOT addresses this by combining:
- structured metadata entry
- schema-based validation
- RO-Crate packaging
- repository deposition workflows
- future AI-assisted metadata generation
The goal is to support transparent, reproducible, and reusable toxicology model sharing.
ROBOT provides a structured UI for entering model metadata without manually editing JSON.
Currently implemented:
- PBPK metadata editor
- automatic draft creation
- JSON metadata import
- form-based editing
Users can manage metadata drafts:
- create draft
- edit draft
- validate metadata
- build RO-Crate
- duplicate draft
- archive draft
- delete draft
- restore draft from history
Draft activity is recorded for traceability.
Metadata is validated against:
- JSON schema constraints
- project-specific consistency checks
Validation produces:
- errors (blocking)
- warnings (non-blocking)
Validated drafts can be converted into a structured RO-Crate containing:
- metadata
- provenance information
- model description
- supporting metadata
Users can download the generated crate as a ZIP archive.
Built crates can be deposited to Zenodo.
Supported workflows:
- Zenodo Sandbox deposition
- Zenodo production deposition
- draft creation
- record publishing
Deposition history is stored and visible in the UI.
The landing page provides:
- model type selection
- collapsible Recent Drafts
- collapsible Recent Deposits
- quick access to ongoing work
.
├── docs/
│ ├── architechture.md
│ ├── governence.md
│ └── roadmap.md
│
├── packages/
│ ├── pbpk_backend/
│ ├── pbpk_deposition/
│ ├── pbpk_validation/
│ └── ...
│
├── var/
│ ├── drafts/
│ ├── crates/
│ └── logs/
│
└── README.md
| Model Type | Status |
|---|---|
| PBPK | Implemented |
| QSAR | Planned |
| qAOP | Planned |
| NAM | Planned |
- Python 3.11+
uv(recommended) orpip- Git
git clone https://github.com/<your-org>/robot.git
cd robot
Using uv (recommended):
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
Or with pip:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Start the server:
PYTHONPATH=packages uvicorn pbpk_backend.app:app --reload
Build and start ROBOT with Docker Compose:
docker compose build
docker compose up
The application will start at:
http://127.0.0.1:8000/ui
PBPK metadata editor:
http://127.0.0.1:8000/ui/pbpk
- Open the landing page (
/ui) - Select PBPK
- Enter metadata or load example metadata
- Create a draft
- Validate the metadata
- Build the RO-Crate
- Download the crate
- Deposit the crate to Zenodo
- Review activity and deposition history
Detailed documentation is available in the docs directory.
| Document | Description |
|---|---|
docs/architechture.md |
System architecture |
docs/governence.md |
Governance and project principles |
docs/roadmap.md |
Development roadmap |
ROBOT is currently a version one prototype.
Known limitations:
- only PBPK models are currently supported
- frontend is static HTML and JavaScript
- filesystem storage is used instead of a database
- authentication and user accounts are not implemented
- multi-user concurrency is not yet handled
- deployment and operational hardening are ongoing
These limitations will be addressed in future releases.
ROBOT aims to become a platform for preparing FAIR research objects for toxicology models.
Long-term goals include:
- support for multiple model classes
- metadata harmonization across toxicology domains
- automated metadata extraction
- AI-assisted metadata completion
- improved repository integrations
- reproducible model sharing workflows
The broader objective is to improve model transparency, discoverability, and reuse in computational toxicology.
If you use ROBOT in your research, please cite this repository.
GitHub provides a ready-to-use citation via the "Cite this repository" button.
Citation metadata is defined in the CITATION.cff file.
This project is released under the MIT License.
See the LICENSE file for details.