Python 中 bug:或导致上百篇论文出错

2019 年 10 月 14 日 云头条
这一惊世骇俗的发现提醒人们: 科学是相互协作的、而且在理想情况下是自我纠正的,但没有什么可以认为是理所当然的。


夏威夷大学的科学家们在一段代码中发现了一个小小的错误,这个错误可能导致引用了原始论文的100多篇已发表论文中的结果不正确。

这个错误导致一个常见化学计算的结果因所使用的操作系统而异,导致Mac、Windows和Linux等系统之间出现差异。 周二研究人员在《有机化学通讯》(Organic Letters)杂志上发表了这一重大发现和经过调试的脚本(https://pubs.acs.org/doi/10.1021/acs.orglett.9b03216),这段脚本总共有约1000行代码。

这篇新论文写道: “原始脚本中的这个简单错误让人们对于涉及众多主题的数量庞大的论文的结论产生了疑问,但由于很少提及操作系统,无法从已发布的信息轻松解答这个疑问。 ” 使用这些脚本的作者当然应该利用[补充信息]中经过修改的脚本,仔细核对其结果和任何相关的结论。

夏威夷大学马诺阿分校的研究生Yuheng Luo今年夏天在验证化学教授Philip Williams研究蓝藻菌的结果时发现了这个错误。 Williams说,该项目的目的是“努力找到对付癌症很有效的化合物。

在夏威夷大学马诺阿分校化学助教Rui Sun的带领下,Luo使用了Python编写的一段脚本,该脚本作为Patrick Willoughby、Matthew Jansma和Thomas Hoye共同撰写的一篇论文的一部分在2014年发表于《自然实验手册》杂志(Nature Protocols)上( https://www.nature.com/articles/nprot.2014.042 )。 该代码用来计算NMR(核磁共振)波谱的化学位移值,而核磁共振波谱是化学家用来确定样品分子组成的一种常用技术。

Luo的结果与Williams研究小组之前计算的NMR值不一致; 据Sun声称,他的学生们在计算机上运行代码时,意识到不同的操作系统会得出不同的结果。 于是,Sun调整了代码以修复该错误,该错误与不同操作系统对文件进行排序的方式有关。

2014年那篇论文的第一作者Willoughby撰写了这段脚本,称这项新研究是“科学界的一项杰作,表明可以促进我们在2014年报告的工作。

他说: “他们为科学界搞清楚这一情况做出了巨大的贡献。

Williams表示,最初的研究是一篇文笔优美的论文,“对一大群人极其有用,那个错误非常细微,没人注意。 ”不过研究人员认为,这个错误可能给下游带来了严重影响。

Williams表示,比如说,如果该代码导致Williams错误地识别其样品中的成分,试图重建这种分子作为一种潜在抗癌药来加以测试的化学家会把工作重心放在研究错误的化合物上。

目前尚不清楚这个错误可能影响了多少篇论文——Williams说,研究人员通常并不透露他们用于分析的操作系统,因为觉得操作系统无关紧要。 按照《自然实验手册》的度量指标,2014年那篇论文已被访问了近1900次,已在另外158项研究中被引用。 然而,并非所有引用该论文的研究都可能使用了该脚本。

新西兰惠灵顿维多利亚大学的化学讲师Rob Keyzers在今年发表的一项研究中引用了该方案,他在一封电子邮件中称,自己当初没意识到这个错误。 他补充道,他并不“过于担心”自己的结果,因为其研究小组没有使用含有该错误的脚本。 他说: “我当然会仔细检查我们的数据,以确保我们没有提出任何不当的观点。

7月下旬,Williams和Sun联络了那篇原始论文的几位作者,提醒他们注意这个错误。 Williams 说,他希望 他们 通过合作,可以 使用 该代码的研究人员注意 这个 问题。

Sun说: “我个人并没有机会逐一联系研究的原始作者、宣称有错误,所以我不知道会发生什么。 ”他补充道,论文作者“态度非常客气”,鼓励他和Williams发表研究结果。

Williams说: “这个领域的研究人员体现出了他们应有的态度。

发推文提到该研究的工艺化学家Lucas Moore在一封电子邮件中说: “我们科学界往往会广泛传播有关诸如此类的错误的新闻——我们确实希望拨乱反正。

据新论文中引用的Hoye的来信显示,Willoughby和Hoye打算更新《自然实验手册》上的那篇论文,承认该错误,并附上Sun的已修复代码。

《自然实验手册》的发言人在声明中说,他们正在调查新研究所提出的问题,但出于保密原因,不能对个别情况发表评论。

这次事件提醒人们: 科学是相互协作的、而且在理想情况下是自我纠正的,但没有什么可以认为是理所当然的。

Williams说: “这是一个很小很细微的错误。 我们都想当然地以为计算机程序总是给出正确的答案。

登录查看更多
0

相关内容

夏威夷大学位于夏威夷群岛,它的历史可以追溯到1907年成立的夏威夷农业和机械工艺学院,于1920年正式获得夏威夷大学的名称,夏威夷农业和机械工艺学院并入其中,并逐步扩充至十个校区,形成夏威夷大学系统。玛诺阿分校是夏威夷大学系统的旗舰学校,拥有最大规模和最先进的教学设施。夏威夷大学是一所具备国际水平的研究型大学,学术声誉很高,尤其是热带科学、海洋研究、英语教学、旅游管理、基础科学及亚太地区大众健康等研究。该校的绰号为彩虹战士。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
198+阅读 · 2020年6月29日
还在修改博士论文?这份《博士论文写作技巧》为你指南
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
115+阅读 · 2020年5月24日
算法与数据结构Python,369页pdf
专知会员服务
165+阅读 · 2020年3月4日
《可解释的机器学习-interpretable-ml》238页pdf
专知会员服务
208+阅读 · 2020年2月24日
Nature 一周论文导读 | 2019 年 5 月 30 日
科研圈
15+阅读 · 2019年6月9日
手把手教你用Python实现自动特征工程
量子位
12+阅读 · 2018年9月3日
这些论文绘图软件,你一个都不会用
算法与数学之美
8+阅读 · 2018年8月17日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
Arxiv
92+阅读 · 2020年2月28日
Arxiv
4+阅读 · 2018年11月6日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
16+阅读 · 2018年2月7日
VIP会员
相关资讯
Nature 一周论文导读 | 2019 年 5 月 30 日
科研圈
15+阅读 · 2019年6月9日
手把手教你用Python实现自动特征工程
量子位
12+阅读 · 2018年9月3日
这些论文绘图软件,你一个都不会用
算法与数学之美
8+阅读 · 2018年8月17日
实战 | 用Python做图像处理(二)
七月在线实验室
17+阅读 · 2018年5月25日
python pandas 数据处理
Python技术博文
4+阅读 · 2017年8月30日
Top
微信扫码咨询专知VIP会员