pyIDEAS: an open source Python package for model analysis

Abstract Mathematical models are used in many scientific areas such as enzyme kinetics and process engineering. They can be used for process analysis and optimization. However, a model is always a simplified representation of the real process and predictions always come with uncertainty. Therefore, the model building process should be performed thoroughly addressing calibration and validation procedures. Specific modeling tools (e.g. sensitivity analysis, optimization algorithms, experimental design techniques,…) to derive additional information (e.g. importance of parameters, estimate parameter uncertainty,…) are at hand and available in existing software. First, implementing these algorithms is time-consuming and often suboptimal in efficiency. Second, existing software is in many cases closed-source and not flexible in use. In both cases this results in the unavailability of the programmed algorithms in the corresponding articles making use of them. Therefore it is hard to validate the published findings and in some cases even impossible to reproduce the presented results. To address this problem the scientific community needs a certain critical mass of ‘off-the-shelf’ algorithms to perform model analyses which are available to the modeling community. To improve overall quality and reliability, such kind of code library should be open source and well documented. We hereby present pyIDEAS, an open source Python package to thoroughly but swiftly analyze systems represented by a set of (possibly mixed) differential and algebraic equations. The pyIDEAS package allows performing a model analysis in a straightforward and fast way. pyIDEAS provides a well-structured and logic framework which allows non-programmers to perform some model analysis and more advanced users to extend or adapt current functionality to their own requirements.