QTreds: a flexible LIMS for omics laboratories
Abstract
Motivation and Objectives
Advances in DNA/RNA sequencing technologies and the contemporary introduction of the so-called “next-generation” sequencing instruments during the last decade, made it possible to automate several steps of the laboratory processes, leading to an increased throughput.
As a direct consequence, there has been an exponential growth of data being generated and the development of more efficient and complex laboratory procedures.
To efficiently handle the large amounts of data produced and to implement a quality control plan, a Laboratory Information Management System (LIMS) is highly-recommended. A LIMS is a complex software platform aimed to the management of the laboratory data and processes. Several LIMS are currently available, but most of them have prohibitive costs and have proprietary code, lacking often flexibility and scalability.
We have designed and implemented a QUALITY and TRacEability Data System (QTreds), a software platform born to address the specific needs of the CRS4 sequencing laboratory.
The main purpose of our in-house software solution was to provide a system that could help researchers to have a complete knowledge of the laboratory processes at each step, managing and verifying the:
•workflow creation
•samples traceability;
•diverse experimental protocols definition;
•inventory of reagents;
•users’ roles and privileges;
•customized report generation.
Tracking and monitoring all the phases of the laboratory workflow can help to identify and troubleshoot problems more quickly, reducing the risk of process failures and their related costs
Methods
To develop QTreds, we followed a software approach commonly referred to as Agile. Starting from a general description of the needs of the laboratory and the main functional requirements that the system was expected to have, we created a working but incomplete prototype, refining it constantly through a continuous interaction with the researchers and the personnel of the laboratory until obtaining the desired results.
QTreds is a web application with a client-server architecture developed in the Ruby programming language - Ruby web site: http://www.ruby-lang.org (Last accessed on July 2nd, 2012), using the framework Rails - Rails web site: http://www.rubyonrails.org (Last accessed on July 3rd, 2012).
QTreds has been developed following a design pattern known as Model-View-Controller (MVC) which assigns to objects of our system one of these three roles (Model, View or Controller) and defines the way objects communicate with each other. Model objects encapsulate the data and define the logic and computational methods to manipulate them. The View is responsible for generating a user interface, usually based on data in the Model. The Controller acts as an intermediary between one or more application’s Views and one or more of its Models.
The persistence layer of the platform was developed using Active Record, a Rails implementation of the object-relational mapping (ORM) pattern introduced by Martin Fowler – Active Record web site: http://ar.rubyonrails.org (Last accessed on July 2nd, 2012). The latter enables the communication between QTreds and the MySQL relational database used to store data, thus reducing the need to use the Structured Query Language (SQL), but allowing us to use it whenever we needed it – MySQL website: http://www.mysql.com (Last accessed on July 4th, 2012).
The implementation of QTreds also relies on the use of different open-source programming libraries. The web user interface integrates the Views generated through the Rails Action View module with the Prototype Javascript Framework which enabled us to deal with the Asynchronous JavaScript and XML (AJAX) technology in a very easy and efficient way - web site: http://www.prototypejs.org (Last accessed on July 4th, 2012).
Furthermore the use of the script.aculo.us set of Javascript libraries - web site: http://script.aculo.us (Last accessed on July 4th, 2012) provides us with a visual effects engine, that we used to enhance the interactive user experience with the application.
All the activities and operations allowed by the QTreds platform can be assigned to four functional areas shown in the graphical representation below:
The protocol definition is a crucial phase performed by the lab supervisor.
A protocol is a sort of template that describes the workflow, that is the sequence of steps of a particular class of experiments (for instance, the Exome Enrichment Protocol, will list all the steps of that kind of experiments: First Hybridization, First Wash, Purification, PCR, etc). Each step, that we call “activity”, provides a detailed description of the instruments involved, the reagents used and the items consumed at a given point of an experiment . The lab supervisor can perform this protocol definition task using a graphical user interface or writing an eXtensible Markup Language Schema (XML) document, that must be compiled following a set rules that we defined and collected in an XML Schema Definition (XSD) document. The resulting XML protocol will be processed and exploited by the system to graphically represent the experiment workflow as a “state diagram” that will guide the user step by step, enabling him to manage and monitor the progression of his experiment.
QTreds is also provided with a system for privilege management and authorization. The Authorization module defines different user roles, each with a different access profile; each role includes a set of features and privileges to which the assigned user will have access.
At the moment we have implemented six main roles: administrator, supervisor, user, inventory manager, analyzer and viewer.
Depending on the role assigned, each user will be able to perform different levels of operations and to access different kinds of information. For example a simple user will be allowed to see only data related to his experiments or to the projects in which he is involved, while the administrator will have a complete view of all the activities and data processing operations. A user can have different roles in different projects.
The Inventory Management module tracks all the reagents and items used by the researchers for their experiments. It includes different components: 1) a Catalog where all the typologies or categories of items used in the laboratory have to be inserted; 2) a Stock to register the reagents and other items physically present in the lab; 3) a Topology, which defines a virtual representation of the laboratory to keep track of the locations of the instruments in which the items are stocked; 4) a Personal Stock, that is a sort of “shopping cart” in which each researcher must insert all the reagents and items needed to perform his experiments.
QTreds integrates all aspects of the DNA sequencing process which includes sample submission, handling and tracking and also allows to design the workflow of each experiment providing the data needed for subsequent analyses.
Results and Discussion
QTreds has been developed, starting from the needs of the CRS4 Sequencing and Genotyping Platform (CSGP), where it has been used since June 2011 to make almost 100 DNA library preparation and sequencing experiments, processing over 1500 samples.
A new version of QTreds is currently under test and will be released soon. The new release will be provided with an efficient Application Programming Interface (API) in order to allow smart and automated access to information. The API has been implemented according to the REpresentational State Transfer (REST) architecture (Fielding, 2000). Using this API, any authorized user or system will be able to retrieve resources and information via a standard Hypertext Transfer Protocol (HTTP) request, providing the opportune parameters.
The API will also enable to insert data into the QTreds database, creating a bi-directional communication channel between our system and any other external application or tool. The upcoming release will also provide a complete reporting system to visualize and export data in different file formats.
A trial version of QTreds is available on demand for academic users. We are setting up a web site to give public access to the system. We intend to put it online in time for the conference. QTreds will be distributed as an open source software: the exact license model (copyleft-style or “permissive” open source) is currently under discussion. Also in this case we will disclose our choice very soon. Thanks to its flexibility our system can be easily adapted to address the issues and the needs of other kinds of laboratories; therefore we are currently developing prototypes for some research groups in the fields of Metabolomics and Proteomics, with whom we are actively collaborating.
Acknowledgements
The authors are grateful to the personnel of the CSGP for their precious suggestions and the help provided in each phase of the development of the platform.
References
- Melo A, Faria-Campos A, et al (2010) SIGLa: an adaptable LIMS for multiple laboratories, BMC Genomics 11(Suppl 5):S8. doi:10.1186/1471-2164-11-S5-S8
- Stocker G, Fisher M, et al (2009) iLAP: a workflow-driven software for experimental protocol development, data acquisition and analysis, BMC Bioinformatics 10, 390. doi:10.1186/1471-2105-10-390
- Triplet T, Butler G (2012) The EnzymeTracker: an open-source laboratory information management system for sample tracking, BMC Bioinformatics 13, 15. doi:10.1186/1471-2105-13-15
Note:
Figures and tables are available in PDF version only.
Full Text:
PDFDOI: https://doi.org/10.14806/ej.18.B.544
Refbacks
- There are currently no refbacks.