Release Notes

BMS 4.0 Manual

Version 4.0 Overview

The Breeding Management System (BMS) v4.0 is a server-based application to meet the needs of multiple users at institutions and distributed breeding programs. In contrast to the previous single-user desktop application, BMS v4.0 has new features, improved transaction handling, concurrency management and load robustness. 

New Features

Administration

  • User roles and permissions. Institutional ownership and control of all breeding data divided into breeding program workspaces.
  • Customize naming conventions for crosses based on institutional standards per crop. Encode details like: program, season, location, and cross type.

Germplasm

  • Share germplasm details across breeding programs within a crop database. Share germplasm lists within breeding programs.
  • Manage seed inventory. Review inventory available for germplasm in any list. Make reservations and export a packing list with labels for seed preparation. Import withdrawal details back into the system.
  • Specify fixed lines, or genotype groups, with group code name - linking inventory and data to group.

Nurseries

  • Record serendipitous crosses as well as planned crosses by  importing cross record.
  • Beta-integration of the Crossing Manager tool into the Nursery Manager. Development is not yet complete. Expect progress on seamless integration in v5. 

Trials

  • Store trial data with any experimental design by importing custom experimental design into trial manager. Imported designs may not be compatible with BV analysis software, but can be analyzed by external applications, like SAS and R.
  • Allow the advancement of germplasm from trials to support breeders that use germplasm generated in trials for the next step in the breeding process. 

Documentation & Training

  • Contextualized help links to the manual are available throughout the user interface. 
  • BMS V4 is available as an  educational applicationeducational application for workshop and demonstrations purposes.
  • Tutorials with maize example data have been developed for training on the educational application.

Architecture & Performance Enhancements

Optimization of the BMS for higher scale and concurrent usage:

  • Merged local read-write and central read-only repository databases
  • MySQL server tuning for Connection Pool and database memory usage
  • Java JVM Heap Usage Tuning to prove absence of and prevent any emergence of leaking memory
  • Implemented Atomikos Distributed Transaction Manager to ensure atomic operation
  • Transferred Primary Key Generation in key entities to the ORM Database Framework
  • Implemented batch insert of keys for plot data for Nursery and Trial creation
  • iImplemented pagination across the product, with special focus in search and phenotypic data loading
  • Optimised SQL queries to:
  • Improve basic SQL performance
  • Avoid low selectivity tables (which we found in CHADO)
  • Reduced N+1 query behaviour across the product
  • Use Views where possible
  • Implemented in-memory caching for the entire CHADO Ontology (CVTerm data)
  • Implemented LRU caching for Germplasm and Locations
  • Optimised pedigree string generation and genealogy tree navigation using MySQL Stored Procedures
  • Optimised JavaScript rendering approaches to minimise traffic and screen paint times
  • Implemented Simulation Test Harness built in Gatling Technology (gatling.io), which allowed us to simulate 30 concurrent users on the system, measure response times and identify bottlenecks. We coupled this with basic JaMon (http://jamonapi.sourceforge.net/) code profiling practices to pinpoint data access or data processing issues.