Help:WikiPathways Webservice

From WikiPathways

(Difference between revisions)
Jump to: navigation, search
(Showcase)
Current revision (19:15, 30 August 2021) (view source)
m (Protected "Help:WikiPathways Webservice" [edit=sysop:move=sysop])
 
(84 intermediate revisions not shown.)
Line 1: Line 1:
-
{|style="clear:left, right" align="right"
+
__NOEDITSECTION__
-
|__TOC__
+
= Web Services for WikiPathways =
-
|}
+
{|
-
= The WikiPathways web service =
+
|
-
WikiPathways can be accessed through a [[wikipedia:SOAP|SOAP]] webservice. This page contains documentation for the webservice API.
+
WikiPathways can be accessed programmatically through a REST web service. These services provide powerful means to query, access and interact with the pathway content at WikiPathways.  
 +
|rowspan="2" valign="top"|__TOC__
 +
|-
 +
|
-
== Getting Started ==
+
== API Reference ==
-
The web service is described in a WSDL file that can be downloaded from:
+
See the [https://webservice.wikipathways.org Swagger] page for a list of available web service functions and data structures.
-
[http://www.wikipathways.org/wpi/webservice/webservice.php?wsdl http://www.wikipathways.org/wpi/webservice/webservice.php?wsdl]
+
-
=== Java libraries for WikiPathways ===
+
=== Java libraries ===
-
'''Coming soon'''
+
-
* [http://svn.bigcat.unimaas.nl/pathvisio/trunk/ PathVisio libraries]
+
You can get a high-level API to the WikiPathways web service here: [http://developers.pathvisio.org/browser/trunk/modules/org.wikipathways.client source] [http://developers.pathvisio.org/data/releases compiled binaries] (choose the most recent wikipathways_client_bin-*).
-
* [http://svn.bigcat.unimaas.nl/pathvisio/trunk/tools/wikipathways-client wikipathways-client]
+
=== Working with GPML ===
=== Working with GPML ===
-
The pathways on WikiPathways are stored in the GPML format. This is an XML format and can be processed in any programming language. See [http://www.pathvisio.org/EverythingGPML here] for the GPML specification.
+
The pathways on WikiPathways are stored in the GPML format. This is an XML format and can be processed in any programming language. See [http://developers.pathvisio.org/wiki/EverythingGpml here] for the GPML specification. If you are developing in Java, we recommend using our [[#Java libraries|Java libraries]].
-
=== SOAP libraries ===
+
=== Libraries ===
-
For most programming languages, libraries exist to make working with SOAP web service easier. Below is a short list of SOAP libraries for popular programming languages that might help you work with the WikiPathways web service.
+
Below is a short list of libraries for popular programming languages that might help you work with the WikiPathways web service.
-
* Java:
+
* R: The rWikiPathways package with vignettes at [https://bioconductor.org/packages/release/bioc/html/rWikiPathways.html bioconductor].
-
** [http://ws.apache.org/axis/java/index.html Apache Axis]
+
* Java: Java API client with code examples at [https://github.com/wikipathways/wikipathways-api-client-java github].
-
** See the [[#java|Java section]] for information on writing Java tools for the web service
+
* Perl: Perl API client with code examples at [https://github.com/wikipathways/wikipathways-api-client-perl github].
-
* Perl:
+
* Php: Example scripts at [https://github.com/wikipathways/scripts/ github].
-
** [http://www.soaplite.com/ SOAP::Lite]
+
* Python: Python API client with code examples at [https://github.com/wikipathways/wikipathways-api-client-py github].
-
* Php:
+
-
** [http://nl.php.net/soap SOAP] (official php soap library)
+
-
** [http://phpsoaptoolkit.sourceforge.net/phpsoap/ PHP-SOAP]
+
-
* Python:
+
-
** [http://pywebsvcs.sourceforge.net/ SOAPpy]
+
-
** [http://trac.optio.webfactional.com/ soaplib]
+
-
* R
+
-
** [http://www.omegahat.org/SSOAP/ SSOAP]
+
-
== Examples ==
+
== Other Examples ==
-
=== Scripts ===
+
-
'''Coming soon:''' small example scripts in various languages.
+
-
==== R ====
+
=== Groovy ===
-
Using the [http://www.omegahat.org/SSOAP/ SSOAP] package in R, you can retrieve pathway information from the WikiPathways web service and use it in your R scripts (e.g. for gene set enrichment or pathway statistics). Below are a few code snippets that show you how to use SSOAP with the WikiPathways web service.
+
-
<pre><nowiki>
+
[http://www.helixsoft.nl/blog/?p=153 This blog post] contains an example of how to use the WikiPathways webservice in Groovy.
-
## Install SSOAP from Bioconductor ##
+
-
source("http://bioconductor.org/biocLite.R")
+
-
biocLite("SSOAP")
+
-
 
+
-
## Load the SSOAP library ##
+
-
library(SSOAP)
+
-
 
+
-
## Create a SOAPServer instance for the web service ##
+
-
srv = SOAPServer("http://www.wikipathways.org/wpi/webservice/webservice.php");
+
-
 
+
-
## List all organisms on WikiPathways ##
+
-
reply = .SOAP(srv, "listOrganisms", action=I("listOrganisms"), handlers=NULL)
+
-
doc = xmlParse(reply$content, asText=TRUE)
+
-
organismNodes = xmlElementsByTagName(xmlRoot(doc), "organisms", TRUE)
+
-
 
+
-
for(node in organismNodes) {
+
-
print(xmlValue(node)) #Print the organism name to the screen
+
-
}
+
-
 
+
-
## Find all pathways for the 'apoptosis' keyword ##
+
-
reply = .SOAP(srv, "findPathwaysByText", query="apoptosis", species="", action=I("findPathwaysByText"), handlers=NULL)
+
-
doc = xmlParse(reply$content, asText=TRUE)
+
-
 
+
-
# Find the result nodes with an xpath query
+
-
resultNodes = getNodeSet(doc, "//*[local-name()='result']")
+
-
# Print the pathway name, species and url for each result
+
-
for(node in resultNodes) {
+
-
children = xmlChildren(node, addNames= TRUE)
+
-
url = xmlValue(children$url)
+
-
name = xmlValue(children$name);
+
-
species = xmlValue(children$species);
+
-
+
-
print(paste(name, " (", species, "): ", url, sep=""))
+
-
}
+
-
</nowiki></pre>
+
-
 
+
-
== Showcase ==
+
-
Click on one of the images below for examples on what you can do with the WikiPathways web service.
+
-
 
+
-
{|style="width:75%;" border="0" valign="top" cellspacing="5" cellpadding="1"
+
-
|align="center"|<big>'''Search'''</big>{{#imgLink:WikiPathwaysSearch.png|150|center||Help|{{FULLPAGENAME}}/WikiPathwaysSearch|Search}}
+
-
''Use the web service to search for pathways''
+
-
|align="center"|<big>'''Integrate'''</big>{{#imgLink:AtlasMapper.png|150|center||Help|{{FULLPAGENAME}}/AtlasMapper|Integrate}}
+
-
''Integrate pathway information with gene expression data''
+
-
|-
+
-
|align="center"|<big>'''Query interactions'''</big>{{#imgLink:Cytoscape.png|150|center||Help|{{FULLPAGENAME}}/Cytoscape|Cytoscape}}
+
-
''Load pathways as interaction networks in Cytoscape''
+
-
|align="center"|<big>'''Build workflows'''</big>{{#imgLink:Taverna.png|150|center||Help|{{FULLPAGENAME}}/Taverna|Taverna}}
+
-
''Use pathway information in your Taverna workflows''
+
-
|}
+
-
 
+
-
=== Web applications ===
+
-
* [http://137.120.14.13:8180/wikipathways-search/WikiPathwaysSearch.html Searching WikiPathways]
+
-
* [http://137.120.14.13:8180/atlas-mapper/AtlasMapper.html Visualize gene expression information]
+
-
 
+
-
=== Workflows ===
+
-
You can use the WikiPathways webservice to integrate WikiPathways functions in your Taverna workflows. See [http://www.myexperiment.org/packs/30 myexperiment.org] for a set of example workflows that show how to call WikiPathways from Taverna.
+
-
 
+
-
=== Extending existing software ===
+
-
See the [http://www.pathvisio.org/Cytoscape_plugin Cytoscape plugin] for an example on how to use the web service to extend the functionality of existing software. You can install the plugin in your local Cytoscape installation from the [http://www.cytoscape.org/cgi-bin/moin.cgi/Cytoscape_User_Manual/Plugins plug-in manager].
+
-
 
+
-
=== Bots ===
+
-
 
+
-
== API Reference ==
+
-
See the [[{{FULLPAGENAME}}/API|API reference]] page for a list of available web service functions and data structures.
+
 +
== How to cite ==
 +
Kelder T, Pico AR, Hanspers K, van Iersel MP, Evelo C, Conklin BR. (2009) '''Mining Biological Pathways Using WikiPathways Web Services.''' PLoS ONE 4(7): [http://www.plosone.org/article/info:doi/10.1371/journal.pone.0006447 doi:10.1371/journal.pone.0006447]
-----
-----
<p>[[:Help:Contents|Return to Help Contents]]</p>
<p>[[:Help:Contents|Return to Help Contents]]</p>
-
<p>[[:Help:Frequently_Asked_Questions|Continue to FAQ]]</p>
 

Current revision

Web Services for WikiPathways

WikiPathways can be accessed programmatically through a REST web service. These services provide powerful means to query, access and interact with the pathway content at WikiPathways.

Contents

API Reference

See the Swagger page for a list of available web service functions and data structures.

Java libraries

You can get a high-level API to the WikiPathways web service here: source compiled binaries (choose the most recent wikipathways_client_bin-*).

Working with GPML

The pathways on WikiPathways are stored in the GPML format. This is an XML format and can be processed in any programming language. See here for the GPML specification. If you are developing in Java, we recommend using our Java libraries.

Libraries

Below is a short list of libraries for popular programming languages that might help you work with the WikiPathways web service.

  • R: The rWikiPathways package with vignettes at bioconductor.
  • Java: Java API client with code examples at github.
  • Perl: Perl API client with code examples at github.
  • Php: Example scripts at github.
  • Python: Python API client with code examples at github.

Other Examples

Groovy

This blog post contains an example of how to use the WikiPathways webservice in Groovy.

How to cite

Kelder T, Pico AR, Hanspers K, van Iersel MP, Evelo C, Conklin BR. (2009) Mining Biological Pathways Using WikiPathways Web Services. PLoS ONE 4(7): doi:10.1371/journal.pone.0006447


Return to Help Contents

Personal tools