生物信息学入门
生物信息学,即计算机在生物学研究中的应用,在过去十年中随着人类基因组计划从开始到去年宣布完整人类DNA“草图”的重要性不断增加。
在上一十年之前,编程在生物学中的重要性就已经存在。现在,随着它成为许多医学和基础生物研究领域的公认部分,它无疑具有重大的未来。这可能对生物学家来说不是新闻。但Perl程序员可能会惊讶地发现,他们优雅的语言已经成为生物信息学中使用最广泛的语言之一——如果不是最广泛使用的语言的话。
我的新书《生物信息学入门Perl》(由O’Reilly & Associates出版)旨在满足想要学习Perl编程的生物学家的需求。在这篇文章中,我将从另一个几乎相反的角度来探讨这个话题。我想满足那些想要学习生物学和生物信息学的Perl程序员的实际需求。
首先,让我谈谈如何从Perl程序员成为“生物信息学家”。我将描述我的经验,并提出一些跳跃的建议。然后,我将通过谈论在基因组测序中使用的某些技术,来让你对现代生物学有所了解。
我的经验
生物信息学家通常拥有生物学或编程背景,然后在另一个领域接受额外的培训。普遍的观点是,生物学家比其他人更容易学习编程;但当然,这取决于个人。一个人如何将电信行业编程期间学到的技能应用到生物学编程工作中呢?
我以前在新泽西州默里山的贝尔实验室的语音研究部门工作。这是我第一份计算机编程工作;我得以处理计算机声音,并学习语音科学和语言学。我还得以做一些计算机音乐,这对我是极好的。我对计算机科学理论产生了兴趣,并在学术界全职工作了几年。
当我需要回到一份正常薪水的工作时,我所在学习的大学刚刚开始成立一个生物信息学实验室。我在本科期间学过一年的分子生物学,但那是在PCR技术革命该领域之前。那时,我读了Watson的经典著作《基因的分子生物学》,因此我对DNA有所了解,这也许有所帮助,我知道我喜欢这个主题。我去见了负责人,利用我在Unix和C以及贝尔实验室的背景,得到了系统管理员的职位。(PCR,聚合酶链反应,是我们复制足够多的DNA片段(“克隆”)以便对其进行实验的方法。在了解DNA的基础知识——继续阅读!——之后,PCR将是开始学习分子生物学技术的绝佳主题。我将在稍后解释。)
在新的工作中,我开始使用生物信息学软件,既支持也编写它。在之前几年,我几乎没有进行过编程,主要专注于复杂性理论和并行算法。现在,我陷入了大量的编程工作——C、Prolog、Unix shell 和 FORTRAN 是我们主要使用的语言。就在我开始这份工作的当时,大学里的一个朋友把他的《Programming Perl》一书塞到了我的手里。这本书给我留下了深刻的印象,不久之后,我就开始用 Perl 来完成大部分编程工作。
O'Reilly 生物信息学技术大会 |
我还开始和基因组项目的人交往。我选修了一些关于人类遗传学和分子生物学的研究生课程,这对我理解周围人在做什么有很大帮助。
几年后,当我所在大学的基因组项目关闭时,我去其他组织做生物信息学,先是生物技术初创公司,然后是国家综合癌症中心,现在是为生物研究人员提供咨询。这就是我的简要故事,是我从编程到生物信息学的一条路径。
将编程带入生物学
尤其是在生物信息学被视为一个重要领域的情况下,许多生物研究人员正在将生物信息学添加到他们的研究计划和资助申请中。我相信我走过的这条路现在比当时更有可能,这仅仅是因为现在有更多的生物信息学资助和职位。寻找那些正在招聘程序员的生物研究组织,并让他们知道你拥有编程技能和对生物学的兴趣,这将使你成为他们工作的一份子。
但关于正式培训呢?诚然,理想的生物信息学家拥有计算机科学和生物学的硕士学位。但这样的人极其罕见。该领域的许多工作者拥有良好的计算机和生物学技能混合,但他们的学位往往来自其中一个领域。尽管如此,在生物学方面的正式培训仍然是计算机程序员了解生物信息学的好方法,无论是作为该领域工作的先导还是与之同时进行。
我可以理解面对另一个学位的犹豫。(我在有工作和家庭要支持的情况下获得学位,有时压力很大。)是的,如果你打算在生物学领域工作,最好是获得学位。硕士学位是可以的,但大多数最好的工作都给了那些拥有博士学位的人。然而,他们并不少见,而且通常工资相对较低,就像经常居住多年的博士后职位一样。所以,与作为计算机专家可能获得的收入相比,在生物学方面的正式培训的经济效益并不大。但目前的生物信息学待遇还不错。
另一方面,要真正在生物学领域工作,培训是很重要的。这是一个深奥的主题,在许多方面与计算机科学、电子工程或类似领域截然不同。它有许多惊喜,整个“湿实验室”实验方法很难从书本上学到。
对于自学,我认为有一本书对想要学习现代生物研究的Perl程序员来说是一颗真正的宝石。这本书叫做《重组DNA》,由DNA结构的共同发现者詹姆斯·沃森及其合著者吉尔曼、维特科夫斯基、佐勒和维特科夫斯基所著。这本书特意为广泛的读者群体而写,所以你可以从对DNA和蛋白质这两种生物学中最重要分子的解释开始学习。但它继续介绍了生物学研究中的众多基础主题,包括解释构成生物学革命和我们现在经历的生物学黄金时代的分子生物学实验室技术。我特别喜欢用插图来解释技术和生物学——它们非常出色。在我的生物信息学经理职位上,我一直强烈建议程序员们保留这本书并经常翻阅。
然而,这本书也有一个缺点。它是在1992年出版的。在生物学领域,十年和计算机技术领域一样漫长;所以《重组DNA》不会涉及如微阵列或SNPs等新内容。(而且不要拿更早的《重组DNA:短期课程》——现在应该获取的是1992年的版本。)但它确实给了你真正理解现代分子生物学基本技术的机会;如果你想将你的Perl编程专长应用到生物研究领域,那么这是开始获取基本概念的好方法。
在生物信息学领域,还有一些其他的好书,明年还将有几本书出版。沃特曼、蒙特、格兰特和伊文斯、巴塞瓦尼斯等人以及佩夫茨纳的书是最受欢迎的几本书(其中一些比其他书更理论化)。我的书虽然是为初学者编写的,但在后面的章节中可以帮助你了解基本生物数据和程序。吉巴斯和贾贝克的《开发生物信息学计算机技能》(http://www.oreilly.com/catalog/bioskills/)一书对生物信息学中广泛使用的软件和一般计算方法提供了良好的概述,尽管它也包括了一些不适合有经验的程序员的基础主题。
在所有你可能想要学习的生物信息学程序中,Perl程序员自然会倾向于Bioperl项目。这是一个开源的国际协作项目,旨在编写有用的Perl生物信息学模块,在过去几年中已经变得非常有用。1.0版本可能在你阅读本文时已经可用。探索这个软件(可在http://www.bioperl.org找到),非常推荐,但有几点要注意:它不包括很多教程材料,当然也不是用于教授基本生物学概念。尽管如此,你仍然会发现Bioperl中有许多值得探索和使用的好东西。对于Perl生物信息学家来说,这是必备的。
除了自学外,你还可以尝试参加当地大学或生物技术公司的研讨会或读书小组,或者一般性地与人交流。如果你在找工作,那么你可能想去大学生物学系主任那里自我介绍,让她(是的,在生物研究领域有很多女性工作,这比编程行业要好得多)知道你想要一份生物信息学的工作,你是一位在以下方面的天才:1)编程,2)网络编程,3)以最少的钱从计算机中获得很多收获。但要做好准备,当他们谈到薪水时可能会感到震惊。也许现在情况有所好转,但我经常发现生物学家愿意支付的市场价值的一半。他们的薪酬水平低于计算机编程。当你达到那个水平时,在薪酬谈判中你可能需要有点强硬,以维持你孩子的营养需求。
我不知道有没有专门针对对生物学感兴趣的程序员的书或培训课程。然而,许多大学已经开始提供生物信息学课程、培训计划和甚至学位,其中一些课程是为经验丰富的程序员设计的。你可能会考虑参加一次主要的生物信息学会议。然而,在即将举行的O'Reilly 生物信息学会议中,将有一个针对你的教程——实际上,该会议的重点更多是在编程方面,而不是生物学方面。
除了前面提到的即将举行的 O'Reilly 会议外,还有ISMB 会议,这是生物信息学领域最大的会议,今年夏天将在卡尔加里举行;这是一个结识人和学习的好地方。它还将举办生物Perl年度会议,这完全符合目标。实际上,如果你查看 ISMB、RECOMB 或 O'Reilly 会议的演讲者,你会发现专注于生物学相关问题的计算机科学人员,以及专注于信息学的生物学家,其中许多人是实验室负责人或经理,他们管理着程序员团队。关于生物学,它是一个非常大的领域。大多数研究人员都会在某些特定的系统上占据一席之地——比如,果蝇神经系统发育的调节——并在那里工作。因此,很难真正为可能在工作岗位上遇到的特定生物学做好准备。“重组DNA”这本书将为你概述大多数实验室中常用的某些重要技术。
分子生物学的滋味
现在我已经给你介绍了Perl程序员如何进入生物学研究的一般看法,我将把注意力转向两种基本的分子生物学技术,这些技术在生物学研究中至关重要,例如在人类基因组计划中:限制酶和PCR克隆。
首先,我们必须指出,最重要的两种生物分子,DNA 和蛋白质,都是聚合物,是由更小的构建块分子链组成的。DNA 由四种构建块组成,即核苷酸或“碱基”;蛋白质由20种氨基酸组成。DNA具有规则的形状,通常是著名的双螺旋结构,由两条互补链交织而成;而蛋白质以多种方式折叠,这对蛋白质在细胞内能做什么有重要影响。DNA是主要的遗传物质,将特性传递给后代。最后,DNA包含编码模板,蛋白质由此生成;蛋白质完成细胞的大部分工作。
蛋白质的一个重要类别是酶,它们能促进细胞中某些特定的化学反应。1978年,诺贝尔奖授予了Werner Arber、Daniel Nathans和Hamilton Smith,因为他们发现了20世纪60年代和70年代初的限制酶。限制酶是一组具有在特定位置切割DNA的有用特性的酶,这些位置称为限制位点。这已被用于几个重要方面。它在指纹识别 DNA方面是一个重要的技术,正如在法医学中用于识别个体。它在开发物理图谱方面发挥了重要作用,这些图谱是DNA上的已知位置,用于定位基因的位置,也是确定DNA整个碱基序列的漫长过程的参考点。
限制酶是现代生物研究的基础。要了解更多关于它们的信息,您可以访问REBASE限制酶数据库,其中收集了所有已知限制酶的详细信息。其中许多可以从供应商处轻松订购以供实验室使用。
最常用的限制酶之一被称为EcoRI。当它在一个DNA链上找到GAATTC这六个碱基时,它会切割DNA。
我想介绍的另一种主要技术是已经提到过的:PCR,或聚合酶链反应。这是DNA样本克隆的最重要方法,即复制。PCR在这方面非常强大;在短时间内可以创建数百万个DNA片段的副本,此时就有足够的“样本”DNA来进行其他分子生物学实验,例如确定DNA中碱基的确切序列(如人类基因组计划中所完成的那样)。
PCR的发明也因其发明者Kary Mullis于1983年获得诺贝尔奖。基本思想非常简单。我们已经提到,DNA双螺旋的两条相互缠绕的链是互补的。它们不同,但给定一条链,我们知道另一条链是什么,因为它们总是以特定的方式配对。PCR利用了这一特性。
动机
很明显,一篇文章无法深入介绍生物学这样的主要科学。但我希望我已经给你提供了足够的线索,使你能够在这个爆炸性的科学领域有一个良好的开端,以及Perl程序员如何能够将所需技能带到理解生命和治愈疾病的伟大挑战中。
在过去的10年里,我一直从事生物学工作,我发现这是一个真正激动人心的领域,在智力上非常刺激;我发现,努力工作以帮助治愈癌症、阿尔茨海默病和其他疾病,在情感上非常满足。
祝您好运。如果您参加O'Reilly会议,请找我!
标签
反馈
这篇文章有什么问题?通过在GitHub上打开问题或拉取请求来帮助我们。