JCMS application overview
The JCMS application is composed of four integrated software modules: (1) colony management, (2) experiment management, (3) sample tracking, and (4) reports and queries. The JCMS tool suite includes several supporting applications, including a pedigree tracking tool (JPT), programs for upgrading to the latest released versions of JCMS, and an application that converts existing JCMS instances to use a MySQL™ relational database management system (RDBMS). The JCMS GUI enforces business rules and provides controlled access to the JCMS data. GUI forms are used to add data to the database, edit existing database records, or as a template for database queries and reports.
Once the software is downloaded, the user is guided through the setup process. The JCMS User Guide includes a section on “Getting Started” with JCMS that highlights key aspects of the setup process. The first step in configuring the JCMS application is to specify the roles of the individuals who will be using the software (see the JCMS Security Model subsection below for descriptions of the concept of user roles). If used as a stand-alone software application for a single user, JCMS can be easily installed without special networking skills or knowledge. If used in one of the multiclient modes (Fig. ), the installation may require the assistance of a systems or network administrator. Once the software is configured and launched, the user is presented with a function bar that provides access to the software modules. The main function bar and two of the JCMS data entry forms, Add Mouse and Edit Mouse, are shown in Fig. .
Screen shots of the JCMS welcome page (a), main function bar (b) and forms for adding (c) and editing (d) information about mice. Function buttons are designed to support numerous workflows and are organized by task on the function bar
Although all of the JCMS functions are readily accessible from the function bar, a typical JCMS user will use a subset of the JCMS functions (forms) to support their daily workflow and functionality requirements. Figure illustrates a typical animal breeding workflow with optional data entry and report steps. For example, the design-mating form allows users to plan matings and record them in the database in advance of implementing the actual matings in the mouse room. It is equally acceptable to skip the design step and record matings in the database after they are implemented. Data on litters may be recorded at the time of birth or when the pups are weaned.
Fig. 3 Typical animal husbandry workflow supported by JCMS. Optional database entry tasks (Design Mating, and Record Litters) and reports (Check Mating, Wean Work) are shown with dashed outline. Wean work reports can only be generated if the JCMS user records (more ...)
JCMS allows users to design and print cage cards with information derived from the database about the mice housed in the cage (Fig. ). Cage numbers printed on each card may be bar-coded and allow users to track information from the cage back to the database. Three classes of cage cards are defined: (1) mating cards that list litter numbers and pertinent information about the parental mice in the mating (e.g., genotype, strain, and sex), (2) detail cards that list information about each individual mouse housed in a cage, and (3) wean cards that are designed for groups of mice housed together from the same litter. JCMS is distributed with over 20 cage card designs. New designs for cage cards are submitted periodically by the JCMS user community and distributed with updates to the application.
An example cage card for a cage holding three mice. Cage cards can be custom formatted in any size or layout orientation that is supported by the printer
The JCMS Colony Management Module The central entity of the JCMS Colony Management module is the mouse. Every entity in this module (e.g., mating, litter) has a relationship with the mouse table which facilitates complete pedigree tracking over unlimited breeding generations (from matings to litters to mouse), timed matings (plug dates), genotype tracking, mouse scheduling, and tracking mouse caging. Leveraging the JCMS extensible data architecture, design efforts are underway to extend the data model such that the central entity is “organism” rather than mouse. This change in the underlying model for JCMS will enable future versions of the application to be used with other model organisms, including rat and zebrafish.
Animal husbandry workflows are supported by form-driven user interfaces with controlled data entry points. For example, a mating trio is entered into JCMS by selecting dams and sires from pulldown menus. Litter strain and breeding generation terms can be calculated to reduce the potential for data entry errors.
The JCMS Experimental Data Module JCMS includes an experiment management module that allows users to link mice to experiments, group tests into experiment plans (i.e., protocols), and associate experimental data with a specific mouse and test. Experiment plans are composed of one or more scheduled Experiment tests. For each Experiment test there is a user-configurable data descriptor record that defines the data type (integer, text), names, and limit constraints of each data element in an Experimental Data record. When a test is conducted, the data are entered manually or bulk loaded into JCMS.
To load experimental data into the database, users can use the bulk data-load operations in JCMS that support both flexible file format specification and preload data-checking scripts. Preload data checking verifies that data records are complete, associated with mouse records, and have not already been loaded and that data values are within appropriate ranges. Data files must pass the preload test before loading into JCMS. A data review report is generated by the system before data are loaded into the database. Data loads are transactional, so either all valid records load correctly, or the entire transaction is rolled back.
Future development of the JCMS application will include associating input parameters with tests (such as test setup specifications), creating the concept of a data group so that many data records can be analyzed as one measurement (e.g., time-course data), scheduling treatment, and developing the ability to associate experimental records with samples as well as mice.
The JCMS Sample Tracking Module In JCMS, a sample is a unit of biological material associated with mouse, mating, or litter records in the database. However, JCMS also supports tracking of samples as autonomous entities as well. Samples may be divided into subcollections (e.g., multiple histology slides derived from a single mouse lung). Sample attributes such as type of sample, weight, collection date, collection method, preservation method, and age of mouse at time of collection are associated with each sample record. Samples can be associated with specific storage locations.
Sample storage locations are user-defined hierarchies and can be configured to arbitrary levels of specificity. The highest level is the facility. Within the facility, JCMS supports arbitrary numbers of storage units and definition of the structure within the units to any level of detail. Figure illustrates a sample hierarchy with one facility (there can be many facilities) and several rooms with aisles and freezers in the each room. The Sample Tracking module allows one to easily locate specific samples or generate inventory reports for storage facilities.
Fig. 5 The JCMS sample storage browser. The browser allows users to quickly search a storage facility to locate samples. The left panel is the navigation tree; in the right panel is a list of all samples stored in the selected node. If the “Recurse” (more ...)
JCMS Reports and Queries JCMS provides extensive reporting capabilities for colony managers and investigators conducting experiments. Two ad-hoc report forms allow users to design their own reports from an extensive set of data filters and data output options (Fig. ). JCMS also provides a number of precompiled work reports to help guide mouse-room activities, including weaning, timed matings, mouse line viability monitoring, and mouse testing. Most reports can be exported directly into Microsoft Excel for further analysis.
Fig. 6 Ad-hoc mouse query form and an example output table. In this example query we have selected live mice with IDs that have EX in the name and are in the STOCK Igf1<tm1Ts>/ImJ strain. The report output fields are selected by check-box selection (more ...)
The JCMS Pedigree Tracking Tool (JPT) The JCMS tool suite includes a separate application called the JCMS Pedigree Tracking tool that connects to any JCMS database and graphically displays pedigree trees (Fig. ). The JPT can also produce HTML or text formatted files for future reference or analysis. JPT allows you to select any mouse ID and draw an ancestor or progeny tree using the selected mouse as the focal point. For each mouse the JPT can optionally display sex, genotype, and strain information. Litter number tor progeny or mating number for ancestor can also be optionally displayed in the pedigree tree.
Fig. 7 JPT ancestor tree for mouse BW-L160-6. From right to left, each generation is represented by columns. Thus, mouse BW_1W0001 and BW_1W0006 are parents of mouse BW-L160-6 and BR_WR002 and HH-W0004 are grandparents. BR_WR0002 has three parent mouse records (more ...)
Management of controlled vocabularies
The implementation and use of controlled vocabularies is an essential element of good data management practice and facilitates accurate and complete data access and retrieval. JCMS is distributed with some commonly accepted vocabulary terms such as coat color, gene class, and strain. Future releases will include more vocabularies in the distribution such as terms from the mouse anatomical dictionary (http://www.informatics.jax.org/searches/anatdict_form.shtml
). The designated JCMS administrator (see “JCMS security model” below) has control over the terms that are used in the JCMS database and may add or remove terms as needed. By limiting edit privileges for controlled vocabularies, JCMS provides an important tool for lab managers to ensure consistent common annotations for all mice in the database.
JCMS security model
The JCMS supports a simple security model that provides for three levels of security clearance for modifying existing data and/or adding new data records. The JCMS database administrator is a named user called mtsadmin. The mtsadmin has full access to all data and all JCMS functions. The role of mtsadmin is primarily to manage database configuration and controlled vocabulary terms. Secondary responsibilities include removing unwanted data and transferring ownership of data records as needed.
The next level of data access is called the owner level. JCMS owners are allowed to enter mice, matings, litters, experiments, samples, and any associated data. Every mouse, sample, and experimental data record in JCMS is associated with an owner. An owner can edit his/her data but cannot edit other owners’ data.
The most restricted level of access is the secretary level. The mtsadmin can configure which forms secretary users can access. Each secretary is associated with one or more owners. It is also possible for one owner to be a secretary of another owner, thereby having data edit capabilities for someone else’s data.
At the main application level, each form is configurable to have one of three security access levels: mtsadmin, owner, or secretary. Only mtsadmin can configure the security level for each GUI form.