Protege5 5 setup for GO Eds

From GO Wiki
Revision as of 12:50, 15 July 2019 by Vanaukenk (talk | contribs) (Configuring layout)

Jump to: navigation, search

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

Fix memory settings

Protege needs at least 4G of RAM to cope with the GO, ideally use 12G or 16G if your machine can handle it.

  • If launching from ./run.command, edit run.command to jre/bin/java -Xmx6000M. (Is anybody doing this?)
  • If running from on a mac, open the /Applications/Protege-5.5.0/Protégé.app/Contents/info.plist file
    • Below the line: <string>-Xss16M</string>
    • Insert another line: <string>-Xmx12G</string>

Fix Deprecate Entity functionality

There is a bug in the Deprecate Entity functionality - it adds OBSOLETE rather than OBSOLETE. in front of (will be fixed at the next Protege release). To fix:

  • Edit the /Applications/Protege-5.5.0/Protégé.app/Contents/Java/conf/deprecation/go.yaml file (inside the Protege App – access it with "Show Package Contents" by Ctrl + Clicking on the Protege Mac App).
  • Change line 10 from annotationValuePrefix: OBSOLETE to annotationValuePrefix: OBSOLETE.

Configuring layout

The following tabs are sufficient for GO work:

  • Active ontology
  • Entities (which also contains tabs for object properties and annotation properties by default)
  • DL query
  • OBO Annotation (do we need? looks like all the functionality has been added in the 'Annotations' panel). Can be obtained from File > Check for Plugins
    • Note that the OBO Annotation plugin also contains the Obsoletion functionality (Edit > Make entity obsolete)
    • Note that the OBO Annotation plugin may not work the first time. Close Protege, reopen, and try again.
  • The layout, id ranges (contained in the file: go-ontology/src/ontology/go-idranges.owl), user name and date_created parameters should be kept from the previous version. Please check that all parameters are correct before starting to use Protege to edit the ontology.
  • Protege has a highly configurable layout and a plugin architecture. You can control which components are visible from the window menu. To insert a view, go 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.

Protege setup images-media-image03.png

  • You can remove plugins by clicking on the arrow at the right of the plugin tab.
  • Once the layout is to your liking, go to Windows > Store current layout

Installing plugins

If some plugins are not available from the Window>Views tab, go to File Check for plugins. Note: this takes some time. You can see Protege running by looking at the top right corner for the spinning wheel. The plugin menu will appear, showing available plugins or newer versions of already installed plugins:

Plugins menu.jpeg

Note the checkbox 'Always check for updates on startup'. It is recommended that you uncheck this box, since this notably slows down launching Protege.

  • ELK OWL reasoner: Used to compute relationship inferences derived from logical definitions.
    • Download from [1] Update 2019-07-10: ELK should now be available from the 'Check for plugins' menu.
    • Add them in the Protege plugins directory by dragging and dropping the file:
    • 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 Note there are two plugins folders. Make sure you use the correct one.

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

  • OntoGraph view: This view displays a connected graph of classification (is_a) and other relationship types.

Ontograph plugin.jpg

  • 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:

Instructions for new Protege users

Obtaining your ID range

  • 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
  4. Creator value Select Use user name
  5. Check Annotate new entities with creation date/time box
  6. Date property Add
  7. Date value format Select ISO-8601

New entity metadata.png

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: in the users.yaml file.

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:

Protege setup images-media-image07.png

More on rendering. All entities in OWL are identified by an IRI (Internationalized Resource Identifier [2]). Entities also includes annotation properties such as human-readable labels. 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 displayed. Choosing to render with rdfs:label displays term labels in Protege.

Protege 5.5.0 new features

See Protege wiki - 5.0 new features

Review Status

Last reviewed: July 10, 2019

Back to: Ontology_Development