The Semantic OBO Engineer's Toolbox¶
Essentials
- Protégé
- DL Query Tab
- ROBOT
- OBO Dashboard: OBO-wide quality control monitor for OBO ontologies.
Automation
- GNU Make
- Ontology Development Kit (ODK)
- DROID: DROID is a web-based interface for working with
make
, managed bygit
.
Text editors:
Ontology access and query tools:
SPARQL endpoints
- Ontobee SPARQL endpoint: Useful to run queries across all OBO Foundry ontologies
- Ubergraph SPARQL endpoint: Many key OBO ontologies are loaded here with lots of materialised inferences (docs).
Templating systems
Ontology Mappings
- SSSOM and sssom-py: Toolkit and framework for managing mappings across and beyond ontologies.
- AgreementMakerLight (AML): Matching tool for ontologies
- RDF Matcher: Experimental SSSOM based matching tool
- LogMap: Matching tool for ontologies
Where to find ontologies and terms: Term browsers and ontology repositories
- OLS: The boss of the current term browsers out there. While the code base is a bit dated, it still gives access to a wide range of relevant open biomedical ontology terms. Note, while being a bit painful, it is possible to set up your own OLS (for your organisation) which only contains those terms/ontologies that are relevant for your work.
- Ontobee: The default term browser for OBO term purls. For example, click on http://purl.obolibrary.org/obo/OBI_0000070. This will redirect you directly to Ontobee, to show you the terms location in the hierarchy. In practice, there is no particular reason why you would favour Ontobee over OLS for example - I just sometimes prefer the way Ontobee presents annotations and "uses" by other ontologies, so I use both.
- AberOWL: Another ontology repository and semantic search engine. Some ontologies such as PhenomeNet can only be found on AberOWL, however, I personally prefer OLS.
- identifiers.org: A centralised registry for identifiers used in the life sciences. This is one of the tools that bridge the gap between CURIEs and URLs, but it does not cover (OBO) ontologies very well, and if so, is not aware of the proper URI prefixes (see for example here, and HP term resolution that does not list the proper persistent URL of the HP identifier (http://purl.obolibrary.org/obo/HP_0000001)). Identifiers.org has mainly good coverage for databases/resources that use CURIE type identifiers. But: you can enter any ID you find in your data and it will tell you what it is associated with.
- OBO Foundry Ontology Library. The OBO Foundry works with other repositories and term browsers such as OLS, Ontobee and BioPortal. For example, OLS directly reads the OBO Foundry registry metadata, and automatically loads new ontologies added to the OBO Foundry Ontology Library.
- BioPortal
- CPT Story. The Current Procedural Terminology was the by far most highly accessed Terminology on Bioportal - for many years. Due to license concerns, it had to be withdrawn from the repository. This story serves a cautionary tale of using terminologies with non-open or non-transparent licensing schemes.
- AgroPortal: Like BioPortal, but focussed on the Agronomy domain.
- Linked Open Data Vocabularies (LOV): Lists the most important vocabularies in the Linked Data space, such as Dublin Core, SKOS and Friend-of-a-Friend (FOAF).
Ontology visualisation
- OBO Graphviz: Library to visualise ontologies in beautifully readable graphics based on
Dot
.
Nico's top 10 tools for the Semantic OBO Engineer's Toolbox¶
- ROBOT: Manipulating and transforming ontologies: the undeniable Swiss Army Knife for Ontology Engineers.
- Ontology Access Kit (OAK): Accessing ontologies, ontology databases, ontology mapping, text annotation - everything you will ever need for using ontologies.
- Protégé
- Term browsers (OLS, Ontobee)
- Ontology Development Kit (ODK)
- GNU Make
- Text editor workflows (i.e. Visual Studio Code, Atom, Sublime, VIM), plus a bit of regex. Select your text editor well!
- Basic Shell scripting and pipelining
- LinkML: Building semantic datamodels for your data - using ontologies!
- SPARQL (e.g. ROBOT query and Yasgui)
- From tables to ontologies: DOSDP templates and ROBOT templates
Other tools in my toolbox
These are a bit less essential than the above, but I consider them still tremendously useful.
- Cogs (experimental) for automatically synchronising your spreadsheets with Google Sheets.
- Basic Dockerfile development: This can help you automate processes that go beyond usual ODK day-to-day business, such as automated mapping tools, graph machine learning, NLP etc.
- GitHub community management and git version control: Learn how to effectively manage your contributors, issue requests and code reviews. Also get your git commands straight - these can be life savers!
- Basics in python scripting: This is always useful, and python is our go-to language for most of automation nowadays - this used to be Java. Most of the Java heavy lifting is done in ROBOT now!
- SSSOM and sssom-py: Toolkit and framework for managing mappings between ontologies.
- DROID: DROID is a web-based interface for working with
make
, managed bygit
. - OBO Dashboard: OBO-wide quality control monitor for OBO ontologies.