From: Chris M. <cjm...@lb...> - 2012-05-22 03:03:44
|
On May 21, 2012, at 1:43 PM, Alan Ruttenberg wrote: > On Mon, May 21, 2012 at 2:42 PM, Walls, Ramona <rw...@ny...> wrote: >>> I was under the impression that there was a way to do this in OBO >>> format - with an anonymous term/class? Chris? >> >> At this point, if I can't say it in obo, it isn't going to fly. If we >> could say this in obo, it would make my life a lot easier. I have at least >> a dozen terms I can think of off the top of my head that could use such a >> solution. > > Isn't this what you want? > > [Term] > id: ID:0000001 > name: multicarpelate ovary > is_a: <parent term> > > [Term] > id: ID:0000002 > name: single carpel ovary > is_a: <parent term> > > [Term] > id: ID:0000003 > name: multicarpelate or single carpel ovary > union_of: ID:0000001 > union_of: ID:0000002 > > Then use the "or" term ID:0000003 for your part_of assertion > >> However, even if we could use this kind of format in OBO, how >> would AmiGO know which part_of parent to pass the annotation to? That is >> the real issue. > > That's the job of AmiGO. If it doesn't do something sensible, file a > bug report. > Your job is to say things that are true. > Amigo's job is to represent that faithfully on the screen. > >>> I don't know why this would be an extra annotation - don't you need to >>> do something this specific whenever you have the specific information? > >> If the part of relation exists, the annotation automatically gets passed >> up to the structure that something is a part of. If not, you have to add >> an extra annotation line (or use column 16). Much easier for users if it >> gets passed up automatically. > > > As far as the annotation thing goes, with the above, the reasoner > should infer that ID:0000002 is_a ID:0000003 and ID:0000001 is_a > ID:0000003. An annotation on ID:0000002 or ID:0000001 would propagate > up to ID:0000003, if I understand your comment. If you query for > ID:0000003 you should retrieve also annotations to ID:0000001 and > ID:0000002. > > I'm sorry if I'm not understanding something about this part of your > problem. I find the annotation system more complicated to understand > than OWL so I pretend that it works the same way that it would work in > OWL. In OWL (with textual comments): ## --------------------------- ## Ontology Axioms ## --------------------------- # ovules are part of ovaries ovule SubClassOf part_of some ovary # ovaries can be multi-carpel or single-carpel ovary = 'multicarpel ovary' or 'single carpel ovary' # gene expressed in an ovule gene123 SubClassOf expressed_in some ovule # if g is expressed in x, and x is part of y, then g is expressed in y expressed_in o part_of -> expressed_in ## Queries: [1] ?X SubClassOf expresssed_in 'ovary' ==> gene123 (as expected -- good) [2] ?X SubClassOf expresssed_in 'multicarpel ovary' ==> no results If I understand correctly, there are certain contexts in which we might want [2] to return gene123 - e.g. if we know gene123 is in a species that only has multicarpel ovaries. I think Ramona would like this to be done seamlessly - i.e. such that there is no additional manual assertion "gene123 expressed_in some MC ovary", and there is no need to pre-coordinate the entire cross-product of {MC,SC} for all ovary-related structures. In fact this is possible -- if we know the taxa that have MC vs SC ovaries. This is analogous to the adenohypophysis example in the uberon paper: http://genomebiology.com/2012/13/1/R5 Roughly something like this: (ovary and part_of some NCBITaxon_nnnn) SubClassOf 'MC ovary' This can be made to work even if the source ontology is in obo-format, and with some pre-processing in AmiGO1. However, before going down this route, it's worth returning to the original question: what's the biological or data integration use case here? What do we lose by keeping it simple and having a single class 'ovary', which is a subclass of something high level like anatomical structure or reproductive structure? My advice would be to focus on assertions specifying things such as the GO biological processes the structure is capable of executing, the tissue or cell type composition, location, etc, and just leaving the classification to the reasoner. > -Alan |