The Quickgo/Gannotation Api
2
7
Entering edit mode
10.2 years ago

Hi all,

I'm trying to retrieve all the annotations for a given GO term using the QuickGO WebService. But the service is poorly documented (what is 'with' ? what is 'ref' ? what is 'ancestor' ? etc...).

For example, to find all the human genes with GO:0003015 (~800 gene product associations), I tried :

curl -s "http://www.ebi.ac.uk/QuickGO/GAnnotation?term=GO:0003015&format=tsv&tax=9606"
#weird/wrong results....

or

curl -s "http://www.ebi.ac.uk/QuickGO/GAnnotation?q=GO:0003015&format=tsv&tax=9606"
#no result

what would be the correct URL ?

Thanks,

Pierre

UPDATE: I've just received an anwser from the EBI:

Dear Pierre,

Thank you for writing to GOA. I'm sorry you are having problems with our webservices. We have investigated your problem and, indeed, there is a bug with this query. The query you are using returns all annotations from taxon 9606 not taking account of the GO:0003015 parameter.

While we put together a fix for this bug you can use the following URL to retrieve all annotations to human proteins using GO:0003015 or one of its descendents;

http://www.ebi.ac.uk/QuickGO/GAnnotation?tax=9606&relType=IP=&goid=GO:0003015&format=tsv

If you require a list of the proteins used in these annotations, you can use the following URL;

http://www.ebi.ac.uk/QuickGO/GAnnotation?tax=9606&relType=IP=&goid=GO:0003015&format=proteinList

We have taken note of your comment on the limited documentation on the webservices page and we will make it a priority to improve this. Some of the fields used in the wadl format are described in the Advanced Query section of QuickGO which is linked from the webservices page (http://www.ebi.ac.uk/QuickGO/WebServices.html), albeit not very obviously (we will improve this!). If you look at bullet point 4 in the 'Annotation' notes section and hover over the 'advanced search' phrase, this is actually a link to the relevant part of the QuickGO Reference Manual.

I hope this answers your query, please let us know if we can help you with anything else.

gene api protein • 3.1k views
ADD COMMENT
4
Entering edit mode
10.2 years ago
Pablo Pareja ★ 1.6k

Hi Pierre,

I also came across this kind of problems when dealing with GO and QuickGO WS documentation.

After some time tired of trying things that were not well documented at all, in the end I decided to directly query the Mysql DB. (well have to say that right now I have my own GeneOntology DB using Neo4j populated from GO term records and Uniprot Go references and I'm quite happy :)

Anyways here you have the SQL query I use when I needed all uniprot annotations for a GO term:

SELECT xref_key FROM dbxref, (SELECT dbxref_id FROM gene_product,
        (SELECT gene_product_id FROM association,(SELECT id from term WHERE term.acc = 'GO:0003015') AS termid
            WHERE term_id =  termid.id) AS assoc_ids
    WHERE gene_product.id = assoc_ids.gene_product_id) AS dbxrefs_ids
WHERE dbxref.id IN (dbxrefs_ids.dbxref_id) AND xref_dbname LIKE '%Uniprot%'

The DB relational diagram is kind of a mess but after doing some research I figured out the way to the data I needed.

You can use any Mysql DB client like Mysql Workbench and you can find connection parameters here

Hope this can help you,

Pablo

ADD COMMENT
0
Entering edit mode

Thanks Pablo, but for my problem (I'm coding a heavy java client behind a firewall), I really would like to use a web service :-)

ADD REPLY
0
Entering edit mode

If you have any questions about how to get certain bits of data out of the GO database (and I agree that the diagram isn't much help!), you can always email the GO helpdesk at gohelp@geneontology.org or visit http://www.geneontology.org/help - helpdesk questions are always answered quickly and knowledgeably.

ADD REPLY
3
Entering edit mode
10.2 years ago

Hi Pierre,

I've noted the poorly documented API. They're hiding the treasure!!! So, I've tried a little bit of reverse engineering and found a lot more option to use in search. Check this out:

curl -s "http://www.ebi.ac.uk/QuickGO/GAnnotation?a=&goid=GO:0003015&termUse=ancestor&relType=IP=&customRelType=IPR+-?=&protein=&tax=&qualifier=&ref=&evidence=&with=&source=&q=&col=proteinDB,proteinID,proteinSymbol,qualifier,goID,goName,aspect,evidence,ref,with,proteinTaxon,date,from,splice&select=normal&format=tsv"

It partially worked, returning only GO names related to your term. I'm just not sure why it worked. To obtain this query, I've just used the site version of the API, copied the generated URLs and played a little bit with them. I think you should e-mail someone asking for the REAL documentation!!!

ADD COMMENT
0
Entering edit mode

I've accepted "you should e-mail someone asking for the REAL documentation" as the correct answer ;-)

ADD REPLY
0
Entering edit mode

Aha! Now that's much better! But, I can't understand the queries yet :P

ADD REPLY

Login before adding your answer.

Traffic: 2221 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6