第一章 生物学与计算机科学

参与计算机编程和生物学最令人兴奋的事情之一是这两个领域都有丰富的新技术和结果。

当然,生物学是一门古老的科学,但生物学研究中许多最有趣的方向都是基于最近的技术和思想。现代科学遗传学在现代生物学中占有突出地位,距离孟德尔作品的广泛认可仅约100岁。阐明脱氧核糖核酸(DNA)和第一种蛋白质结构的结构已有50年历史,克隆DNA的聚合酶链反应(PCR)技术已有近20年的历史。在过去的十年中,人类基因组计划的启动和完成揭示了人类基因的全部和更多。今天,我们处于生物学研究的黄金时代 - 人类历史上具有重要医学,科学和哲学重要性的一个点。

计算机科学相对较新。算法自古以来就存在(Euclid),对计算机器的兴趣也很古老(例如Pascal的机械计算器,或者巴贝奇在19世纪的蒸汽驱动发明)。但编程实际上诞生于大约50年前,同时构建了第一台大型可编程数字/电子(ENIAC)计算机。编程发展非常迅速,直到今天。互联网已有20年历史,个人电脑也是如此;网络已有10年历史。今天,我们的通信,交通,农业,金融,政府,商业,艺术,当然还有科学事业都与计算机及其编程密切相关。

这种快速和近期的增长给计算机编程领域带来了一定的兴奋,并要求其专业从业者保持警惕。在某种程度上,编程代表了程序性知识 - 关于如何做事的知识 - 以及在我们的社会和历史中看待计算机重要性的一种方式是看到计算机使用所带来的程序性知识的巨大增长。我们也看到计算和算法的概念被广泛采用,例如,在艺术和法律中,当然还在科学中。计算机已成为解释事物的统治隐喻。当然,用一种特殊的计算机器来思考细胞的分子生物学是很诱人的。

同样,生物学中的显着发现也在计算机科学中得到了回响。有进化程序,神经网络,模拟退火等。生物学和计算机科学领域之间的思想和隐喻的交换本身就是对发现的刺激(尽管使用不正确的隐喻的危险也是真实的)。

1.1 DNA组织结构

本段主要是为了非生物学专业的,如果你是生物学专业可以跳过接下来的两个部分。我们有必要回顾一些基本的DNA概念和术语。

(有关DNA如何表示为计算机数据的更多信息,请参阅第四章)

在细胞中,DNA通常以双链形式出现,并以著名的双螺旋结构彼此缠绕。双螺旋的两条链具有匹配的碱基,称为碱基对,一条链上的A总是与另一条链上的T相对,并且G总是与C配对。

当两条链以双螺旋型连接时(如图1-1所示),两条线具有相反的方向。也就是说,一条链的5'至3'方向相反的方向延伸。因此,在双螺旋的每个末端,一条链具有3'末端;另一个有一个5'端。

图1-1 双链DNA

因为碱基对总是A-T和C-G匹配,并且链的方向彼此相反,所以术语反向互补描述了两条链的碱基关系。它是“反向的”,因为取向是相反的,并且是“互补”,因为碱基总是与它们的互补碱基A→T和C→G配对。

根据这些原则,给定的一个DNA单链,很容易得到双螺旋中的匹配链。只需将所有碱基更改为其互补碱基:A→T、T→A、G→C和C→G;然后,由于DNA是5'到3'方向,因此在互补DNA后,将其反向写入。

1.2 蛋白质组织结构

蛋白质是与DNA有些相似地由少量简单分子组成的长串聚合物。由于DNA由四个核苷酸组成,因此蛋白质由20个氨基酸组成。这些氨基酸可以任何顺序出现。有关氨基酸的名称和单字母和三字母缩写,请参阅表4-2.

氨基酸由氨基和羧基组成,它们在相邻氨基酸之间形成化学键,称为肽键。20种氨基酸中的每一种都具有不同的侧链,侧链的化学性质对于确定蛋白质的性质很重要。

蛋白质通常具有比DNA更复杂的3D结构,肽键具有大量的旋转自由度,这允许蛋白质形成许多3D结构。蛋白质倾向于以各种不同的形状折叠而不是DNA的双螺旋形状,并且由一条或多条组装在一起的氨基酸组成。氨基酸序列被称为一级结构,自身卷曲成局部结构(例如,螺旋、β链和转弯)称为二级结构。最终的折叠和组装称为蛋白质的三级结构和四级结构(见第十一章)。

蛋白质的一级结构数据是远远多于二级或更高级结构的数据,事实上,大量的一级蛋白序列数据是可用的(因为从DNA中鉴定主要蛋白质序列相对容易,其中已经对其进行了大量测序)。

http://www.rcsb.org/pdb/

1.3 生物信息学

最近,新的计算机术语生物信息学(in silico)指在计算机中进行生物学研究,将入传统的术语体内(in vivo)和体外(in vitro)来定位实验研究。

对于非生物学家来说,体外意味着“在玻璃中”,即在试管中;体内意味着“在生命中”,即在生物体中。

近年来,人类基因组计划和许多生物体DNA的测序已经大大加速了计算机在生物学应用的趋势。实验中收集、搜索和分析的数据对于生物学家来说往往太大,必须依靠计算机来管理这些信息。计算机除了存储和检索生物数据之外,还可以模拟研究生命系统。当确定某些DNA序列时,可以将其存储在计算机中,并且可以编写程序以识别限制性位点,识别限制性消化位点并创建限制性图谱(参见第九章)。同样,基因发现程序可以通过DNA测序鉴定推定的外显子和内含子。在细胞过程模型中,例如可以研究基因调节变化的影响。

今天,微阵列技术可以通过一次实验来评估数千种基因的表达水平。计算机正在帮助人类解开基因之间复杂的相互作用。例如,我们希望找到与蛋白质产物相关的细胞生化途径部分的所有基因集合,我们首先需要储存微阵列产生的大量数据,然后与其他实验数据进行比较,并在计算机上分析。

1.4 计算限制

计算机科学中一些有趣的结果证明了人类知识的限制。生物学中存在许多开放性问题,人们希望应用更多的计算机能力可能有助于解决这些问题,但这不总是可行的,因为有些问题可以证明是无法解决的;也就是说,任何程序都无法解决它们。此外,一些问题可能是可以解决的,但随着问题规模的增大,它们实际上无法解决。这些问题称为难以解决或NP完全问题。即使是数百台计算机,每台计算机的功能也比目前最强的计算机强大一百万倍,也可能花费10亿年来计算除这样一个棘手问题的答案。

参考资料

Begining Perl for Bioinformatics

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G08L4X00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券