Dear students,

I'd like to announce a Biocaml [1] project for the Google Summer of Code [2], which is being hosted under the Open Bioinformatics Foundation [3,4]. Please get in touch with me if you are interested! Feel free to propose other project ideas as I'm happy to mentor any project involving Bioinformatics and OCaml. See here [5] for an up-to-date announcement, but I've also pasted the announcement below.

Project: Bioinformatics Js_of_ocaml Visualization Toolkit

Rationale: OCaml is a strong statically typed functional programming language. Usually one does not consider such languages for front-end development, but the Js_of_ocaml compiler is causing OCaml to be more widely used for building websites. Js_of_ocaml compiles OCaml code to pure Javascript and the generated Javascript has very good performance. On the other hand, bioinformatics data analysis needs to be conducted by a broader range of users, which requires more elegant user interfaces with high quality data visualization.

Approach: Write an OCaml library that can be used to visualize large data sets efficiently and interactively in the browser. The library should be smart enough to work on the client side when possible, but make server side calls when necessary. You may want to use Eliom for this purpose. You can connect to parsers and data structures available in Biocaml as needed. As demonstration of success, it should be possible to create genome visualizations like that of the UCSC genome browser and protein interaction networks like that of Cytoscape.

Difficulty and needed skills: This project is for intermediate to advanced programmers. You will need to be already familiar with OCaml (or closely related languages like F# and Haskell) and have a basic understanding of Javascript and client/server programming.

[1] http://biocaml.org
[2] http://code.google.com/soc
[3] http://www.open-bio.org/wiki/
[4] http://www.open-bio.org/wiki/Google_Summer_of_Code
[5] http://www.open-bio.org/wiki/Google_Summer_of_Code_2014_Ideas#Biocaml