Annotator tutorial

In this tutorial we will show you how to perform three different types of annotations with SemGen.

We have previously started SemGen, selected “Annotate a model”, and then loaded the mitochondrial oxidative phosphorylation model by Dan Beard to get to what you see here.

Quick tour of the Annotator interface:

  • First a quick tour of the interface you will be using to annotate model codewords.

  • Model-level annotations are accessed in upper left panel, codewords in middle left, sub-models, if there are some, in bottom left.

  • When you select a codeword (K_x selected) it is displayed in the upper right pane for annotation.

  • The original source code is displayed below this showing the first instance of the codeword selected for annotation.

  • We will now go through the four types of annotations that can be applied in SemGen.

Show free text annotation:

  • We can start by showing how to attach a free text annotation to a codeword.

  • We will start with the codeword we have already selected, K_x, which is the concentration of potassium in the mitochondrial matrix.

  • We can write this in as free text as shown below.

  • Free text annotation is similar to a typical comment that might be found in the actual model code.

  • Note that the free text annotation is indicated by the F in the codewords pane.

Show annotation of a state property codeword:

  • You can write a free text definition many ways so to make the annotation more consistent we use a composite annotation which we can build with SemGen.

  • K_x is a state property codeword because it represents a measurable property of a physical entity in our model.

  • To annotate a state property, we first want to indicate its property by clicking on the search icon (binoculars).

  • Properties are only obtained from the Ontology of Physics for Biology in SemGen.

  • To search for concentration, we type it in and press Go.

  • We then select Chemical concentration and press Annotate.

  • We can now see that the codeword jumps to the top of the codeword pane since it now has a property attached to it.

  • Additionally, we now see that it is a state property as indicated by the blue dot next to the codeword.

  • Finally, the fact that a composite annotation has been started with the annotation of property is indicated by the P in the far left hand column.

  • Next we want to annotate what this is a property of.

  • Click on the binoculars and we can select which ontology we want from the dropdown list.

  • We use a limited list of searchable ontologies to find our terms: for ions and small molecules we use the Chemical Entities of Biological Interest (ChEBI), for proteins we use the Protein Ontology (PR), for physiological structure we use the Foundational Model of Anatomy (FMA) for humans and Mouse Adult Gross Anatomy (MA) for rodents, for genes we use the Gene Ontology (GO), and for cells we use the Cell Type Ontology (CL).

  • The main ontologies used after selecting a property from the OPB are ChEBI, FMA and PR.

  • This is the concentration of K+ so we search in the Chemical Entities of Biological Interest (ChEBI) ontology to find potassium.

  • Use the wildcard character (*) to get all potassium terms, find potassium(1+), select and hit Annotate.

  • Note that an X appears next to the P on K_x in the codeword pane indicating an entity has been added to the property.

  • Next we want to indicate where this potassium is.

  • This potassium resides in the mitochondrial matrix within a mitochondrion so we first attach another entity and search for mitochondrial within the Foundational Model of Anatomy (FMA) ontology.

  • The FMA contains mitochondrial matrix so we select that and press Annotate (do).

  • Again select Annotate.

  • If this model was specific for a given cell type we would add another entity and the cell type but this is a generic mitochondrial models so we can terminate the annotation here.

  • Inside the FMA the mitochondrial matrix is known to be part of the mitochondrion.

  • So now we have the completed composite annotation for K_x.

Show annotation of a rate property codeword:

  • The next type of annotation is that for a rate property.

  • A rate property represents a flow of energy or material between two state properties.

  • An example is blood flow or a chemical reaction.

  • Annotated a couple more state properties so we can use them in the annotation of a rate property (K_e and K_i).

  • We are going to annotate the flow of K+ from the cell cytosol to the mitochondrial intermembrane space, J_K.

  • First we need to associate a property from the OPB so search the OPB for flow to see what comes up.

  • This is a flow in the units of chemical concentration per unit time per volume of mitochondria.

  • Therefore, selecting chemical concentration flow rate is appropriate.

  • Press Annotate.

  • This codeword now jumps up to the top of the codeword pane and is now identified as a rate property by the green dot.

  • Next we name this rate property and identify the entities that participate in the represented process.

  • There are currently no comprehensive ontologies of processes so instead of searching for the name of the rate property you must create a Model-specific process name.

  • Select the green plus to draw up the annotation window to name this rate property.

  • We can also add a more detailed description of this rate property process.

  • In this window we can also identify the entities associated with the process.

  • By convention the flow is positive from outside the mitochondrion to inside the mitochondrion so the source is the potassium in the intermembranous space, K_i.

  • We now select an entity for the sink which is the ADP in the intermembrane space of the mitochondrion.

  • There is no mediator identified here so we can leave this blank.

  • An example of a mediator would be an ion channel which is mediating the flow of ions across the cell membrane.

  • Close the annotation pop up window by selecting OK and then Create to record the annotation.

  • In the annotation pane you now see the annotation of the rate property process along with the entities that participate in the process.

Show singular annotation:

  • In some cases single ontology terms can be used to fully capture the physical meaning of a codeword.

  • Examples of this are universal constants, time, etc.

  • Singular annotations are found in primarily in the OPB but can also be found in the Systems Biology Ontology (SBO).

  • Let’s look at the Faraday constant.

  • Go down to the singular annotation portion of the annotation pane and select the search binoculars.

  • Select the OPB and type in Faraday and then select the Faraday constant.

  • Click Annotate and you are done.

  • Note that S shows up in the codeword pane indicating a singular annotation has been applied and the color indicator remains orange which signifies that this is a constitutive annotation (not a state or a rate).

Ending comments:

  • These are the basic type of annotations you will be annotating.

  • This concludes the annotation tutorial but you will be given a script of this tutorial that you can refer to during the execution of your annotation tasks.