加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Nature论文爆出千行Python代码Bug,或影响百篇学术论文

发布时间:2019-10-21 20:52:59 所属栏目:移动互联 来源:Synced
导读:【大咖·来了 第7期】10月24日晚8点寓目《智能导购对话呆板人实践》 你的论文小心了 Nature 文章的代码?对不起,论文也许要从头写了。 在 10 月 8 日颁发于《ACS Publication》期刊的一篇论文中,来自夏威夷大学的 Jayanti Bhandari Neupane、Yuheng Luo、
副问题[/!--empirenews.page--] 【大咖·来了 第7期】10月24日晚8点寓目《智能导购对话呆板人实践》

你的论文小心了 Nature 文章的代码?对不起,论文也许要从头写了。

在 10 月 8 日颁发于《ACS Publication》期刊的一篇论文中,来自夏威夷大学的 Jayanti Bhandari Neupane、Yuheng Luo、Rui Sun、Philip Williams 等研究者暗示,他们发明白一个《Nature》论文中的 Python 剧本编程错误,这个错误也许会对 150 多篇已经颁发的化学论文发生影响。

Nature论文爆出千行Python代码Bug,或影响百篇学术论文

10 月 8 日颁发于「ACS Publication」的论文。作者是来自夏威夷大学化学系的 Jayanti Bhandari Neupane、Yuheng Luo、Rui Sun、Philip Williams 等人。他们在这篇论文中指出了《Nature》论文中的 Python 剧本 bug。

论文地点:https://pubs.acs.org/doi/full/10.1021/acs.orglett.9b03216

论文中提到的剧本名为「Willoughby-Hoye」,用来计较核磁共振图谱的化学位移值。夏威夷大学的研究者发明,在该剧本中,有一个模块是按照文件的排序返回值,但 Python 并没有界说查询的文件次序。因此,该体系在差异的剧本上会有差异的返回值。

在运行这些剧本的时辰,Luo 在差异的操纵体系上获得了差异的功效。

他们在尝试中行使了沟通的核磁共振数据,但功效却呈现了明显差别。在 macOS Mavericks 和 Windows 10 上运行该剧本都能获得正确的功效(173.2),但在 macOS Mojave 和 Ubuntu 上运行时,功效却呈现了差别(别离是 172.4 和 172.7),与正确功效相差近 1 个百分点。固然看起来相差不大,但在准确的科研天下里,这一不同就很严峻了。

发生这种差此外缘故起因是该剧本行使 Python 的 glob 模块来查找切合特定法则的文件路径名——基于 glob 的功效去天生读取文件列表。可是 glob 的功效又取决于操纵体系的文件返回值。于是剧本的计较功效会受到文件处理赏罚次序的影响。夏威夷大学的 Rui Sun 和 Phillip Williams 编写了用来办理这个题目的排序较正代码以担保功效的同等性,代码量到达上千行。

在《Nature》论文中藏身五年的 Bug

2014 年,《Nature》子刊上宣布了一篇名为《A guide to small-molecule structure assignment through computation of (1H and 13C) NMR chemical shifts》的化学论文,论文中包括了上文中提到的行使 Python 说话构建的剧本。

Nature论文爆出千行Python代码Bug,或影响百篇学术论文

2014 年颁发于「Nature」的那篇论文。

论文地点:https://www.nature.com/articles/nprot.2014.042

论文中的 Python 剧本下载地点:https://media.nature.com/original/nature-assets/nprot/journal/v9/n3/extref/nprot.2014.042-S2.zip

现任美国里彭学院化学系助理传授的 Patrick Willoughby 承认了夏威夷大学研究者的发明,而且在推特上展示了该团队对剧本所做的矫正:

Nature论文爆出千行Python代码Bug,或影响百篇学术论文

他还提示道,「假如你在做或依靠核磁共振化学位移方面的研究,那你必然要读一下这篇论文。」

剧本的作者也在 twitter 上暗示了对这一发明的赞赏,但他暗示,昔时写代码的时辰,剧本是运行精采的。

Nature论文爆出千行Python代码Bug,或影响百篇学术论文

他说,「Rui 和 Williams 传授的发明真的很是棒。6 年前我写这个剧本的时辰,操纵体系可以或许处理赏罚排序题目。Rui 和 Williams 添加了须要的排序代码和函数来确保计较排序同等,给他们点赞!」

这篇 2014 年的论文至今已经被赏识过 1900 多次。Williams 暗示,也许有 150-160 项研究项目受到了该 bug 的影响。譬喻,假如 Williams 用这个剧本错误地计较了样本中的因素,而化学家恰恰要用这一功效合成新的说明来研发新药,那他的研究也许从开始就是错的。

固然 Williams 等人实时发明白这个题目,停止了该 bug 对本身的研究造成的影响,但它也许对其他研究举足轻重。他但愿这篇论文可以或许让科学家们越发存眷尝试的计较部门。因为已颁发的论文中很少说起操纵体系,以是这一 bug 发生的影响今朝还很可贵出定论。

「学术原型代码」VS「家产级别代码」

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读