How Trendy Are LIMS or ELN Systems – a Software Engineer Perspective

Magenta line5 min read

The fields of biotechnology, chemistry, medicine and pharmaceutics have been undergoing an enormous process of digitalization for the past 10-20 years. Many programming languages and frameworks have emerged, each trying its best to attract as many followers as possible. Ranging from every single electronic instrument used in a laboratory or office, to complex organization-wide or even world-wide information systems, most of the solutions have one thing in common: they all run some sort of computer code in order to work.

Computers have been around for a while now and in parallel to the development of hardware (processors, memory devices, chips etc.), many programming languages and frameworks have emerged, each trying its best to attract as many followers as possible. Terms like C, Java, HTML, JavaScript and many more have become so popular that even people outside of IT now instantly recognize them.

So which technologies and programming languages are used in biotech, chemistry, medicine, pharma etc. nowadays? Finding a complete answer to that question is practically impossible, mostly because of the following 2 constraints:

  1. It is very hard to draw a limit to what defines a pharmaceutical, medical, chemical or biotechnological product or a system. For the purposes of this article, any device with a processor, be it a lightweight electronic pipette or a server hosting a web application, could be considered. The number of such devices is simply too large, so we will try to target specific products in this article to narrow this number down.
  2. Many aforementioned industries (pharmaceutics most of all) are very sensitive when it comes to security and data integrity, which in turn means that many products and solutions are proprietary. This means that there is no access to the source code of the solutions, which is also often accompanied by a complete lack of any marketing materials. Consequently it is often impossible to “reverse-engineer” the programming language used behind the screens. Often, such techniques are even protected by law.

Bearing previous paragraph in mind, the goal of this article is to research programming languages used in individual products, and draw some conclusions as to why specific technologies were used. We focused on the following two solutions that seem to be a pretty hot topic nowadays:

  • Laboratory Information Management Systems (LIMSs),
  • Electronic Laboratory Notebooks (ELNs).

Electronic lab notebookWe have chosen LIMSs and ELNs since many are provided as web applications. For web applications, it is usually easier to figure out which technology is used in the background (we were using a browser plugin called Wappalyzer), and because of their nature, most companies offer free online demonstrations or trial versions. We focused on such products because they represent the new players on the market that want to establish a customer base. Since those products are relatively new, it is fair to assume they would be developed in technologies that are currently popular in the IT field. Worth mentioning is also that majority of researched softwares are focusing the field of research more than the field of diagnostics.

We researched the list of active LIMS and ELN vendors on the LiMSwiki.org portal (and some additional research via Google), and tried to determine their technological backgrounds. We were successful in that for only 45 LIMS/ELN systems from that list, so any interpretation of the presented data must be taken with a grain of salt, as it is probably not a representative sample of the real data. Nonetheless, we feel many findings might still be useful as a general overview of the area.

lims_chart_1 lims_chart_2

In region of desktop LIMS and ELN systems, there’s an interesting catch; both Java and C# have been around for some time, and from the researched LIMSs, they’re both (almost) equally represented. Despite Microsoft sailing into open source waters recently, C# is still a synonym connected with proprietary software, while Java is traditionally used in both open source and closed source applications. Some additional conclusions for researched desktop LIMSs (again, bear in mind that the sample is small and not necessarily representative):

  • Majority of C# solutions (probably 100% of the researched LIMSs) are platform-dependant, so half of the researched desktop LIMS run only on Windows operating systems.
  • Java and C# are two most-used and active high-level programming languages (on a level above e.g. C++), as well as both being mature (in comparison to some new trends like Python, HTML5, JavaScript, …), so the heavy usage of both of them is not surprising.

On the front of web-based LIMSs, many more programming languages are used (logical, since many more languages exist for web applications).

  • lims_chart_3Similarly as in general web-application market, the mature frameworks (PHP, ASP.NET (C#) and various Java implementations) are still used in the majority of the solutions.
  • “New kids on the block” (Ruby on Rails, Python, full JavaScript frameworks) are only marginally represented, perhaps even less than in general market. This could be attributed to the “latency” of the LIMS development sphere behind the general market, or simply because LIMS companies prefer to employ trusted and tested technologies.
  • Compared to general market, ASP.NET is used twice more frequently (general market share is approximately 16%), which is an interesting observation – Microsoft is a big player in the laboratory automation field.

To summarize, the research of active LIMS softwares showed that the LIMS systems follow the general trends in software development, with the only exception being more frequent use of Microsoft technologies. That could be attributed either to reluctance of the field towards open source solutions (which is globally gaining more and more momentum), or simply to the application field “lagging behind” the general software trends for some years.

By Luka Murn, Senior Software Engineer