Protege5 5 setup for GO Eds: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
Line 37: Line 37:


* Active ontology
* Active ontology
* Entities (which also contains a tab for object properties by default)
* Entities (which also contains tabs for object properties and annotation properties by default)
* Classes
* OBO annotation
* OBO annotation
* DL query
* DL query

Revision as of 11:30, 8 July 2019

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 that the OBO Annotation plugin also contains the Obsoletion functionality (Edit > Make entity obsolete)
      • 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.
  • The layout, id ranges, user name and date_created should be kept from the previous version. Please check that all parameters are correct before starting to use Protege to edit the ontology.

Instructions for new Protege users

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 Protege.app on a mac, open the info.plist file
    • Below the line: <string>-Xss16M</string>
    • Insert another line: <string>-Xmx12G</string>

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 (which also contains tabs for object properties and annotation properties by default)
  • 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. 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 dramatically slows down launching Protege.

  • ELK OWL reasoner: Used to compute relationship inferences derived from logical definitions.
    • Download from [1]
    • 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 Protege-5.5.0.app/Contents/Java/plugins/. Note there are two plugins folders. Make sure you use the correct one.

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

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

Review Status

Last reviewed: July 8, 2019

Back to: Ontology_Development