BackgroundMetabolic pathways support the enzyme flux that converts input chemicals into energy and cellular building blocks. With a constant rate of input, steady-state flux is achieved when metabolite concentrations and reaction rates remain constant over time. Individual genes undergo mutation, while selection acts on higher level functions of the pathway, such as steady-state flux where applicable. Modeling the evolution of metabolic pathways through mechanistic sets of ordinary differential equations is a piece of the genotype-phenotype map model for interpreting genetic variation and inter-specific differences. Such models can generate distinct compensatory changes and adaptive changes from directional selection, indicating single nucleotide polymorphisms and fixed differences that could affect phenotype. If used for inference, this would ultimately enable detection of selection on metabolic pathways as well as inference of ancestral states for metabolic pathway function.ResultsA software tool for simulating the evolution of metabolic pathways based upon underlying biochemistry, phylogenetics, and evolutionary considerations is presented. The Python program, Phylogenetic Evolution of Metabolic Pathway Simulator (PEMPS), implements a mutation-selection framework to simulate the evolution of the pathway over a phylogeny by interfacing with COPASI to calculate the steady-state flux of the metabolic network, introducing mutations as alterations in parameter values according to a model, and calculating a fitness score and corresponding probability of fixation based on the change in steady-state flux value(s). Results from simulations are consistent witha prioriexpectations of fixation probabilities and systematic change in model parameters.ConclusionsThe PEMPS program simulates the evolution of a metabolic pathway with a mutation-selection modeling framework based on criteria like steady-state flux that is designed to work with SBML-formatted kinetic models, and Newick-formatted phylogenetic trees. The Python software is run on the Linux command line and is available athttps://github.com/nmccloskey/PEMPS.