Skip to content

Editing VO

jie zheng edited this page Jan 16, 2025 · 10 revisions

Editing VO using pull request

Start from a local copy of the master branch of the VO repository. Make sure your local copy is up-to-date. Make your changes on a new branch.

When you're ready, push your branch to the VO repository and make a Pull Request (PR) on the GitHub website. The PR will be tested, discussed, adjusted if necessary, then merged.

Here are the steps with their CLI commands.

  1. git fetch make sure your local copy is up-to-date
  2. git checkout master start on the master branch
  3. git checkout -b your-branch-name create a new branch named for the change you're making
  4. make your changes in branch
  5. git status and git diff inspect your changes
  6. git add --update add all updated files to stage or using git add your-changed-file to stage a specific file
  7. git commit -m "Description, issue #123" commit staged changes with a message; it's good to include an issue number
  8. git push --set-upstream origin your-branch-name push your commit to GitHub
  9. open https://github.com/vaccineontology/VO in your browser and click the "Make Pull Request" button
  10. It's good to assign a VO developer to review the changes.

When that review is complete, the changes (PR) will be merged to the main branch.

VO templates

The Vaccine Ontology (VO) is developed fully in modules using Robot template feature.

VO contains 17 templates

  1. data_item.csv This template includes objects related to vaccination parameters, host characteristics, experimental measurements, and various vaccine-related data points.

  2. gene.csv The template contains vaccine related gene.

  3. individuals.csv The template contains individuals related to vaccines, including drug brand name, company, drug package, etc. and their annotations.

  4. obsolete.csv The template contains all obsolete terms.

  5. other.csv The template contains terms related to vaccines, including contraindications, vaccine functions, roles, materials, organisms, and study design variables.

  6. process.csv This template contains concepts related to vaccine assays, immunization types, immune response profiles, vaccine trials, preparation methods, and vaccine-induced responses.

  7. protein.csv The template contains vaccine related protein.

  8. site.csv The template contains vaccine immunization site.

  9. vaccine.csv The template contains all vaccine terms and their subClasses with their annotations.

  10. vaccine_adjuvant.csv The template contains all vaccine adjuvant terms and their subClasses with their annotations.

  11. vo_objectProp.csv The template contains all vaccine object properties.

  12. vaccine_component.csv The template contains all vaccine component.

  13. vo_CVX_code.csv The template contains specific annotation relates to CVX code terms in VO.

  14. vo_FDA.csv The template contains specific annotation relates to FDA terms in VO.

  15. vo_RxNorm.csv The template contains specific annotation relates to RxNorm terms in VO.

  16. vo_VIOLIN.csv The template contains specific annotation relates to VIOLIN records.

  17. vo_annotationProp.csv The template contains VO annotation properties

VO modules

The main vo_edit.owl merges various modules combined. We have VO modules to represent the VO templates in OWL files form.

instruction to make VO modules

The Robot template command is used to convert the templates into the OWL files under the modules directory.

The commands have been added in the Makefile. To generate the modules, please run following commands.

Regenerate the module OWL files if their corresponding templates were updated.

make modules

Regenerate all module OWL files.

make -B modules

To generate OWL file for one specific template, replace [filename] with the correct name

robot merge \
 --input src/vo_edit.owl \
 template \
 --template src/templates/[filename].csv \
 --prefix "VO: http://purl.obolibrary.org/obo/VO_" \
 --ontology-iri "http://purl.obolibrary.org/obo/vo/dev/[filename].owl" \
 --output src/modules/[filename].owl

Note: Run ROBOT required Java 1.9.

VO imports

VO used the import strategy to reuse the terms in the external resources. The Onofox is used to import the terms from external ontologies that are stored in the Ontobee server.

The Ontofox input files are used for retrieving the ontology terms from one external ontology.

The Makefile also included the commands to run Ontofox.

instruction to make VO imports

Rerun Ontofox to retrieve the ontology terms if the corresponding ontoFox input files were changed.

make imports

Rerun Ontofox to retrieve all the ontology terms from all used external ontologies.

make -B imports

The generated VO imports will show in imports as different OWL files.

VO Term Deprecation

  1. Move the row of a term for deprecation from the term template file to obsolete.csv

  2. Adjust the term information based on the obsolete template header, removed any information not listed in the obsolete template

  • rename the term label by adding prefix 'obsolete '
  • indicate the term entity type, such as class, Object property, Annotation property, individual, etc.
  • add issue tracker link to the column with header 'term tracker item' if available
  • add 'true' to the column with header 'obsolete'
  • add one of following deprecation reason to the column with header 'obsolescence reason'
  • provide the replacement term ID(s) in the column with header 'replacement term' if deprecated term is replaced by an imported term, merged to another term, or split to more than one terms
  1. Regenerate the obsolete module from the template

    Note: If you edit the obsolete.csv using Excel, it will save the obsolete value to 'TRUE' that cannot be converted correctly to boolean value true in OWL file using ROBOT. You need to open the file in a text editor and replace 'TRUE' to 'true' for making correct owl:deprecated value 'true'. Otherwise, it will show value 'false'.