Ein Fehler im Python-Skript könnte zu falschen Ergebnissen in über 100 Publikationen in der Chemie geführt haben.

Doktorand der Universität Hawaii entdeckte ein Problem im Python-Skript, das für Berechnungen verwendet wird chemische Verschiebung, die die chemische Struktur des untersuchten Stoffes bei der spektralen Analyse von Signalen mit der Methode der Kernmagnetresonanz. Während der Verifizierung der Forschungsergebnisse einen seiner Professoren bemerkte der Doktorand, dass bei der Ausführung des Skripts auf verschiedenen Betriebssystemen mit demselben Datensatz unterschiedliche Ergebnisse erzielt wurden.

Zum Beispiel, bei der Ausführung unter macOS 10.14 und Ubuntu 16.04 für den getesteten Datensatz gab das Skript einen inkorrekten Wert von 172.4 anstelle von 173.2. Das Skript umfasst etwa 1000 Zeilen Code und wird seit 2014 von Chemikern verwendet. Die Untersuchung des Codes ergab, dass die Ausgabe des falschen Wertes durch Unterschiede bei der Dateisortierung in verschiedenen Betriebssystemen bedingt war. Die Autoren des Skripts gingen davon aus, dass die Funktion „glob()“ immer Dateien in alphabetischer Reihenfolge zurückgibt, während in der Dokumentation zu glob angegeben ist, dass die Reihenfolge der Ausgabe nicht garantiert ist. Die Korrektur beschränkte sich auf das Hinzufügen von list_of_files.sort() nach dem Aufruf von glob().

Ein Fehler im Python-Skript könnte zu falschen Ergebnissen in über 100 Publikationen in der Chemie geführt haben.

Das entdeckte Problem stellte die Richtigkeit von über 100 Veröffentlichungen in der Chemie in Frage, deren Ergebnisse auf dem vom Skript berechneten chemischen Verschiebungen basierten. Die genaue Anzahl der Studien, in denen das Skript verwendet wurde, ist unbekannt, aber die Veröffentlichung mit seinem Code wurde in 158 Arbeiten zitiert. Den Autoren dieser Arbeiten wird empfohlen, die Korrektheit der Funktionsweise des Skripts auf den zum Berechnen verwendeten Betriebssystemen zu bewerten und eine Neuberechnung durchzuführen, um die Richtigkeit der berechneten Werte zu bestätigen. Der Vorfall ist ein hervorragendes Beispiel dafür, dass nicht nur die Qualität der Durchführung von Experimenten, sondern auch die Richtigkeit der Verarbeitung der gewonnenen Daten in Programmen, die zuvor weit verbreitet verwendet wurden, das Endergebnis beeinflussen kann.
Der Doktorand der Universität Hawaii entdeckte ein Problem in.

Quelle: opennet.ru

60GB SSD 8Gb DDR4