For Software Developers

Want to implement EnzymeML read and write functionalities in your software? Here you have some ideas to inspire your team.

EnzymeML follows the Standards of Reporting Enzymology Data (STRENDA) Guidelines, a comprehensive set of metadata describing reaction conditions and kinetic models. EnzymeML is written in eXtensible Markup Language (XML). It builds on the well-established Systems Biology Markup Language (SBML) and includes information about the enzyme, the substrate(s) and product(s), the reaction conditions, the selected kinetic model, and estimated kinetic parameters (find the XML schema definition here). The measured time course of substrate or product concentrations is stored in a comma-separated value (CSV) formatted file. The XML- and the CSV file are combined into a single EnzymeML document using the widely-used OMEX format

Application Programming Interface (API)

You can implement EnzymeML read and write functionalities into your software application (electronic lab notebooks, laboratory information management systems, modeling platforms, or database) by using the EnzymeML Application Programming Interface (API), either as a python library to be implemented locally with your software, as a RESTful API to be implemented locally or via a RESTful API installed on our web server.

How to interact with the API

We start with an EnzymeML document which contains the experimental conditions (protein sequence of the enzyme, enzyme concentration, temperature, initial substrate concentration, and time course of the substrate). The goal is to read the time course data in a modeling tool, estimate kinetic parameters, and add the kinetic parameters and the selected kinetic model to the EnzymeML document

  1. Application (e.g. modeling tool) sends an EnzymeML document (example here) and a request for reading time course data and enzyme concentration (example here) to the API (URL:….)
  2. The API extracts the requested information (e.g. time course data and enzyme concentration) from the EnzymeML document and sends back a JSON file (template here) to the application (e.g. modeling tool)
  3. The modeling tool reads the information from the JSON file, defines a model (e.g. Michaelis-Menten) and estimates kinetic parameters by fitting the time course data
  4. The modeling tool writes the selected model and estimated parameters to a JSON file and sends it to the API, together with the EnzymeML document
  5. The API inserts the selected model and estimated parameters into the EnzymeML documents and sends them back

As a result, the EnzymeML document does not only contain the experimentally measured data, but also the model and the estimated kinetic parameters. One experimental dataset might be modeled by many different kinetic models, therefore the EnzymeML document might contain different kinetic models and the respective parameters together with a single experimental dataset.


  • Download the python library from the EnzymeML Github
  • The RESTful API is packaged within DOCKER to facilitate a local installation - To integrate our API download our docker image and use our documentation.
  • Use the publicly available RESTful API at Please note, we are using security standards such as SSL and several backend checks to make sure your data won’t be exposed. On top of that, your won’t reside on our servers and is immediately removed.