cwlgenerator.py
allows auto-generation of Common Workflow Language (CWL) definitions for
Sample CLI Clients for
EMBL-EBI's Job Dispatcher Web Service Bioinformatics Tools.
CWL generated with this program are uploaded to the webservice-cwl repository. These CWL require the actual clients or the webservice-clients Docker image from webservice-clients in order to run the clients.
Download the source code or clone the repository:
git clone https://github.com/ebi-jdispatcher/webservice-cwl-generator.git
Specially if you have no root access to your machine, you might need to use virtualenv. Prepare a virtual environment where all the Python dependencies will be installed. This project has been developed and tested with Python 3.6.5.
virtualenv -p `which python` env
source ./env/bin/activate
# deactivate
A full list of Python dependencies is provided in requirements.txt. Install dependencies with:
pip install --upgrade -r requirements.txt
Now run the program to generate python clients for all supported EBI tools, they will be placed in the dist
folder.
All available clients are listed in clients.ini.
Run the following commands to generate CWL using Python or Perl clients for all the Bioinformatics tools provided.
# based on python clients
python cwlgenerator.py python
# based on perl clients
python cwlgenerator.py perl
Alternatively, use --client <client_name>
to get only a selected client.
python cwlgenerator.py python --client clustalo,ncbiblast
CWL can also run the clients with Docker by using the Docker image provided in the
webservice-clients repository. We can generate CWL with Docker
dependency by passing the --docker
flag.
python cwlgenerator.py python --client clustalo,ncbiblast --docker
You will need cwl-runner (cwltool) to run CWL descriptions. Official instructions on how to install cwltool are provided in https://github.com/common-workflow-language/cwltool
An example test for Clustal Omega using the Python client:
cwltool dist/clustalo.cwl --email <your@email.com> --sequence sp:wap_rat,sp:wap_mouse,sp:wap_pig
More documentation about EMBL-EBI Bioinformatics Web Services
If you have any problems, suggestions or comments for our services please contact us via EBI Support.
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.