Opened 14 years ago

Closed 13 years ago

#1442 closed task (duplicate)

BioPlate events

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: critical Milestone:
Component: core Version:
Keywords: Cc:

Description

The basic idea is that things that are normally done to a single biomaterial at a time (in the gui) or with batch importers should be possible to do with all biomaterials on a plate in a single 'plate event'. For example, it should be possible to take a bioplate with samples and create extracts from them using the web gui.

  • We need more "plate types". The current bio plate implementation allows for biomaterial to be moved around and a single plate can be re-used with other biomaterial some time in the future. This is only true for 'storage'-type plates were the biomaterial is in a test tube. Plates of other types become contaminated when they are used and cannot be re-used. Biomaterial that is put in this type of plate can not be moved.
  • We need some kind of flags to lock biomaterials to plates. We need a flag to indicate that a plate has been destroyed. We may also need a flag to lock a plate to a specific type of biomaterial (eg. only samples or only extracts are allowed on the plate)
  • We need some kind of "event type" declaration that defines some kind of constraints for an event. For example,
    • what kind parent plate type is required
    • what kind of child plates that are created
    • what type of source biomaterial that is required
    • what type of child biomaterial that is created
    • the protocol
    • a default coordinate mapping (may be locked or open for user modification)
    • and possible more....
  • A "plate event" is then used to record the individual details about a single event. The information in the plate event and the rules in the event type are used to create the new plate and the new biomaterials.

This ticket may be divided into more tickets as work progress.

Attachments (2)

datalayer.biomaterials.png (94.3 KB ) - added by Nicklas Nordborg 14 years ago.
First version of a database schema for this ticket
bioplate-events-1.txt (5.3 KB ) - added by Nicklas Nordborg 14 years ago.
First version of a database schema for this ticket

Download all attachments as: .zip

Change History (26)

by Nicklas Nordborg, 14 years ago

Attachment: datalayer.biomaterials.png added

First version of a database schema for this ticket

by Nicklas Nordborg, 14 years ago

Attachment: bioplate-events-1.txt added

First version of a database schema for this ticket

comment:1 by Nicklas Nordborg, 14 years ago

Milestone: BASE 2.15BASE 2.16

comment:2 by Nicklas Nordborg, 14 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:3 by Nicklas Nordborg, 14 years ago

(In [5260]) References #1442: BioPlate events

Added BioPlateType to data layer, core and tests.

comment:4 by Nicklas Nordborg, 14 years ago

(In [5262]) References #1442: BioPlate events

Added BioPlateType to web interface. Changes to pages for bioplates, biowells, samples, extracts and labeled extracts beacuse wells can be locked depending on plate type.

comment:5 by Nicklas Nordborg, 14 years ago

(In [5323]) References #1442: BioPlate events

Added BioPlateEvent core and data classes. It should be possible to create plate-wide events that are associated with biomaterial events. The API will probably change in the future since the result will only be correct if methods are called in the proper order. Permission-control, etc. is also not yet fully implemented (do not expect things to work unless logged in as root!).

comment:6 by Nicklas Nordborg, 14 years ago

(In [5324]) References #1442: BioPlate events

Added JSP pages for viewing plate events.

comment:7 by Nicklas Nordborg, 14 years ago

(In [5338]) References #1442: BioPlate events

Added BioPlateEventDefinition to core and data layer. Started on a test case. It is not yet possible to apply the event definition to a plate or to create/view event definitions from the GUI.

comment:8 by Nicklas Nordborg, 14 years ago

(In [5339]) References #1442: BioPlate events

Updated isUsed() and getUsingItems() methods for various items so that they also work with the new bioplate event objects.

comment:9 by Nicklas Nordborg, 14 years ago

(In [5343]) References #1442: BioPlate events

First attempt at a framework that should handle the gory details of plate mapping, plate creation, biomaterial creation, etc. There is more to implement before we can start on a gui. Expect changes to the API once "real" use-cases are tested.

comment:10 by Nicklas Nordborg, 14 years ago

(In [5344]) References #1442: BioPlate events

Redesigned bioplate event handler framework. It should now be capable of mapping 2-channel data to hybridizations (and as a "side-effect" also pooling of biomaterial). Note however that the PlateMapping class doesn't support this so there is no way to store predefined mappings for pooling or 2-channel hybridizations in the database. This has to be done manually each time it is needed. There is a possible workaround for hybridizations by using the row coordinate as a "channel index".

comment:11 by Nicklas Nordborg, 14 years ago

(In [5347]) References #1442: BioPlate events

Added gui for managing bioplate event definitions. Implemented Loggable and Registered interfaces for event definitions.

comment:12 by Nicklas Nordborg, 14 years ago

(In [5348]) References #1442: BioPlate events

Added an alternative way to view/edit wells on a bioplate. It should give a better overview than the table-based lists.

comment:13 by Nicklas Nordborg, 14 years ago

(In [5349]) References #1442: BioPlate events

Started to work on creating events in the web gui. Doesn't really work yet.

comment:14 by Nicklas Nordborg, 14 years ago

(In [5350]) References #1442: BioPlate events

Started working on a gui for manual mapping. It is only on the gui level right now. Nothing is sent to the server or used in the actual plate creation.

comment:15 by Nicklas Nordborg, 14 years ago

(In [5354]) References #1442: BioPlate events

Started to rework the "New event" wizard. The intention is to have a single wizard that adapts itself to the various types of events and knows when everything that is needed has been configured and then saves everything to the database. The first step should now be able to handler OTHER-type events and save them. CREATION and HYBRIDIZATION events are sent to the second step that involves mapping between the place. The original prototype for this has been cleaned up a bit but there is a lot more to do.

comment:16 by Nicklas Nordborg, 14 years ago

(In [5355]) References #1442: BioPlate events

Continued work on the "New event" wizard.

comment:17 by Nicklas Nordborg, 14 years ago

(In [5357]) References #1442: BioPlate events

It should now be possible to go through the "New event" wizard for samples, extracts and labeled extracts (no hybridizations yet). The usuability and error handling is not great. Be careful to not select incompatible options or you'll end up with ClassCastExceptions/NullPointerExceptions or some other nasty error.

comment:18 by Nicklas Nordborg, 14 years ago

(In [5364]) References #1442: BioPlate events

Some usability improvements. It should be possible to create hybridizations as well, but the interface is not well adopted for events that doesn't have 96-to-96 wells.

comment:19 by Nicklas Nordborg, 14 years ago

(In [5383]) References #1442: BioPlate events

Several changes and GUI improvements. There is still more to do, but I think some user feedback would be good before proceeding.

comment:20 by Nicklas Nordborg, 14 years ago

(In [5389]) References #1442: BioPlate events

Fixes an incorrect mapping between bioplate type and bioplates.

comment:21 by Nicklas Nordborg, 14 years ago

(In [5390]) References #1442: BioPlate events

Fixes a problem where the update didn't set a plate type for existing bioplates.

comment:22 by Nicklas Nordborg, 13 years ago

Milestone: BASE 2.16BASE 2.17

This will not be finished in time for the 2.16 release. Moving it to 2.17. Bio plate types will remain in 2.16 as described in #1532.

comment:23 by Nicklas Nordborg, 13 years ago

(In [5452]) References #1442: BioPlate events

Remove everything that we doen't need to keep in 2.16 (#1532).

comment:24 by Nicklas Nordborg, 13 years ago

Milestone: BASE 2.17
Resolution: duplicate
Status: assignedclosed

Replaced by #1536.

Note: See TracTickets for help on using tickets.