Software and Hardware
The Golm Plant Database is implemented within the commercial LIMS Nautilus 2003 R2 B3 (ThermoFisher, Dreieich, Germany). The LIMS is based on Oracle9i (Oracle Corporation, Redwood City, USA). The live system is presently operating under Windows 2000 Server (Microsoft Corporation, Redmond, USA). The test system is operating under Windows Server 2003 (Microsoft Corporation). Both systems are operating on a Dell PowerEdge 1950 system (Dell, Round Rock, USA).
User interfaces were programmed as ASP.NET 1.1 and 2.0 (Microsoft Corporation) web pages for Internet Information Server 5.1 and 6.0 (Microsoft Corporation). The web pages and the sampling module generate XML-Files that are forwarded to the LIMS' background processor by the Thermo-event monitor program (ThermoFisher). Barcode-scanner based data entry is performed with the portable data terminals CipherLAB 711-L (AISCI, Bad Salzuflen, Germany). Data transfer from the scanner to the server is performed by the program 232_read.exe (AISCI). CSV Files from the data terminals are converted into XML files by a PERL-program (ActivePerl 5.8.0 Build 806, ActiveState, Vancouver, Canada).
The sampling module was programmed with Visual Studio 2005 and C# (Microsoft Corporation), and communicates with Oracle 9i using Oracle Instant Client 10.1.0.5 (Oracle Corporation). Data from the ontologies and plant objects from the LIMS are cached to speed up local data operations, before performing the XML import and response file generation.
The LIMS objects layout is given in the additional file 1.
The ACCESS-Database of the service unit is implemented in ACCESS 2000 (Microsoft Corporation). The data model for the relevant table is given in the additional file 2.
Germplasm module
The LIMS concept of a sample is used for any plant line, which means any batch of plants (seeds, tubers, whole plants) derived from the same workflow step [see additional file 1]. So far, the workflows 'import of plants', 'transformation of plants', 'vegetative' and 'generative propagation' and 'crossing' have been implemented. Any individual plant object from that batch is represented by the LIMS concept of an aliquot. A plant object is defined as one or several plants that are regarded as one object in an experiment. Each plant object is linked to a plant line by entering the identifier number of the parent plant line into the object record.
In the starting workflow 'import of plants', the key information 'species' (including 'subspecies'), 'cultivar' or 'ecotype' and known 'mutations' of the imported material are entered. Furthermore, information about the supplier, the import date and the person and research group by which the material was imported is stored. For genetically modified organisms (GMO), the legally required information for the complete description of the plasmid plus additional information necessary for the efficient use of the plasmid (e.g. antibiotics resistance markers) are entered on a separate construct-information page. The information is added to a construct-information table and the construct dataset is flagged as 'imported'. After data submission, the newly generated plant line receives a unique identifier number and an automatically generated unique name. The name is generated from the species abbreviation, cultivar and mutant name. In case of genetically modified material, the primary key of the construct information table is added as a prefix to the name. An additional counter at the end of the name allows to automatically generating unique names for each plant line, even if the same material is imported several times or from several sources.
In the workflow 'transformation', a new line of genetically modified plants is generated by linking a parent plant object to construct information. The parent relation is represented as a link from the newly generated plant line to the parent plant object that was used in the transformation. The construct information is given as a link to the microorganism line that was either used to perform the transformation (in case of an Agrobacteria mediated transformation) or to generate the DNA used in transformation (in case of a ballistic transformation). The dataset of each microorganism line contains a link to the construct, with which the microorganism has been transformed, and additional information on the species and strain. The name of the new plant line produced by transformation is generated from the primary key of the construct data set and the name of the transformed parent plant object.
For the workflows 'generative propagation' that models the self-pollination of a plant, and 'vegetative propagation', the parent relation is represented as a link to one plant object. The name of the newly generated line is derived from the name of this plant object, thus containing the plant object number of the mother plant. Different separator symbols in the syntax (dot or minus) allow to distinguish between vegetatively and generatively produced plant lines. 'Crossing' models the process where pollen-acceptor and -donor are different plants. The links to the primary keys of the respective plant objects are stored in two object (aliquot) link fields of the newly generated plant line. The name of the newly generated line is derived from both parent plants. An additional counter in the name allows generating unique names for individual lines that are produced by the independent repetition of a workflow. In addition to the automatically generated unique name and number, a description field and a so-called 'alias' field allow the user to enter further information on any line and object, and to give it a name of his choice that is not under unique constraint.
When plant objects, represented as aliquots, are generated from the line, the name of the object is generated from line name plus a counter. Thus, a unique name is generated, which contains information on the pedigree of the plant object.
Plant cultivation module
To facilitate handling, every cultivated plant object belongs to a so-called 'culture', represented by the LIMS object 'study' [see additional file 1]. The primary key of the culture is added to the plant object record. Each culture is uniquely named based on the truncated name of the person who entered the culture into the database, the entry date and a counter. Information about the responsible scientist and his affiliation and about the cultivation protocol is attached to each culture. The cultivation protocol is selected from a list of pre-defined standard cultivation protocols. For highly standardised processes in service units, protocols are stored in an MS-ACCESS database. For each step of the protocol, the relative time (days after start), the method description and the media (vessels, substrate, fertilizer, nutrient solutions, treatment solutions) and the climate conditions are recorded [See additional file 2].
For each culture and object in a culture, an automatically generated label is produced. The labels are defined in SYBASE INFOMAKER (Sybase) and produced by LIMS reporting workflows. The printing is triggered by submitting an XML file to the LIMS background processor. Object labels display the name, alias and identifier of the object as clear text; additionally, the identifier is displayed as barcode. The culture labels show the name of the culture in clear text and in barcode, the research group of the owner and the first 25 letters of the description field.
In the greenhouse, the barcode of the culture name and the barcode label of the cultivation area are scanned with a portable barcode-scanner data terminal. Data are automatically transmitted to the LIMS when the data-terminal is placed in its cradle; the entry receives the time stamp of the login. For data transfer, CSV (comma separated values) data from the barcode scanner are converted into XML (Extensible Markup Language) files by a PERL script. This step allows running several different workflows, which yield different data formats, on the same scanner. Each output line is converted into the XML format required by the LIMS import interface. For each movement of plant material, the culture name, the name of the old location, the name of the new location and the date are stored in an audit table of the LIMS.
Cultivation sites are organised hierarchically to allow inheritance of information from a higher-order unit to a lower-order unit, e.g. from a greenhouse to an individual greenhouse cabin to an individual bench in a cabin. For each cabin or bench, plant protection measures and the climate settings are stored in the MS-ACCESS database of the greenhouse service unit. For each plant protection measure, treated cultivation sites, the date and time, the size of the treated area, the pesticide, its volume and its concentration are stored. Climate records comprise begin and end of the artificial light day, the temperature and the humidity in both light phases. For the greenhouse, additional settings are stored, e.g. alarm temperature thresholds and light intensity thresholds for automatic closure of the shading system. The light intensity, temperature and humidity records from the sensors in the cabins are automatically collected every 20 minutes and stored in the database of the climate control system.
Sampling module
The Sample Composer displays the available plant objects from preselected cultures. For each component, the user enters the plant object, the sampling time, the sampled organ, the treatment class and an additional free-text treatment description [see additional file 1]. After submission, unique sample identifiers and names are generated automatically by the LIMS and exported together with sampling information and information about the sampled plants (pedigree, location, cultivation conditions) to EXCEL compatible, tab-separated files.
Availability and requirements
The ACCESS database, PERL scripts and XML files for data transfer, the scanner programs and screenshots of all web pages are freely available to non-commercial users from the corresponding author. Source code and demo version of the Sample Composer are included in additional file 3. The LIMS part of the system is based on a commercial LIMS and an Oracle database (see Methods, Software and Hardware). The ER diagram and the description of those tables and variables used in the system that has been described in the manuscript are available from the corresponding author and can be used as a basis for the implementation of a similar system in a relational database.
Project name: Golm Plant Database. Project home page: http://www-en.mpimp-golm.mpg.de/02-instUeberInstitut/04-instRessources/lims/index.html. Operating systems: Windows 2000 or Windows 2003. Programming language and other requirements: see Methods, Software and Hardware.