Product Maximisation Algorithm


We have developed a versatile algorithm designed to maximise the concentration of a user-defined product within a given SBML model. This algorithm empowers users to input their model, specify a kinetic parameter for variation, and define a symmetric range and resolution tailored to their requirements. The algorithm systematically adjusts the kinetic parameter values across the designated range, computing product concentrations using the model's rate laws. The final product concentration, after a specified time interval (defaulted to 15 minutes but adjustable), is stored and graphically presented, effectively optimising the selected parameter to maximise product concentration.

In our specific application, we focused on maximising palmitate production by optimising the catalytic constant Kcat_FAS for the fatty acid synthesis reaction. The algorithm systematically varied Kcat_FAS over a symmetric range of 12500 around its initial value, generating a concentration-versus-Kcat_FAS graph for palmitate at the end of the specified time interval (default set to 15 minutes)

Our overarching objective in developing this algorithm was to reduce the production cost of palmitate under constant initial conditions. By maximising palmitate concentration, we performed a refined cost analysis compared to the original estimate, aiming to address one of the significant challenges hindering the widespread adoption of biofuels—their comparatively high production costs. While our approach is theoretical, it lays the foundation for future experimental optimisation strategies, including media and resource optimisation, to position biofuels as a competitive and sustainable alternative in the fuel industry.

The Algorithm


The algorithm begins by prompting the user to input the path to their SBML model file. Subsequently, the user specifies the target product for maximisation, the kinetic parameter to be varied, and the symmetric range across which the parameter will be adjusted.

The Outer Loop

The outer loop systematically varies the specified kinetic parameter across the user-defined range. Commencing from the lower bound and iterating through evenly spaced values (based on user-defined resolution, defaulting to 100), the outer loop orchestrates the optimisation process.

The Inner Loop

Within each iteration of the outer loop, the inner loop manages the temporal evolution of the product concentration for the current parameter value. Minute-wise concentrations are computed iteratively up to the user-specified time (default set to 15 minutes). Calculations account for the dynamic interplay of species, reactions, and parameters in the model. The concentration at the end of the specified time for the target product is stored in an array.


Upon completion of all iterations, the algorithm generates a graph elucidating the relationship between the final product concentration and the varied kinetic parameter values. This visualisation provides insights into how the selected parameter influences product formation, offering valuable groundwork for subsequent experimental investigations. The graph highlights the maximum product concentration achieved, aiding in the identification of the optimal parameter value for maximisation.

Interpretation of Results

The algorithm allows users to explore the impact of different kinetic parameters on product concentration, aiding in the selection of the most influential parameter for maximising product yield. In our specific application, the optimised product concentration served as a basis for estimating reduced production costs, aligning with the broader objective of enhancing the economic feasibility of our biofuel production to compete with conventional fuels in the market.