Tuesday, September 14, 2010

Java in bioinformatics

Perl is the gold language in bioinformatic field. You can draw this conclusion easily by comparing bioperl with biojava. Bioperl has many utilities while biojava is relative simple.

Severla factors account for this. First there are many legacy code writing in perl. Bioperl is one example. When one wants to do something new, you'd like to leverage the code that exists as much as possible. When you want to do something in bioinformatic and use the utilities in bioperl, I guess perl is your only choice. Second, most bioinformatic developers are from bio-science field. For biologist, perl should not be that hard to learn. However, learnig java and all those libraries could be a daunting task. On the other hand, perl is the the recommended language for bioinformatician. I guess this is why perl is so popular in bioinformatic field.

Some bioinformatic softwares are already written in java, especially those with GUI or those with complex infrastructure. Here are several examples.
  • http://www.broadinstitute.org/haploview/haploview
  • http://beast.bio.ed.ac.uk/Main_Page
  • http://pritch.bsd.uchicago.edu/structure.html
  • https://cabig.nci.nih.gov
I hope this is the trend in bioinformatic area.

When you do bioinformatic in Java, sometime you'd like to invoke perl library or evaluate your perl code. I'd like to mentione one of my projects:http://code.google.com/p/javaperlscripting. This project provides a library so that you can invoke perl from java using the scripting framework in JAVA 6.