Cellular component disjoint classes

From GO Wiki
Jump to navigation Jump to search

NOTE: the disjointness axioms are being moved to the Ontology extensions directory


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 done

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. Note that I am not necessarily recommending this for GO, for hypothesis-testing purposes it makes sense to start with the more extreme case:

/ GO:0005575 cellular_component
 is_a GO:0005576 extracellular region
 is_a GO:0031975 envelope
 is_a GO_CJM:0000001 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.

"part" is somewhat troublesome. I'm not sure how useful the X-part terms are (they were introduced for is_a complete, perhaps something like "portion" and "whole" as an upper level term would have helped). On reflection these should be treated as grouping classes.

The resulting obo file is cellular_component_disj.obo, it can be loaded in conjunction with the GO.

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 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. Also problems with root detection. Solution: maintain disjoint_from separately

X part and X

Using the 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

See sf: various organelles and complexes for a discussion of parasitophorous vacuole

Spatial disjointness: Disconnected from

As noted before, X disjoint_from Y means that is no class that is_a X and is_a Y. It does not mean that X and are Y are spatially disconnected. Nothing is both a cell and a cytoplasm - but obviously these spatially overlap.

If we want to asserted spatially nob-overlapping we state disjoint_from between parts.

E.g.

[Term]
id: GO:0044428 ! nuclear part
disjoint_from: GO:0044444 ! cytoplasmic part

Many "X part" terms are pre-coordinated in GO. Terms can be automatically classified under these terms (many manual assertions are lagging bahind the reasoner, see XP:cellular_component_xp_self#X_part

For spatial disjointness between classes that don't have an "X part" class pre-coordinated we can introduce a shortcut relation non_overlapping_with

Here are some obvious ones, and the reasoner inconsistency reports that follow:

I then added additional constraints such as

Extracellular and cell

This gave the following violations:

GO:0005607-laminin-2 complex
GO:0009549-cellulose microfibril
GO:0016010-dystrophin-associated glycoprotein complex
GO:0016011-dystroglycan complex
GO:0016456-X chromosome located dosage compensation complex, transcription activating
GO:0020003-parasitophorous vacuole
GO:0020004-parasitophorous vacuolar space
GO:0020005-parasitophorous vacuolar membrane
GO:0020006-parasitophorous vacuolar membrane network
GO:0020006-parasitophorous vacuolar membrane network
GO:0020008-rhoptry

See sf item

Cytosol and nucleus

No violations found

Cytosol and organelle

one violation - cytosolic ribosome - see https://sourceforge.net/tracker/?func=detail&aid=2872739&group_id=36855&atid=440764

Tracker items resulting from this work

See also the discussion of parasitophorous vacuole in this SF tracker item - in particular what this means for disjointness of Host_X terms

Future

Region Connection Calculus

See

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

- 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