Archive

Archive for January, 2010

How MestReC was born

January 27th, 2010

Over the years, many of our users have asked about the history of MestReC and the early days. Now that we are celebrating the 5th anniversary of our company, Santi has already written in the Mestrelab blog about the birth of Mestrelab as a company, but this omits the early years of MestReC, which I will cover in the oncoming posts.

When I started the MestReC project, back in 1995, I was not really aware of all the consequences it would eventually have. At that time, I had just returned from England and had no clear ideas on what to do with my professional career. In principle, the most attractive option for me was to carry on doing organic chemistry research and to pursue a PhD as I had had a very good experience in that field in the group of Prof. Paul Jenkins in Leicester. However, my thoughts were so scattered that I even considered the possibility of earning a living playing drums in a rock band :-). Fortunately for the hearing health of many people, I soon abandoned that crazy idea and decided to keep my focus on the scientific arena.

And it was at the moment, whilst I was enjoying a period of pleasant procrastination, that Javier came to me to propose a devilish project for off-line NMR data processing and analysis which he named MestReC (more about the name in a moment). I knew almost nothing about signal processing (other than basic Fourier Transform theory) and my experience as a programmer went back to small applications that I developed in Pascal whilst at Secondary School. But ignorance is bold and, in this case, it turned out to be our best friend, because I was brave enough to accept the project. Needless to say that Javier was also quite reckless to trust someone like me to carry out such a project :)

Just before I continue with the story, a quick note on the name MestReC. This is an acronym for Magnetic Resonance Companion, as Javier was very insistent that the software should be very easy to use, a tool that would work on the data ‘with’ its users, helping them and accompanying them on the research journey. At the same time, ‘mestre’ means teacher in our local language, Galician, so the name also refers to the potential educational qualities of the software and to its geographical origin. As if fate had an input in it, of course, the C could also refer to the fact that the software was written in C/C++, but that was not the case initially and this consideration did not come into it.

Right after Javier introduced the project, and as an evident sign of silliness, I said, ‘yeah, no problem, this is something I can do in less than 6 months’. At the present time, after more than 14 years of development, I have come to the realization that it is a never ending project. Anyway, we still remember that memorable day back in late November 1995 when we saw for the first time an FID displayed on a DOS window after a few weeks trying to decode the cryptic data generated by our 250 MHz spectrometer equipped with an Aspect 2000 console. Funnily enough, we selected one of the most difficult formats to start off the project. The integer numbers were 24 bits long (3 bytes) with different byte ordering and the floating point numbers did not follow the IEEE 754 standard. But after some hacking around with some algorithms written in Assambly Language embedded into a Pascal application, we managed to create our first NMR data converter.

After that little but encouraging success we thought that the next step, Fourier Transform of the FID, should be something much simpler. Once more, our initial decision of using data from the Aspect 2000 turned out to be quite unfortunate in the short term as I will explain in a moment, but from my current perspective, I have to admit that it was a very beneficial circumstance as it forced us to ponder on our knowledge of the various protocols for NMR data acquisition and to delve deeper into Fourier Transform theory.

Without going into too much technical detail, the problem with the data set we were working with was that it required a real Fourier Transform (as opposed to a complex Fourier Transform) as the data was acquired in the so-called sequential mode (which means that the real and imaginary components of a complex value were not sampled simultaneously but rather one after the other using one single ADC). When we learnt all the tricks to transform a sequential FID, we produced our very first version of MestReC (version 0.1). It was of course a very primitive one, developed in Pascal (with those Assambly routines for data file parsing) which worked in DOS mode and , in addition to FT, it included basic weighing functions (Exponential and Gaussian) and manual phase correction. Obviously, it was intended for 1D NMR data only. Unfortunately, as the opposite would be great if only for nostalgic reasons, no part of this DOS/Pascal application has survived.

Of course, we knew that we would get nowhere with an application for DOS. It was precisely that year when Windows 95 rolled out and this appeared as a unique opportunity for us. Leaving all graphical enhancements aside, the greatest benefit we saw with Windows 95 was the 32 bit arquitecture which made programming of memory intensive software (such as NMR apps) much easier than 16-bit based Operating Systems (MS-DOS, Windows 3.x, etc). Well, I reckon that Windows 95 was not a 100% 32 bit OS, but for our purposes that did not really matter.

So we focused our development efforts on Win95. Another decision we had to take at that point was whether we should keep programming in Pascal, the language I felt more comfortable with, or rather switch to something else. I now remember that I spent a few hours in a library close to the Chemistry faculty taking a look at different programming books and I found a rather voluminous book by Charles Petzold titled “Programming Windows”. I decided to buy it and spend the Christmas holidays going through it. It was a great read and convinced me to learn and use C as the language for the new Windows 95 version of MestReC. This meant that I had to port the old Pascal code to C which basically consisted in starting the project nearly from scratch.

In a couple of months we managed to get a first prototype of the application working (BTW, this was possible thanks to the great support I got from Giuseppe Balacco, developer of SwanMR). In addition to supporting Bruker Aspect format, this new Windows version imported Bruker X32, Varian and Nuts file formats. As for its processing capabilities, it included basic tools such as different weighing functions (Exponential, Gaussian, Sine Bell), Fourier Transform of both sequential and simultaneous FIDs (real and complex FT), phase and baseline correction and some basic analysis tools (peak picking and integration).

mestrec-1

Maybe the first ever NMR spectrum processed in MestReC 1.0

To the best of my knowledge, this was the first Windows 32 bits (Win32) native application for NMR data processing. Despite being a very simple application, it soon turned out to be a very useful piece of software for many people, not just in our department, but also in several universities around the world.

More on what happened after this first release in my next post.

Carlos Celebrating , 6 comments Leave a comment

5 years of Mestrelab - The future

January 27th, 2010

So, over the last few weeks both me and Carlos have blogged extensively about the past and about how Mestrelab came to be and to grow into what it is today. But of course, although 5 years looks like a long time when you think about it, it really is not, and specially for a company, and therefore we are now staring at the next 5, and hopefully 10, 20, 50 years (not me personally for the latter, mind). We have many options, and many ideas, possible business models, potential projects, and it is of course hard to make decisions and to give up some of these to make the others possible. And we should not only do what we think is best, but we should listen to our loyal customers and find out what it is that they would like us to do, and the business offers they would support from our company.

We have a great, young and enthusiastic team of people with a wide range of skills in the scientific software field, and with the capability to learn fast and to take new projects on. We also now have a very exciting network of likeminded collaborators who allow us to stretch our development efforts far beyond our internal capabilities. And we have the desire to continue to expand our offer and to continue to fulfil our customers’ needs. These are all great assets to fuel future growth.

However, there are some things we really not want to do. We don’t want to compromise with the quality of our product because of overstretching it, we don’t want to reduce the quality of our customer service because of cost reductions or delocalizations (don’t you love these words!). And we don’t want to stop having fun while we work on a field we find, to many people’s surprise, very exciting!

There are some things we know we want to do, or which we are already starting to do:

  • We want to continue to improve the capabilities of our software to handle and analyze different experiments and to support different applications, and we are always open to hearing about new or different things our users would like to do with the software. Write to us with new applications and feature requests in our current fields and we will consider them.
  • We want to continue to build the LC/GC/MS plugin as a complimentary plugin to the NMR one, but also as a high quality software application in its own right, focused on user workflow.
  • We want to push the potential of our processing and analysis capabilities in the area of automatic structure determination (Verification). We are making very good progress in this area with the help of the ineffable Stan Sykora, and we are very excited about the announcements we are likely (or hopeful) to be making in the near future. Watch this space, and let us know if you would like us to keep you posted on progress here!
  • We want to combine the information obtained by NMR and LC/MS or GC/MS on this automatic structure determination effort, to gain as much reliability as possible.
  • In order to continue to follow the Mnova ‘integrated software suite for handling of analytical data’ concept, we think that including databasing capabilities in Mnova will add great value to our users, and are therefore creating a database environment to handle analytical data using Mnova as the client to drive saving, indexing and searching. We are very keen to hear from users who would be interested in such databasing capabilities, and to know about the main needs/features/applications people have in mind for such a tool. Please write to us if you would like to know (or would like us to know) more.
  • There are many things we could do, and it would be great to hear about what you, our users, think we should be focusing on. We see many possibilities in molecular structure handling and storing, in automatic management of analytical data, in plugins for the computation of additional physical properties, in processing and analysis of data coming from additional techniques, etc. The flexibility of the Mnova interface should allow us to integrate many of these capabilities without compromising the integrity of Mnova as a single software package, and this is exciting and something we would like to exploit for the benefit of the Chemistry and Biology communities. We also want to know if you think there are any third party softwares we should be integrating closely with (LIMS and pipeline management systems, etc.). Finally, we are very keen to hear about how you feel we may improve our customer service, become more accessible to our users and which conferences and events we should make sure we support in our annual calendar.

So, this is your chance to make sure our company continues to go the way you would like it to for the next 5 years. We very much look forward to hearing from you! (Use the comments of this post, our email support[at]mestrec.com or the contact form at our web page.)

Santi Celebrating , No comments Leave a comment

Tip of the day #2: How to measure coupling constants

January 25th, 2010

It is very easy to measure coupling constants with Mnova, just by using the Crosshair feature, which can be accessed by pressing the <C> key.

The crosshair includes information about the chemical shift and the intensity of the peak and also allows you to measure distance between peaks (or coupling constants) by clicking on the left mouse button and dragging to the desired peak.

Measuring Coupling Constants in MestReNova

pablo Tip of the day No comments Leave a comment

Tip of the day #1: Zoom in modes

January 21st, 2010

Flexibility when visualizing data is very important in any graphical analytical program. One of the main capabilities from this point of view is zooming, and a number of ways of zooming are available in Mnova. There are in fact three ways to ‘Zoom In:

  • Vertical
  • Horizontal
  • Box

You can toggle from one zooming mode to another just by pressing the <Z> key. The video below illustrates these different zooming modes.

In addition, a zoom lens of 20% will be obtained by clicking on the left mouse button (after having selected the ‘zoom in’ feature by pressing the ‘Z’ key or selecting it from the toolbar or ‘View’ menu).

pablo Tip of the day No comments Leave a comment

How to get the most out of Mnova: Introducing the ‘Tip of the Day section’

January 20th, 2010

After speaking to many of our customers at conferences, training sessions, etc., we noticed that a great proportion of our users were not very familiar with some of Mnova’s most interesting features.

Of course, you can always visit our Resources Section on our web page or contact our support team when you want to find out more about a specific issue.

However, the purpose of this section is to create a series of short articles (tips) that will help you discover essential Mnova functionalities such as: How to analyze 1H-NMR spectra and create multiplet reports ready for publishing in journal specific format, different methods for zooming, how to efficiently use the full view feature in the program, how to change the intensity of the traces of 2D NMR, and many more.

We have already published the first one: Zoom in modes, so follow this link to have a look at it.

We will publish at least one every week. Stay tuned!

Dani Tip of the day No comments Leave a comment