Strange places to find a Chromatographer, Part: IV Software Company

>> February 1, 2010

No, he doesn't program games, he does chromatography software there.

Mr. Craig Hamilton see the chromatography from Inside, not inside the column but inside acquisition software and hardware. After a Master Degree in Analytical Chemistry with emphasis on chemometrics, Craig became a businessman and now operates a company with a 3 language acquisition package (soon, four with portuguese!! yes, that's my job!), with support to Ethernet connection, LIMS and in future with SQL and Oracle functions.

Craig will tell us about his experience with the computer world, and in the business world also. Thanks Craig!

By Craig Hamilton, H&A Scientific:

If you are lucky, you are healthy and happy and life lasts a long time. If you are luckier, you embrace the rare opportunities for change that can better your life. The luckiest of us work very hard to make those changes become reality!

Thus, it seems very natural to find a chromatographer in a Software Company. Of course, it is year 2010 now, so one must look back to the early 1990’s to understand the “why.” The “why” is that as the world was changing from the “paper strip-chart recorder” world to the “computerized” world, it was only natural that a chromatographer who understood computers would “cross the line” from “analytical chemistry” to “software developer.”

So for a chromatographer to make the transition from “the lab” to “the keyboard,” there must be a “need.” It’s like the old saying, “Necessity is the Mother of Invention.” The need was there for computerized chromatography data stations, and there were chromatography software programs available in the early 1990’s, but the prices were out of reach for most of us in university research laboratories. Any chromatographer who has ever been forced to analyze a variety of different types of samples using only a pencil and ruler to measure “peak heights” knows this need.

We all have read stories about how chromatographers used to “cut and weigh” peaks on strip chart recorders prior to the computerization of chromatography, but in reality, it’s not really a viable option in “the real world.”

So the need was there, and the funds were not, so let’s push forward to fulfill the need!

Borland Pascal was generally the programming language of choice for scientists in the 1980’s and early 1990’s. Borland had made a commitment to educational institutions, and Pascal was the obvious language of choice for scientists, as Pascal was originally developed to be a teaching programming language, and did not have all the complexities and idiosyncrasies of Fortran and C. Alternatively, the Basic programming language was not even considered, due to its lack of forced structured functionality at the time.

So for a chromatographer to be able to “program” such a chromatography program, they must have been introduced to “computer programming.” That is why higher education is so important to all of us. By obtaining a Master’s Degree in Analytical Chemistry with an emphasis on Chemometrics, one must really learn the art of computer programming, as Chemometrics is by definition the interface between chemistry and mathematics. Even in the late 1980’s and early 1990’s, in order to extract useful information from both fields of study, computerization was essential. Thus, programming skills were essential to complete the requirements for this field of study.

For example, one Chemometrics technique learned was “Self Modeling Curve Resolution (SMCR).” SMCR is the name given to those algorithms that make only general assumptions about multivariate data in order to resolve the contribution of each chemical species to the total overlapped curve. The specific technique used was Evolving Factor Analysis (EFA), allows one to extract the “unique” spectra of unresolved spectral mixtures (within reason). Chemistry and Math, tied together by the new computer power at hand!

It’s simply impressive to see unresolved spectra of mixtures be resolved by this powerful technique!

But prior to obtaining a Master’s Degree in Analytical Chemistry, the original question remains, how does a chromatographer “really” get involved in learning a programming language? It’s really simple, just buy a used IBM computer with two floppy drives in the early 1980’s, set it up in front of one’s television at home, grab some popcorn and a cold beer, and learn how to use it. Eventually one can take a class at the local community college in Pascal, and realize halfway through the course that computer programming is a logical process, just like chromatography and science in general, and then get so bored with the class you eventually drop out! No problem, by then one is “hooked,” truly enjoys it, starts writing programs totally on their own, and there is no turning back!

Returning to the task at hand after graduate school, first and foremost, for a chromatography program, the raw chromatographic data must be accurately recorded. This requires one to understand the analog-to-digital conversion process. All the software is built around this process, as it is the most critical. Secondly, software functions must then be written to accurately calculate peak areas and heights, as these are also critical and fundamental to a chromatography program. Thirdly, the source code to calculate concentrations of the “unknown” samples must be written so that a final report can be generated.

These three phases are all critical, and each one relies on the proceeding one to yield the final answer the chromatographer is seeking!

So the realization that after graduating with a Master’s degree and subsequent employment in a specialized research role at the university, it becomes apparent that this specialized employment role can be safely played until retirement. But if one wishes to change for the better and make contributions in multiple future roles, and make any of these contributions worthwhile outside of their assigned role, then one must move forward.

Thus, while still employed full-time at the university, it became apparent the preliminary programming work toward creation of a basic chromatography software program could be completed at home after working a full eight hours at the university.

Basically, the thought process can be summed up with the old saying, “Behold the turtle, he only makes progress when he sticks his neck out.”

The question remains, how does one “practically” make the transition from a stable university position to the extremely challenging position of entrepreneur? There is no easy answer. I would guess that the most important attributes required are a willingness to work very hard (actually this won’t do it, one much actually be prepared to work very, very, very hard…the chance to be a true entrepreneur cannot even be considered unless one is ready to “give it all they have”), strive to be an optimist when everything is falling down around you, embrace the chance to change for the better, and through sheer determination, just make it work. When failure is not an option, the only path is to plan and push for success. It’s that simple.

So one moves forward after making the full commitment to be a true entrepreneur, with no safety net, according to the rules outlined above. It’s a thousand times more challenging than was planned. Sometimes one looks back, but there is really no time to dwell on the past, as good decisions have been made, and the only choice is to move forward.

Another old saying is “To be a good biologist, one must first be a good chemist.” The parallel is “To be a good Chromatography Software Developer, one must first be a good Chromatographer!” Of course, in today’s world it is essential to be surrounded by and assisted by Computer Scientists, Project Managers, Validation Engineers, and a Quality Assurance Program.

The chromatography software was translated from DOS Pascal to Delphi, Borland’s 16-bit Windows implementation of Pascal, in the mid-1990’s. It was later translated to C++ in the early 2000’s to take advantage of the 32-bit world and various software libraries that were available in C++ and not Pascal, although the current Borland Delphi Pascal compiler is still a wonderful product.

Eventually, we will write a database backend for our chromatography program, with Microsoft’s SQL Server being the database of choice, and of course we will also make an Oracle database backend. This will fulfill the requirements of very large laboratories with many simultaneous users.

However, “at the end of the day,” the software must work for the chromatographer! Thus, it still makes sense for the software developer to be “one and the same…”

0 comentários: