[Bioperl-l] New Article on Approaches to Web Development for Bioinformatics

Mauricio Herrera Cuadra arareko at campus.iztacala.unam.mx
Sat Mar 3 17:32:46 EST 2007

Hi Alex,

I think you've put a very nice & concise introductory article. I'd like 
to comment a little on some sections I've read:

* Introduction

 > "Given that you have an idea for analyzing or presenting data in a
 > particular was, a complete bioinformatics web application depends of
 > these basic pieces, which is what this article is all about:
 >    1. A source of data...
 >    2. An application programming language...
 >    3. A web application platform...
 >    4. Optionally, a data store...
 >    5. Optionally, you would reuse software tools..."

Even though you do a small mention about Web Services at the very end of 
the article (under Application Integration -> Programmatic Integration), 
I believe that Web Services can be another optional (or even basic) 
piece of a web application. In fact, many web applications consist only 
of Web Services without HTML user interfaces.

* Application Development Languages

 > "There are many different programming platforms and tools available to
 > solve bioinformatics problems.  It can be bewildering at first, but it
 > makes more sense to build on top of some of these tools rather than
 > build from scratch.  Some the problems with using these tools for a
 > bioinformatics portal are
 >    1. Many tools are written...
 >    2. Some tools have particular prerequisites...
 >    3. Many may not be in a form...
 >    4. The context that gives meaning...
 > Standardization on a particular platform can help manageability but
 > for most organizations a compromise between standardization and
 > adoption of several different platforms will allow many people to
 > develop software in platforms that they are already comfortable with
 > and allow the reuse of a large amount of freely available software..."

I would add to the problems list the fact that building web (or other 
kind of) applications on top of a platform whose codebase is evolving 
constantly, can make them very difficult to maintain. The case of 
EnsEMBL comes to my mind here: they opted to stick with BioPerl 1.2.3 as 
a core library and haven't moved onto a higher version of it because the 
EnsEMBL code is so vast, that a simple upgrade of BioPerl would break a 
lot of their code. AFAIK, it's because of this and the slowness at some 
parts of BioPerl that EnsEMBL is gradually saying goodbye to BioPerl.

Also, I think that depending on the amount of available code you plan to 
import into your application, sometimes having a whole platform at the 
very bottom can add unnecessary extra weight to your application. More 
weight could be equal to less speed, this is critical in web development.

* Application Integration -> Navigation

 > "The basic way that users will navigate into and around your
 > application should be using HTTP GET and POST requests with specific
 > URL's. Users bookmark these URL's and other applications will link to
 > them. Most applications developers did not realize it at first, but
 > these URL's are, in fact, an interface into your application that you
 > must maintain in a consistent way as you change and evolve your
 > software. Otherwise, they will find dead links..."

Just as I clicked the bookmark button for your article :) The same 
principle could apply to its filenames. A URL of the form: 
http://medicalcomputing.net/tools_dna17.php is less indicative of the 
real content of the article and can mislead potential readers. 
Optimising the URL's will make them better to be indexed by search 
engines, something like: 
http://medicalcomputing.net/web-development-bioinformatics17.php would 
do the trick.

To conclude my comments, I was surprised to see a section about BioPHP 
and not about other more-known toolkits like BioPython or BioRuby. What 
about their role in web development? Python is also a common language 
for web programming and with all the recent *hot* stuff like Ruby On 
Rails, it's very likely that both Bio* toolkits are more than ready for 
deploying web applications. I'm Cc'ing this to their respective mailing 
lists to see if someone wants to give you some feedback about them in 
order to complement your article. Other than that, I really liked your 
work :)


Alex Amies wrote:
> I have written an article on Approaches to Web Development for
> Bioinformatics at
> http://medicalcomputing.net/tools_dna1.php
> There is a fairly large section on BioPerl at
> http://medicalcomputing.net/tools_dna13.php
> I hope that someone gets something useful out of it.  I also looking for
> feedback on it and, in particular, please let me know about any mistakes in
> it.
> The intent of the article is to give an overview of various approaches to
> developing web based tools for bioinformatics. It describes the alternatives
> at each layer of the system, including the data layer and sources of data,
> the application programming layer, the web layer, and bioinformatics tools
> and software libraries.
> Alex
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

arareko at campus.iztacala.unam.mx
Laboratorio de Genética
Unidad de Morfofisiología y Función
Facultad de Estudios Superiores Iztacala, UNAM

More information about the Bioperl-l mailing list