A LinkML schema for Adverse Outcome Pathways, with EMOD - Evidence Model - expansions.
Coming soon...
- examples/ - example data
- inputs/ - raw input files (e.g. schemauto-generated YAML)
project/- generated schema artifacts, written byjust site(gitignored; do not edit)- src/ - source files (edit these)
- linkml_aop
- schema -- LinkML schemas
- datamodel -- generated Python datamodel
- scripts -- curation and utility scripts
- curation_helpers -- domain constants, definitions, and enums used by scripts
- linkml_aop
- tests/ - Python tests
Schemauto-generated input schemas are stored in inputs/ using the naming convention
schemauto_generated_emod_linkml_MM-DD-YYYY.yml. These are based on the AOP-Wiki EMOD 3.0
application MySQL DB schema that is under development for prototyping purposes. They serve as the
basis for src/linkml_aop/schema/aop_emod_linkml.yaml, generated by applying the transformations
in src/linkml_aop/scripts/curate_emod_linkml.py.
To add or revise schema definitions and enumerations:
Optional first step - generate a new EMOD input schema by pointing to the EMOD 3.0 MySQL instance (permissions needed)
-
Edit
src/linkml_aop/curation_helpers/aop_definitions_and_enums.pyorsrc/linkml_aop/curation_helpers/sql_to_linkml_helpers.pywith new or updated definitions, enums, or curation rules. -
Run the curation script to regenerate the schema. Using
just(date format: MM-DD-YYYY):just curate # uses the default input date (09-18-2026) just curate date="MM-DD-YYYY" # specify a different input file by date
Or directly with
uv:uv run python -m linkml_aop.scripts.curate_emod_linkml \ inputs/schemauto_generated_emod_linkml_MM-DD-YYYY.yml \ src/linkml_aop/schema/aop_emod_linkml.yaml
-
Review the changes in
src/linkml_aop/schema/aop_emod_linkml.yaml.
- Rename
relationshipsattributes - Update all class descriptions, especially for
KeRelationship - Set up an enum for Experiment Types
- Rethink modeling for entity classes that are joins,
assigned_licenses. Others are being dropped for now. - Think through modeling for
harmonized_aopsandharmonized_events. Both are internal join models that pair the source entity with a harmonized entity - Move all classes based on join tables to the end of the ordering
- Add a
AopCollectionclass to align with work happening for AOP-Wiki v2.8
Experiment Types values used in EMOD 2.0:
- in vivo
- in vitro
- in silico
- ex vivo
- in situ
- cell-free
- biochemical
- Model provenance on DisMech's evidence and provenance approach.
batch_importsandbatch_import_idare EMOD import bookkeeping and are dropped from the schema; they are not the provenance route.
Commands
This LinkML project uses the command runner just which is a better choice than make on Windows.
To generate project artefacts, run:
just --list: list all pre-defined tasksjust all: make everythingjust deploy: deploys site
This project was started from: linkml-project-cookiecutter.