XP:cellular component xp self

From GO Wiki
Jump to: navigation, search


Logical definitions for cellular component terms that reference only cellular component terms. Examples:

  • cellular bud neck contractile ring
  • nuclear envelope
  • lysosomal membrane


Obol was used to generate the initial version of the file. This was then vetted by cjm. Obol grammar: obol_cellular_component_xp prolog grammar

ontologies used

  • GO (CC)
  • RO
  • ro_proposed

Relations used

TODO: needs written up more

Many trivial N+S conditions can be stated using nothing more than the part_of relation.

Other relations required included:

  • adjacent_to
  • continuous_with
  • surrounds / surrounded_by
  • bounds / bounded_by

Having surrounds and bounds may seem odd. This is because we have two cases: where the larger piece encloses the smaller piece and is part of it (e.g plasma membrane and cell), and the case where it encloses it but is not part of it (e.g. plasma membrane and cytosol)


In the [scratch/xps] directory:

Also on the OBO xp page:


The following XP matrix tables illustrate subsets of the CC XPs.

  • Each column in the matrix represents a genus term - the core building block for the more complex term
  • Each row in the matrix represents a term used in the differentium or discriminating characteristics of the XP term
  • Each cell in the matrix shows the XP def for an existing GO term. For now only terms with a single differentium are shown for simplicity. The relation used is also shown.

Thus the definition of every XP term should read A cell-value is_a column-value that (relation) row-value

Nuclear and mitochondrial lumen and membranes

GO:0016020-membrane GO:0019867-outer membrane GO:0031965-nuclear membrane GO:0031974-membrane-enclosed lumen
GO:0005634-nucleus GO:0031965-nuclear membranesurrounds GO:0005640-nuclear outer membranesurrounds GO:0005640-nuclear outer membranesurrounds GO:0005634-nucleus
GO:0005637-nuclear inner membrane GO:0031981-nuclear lumensurrounded_by GO:0005637-nuclear inner membrane
GO:0005737-cytoplasm GO:0005640-nuclear outer membraneadjacent_to GO:0005640-nuclear outer membraneadjacent_to GO:0005737-cytoplasm
GO:0005739-mitochondrion GO:0031966-mitochondrial membranesurrounds GO:0005741-mitochondrial outer membranesurrounds GO:0031980-mitochondrial lumensurrounded_by GO:0005739-mitochondrion
GO:0005783-endoplasmic reticulum GO:0005789-endoplasmic reticulum membranesurrounds GO:0042175-nuclear envelope-endoplasmic reticulum networkhas_part GO:0005788-endoplasmic reticulum lumensurrounded_by GO:0005783-endoplasmic reticulum
GO:0031981-nuclear lumen GO:0005637-nuclear inner membraneadjacent_to GO:0031981-nuclear lumen
GO:0016020-membrane GO:0019867-outer membrane GO:0031965-nuclear membrane GO:0031974-membrane-enclosed lumen

Logical Definitions Structure


id: GO:0000142 ! cellular bud neck contractile ring
intersection_of: GO:0005826 ! contractile ring
intersection_of: part_of GO:0005935 ! cellular bud neck

id: GO:0005641 ! nuclear envelope lumen
intersection_of: GO:0031974 ! membrane-enclosed lumen
intersection_of: surrounded_by GO:0005635 ! nuclear envelope

Cytoplasmic X

If we define terms cytoplasmic X and mitochondrial X such that:

  • cytoplasmic chromosome = chromosome THAT part_of cytoplasm
  • mitochondrial chromosome = chromosome THAT part_of mitochondrion

Then a reasoner will infer:

  • mitochondrial chromosome is_a cytoplasmic chromosome

This is correct according to the xp definition.

If we wish to avoid this, we can define it as "cytosolic chromosome"

X part

X part terms get xp definitions of the form:

  • A cellular_component that part_of a X
id: GO:0033267 ! axon part
intersection_of: GO:0005575 ! cellular_component
intersection_of: part_of GO:0030424 ! axon

Using these XPs we can automatically place many CC terms. For example cortical microtubule is_a cell cortex part

Because this is such a simple non-problematic set of XPs I have created a subset of the whole XP file called cellular_component_xp_self_Xpart.obo. From this, it is easy to generate go_withXpart_links.obo, a "repaired" version of GO with the missing links filled in. This file can be easily regenerated on demand from the latest GO - we can then use it to replace the existing file in GO. This is also easy for curators to do themselves. Here is the protocol:

 cd go/editors
 cvs update gene_ontology_write.obo
 cd ../../scratch/xps
 obo2obo -o -saveimpliedlinks cellular_component_xp_self_Xpart-implied.obo cellular_component_xp_self_Xpart-imports.obo
 grep -v ^intersection_of: cellular_component_xp_self_Xpart-imports.obo > go_withXpart_links.obo

The last step is required because we do not yet save the xps in the main GO file. If it were not for this step the whole cycle could be performed in OBO-Edit. In fact within OBO-Edit, selected inferred links can be promoted.

(use OE2 beta50 or greater for this)

X membrane

parthood relations are not enough to make necessary and sufficient definitions.

We use the surrounds relation for when a part_of b and the area within a contains b

X membrane terms are either defined as:


It is necessary to examine the text definition to check which one. There may be some errors.

id: GO:0005640 ! nuclear outer membrane
intersection_of: GO:0019867 ! outer membrane
intersection_of: surrounds GO:0005634 ! nucleus

id: GO:0005740 ! mitochondrial envelope
intersection_of: GO:0031975 ! envelope
intersection_of: surrounds GO:0005739 ! mitochondrion

X inner membrane

We define inner membranes using a combination of the surrounds relation (to indicate the organelle or component that is within the membrane), and the adjacent_to relation to indicate that this membrane is on the inside. For example:

id: GO:0009528 ! plastid inner membrane
intersection_of: GO:0016020 ! membrane
intersection_of: surrounds GO:0009536 ! plastid
intersection_of: adjacent_to GO:0031974 ! membrane-enclosed lumen

TODO: clarify outer membranes

X lumen

lumens are defined by membranes. This is typically the membrane that surrounds the organelle, such as for example in lysosomes:

id: GO:0043202  ! lysosomal lumen
intersection_of: GO:0031974  ! membrane-enclosed lumen
intersection_of: bounded_by GO:0005765  ! lysosomal membrane

where organelles have two membranes, we must take care to distinguish the lumen between the two membranes vs the inner lumen:

id: GO:0031981 ! nuclear lumen
intersection_of: GO:0031974 ! membrane-enclosed lumen
intersection_of: bounded_by GO:0005637 ! nuclear inner membrane
id: GO:0005641 ! nuclear envelope lumen
intersection_of: GO:0031970 ! organelle envelope lumen
intersection_of: bounded_by GO:0005640 ! nuclear outer membrane
intersection_of: bounds GO:0005637 ! nuclear inner membrane


id: GO:0005643 ! nuclear pore
intersection_of: GO:0046930 ! pore complex
intersection_of: perforates GO:0005635 ! nuclear envelope
intersection_of: adjacent_to GO:0005637 ! nuclear inner membrane
intersection_of: adjacent_to GO:0005640 ! nuclear outer membrane


Although the focus of the xp project is to provide logical definitions for combinatorial terms, we can also provide logical definitions for some of the high level terms too.

Here is a candidate definition for cytoplasm:

id: GO:0005737 ! cytoplasm
intersection_of: GO:0005575 ! cellular_component
intersection_of: bounded_by GO:0005886 ! plasma membrane
intersection_of: bounds GO:0043226 ! organelle

i.e. the cytoplasm is the cellular component that is bounded by the plasma membrane and bounds organelles

host X

This is a tricky one. It would be natural to say:

  • GO:0020002 host cell plasma membrane = plasma membrane THAT part_of host cells

i.e. all host cell plasma membranes are plasma membranes that are part of a host cell

However, in GO the following relation does NOT hold.

  • GO:0020002 host cell plasma membrane is_a plasma membrane

This is because the host part of CC represents locations, specifically relative locations. It can be argued that all of CC represents relative locations...

We get round this by saying that host cell plasma membrane is an extracellular region that inheres_in a plasma membrane. inheres_in is a general relation between a dependent continuant and an independent continuant - e.g. between a relative location and what that location is relative to. This is somewhat abstract but it is difficult to find another way that does not lead to unwanted logical entailments (e.g. host cell plasma membrane is_a plasma membrane)

 id: GO:0020002 ! host cell plasma membrane
 intersection_of: GO:0044421 ! extracellular region part
 intersection_of: OBO_REL:inheres_in GO:0005886 ! plasma membrane

See the discussion of parasitophorous vacuole in this SF tracker item

NOTE: these have been moved to a separate file:


One thing I observed in making these xps is the lack of suitable is_a parents in CC. Definitions refer to networks, bundles, gels/matrix, spaces/regions, pores etc as their genus, but there is no corresponding term defined. Humans and computers could benefit from such a collection of upper level terms being realized in CC (these terms could themselves be defined via CARO)

missing links

The following tracker items were submitted based on running the reasoner over the xp definitions:

disjoint classes

We can use the xp defs to generate disjoint links of the form:

e.g. to say the X and Y have no parts in common - they are spatially disconnected

See Cellular component disjoint classes

Validation notes

See also

XP:cellular_component_xp_go - CC to BP and MF