Ruby and Bioinformatics

P

Phil Tomson

A couple of people mentioned in various threads here recently that they
are working in Bioinformatics (with the implication that they were using
Ruby). I'm just wondering if anyone can comment on the use of Ruby in
the Bioinformatics field. Are there opportunities for Rubyists? What
kinds of things are you using Ruby for?


Phil
 
D

Daniel Amelang

I don't have time at the moment to go into a full answer to this
question, but look at bioruby.org in the meantime.

Dan
 
B

Belorion

I am a graduate student doing bioinformatics. We use Ruby whenever
possible, and I've done almost all of my programatic work in Ruby. In
fact, I had never even heard of Ruby until I joined this
bioinformatics group, but I've used it on a daily basis ever since.

What exactly do we use Ruby for in Bioinformatics? We work with
genomic information (i.e. The Human Genome Project), micro-array data,
cross-species alignments, etc. We use it for text/data processing, as
an interface to our databases (MySQL), performing data analysis, and
data transformation. The reason we use Ruby is the fast development
time, the easy to read code, and the fact that Ruby is perfect for
data processing (i.e. parsing our data from flat files, interfacing
with the database, transforming the data, etc). As far as I can tell,
Perl is still the defacto language of choice for most
bioinformaticists, but in large part because that's what they learned
first, it suits their needs, they have legacy code, so why try out
this Ruby thing?

I'm not sure if any of this really answers your question. When I do a
`ps -A` or `top` and look at what most people are running on our
machines, its Perl. But not because Ruby doesn't work just as well
if not better. If one were to look for a bioinformatics job, knowing
Ruby might not get your foot in the door like Perl would, but I think
that is gradually starting to change.

Really it depends on where you land a job. Just like anywhere, some
bosses are amiable to using new technology, others insist you use what
they use(d), which is likely Perl. Some places don't care so long as
the job just gets done.

If you have any specific questions, I would be happy to at least *try*
to answer them for you. Just drop me a line off list.

Matt
 
B

Belorion

Interesting timing ... there was just an article posted on Slashdot in
review of a new Bioinformatics book.
http://books.slashdot.org/article.pl?sid=05/04/05/186212. If nothing
else, it seems there is a lot of comments by bioinformatacists ... you
won't see any language specific discussions that would answer your
question, but you might find it interesting none-the-less.

Matt
 
D

Daniel Amelang

Ok, I've got a sec now to expand on my previous post.

I've been studying bioinformatics for about a year now as an emphasis
for my CS undergrad degree. I've been accepted into UCSD's masters
program to study bioinformatics this Fall. Obviously I'm just starting
out, but that won't stop me from throwing in my two bits :)

First thing: the term 'bioinformatics' is radically misunderstood.
I've heard a different defininition from each professor and book I've
run into. Some say it's IT support for biologists (ick), some say it's
mastering the exisiting web/GUI/CLI interfaces out there so you can
fetch meaningful data for research, some say it is little more that
database curation of biological information and some (the minority,
from my experience) believe it is developing new algorithms to solve
existing questions in biology. And these questions are mostly solved
by analyzing DNA, RNA and protein sequence data.

Many people I've talked with who are just getting excited about
bioinformatics early on seem to be more interested in problems related
to what's called 'systems biology', which may or may not be a branch
of bioinformatics, depending on who you ask.

Bioruby is the biggest collaboration involving bioinformatics and
ruby. You'll notice, though, that most of the functionality it
provides is how to tie existing programs together. Very little is done
algoritmically by bioruby. Think: fetch data from database, translate
to an amino acid sequence, run BLAST (an existing program), run
CLUSTAL (another one), format resulting output files for viewing, etc.
So, lots of system commands and parsing output files. These are the
typical bioinformatics tasks, from what I've seen so far.

Ok, so what have *I* done with ruby and bioinformatics? Mostly
projects that started as open-ended school assignments that became
publishable research material. I've got one paper in submission for
CSB 2005 and one in the making for submission this summer. Both
present novel software methods written in ruby. Here's a list of stuff
I've done in ruby:

- Phylogenetic tree format parsing and output (text processing)
- Phylogenetic tree construction (feedback methods and DCM)
- Hidden Markov Model techniques for CpG island detection
- 3D protein structure comparison
- Secondary structure prediction

I know a lot of that isn't going to mean anything to anybody, and I'm
sorry. There really isn't a simple explanation for any of them, but
between wikipedia and google, you can make some sense if you really
want. It's hard to just dabble in this stuff, so if you're interested,
you have to spend quite a bit of time getting your biology background
in shape. I've been working hard for a year on that and still feel
like I just started.

In case anyone thinks that they can arrive on the scene and say "I can
code; can I start working on cool biology stuff?", they are mistaken.
You really have to get some education under your belt before you can
contribute something meaningful. There are some sad stories about CS
professors arriving on the bioinformatics scence ready to show people
'how it's done' and end up making fools of themselves because they
didn't bother to learn the biology behind the problems.

Not to imply that anyone on this list would do such a thing :) I just
wanted to issue a warning. So, if you're serious about getting
involved, either take some classes or read some books about the
subject. bioinformatics.org is a good place to start.

Then, do like Matt and I have: start sneaking ruby through the system. :)

Dan
 
S

Sam Roberts

Ok, I've got a sec now to expand on my previous post.

I've been studying bioinformatics for about a year now as an emphasis
for my CS undergrad degree. I've been accepted into UCSD's masters
program to study bioinformatics this Fall. Obviously I'm just starting
out, but that won't stop me from throwing in my two bits :)

[snip]

Its interesting to hear about what people are doing with ruby, thanks
for that!

Does the BLAST tool have a home page? I spent some time searching, and
even googleing for /ncbi blast2/ doesn't seem to get me some info on
the tool, and how it works/what it does.

Sam
 
D

Daniel Amelang

http://en.wikipedia.org/wiki/BLAST
http://www.ncbi.nlm.nih.gov/Education/BLASTinfo/information3.html
http://www.ncbi.nlm.nih.gov/blast/

I forgot to mention in my last post that the absolute *best* way to
start out in the field is by reading this book:

An Introduction to Bioinformatics Algorithms (Computational Molecular Biology)
by Neil C. Jones, Pavel A. Pevzner
http://www.amazon.com/exec/obidos/tg/detail/-/0262101068/104-4926621-9367941?v=glance

I have no connection with the authors or the publisher. I just think
it is the best book around for introducing bioinformatics to people
with a programming background. All the other books I've read were very
much for people in biology. The exercises are very simple and fun and
get you programming real problems in biology in no time. And it's got
a great biology primer chapter. Definitely the way to go, even if you
just want to test the waters or start this as a hobby.

Dan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top