The Disease Ontology browser can be partitioned into three areas, the Search Panel, Navigation Panel and the Content Panel. Each of these sections serves a unqiue purpose in presenting data from the Disease Ontology:
- Search Panel - Allows for the user to create basic or advanced queries to search the Disease Ontology
- Navigation Panel - Allows the user to explore the ontology in a hierachical fashion
- Content Panel - Houses all Disease Ontology search results, metadata and visualizations
The Content Panel takes an approach of presenting all information on one page. Search results, metadata and visualizations of terms are all opened in tabs within the Content Panel and allow for the user to save tabs containing pertainent information while still exploring the rest of the ontology.
The Disease Ontology may be navigated through the use of the Navigation tree found on the main page. The ontology can be walked from here in a hierachical fashion, moving from relation to relation.
Nodes may be expanded by either double-clicking on a term or selecting the arrow to the right of the term.
Our basic search functionality is as simple as typing in a term to search the ontology on and hitting the 'Go' button or pressing the 'Enter' key. The basic search field searches over every field in our ontology so our query term can be a DOID, name, synonym, xref, or a block of text that could be found in the definition field.
The advanced search functionality on the Disease Ontology web browser can be executed via selecting the 'Advanced Search' button on the main page.
The Advanced Search dialog has several components which can be utilized to create a targeted and complex query:
- 1 - The Match type drop-down allows for matching any (boolean OR) of the advanced search fields or matching all (boolean AND) of the search fields.
- 2 - The field type drop-down allows for searching of a specific field in the Disease Ontology. Choices include: Name, Synonym, Subset, DOID, Alternate ID, Definition and Xref
- 3 - Any value for the specified field should be typed in this input box.
- 4 - The 'Add New Field' button allows for new input fields to be added to the query to create multi-faceted queries.
- 5 - Submits the query to search through the Disease Ontology
An example of a query searching through multiple fields above. The 'X' icon circled in the above picture can be used to remove fields from the query
Once a query has been submitted search results will be opened in a new tab in the main content window. If more than 30 terms are returned from the query the search results will be paginated with navigation between pages located at the bottom of the search results window. Clicking on any of the search results rows will load that terms metadata in the active Metadata panel.
Any term that is selected either via search results or the navigation tree will populate its metadata in the active Metadata panel. The fields present for this term in the Disease Ontology will be visible in the panel. Any external links found in the definition text will be present and selectable. Xrefs who have the appropriate resource available will also be selectable to open in a new page. Lastly, if the term has a parent it is also selectable to open in a new Metadata panel.
Additionally, new Metadata panels may be opened by clicking on the 'Open new metadata tab' button found in the Navigation pane:
When a new metadata panel is opened up it becomes the active panel and all future requests to display metadata will be routed to it. This allows for a user to save metadata windows while exploring new terms.
** IMPORTANT ** - Visualization does not currently work in the Internet Explorer line of browsers.
Visualization of a term can be accessed through the 'Visualize' button that is found on any terms metadata page. Clicking on this button will open a new tab that will display the immediate relations of this term (both parents and children if they exist).
Visualization of a term demonstrates all relationships to and from a target term and allows the user to further explore these relationships by traversing across any parents or children.
The node types in the visualization are denoted by different colors:
- Red nodes indicate the target term from which the visualization was launched.
- Green nodes indicate that parent(s) or children exist for this node and can be viewed by clicking on the node
- Gray nodes indicate a leaf node.
- Orange nodes are created when five or more parent/children exist. The number in this orange node indicates how many parents/children are present
Clicking on one of these orange nodes will bring up a dialog box to allow the user to select one or many parent(s)/children to display on the visualization canvas:
From here the user can filter the children/parents to add to the graph (via the 'Type to Filter' input) or use the 'Select All' button to select all nodes to be added to the canvas. Some care should be taken when adding several nodes to the canvas as, depending on the computer being used to access the Disease Ontology web browser, upwards of 50+ nodes can cause slowdown.
Disease Ontology Browser REST API
A RESTful API service is also offered to users of the Disease Ontology browser website to allow for programmatic access to the metadata found in the database.
Metadata returned in JSON format may currently be requested by use of the following URL:
Example usage here would be querying for metadata from the term "Disease" (DOID:4):
which would return the following JSON:
definition: ""A disease is a disposition (i) to undergo pathological processes that (ii) exists in an organism because of one or more disorders in that organism." [url:http\://ontology.buffalo.edu/medo/Disease_and_Diagnosis.pdf]"
"disease of cellular proliferation"
"disease of anatomical entity"
"disease of metabolism"
"disease of mental health"
"disease by infectious agent"
In the future we hope to offer all the services that are available on the Disease Ontology browser website through the REST API as well.