Help:WikiPathways Webservice
From WikiPathways
(→Scripts) |
|||
Line 38: | Line 38: | ||
=== Scripts === | === Scripts === | ||
'''Coming soon:''' small example scripts in various languages. | '''Coming soon:''' small example scripts in various languages. | ||
+ | |||
+ | ==== R ==== | ||
+ | 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> | ||
+ | ## 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> | ||
=== Web applications === | === Web applications === |
Revision as of 10:22, 12 December 2008
|
The WikiPathways web service
WikiPathways can be accessed through a SOAP webservice. This page contains documentation for the webservice API.
Getting Started
The web service is described in a WSDL file that can be downloaded from:
http://www.wikipathways.org/wpi/webservice/webservice.php?wsdl
Java libraries for WikiPathways
Coming soon
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.
SOAP 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.
- Java:
- Apache Axis
- See the Java section for information on writing Java tools for the web service
- Perl:
- Php:
- Python:
- R
Examples
Scripts
Coming soon: small example scripts in various languages.
R
Using the 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.
## 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="")) }
Web applications
Workflows
You can use the WikiPathways webservice to integrate WikiPathways functions in your Taverna workflows. See myexperiment.org for a set of example workflows that show how to call WikiPathways from Taverna.
Extending existing software
See the 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 plug-in manager.
Bots
API Reference
See the API reference page for a list of available web service functions and data structures.