To illustrate the power of EnzymeML, we illustrate selected applications for experimental enzymologists, system biology modelers, and software developers. More applications and use cases are available in our publications on EnzymeML.
Creating EnzymeML documents from spreadsheets
In the absence of a standard format, experimentalists typically store their experimental time course data in a spreadsheet following an ad hoc structure. Recently, a CSV-formatted spreadsheet, the BioCatNet template, was proposed to store and report experimental data on enzyme-catalyzed reactions according to the STRENDA Guidelines. An application-specific API, TL_BioCatNet, can be used to convert the BioCatNet spreadsheet, containing time course data on substrate and product concentration and comprehensive information on the reaction conditions, to EnzymeML.
To illustrate how to create EnzymeML from an Excel spreadsheet, you can start by downloading an Excel spreadsheet for the lyase-catalyzed self-ligation of 3,5-dimethoxybenzaldehyde. By running the thin API layer, it will map each object in the spreadsheet to an EnzymeML object such as Protein, Reactant, or Reaction and adds it to the EnzymeMLDocument object by a simple add-function. The backend code takes care of validating data types and provides programming language primitives to append information to the respective dictionary. After successful mapping and validation, the API object layer is then written to an EnzymeML document by calling the EnzymeMLWriter function.
Creating EnzymeML documents from STRENDA DB entries
STRENDA DB is a comprehensive database on enzyme-catalyzed reactions, which includes information on reaction conditions and kinetic parameters. The EnzymeML API can be used to create an EnzymeML document from a STRENDA DB entry via a STRENDA DB-specific thin API layer TL_STRENDA to the object layer using the PyEnzyme library.
To illustrate how to create EnzymeML documents from STRENDA DB entries, you can take STRENDA DB entry 3IZNOK containing information on kinetic studies of the tryptophan biosynthesis using the TrpB2o enzyme from Arabidopsis thaliana. By running the thin API layer, it will map each object in the STRENDA DB to an EnzymeML object. The backend code takes care of validating data types. After successful mapping and validation, the API object layer is then written to an EnzymeML document. Kinetic modeling of EnzymeML data by COPASI
COPASI is a modeling and simulation environment. Using the PyEnzyme library and a COPASI-specific thin API layer, TL_COPASI, the time course data (measured concentrations of substrate or product) can be loaded into COPASI. Within COPASI, different kinetic laws can be applied, kinetic parameters are estimated, and plots are generated to assess the result. The selected kinetic model and the estimated kinetic parameters can then be added to the EnzymeML document.
To illustrate the above application, we generated time course data from STRENDA DB entry 3IZNOK and imported it to COPASI. The data was then simulated by applying the Michaelis-Menten model equation and the kinetic parameters (kcat = 0.015 s-1, KM = 0.01 mM) over a time interval of 200 seconds. First, the time course data of each replicate was exported via the exportReplicates-function, inherited by every reaction object, to a Pandas DataFrame. Next, the dataframe was saved to a tab-separated file and columns were defined via the COPASI API. In this way, COPASI can map every dataset to their respective reactants. The EnzymeML document was then written to a string and parsed together with the TSV file by the COPASI API for modeling. As a result, both estimated Michaelis-Menten kinetic parameters vmax = 0.149 µM and KM = 0.0099 mM as well as the equation were instantiated by the KineticModel class and written to the EnzymeML document via the reactions setModel method. Finally, the EnzymeML document was written into a file. It should be noted, that alongside the programmatic parameter estimation, a .cps file was created to be used within the COPASI GUI. Hence, a broad spectrum of models could be used to describe the kinetics as well.