Protege5 5 setup for GO Eds

From GO Wiki
Redirect page
Jump to navigation Jump to 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

Adding Views as Windows or as Tabs

  • Go to Windows > View > Select the view you want to insert in the Protege layout.
  • The mouse pointer will have a small black target icon above it.

Adding a view as a new window

  • Mouse-over the window you want to add a new window to, until you see a blue rectangle splitting the window approximately in half, and click to drop the window there.


Adding a view as a new tab

  • Mouse-over the middle area of the window you want to add a new tab to, until you see a large blue rectangle covering the entire window to which you want to add a tab, and click to drop the window there.

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 (May not need - looks like all the functionality has been added in the 'Annotations' panel. However if you are used to this plugin you can install it). Can be obtained from File > Check for Plugins
    • If you have had the OBO Annotation plugin installed in a previous version of Protégé, you must first remove the old Tab from the layout. Click on the x at the top right corner to remove the window or tab. Then add it where you want it using the instructions above for “Adding Views as Windows or as Tabs".
    • Note that the OBO Annotation plugin may not work the first time. After installing the OBO Annotation plugin, close Protege, reopen, and add OBO Annotation view."
    • Note that the OBO Annotation plugin also contains the Obsoletion functionality (Edit > Make entity obsolete)
  • 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.

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

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.

  • 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

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:

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.5.0 new features

Review Status

Last reviewed: July 10, 2019

Back to: Ontology_Development