Ett fel i Python-skriptet kan leda till felaktiga resultat i mer än 100 kemipublikationer

University of Hawaii doktorand hittade problem i Python-skriptet som används för beräkningar kemisk förskjutning, som bestämmer den kemiska strukturen hos ämnet som studeras under spektralanalys av signaler med hjälp av metoden Nukleär magnetisk resonans. När en doktorand verifierade forskningsresultaten från en av sina professorer märkte en doktorand att när man körde ett skript på olika operativsystem på samma datamängd, var resultatet annorlunda.

Till exempel, när du kör på macOS 10.14 och Ubuntu 16.04 för den testade datamängden, skriptet utfärdad felaktigt värde 172.4 istället för 173.2. Skriptet innehåller cirka 1000 rader kod och har använts av kemister sedan 2014. Granskning av koden visade att utmatningen är felaktig på grund av skillnader vid sortering av filer i olika operativsystem. Manusförfattarna trodde att funktionen "glob ()" returnerar alltid filer sorterade efter namn, medan globdokumentationen säger att utdataordning inte är garanterad. Fixningen var att lägga till list_of_files.sort() efter glob()-anropet.

Ett fel i Python-skriptet kan leda till felaktiga resultat i mer än 100 kemipublikationer

Det upptäckta problemet tvivlade på riktigheten av mer än 100 publikationer om kemi, vars slutsatser gjordes på grundval av det kemiska skiftet som beräknats av manuset. Det exakta antalet studier där manuset användes är okänt, men publikationer med dess kod citerades i 158 tidningar. Författarna till dessa verk rekommenderas att utvärdera riktigheten av skriptet på operativsystemen som används för beräkningarna och räkna om dem för att säkerställa att de beräknade värdena är korrekta. Incidenten är ett utmärkt exempel på det faktum att inte bara kvaliteten på experimentet, utan också korrektheten av att bearbeta de erhållna uppgifterna i program som
Detta har använts flitigt kan påverka det slutliga resultatet.

Källa: opennet.ru

Lägg en kommentar