Researchers looking for compounds that could fight pancreatic cancer instead found a glitch in a 5-year-old computer script for automating nuclear magnetic resonance predictions (Org. Lett. 2019, DOI: 10.1021/acs.orglett.9b03216). The program, which has been in regular use, could lead a scientist to incorrectly characterize a molecule, although no major errors have yet emerged.
Philip Williams and colleagues at the University of Hawaii at Manoa were attempting to characterize some compounds from cyanobacteria that degrade too quickly for NMR analysis. So they turned to a computational technique, developed by Thomas Hoye of the University of Minnesota Twin Cities and Patrick Willoughby, now of Ripon College, that uses density functional theory (DFT) to predict NMR spectra (Nat. Protoc. 2014, DOI: 10.1038/nprot.2014.042). Their code automatically searches DFT-generated files on a user’s computer, extracts information, and calculates chemical shifts.
When double-checking its results, Williams’s group found disagreements in some of the peak assignments for leptazoline molecules. The researchers tracked the problem to how different operating systems sort files. Hoye and Willoughby wrote their code assuming files were sorted alphanumerically, which was true on the Windows, Apple, and Linux systems they tested the program on. But some versions of those systems sort in different ways, and the code was inadvertently extracting data from the wrong files.
Williams says the error was small and did not affect their results or conclusions. At press time, Chemical & Engineering News had not learned of any other errors caused by this glitch in the roughly 150 papers that cite the original procedure. Hoye and Willoughby plan to update their 2014 paper and include code from Williams’s group that fixes the file-sorting issue.
T. Daniel Crawford, director of the Molecular Sciences Software Institute at Virginia Tech, says he doesn’t fault Hoye and Willoughby, noting that software bugs are common. He says chemists should study software development best practices, including rigorous testing across different operating systems, which could have prevented the glitch.