Skip to content

A collection of Web Service Clients to consume EBI's Job Dispatcher tools via REST APIs

License

Notifications You must be signed in to change notification settings

ebi-jdispatcher/webservice-clients

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EMBL-EBI Web Services Clients

This repository provides a collection of Sample Web Service Clients to consume EBI's Job Dispatcher Web Service tools APIs. If you are looking after EBI Search REST clients check the following repository: https://github.com/ebi-wp/EBISearch-webservice-clients

Note: A number of "older" REST and SOAP clients in a range of programming languages are now deprecated but still available for those who might be interested. In addition to Perl, Python and Java, clients are available in C#, Visual Basic .NET, Ruby and PHP, using a variety of different REST/SOAP libraries.

Sample Clients

A collection of REST sample clients for the EBI Job Dispatcher Web Services in Python, Perl and Java. These clients are generated from the service (XML) description with https://github.com/ebi-wp/webservice-clients-generator

The RESTful API interface for the Job Dispatcher Web Services is available at https://www.ebi.ac.uk/jdispatcher/docs/webservices/#openapi

Running the clients

Download the clients or clone the repository:

git clone https://github.com/ebi-wp/webservice-clients.git

Perl clients perl

In order to run Perl clients, Perl (tested version 5.22.0) needs to installed as well as Perl dependencies. Additional instructions on how to install Perl and its dependencies are provided here.

Install dependencies with:

# To install Perl dependencies run (you might need sudo)
cpan LWP
cpan XML::Simple
cpan YAML::Syck

An example test for Clustal Omega Perl client:

perl clustalo.pl --email <your@email.com> --sequence sp:wap_rat,sp:wap_mouse,sp:wap_pig

Python clients python

Specially if you have no root access to your machine, you might need to use virtualenv. Prepare a virtual environment where all the Python (tested version 3.6.5) dependencies will be installed. Additional instructions on how to install Python and its dependencies are provided here.

virtualenv -p `which python` env
source ./env/bin/activate
# deactivate

Install dependencies with:

pip install --upgrade pip xmltramp2 requests

An example test for Clustal Omega Python client:

python clustalo.py --email <your@email.com> --sequence sp:wap_rat,sp:wap_mouse,sp:wap_pig

Java clients java

In order to run Java clients, OpenJDK 8 (tested version 1.8.0_161") as well as ant (tested version 1.10.5), needs to installed. Note OpenJDK 9 and above are currently not supported. Additional instructions on how to install Java and its dependencies are provided here.

The clients are provided here as self-contained JAR files. (The source code is available in the webservice-clients-generator repository) To run them on all platforms, an example for the Clustal Omega Java client is:

java -jar clustalo.jar --email <your@email.com> --sequence sp:wap_rat,sp:wap_mouse,sp:wap_pig

On Linux and OSX you can use the simpler:

./clustalo.jar --email <your@email.com> --sequence sp:wap_rat,sp:wap_mouse,sp:wap_pig

Running clients with Docker

You can run the Sample Clients with Docker. We provide a docker container at https://hub.docker.com/r/ebiwp/webservice-clients/. Pull the webservice-clients container from Docker Hub:

docker pull ebiwp/webservice-clients

Then run the Perl (or Python and Java) Clients with:

docker run --rm -it ebiwp/webservice-clients ncbiblast.pl --help

You can control input/output with --volumes or simply -v:

docker run --rm -it -v `pwd`:/results -w /results ebiwp/webservice-clients ncbiblast.pl  \
  --email <your@email.com> --stype protein --database uniprotkb_swissprot --program blastp sp:pak4_human

Perl clients in BioContainers

EBI Web Service Perl Clients are also available through BioContainers.

docker pull biocontainers/ebi-webservice

Contact and Support

If you have any problems, suggestions or comments for our services please contact us via EBI Support.

License

The European Bioinformatics Institute - EMBL-EBI, is an Intergovernmental Organization which, as part of the European Molecular Biology Laboratory family, focuses on research and services in bioinformatics.

Apache License 2.0. See license for details.