Недоработка в Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии

13 октября 2019 года

Аспирант гавайского университета обнаружил проблему в Python-скрипте, используемом для вычислений химического сдвига, определяющего химическое строение изучаемого вещества при спектральном анализе сигналов методом ядерного-магнитного резонанса. В ходе верификации результатов исследований одного из своих профессоров аспирант заметил, что при выполнении скрипта в разных операционных системах над одним и тем же набором данных на выходе получался разный результат.

Например, при запуске в macOS 10.14 и Ubuntu 16.04 для протестированного набора данных скрипт выдавал некорректное значение 172.4 вместо 173.2. Скрипт включает около 1000 строк кода и используется химиками с 2014 года. Изучение кода показало, что вывод неверного значения обусловлен отличиями при сортировке файлов в разных операционных системах. Авторы скрипта полагали, что функция "glob()" всегда возвращает файлы, отcортированные по имени, в то время как в документации на glob указано, что порядок вывода не гарантируется. Исправление свелось к добавлению list_of_files.sort() после вызова glob().

Обнаруженная проблема поставила под сомнение корректность более 100 публикаций по химии, выводы в которых были сделаны на основе вычисленного скриптом химического сдвига. Точное число исследований, в которых использовался скрипт неизвестно, но публикация с его кодом процитирована в 158 работах. Авторам данных работ рекомендовано оценить корректность работы скрипта на применявшихся для вычисления операционных системах и провести перерасчёт для того, чтобы убедиться в правильности вычисленных значений. Инцидент является прекрасным примером того, что не только качество проведения эксперимента, но и корректность обработки полученных данных в программах, которые до этого повсеместно использовались, может повлиять на конечный результат.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Недоработка в Python-скрипте могла привести к неверным результатам в более 100 публикациях по химии», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.