Software review: Glotaran

The Glotaran software [1] is a tool for the global and target analysis of time-resolved spectroscopy and microscopy data. It is developed and maintained by the group of Ivo van Stokkum at the Vrije Universiteit Amsterdam and is freely available as source code and as ready-to-run java binaries. Technically, Glotaran is not as much of an analysis program in itself, but rather a front-end to the R-package TIMP, developed by the same research group [2]. We must therefore start our tour of the program with the TIMP environment. TIMP has its origins in ultrafast spectroscopy, where it focuses on the analysis of timeand wavelength-resolved (two-dimensional) datasets. It assumes that the observed data consists of the additive contributions of several components (chemical species), where each of the components has a characteristic spectrum and time-resolved concentration profile. TIMP’s job is to determine plausible spectra and concentration profiles to explain the observations. It does need some extra information to do this: the user must specify the total number of distinguishable components, as well as a parametric model for either the concentration profiles (a kinetic model) or the spectra of the components (a spectral model). TIMP will optimize both the model parameters (exponential decay times, amplitudes, bandwidth, etc.) and provide estimates for the observables for which no model was specified. Parametric descriptions of experimental parameters are included as well, such as the instrument response function, light scattering, or dispersion. That said, it is not exactly the most intuitive tool to pick up, mainly because it is designed around a command-line interface. Because TIMP is an exploratory tool, it should ideally encourage the user to explore and play with the data. But many researchers find this hard to achieve when confronted with a text prompt. This is were Glotaran comes in. On its own, it is primarily an interface to TIMP, providing a graphical and cross-platform interface to its functionality. It allows you to load and inspect your data in an interactive way, set up and execute a TIMP analysis, and visualize the obtained results, all from a graphical interface. It also contributes growing functionality of its own, including reading in various types of binary or plain text data formats not supported by TIMP, as well as basic preprocessing tasks such as outlier correction and baseline subtraction. The Glotaran website offers several resources that introduce the program, including a number of publications, an online “wiki” with documentation, and a video showing one of the authors demonstrating a sample analysis session. The movie is especially helpful, and without it, I would have taken considerably longer to get started. At the topmost level, an analysis in Glotaran consists of a project, which groups a number of different objects related to your data and the analysis. These fit into a few categories, including datasets, results, analysis schema, and models. Datasets are simply the data that you wish to analyze with Glotaran. These can be loaded from a variety of plain-text input formats. It should not be too hard to convert an existing dataset to one of the formats supported by Glotaran. Once loaded, the data can be displayed in a convenient image viewer, making it easy to explore the data and to perform manipulations such as averaging, filtering, baseline subtraction, etc. The dataset viewer also offers direct access to the singular-value decomposition of the dataset. Once datasets are available, the next step is to specify the analysis that needs to be performed. This is somewhat unintuitive at first because Glotaran tries to provide a very flexible, and thus fairly abstract, mechanism for doing so. So, here is a quick rundown: an analysis in Glotaran is governed by an “analysis schema”, which combines a dataset, a model, and a thingy that allows you to specify where the output goes. To organize these, Glotaran adopts a graphical editor where the different items can be dragged onto a canvas, and links can be constructed between them simply by dragging the mouse cursor. This is also how you can edit the actual kinetic model that is to be used: drag it into an analysis schema, and then use the property editor to change the relevant parameters. This system does work, but it did take me a while to get the hang of it. Speaking of models, Glotaran at presents supports only the specification of kinetic models. According to the authors, this is intended to be expanded in future versions. Fortunately, the support for specifying different kinetic models is robust, ranging from easy-to-use parallel or sequential multi-exponential decays, to the explicit definition of arbitrary schemes by directly specifying the transition rates between the different components. I certainly think this is a great feature. An editor is included for defining these models, but it can be a bit overwhelming – one aspect that I would love to see in a future version is the ability to have Glotaran automatically generate a graphical picture of the model, clearly showing the different states and transitions between them. Once the analysis scheme has been set up, running it is as easy as right-clicking on the schema and selecting “run analysis”. This will cause TIMP to spin its wheels in the background, while Glotaran waits for the results to stream back in. These results are automatically added to the graphical user interface, and can then be graphically inspected. Glotaran will automatically list the optimized kinetic parameters and the raw TIMP input and