From GO Wiki
Revision as of 19:04, 24 February 2018 by Paul Thomas (talk | contribs) (1.a. Enter gene product or macromolecular complex to be annotated)

Jump to: navigation, search


Noctua is an openly accessible GO annotation editor. While simple annotations are supported, Noctua was designed to allow connecting annotations, thus enriching the expressivity of the annotations. Models produced with Noctua are called GO-CAM models. The overall goal is for each model to represent a unit that corresponds to a biological pathway. This document describes how to make GO-CAM models using Noctua.

What is a simple annotation?

A simple GO annotation is a gene product linked to a GO term, with an evidence code and supporting evidence (reference article, for example). The GO term may come from any of the three aspects of the GO: Molecular Function (MF), Biological Process (BP), or Cellular Component (CC). Gene products can correspond to proteins, complexes, or non-coding RNAs, and must be represented by a stable identifier.

What is a GO-CAM model?

A GO-CAM model is a combination of simple GO annotations to produce a network of annotations ("model"). It must connect at least two simple annotations. The primary unit of biological modeling in GO-CAM is a molecular activity of a specific gene product or complex. A molecular activity is the activity carried out at the molecular level by a gene product; this is specified by a term from the GO molecular function ontology. If the function acts upon another “target” molecule, this can be specified using a gene product identifier (for a protein or a gene) or term from the ChEBI ontology (for a small molecule). In this case the MF is qualified with has input [target_id].

Linking different aspects of a molecular activity

One major difference between simple annotations and GO-CAM is that the former does not have explicit relations between the gene product being annotated and the GO term. In GO-CAM models, relations enable to capture how a gene product’s molecular function relates to other aspects of GO. GO-CAM explicitly defines the relationships between: 1) different aspects of the function of each gene, as defined in GO (molecular function, biological process, cellular component), 2) the functions of different genes (“pathways”) and 3) different systems of interacting functions (“modules”).

  • a molecular activity occurs in a location: this includes cellular structures (described by a GO cellular component class, excluding the “macromolecular complex” branch), which can be further nested within larger structures using the appropriate cell ontology and anatomy ontologies.
  • a molecular activity is part of (i.e. helps to accomplish) a biological process, i.e. a biological program that also includes other molecular activities, which is described by a GO biological process class. In turn, a biological process can be nested inside an even larger biological process.
  • if the molecular activity occurs during a particular biological phase (e.g. a particular stage in organism development), this can be specified using a term from an appropriate ontology; i.e. any descendant of the term “GO:0044848 biological phase”.

Linking different molecular activities

Once the GO-CAM unit has been created (MF+BP+CC), these different units can be linked to each other to represent a causal activity model. The most common relations are directly (positively/negatively) regulates and provides input for, but there are other relations of greater and lesser specificity, depending on what is known. Regulates should be used to denote biological control of a downstream activity. Provides input for should be used when there is no control, but an upstream function creates a molecular entity that is the target of the downstream function, such as in a metabolic pathway.

Incomplete GO-CAMs

We recognize that the knowledge of biology is incomplete; in cases where some or most of these aspects are unknown, a model may still be constructed with details added as more information becomes available. Users should attempt to specify functions as fully as possible, but partial models are expected and still contribute to the GO knowledgebase.


A web browser. Chrome is recommended.

Launching Noctua


Before using Noctua to edit or create models, you need to have three things:

  • an account on GitHub
  • an ORCID
  • to be properly registered as a Noctua user in the GO users' metadata.

If you don't already have a GitHub or ORCID account, please obtain these before continuing (note that in exceptional circumstances, it is possible to use Noctua without these). The most important step is to get your information properly into the users' metadata file. The easiest way to do this is to fill out the online new user form and contact sjcarbon at lbl dot gov once complete. Propagating the metadata information may take a little time, so please do this as early as possible. To fill out this form, you will need your name, organization, and GitHub and ORCID account information.

Using Noctua


Click on the Login button in the upper right corner, and choose "Log in with Github." When you have logged in, press the "return" button to return to the previous page, now with edit permission.

Editing an existing model

Just click on the "Edit" button in the rightmost column of the model list. The model list can be filtered using the search box just above the list of available models.

Starting a new model

Just click on the blue "Create GO-CAM" button.

Creating a new activity and its properties

After either selecting an existing model or starting a new one, you will see the graph view by default. To create new activities, you should use the “Simple annoton editor” tool, available in the Workbench menu: Workbench -> Simple annoton editor (Fig. 1)

Fig. 1 Launching the simple annoton editor

This will launch a new browser tab with the Simple annoton editor form (Fig. 2)

Fig. 2 Simple annoton editor form.

Step 1. Fill in the form

Fill in as many fields as possible in the form, by typing in the field, and then selecting from the autocomplete suggestions by moving the mouse over your selection and clicking.

In the autocomplete, enter a space after a complete word, to narrow down the choices.

1.a. Enter gene product or macromolecular complex to be annotated

By default, the form allows you to enter a single gene product. Start typing, choices will appear, and then select the gene product.

You can type in the gene symbol, e.g. Wnt3a or the unique identifier or accession, e.g. UniProtKB:P56704.  If necessary to narrow down the choices, type a space after the symbol, and enter the three letter code for the species (first letter from genus and two from species name, e.g. mmu for Mus musculus).  Each entry in the autocomplete will also show the associated unique database identifier or accession, so curators can confirm that they are selecting the appropriate entity for annotation.

1.b. Enter the molecular function, evidence, and reference

  • These fields are required. If you fill in the first field of any line, you need to add evidence and a reference.
  • If the Molecular Function is known, enter the appropriate GO term, evidence code and reference.
  • If the Molecular Function is unknown, but you are also making a Biological Process annotation, enter "molecular_function" and the same evidence and reference as the Biological Process annotation.
  • If the Molecular Function is unknown, and there is no evidence for what the Molecular Function might be, enter "molecular_function" and the ND evidence code.

1.c. Enter other fields (optional)

  • For Molecular Function, the following "extensions" can optionally be added:
    • has_input(molecule): fill in the "has input" field, evidence, and reference.
    • happens_during(biological phase): fill in the "happens during" field, evidence, and reference.
  • In addition, curators can add annotations to:
    • Biological Process (the form assumes a part_of relation between the Molecular Function and Biological Process)
      • Additional BP part_of "extensions" can be made to provide contextual information to the BP term.
    • Cellular Component (the form assumes an occurs_in relation between the Molecular Function and Cellular Component)
      • Additional part_of "extensions" can be made to provide contextual information about cell and/or tissue type.
We recommend that you fill in as many fields as possible before creating the activity, as after it is created, you will need to edit it from the graph canvas, which requires more steps to do.

Step 2. Add the new activity to a model

Press the CREATE button. A new activity will appear on the graph canvas (the main window).

1. Each new activity will appear on the same part of the canvas, so if you add more than one activity you will need to move them around on the canvas (by clicking and dragging) to see the ones underneath.
2. If the CREATE button is grayed-out, there is some information missing from the form that you still need to fill in.  You can press the "why is the save button disabled?" for a list of missing fields.

Specifying the causal ordering of the activities

Once you have created at least two activities, you can specify the causal relations between them. This is done on the graph canvas, by dragging from the blue circle of the upstream activity box, onto the downstream activity box (Fig. 3). You can then select the relation. Relations that are “direct” mean that there is a physical interaction mediating the effect on the downstream activity.

Fig. 3 Making causal relations between activities.

Choosing the right causal relation between activities/annotons

Direct relations

  • If the upstream activity regulates the downstream activity through direct binding or by covalent modification, use the “directly (positively/negatively) regulates” relation. Examples:
    • Receptor ligand activity enabled by Wnt1 directly positively regulates receptor activity enabled by Fzd1 (Wnt1 binds to the Fzd1 receptor and activates it).
    • Protein kinase activity enabled by MAP3K1 directly positively regulates protein kinase activity enabled by MAP2K1 (MAP3K1 phosphorylates MAP2K1 and activates it)
  • If an upstream activity creates a molecule that is acted upon by the downstream activity, use “provides direct input for” relation. Examples:
    • Glucose-6-phosphate dehydrogenase activity of GAPDH provides direct input for phosphofructokinase activity of PFK2 (the small molecule output from the GAPDH activity is acted upon by PFK2 as the next step in the metabolism of glucose).
    • (X phosphorylates Y, creating a molecule that is then acted upon by Z)

Activities mediated by small molecule concentration

Small molecules can be substrates (inputs) of activities, created by activities (outputs) or modulators of activities (regulatory). In these cases, GO-CAM models make explicit nodes representing small molecule concentrations. To add a small molecule to a model, using the "Add Individual" item on the left of the graph canvas. These should have CHEBI identifiers.

  • a small molecule in a metabolic pathway. In this case, connect the upstream activity (e.g. hexokinase activity) to its output (glucose-6-phosphate) using the has_output relation. Then connect the small molecule to the downstream activity (e.g. phosphoglucose isomerase activity) using the has_input relation.
  • regulation via a small molecule intermediate. In this case the downstream activity must be a compound function, i.e. you will need to create two DISTINCT activities for the same gene product. The first activity must be X binding, where X is the small molecule. The second activity is the regulated activity. Connect the upstream activity to the small molecule using has_output, and the small molecule to the X binding activity using has_input. Then connect the first activity of the compound activity to the second one using a directly positively/negatively regulates relation.
    • ADCYA1 creates cAMP, which is an input to the cAMP binding function of PKCR1. The cAMP binding function of PKCR1 then directly negatively regulates the protein kinase inhibitor activity of PKCR1.
    • ADCHE1 breaks down acetylcholine, which directly binds to ACHR1 (acetylcholine binding) and activates its GPCR activity.

Activities mediated by a biologial process

Similarly to mediation by small molecule concentration, the effects of some molecular activities on other activities are not strictly direct, but are mediated by a biological process. Key examples are transcriptional regulation, regulation by ubiquitination and degradation, and regulation via membrane depolarization. In these cases, create an instance of the mediating process (e.g. transcription), using the "Add Process" item on the left of the graph canvas. Connect the upstream activity (e.g. transcription factor activity) to the mediating process (e.g. transcription) with "directly positively regulates", and the mediating process (transcription) to the downstream activity (the activity of the transcribed gene product) with "directly causally upstream of".

Indirect and unknown causal mechanisms

  • If the mechanism of the causal relation is not known, use the more general “causally upstream of” relations (these can include a positive/negative effect, if known).

Subfunctions: specifying more detail about molecular activities

Sometimes, molecular activities are composed of distinct subfunctions, and those subfunctions may even be carried out in distinct locations, or by distinct subunits of a complex. For example you may want to specify “hormone binding” in the “cytosol” as a subfunction of a nuclear receptor, that then activates (directly positively regulates) “transcription factor activity” in the “nucleus”. To specify subfunctions, you will create new activities and link them to an activity that you have previously created that describes the overall function of the gene product (e.g. “nuclear receptor activity”). Subfunctions (e.g. “hormone binding”) can be created using the simple annoton editor, but do not fill in the biological process field as it is the same as for the overall function. Once the new annoton is created, link it to the overall molecular function you created earlier, by dragging (on the graph canvas) from the subfunction annoton (blue circle) to the overall activity, and selecting the “part of” relation. You will then need to add evidence by clicking on the "part of" edge; a box will pop up; fill in the evidence fields and press the "Add" button.

Editing the model

Editing can currently be performed only on the graph canvas (the simple annoton editor form does not pick up any operations you have performed on the graph canvas).

Note that only one edit operation can be done at a time.  To change something on the canvas, you will need to first ADD the correct part, and then DELETE the incorrect part, as separate operations.  We recommend that you add first, so that you can transfer evidence from the incorrect part if necessary, by using the “clone other” operation.

Editing relations

Relations can be removed by dragging the end of the relation arrow away from the box it connects to, into an empty part of the canvas. Relations can be added by clicking on the blue circle inside the upstream box, and dragging to the downstream box. Evidence for a relation can be edited by clicking on the relation arrow.

Editing the type/label on a graph node

To edit a simple box on the graph (no colored bars indicating that it has multiple parts folded together for easy viewing), just click on the green square. To change it, first add the new term by filling in the field under “add type”, and clicking add. Then reopen the box again and delete the old term by clicking on the red “x” next to it.

Editing types/labels that are inside a graph node

  • To edit properties of an activity that are “folded” into the molecular activity box on the canvas, click on the green box in the corner of a box. Note that only one edit operation can be done at a time, so do not make more than one edit before pressing a button to save the edit. To change part of the annoton, you will need to first ADD the corrected part, and then DELETE the incorrect part, as separate operations.
  • To remove a property of the annoton, click the “x” next to it.
  • To edit the evidence, click on the “E” next to the part for which you want to edit evidence (e.g., the “E” next to enabled by is the evidence that the molecular function is enabled by the gene product).

Making "traditional" (single aspect) GO annotations using Noctua

Molecular function annotation

  • Fill in the gene product field
  • Fill in the molecular function field, including evidence
  • Optionally, the following "extensions" can be added:
    • has_input(molecule): fill in the "has input" field and evidence
    • happens_during(biological phase): fill in the "happens during" field and evidence
    • occurs_in(cellular component): fill in the "cellular component" field and evidence
    • part_of(biological_process): fill in the "biological process" field and evidence

Cellular component annotation

  • Use the "Component only" version of the form. This is still under development.

Biological process annotation

  • Fill in the gene product field.
  • Fill in the molecular function field with "molecular_function" if unknown. Fill in the evidence with the same evidence code and PMID that you will use for biological process.
  • Fill in the biological process field with the desired GO term, and evidence.
  • Optionally, the following "extensions" can be added:
    • part_of(larger biological process): fill in the "part of biological process" field. Other extensions should be added to the molecular function

Naming your Model and Saving your Work

While you create or edit your model, you will see an asterisk appear around the "Untitled" text in your browser tab. The asterisk indicates that your work is not yet saved, and the "Untitled" indicates that you have not yet named your model. To name your model and save your work, click on the drop-down menu under the Model heading and select the "Edit Annotations" option. In the "Title" section, add a title for your model. The beginning of the title will now appear in the browser tab. To save your work, click on the Model heading again and select the "Save" option. Your work is now saved and the asterisk in the tab will disappear. Save your work often while editing!

If your model already has a name, you will need to delete the name first, before you can rename it.  Follow the same instructions above, but press the Delete button next to the name instead

How to Make a Model Public

GO-CAM models can exist in different curation states, depending upon whether the curator(s) wish to make the model public. This allows curators to work on a model over a period of time, perhaps review them with colleagues or experts in the field, and then publish them to the GO or other web sites.

By default, new models are treated as if they are under development, but curators have the ability to explicitly label the production status of their model. To do this, click on the Model drop down menu and select "Edit Annotations" from the list. Under the "Annotation state" section, select from one of five options:

  • Production - model will be available from viewing on the GO web site and annotation files available on Jenkins (see below)
  • Review
  • Development - model is still being curated and is not available for viewing on the GO web site; annotations cannot be retrieved from Jenkins (see below)
  • Closed
  • Delete

Providing Feedback

Curators should send bug reports and requests for new features on the Noctua issue tracker. Be sure to search the tracker to see if the request has not already been reported!