What is Rosalind?

Rosalind is a platform for learning bioinformatics through problem solving.

Who can use Rosalind?

Anyone. It's free and open to the public (although it's currently in beta mode).

What background knowledge should I have to solve problems on Rosalind?

None. The only prerequisites are that you are interested in learning how to use computers to solve real-world problems and you are willing to be patient if you don't immediately see their solutions. Every Rosalind problem contains an optional biological introduction detailing a practical issue of interest, followed by an introduction to a computational problem that is used to model this biological application.

Are the problems difficult?

We begin with a few very straightforward problems for complete novices. Don't believe us? Just take a look at the first problem. For the most part, problems will steadily increase in difficulty as you progress through the site; we hope you are amazed at how quickly you will learn!

I'm a student going through Rosalind on my own. How should I use the site?

If you are not an experienced programmer, or if you are looking to learn a new language, then we would encourage you to select a programming language and use free online tutorials from other sites to help you learn the ropes in that language. There are also a plethora of textbooks available that will show you how each language works. You may also wish to consult a textbook that will go into more detail regarding the ins, outs, and what-have-yous of molecular biology. Finally, we encourage you to use Wikipedia (and we have provided links to Wikipedia for as many glossary terms as possible).

Won't the resources you suggest have solutions to many of these problems?

Living in an era where the answers to most computational exercises are a few clicks away is a very good thing. If you get completely stuck on a problem, then we encourage you to research how the solution is obtained. Even if you understand the solution, implementing it is a separate computational challenge, and an opportunity to learn more about programming. However, what is unacceptable is copying someone else's code verbatim to solve a problem; this is a cardinal sin of programming, and we can guarantee that it won't help you learn anything.

Why do problems have a time limit?

We want to ensure that you have implemented a general solution to the problem before downloading the problem dataset. Also, some problems will have multiple solutions, not all of which are computationally efficient; as efficiency is vital to computer science and good programming, we want to make sure that any solution you obtain runs efficiently.

Why do I have to wait after getting a problem incorrect?

We want you to take the time to reflect on why your code isn't working, and we also want to prevent someone from downloading a new dataset a thousand times to solve a problem by random chance.

Can you provide the solution for my dataset after I miss a problem?

We do not intend to send comprehensive feedback on incorrect submissions, because debugging code is crucial to learning programming, and because in solving real challenges in bioinformatics, you will rarely enjoy the luxury of a correct answer with which to validate your solution.

I'm missing the same problem multiple times, and I'm stuck. Is there a bug?

Probably not. The site is beta, but problems are well tested before being published. Don't frustrate yourself by spending too much time on a single problem; feel free to explore other problems and come back to this problem later. Also, please make sure that you are formatting your solution exactly as specified in the "Sample Output" section of the problem.

How are answers graded in Rosalind?

We require you to use the same format provided in the sample dataset section of the problem statement, with one exception: decimal answers throughout the site must only be within 0.001 of the correct answer to be considered correct, unless otherwise noted.

Which programming languages can I use in Rosalind?

Any! We don't require your code to be run on the Rosalind server, we only ask you to process a dataset on your own computer and then return the solution by uploading or copy-pasting it to Rosalind.

I have an idea for a problem. Can I add it to Rosalind?

Yes! Please use a referred problem submission interface.

I'm teaching a bioinformatics class. Can I use your problems as homework assignments?

Yes! You can apply for a professor account to make this process easier. Joining the Rosalind Faculty allows you to construct custom classes, track students' progress, review their submissions and much more. It's free, just like the rest of Rosalind.

When do new problems appear?

When problems are published, they will appear at 7 PM GMT on Fridays.

Are there any privileges for users with high XP?

Yes! If you have solved at least 80% of published problems, then you will have access to unpublished draft problems. When these problems are ready, they will appear at 7 PM GMT on Fridays.

Can I post my solutions somewhere?

No. The goal of Rosalind is to facilitate learning through problem solving. We encourage you to search the Internet or communicate with each other to find the best algorithms to solve our problem. However, there is a difference between looking for inspiration and copy-pasting someone else's code; we strongly advise you not to use others' source code. Once you have solved a problem, then we encourage you to post your code to the problem's comments section (which can be seen only by users who have also solved the problem). However, please do not publish your code outside of the Rosalind website.

I want to stay up to date on everything happening with Rosalind!

Please follow Rosalind on Facebook and Twitter.

Is the software behind Rosalind open sourced? I would love to develop this sort of tool for other disciplines...

No, but we are going to open source the Rosalind engine when it is completely ready and well documented.