Why a new data analysis software ?I'm a researcher at the interface between physics, chemistry and biology, and in our team, we pride ourselves on making the most of the data we acquire, especially through quantitative analysis and modelling. In fact, we spend a lot of time doing fitting simple formulas or complex differential equations to our data. As we were not really satisfied with the data fitting capacities of the software available, we've had our custom data processing/fitting tool, SOAS, for ages. However, that tool was hard to maintain (Fortran + Fortran libraries interfacing with X11 with ABI changing every once in a while without notice), impossible to port to non-X11 platforms, not very user-friendly, and not easy to extend at all. So, when I got my permanent position, a rewrote a completely new version from scratch, called QSoas using C++, Qt, Ruby and the GNU Scientific Library. The result is incomparably more powerful, more easy to maintain, more user-friendly, and more portable (I build it for Linux, Mac and Windows).
What does it do ?The main features of QSoas are:
- all standard data processing capacities (filtering, baseline subtraction, arithmetic transformations);
- fully scriptable (can process hundreds of data files in one go);
- easy to use data fitting interface, based on the recognition that
initial parameters are very importantfor difficult fits, and that being able to change them easily is an absolute must (screenshot);
- easy fit parameter save and reuse;
- very powerful "global fits", with parameters that can be common to several datasets and others that can be dataset-specific (at the option of the user);
- integration of differential equations and kinetic systems;
- quick data browsing;
- peak detection;
- arbitrary fit functions, and many built-in fit functions with smart initial parameters detection;
- infinite undo/redo and much more...
What has it done already ?We've relied heavily on QSoas's functionalities for the past 3-4 years, and a great part of the team's publications just wouldn't be there without QSoas. More precisely on selected examples:
- we used advanced fitting (fitting derivatives along with data) in Fourmond et al, JACS 2013;
- we used heavy batch processing and global fitting for Hajj et al, EES 2014;
- we used the integration of kinetic systems in Orain et al, JACS 2015;
- we made heavy use of the global fitting capacities in Ceccaldi et al, BBA 2015...