iHOP Web Services
Quick links for programmers
iHOP server and end user interface are supported and provided by cBio@MSKCC (Computational Biological Center at Memorial Sloan-Kettering Cancer Center). Without their continuous support, iHOP could not be working just now!
Also, iHOP web services server and developers site are supported and provided by CNIO groups SCompBio (Structural and Computational Biology) and UBio (Bioinformatics Unit). iHOP BioMOBY web services are supported by INB (node GN2).
iHOP web services are provided in flavours: CGI-XML (like DAS servers or many REST services), SOAP web services and BioMOBY web services. Last changes are focused on semantic annotation of iHOP XML Schema and SOAP web services description.
The iHOP web services XML Schema, which is used along almost all web services, can be downloaded from
here, and a description of the schema is located here
- CGI-XML (also known as REST)
The basical iHOP functionality is available through several CGI services which answer in XML. Sample forms are available:
- getRelatedSymbols, which returns a list of the available iHOP symbols which can be the one you have typed in as free text
- getSymbolsFromReference, which returns a list of the available iHOP symbols which can be the related one to the biological reference used as input
- getSymbolsFromSynonym, which returns a list of the available iHOP symbols which can be the one you have typed a gene name synonym
- guessSymbolIdFromSymbolText, which guesses an iHOP symbol Id for the input symbol text and organism (represented as a NCBI Tax ID)
- guessSymbolIdFromSynonym, which guesses an iHOP symbol Id for the input gene name and organism (represented as a NCBI Tax ID)
- guessSymbolIdFromReference, which guesses an iHOP symbol Id for the input biological database reference
- getSymbolInfo, which returns some information about a gene symbol
- getSymbolDefinitions, which returns the sentences that iHOP used to define the input symbol
- getSymbolInteractions, which returns the sentences which are describing an interaction with other gene symbols
- getLatestSymbolInformation, which returns the latest sentences and relationship information (from the iHOP's point of view) about the query gene symbol
- getPubMed, which returns a iHOP digested abstract from the input PMID
- availableOrganisms, which returns the list of available organisms in iHOP
- availableSymbolsFromTaxId, which returns the list of iHOP recognized (pseudo)-gene or protein identifiers for a given organism
- getAllDefinitions, which returns the available definition sentence sets associated to the query (a gene name, a synonym or a reference) in all organisms
- getAllInteractions, which returns the available interaction sentence sets associated to the query (a gene name, a synonym or a reference) in all organisms
- getAllLatestSentences, which returns the available lastest sentence sets associated to the query (a gene name, a synonym or a reference) in all organisms
- getAllGeneralInfo, which returns the available general info sets associated to the query (a gene name, a synonym or a reference) in all organisms
- getOrthologuesDefinitions, which returns the available definition sentence sets associated to the query (an iHOP Id, a gene name, a synonym or a reference) and the known orthologues
- getOrthologuesInteractions, which returns the available interaction sentence sets associated to the query (an iHOP Id,a gene name, a synonym or a reference) and the known orthologues
- getOrthologuesLatestSentences, which returns the available lastest sentence sets associated to the query (an iHOP Id,a gene name, a synonym or a reference) and the known orthologues
- getOrthologuesGeneralInfo, which returns the available general info sets associated to the query (an iHOP Id,a gene name, a synonym or a reference) and the known orthologues
These CGI services usually take as input parameter either the gene symbol (and optionally in most cases, an NCBI Taxonomic ID), a biological database reference (and optionally in most cases, a namespace listed in next page) or the corresponding iHOP ID. There are mainly three exceptions: getRelatedSymbols and guessSymbolIdFromSymbolText, which only take as input parameter a gene symbol (and optionally, an NCBI Taxonomic ID); getSymbolsFromReference and guessSymbolIdFromReference, which only take as input parameter a
biological database reference (and optionally a namespace); and getPubMed, which takes either a PMID or an iHOP PMID. The generated output is in XML. When the requested information is not available, the CGI services use the standard HTTP code 404.
We have also created a Perl library which simplifies the usage of iHOP CGI-XML services from a program. You can download iHOPUserLibrary.pm from
here. The library has been documented using Perl POD, so the documentation is embedded inside it.
An online version of the documentation of
iHOPUserLibrary.pm is available here.
- SOAP Web Services
The same functionality above described is available as a set of SOAP web service. This SOAP web service has more ports than the previously described CGI services, because there is no real standard to describe optional parameters. Their outputs are based on the XML Schema above introduced.
The WSDLs which describe this SOAP service with their corresponding ports are iHOP-SOAP.wsdl (RPC/encoded), iHOP-SOAP-taverna13.wsdl (RPC/encoded for Taverna 1.3), iHOP-SOAP-rpc-literal.wsdl (RPC/literal, WS-I 1.0 Basic Profile compliant) and iHOP-SOAP-document-literal.wsdl (document/literal, WS-I 1.0 Basic Profile compliant). As iHOP webservices XML Schema, these WSDL documents are documented here: iHOP-SOAP.wsdl documentation, iHOP-SOAP-taverna13.wsdl documentation, iHOP-SOAP-rpc-literal.wsdl documentation and iHOP-SOAP-document-literal.wsdl documentation
A Perl program example about invoking and parsing iHOP SOAP web services is here. It uses SOAP::Lite library (at least version 0.60) to call the service, and XML::LibXML to parse all the content (SOAP::SOM is not a very functional parser for complex XML results).
One of the advantages of SOAP services is that they can be integrated in workflows designed by tools like Taverna (http://www.taverna.org.uk/ and for old code http://sourceforge.net/projects/taverna). Since creation of iHOP Web Services we have been testing different Taverna versions, and we recommend latest Taverna 2.2.x (also work with old Taverna 1.7.x). A sample Taverna 1 SOAP workflow can be fetched here, and a very similar workflow for Taverna 2.2.x is available here.
- BioMOBY Web Services
The same functionality above described is available as a set of BioMOBY web service. Unlike SOAP web service, there are less ports than the previously described CGI services, because BioMOBY architecture is more versatile. All the MOBY services behavior is driven by the namespace of the input object. For instance, BioMOBY getRelatedSymbols behaves like SOAP and CGI-XML getRelatedSymbols when the namespace of the input object is Global or Global_Keyword; it behaves like CGI-XML getRelatedSymbols and SOAP getRelatedSymbolsWithTaxId when the namespace is Global or Global_Keyword and a secondary parameter ncbiTaxId is sent; and it behaves like CGI-XML and SOAP getSymbolsFromReference when it is a database namespace (e.g. UniProt, PDB).
iHOP BioMOBY services were designed to be integrated into BioMOBY world, so they generate native MOBY objects with all the information. So, a new service called fromiHOPtoMOBY has been added, so people can translate their previously fetched iHOP XML documents to BioMOBY world. And if you have old workflows which already parses iHOP XML, the transition is easier than you think because there are BioMOBY iHOP XML alternatives for the services (their outputs are based on the XML Schema above introduced).
BioMOBY paradigm uses a central repository where services are registered. These services have been registered both in MOBY Central Canada (http://moby.ucalgary.ca/moby/MOBY-Central.pl) and at INB's Dev MOBY Central (http://moby-dev.inab.org/cgi-bin/MOBY-Central.pl). An updated list of iHOP MOBY services at MOBY Central Canada is available using Ken Stuebe MOBY Service Encyclopedia. The list describes each service's inputs and outputs and the allowed namespaces. Also, the list can be seen using Taverna, looking at 'MOBY Services' for 'cnio.es' authority.
As SOAP services, BioMOBY services can be used into workflows. Sample Taverna 1 and 2.2.x MOBY workflows can be obtained obtained from here for INB's Dev MOBY Central (Taverna 1) and from here using Canada MOBY Central (Taverna 1 workflow, Taverna 2.2.x workflow).
- EMBRACE Semantic annotation
One of the outcomes of EMBRACE Ontology subgroup has been the annotation of iHOP XML Schema with BioXSD 1.0 wherever it was reasonable. The annotated XML Schema is available here. The other outcome has been the semantic annotation of iHOP WSDL document/literal SOAP web services (annotated WSDL is available here), using EDAM ontology, which is also used by BioXSD and EMBRACERegistry.
The information provided by these web services is obtained from the iHOP server,
developed and created by Robert Hoffmann. iHOP - Information Hyperlinked over Proteins
is licensed under a Creative Commons Attribution 2.5 License
iHOP web services were developed and created by José María Fernández González, CNIO.
The iHOP server is accessible at http://www.ihop-net.org/.
Please cite the use of these webservices and the data obtained from them in your works as
- "A Gene Network for Navigating the Literature". Hoffmann, R., Valencia, A. Nature Genetics, 36, 664 (2004)
- "iHOP web services". Fernández, JM., Hoffmann, R., Valencia, A. Nucleic Acid Res., Web Server Issue (2007)
- "iHOP - http://www.ihop-net.org/"
- "iHOP web services - http://www.ihop-net.org/UniPub/iHOP/webservices/"
Electronic services, which are based on iHOP provided data, must provide credit and links to the
iHOP server (http://www.ihop-net.org/) visible
to all users whenever iHOP data is displayed in its original or a derivate form.
Electronic services, which are based on these web services, must also provide
credit and links to the iHOP web services (http://www.ihop-net.org/UniPub/iHOP/webservices)
visible to all users whenever iHOP data from these services is displayed
in its original or a derivate form.
The data provided by the web services described here is itself a derivate of original iHOP data.
Usage reports are periodically generated. They are available at http://ws.bioinfo.cnio.es/iHOP/digested-stats/
The web service XML schema and generators were created by
José María Fernández González and were partially funded by
the ORIEL project (IST-2001-32688) and ENFIN Network of Excellence (LSHG-CT-2005-518254).
BioMOBY web services were created with the support of INB (Spanish National Bioinformatics Institute). XML Schema and WSDL semantic annotations where supported by EMBRACE Network of Excellence (LHSG-CT-2004-512092)
José María Fernández González