-
Notifications
You must be signed in to change notification settings - Fork 9
Editing VO
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.
-
git fetch
make sure your local copy is up-to-date -
git checkout master
start on themaster
branch -
git checkout -b your-branch-name
create a new branch named for the change you're making - make your changes in branch
-
git status
andgit diff
inspect your changes -
git add --update
add all updated files to stage or usinggit add your-changed-file
to stage a specific file -
git commit -m "Description, issue #123"
commit staged changes with a message; it's good to include an issue number -
git push --set-upstream origin your-branch-name
push your commit to GitHub - open https://github.com/vaccineontology/VO in your browser and click the "Make Pull Request" button
- 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.
The Vaccine Ontology (VO) is developed fully in modules using Robot template feature.
VO contains 17 templates
-
data_item.csv This template includes objects related to vaccination parameters, host characteristics, experimental measurements, and various vaccine-related data points.
-
gene.csv The template contains vaccine related gene.
-
individuals.csv The template contains individuals related to vaccines, including drug brand name, company, drug package, etc. and their annotations.
-
obsolete.csv The template contains all obsolete terms.
-
other.csv The template contains terms related to vaccines, including contraindications, vaccine functions, roles, materials, organisms, and study design variables.
-
process.csv This template contains concepts related to vaccine assays, immunization types, immune response profiles, vaccine trials, preparation methods, and vaccine-induced responses.
-
protein.csv The template contains vaccine related protein.
-
site.csv The template contains vaccine immunization site.
-
vaccine.csv The template contains all vaccine terms and their subClasses with their annotations.
-
vaccine_adjuvant.csv The template contains all vaccine adjuvant terms and their subClasses with their annotations.
-
vo_objectProp.csv The template contains all vaccine object properties.
-
vaccine_component.csv The template contains all vaccine component.
-
vo_CVX_code.csv The template contains specific annotation relates to CVX code terms in VO.
-
vo_FDA.csv The template contains specific annotation relates to FDA terms in VO.
-
vo_RxNorm.csv The template contains specific annotation relates to RxNorm terms in VO.
-
vo_VIOLIN.csv The template contains specific annotation relates to VIOLIN records.
-
vo_annotationProp.csv The template contains VO annotation properties
The main vo_edit.owl merges various modules combined. We have VO modules to represent the VO templates in OWL files form.
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 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.
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.
-
Move the row of a term for deprecation from the term template file to obsolete.csv
-
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
- 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'.