BioPortal provides access to commonly used biomedical ontologies and to tools for working with them. BioPortal allows you to
- browse the library of ontologies
- search for a term across multiple ontologies
- browse mappings between terms in different ontologies
- receive recommendations on which ontologies are most relevant for a corpus
- annotate text with terms from ontologies
- search biomedical resources for a term
- browse a selection of projects that use BioPortal resources
All information available through the BioPortal application is also available through our REST API. Please see the API documentation for more information.
Here you can browse our library of Biomedical ontologies. The system displays some summary information about each ontology. You can also submit your own ontology.
Finding an Ontology
To find a particular ontology quickly, begin typing the ontology name or abbreviation in the “Filter by Text” field. You can also narrow the list of ontologies shown by selecting a specific “category” (a domain) or a “group” to which the ontology belongs.
Submitting an Ontology
To submit an ontology press the “Submit New Ontology” button. You must be logged in to BioPortal to submit an ontology.
You can subscribe to receive RSS updates when any ontology in the system changes by clicking the subscribe link. You can subscribe to updates for a particular ontology from the summary page for that ontology. To go to the summary page click on the ontology name.
Accessing Controlled Ontologies
Some submitters want to limit who can browse the terms in their ontology. These ontologies are marked with visibility “Private” or “Licensed”. To browse the terms in these ontologies you must be both
- logged in to BioPortal
- granted access to the ontology
For private ontologies, the ontology submitter directly controls access. Please contact the submitter to gain access to a private ontology. Contact information for the ontology is available on the ontology summary page.
For licensed ontologies, the submitter indirectly controls access. When you attempt to access a licensed ontology, the system will prompt you to enter the license information required by the submitter. When you have entered the required information, the system will allow you to access the ontology.
In addition, there are summary only ontologies. The terms for these ontologies are not available in BioPortal at all. Please contact the ontology submitter for more information about these ontologies.
Accessing Ontologies Programmatically
To access this information programmatically, see our ontology REST API documentation.
The search capability allows you to input some text and find terms across multiple terminologies that contain this text. The names, synonyms, properties for a term are searched for matches to the input text.
Enter the full or partial name of a term in the search box. To search across all ontologies simply hit the Search button. The system looks for matches in the term name, synonyms, term ids, and in property values. You can filter the returned values by ontology or by the type of match by selecting one of the filter links in the output table.
Filtering by Ontologies
If you want to search only in a subset of ontologies you can specify the desired ontologies in the Ontologies box. (Note that it is no faster to search a subset than to search all ontologies.) Simply type the ontology name or acronym to chose the desired ontology. You can also select from a list of all ontologies using the “select from list” link.
Accessing Search Programmatically
To access this capability, see our search REST API documentation.
Mappings are associations between two or more terms in different ontologies. This association typically, but not always, represents a degree of similarity between the terms. The author of the mapping defines the semantics of a particular mapping. It is also usual for a mapping to be bi-directional, but again, this is not required. The mapping author defines directionality.
To examine mappings for an ontology, select the ontology from the drop-down list. You will then see a table showing all ontologies for which at least one mapping exists between that ontology and the ontology you selected. Select an ontology from this table to browse the mappings between the two ontologies.
Accessing Mappings Programmatically
To access mappings programmatically, see the mappings REST API documentation.
Accessing Ontology Recommendations Programmatically
To retrieve ontology recommendations programmatically, please see our ontology reoommender REST API documentation.
The annotator accepts a selection of text and annotates it with terms from ontologies. The system matches words in the text to terms in ontologies by doing an exact string comparison (a “direct” match) between the text and ontology term names, synonyms, and ids.
In addition to the direct matches, the user may expand the set of matches by including matches from mapped terms and from hierarchical expansion. For most ontologies (OWL and UMLS RRF) the system performs the hierarchical expansion on the superclass (“is-a”) relationship. For OBO ontologies the hierarchical expansion also includes the part-of relationship. You use the “number of levels” field to control the number of levels up the hierarchy for which the system will return terms for a given match.
Creating Annotations Programmatically
To create annotations programmatically see our annotator REST API documentation.