Python 脚本中的缺陷可能会导致 100 多种化学出版物出现错误结果

夏威夷大学研究生 我发现 用于计算的Python脚本中的问题 化学位移,使用该方法在信号光谱分析过程中确定所研究物质的化学结构 核磁共振。 在验证一位教授的研究结果时,一名研究生注意到,在不同操作系统上对同一数据集运行脚本时,输出是不同的。

例如,当测试数据集在 macOS 10.14 和 Ubuntu 16.04 上运行时,脚本 发布 错误值 172.4 而不是 173.2。 该脚本包含约 1000 行代码,自 2014 年以来一直被化学家使用。 检查代码发现输出不正确 由于 在不同操作系统中对文件进行排序时存在差异。 该脚本的作者认为该函数“地球仪()" 总是返回按名称排序的文件,而 glob 文档指出不保证输出顺序。 修复方法是在 glob() 调用之后添加 list_of_files.sort() 。

Python 脚本中的缺陷可能会导致 100 多种化学出版物出现错误结果

这一发现的问题让人们对 100 多篇化学出版物的正确性产生了怀疑,这些出版物的结论都是根据脚本计算的化学位移得出的。 使用该脚本的具体研究数量尚不清楚,但有 158 篇论文引用了包含该代码的出版物。 建议这些作品的作者在用于计算的操作系统上评估脚本的正确性并重新计算,以确保计算值正确。 该事件是一个很好的例子,不仅证明了实验的质量,而且还证明了程序中处理所获得数据的正确性。
这已经被广泛使用可能会影响最终的结果。

来源: opennet.ru

添加评论