Evolving Research Code into Research Software: A Graph-Based Architecture for CodeEntropy
Many scientific software projects begin as research prototypes developed to answer specific scientific questions. As these codes mature and attract users, they must evolve to support maintainability, extensibility, and long-term sustainability. This transition is often challenging when the original implementation tightly couples scientific algorithms with implementation details. CodeEntropy is an open-source scientific software package used to compute absolute entropies from molecular dynamics simulations, with applications in biomolecular modelling and drug discovery. Originally developed as an academic research code, it has since been adopted and further developed as maintained research software. As the codebase evolved, limitations in the original design made it increasingly difficult to represent relationships between stages of the analysis and to extend the software with new functionality. This talk presents a case study of introducing a graph-based architecture to represent the analysis as an explicit dependency structure. Individual analysis steps are modelled as nodes in a Directed Acyclic Graph (DAG), with edges describing data dependencies. Execution order is derived automatically from these dependencies, allowing the computational workflow to more closely reflect the underlying scientific method. This approach improves the clarity of the algorithmic structure and makes it significantly easier to extend the codebase with new analysis methods. The talk discusses the motivations for the redesign, key architectural decisions, and the challenges of evolving legacy research software while maintaining scientific correctness and reproducibility. It concludes with practical lessons on aligning software architecture with scientific models and choosing appropriate abstractions for complex scientific workflows.
Authors
- Harry Swift (ORCID: https://orcid.org/0009-0007-3323-753X)
Institutions
- Science and Technology Facilities Council (GB)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-09-01
- DOI
- https://doi.org/10.5281/zenodo.22233956
- Primary Topic
- Scientific Computing and Data Management
- Type
- article
- Field-Weighted Citation Impact
- 0.00