Skip to content
Ramona Walls edited this page May 3, 2021 · 20 revisions

All edits should happen in src/ontology/pco-edit.owl.

Import files are in /src/ontology/imports. Each text file has the Robot code that is used to generate the OWL file. OBO files are made at release (see below).

Make a release with ROBOT/ODK

As of the Feb. 2020 release, this repo was updated to the latest version of ODK.

Modify make file

Because the import files are customized, I modified the make file (/src/ontology/Makefile) to skip the regeneration of import files in /src/ontology/imports by setting IMP=false on line 242.

Also in the make file, change the references to 'ELK' that are not in comments to 'hermit'.

Make a release branch

Make a branch with the release date.

Manually prep the import files for release

  • Skipping imports in the makefile means that .obo files must be created manually before a release by saving each .owl file in /src/ontology/imports as .obo.

Create release files via make file

Make sure Docker is running. Navigate to /src/ontology and type sh run.sh make prepare_release. This generates:

  • Copies of the import files in /imports, but it does not give them version IRIs. Open each file in Protege and add the version IRI manually.
  • TODO: Add code for generating imports to makefile.
  • pco-base.obo, pco-base.owl, pco-full.obo, pco-full.owl, pco.obo in both the root directory and in /src/ontology
  • reports/pco-edit.owl-obo-report.tsv - Some of the errors or warnings in this file do not seem to be true.

Add version IRIs to imports

  • The makefile does not add version IRIs to the import files. If they are important, follow the next step.
  • Open each file in /imports in Protege and add the version IRI manually. (skipped)

Commit and push all changes

  • as the title suggests...

Make release on github

Update PURLS

Note: This yaml file was updated on 2020-02-12 to reflect the new directory structure generated by ODK.

Make a release with OORT.

This protocol is no longer used, but I will keep a copy for reference.

When you are ready for a release, first make a test file. Browse to src/ontology and type "make test". This will generate a file src/ontology/pco.owl.

When you are satisfied that the test file is what you want, make the release by typing "make release" from within src/ontology. This will generate a new version of src/ontology/pco.owl plus a new version of pco.owl in the root directory (which will become live automatically, because that's where the PURL points).

To make a version of PCO that has all the imports merged requires manual editing:

  • Open src/ontology/pco.owl in Protege
  • Under the Refactor menu, select Merge ontologies...
  • From the menu, select everything except pco
  • Select "Merge into existing ontology"
  • Select PCO as the target ontology
  • Delete (x out) all of the imported ontologies
  • Until RO is fixed, delete GO:0040011 and GO:0048018
  • Delete all the extra ontology annotations that got added with the merge (under Ontology Header on the Active Ontology tab) except the dc:source annotations
  • Change the ontology IRI to http://purl.obolibrary.org/obo/pco_merged_inferred.owl and change the corresponding version IRI
  • Save at src/ontology/pco_merged_inferred.owl, replacing the existing copy of that file

Push all changes to the repo

Make a release on Github

To do this, you need to created a tag.

  • Click on Releases
  • Click Draft a new release
  • Name the tag and the release by the date as YYYY-MM-DD
  • Describe the changes that are included in the release
  • Click Publish Release

Update PURLS