《自然》评选改变科学的10个计算机代码项目( 二 )


1965年, 美国数学家詹姆斯·库利和约翰·杜基想出了一种加速该过程的方法 。 快速傅里叶变换(FFT)通过递归(一种通过重复将问题分解为同类的子问题而解决问题的编程方法)将计算傅里叶变换的问题简化为N log2(N)步 。 随着N的增加, 速度也会提高 。 对于1000个点, 速度提升大约是100倍;100万个点则是5万倍 。
这个“发现”实际上是一个再发现, 因为德国数学家高斯在1805年就对此进行了研究, 但他从未发表过 。 而詹姆斯·库利和约翰·杜基做到了, 他们开启了傅里叶变换在数字信号处理、图像分析、结构生物学等领域的应用, 成为应用数学和工程领域的重大事件之一 。 FFT在代码中的应用已有很多次, 近年一个流行的方案是FFTW, 被认为是世界上最快的FFT 。
保罗·亚当斯是加州劳伦斯伯克利国家实验室分子生物物理学和综合生物成像部门的主任, 他回忆称, 当他在1995年改进细菌蛋白质凝胶的结构时, 即使使用FFT和超级计算机, 也需要“很多个小时, 甚至数天”的计算 。 “如果在没有FFT的情况下尝试做这些, 我不知道在现实中应该如何做到, ”他说, “那可能要花很长时间 。 ”
分子编目:生物数据库(1965年)
数据库是当今科学研究中不可或缺的组成部分, 以至于人们很容易忘记它们也是由软件驱动的 。 过去的几十年中, 数据库资源的规模急剧膨胀, 影响了许多领域, 但或许没有哪个领域的变化会比生物学领域更引人注目 。
今天, 科学家所用的庞大基因组和蛋白质数据库源于美国物理化学家玛格丽特·戴霍夫的工作, 她也是生物信息学领域的先驱 。 20世纪60年代初, 当生物学家们致力于梳理蛋白质的氨基酸序列时, 戴霍夫开始整理这些信息, 以寻找不同物种之间进化关系的线索 。 她与三位合著者于1965年发表了《蛋白质序列和结构图谱》, 描述了当时已知的65种蛋白质的序列、结构和相似性 。 历史学家布鲁诺·斯特拉瑟在2010年写道, 这是第一个“与特定研究问题无关”的数据集, 它将数据编码在打孔卡中, 这使得扩展数据库和搜索成为可能 。
其他“计算机化”的生物数据库紧随其后 。 蛋白质数据库Protein Data Bank于1971年投入使用, 如今详细记录了超过17万个大分子结构 。 加州大学圣地亚哥分校的进化生物学家拉塞尔·杜利特尔在1981年创建了另一个名为Newat的蛋白质数据库 。 1982年, 美国国立卫生研究院(NIH)与多个机构合作, 成立了GenBank数据库, 这是一个开放获取的DNA序列数据库 。
这些数据库资源在1983年7月证明了其存在价值 。 当时, 由伦敦帝国癌症研究基金会蛋白质生物化学家迈克尔·沃特菲尔德领导的团队, 与杜利特尔的团队各自独立报道了一个特殊的人类生长因子序列与一种导致猴子出现癌症的病毒蛋白质之间的相似性 。 观察结果显示了一种病毒诱发肿瘤机制——通过模仿一种生长因子, 病毒会诱导细胞不受控制地生长 。 美国国家生物技术信息中心(NCBI)前主任詹姆斯·奥斯特尔说:“这一结果让一些对计算机和统计学不感兴趣的生物学家头脑里灵光一闪:我们可以通过比较序列来了解有关癌症的一些情况 。 ”
奥斯特尔还表示, 这一发现标志着“客观生物学的到来” 。 除了设计实验来验证特定的假设, 研究人员还可以挖掘公共数据集, 寻找那些实际收集数据的人可能从未想到的联系 。 当不同的数据集连接在一起时, 这种力量就会急剧增长 。 例如, NCBI的程序员在1991年通过Entrez实现了这一点;Entrez是一个可以让研究人员在DNA、蛋白质和文献之间自由检索和比对的工具 。

推荐阅读