29.2.14. Array LIMS - plates

UML diagram

Figure 29.15. Array LIMS - plates

Array LIMS - plates

Plates

The PlateData is the main class holding information about a single plate. The associated PlateGeometryData defines how many rows and columns there are on a plate. Since this information is used to create wells, and for various other checks it is not possible to change the number of rows or columns once a geometry has been created.

All plates must have a PlateTypeData which defines the geometry and a set of event types (see below).

If the destroyed flag of a plate is set it is not allowed to use the plate for a plate mapping or to create array designs. However, it is possible to change the flag to not destroyed.

The barcode is intended to be used as an external identifier of the plate. But, the core doesn't care about the value or if it is unique or not.

Plate events

The plate type defines a set of PlateEventTypeData objects, each one represening a particular event a plate of this type usually goes trough. For a plate of a certain type, it is possible to attach exactly one event of each event type. The event type defines an optional protocol type, which can be used by client applications to filter a list of protocols for the event. The core doesn't check that the selected protocol for an event is of the same protocol type as defined by the event type.

The ordinal value can be used as a hint to client applications in which order the events actually are performed in the lab. The core doesn't care about this value or if several event types have the same value.

Plate mappings

A plate can be created either from scratch, with the help of the information in a PlateMappingData, from a set of parent plates. In the first case it is possible to specify a reporter for each well on the plate. In the second case the mapping code creates all the wells and links them to the parent wells on the parent plates. Once the plate has been saved to the database, the wells cannot be modified (because they are used downstream for various validation, etc.)

The details in a plate mapping are simply coordinates that for each destination plate, row and column define a source plate, row and column. It is possible for a single source well to be mapped to multiple destination wells, but for each destination well only a single source well can be used.