Monday, January 18, 2010

BioJava Hackathon - Day 1

Hi,

I am going to blog every day about the BioJava Hackathon, so you can stay updated with what is happening here in Cambridge.

In the morning I gave this presentation around which we had several discussions about what are the most critical issues we want to solve. The issues are:

  • Installation problems. Getting the latest checkout of the new Maven based build system causes problems for some of us. Sorting our the installation procedure is a major topic of the afternoon. It works successfully with the latest Eclipse, the m2eclipse plugin and subclipse plugin. Some of the NetBeans based developers also reported no problems during installations.
  • Features. The Biojava features should become a first class citizen. This means it should be possible to instantiate them independently of sequence objects.
  • Simplify Sequences: Sequences should be Strings as far as possible. Only convert them to Sequence objects if required.
  • Some of the BioJava 3 docu is not up to date and can lead to misunderstandings. The latest BioJava 3 code is available in the trunk
  • Memory efficiency: Make sure that iterating over RichSequences is memory efficient. (Fix a memory leak there)
  • Bytecode: The Biojava - core module should not require the Bytecode module.
Andy Yates is tweeting about it at http://twitter.com/search?q=%23biojava

Saturday, January 16, 2010

BioJava Hackathon 2010

I am off to Cambridge, U.K. where we will have the BioJava Hackathon next week. I am planning to blog on a regular basis about what is going on there.

Friday, January 15, 2010

All vs All Structure Alignments in PDB

Proteins can have various degrees of similarity. If two proteins show high similarity in their amino acid sequence, it is generally assumed that they are closely evolutionary related. With increasing evolutionary distance the degree of similarity usually drops, but proteins can still show similar function and have an overall similar 3D structure, even if the sequence similarity is low. The detection of such remote similarities is important in order to infer functional and evolutionary relationships between protein families and is a core technique used in structural bioinformatics.

For the RCSB-PDB web site I have recently been working on a new all against all comparison of all protein chains. While protein sequence comparisons can be computed quickly, the calculation of protein structure alignments is much more time consuming. So far we were computing about 140 mio. pairwise alignments in ~100.000 CPU hours on the Open Science Grid (OSG). With the help of Chris Bizon we could easily deploy our code there and I can highly recommend giving the OSG a try also for other scientists. A technical report about how we computed about 140 mio. pairwise alignments in ~100.000 CPU hours is available from here:

http://osg-docdb.opensciencegrid.org/cgi-bin/ShowDocument?docid=919

Sunday, January 10, 2010

Protein Comparison Tool

In the recent months I spent some time developing the new RCSB PDB Protein Comparison Tool (you can see an example for it on the right-hand menu of this blog).

In particular I spent a lot of time porting the CE and FATCAT algorithms from C to Java and developing a new user interface. Check out the latest version at http://betastaging.rcsb.org/pdb/workbench/workbench.do . (E.g. try to align 4HHB chain A and 4HHB chain B ).

Having the algorithms in Java opens the door for a number of nice applications. It is now possible to launch the structure comparison application with a single mouse click using the Java Web Start technology.

Tuesday, December 29, 2009

BioJava Hackaton

The BioJava Hackaton will be held from from Jan. 19th-22nd at the Genome Campus, Hinxton, Cambridge, UK.

Our goals are:
- Further development of the BioJava modules. For module specific goals see the Modules pages on the BioJava wiki.
- Anything the module leaders deem necessary for their modules.
- Add new modules
- Finalizing BioJava 3.0

Tuesday, September 1, 2009

An easy way to set up a web site (using Java, Maven and Eclipse)

Download the following open source software:

* Tomcat 6 from http://tomcat.apache.org/download-60.cgi
unpack it in a local directory. (I got the Core tar.gz one)

* Eclipse (the JEE edition) from http://www.eclipse.org/downloads/
launch Eclipse


In Eclipse:

* Install the Maven (m2eclipse) plugin for eclipse by adding

http://m2eclipse.sonatype.org/update/

as a new site under Help->Install New Software-> Add

Select the the checkboxes of the modules you want to install.


Create a new Eclipse project

* Select File-> New -> Other -> Maven Project

leave project name and location to the default values



as a project Archetype select maven-archetype-webapp



as a group ID select the name of your organisation e.g. org.biojava

Artifact ID is the name of your module. E.g.: myweb (this will also be in your servlet URL)




This will create the following servlet in your workspace.



Deploy the project on Tomcat

* Add a new Tomcat 6 server : Select File-> New -> Other -> Server

* select Apache-> Tomcat 6



* point
it to the location at which you upacked Tomcat


* add your servlet to it and press Finish


* Start your server buy either clicking the green button, or right click on your servlet project and say Run As -> Run on Server

* Tomcat will start and the servlet is running


Add new jsp pages and start the development of your servlet!

Finally: If you want to give the servlet to your sysadmin to release on a production site, just do a Right click on the project and do Run As -> Maven package . This will create a myweb.war in the target subdirectory of your project that can be deployed in stand alone tomcat instances outside of eclipse.