Skip to content

How to use EnzymeML?

Depending on the use case, EnzymeML provides a range of tools for reading and writing EnzymeML documents. These include native programming APIs in various languages, tools for importing data from analytical device outputs, and high-level desktop applications for managing EnzymeML documents.

EnzymeML Suite

The EnzymeML Suite is a desktop application for creating, editing, and visualizing EnzymeML Documents. Via the sidebar, different elements of an EnzymeML Document can be added and edited. EnzymeML Suite
The EnzymeML Suite is available for Windows, macOS, and Linux and can be downloaded from here.

Python tools

Besides the native APIs, Python tools are available for directly reading and processing data from various analytical instruments. These tools share the ability to import measured data and supplement information on reaction conditions and initial concentrations in a streamlined manner. Finally, an EnzymeML document is generated, containing concentration data and details on the initial conditions of all catalysts, substrates, and products of a reaction.

Photometric Data

The MTPHandler Python library streamlines the processing of photometric data from plate readers. It enables reading, processing, and exporting data from a variety of plate reader formats, blank correction, and concentration calculation in a scalable way.

Chromatographic Data

The Chromatopy Python library streamlines the processing of chromatographic time-course data. It enables reading, processing, and exporting data from a variety of chromatographic instruments, assignment of retention times to molecules, and concentration calculation in a scalable way.

NMR Data

The NMRPy Python library streamlines the processing of NMR time-course data. It allows for FAIR and reproducible workflows starting from the raw output of NMR spectrometers from Bruker, Varian, and more. Either interactive widgets or scripts can be used to (pre-)process the NMR spectra and prepare them for downstream analyses of the time courses collected. Features include apodisation, zero-filling, Fourier transformation, phase correction, peak picking, deconvolution, baseline correction, and more. NMRpy is integrated with EnzymeML, allowing to parse existing EnzymeML documents to assign species to picked peaks, prepare new Measurement objects, calculate concentrations from deconvoluted integrals, and return the updated EnzymeML document. The NMR data and metadata, including instrument and measurement parameters, as well as all processing steps performed, can be saved to standardized data exchange formats like JSON or XML to allow for full re-analysis.

Native APIs

EnzymeML provides native APIs in Python, Julia, TypeScript, Rust, and Go. These APIs allow to read and write EnzymeML Documents programmatically in different programming languages.

FAQ

Is EnzymeML a database?

No. EnzymeML is an exchange format. But the EnzymeML Data Model can be used as a blueprint to setup a local data base.

How to define a solvent or buffer

A solvent or buffer in a reaction can be defined in two ways. Either it is treated as a single SmallMolecule from a simplified perspective, or all SmallMolecule components of the buffer are defined separately and grouped together as a Complex.

How is data from endpoint measurements handled?

Endpoint measurement data is handled in the same way as time-course data. Within an EnzymeML document, endpoint data is treated like time-course data with a single measurement point.
For example, if the concentration of a substrate species with an initial concentration of 200 µM was measured after 30 minutes and 120 µM remained, the MeasurementData object should be defined as follows:
initial: 200
time: [0, 30]
data: [200, 120]

How to reference a SmallMolecule or Protein from ?

Both, a SmallMolecule and Protein share the fields id and reference. The id serves as an internal identifier, which allows to reference a SmallMolecule or Protein in MeasurementData, within a Complex, or within an Equation via the species_id field.
For example if a substrate SmallMolecule is defined with the id s1, it can be referenced in an Equation:
species_id: s1
equation: v_max * s1 / (km + s1)

Besides the id field, a SmallMolecule and Protein possess a reference field. Its purpose is to reference an database entry in which a Protein or SmallMolecule is defined. This could be an url to an UniProt or ChEBI entry