How to create AISM-based insect anatomy ontologies using the Ontology Development Kit (ODK) and edit them in Protégé
A manual edited by Jennifer C. Girón, István Mikó, and Luis A. González Montaña
Suggested citation: Girón, J. C., González Montaña, L. A., Mikó, I. 2021. How to create AISM-based insect anatomy ontologies using the Ontology Development Kit (ODK) and edit them in Protégé. GitHub repository. https://doi.org/10.5281/zenodo.4642556
January 2021
We created an ontology for the Anatomy of the Insect SkeletoMuscular system (AISM) using the Ontology Development Kit (ODK). The ODK provides a standardized system to create, manage, release and edit ontologies to maximize interoperability among them (i. e., ability to reuse terms from existing ontologies; more details at https://douroucouli.wordpress.com/2018/08/06/new-version-of-ontology-development-kit-now-with-docker-support/) and facilitate collaborative editing using GitHub.
The AISM contains basic and generalized terms shared across insects, along with relationships and annotation options, with the idea that it serves as a base for order-specific insect anatomy ontologies that incorporate order-specific terms. So the idea with the AISM is to provide a backbone and headstart for order-specific ontologies.
Because of the way that ODK imports pre-existing terms, the full AISM can be overwhelming for first-time users, as it includes all the terms and relationships inherited from multiple hierarchies from other ontologies involved (i.e. BFO, BSPO, PATO, RO, UBERON). That is why a simplified version of the AISM is provided and should be the starting point for any future insect order-specific ontologies. This version includes essential relationships and annotation properties as well as basic insect-specific terms.
We provide here instructions for creating ontologies using this simplified version of the AISM.
Before getting satrted with your AISM-based ontology consider the requirements for new ontologies by the OBO Foundry (as of November 19 2021): -Taken from the OBO Foundry issue template for new ontologies-
"To be considered for inclusion in the OBO Foundry, an ontology must meet certain requirements, as described in in the registration process instructions and the registration review checklist. To ensure you are aware of some of its key points, please review the checklist below.
- There is no other ontology in the OBO Foundry which would be an appropriate place for my terms. If there was, I have contacted the editors, and we decided in mutual agreement that a separate ontology is more appropriate.
- My ontology has a specific release file with a version IRI and a dc:license annotation, serialised in RDF/XML.
- I understand that term definitions, while not mandatory, are key to understanding the intentions of a term especially when the ontology is used in curation. I made sure that a reasonable majority of terms in my ontology have definitions, using the IAO:0000115 property.
- For every term in my ontology, I checked whether another OBO Foundry ontology has one with the same meaning. If so, I re-used that term directly (not by cross-reference, by directly using the IRI).
- For all relationship properties (Object and Data Property) I checked whether RO includes an appropriate one. I understand that aligning with RO is an essential part of the overall alignment between OBO ontologies!
- For the selection of appropriate annotation properties, I looked at OMO first. I understand that aligning ontology metadata and term-level metadata is essential for cross-integration of OBO ontologies.
- If I was not sure about the meaning of any of the checkboxes above, I have consulted with a member of the OBO Foundry for advice."
Please make sure you understand what each item means and think about this list whe creating/editing your ontology.
Given that the AISM already contains basic terms and definitions for Insecta, the main goal of order-specific ontologies would be to gather order-specific terminology.
The way we are doing this for the Coleoptera Anatomy Ontology project COLAO is by getting all the most broadly accepted beetle terms and definitions from Lawrence and Ślipiński (2013; Adult morphology. In: Australian beetles volume 1: morphology, classification and keys. CSIRO Publishing, p. 30–63), and for now, adding them to a team-shared spreadsheet. Once we get those terms incorporated into the ontology file, we will be adding additional terms traditionally used, annotating whether those are synonyms of the more broadly accepted terms. We will also add terms from specialized morphological works on different skeletal systems in order to increase and refine the knowledge base.
We invite you to read through the Principles established by the OBO Foundry, the organization working to build tools and standards to maintain and increase interoperability across biological ontologies. Specifically dealing with ontology names is Principle 3 and the recommendations therein.
For now, once you define an ID, which will be the prefix for all your unique identifiers and the acronym for your order-specific ontology, just make sure that this ID is not listed on the main OBO Foundry page. Once you have a first release version of your ontology you will need to officially request the name space by issuing a New Ontology Request via Issue Tracking in GitHub (see also the available instructions for this).
Managing an ontology in the context of the ODK offers the advantage of collaborative work with version control. It requires ontology managers and editors to be familiar with the command line, the use of git and GitHub, and the use of Protégé.
Every member of the team will need:
- A text editor program installed in their computers to explore and edit files without interfering with file format. There are several options:
The simplest editors:
For Mac: BBEdit
For Windows: Notepad++
Other programs with text editor capabilities that are also used for programming, available for both Mac and Windows: Atom and Visual Studio Code.
- To have git installed and set up (username, e-mail) on the computer (using an ssh key is recommended)
- A GitHub account
- To be able to pull files from and push files to GitHub from their computers either using git commands in the command line (the route recommended by developers) or GitHub Desktop (an app to manage your GitHub repositories from your computer, this tool will also prepare the first set up of git if newly installed).
- To install and use Protégé (an ontology editing software) to edit the appropriate ontology file directly on their computers.
There are two kinds of roles in the development of the AISM and AISM-based ontologies: managers and editors. Here is a simplified overview of the tasks for each role:
For each order-specific ontology there should be at least one manager. This person has several tasks. We will walk you through each of the steps in this manual.
- Set up the main repository by requesting a "placeholder repository" to be hosted at insect-morphology
- Create an AISM-based ontology using the Ontology Development Kit, including the first release of the ontology
- Upload this initial AISM-based ontology as a repository in GitHub
- Submit a pull request to get the AISM-based ontology files to be hosted at insect-morphology (at this stage the order-specific ontology main manager will become an admin within the insect-morphology organization and will be able to review and accept pull requests from collaborators)
- Submit the new ontology for inclusion in the OBO Foundry - this will be done when there has been some order-specific development (when order-specific terms have been added)
- Manage and maintain the
idranges
file - Review and accept pull requests submitted by order-specific ontology editors
- Run the full release protocol whenever there are changes and/or additions to the ontology.
Ontologies hosted at insect-morphology can be edited by anyone who wishes to, but changes must be submitted for review and acceptance to the main repository.
- Request an ID range by contacting the ontology manager (who should be identified in the initial
README.md
file in the ontology repository at insect-morphology), or by creating a new issue within the appropriate ontology repository. - Get the ontology files available from insect-morphology
- Edit the appropriate ontology file using Protégé
- Submit a pull request so that the ontology manager can take a look at your proposed changes and accept them if appropriate.
Contributions to the AISM can be made by adding terms in a template. Click here for some instructions.
If you have comments about a particular term that needs revision, but do not want to get into ontology editing, you can use our issue tracker, providing as much information as you can, including references with DOI if possible to support your request.