Using Ruby for Bioinformatics Applications
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:
BioRuby – open source bioinformatics library
BioRuby on Github
Merb – fast, lightweight MVC framework
Camping – 5k microframework
Sinatra – web development DSL
Ramaze – simple, light, and modular web application framework
Rack – Webserver interface
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
Test::Unit – Unit testing in the Ruby standard library
SWIG and Ruby – automatically generate C interfaces
Ruby C extensions
RSRuby- R statistics package in Ruby
SciRuby
Ruby NArray – similar to NumPy
Ruby-Processing – The Processing language in Ruby
ruby-opengl – OpenGL bindings
Gruff – Graph API
Ruby-SVG – SVG Graphics
Ruby Gnuplot
Support Vector Machines in Ruby
Fast Artificial Neural Network library
Bioinformatics Zen – Micheal Barton
Be sure to visit the Ruby for Bioinformatics room on FriendFeed for even more Ruby goodness.
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 popularMerb – 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 RubySkyNet- 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 frameworkTest::Unit – Unit testing in the Ruby standard library
Integration with other programming languages
JRuby – JVM ruby implementationSWIG and Ruby – automatically generate C interfaces
Ruby C extensions
Math/Statistics
Ruby-GSL – wrapper for the GNU Scientific LibraryRSRuby- R statistics package in Ruby
SciRuby
Ruby NArray – similar to NumPy
Visualization/Graphics
Ruby Gnuplot – Gnuplot bindingsRuby-Processing – The Processing language in Ruby
ruby-opengl – OpenGL bindings
Gruff – Graph API
Ruby-SVG – SVG Graphics
Ruby Gnuplot
Machine Learning
AI Related Ruby ExtensionsSupport Vector Machines in Ruby
Fast Artificial Neural Network library
Blogs about bioinformatics and Ruby
Saaien Tist – Jan Aerts, on bioinformatics and personal productivityBioinformatics Zen – Micheal Barton
Be sure to visit the Ruby for Bioinformatics room on FriendFeed for even more Ruby goodness.
0 comments:
Post a Comment