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!!

Where in the world?

A recent project involved the use of semantic metadata, stored using RDF (http://en.wikipedia.org/wiki/Resource_Description_Framework) and used mainly on a Globus based grid (http://www.globus.org). Inside the RDF was locational information which consisted of a place name, person, date and event. Using the Google maps API I took the RDF, extracted the locational info using a SPARQL query (http://en.wikipedia.org/wiki/SPARQL) the Sesame rdf tool (www.openrdf.org) and geo-located in a map.

Here is a sample of the RDF:

<j.0:Topic>Semantic Grid</j.0:Topic>
<j.0:Place>Ischia, Italy</j.0:Place>
<j.0:is_given_by rdf:resource=”http://www.ontogrid.net/ontogrid/sew/rdfTerm?

var_name=ontology&ontology=OntoGrid+Person+Ontology#A_Person”/>
<j.0:Scope>Academic and industrial</j.0:Scope>
<j.0:is_given_by rdf:resource=”http://www.ontogrid.net/ontogrid/sew/rdfTerm?

var_name=ontology&ontology=OntoGrid+Person+Ontology#Another_Person”/>
<j.0:Start_Date>09/07/2006</j.0:Start_Date>
<rdf:type rdf:resource=”http://www.ontogrid.net/ontogrid/RDFS/OntoGrid_Event_Ontology.rdfs#

Course”/>

I’m not sure SPARQL is quite ready for the mass market yet, can we really expect people to write things like this when they are browsing their semantic web?

query = “PREFIX loc:<http://www.ontogrid.net/ontogrid/RDFS/OntoGrid_Event_Ontology.rdfs#> ” + “\n” +
“SELECT ?x ?name ?date ?place \n” +
“WHERE{?x loc:Name ?name \n” +
“.?x loc:Start_Date ?date \n” +
“.?x loc:Place ?place}”;
Anyway, the code was JSP since Sesame is a Java API with Javascript bits for the map part. The hardest part to figure out was how to loop over a Java array and populate a Javascript one. Lots of head scratching and I came up with this:

<% for (int i=0;i<events.size();i++) {
%>
info[<%= i %>] = “<%= events.get(i) %>”;
<% }

%>

The info array is the javascript one and the events array is Java/JSP.

The geo-location part of the Google Maps API was another cool bit, all you have to do is pass it in a string with the place name and it will do it’s best to return a lat/long which you can then place on a map using a marker. The marker itself can be clicked on and pops up the info about the event at that location

geocoder = new GClientGeocoder();

geocoder.setBaseCountryCode(“GB”);

function getAddress(address, date, type) {
geocoder.getLatLng(address, function (point) {
if (point) {
var marker = new GMarker(point);
map.addOverlay(createMarker (point, address, date, type));
}
}
);

}
function createMarker (point, address, date, type) {
var marker = new GMarker(point);
GEvent.addListener(marker, “click”, function() {
marker.openInfoWindowHtml(“<B>” + type + “</B><BR>” + address+”<BR>” + date);
});
return marker;
}

After that I had a fully functioning, clickable google map which everyone in the project could browse to see who had been where and why (useful for showing how important your project is!).

Going round in circles

I started this blog mainly as a dumping ground for ideas and things I have learned so that I didn’t forget. Like a virtual notebook. However I thought it would be quite cool to access it from anywhere but I just couldn’t get onto my site from anywhere on the web. Just kept getting a 301 http error. I tried lots of suggestions, everything pointed to mysql, Leopard & Apache 2 not quite co-existing nicely. I tried things like changing the mysql.sock location but with no success. In the end I saw a bit of advice on (of all places) the wordpress forum which suggested changing the blog locations on the wordpress options page.

http://wordpress.org/support/topic/142498

Unbelievably it worked. Now, I don’t know if the mysql settings needed changing as well but everything is sweet now.

I also had some weird problems with Adium (a chat client for OSX) at the same time as the 10.5.2 and latest Adium updates.  It would disconnect from jabber constantly.  Strangely all I had to do was start with a fresh set of preferences – http://trac.adiumx.com/wiki/Preferences