Skip to content

About

A LinkML schema for Adverse Outcome Pathways

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

linkml-aop

A LinkML schema for Adverse Outcome Pathways, with EMOD - Evidence Model - expansions.

Website

Coming soon...

Repository Structure

  • examples/ - example data
  • inputs/ - raw input files (e.g. schemauto-generated YAML)
  • project/ - generated schema artifacts, written by just site (gitignored; do not edit)
  • src/ - source files (edit these)
  • tests/ - Python tests

Curation Workflow

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)

  1. Edit src/linkml_aop/curation_helpers/aop_definitions_and_enums.py or src/linkml_aop/curation_helpers/sql_to_linkml_helpers.py with new or updated definitions, enums, or curation rules.

  2. 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
  3. Review the changes in src/linkml_aop/schema/aop_emod_linkml.yaml.

To Do's

  • Rename relationships attributes
  • 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_aops and harmonized_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 AopCollection class 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

Future To Do's

  • Model provenance on DisMech's evidence and provenance approach. batch_imports and batch_import_id are EMOD import bookkeeping and are dropped from the schema; they are not the provenance route.

Developer Documentation

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 tasks
  • just all: make everything
  • just deploy: deploys site

Credits

This project was started from: linkml-project-cookiecutter.

About

A LinkML schema for Adverse Outcome Pathways

Resources

Code of conduct

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages