The Quickgo/Gannotation Api
2
7
Entering edit mode
10.5 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.

gene api protein • 3.3k views
4
Entering edit mode
10.5 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

Pablo

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 :-)

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.

3
Entering edit mode
10.5 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!!!

0
Entering edit mode

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

0
Entering edit mode

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