fft算法c语言实现详解 fft程序( 四 )


1978年 , 戴霍夫为这个难题增加了一个关键部分 。她提出了一种称为“可接受的点突变”矩阵(PAM matrix)的描述方法,使研究人员能够通过序列之间的相似性和进化距离来对两种蛋白质之间的相关性进行评分 。
1985年,弗吉尼亚大学的WilliamPearson和NCBI的大卫·李普曼基于Dayhoff矩阵的思想提出了一种更快的算法FASTP 。
几年后,Lipman与NCBI的Warren Gish和Stephen Altschul、宾夕法尼亚州立大学的Webb Miller和亚利桑那大学的Gene Myers合作开发了一个更强大的版本:Blast(基本局部比对搜索工具) 。
当BLAST在1990年发布时,它结合了处理快速增长的数据库的快速搜索的能力和识别具有长进化距离的匹配的能力 。同时 , 它还可以计算出这些匹配偶然发生的可能性有多大 。
Altschul说结果出奇的快:“只需要喝一口咖啡就可以完成一个复杂的搜索!但更重要的是,这个工具很好用 。在通过电子邮件更新数据库的时代,Gish建立了电子邮件更新系统,后来又建立了基于网络的架构,使用户能够远程访问NCBI计算机进行搜索,从而保证了数据的实时性 。
可以在github:https://github.com/jperkel/nature_code_survey.上获得上面的数据列表和可视化代码
哈佛大学计算生物学家肖恩·艾迪(Sean Eddy)认为 , 这个系统为当时的胚胎基因组生物学提供了一个革命性的工具,通过相关基因的特征来研究未知基因的特征 。对于世界各地的基因测序实验室来说,它提供了一个新词:“这是一种会流入动词的名词,”埃迪说 。“你会说你在爆自己的序列 。」
预印本发电厂:arXiv.org(1991)在20世纪80年代末,高能物理学家通常会向同行发送论文副本以征求意见,这也是一种礼貌——但仅限于少数人 。“处于学术圈较低层次的人会依赖科学名人的青睐,而不在精英机构的有才华和抱负的研究人员往往会被排除在外”,物理学家保罗·金斯伯格(Paul Ginsparg)在2011年写道[7] 。
1991年,在新墨西哥州洛斯阿莫斯的实验室工作的金斯伯格编写了一个自动邮件回复系统,以促进该领域的公平发展 。订户将收到每日预印的论文,每篇文章将被分配一个固定的文章标识号 。只需一封电子邮件,世界各地的用户就可以从实验室计算机系统提交或接收论文,获得最新论文的列表,或按标题和作者进行搜索 。
Ginsparg希望最快能把文章保留3个月 , 而且仅限于高能物理领域 。不过在同事的劝说下 , 我开始无限期保存文章 。他说:“那是从电子公告板到数据库存档的关键时刻 。随后,这个系统的发展远远超出了金斯帕格自己的学科 。1993年,他把这个系统移植到广域网上,1998年,他把域名改成了现在的arXiv.org 。
如今,三十年过去了,arXiv已经积累了180多万篇预印论文,全部免费开放给公众 。同时 , 它每月吸引15,000次提交和超过3,000万次下载 。《自然光子学》的编辑十年前[8]在网站20周年之际写道:“不难看出arXiv为什么如此受欢迎 。该系统为研究人员提供了一种方便的方法来标记他们的工作和发现时间,避免了传统同行评审过程所需的交易和持续时间 。」
资料来源:arXiv.org
该网站的成功推动了包括生物学、医学、社会科学等姊妹领域的预印本网站的蓬勃发展 。如今,已有数万篇关于新型冠状病毒病毒研究的预印本论文发表,可见其影响力 。
金斯伯格说,“三十年前,这种方法被认为是粒子物理世界之外的一种奇怪方式 。很高兴看到人们现在把它视为普遍现象 。从这个角度来说,它就像一个成功的科研项目 。」
数据探索工具:IPython笔记本(2011)2001年 , 当FernandoPé rez还是“寻找拖延症”项目的研究生时,他决定开始开发Python的一个核心组件 。
Python是一种解释性语言,这意味着它需要逐行执行 。程序员通常使用名为REPL(Read-Evaluate-Print Loop,一种交互式编程环境)的计算机呼叫响应工具来编程,并使用解释器来执行代码 。l可以用于快速探索和迭代开发,但佩REPL认为Python不是为科学而构建的语言,比如它不能轻松加载代码块或保持数据可视化开发 。所以他写了自己的版本 。
这创造了IPython,一个“交互式”Python解释器 。佩雷斯在2001年12月发布了这个259行的版本 。十年后,佩雷斯与物理学家布莱恩·格兰杰和数学家埃文·帕特森合作,将这一工具移植到浏览器中,开发出IPython Notebook , 掀起了数据科学的革命浪潮 。
与其他计算笔记本一样,IPython Notebook将代码、结果、图形界面和文本内容组合在一个文件中 。但与其他项目不同,IPython Notebook是开源的,开发者社区可以为其做出贡献 。它还支持科学家常用的语言Python 。2014年 , 这个项目发展成为Jupyter,它支持一百多种语言,允许用户在远程超级计算机上探索数据进行分析,就像使用自己的计算机一样容易 。

推荐阅读