>>>>> "Matthew" == Matthew Pocock <[EMAIL PROTECTED]> writes:
Matthew> Go terms have an ID and (possibly) a description. By the Matthew> isa relationship, they have a (single?) parent and Matthew> (possibly no) children. I'm assuming Go has a part-of Matthew> relationship (or it's inverse, has-a). What else does a GO Matthew> term have? GO allows multiple parents along both is-a, and part-of. In the case of GO, there are only two relationship types, but some of the GOBO ontologies define others. It wouldn't really make sense to have an API supporting GO, but not other DAG ontologies. It's also worth mentioning that the GO database has transitive closure information pre-calculated, so you need methods for accessing paths, if you want to advantage of this. I know from experience that graphing around GO using the "get_parent" methods is very slow, over the SQL database. (I won't bore you with the details, but I couldn't use the path methods). If memory serves the GO perl API has first class Path objects to allow this sort of access. Matthew> Then, there are go ontologies, or roots. These have a root Matthew> GO term. Matthew> We would need some way to map between a set of database IDs Matthew> and GO terms - GO -> all IDs with that term, or perhaps Matthew> (GO,seqDB) -> all features with that term. Probably methods for saying "all ID's with that term, and any of its children", which is generally what people are interested in. Cheers Phil _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l