Using Ruby for Bioinformatics Applications

bioruby

When I started working in a bioinformatics research lab I quickly discovered the wonderful dynamic language that is Perl. I’ve spent a couple of years with Mastering Perl for Bioinformatics somewhere on or around my desk. Perl itself was designed with text-processing and reporting in mind so naturally it’s become widely used when handling biological data.

So everything bioinformatics should be coded in Perl, right? A couple of years ago I might have agreed, but now I feel differently. My first “Perl, I’m leaving you.” moment came when I discovered the way that Rails does web programming. Ruby is the magic in Rails, but I soon discovered Ruby goes much beyond web frameworks. To quote Ezra:

“I came for the Rails, but I stayed for the Ruby”

I wanted to compile some links to show how an active community is positioning Ruby to be a powerful language for bioinformatics programming:

BioRuby - open source bioinformatics library

BioRuby on Github

Web Frameworks

Ruby on Rails - the famous MVC framework that made ruby popular

Merb - fast, lightweight MVC framework

Camping - 5k microframework

Sinatra - web development DSL

Ramaze - simple, light, and modular web application framework

Rack - Webserver interface

Distributed/Parallel Computing

DRb- Distributed Ruby

SkyNet- Map Reduce in Ruby

Rinda - Linda parallel programming model in Ruby

rxgrid - Xgrid batch language

MPI Ruby - MPI bindings for Ruby

amazon-ec2 - Amazon EC2 API

Testing/Spec

RSpec - BDD framework

Test::Unit - Unit testing in the Ruby standard library

Integration with other programming languages

JRuby - JVM ruby implementation

SWIG and Ruby - automatically generate C interfaces

Ruby C extensions

Math/Statistics

Ruby-GSL - wrapper for the GNU Scientific Library

RSRuby- R statistics package in Ruby

SciRuby

Ruby NArray - similar to NumPy

Visualization/Graphics

Ruby Gnuplot - Gnuplot bindings

Ruby-Processing - The Processing language in Ruby

ruby-opengl - OpenGL bindings

Gruff - Graph API

Ruby-SVG - SVG Graphics

Ruby Gnuplot

Machine Learning

AI Related Ruby Extensions

Support Vector Machines in Ruby

Fast Artificial Neural Network library

Blogs about bioinformatics and Ruby

Saaien Tist - Jan Aerts, on bioinformatics and personal productivity

Bioinformatics Zen - Micheal Barton

Be sure to visit the Ruby for Bioinformatics room on FriendFeed for even more Ruby goodness.

0 Responses to “Using Ruby for Bioinformatics Applications”


  1. No Comments

Leave a Reply

You must login to post a comment.