Department of Chemistry

Murray-Rust Research Group

Lensfield

Lensfield2 is a tool for managing file transformation workflows, analagous to 'make' for data.

Lensfield2 requires a build file, defining the various sets of input files and the conversions to be applied to them. Like 'make', for instance, Lensfield2 is able to detect when files have changed, and update the products of conversions depending on them. However, unlike 'make' where this is simply achieved through comparison of files' last-modified times, Lensfield2 records the complete build-state, so is able to detect if there has been any change in configuration, such as when the parameterisation of build steps has changed and when versions of tools involved in the various steps of the workflow are updated, or when any intermediate files are altered.

Lensfield2 is designed to run workflow steps written in Java and build using Apache Maven. Lensfield2 is able to tap into Maven's dependency management system to pull in the required libraries for each build step.