Cellular component disjoint classes

From GO Wiki
Jump to navigation Jump to search

The GO CC hierarchy contains many classes that should probably be declared disjoint. For example, nothing is both an intracellular region and an extracellular space. Similarly nothing is both a cell and a cytoplasm (of course cell and cytoplasm spatially overlap. disjoint_from is about set-disjointness, not spatial disjointness). Addng disjoint_from links prevents TPVs (for evidence see below_

But we don't want to add disjoint_from links willy-nilly. We should be methodical to reduce the amount of work that needs don

Working area

We use the scratch/ directory in cvs

Results

Top level disjoint pairs

I found it helped by creating 4 new top level classes:

/ GO:0005575 cellular_component
 is_a GO:0005576 extracellular region
 is_a GO:0031975 envelope
 is_a GO_CJM:0000001 fiat part
  is_a GO:0044420 extracellular matrix part
  is_a GO:0044421 extracellular region part
  is_a GO:0044422 organelle part
  is_a GO:0044423 virion part
  is_a GO:0044456 synapse part
  is_a GO:0044464 cell part
 is_a GO_CJM:0000002 external
 is_a GO_CJM:0000003 space
  is_a GO:0031974 membrane-enclosed lumen
  is_a GO:0045202 synapse
 is_a GO_CJM:0000004 whole
  is_a GO:0005623 cell
  is_a GO:0019012 virion
  is_a GO:0031012 extracellular matrix
  is_a GO:0032991 macromolecular complex
  is_a GO:0043226 organelle
  is_a GO:0055044 symplast

These may or may not be meaningful or consistent with the GO - it's a starting point.

See cellular_component_disj.obo.

I declared space disjoint from whole. Really this was just a convenient alternative to making 2 x 6 pairwise DF statements for each is_a child.

I then used the "make is_a children mutually disjoint" menu option in OE2beta on "whole" and "space"

At this point I saw no violations in GO. The declarations so far are fairly conservative.

We could go ahead and put these in the GO. We don't need to keep the hokey GO_CJM terms. We can move the space-whole DF down to 2x6 statements on the children.

One consideration here is that people typically have disjoint_from links turned on in graphviz displays in OE. This works fine for the 3 disjoint classes we currently have, but could result in nasty hairballs if we extend this further. Easily fixed in OE2 - OE1 too? How much warning?

X part and X

Using the XP:cellular_component_xp_self CC xps I created a disjoint_from statements for all pairs "X" and "X part"

This proved too extreme. I manually removed the disjoint_from statement between organelle and organelle part (whilst nothing can be both an organelle and a proper part of the same organelle, something can be both a whole organelle and part of a larger different kind of organelle).

See cc_part_whole_disjoint.obo.

I think many of the remaining DF statements are still valid. I checked 2 and made tracker items (see next section).

I didn't check the rest; here they are, verbatim:

  1. GO:0000144-cellular bud neck septin ring GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
  2. GO:0001740-Barr body GO:0005694-chromosome GO:0044427-chromosomal part
  3. GO:0005637-nuclear inner membrane GO:0016020-membrane GO:0044425-membrane part
  4. GO:0005637-nuclear inner membrane GO:0031965-nuclear membrane GO:0044453-nuclear membrane part
  5. GO:0005640-nuclear outer membrane GO:0016020-membrane GO:0044425-membrane part
  6. GO:0005640-nuclear outer membrane GO:0031965-nuclear membrane GO:0044453-nuclear membrane part
  7. GO:0005741-mitochondrial outer membrane GO:0016020-membrane GO:0044425-membrane part
  8. GO:0005778-peroxisomal membrane GO:0042579-microbody GO:0044438-microbody part
  9. GO:0005789-endoplasmic reticulum membrane GO:0016020-membrane GO:0044425-membrane part
  10. GO:0009276-Gram-negative-bacterium-type cell wall GO:0030312-external encapsulating structure GO:0044462-external encapsulating structure part
  11. GO:0009707-chloroplast outer membrane GO:0044425-membrane part GO:0016020-membrane
  12. GO:0012507-ER to Golgi transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  13. GO:0012507-ER to Golgi transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  14. GO:0012508-Golgi to ER transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  15. GO:0012508-Golgi to ER transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  16. GO:0012509-inter-Golgi transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  17. GO:0012509-inter-Golgi transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  18. GO:0012510-trans-Golgi network transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  19. GO:0012510-trans-Golgi network transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  20. GO:0020006-parasitophorous vacuolar membrane network GO:0016020-membrane GO:0044425-membrane part
  21. GO:0020017-flagellar membrane GO:0016020-membrane GO:0044425-membrane part
  22. GO:0030485-smooth muscle contractile fiber GO:0043292-contractile fiber GO:0044449-contractile fiber part
  23. GO:0030671-clathrin-coated phagocytic vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  24. GO:0030671-clathrin-coated phagocytic vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  25. GO:0030673-axolemma GO:0016020-membrane GO:0044425-membrane part
  26. GO:0030864-cortical actin cytoskeleton GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
  27. GO:0031676-plasma membrane-derived thylakoid membrane GO:0016020-membrane GO:0044425-membrane part
  28. GO:0031900-chromoplast outer membrane GO:0044425-membrane part GO:0016020-membrane
  29. GO:0032159-septin cap GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
  30. GO:0032160-septin filament array GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
  31. GO:0032169-prospore septin ring GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
  32. GO:0032174-cellular bud neck septin collar GO:0044430-cytoskeletal part GO:0005856-cytoskeleton
  33. GO:0032177-cellular bud neck split septin rings GO:0044430-cytoskeletal part GO:0005856-cytoskeleton
  34. GO:0046861-glyoxysomal membrane GO:0042579-microbody GO:0044438-microbody part
  35. GO:0055038-recycling endosome membrane GO:0044440-endosomal part GO:0005768-endosome
  36. GO:0060201-clathrin sculpted acetylcholine transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  37. GO:0060201-clathrin sculpted acetylcholine transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
  38. GO:0060203-clathrin sculpted glutamate transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
  39. GO:0060203-clathrin sculpted glutamate transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane

Tracker items resulting from this work

Future

Region Connection Calculus

TODO - write something clever here

http://en.wikipedia.org/wiki/Region_Connection_Calculus

Remember, disjoint_from means the set intersection is empty. Cell disjoint_from cytosol is fine.

If we want to say that two regions are spatially disconnected we can say

  • X part disjoint_from Y part

(and define X part using N+S conditions, see XPs)

This is on the TODO...

Use cases:

- reasoning about protein localization. If a protein is localized to X, what does it have to pass through on its way?

SAO

The subcellular anatomy ontology (SAO) has lots of overlap with GO. It is developed with OWL as the primary representation language. It makes heavy use of disjointness axioms to keep the ontology consistent.

Many of these would not apply to GO-CC as it is now, since SAO is much more specific in the realm of subcellular anatomy. For example, SAO has:

[Term]
id: sao:sao-188049490
name: Node Of Ranvier Axon
is_a: sao:sao1791490892  ! Regional Part Of Myelinated Axon
relationship: sao:sao152994059 __file:///Users/cjm/cvs/go/scratch/disjointness_constraints/SAO.owl#__Description81
disjoint_from: sao:sao1191319089  ! Juxta Paranode Axon
disjoint_from: sao:sao830092290  ! Internode Axon
disjoint_from: sao:sao936144858  ! Paranode Axon

Whereas GO has only one subtype of axon, "giant axon" (hmm, single is_a child, not so good!)

However, there may be areas where we can share axioms

See also