omnipathdb.org/interactions endpoint response

5 views
Skip to first unread message

Luca Fumis

unread,
Jun 19, 2018, 2:27:55 PM6/19/18
to omni...@googlegroups.com
Hello there,

I’m one of the developers on the Open Targets platform.

We call your http://omnipathdb.org/interactions endpoint from the platform and just noticed there seems to be some unexpected behaviour in the response.

Has the API changed recently by any chance?



When calling the endpoint with a Uniprot id, we always get 26726 results back (tested with a few ids).
The widget then makes a second call (tries to) with all those 26k ids, and obviously fail.

https://www.targetvalidation.org/target/ENSG00000171862 (then expand the Protein interactions panel)

calls:


Many thanks,


Luca Fumis
Web Developer
European Bioinformatics Institute (EMBL-EBI) 
European Molecular Biology Laboratory 
Wellcome Trust Genome Campus 
Hinxton 
Cambridge CB10 1SD 
United Kingdom

Dénes Türei

unread,
Jun 19, 2018, 6:25:44 PM6/19/18
to Luca Fumis, omni...@googlegroups.com
Hi Luca,

Thank you for your mail.
Yes from 14 June we run a slightly modified webservice.
Apologies I was not aware OpenTargets is linked directly to the webservice.
From now on I will notify you in advance about any change – but we
don't plan to change often. :)

The main difference is that the UniProt IDs should go to a GET
parameter instead of a section of the path:

old:

http://omnipathdb.org/interactions/Q13507,Q86YM7,Q13255,P48995/

new:

http://omnipathdb.org/interactions?partners=Q13507,Q86YM7,Q13255,P48995

I realized these changes are not really necessary. Now I updated the
server to make it understand the old format queries. This means no
change needed on your side.

Otherwise the new webservice is different in 3 main points:

* Updated content: all data have been downloaded in the past weeks

* Extended content: we serve more datasets, at this moment 4:
-- "omnipath": literature curated protein-protein interactions as it
has been described in the OmniPath paper (10.1038/nmeth.4077)
-- "kinaseextra": additional enzyme-substrate interactions without
literature reference
-- "tfregulons": the TF Regulons dataset as described in Garcia-Alonso
2018 (https://www.biorxiv.org/content/early/2018/06/03/337915), except
"E" confidence level
-- "mirnatarget": literature curated miRNA-mRNA interactions from
various databases

* New features: many more parameters can be used in the queries, see
the examples here: https://github.com/saezlab/pypath and here:
https://github.com/deeenes/DoRothEA/blob/cdfc4c2af4e1cfe329b36f80e7b04f42e1653b64/README.md
in the readme files

Do you query thousands of IDs? Maybe that won't work with GET, I
modified the server so it accepts POST requests, both "content-type:
application/x-form-urlencoded" and "content-type: application/json".

In the URL if one series of IDs is given those will be considered
"partners" (either source or target) if 2 series then first will be
the sources and second the targets:

http://omnipathdb.org/interactions/FOXA1,FOXA2,FOXA3,FOXB1,FOXB2,FOXC1,FOXH1/?datasets=tfregulons&genesymbols=1&fields=sources,tfregulons_level&format=json
http://omnipathdb.org/interactions/FOXA1,FOXA2,FOXA3,FOXB1,FOXB2,FOXC1,FOXH1/SSBP2,ARAP2/?datasets=tfregulons&genesymbols=1&fields=sources,tfregulons_level&format=json

The queries above return interactions where either the source or
target matches but with adding 'AND' to the query it will return only
where both partners are matching:

http://omnipathdb.org/interactions/FOXA1,FOXA2,FOXA3,FOXB1,FOXB2,FOXC1,FOXH1/SSBP2,ARAP2/AND/?datasets=tfregulons&genesymbols=1&fields=sources,tfregulons_level&format=json
http://omnipathdb.org/interactions/FOXA1,FOXA2,FOXA3,FOXB1,FOXB2,FOXC1,FOXH1/AND/?datasets=tfregulons&genesymbols=1&fields=sources,tfregulons_level&format=json


Don't hesitate to ask if you have any question.

Best wishes,

Denes
> --
> You received this message because you are subscribed to the Google Groups
> "Omnipath" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to omnipath+u...@googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/omnipath/48129844-4F4B-4FC2-9D5F-15A0C63C8633%40ebi.ac.uk.
> For more options, visit https://groups.google.com/d/optout.



--
Denes Turei, Ph.D.

postdoc @ Uniklinik RWTH Aachen & EMBL Heidelberg
+4915166299976 Germany
+447442970610 UK
de...@ebi.ac.uk
http://www.ebi.ac.uk/~denes
public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x5706A4B609DD65A6

for accessing papers use Sci-Hub: http://sci-hub.tw/

Luca Fumis

unread,
Jun 21, 2018, 6:16:16 AM6/21/18
to Dénes Türei, omni...@googlegroups.com
Hi Dénes,

thank you for your prompt response - much appreciated!


I had just one more super-quick question:
calling the interactions endpoint with a number of IDs, the response JSON shows the sources field as a String (semi-colon separated; e.g. "MIMP;PhosphoNetworks;PhosphoSite_dir;PhosphoSite_noref;Signor” ). 

Was this previously an array?
Is the current semi-colon separated string the final format?

It’s a very-quick fix on our end, so no problems at all (I hadn’t developed our original widget so was just working things backwards) - just wanted to double-check with you.



Many thanks again,

Luca

Dénes Türei

unread,
Jun 29, 2018, 10:45:27 AM6/29/18
to Luca Fumis, omni...@googlegroups.com
Hi Luca,

Indeed the "sources" field became a ";" separated string instead of
list in json.
Now I changed it to be like before, a list.
Sorry if you have already adjusted on your side, but I think list like
values should be real lists in json.

Best wishes,

Denes
Reply all
Reply to author
Forward
0 new messages