Protege5 5 setup for GO Eds

From GO Wiki
Revision as of 09:26, 8 July 2019 by Pascale (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

About this documentation

These instructions were done on Mac OS.

Protege version

As of July 2019, GO Ontology Editors are using Protege version 5.5.0

Download and install Protege

  • Get Protege from protege.stanford.edu
  • Unzip and move the Protege app to your Applications folder.
  • See Install_Protege5_Mac for more instructions and troubleshooting common problems.
  • Fix memory setting TO BE CONFIRMED

Instructions to update from a previous version of Protege

  • Download and install Protege as described above
  • Reinstall plugins:
    • OBO Annotation plugin: available from the plugin menu: File > Check for Plugins.
      • Note: The OBO Annotation plugin may not work the first time. Close Protege, reopen, and try again.
    • ELK reasoner can be obtained from the previous version of Protege or downloaded as indicated below.

Instructions for new Protege users

Memory settings

Protege needs at least 4G of RAM to cope with the GO. Make sure your machine can handle this. Many current editors have 16G of RAM.

 to be confirmed - Jim ? 

If you need to increase your memory settings, the info.plist file now has an Xss option which specifies the stack size. This is set by specifying the following -Xmx argument for the java, for e.g. for 6G, specify -Xmx6000M. How to set this varies with the OS and Protege version. If launching from ./run.command, edit run.command to jre/bin/java -Xmx6000M. If running from Protege_n.app on a mac, you need to find and edit the -Xmx entry in an XML file called info.plist under Protege_n.app/.

Protege layout

As many plugins come with the standard download, the default layout may be intimidating, but can easily be simplified: The following tabs are sufficient for GO work:

  • Active ontology
  • Entities
  • Classes
  • Object properties
  • OBO annotation
  • DL query

Configuring tabs

Protege has a highly configurable layout and a plugin architecture. You can control which components are visible from the window menu. Selecting something from the view menu allows you to create a new sub-window in a tab with the component of your choice - just move the target icon to the location you want and click.

You can remove plugins by clicking on the arrow at the right of the plugin tab.

Installing plugins

If some plugins are not available from the Window>Views tab, go to File Check for plugins. Note: this takes some time. Look at the top right corner for the spinning wheel to make sure that Protege did not crash. The plugin menu will appear, showing available plugins or newer versions of already installed plugins:


The following plugins should be installed from the Protégé menu:

  • ELK OWL reasoner: Make sure you choose a version appropriate to your Protege version. In Protege 5, the latest ELK can be found using File > Check for Plugins.
  • OBO Annotation: Add and edit terms more easily. Have this view show up by going to the Entities tab, selecting Window>Views>OBO Views>OBO Annotation. Drag the black circle that appears to the area where you want it and click. The panel will appear.
  • If there are plugins that are not available under the Check for plugins menu, you can add them in the directory by dragging and dropping the files.
  • To see the directory structure, control-click/right click on the Protege app icon, then select Show Package Contents and drill down to the directory you want.
  • The directory structure is Protege-5.5.0.app/Contents/Java/plugins/. Note there are two plugins folders. Make sure you use the correct one.
  • OntoGraph view: This view displays a connected graph of classification (is_a) and other relationship types.

  • Both children and parents can be viewed.
  • All relations are shown (or at least, many, see screenshot).
  • Double click on the + sign in the top left corner of each box to expand that part of the ontology.
  • Mouse over the arrow on an edge to view details about the relation.
  • The icon representing logical definitions (LD; ) is shown on edges that have inferences based on LDs.
  • If terms have logical definitions, those are shown with the icon representing LDs ().
  • Full instructions can be found at: https://protegewiki.stanford.edu/wiki/OntoGraf

ID Ranges

  • Curators and projects are assigned specific GO term ID ranges by senior editors.
  • These ID ranges are stored in the file: go-idranges.owl
  • NOTE: You should only use IDs within your range.

Setting ID range

  • Once you have your assigned ID range, you need to configure Protege so that your ID range is recorded in the Preferences menu. Protege does not read the go-idranges.owl file.
  • In the Protege menu, select Preferences.
  • In the resulting pop-up window, click on the New Entities tab and set the values as described below.

  1. In the Entity IRI section:
  2. In the Entity Label section:
  3. In the Auto-generated ID section:
    • Select Numeric (iterative)
    • Prefix: "GO_"
    • Suffix: leave this blank
    • Digit Count: "7"
    • Start and End: see go-idranges.owl. Only paste the number after the GO: prefix. Also, note that when you paste in your GO ID range, the number will automatically be converted to a standard number, e.g. pasting 0110001 will be converted to 110,001.)
    • Check the Remember last ID between Protege sessions box (Note: You want the ID to be remembered to prevent clashes when working in parallel on branches.)

WARNING: The ID generator in Protege doesn't overwrite existing IRIs, but it can't cope with the OBO alt_id system - where losing IDs following a merge are stored in annotation properties. This system is problematic for OWL translations as it leads to the loss or IRIs. Without IRIs, this ID generator doesn't know about the IDs and will stomp on them if they fall in the specified ID range. Until this is fixed, ??????

We plan to move to a system in which obsolete classes with these IRIs are created for all alt_ids on OBO to OWL translation.

Setting username and auto-adding creation date

  1. In the Protege menu, go to Preferences > New Entities Metadata tab
  2. Check Annotate new entities with creator (user) box
  3. Creator property Add http://www.geneontology.org/formats/oboInOwl#created_by
  4. Creator value Select Use user name
  5. Check Annotate new entities with creation date/time box
  6. Date property Add http://www.geneontology.org/formats/oboInOwl#creation_date
  7. Date value format Select ISO-8601

Configuring User details

  • In the Protege menu, go to Preferences > User details
  • User nameSelect Use supplied user name, and use your GOC identity (see your 'xref' in users.yaml). Enter the initials following GO:.

Setting Rendering

(The default settings may be fine, but details are included for reference)

  • In the Protege menu, go to Preferences > Renderer

Protege allows users to set the annotation property to be used for rendering OWL entities (classes, object properties, annotation properties, individuals) in graphs, trees and text etc. This should be set to rdfs:label, as follows:


Background on rendering. All entities in OWL are identified by an IRI. This includes annotation properties such as label. In the absence of an annotation to annotation property specified as suitable for rendering, the short form of this IRI (the bit following a '#' or a '/') is used.

Review Status

Last reviewed: July 2, 2019

Back to: Ontology_Development