Nature論文爆出千行Python代碼Bug,或影響百篇學術論文

2021-01-08 新浪科技

來源:機器之心

參與:張倩、鄭麗慧

你的論文借鑑了 Nature 文章的代碼?對不起,論文可能要重新寫了。

在 10 月 8 日發表於《ACS Publication》期刊的一篇論文中,來自夏威夷大學的 Jayanti Bhandari Neupane、Yuheng Luo、Rui Sun、Philip Williams 等研究者表示,他們發現了一個《Nature》論文中的 Python 腳本編程錯誤,這個錯誤可能會對 150 多篇已經發表的化學論文產生影響。

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 語言構建的腳本。

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 認可了夏威夷大學研究者的發現,並且在推特上展示了該團隊對腳本所做的更正:

他還提醒道,「如果你在做或依賴核磁共振化學位移方面的研究,那你一定要讀一下這篇論文。」

腳本的作者也在 twitter 上表示了對這一發現的讚賞,但他表示,當年寫代碼的時候,腳本是運行良好的。

他說,「Rui 和 Williams 教授的發現真的非常棒。6 年前我寫這個腳本的時候,作業系統能夠處理排序問題。Rui 和 Williams 添加了必要的排序代碼和函數來確保計算排序一致,給他們點讚!」

這篇 2014 年的論文至今已經被瀏覽過 1900 多次。Williams 表示,可能有 150-160 項研究項目受到了該 bug 的影響。例如,如果 Williams 用這個腳本錯誤地計算了樣本中的成分,而化學家剛好要用這一結果合成新的分析來研發新藥,那他的研究可能從開始就是錯的。

雖然 Williams 等人及時發現了這個問題,避免了該 bug 對自己的研究造成的影響,但它可能對其他研究舉足輕重。他希望這篇論文能夠讓科學家們更加關注實驗的計算部分。由於已發表的論文中很少提及作業系統,所以這一 bug 產生的影響目前還很難得出定論。

「學術原型代碼」VS「工業級別代碼」

一般來說,代碼並不是一篇學術論文中最被關注的點。所以說,計算機學界及其他領域學界往往不會對代碼質量過分深究。這也導致,不管是學術研究者還是業界人士,都能感覺到「學術原型代碼」和「工業級別代碼」之間的巨大差異。

顯然,科研人員們暫時未能成為精於代碼的「程式設計師」。論文中的代碼往往存在易讀性差、注釋量不足等問題,在沒有對應技術手冊的情況下也常常讓讀者摸不著頭腦。

許多網友也對這一現象進行過討論:「發 paper 的代碼一般多是 quick and dirty, 如果說一個方法很好,希望把整個代碼做好做健壯,一般要經歷哪些步驟?」

最多的回答是:「重寫。」

還有一種類似張無忌演習太極劍法的實現方式:「把 paper 看完然後丟在一邊,直到完全忘卻代碼,然後根據記憶,按照工業級標準重寫一遍。」

不過相比於工業界的代碼,學術論文中代碼 bug 的影響畢竟還是有限的。

紐西蘭惠靈頓維多利亞大學化學系講師 Rob Keyzers 在今年的一項研究中引用了這篇論文,他表示自己當時確實並不知曉這個 bug。

Rob Keyzers 沒有太過擔心自己的成果,因為團隊在研究中沒有使用這項有 bug 的腳本。同時他也補充說:「我們會仔細檢查研究數據,以確保沒有得出任何不嚴謹的結論。」

「Nature Protocols」的發言人在一份聲明中回應道,他們正在調查夏威夷大學這項研究中所提出的問題,目前處於保密方面的考慮暫不發表評論。

參考連結:

https://arstechnica.com/information-technology/2019/10/chemists-discover-cross-platform-python-scripts-not-so-cross-platform/https://www.vice.com/en_us/article/zmjwda/a-code-glitch-may-have-caused-errors-in-more-than-100-published-studies

相關焦點

  • 曲阜師大齊連永教授論文入選「中國百篇最具影響國際學術論文」
    曲阜師大新聞中心訊日前,2020年「中國科技論文統計結果發布會」在北京舉行,會上發布了《中國卓越論文統計報告》,並評選出2019年中國百篇最具影響力國際學術論文。《中國卓越論文統計報告》由科技部中國科學技術信息研究所發布,在本次論文評價研究中,注重高質量科研成果的貢獻和影響,將各學科影響因子和總被引次數同居本學科前10%,且每年刊載的學術論文及述評文章數大於50篇的期刊,遴選為世界各學科代表性科技期刊,在其上發表的論文屬於高質量國際論文。2019年共有394種國際科技期刊入選世界各學科代表性科技期刊,發表高質量國際論文190661篇。
  • 2015中國大學最具影響力百篇學術論文排行榜
    為促進我國高影響高質量科技論文的發表,進一步提高我國科技研發的水平和國際影響力,引導我國的論文發展模式由重視數量向重視質量方向轉變,自2007年起,中國科學技術信息研究所在其發布的權威報告《中國科技論文統計結果》中按年度公布最新「中國百篇最具影響力國際學術論文」和「中國百篇最具影響力國內優秀學術論文」等權威學術論文統計,學術論文能否入選「中信所中國百篇最具影響力學術論文」已逐漸成為評價學術論文質量水平和國際影響力的重要標誌
  • 中國百篇最具影響國際學術論文出爐 安工大兩篇上榜
    安徽網 大皖客戶端訊 11月28日,記者從安徽工業大學了解到,中國科學技術信息研究所(以下簡稱「中信所」)在北京召開中國科技論文統計結果發布會,對中國科研人員發表的論文數量、高被引論文和熱點論文佔比以及國際合作狀況等做出分析報告。據悉,在2018年中國百篇最具影響國際學術論文中,安徽工業大學電氣與信息工程學院沈浩教授研究團隊的兩篇學術論文上榜。
  • 黑龍江大學一成果獲2019年「中國百篇最具影響國際學術論文」!
    2020年「中國科技論文統計結果發布會」於12月29日舉行。會上發布了《中國卓越論文統計報告》,並且評選出「中國百篇最具影響國際學術論文」。黑龍江大學付宏剛教授團隊與復旦大學李偉研究員在《JOURNAL OF THE AMERICAN CHEMICAL SOCIETY》上發表題為《Molecule Self-Assembly Synthesis of Porous Few-Layer Carbon Nitride for Highly Efficient Photoredox Catalysis》的研究文章獲2019年「中國百篇最具影響國際學術論文
  • 2019年中國百篇最具影響國際學術論文出爐
    2020年「中國科技論文統計結果發布會」於12月29日舉行。會上發布了《中國卓越論文統計報告》,並且評選出「中國百篇最具影響國際學術論文」。以下為此次發布的高質量論文報告,以及「中國百篇最具影響國際學術論文」。2019年高質量國際論文,哪些機構產出最多?1. 2019年中國發表高質量國際論文59867篇,佔世界份額的31.4%,排在全球第2位。
  • 中國團隊 Nature 新冠論文被指圖片造假,又是科研「P圖」?
    2019年11 月,Elisabeth Bik曾爆出國內著名專家、南開大學校長曹雪濤院士多達64篇論文涉嫌圖片造假,一時間引起廣泛熱議。2010 年,一些學術出版商同意將研究論文的文本存入一個名為 CrossCheck 的總服務站,這樣期刊就可以使用軟體來檢查提交的論文是否存在抄襲。對此,Fennell 表示:「我們需要在圖像方面進行同樣的合作。
  • Python 腳本中的 bug,可能影響了數百項學術研究
    這導致這些研究人員對已發表的 150 多項化學研究論文結果產生了懷疑。這份腳本名為「Willoughby-Hoye」,腳本大約有 1000 行,它自 2014 年開始使用,用來計算核磁共振圖譜的化學位移值。
  • 《環球科學》網站上線「nature專區」,可免費閱讀nature完整論文
    在「nature專區」可查看每期《自然》學術論文的中文摘要,點擊每篇摘要後附帶的連結,網頁會自動跳轉至《自然》論文的全文頁面,供用戶閱讀論文。2014年底,自然出版集團宣布,該集團旗下《自然》等49種學術期刊將通過全球特約媒體免費分享論文,以促進科學家與公眾的交流。作為全球最重要的科學與公眾交流平臺,《科學美國人》全球14個國際版本,同時成為nature首批特約媒體,獲得授權在官網免費向公眾分享自然出版集團下屬49種期刊的完整論文。
  • 從3篇全國「百篇優博」論文中,我發現了畢業論文選題的關鍵!
    研究生的培養一般定位於高層次研究型人才,而碩士、博士學位論文是研究生在學習和研究歷程中的標誌性成果。在歐美等科學技術先進的國家,學術機構對學位論文尤其是博士學位論文的質量控制非常嚴格,學術水準要求高,往往一篇博士論文就打開一個新的研究領域,幾篇博士論文就可以組建一個新的學科。歷屆諾貝爾獎的評選材料中,參評者當年的博士論文佔了相當比重。
  • 最新:2019年中國百篇最具影響國際學術論文出爐|附全名單
    2020年「中國科技論文統計結果發布會」於12月29日舉行。會上發布了《中國卓越論文統計報告》,並且評選出「中國百篇最具影響國際學術論文」。值得注意的是,為落實改進科技評價體系、發表高質量論文的相關政策要求,國家科學技術部中國科學技術信息研究所經過調研分析,首次對「高質量國際論文」進行了定義:將各學科影響因子和總被引次數同居本學科前10%,且每年刊載的學術論文及述評文章數大於50篇的期刊,遴選為世界各學科代表性科技期刊,在其上發表的論文屬於高質量國際論文。
  • 中國100篇最具影響國際學術論文出爐
    會上發布了《中國卓越論文統計報告》,並且評選出「2019年中國百篇最具影響國際學術論文」。值得注意的是,為落實改進科技評價體系、發表高質量論文的相關政策要求,國家科學技術部中國科學技術信息研究所經過調研分析,首次對「高質量國際論文」進行了定義:將各學科影響因子和總被引次數同居本學科前10%,且每年刊載的學術論文及述評文章數大於50篇的期刊,遴選為世界各學科代表性科技期刊,在其上發表的論文屬於高質量國際論文。
  • 寶雞文理學院馮海濤博士在Nature子刊和JACS等國際期刊發表論文
    近日,寶雞文理學院化學化工學院、陝西省植物化學重點實驗室、AIE(聚集誘導發光)研究中心馮海濤博士一個月內以第一作者在國際頂級期刊連發三篇重量級學術論文。)上,論文第一作者為馮海濤博士,寶雞文理學院是第一通訊單位,寶雞文理學院AIE中心名譽主任、香港科技大學唐本忠院士為論文通訊作者,這也是寶雞文理學院第一次以第一單位在高水平Nature子刊上發表學術論文。
  • 用Python這個小工具,一次性把論文作圖與數據處理全部搞定!
    想想自己,每天除了上課、寫論文、查文獻,還要為作圖分析數據抓破頭皮……結果寫出來的論文連導師那關都過不了。 前幾天,有同學在後臺向我抱怨:「第一次知道寫論文能把人寫禿」。
  • 論文預印本網站arXiv開始提供論文相關代碼
    收集各領域論文預印本的網站arXiv,現在與機器學習論文平臺Papers with Code合作,在頁面添加代碼頁籤,讓機器學習論文作者,可以提供相關代碼,使得機器學習論文可以和代碼連接在一起,方便其他讀者取用驗證,以加速社群機器學習的研究。
  • 2019年中國百篇最具影響國際學術論文公布 河北大學兩篇論文入選
    12月29日,2020年「中國科技論文統計結果發布會」舉行。會上發布了《中國卓越論文統計報告》,並且評選出「中國百篇最具影響國際學術論文」。自1987年以來,中國科學技術信息研究所一直承擔著中國科技人員在國內外發表論文情況的統計分析工作,每年定期公布中國科技論文產出整體分析報告,並在此基礎上拓展到對中國在科技期刊、專利產出、學術圖書出版等領域情況的統計分析。
  • 好未來7篇學術論文學術論文被四大國際頂級會議收錄
    近日,好未來AI工程院機器學習團隊的7篇學術論文連續入選國際人工智慧教育大會(AIED 2020)、教育數據挖掘國際會議(EDM 2020)、國際聲學、語音與信號處理會議(ICASSP 2020)、國際網際網路大會(WWW 2020)等多個國際頂級學術會議,向世界展示了中國AI+教育的發展潛力。
  • 4900篇NIPS 2018提交論文難評審?北京大學學術論文自動評分模型
    近兩日,NIPS 2018 8000 多篇投稿(後經 Hugo Larochelle 澄清,為 4900 篇)、使用本科畢業生做同行評審的信息刷爆朋友圈。在人工智慧火熱的今天,頂級大會收到的論文是越來越多,對同行評審的人數、要求也越來越高。
  • 學術論文影響因子(IF)的前世今生
    如今SCI上發表論文累計的影響因子數已經成為大多數學校博士畢業的硬性要求。不過IF怎樣計算,SCI又是由哪個機構創建並且維護的,很多人,甚至包括一些發表過SCI論文的人都不了解。在多數人認知裡,這樣一個權威的論文收錄評價機構,應當是一個非盈利的學術組織。然而,事實是,SCI以及IF的運營機構卻是一家徹頭徹尾的商業公司。
  • 驚天學術造假!400餘篇論文或來自同一「論文工廠」,涉及數十家中國...
    「學術打假人」Elisabeth Bik 再次拉響了學術造假警報。她和團隊發現了 400 多篇來自不同機構的論文,在條帶、圖形版式和標題上高度雷同,似乎都產自同一個「論文工廠」。根據 Bik 爆料顯示,這些論文幾乎全部來自中國的幾十家醫院,其中包含了多家三甲醫院。
  • 全球top10醫學院《nature》重磅論文被撤稿,涉及多名華人科學家
    重磅論文被撤稿近日,世界頂級科技期刊《nature》對2014年發表題為《miR-34a blocks osteoporosis and bone metastasis by inhibiting osteoclastogenesis and Tgif2》的論文做出撤稿的決定,該篇論文當時揭示了