Shim (Helper) Services and Beanshell Services

Slides:



Advertisements
Similar presentations
RightNow 8 -- Adding a new report: New > Report: ORAnalytics > Reports > New Report
Advertisements

RightNow February Adding a New Report: RN icon > Report: OR Analytics > Reports > New Report
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik University of Manchester.
European Life Sciences Infrastructure for Biological Information Rafael C Jimenez ELIXIR CTO EMBL-EBI workshop networks and pathways.
BioMoby and Taverna Tutorial. Downloading Taverna ► Taverna can be obtained from:
WorkPad 4 Quick Start WorkPad 4 Quick Start  Business Optix brings the rigor and discipline of business modelling and design into.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik University of Manchester materials by Dr Katy Wolstencroft and Dr Aleksandra.
Tom Oinn,  Download Taverna from  Windows or linux If you are using either.
An Introduction to Designing, Executing and Sharing Workflows with Taverna Nowgen, Next Gen Workshop 17/01/2012.
Guidelines for Homework 6. Getting Started Homework 6 requires that you complete Homework 5. –All of HW5 must run on the GridFarm. –HW6 may run elsewhere.
File Upload Competitive Analysis. Catalyst - Browse in-line Of interest:
An Introduction to Designing and Executing Workflows with Taverna Katy Wolstencroft University of Manchester.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Introduction to Taverna, an environment For designing and executing workflows Franck Tanoh University of Manchester.
Taverna and my Grid Open Workflow for Life Sciences Tom Oinn
Taverna Workflow. A suite of tools for bioinformatics Fully featured, extensible and scalable scientific workflow management system – Workbench, server,
Taverna Workflows myExperiment Paul Fisher University of Manchester
SADI and Taverna 2 Tutorial David Withers. Preamble The Taverna 2 platform is constantly changing; while the look and feel of the workbench may change,
Taverna Workflows for Systems Biology Katy Wolstencroft School of Computer Science University of Manchester.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
BioMoby and Taverna 2 Tutorial Mark Wilkinson, Edward Kawas, David Withers.
EndNote. What is EndNote? EndNote is referencing software that enables you to create a database of references from your readings.
Stian Soiland-Reyes myGrid, School of Computer Science University of Manchester, UK UKOLN DevSci: Workflow Tools Bath,
An Introduction to Designing, Executing and Sharing Workflows with Taverna Katy Wolstencroft myGrid University of Manchester IMPACT/Taverna Hackathon 2011.
Performing statistical analyses using the Rshell processor Original material by Peter Li, University of Birmingham, UK Adapted by Norman.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
UCL DEPARTMENT OF SPACE AND CLIMATE PHYSICS MULLARD SPACE SCIENCE LABORATORY Taverna Plugin VAMDC and HELIO (part of the ‘taverna-astronomy’ edition) Kevin.
The 10 Best Practices for Workflow Design BioVeL M6 Workshop Göteborg, May 10-11, 2012 Kristina Hettne, Marco Roos (LUMC), Katy Wolstencroft, Carole Goble.
Alan Williams University of Manchester.  Allows you to call a command line script as part of a workflow  Simplest case is calling a single tool  Can.
Designing, Executing and Sharing Workflows with Taverna 2.2 Katy Wolstencroft myGrid University of Manchester.
An Introduction to Taverna Workflows Dr K Wolstencroft University of Manchester.
Exploring Taverna engine Aleksandra Pawlik materials by Katy Wolstencroft University of Manchester.
Data Exchange and Sharing using Taverna Workflows and myExperiment Katy Wolstencroft myGrid University of Manchester.
An Introduction to Taverna Workflows Paul Fisher, University of Manchester
Advanced Taverna Aleksandra Pawlik University of Manchester materials by Katy Wolstencroft, Aleksandra Pawlik, Alan Williams
Getting data out of XML These exercises provide an overview of how to use the native Taverna XPath services to get data out of XML.
An Introduction to Running, Reusing and Sharing Workflows with Taverna – part 2 Aleksandra Pawlik materials by Katy Wolstencroft University of Manchester.
Taverna allows you to automatically iterate through large data sets. This section introduces you to some of the more advanced configuration options for.
Exploring Taverna 2 Katy Wolstencroft myGrid University of Manchester.
Aleksandra Pawlik University of Manchester. Something that can be put into a workflow Well described - what the component does Behaves “well” - conforms.
Aleksandra Pawlik Alan Williams University of Manchester.
An Introduction to Designing, Executing and Sharing Workflows with Taverna BioVel Workshop 2011.
An Introduction to Designing and Executing Workflows with Taverna Part 2 – Importing and exporting data Norman Morrison University of Manchester Credits:
These exercises highlight the services that do not perform biological functions, but are vital for running life science workflows.
Data and tools on the Web have been exposed in a RESTful manner. Taverna provides a custom processor for accessing such services.
Designing, Executing and Sharing Workflows with Taverna 2.4 Different Service Types Katy Wolstencroft Helen Hulme myGrid University of Manchester.
SharePoint 101 – An Overview of SharePoint 2010, 2013 and Office 365
Dispatcher Phoenix Is…
EMBL-EBI, programmatically - take a REST from manual searching: Sequence analysis tools Web Production Team Anna Foix Joon Lee.
Designing and Sharing Taverna Workflows: Exploring Taverna 2.1 Beta
Performing statistical analyses using the Rshell processor
Data Virtualization Tutorial: Introduction to SQL Script
CARA 3.10 Major New Features
Bulk Editing Catalogue Records
An Introduction to Designing and Executing Workflows with Taverna
* Lecture # 7 Instructor: Rida Noor Department of Computer Science
Managing Your Literature Search Using Zotero
EndNote by: fatimah alotaibi.
Training course Part 2: Administration tasks
Map Reduce Workshop Monday November 12th, 2012
Taverna Tutorial exercise 2: REST services from BioCatalogue
Taverna workflow management system
Due Next Monday Assignment 1 Start early
An Introduction to Designing, Executing and Sharing Workflows with Taverna and myExperiment Katy Wolstencroft University of Manchester.
Aleksandra Pawlik materials by Katy Wolstencroft
Xpath service Getting data out of XML Aleksandra Pawlik materials by Katy Wolstencroft University of Manchester 1.
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
REST Services Data and tools on the Web have been exposed in both WSDL and REST. Taverna provides a custom processor for accessing REST services Peter.
An Introduction to Designing and Executing Workflows with Taverna
Presentation transcript:

Shim (Helper) Services and Beanshell Services Aleksandra Pawlik materials by Katy Wolstencroft University of Manchester

Taverna / Web Services Taverna is good way to access lots of globally distributed services out there on the Web This saves you the considerable trouble of installing stuff (e.g. databases, tools etc) on your personal machine or laboratory server

Lots of services… Provided by third parties: EMBOSS / SOAPlab - UK BioMOBY - Canada/Germany/Australi a etc BioMART / EBI - UK NCBI and PathPort - US KEGG - Japan SeqHound / BIND – Canada The catch – services are not designed to work together

Building Workflows A two-stage process Assembly – identifying services that perform the scientific functions needed for the experiment Gluing – identifying how (or more usually, if) theses services are compatible If they are incompatible – we need services that convert data formats and act as connectors – we call these services Shims (or helper services)

The Reality Lots of services don’t match: A into B doesn’t go Lots of services are poorly described – can you even tell if A goes into B?

e.g. 1 UniProt record hasPart Shim protein_sequence Mismatch Match

e.g. 2: syntax DNA fasta Shim DNA embl ###add another Mismatch Match

What if the service doesn’t exist? If you’re lucky someone will have already created a service that does what you want and will have described / annotated it in a way that lets you find it …if no service exists, one way to solve the problem is to create a lightweight BeanShell script (essentially a “lighter” version of Java) that runs on your local machine (not on a server like the services do) These come in two flavours: Ready made “Local Java Widgets” and roll-your-own “Local Services’’,

Finding Shims BioCatalogue – some shims are regular WSDL or REST services myExperiment – look for all workflows containing the scientific services. Has anyone linked them together before? Shim Library – a dedicated resource only for shim services. Coming soon

Exploring Shims A shim is a service that doesn’t perform an experimental function, but acts as a connector, or glue, when 2 experimental services have incompatible outputs and inputs A shim can be any type of service – WSDL, soaplab etc. Many are simple Beanshell scripts We have already used many shims in these exercises 10

Shims for Data Input We will use the simple workflow that we build in the introductory tutorial So far, we have only added a few input values to our workflows. Normally, you would have a much larger data set. The “GetProteinFasta” activity can only handle one ID at a time.

Shims for Data Input You can add a list of IDs by configuring the input port Right-click on the ID input and select ‘Edit workflow input port’ and change the depth to 1 (a list). Now, when you run the workflow, you can add multiple ID values

Shims for Data Input Try running it with 215422388 and 1220173 If you have hundreds of IDs, however, this is not very practical. Instead, we need an extra service to split a list of data items into individual values

Shims for Data Input In the services panel, search for “split” Select “split_string_into_string_list_by_regular_expression” (a purple local java service) and drag it into the workflow Delete the data link between the “ID” input and “GetProteinFasta” by selecting and right-clicking on the diagram Connect “ID” to the “string” port of the new “split” activity Add “\n” as a constant value to the “regex” input on “split…” by right-clicking and selecting “Set constant value” 14

Shims for Data Input In the services panel, search for “split” Select “split_string_into_string_list_by_regular_expression” (a purple local java service) and drag it into the workflow 15

Shims for Data Input Delete the data link between the “ID” input and “GetProteinFasta” by selecting and right-clicking on the diagram Connect “ID” to the “string” port of the new “split” activity Add “\n” as a constant value to the “regex” input on “split…” by right-clicking and selecting “Set constant value” 16

Shims for viewing data

Shims for Data Input Run the workflow This time, instead of adding individual IDs add a file of IDs. If you don’t have one to hand, there is one to download here: http://www.cs.man.ac.uk/~katy/taverna/IDList.txt You can download and add the file, or you can add the URL from the input window As the workflow runs, you will see it iterate over the IDs in the file

Pre-configured Shims The local workers are ‘pre-configured’ shims. Have a look at the different categories on offer.

Writing your own shim services - Beanshells Many shims are actually Beanshell scripts. Beanshell scripts allow you to add simple data transformation steps into your workflow in an easy way. We will take a brief look at writing Beanshells

Writing your Own Beanshell Create a new workflow by selecting ‘file’ and ‘New Workflow’ Add a new A configure window will pop-up

Writing your Own Beanshell Create 2 input ports named: myName and mySurname after selecting the ‘Ports’ tab Cretate 1 output port named: myFullname

Writing your Own Beanshell Select the script tab and Paste the following script myFullname = myName +"\t" + mySurname Create 2 workflow inputs and 1 workflow output and connect them to the configured beanshell service.

Writing your Own Beanshell Run the workflow You should get your full name printed in the output. This is a very simple example of using helper services to format results from your workflow