Community coding standards could advance scientific modeling

Theresa Windus, professor, Department of Chemistry.
Theresa Windus, professor, Department of Chemistry.

Theresa Windus is working to advance the use of collaborative computer science in her own field of chemistry as well as other molecular science areas.

Windus, an associate at the U.S. Department of Energy's (DOE) Ames Laboratory and a professor in the Department of Chemistry, works at the intersection of chemistry and computer science, using computer science techniques to model chemical reactions that would otherwise take place in a laboratory.

"Computer science and mathematics can be very abstract," Windus said. "My way of making it concrete is to go through the chemical route and to try to understand why a chemical reaction is happening and then see if I can predict what might happen next."

Using modeling also allows Windus to explore more “what if” scenarios, or virtual experiments, to understand how a reaction could be changed or improved without the limitations and expense of executing and observing multiple reactions in the laboratory.

As the modeling of reactions increases and as the models become more complex, computer science is intersecting with molecular sciences more often.

"Our current curriculum in most STEM fields is very focused on our own science and not on all the excellent computer science tools that are needed to get people up to speed in writing good code using software engineering methods," Windus said.

Windus is working to change that by bringing together the community of researchers who work on modeling molecular reactions to create and use coding standards as well as software and data interfaces. Her hope is to enable researchers to share methodologies more easily and create a usable interface for the next generation of scientists.

"There's so much that you have to do now," Windus said. "You have to keep all this knowledge about the science in your head — the computer science, the mathematics, the new methods you want to develop, the new science you want to accomplish. Putting all of that together can be really challenging. You might want to use someone else's method, so why redevelop the wheel? Why start building your own software when it's already out there?"

Windus serves as the co-director for code and data interoperability at the Molecular Sciences Software Institute (MolSSI), funded by the National Science Foundation. The goal of her work is to bring the community of chemists, physicists, biophysicists and materials scientists who develop theoretical and computational models together to create and agree on code standards. One advantage of a standard is that a researcher can use the standard to create the best code for a given machine without changing the rest of the software — improving overall performance of the software. In addition, new scientific methods can be developed faster by taking advantage of other developer’s software.

"There is a lot of code available in the community and solutions are available for making the codes work together,” Windus said. “The real challenge is to convince people that working together in this way is beneficial — so it's a social and educational issue more than anything else. If it's done well, and you get enough agreement, it can be a freeing rather than a restrictive activity."