Python-skriptin virhe voi johtaa virheellisiin tuloksiin yli 100 kemian julkaisussa

Havaijin yliopiston jatko-opiskelija löydetty ongelma laskelmissa käytetyssä Python-skriptissä kemiallinen muutos, joka määrittää tutkittavan aineen kemiallisen rakenteen menetelmää käyttävien signaalien spektrianalyysin aikana Ydinmagneettinen resonanssi. Erään professorinsa tutkimustuloksia tarkistaessaan eräs jatko-opiskelija huomasi, että kun skripti ajettiin eri käyttöjärjestelmissä samalla tietojoukolla, tulos oli erilainen.

Esimerkiksi kun testatun tietojoukon käyttöjärjestelmä on macOS 10.14 ja Ubuntu 16.04, komentosarja annettu väärä arvo 172.4 173.2:n sijaan. Käsikirjoitus sisältää noin 1000 koodiriviä, ja se on ollut kemistien käytössä vuodesta 2014 lähtien. Koodin tarkastelu osoitti, että tulos oli väärä ehdollistaa erot tiedostojen lajittelussa eri käyttöjärjestelmissä. Käsikirjoituksen kirjoittajat uskoivat, että toiminto "loraus()" palauttaa aina nimen mukaan lajitellut tiedostot, kun taas glob-dokumentaatiossa todetaan, että tulostusjärjestystä ei taata. Korjaus oli lisätä list_of_files.sort() glob()-kutsun jälkeen.

Python-skriptin virhe voi johtaa virheellisiin tuloksiin yli 100 kemian julkaisussa

Havaittu ongelma asetti kyseenalaiseksi yli 100 kemian julkaisun oikeellisuuden, joiden johtopäätökset tehtiin käsikirjoituksen laskeman kemiallisen siirtymän perusteella. Niiden tutkimusten tarkkaa lukumäärää, joissa käsikirjoitusta on käytetty, ei tiedetä, mutta julkaisuja sen koodilla on lainattu 158 artikkelissa. Näiden töiden tekijöitä suositellaan arvioimaan skriptin oikeellisuus laskelmissa käytetyissä käyttöjärjestelmissä ja laskemaan ne uudelleen varmistaakseen, että lasketut arvot ovat oikein. Tapaus on erinomainen esimerkki siitä, että kokeen laadun lisäksi myös saatujen tietojen käsittelyn oikeellisuus ohjelmissa, jotka
Tämä on laajalti käytetty saattaa vaikuttaa lopputulokseen.

Lähde: opennet.ru

Lisää kommentti