Skip to content

The technical architecture

by A. Bretaudeau on August 13, 2010

Let’s talk about the technical architecture we’re working on for the Dr Motifs project!

The goal of Dr Motifs is to provide an easy access to bioinformatics tools dedicated to pattern study. We would like it to be useful for both beginners and power users. So we’re planning on deploying for each tool a user friendly web interface and a SOAP-based web-service.

Web interfaces: Mobyle

Mobyle is a web portal “aimed at the integration of bioinformatics software and databanks”.

Concretely we have installed it on our servers and you can access it at And it looks like this:

How does it work? On the left side of the portal, you have a list of all the programs you can get access directly from your browser. You can search for a specific program (blast or clustalw for example). Click on a program and you get a web form where you can select a few options and upload your input data. Now click on the ‘Run’ button at the top and the program will be launched.

An advantage of using Mobyle is that you can reuse your data within each tool. For example, you can upload a multifasta file to create a multiple alignment using clustalw, then directly use this alignement to construct an HMM with hmmbuild and finally use this HMM to search within a database for similar sequences using hmmsearch. And all of this without the need to download then upload intermediate files.

Mobyle keep a trace of all the jobs you run, and you can access it simply by clicking on it on the left side of the page.

With this, you can build small workflows to work with your data directly in your browser. And there will be a great graphical workflow editor in the next Mobyle release.

From the provider side of you, all we have to do to add a tool in the mobyle interface is to write a XML file describing how the program can be launched, and from that the interface is automatically generated. It really eases our work, so don’t hesitate to tell us if you would like us to add a tool to our mobyle portal.

Web-services: Opal

Mobyle is great for providing a user-friendly web interface. But some of you might be interested in accessing our tools using programmatically. That’s why we’re deploying SOAP-based web-services using Opal.

With this kind of web-services, you can launch any of our tool directly from your code (Java, Perl, Python, etc) or from applications like Taverna. I’ll try to write some help/tutorials on this some day.

Opal is a toolkit developed at the NBCR (California, USA). We also contributed some code to add some features we were missing. The principle is simple: when we add a tool to our Opal installation, a WSDL file is automatically created which can be used by any user willing to access this tool programmatically.

All our services currently deployed are listed on the Opal dashboard. You can also get access directly to the WSDL file list here.

As Mobyle, adding a new tool is as simple as writing a XML file describing the program, so let us know if you want a tool to be added.

What else?

All of this is cool, but that’s not all! What about users that don’t know which pattern matching or discovery tool to use with their data? Based on this technical architecture, we are going to develop an even more user-friendly web interface for people having difficulties choosing the right program for the right usage. You’ll learn more about this soon. (Yes, this is some kind of teasing!)

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS