欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 教育教学

一种新软件有望成为科学数据分享新利器

科普小知识2021-07-02 03:51:01
...

泰特斯·布朗正在太平洋上空飞行,同时潜入学生的研究代码。从东兰辛的密歇根州立大学到澳大利亚墨尔本参加会议的长途旅行为生物信息学专家提供了一个在实验室检查新算法和消除核糖核酸序列错误的好机会。

三年前,布朗不得不等到他回到自己的办公室才这么做,因为如果没有其他研究人员的解释,他将很难潜入他们的代码并修改它们以产生新的研究结果。但是现在,布朗可以用一个免费的开放软件包IPython和远在实验室的人一起工作,它可以帮助研究人员保存一份详细的实验室操作记录。

布朗的学生写了解释文本,并附上了他们的研究产生的原始代码、图标和数据。然后,坐在飞机上的布朗可以使用从电脑上下载的IPython笔记本应用程序零距离访问学生的研究结果。在他重新运行代码后,程序将直接执行命令,并呈现他正在阅读的材料,以便他可以随时看到他的修改是否有助于改进算法。“我可以浏览学生的笔记本,找出他们到底做了什么,然后修改它们,找出不同的参数,提出不同的观点。”他说,“我可以在世界任何地方做这些手术。"

IPython笔记本旨在使数据分析更易于共享和复制。目前,越来越多的科学家用它来做科学研究的详细记录,设计教学模型和与他人合作。一些研究人员甚至出版这些笔记本来支持他们的研究论文。布朗是其中之一。他也在推动这个项目成为互动科学出版的新模式。

更好的笔记本

IPython笔记本应用程序是由加州大学伯克利分校的数据科学家费尔南多·佩雷斯和加州综合科技大学的计算物理学家Brian Granger领导的研究团队于2011年联合开发的。"这个项目是为了解决我们与其他研究者和教育工作者共同面临的问题而开发的。"佩雷斯说。

佩雷斯和格兰杰发现,数据科学家面临着一个棘手的问题:他们很难详细分享自己的原始代码,或者用一种可以理解的方式来描述它,以便其他人能够扩展他们的研究。这部分是由于涉及大量计算的研究领域的许多研究人员以重复和零碎的方式编写代码,因为新的发现将出现在每个分析中,在研究中抛弃多个想法。

记录生成各种数据的不同版本的代码,并将这些文件与注释注释结合起来是一件令人头痛的事情。然而,发表的结果往往不够详细,无法让读者跟进研究。“在我的计算物理工作中,”格兰杰说,“论文中对算法的高质量描述和原始代码中描述的详细程度之间的差异通常用光年来衡量。没有这些细节,其他人不可能在一定时间内复制这一过程。”

IPython笔记本帮助科学家记录他们的工作,使这些材料更容易共享,并让其他人知道上述问题中的哪一个是通过它的代码解决的。应用程序名称IPython中的“I”代表一个“交互式”命令窗口,帮助用户运行代码、访问变量、总结数据分析包以及理解研究过程,而“Python”指的是作为笔记本程序基础的通用计算机程序语言。(佩雷斯、格兰杰和他的同事现在正在帮助用户将笔记本电脑程序转移到另一个名为Jupyter的项目,该项目旨在使IPython与包括Julia和r在内的其他语言兼容。)

代码应用

在奥斯汀的德克萨斯大学,Tal Yarkoni使用IPython笔记本在大脑图像研究中进行自动元信息分析,以发现语言过程、情绪变化和其他大脑神经活动过程中涉及的模式。心理信息专家计划把他的笔记和未来的论文一起发表。“分析越复杂,用完整的记录覆盖和传递过程就越重要。”他说。

事实上,类似IPython笔记本的各种代码语言应用程序已经存在。例如,数学家中流行的商业分析软件包Mathematica和Maple包括笔记本或类似笔记本的应用程序。MATLAB是一个商业分析软件包,广泛用于信号处理、工程和医学图像研究领域,也支持笔记本应用。每个笔记本都有自己的专业代码语言。

在开放资源领域,有许多笔记本和类似笔记本的程序。例如,针织机使用R代码语言,具有很强的数值分析能力。Sage数学软件系统也基于Python语言,并支持自己的笔记本。Dexy是一个类似笔记本的程序,专门帮助用户合并来自论文、代码、数据和其他媒体的信息,生成论文和笔记。

然而,德克斯的创始人安娜·尼尔森说,IPython笔记本是其中使用最广泛的程序。"许多没有听说过其他应用程序的人都知道Ipython . "她说。然而,格兰杰和佩雷斯不知道有多少人在使用他们的软件。他们只说积极使用该程序的用户访问他们网站的次数在50万到150万之间。尼尔森说,这是迄今为止设计最好的数字笔记本,它的*和开放吸引了许多用户。该应用程序还受益于Python代码语言的流行,因为编程语言在科学界有大量用户,他们每年都会召开关于它的国际会议,而且该语言相对简单,初学者易于学习。

尽管越来越多的研究人员发表带有论文的研究笔记,但科学期刊将这些材料作为完整期刊文章的一部分发表仍需要很长的过程。目前,一些IPython笔记已经作为书籍出版,许多教授也使用这个软件来开展互动课程。然而,到目前为止,这些注释仍然只是作为论文的附件发布,并且经常用于提供分析代码和附加的解释选项。

“出版商仍然认为他们不需要整个研究过程。”格兰杰说。这些数据的格式可能太新,不允许期刊将笔记本用作正式文档版本,如html或pdf版本。但IPython已经开始与一些出版商对话。

从新手开始

许多IPython笔记本用户是熟练的程序员,但专家正在帮助初学者使用该软件。大约三个月前,加州大学圣地亚哥分校的博士后研究员严松没有任何使用计算机程序的经验。她在分子医学实验室进行细胞研究,包括设计实验和收集数据,而另一位计算机科学家帮助她挖掘数据。

当他们分辨不同的神经元时,宋的任务是找出老鼠和人类干细胞中核糖核酸表达的变化。之前,她用Excel比较了不同阶段细胞组织的表达模式。今年早些时候,她开始测试单个细胞以及细胞大小和复杂的核糖核酸序列数据。她的研究不再像以前那样只分析几组细胞数据,而是一次对比数千个细胞,一次测试大约1500个与神经发育相关的基因。

该实验室生物信息学专业的研究生奥尔加·博特尼克(Olga Botvinnik)随后在IPython笔记本上生成了研究结果,这样宋就可以分析这些代码。出于好奇,宋说:“这似乎是一个非常容易操作的界面。您可以对一行信息进行编码,然后立即检查它是否正确。”

在网络课程和信息专栏的帮助下,宋在短短几周内学会了一些基本的IPython编程技巧。伯特温尼克还列出了一些菜单,让宋使用不同的聚类算法来研究她的数据。尽管宋目前仍在大量依靠博文尼克的帮助进行计算和分析,但她表示,她已经开始手动分析数据,并用生物学知识测试一些特殊的细胞或基因子集。她还在未来的分析中教授伯特温尼克这种方法。“我们过去用两种不同的语言交流,我用生物语言,她用编程语言。既然我们有了共同的基础,我们就能更好地交流。这将加快我们的研究。”她说。(路捷)

阅读更多

《自然》杂志的相关报道