做生物信息学需要三类技能:生物学知识、统计学知识、编程能力。

我们在学习生物信息学时,有很大一部分内容是学习解决特定的问题。基础的序列比对、相关格式文件的处理、数据统计和可视化等等。这些问题往往需要编程解决,于是就有了这样的问题:我们应该如何增强相关的技能水平?答案是,我们需要练习。

我们练习计算机学科的基础算法时,也会做大量的练习,这跟我们做数学习题是同样的道理。一般来说,会有一个在线的网站,罗列了难度各异的各种题目。每道题目会描述一个需要解决的问题,然后给出指定的输入。我们需要做的,就是根据题目表述进行编程,然后用程序计算给定的输入数据集,得出答案。

这样的一个在线学习平台有一个固定的名字:Online Judge。至此,我们要问,是否有一个关于生物信息算法的在OJ,可以提供一些有趣的问题,让我们练习我们解决生物信息问题的能力呢?答案是肯定的,这个网站就叫做 Rosalind。下面是关于这个网站的一些介绍。

题目分类

上图是 Rosalind 上提供的不同类别的题目。

题目列表

上面是 Rosalind 的题目列表。并非所有的题目一开始就完全开放,我们必须做完某些固定的题目,然后才会开放一些后续题目。这样的安排有利于我们学习知识的循序渐进。

个人成绩

我们还可以看到自己的学习进度、获得的成就、技能等级等等。是不是有一种玩游戏升级通关的感觉呢 :)。学习本来就应该有游戏一般的乐趣嘛。

除此之外,Rosalind 上还有全世界各个地方的人,大家可以就某个问题进行讨论和交流,相互学习。美国很多大学的生信课程也是用 Rosalind 作为课程的习题网站。看到这里是不是心动了?不如现在就注册一个账号开始做题吧。