GO Annotations in DB don't appear on mine

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

GO Annotations in DB don't appear on mine

Sam Hokin-3
So, I've added a post-processor that stores annotations for parent ontology terms, which was motivated by my Plant Trait Ontology
annotations of QTLs, but I've also applied it to GO terms for genes.

Oddly, on the mine, the added parent GO terms don't show up on the gene report page, and they don't show up in a query for GO
annotations. They DO show up in a query for Ontology Annotations. They are indeed present in the object store with
class=org.intermine.model.bio.GOAnnotation, I've run all the routine post-processors after this one, and I can't for the life of me
figure out what's wrong.

To add oddness to this behavior, the new TO terms I've added to QTLs show up fine, as TOAnnotations. The post-processor does the
same thing when adding GO or TO annotations. There seems to be something different about GO annotations.

Any ideas? This is live on BeanMine if you'd like to see for yourself. This gene report page shows a single GO Annotation, for its
original term GO:0016021:

https://mines.legumeinfo.org/beanmine/report.do?id=6004117

If you run a query for that gene's GO annotations, you will indeed only get that one. However if you change that query to look for
Ontology Annotations instead, you'll get five, because my post-processor added four: GO:0005575, GO:0016020, GO:0031224,
and GO:0044425.

And, those annotations are indeed in the goannotation table in the DB; the higher-numbered ids are the ones added.

beanmine=# select * from goannotation where subjectid =6004117;
     id    | qualifier | annotationextension | ontologytermid | subjectid |                class
----------+-----------+---------------------+----------------+-----------+--------------------------------------
   9004174 |           |                     |        2002996 |   6004117 | org.intermine.model.bio.GOAnnotation
  19030949 |           |                     |        2000288 |   6004117 | org.intermine.model.bio.GOAnnotation
  19030950 |           |                     |        2002992 |   6004117 | org.intermine.model.bio.GOAnnotation
  19030951 |           |                     |        2003011 |   6004117 | org.intermine.model.bio.GOAnnotation
  19030952 |           |                     |        2003033 |   6004117 | org.intermine.model.bio.GOAnnotation

Any ideas???
_______________________________________________
dev mailing list
[hidden email]
https://lists.intermine.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: GO Annotations in DB don't appear on mine

Julie Sullivan-2
Hi Sam,

This query returns the correct five rows:

<query name="" model="genomic"
view="GOAnnotation.subject.primaryIdentifier
GOAnnotation.ontologyTerm.identifier GOAnnotation.ontologyTerm.name
GOAnnotation.ontologyTerm.description" longDescription=""
sortOrder="GOAnnotation.subject.primaryIdentifier asc">
   <constraint path="GOAnnotation.subject" op="LOOKUP" value="
Phvul.001G011500" extraValue=""/>
</query>

Therefore GOAnnotations have the correct gene references. But your gene
does not have the correct GO annotations.

Maybe the reverse references weren't correctly set up?

I don't know why TO would work though. Perhaps because you set those
reverse references yourself, and the GO model was set elsewhere by the
go source?

Just guessing! Does that help at all?

Julie

On 11/01/2017 06:56 PM, Sam Hokin wrote:

> So, I've added a post-processor that stores annotations for parent
> ontology terms, which was motivated by my Plant Trait Ontology
> annotations of QTLs, but I've also applied it to GO terms for genes.
>
> Oddly, on the mine, the added parent GO terms don't show up on the gene
> report page, and they don't show up in a query for GO annotations. They
> DO show up in a query for Ontology Annotations. They are indeed present
> in the object store with class=org.intermine.model.bio.GOAnnotation,
> I've run all the routine post-processors after this one, and I can't for
> the life of me figure out what's wrong.
>
> To add oddness to this behavior, the new TO terms I've added to QTLs
> show up fine, as TOAnnotations. The post-processor does the same thing
> when adding GO or TO annotations. There seems to be something different
> about GO annotations.
>
> Any ideas? This is live on BeanMine if you'd like to see for yourself.
> This gene report page shows a single GO Annotation, for its original
> term GO:0016021:
>
> https://mines.legumeinfo.org/beanmine/report.do?id=6004117
>
> If you run a query for that gene's GO annotations, you will indeed only
> get that one. However if you change that query to look for Ontology
> Annotations instead, you'll get five, because my post-processor added
> four: GO:0005575, GO:0016020, GO:0031224,
> and GO:0044425.
>
> And, those annotations are indeed in the goannotation table in the DB;
> the higher-numbered ids are the ones added.
>
> beanmine=# select * from goannotation where subjectid =6004117;
>      id    | qualifier | annotationextension | ontologytermid |
> subjectid |                class
> ----------+-----------+---------------------+----------------+-----------+--------------------------------------
>
>    9004174 |           |                     |        2002996 |  
> 6004117 | org.intermine.model.bio.GOAnnotation
>   19030949 |           |                     |        2000288 |  
> 6004117 | org.intermine.model.bio.GOAnnotation
>   19030950 |           |                     |        2002992 |  
> 6004117 | org.intermine.model.bio.GOAnnotation
>   19030951 |           |                     |        2003011 |  
> 6004117 | org.intermine.model.bio.GOAnnotation
>   19030952 |           |                     |        2003033 |  
> 6004117 | org.intermine.model.bio.GOAnnotation
>
> Any ideas???
> _______________________________________________
> dev mailing list
> [hidden email]
> https://lists.intermine.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
[hidden email]
https://lists.intermine.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: GO Annotations in DB don't appear on mine

Sam Hokin-3
You got it, Julie, I'd added the field Gene.goAnnotation in my chado loader and didn't put in a reverse reference. The chado loader
explicitly loads both sides but my postprocessor doesn't. My QTL class simply extends BioEntity so it uses the perfectly functional
.ontologyAnnotations field to store TOAnnotation, which has the reverse reference.

The bigger question is: why did I put a separate .goAnnotation field into Gene for the chado loader when .ontologyAnnotations
inherited from BioEntity should do the job just fine? I see that FlyMine has Gene.goAnnotation as well, which seems redundant. (You
can always store GOAnnotation in .ontologyAnnotations, it's a subclass). Does the enrichment widget depend on that separate class?
Seems buggy to me. Plus the lack of plural in the field name, since it's a collection.

Anyway, thanks, I'll get it straightened out now.

> Hi Sam,
>
> This query returns the correct five rows:
>
> <query name="" model="genomic" view="GOAnnotation.subject.primaryIdentifier GOAnnotation.ontologyTerm.identifier
> GOAnnotation.ontologyTerm.name GOAnnotation.ontologyTerm.description" longDescription=""
> sortOrder="GOAnnotation.subject.primaryIdentifier asc"> <constraint path="GOAnnotation.subject" op="LOOKUP" value="
> Phvul.001G011500" extraValue=""/> </query>
>
> Therefore GOAnnotations have the correct gene references. But your gene does not have the correct GO annotations.
>
> Maybe the reverse references weren't correctly set up?
_______________________________________________
dev mailing list
[hidden email]
https://lists.intermine.org/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: GO Annotations in DB don't appear on mine

Julie Sullivan-2
Glad you found the problem!

1. Yes, since we are changing the model anyway, makes sense for both GO
annotation and ontology annotation to match - either both be plural or
singular.

2. The reason for the difference is that GO annotation was added to the
model first. (This was before my time). InterMine only processed GO, and
I am not sure how many other ontologies there were back then.

InterMine devs later extracted the generic ontology model and added that
to the core data model to accommodate other ontologies.

However, GO is our most popular data set so I don't think it's wrong or
bad to have a dedicated data set -- for ease of querying.

But we can discuss on the next call if you feel strongly about it!

3. You can enrich on anything so not dependent on GO:

http://intermine.readthedocs.io/en/latest/embedding/list-widgets/




On 11/02/2017 07:02 PM, Sam Hokin wrote:

> You got it, Julie, I'd added the field Gene.goAnnotation in my chado
> loader and didn't put in a reverse reference. The chado loader
> explicitly loads both sides but my postprocessor doesn't. My QTL class
> simply extends BioEntity so it uses the perfectly functional
> .ontologyAnnotations field to store TOAnnotation, which has the reverse
> reference.
>
> The bigger question is: why did I put a separate .goAnnotation field
> into Gene for the chado loader when .ontologyAnnotations inherited from
> BioEntity should do the job just fine? I see that FlyMine has
> Gene.goAnnotation as well, which seems redundant. (You can always store
> GOAnnotation in .ontologyAnnotations, it's a subclass). Does the
> enrichment widget depend on that separate class? Seems buggy to me. Plus
> the lack of plural in the field name, since it's a collection.
>
> Anyway, thanks, I'll get it straightened out now.
>
>> Hi Sam,
>>
>> This query returns the correct five rows:
>>
>> <query name="" model="genomic"
>> view="GOAnnotation.subject.primaryIdentifier
>> GOAnnotation.ontologyTerm.identifier
>> GOAnnotation.ontologyTerm.name GOAnnotation.ontologyTerm.description"
>> longDescription=""
>> sortOrder="GOAnnotation.subject.primaryIdentifier asc"> <constraint
>> path="GOAnnotation.subject" op="LOOKUP" value="
>> Phvul.001G011500" extraValue=""/> </query>
>>
>> Therefore GOAnnotations have the correct gene references. But your
>> gene does not have the correct GO annotations.
>>
>> Maybe the reverse references weren't correctly set up?
_______________________________________________
dev mailing list
[hidden email]
https://lists.intermine.org/mailman/listinfo/dev