Tag Archives: Taverna

Launch your Browser

While developing the Taverna myExperiment plugin we needed some way of launching a browser when clicking on a link.  Launching a browser is fairly easy using Runtime.exec(“firefox”, URL);   However, how do you know what browsers are installed and what the default one is.  Step forward BrowserLauncher2 (http://browserlaunch2.sourceforge.net/).

BrowserLauncher launcher = new BrowserLauncher();

launcher.openURLinBrowser("http://www.google.com");

Job done.

Stand up and be counted

Taverna workflows are full of shims. That’s a fact. Shims are the little adapter services, mostly using Beanshells, which convert the outputs of one workflow processor before sending it to the input of another. They are always being re-invented and 90% of the time do the same things – concatentate strings, swap things around…..

The problem is that these shims are designed to be use once, almost throw away, so they are not annotated with any sort of helpful information. This becomes a problem with the scientists greatest challenge – provenance and data lineage (OK, I might be being a bit melodramatic about it being the greatest challenge but it is up there somewhere – maybe nearer to the challenge of making the perfect cup of tea, no mean feat). Data goes into a shim and comes out the other side but what is happening inside? Shims are not the only processors guilty of this, there are plenty of black box services out there in the world. So, how can we address this problem? Well, we have started to collect the shims that people actually use in a my experiment group, we will then figure out all the similarities and come up with an annotated set which we can all use from Taverna 2 (T2). The current idea is for the T2 workbench to have an intelligent workflow designer which will recognise that you are trying to do some shim magic and suggest one to use. Maybe we will need a Taverna clippy style pop up (think Word etc) – ideas on a postcard……

So, if you are a shim it’s time to stand up and announce to the world – “I’m a shim and I’m proud of it”.

Data referencing in action in “Integrating ARC Grid with Taverna”

Daniel Bayer at University of Lübeck has implemented an ARC Grid plugin for Taverna for submitting job to the grid system ARC, in particular for usage with KnowARC. Bayer, together with Steffen Möller and Hajo N. Krabbenhöft also recently got published in Bioinformatics.

The work seems very promising, and in particular because it seems to have much of the same inspiration as t2 with regards to security and referenced data, although their plugin is for Taverna 1.6.2, before even the t2 plugin was included in Taverna.

Continue reading

Google Summer of Code 2008

Google Summer of Code (GSoC) is a programme hosted by Google that gives students a chance to work (and paid a scholarship) during the summer 2008 for an open source project.

We’re happy to announce that OMII-UK (the mother organisation of myGrid) has been accepted as one of GSoC’s mentoring organisations. Some of the ideas for OMII-UK development suggests Taverna development, including:

Additionally, the Globus Alliance is also a part of this years GSOC, so if you fancy something that is even more grid-like, have a look at the Globus ideas.

We encourage all interested students to apply now, as the deadline is in a few days on Monday, March 31, 2008 April 07, 2008!

Note that you can even suggest other development in addition to the proposed ideas, given that it would be relevant for OMII-UK or myGrid/Taverna. For instance, if you fancied doing a 3D Taverna workflow visualisation based on Quake, feel free to suggest that. As far as I understand you can apply for several projects within a mentoring organisation.

We are promoting the programme in general, so if you would rather work for some of the other mentoring organisations, you can of course apply for those instead.

So if you are a student or otherwise interested, have a look now, remember the deadline 2008-03-31 2008-04-07.

Update: The deadline for student submissions has been extended by one week until 2008-04-07.

We recommend that you have a look at the advice for students, and that you submit a detailed plan or description of your proposed work.

Code freeze of Taverna 1.7.1

We’re hopefully doing our code freeze for Taverna 1.7.1 today, 2008-03-28.

There’s a few bug fixes, in addition to quite a bit of work on t2. There will also be a drag-and-drop-able, interactive workflow editor, basically you can edit the workflow by connecting lines between the processors. Those of you who remember Taverna 1.4 might notice that this is something we’ve had hidden in the shelves for a bit, we hope that as we bring it back this time it will be a bit more usable as an alternative way to build workflows. You will still be able to flip to the “Graphical” tab for the classic non-interactive (but usually prettier) diagram.

The t2 plugin will now be a bit more usable with support for BioMoby, we’ve also made the BioMart support use streaming so that as soon as the first row of the BioMart result set has been received, it will immediately be pushed down to the next step in the workflow. Further on, the results of those operations will also be streamed on immediately before the full list is processed. For large datasets this should significantly improve the execution time of the workflow.

The t2 plugin also now has a graphical representation of the workflow as it’s running, with progress bars. Note that when doing streaming the progress bar can look a bit weird as results are coming in – say initially processor 2 has finished 4 of 5 items, but 5 new ones comes in from above, then the progress bar will jump from 80% (4/5) to 40% (4/10). But the cool thing is that you will be able to almost see the data as it’s flowing through, almost like pipes with pumps between them. We’re planning to add more features to this view, say to let you click on a processor as it’s running and have a look, perhaps tweak some parameters or go deeper in detail.

After the 1.7.1 release, which we’re predicting will be out in about a week (2008-04-07), we’ll focus fully on the 2.0 release for June 2008. The 2.0 release will feature the t2 enactor as the core engine, and some graphical updates as well. We’ll try to post more on the progress for 2.0 here as we go along.

Future visions

Writing a User Interface is quite often the hardest part of any development job. Everyone likes different look and feel and they seem to take forever to develop. I tend to hand code using Swing (Java’s default GUI) because I have not found an interactive GUI designer which I am comfortable with. In the (not so) distant past I used Delphi which had a really nice, intuitive GUI builder and I have also played around with the OSX development tools so why doesn’t Java have something as good. Maybe the old style application is dead and browser embedded GUIs are the way to go? The Nintendo Wii and the iPhone have shown what you can do with some lateral thinking (and a large budget). Check out http://www.cs.cmu.edu/~johnny/projects/wii/
and http://www.youtube.com/watch?v=0awjPUkBXOU&feature=related for a vision of the future.

The Taverna 2 (T2) development continues with the initial release planned for late June. Although most of the team are collocated on one site (Manchester University, UK), Taverna is an open source project. However, we have not had much “external” development for a while and this is something we will address with T2. The plan is for both user and developer forums nearer the time (real and virtual (maybe via irc)) and to promote T2 and it’s open source ideals at all the conferences etc. that we attend. One of the problems we face is having a governance regime which can handle external contributions in a controlled manner. There are lots of successful open source projects out there and they must have solved this problem. You can look forward to a “Vote for this feature” on the new look Taverna/myGrid website soon(-ish)!

Also, OMII-UK – which Taverna is part of – has been accepted as a mentoring organisation in this year’s Google Summer of Code. Maybe you would like to develop some cool code for us and the open source community!!