Protege setup for GO Eds: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
Line 65: Line 65:
Click on Preferences under the main menu to get this window.
Click on Preferences under the main menu to get this window.


[[Image:Protege_setup_images-media-image09.png]]
[[Image:New_entity_metadata.png]]


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,
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,

Revision as of 12:14, 20 December 2016

Protege setup for GO

Which Protege version:

Protege 4.3 is stable and relatively free of bugs. However, it does not support OBO to OWL conversion and so requires that GO be converted to OWL for editing and then converted back again for committing to the repository.

Protege 5 beta21 and higher correctly load and save OBO files. However, preliminary testing suggests that beta21 is not sufficiently stable for anything but relatively brief editing sessions. It also doesn't support the OBO graph view plugin (see below).

Protege 5.0.0 is currently recommended by Chris (06.20.16) "And by Protege 5, I mean the stable release version, not the beta. Get this from protege.stanford.edu Don't use 4, or a 5-beta"

Setting memory

Protege needs at least 4G of RAM to cope with the GO. This is set by specifying the following -Xmx argument for the java. 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/.

Update for P5: apparently no need to increase memory settings. The info.plist file now has an Xss option which specifies the stack size. It was increased from the default to support reasoning with some particular biomedical ontologies (see https://github.com/protegeproject/protege/issues/457).

Protege layout:

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 subwindow in a tab with the component of your choice - just move the target icon to the location you want and click.

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:

You'll have to create the OBO graph tab yourself. (see below, as part of the Installing Plugins section)

Installing plugins:

The following plugins should be installed from the Protégé menus: File>Check for plugins>

  • Search Annotations –search for terms and displays the list of matching results

(according to Chris, no longer necessary with P5)

The following plugins should be dropped into the plugins folder of your Protege installation (this varies with OS and Protege version. Example for Protege 4.3 on a mac: cp <some_plugin>.jar Protege-4.3.app/Contents/Resources/Java/plugins/.

This directory structure for P5 is Protege-5.0.0.app/Contents/Java/plugins/. To see the directory structure so that you can drag and drop files, you'll need to control-click/right click on the app icon, then select 'Show Package Contents' and drill down to the directory you want. Note there are two plugins folders. Make sure you use the correct one.

  1. ELK OWL reasoner Make sure you choose a version appropriate to your Protege version.

    (In P5, the latest ELK can be found using File>Check for Plugins)
  2. 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.
  3. OBO Graph View Component – For all you hairball fans - this plugin displays an OBO-style connected graph of classification (is_a) and other relationship types. (Be careful what you wish for).

    To make this a tab:

    • Window > Create New Tab

    • Window > Views > Ontology Views > OBO Graph View Component
    • Take the black circle, put into the Tab you just created and click within it.
  4. Obsoletion plugin - Once installed, you should see an "obsolete" option in your Edit menu..

Setting ID range

Protege>Preferences>New Entities Tab

Click on Preferences under the main menu to get this window.

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

Protege>Preferences>New Entities Metadata tab See: https://github.com/protegeproject/protege/issues/283#issuecomment-177656593

Setting Rendering

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

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.