Cellular component disjoint classes
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:
- GO:0000144-cellular bud neck septin ring GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
- GO:0001740-Barr body GO:0005694-chromosome GO:0044427-chromosomal part
- GO:0005637-nuclear inner membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0005637-nuclear inner membrane GO:0031965-nuclear membrane GO:0044453-nuclear membrane part
- GO:0005640-nuclear outer membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0005640-nuclear outer membrane GO:0031965-nuclear membrane GO:0044453-nuclear membrane part
- GO:0005741-mitochondrial outer membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0005778-peroxisomal membrane GO:0042579-microbody GO:0044438-microbody part
- GO:0005789-endoplasmic reticulum membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0009276-Gram-negative-bacterium-type cell wall GO:0030312-external encapsulating structure GO:0044462-external encapsulating structure part
- GO:0009707-chloroplast outer membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0012507-ER to Golgi transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0012507-ER to Golgi transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0012508-Golgi to ER transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0012508-Golgi to ER transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0012509-inter-Golgi transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0012509-inter-Golgi transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0012510-trans-Golgi network transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0012510-trans-Golgi network transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0020006-parasitophorous vacuolar membrane network GO:0016020-membrane GO:0044425-membrane part
- GO:0020017-flagellar membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0030485-smooth muscle contractile fiber GO:0043292-contractile fiber GO:0044449-contractile fiber part
- GO:0030671-clathrin-coated phagocytic vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0030671-clathrin-coated phagocytic vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0030673-axolemma GO:0016020-membrane GO:0044425-membrane part
- GO:0030864-cortical actin cytoskeleton GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
- GO:0031676-plasma membrane-derived thylakoid membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0031900-chromoplast outer membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0032159-septin cap GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
- GO:0032160-septin filament array GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
- GO:0032169-prospore septin ring GO:0005856-cytoskeleton GO:0044430-cytoskeletal part
- GO:0032174-cellular bud neck septin collar GO:0044430-cytoskeletal part GO:0005856-cytoskeleton
- GO:0032177-cellular bud neck split septin rings GO:0044430-cytoskeletal part GO:0005856-cytoskeleton
- GO:0046861-glyoxysomal membrane GO:0042579-microbody GO:0044438-microbody part
- GO:0055038-recycling endosome membrane GO:0044440-endosomal part GO:0005768-endosome
- GO:0060201-clathrin sculpted acetylcholine transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0060201-clathrin sculpted acetylcholine transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
- GO:0060203-clathrin sculpted glutamate transport vesicle membrane GO:0016020-membrane GO:0044425-membrane part
- GO:0060203-clathrin sculpted glutamate transport vesicle membrane GO:0044425-membrane part GO:0016020-membrane
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
Here are some obvious ones, and the reasoner inconsistency reports that follow:
I then added additional constraints such as
Extracellular and cell
- extracellular part disjoint_from cell part
This gave the following:
disjointness_violationNR GO:0005607-laminin-2 complex GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0005607-laminin-2 complex GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0009549-cellulose microfibril GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0009549-cellulose microfibril GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0016010-dystrophin-associated glycoprotein complex GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0016010-dystrophin-associated glycoprotein complex GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0016011-dystroglycan complex GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0016011-dystroglycan complex GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0016456-X chromosome located dosage compensation complex, transcription activating GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0016456-X chromosome located dosage compensation complex, transcription activating GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0020003-parasitophorous vacuole GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0020003-parasitophorous vacuole GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0020004-parasitophorous vacuolar space GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0020004-parasitophorous vacuolar space GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0020005-parasitophorous vacuolar membrane GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0020005-parasitophorous vacuolar membrane GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0020006-parasitophorous vacuolar membrane network GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0020006-parasitophorous vacuolar membrane network GO:0044464-cell part GO:0044421-extracellular region part disjointness_violationNR GO:0020008-rhoptry GO:0044421-extracellular region part GO:0044464-cell part disjointness_violationNR GO:0020008-rhoptry GO:0044464-cell part GO:0044421-extracellular region part
Cytosol and nucleus
- cytosolic part disjoint_from nuclear part
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
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