Traffic: 174 ip/hr
Question: Is there a bio-webdevelopment framework?
 
5
 
 

There is bioperl, biojava, biophp, etc. But is there also a web development framework that fits bioinformaticians specifically? I have been developing webinterfaces with php/mysql for years now. Lately I have added jquery to the interface building. Through the grapevine more and more people tell me that I should move a way from Php, towards frameworks like grails/maven/ruby on rails, etc. Due to proficiency in php and a lack of time, I have stuck to my old toolbox of php/mysql/perl and even sometimes unix calls. I will look into grails soon, also because colleagues are quite positive about Grails. But more general I am wondering if there is a bio-webdevelopment framework?

log in to comment • 2 bookmarks • permalink similar posts • request help via email
 

related: "What do bioinformaticians use to make high quality web sites?" http://biostar.stackexchange.com/questions/6100

log in to reply • written 2.1 years ago by Pierre Lindenbaum ♦♦ 46,63063381
 

I am always wondering: does someone know the distribution of web-dev frameworks among, say, databases published in an NAR issue?

log in to reply • written 2.1 years ago by lh3  17,6801324

7 answers

 
6
 
 

There's an idea that Dijkstra was always harping on about, among the various other things he harped on about: separation of concerns. Libraries to help with web development have no reason to be bioinformatics specific. It is counterproductive to make them so, since then you only have the relatively small bioinformatics community, where the average level of programming ability is quite low, working on them.

If you specifically need to deploy a script as part of a workflow, then Taverna and Galaxy are great. If you actually need a web interface in a more general form, then don't look for something bioinformatics specific.

And if you can produce solid results with PHP, MySQL, and JQuery, just keep going. If you do feel the need to move to one of the newer tools, then look around you and find someone who is already using one of them. I don't mean someone who plays with them, but someone who deploys lots of good code on a regular basis using them and whose work impresses you. Then use what they're using and apprentice yourself to them. If you don't have such a person locally, then don't bother.

For example, we have a guy in my group who does Ruby on Rails. I'm probably a better programmer overall, but for web development, he deploys in that domain faster than I can hope to, and his sites are solid. The biologists love them. Therefore, if I were going to try a framework, I'd use Ruby on Rails and harass him to learn all his tricks.

 
 
4
 
 

I guess you can find a web framework for any programming language. So your question is closely related to this previous thread: http://biostar.stackexchange.com/questions/6100

However, is there a web framework that run out-of-the box ? My first thoughts are :

 
2

For BioMart, it would be better to have a look at www.biomart.org and check out the BioMart 0.8 documentation. Ensembl is using the old BioMart 0.7, which is not as easy to set-up as the new 0.8 version.

log in to reply • written 2.1 years ago by Joachim  2,6901513
 
 
3
 
 

Hi Andra,

We've met before. We have been developing an open source framework called MOLGENIS especially for these purposes in the past few years.

It is a stack based on Java (for logic), Mysql (for storage) and Freemarker (for user interface templating and scripting). We actually decided to not use a scripting language as the integrated development environment Eclipse now helps a lot in debugging at compile time. I suppose that is personal. The key feature is that you can model a data structure and user interface using a small XML config and then a full java application is auto-generated for you to use.

In order to support our bioinformatics users it includes an interface to the R language as well as to SOAP (Taverna) or REST web (jquery or other scriting languages). Don't hesitate to contact us to give you a tutorial. To get started it is best to check it out from subversion as to our shame the sourceforge version is not always up to date. See http://www.molgenis.org/wiki/MolgenisOnUbuntu

 
 
3
 
 

There are some tools around which make the process of creating web interfaces for bioinformatics applications somewhat easier. One of the earliest was named Pise, which has been succeeded by Mobyle. Another is Turnkey, which is used by GMODWeb.

However, I don't believe that there are "bio-specific" variants of the more modern frameworks (Rails, Django and so on). Most people would just combine their programming knowledge of both the framework and the Bio libraries to create a custom solution. In Rails for example, simply requiring the bio* gem (BioRuby) makes methods from that library available to your project.

 

Turnkey and GMODWeb are currently unsupported and very difficult to install. A preferred approach would be using an established CMS like Drupal as outlined in the answer about Tripal.

log in to reply • written 2.1 years ago by Scott Cain  68014
 

+1 for bioruby. We're using the ultrafast http://www.sinatrarb.com/ web framework to develop a wrapper for blast (in progress at http://www.sequenceserver.com/ )

log in to reply • written 20 months ago by Yannick Wurm  1,570414
 
 
2
 
 

Hi Andra,

Currently under active development is a tool called Tripal (http://tripal.sourceforge.net/) which combines the power of a content management system, Drupal (http://www.drupal.org) with that of the GMOD Chado database schema (http://gmod.org/wiki/Chado). Drupal is PHP-based so that would fit perfectly with what you are comfortable with and is widely supported, documented and has a very large user-community. It has has a repository of thousands of extensions for adding functionality not specific to biological databases, but which are also often desired. Non technical users can easily update content without coding experience.

Tripal is a GMOD tool and is still maturing but is already used in a quite a few online databases, and is completely customizable. Version 0.3 will be released soon with a published API and theming templates that are completely customizable, so if you don't like the defaults you can easily change them.

Perhaps, you'll find it useful!

 
 
0
 
 

I started making a Bio-JS a couple of months ago. It's still early-on though.

  function textareaToTextArea(){
    fastaSequenceInput=$('test1').select('.input')[0];
    fastaSequenceOutput=$('test1').select('.output')[0];

    seqin=new Bio.SeqIO.fasta(fastaSequenceInput,{
      html:false
    });
    seqout=new Bio.SeqIO.fasta(fastaSequenceOutput,{
      mode:"w",
      html:false
    });
    while(seq=seqin.next_seq()){
      seqout.write_seq(seq);
    }
  }
 
 
0
 
 

I am answering my own question: what is the distribution of web-dev frameworks among databases published in NAR? I do not have an answer so far, but here is what I found.

I selected 15 websites from the 2011 NAR database issue (the top 15 ones excluding NCBI/EBI/DDBJ databases). I am using http://guess.scritch.org/ to detect web-dev frameworks. The results are given in the list at the end. Note that this website is unable to identify Grails, Maven and probably a lot of other frameworks. Neither can it identify PHP frameworks. The false negative rate is very high. Nonetheless, we can still learn the following:

  • PHP is the most popular among these 15 websites (in spite of the very small sample size).

  • None of the 15 websites is using RoR or django.

  • The 3 websites built with Java are not using Grails or Maven. Nonetheless, the 3 look quite sophisticated. They should be using something interesting.

  • The 3 unknown/unknown websites could be using Grails or Maven, but from their look-and-feel and the style, I guess they are not using any frameworks.

In conclusion, PHP is still widely used in bioinformatics web development, at least for now.

[?]

 

they should develop one with web2py

log in to reply • written 2.1 years ago by Hranjeev  1,150412
 
Log in to add a post