27 Replies - 10822 Views - Last Post: 21 June 2013 - 03:46 PM

Practice Programming at Rosalind.info

Posted 31 March 2013 - 10:02 AM

POPULAR

Rosalind.info is a great website for practice programming problems. I thought some of you might be interested in checking it out, either to hone your skills or to recommend to others. It's a bit like Project Euler in that it has a bunch of programming problems of increasing difficulty. However, where Euler is maths-based, Rosalind's problems are based in bioinformatics.

What's bioniformatics? It's all to do with processing biological data: gene sequences, protein structures, etc. The subject is at the boundary between biology, chemistry, maths and computer science. On the computing side, there is a heavy emphasis on algorithms. In fact, the problems are divided into groups based on the kind of algorithm:

As you can see, there is a big overlap with a typical algorithms book. However, don't be put off if you are a beginner. The problems start off really simple. There is even an introductory section designed for people who have never programmed before. For the more advanced programmers, the problems eventually get very tough.

Each problem has an introduction that gives a little bit of biological background and links it to the computational problem. It then gives a precise description of the programming challenge and some test input data with the expected result. When you think you are finished, you can download a file containing a large set of input data. You post the result that your program gives and if it is correct you can move onto the next problem. If not, you have the chance to fix it. Each time you download some input data, it is different which helps to keep you honest.

I'm using it as a problem set for learning Racket so a mixture of easy and difficult problems is exactly what I need. Whatever you think of bioinformatics as a subject, using a domain like this as a vehicle for learning to program is an excellent idea. It teaches what can sometimes be abstract or dry concepts but frames them with a real use. I certainly find a subject more interesting when I have a real use for it, and I think many others are the same.
I also love the idea that the site teaches programming and another domain at the same time. I think it’s an excellent idea and I hope that more sites like it crop up in the near future.

Re: Practice Programming at Rosalind.info

Posted 01 April 2013 - 09:57 AM

I know it's correct because i try the supplied sample dataset first to see if i did right, and then when i get the same result i download dataset to solve.

for example in first problem "A Rapid Introduction to Molecular Biology" i got the correct answer but the order was incorrect and it didn't accept the answer. It's supposed to be A,C,G,T but i did C,G,T,A

Re: Practice Programming at Rosalind.info

Posted 02 April 2013 - 08:40 PM

sed is one of those tools that really shines when you have something that fits its domain. I've started giving this a go in clojure. Got a git repo and everything:https://github.com/bran-flake/rosalind

Most of the rest of my github is a code graveyard so I should probably commit stuff to it and keep "active."

Re: Practice Programming at Rosalind.info

Posted 02 April 2013 - 08:58 PM

Most of mine is posted on http://www.baweaver.com/rosalind though a few of the solutions are pretty contrived to be honest. I need to freshen up a bit, too much scripting and hacking instead of development. Most of the first round will be Ruby or Bash, and I'll rewrite for other languages later.