cmungall / cell-ontology-DO-NOT-USE

Initial attempt to move repo from gcode. USE OBOPHENOTYPE
0 stars 0 forks source link

lacks part issues #93

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
'lacks part' is a truly ugly hack - presumably introduced in order to sneak 
negation into OBO &/or EL. (Isn't this true for everything, even those things 
that have nuclei: For all Xx there exists some nucleus n and x lacks part n). 
Its use is causing problems with auto-classification and error checking in CL.

lacks_part some 'lobed nucleus' is being used in a number of classes to record 
that the nucleus in some cells is not lobed.  But to the reasoner 'lacks_part 
some 'lobed nucleus' infers lacks part some nucleus.

How I got here:

Cleaning up classification of mononucleate, binucleate and multinucleate muscle 
cells it became obvious that there are 2 incompatible systems for asserting the 
number of nuclei a cell has.

1.  Use PATO properties - anucleate, binucleate and multinucleate etc

2. Use 'has part' and 'lacks_part'
e.g. 

'has part' some nucleus
'lacks part' some nucleus

As a result - the classification hierarchy is very incomplete ('anucleate cell' 
does not even have enucleate erythrocyte as a subclass!)

 I decided to try adding obvious disjoints 

e.g.  'anucleate cell' disjoint_with 'nucleate cell' 

and then some GCIs to bridge the two system (if we keep them, these GCIs should 
find their way into PATO).

'bearer of' some multinucleate SubClassOf has_part some nucleus  # avoiding 
cardinality to stay in EL
'bearer of' some anucleate EquivalentTo lacks_part some nucleus

Classifying found a set of inconsistent classes with the axiom lacks_part some 
'lobed nucleus'  but also inferred to be nucleate cells  Example reasoner 
output attached.

How to fix?

For the specific case of nuclei, I think the safest approach would be to use 
PATO anucleate as the primary means of specifying the lack of a nucleus.   We 
can then add some GCIs in PATO to make logically correct bridges to partonomy.  
It would be nice to have some system for labelling axioms that are within EL:

'bearer of' some anucleate EquivalentTo (not (has_part some nucleus))  # 
Outside EL
'bearer of' some multinucleate EquivalentTo has_component min 2 nucleus # 
Outside EL 
'bearer of' some nucleate EquivalentTo has_part some nucleus # within EL 
'bearer of' some multinucleate SubClassOf has_part some nucleus # within EL 
'bearer of' some anucleate DisjointWith bearer of some nucleate

this last 3 axioms along with multinucleate SubClassof nucleate should be 
sufficient for most 

How to model having a nucleus that lacks lobes?  Perhaps request a PATO term 
'alobate' ?
has_part some (nucleus bearer of some alobate).  

I haven't found other examples of lacks part causing problems - but it seems 
safe to assume this is an issue waiting to happen.  Not sure what to suggest 
for things like "'lacks part' some 'secretory granule'" short of directly 
asserting negation in CL.

COMMENTS PLEASE

Original issue reported on code.google.com by dosu...@gmail.com on 20 Sep 2013 at 2:57

GoogleCodeExporter commented 9 years ago
+1 for using qualities and GCIs. Where should the GCIs live? May be 
administratively easier if this is in the CL realm of responsibility, e.g. 
/obo/cl/imports/pato_bridge.owl

For secretory granule: use cardinality, but cache any inferences (i.e. assert a 
subclass with an axiom annotation stating this inference comes from DL 
reasoning and can't be recapitulated in EL).

Historic note: the shortcut form of a negation axiom should have used a value 
restriction, yielding valid but incomplete inferences. Seems to have got lost 
somewhere. And protege support for punning seems poor.

The plasma membrane absences can be considered separately I think.

Original comment by cmung...@gmail.com on 20 Sep 2013 at 5:44

GoogleCodeExporter commented 9 years ago
I'd rather these GCIs were officially part of PATO - as they are used to define 
PATO terms and are likely to be of use to other ontologies using PATO.   They 
could live as an optional, imported file.

There are clearly limits to using PATO as a bridge to record negation, imposed 
by what is linguistically sensible and acceptable to biologists: anucleate and 
agranular seem fine and alobate is probably acceptable.  A quality of lacking 
ribosomes is probably a step too far.  Naming and defining qualities for the 
lack of some specific receptor from the membrane would be just plain silly.

Given this, perhaps explicitly adding negation and instantiating inferences 
that result from it is the way to go.  I worry about how to manage this though.

Original comment by dosu...@gmail.com on 23 Sep 2013 at 10:05

GoogleCodeExporter commented 9 years ago

Original comment by dosu...@gmail.com on 31 Oct 2013 at 2:15