A Python szkript hibája több mint 100 kémiai publikációban helytelen eredményekhez vezethet

Hawaii Egyetem végzős hallgatója találtam probléma a számításokhoz használt Python szkriptben kémiai eltolódás, amely a módszerrel végzett jelek spektrális elemzése során meghatározza a vizsgált anyag kémiai szerkezetét nukleáris mágneses rezonancia. Egyik professzora kutatási eredményeinek ellenőrzése közben egy végzős hallgató észrevette, hogy ha ugyanazon az adatkészleten különböző operációs rendszereken futtatott szkriptet, a kimenet eltérő volt.

Például, ha a tesztelt adatkészlet macOS 10.14 és Ubuntu 16.04 rendszeren fut, a szkript elárulta hibás érték 172.4 helyett 173.2. A szkript körülbelül 1000 kódsort tartalmaz, és 2014 óta használják a vegyészek. A kód vizsgálata azt mutatta, hogy a kimenet hibás következtében különbségek a fájlok rendezése során a különböző operációs rendszerekben. A forgatókönyv szerzői úgy vélték, hogy a funkció "glob ()A " mindig név szerint rendezett fájlokat ad vissza, míg a glob dokumentáció szerint a kimeneti sorrend nem garantált. A javítás az volt, hogy a list_of_files.sort()-t hozzáadtuk a glob() hívás után.

A Python szkript hibája több mint 100 kémiai publikációban helytelen eredményekhez vezethet

A feltárt probléma több mint 100 kémiával foglalkozó publikáció helyességét vonta kétségbe, amelyek következtetéseit a forgatókönyv által számított kémiai eltolódás alapján vonták le. A forgatókönyvet használó tanulmányok pontos száma nem ismert, de a kóddal ellátott publikációkat 158 ​​cikkben idézték. E munkák szerzőinek azt javasoljuk, hogy értékeljék a szkript helyességét a számításokhoz használt operációs rendszereken, és újraszámítsák azokat, hogy megbizonyosodjanak arról, hogy a számított értékek helyesek. Az eset kiváló példája annak, hogy nemcsak a kísérlet minősége, hanem a kapott adatok feldolgozásának helyessége is olyan programokban,
Ezt széles körben használják, befolyásolhatja a végeredményt.

Forrás: opennet.ru

Hozzászólás