This repository provides a Copier-based overlay for Ontology Development Kit (ODK) projects.
It extends the standard ODK scaffold with extra files, folders, and patterns that are automatically generated from Cell Annotation Schema (CAS) taxonomy JSON files.
- 📦 ODK-compatible: builds on top of a standard ODK project layout.
- 🧬 CAS-driven: reads CAS taxonomy JSON to generate ontology terms and patterns.
- ⚙️ Templated: uses Copier and Jinja2 to render files/folders.
- 🔁 Re-renderable: changes to your taxonomy or config can be applied repeatedly without breaking your repo.
- 🧪 Extensible: supports custom Python preprocessing (pandas, rdflib, etc.) to derive variables for templates.
-
Create a base ODK project
Follow the ODK setup tutorial.
Example:sh seed-via-docker.sh -C my-odk.yaml -c
-
Apply this overlay with Copier
pip install copier copier copy gh:Cellular-Semantics/cas-odk-overlay .
-
Provide inputs
src/data/taxonomy.json
→ your CAS taxonomy filesrc/data/project.yaml
→ minimal project metadata (ontology name, publications, species, etc.)
-
Re-render when inputs change
copier update .
-
Edit
taxonomy.json
andproject.yaml
. -
Re-render overlay (
copier update .
). -
Build ontology with ODK:
cd src/ontology sh run.sh make prepare_release