Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#1707 closed enhancement (fixed)

Make it possible for a derived bioassay to have multiple physical bioassays as parents

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

Description (last modified by Nicklas Nordborg)

The use case is that a single sample is split on two flow cells. This is for safety reasons if there is a problem during the sequencing that results in losing all data from one of the flow cells. The first steps of the analysis is done per flow cell, but in a later step data from the two flow cells are merged into a single derived bioassay.

Note! This should not be too difficult to implement but probably breaks backwards compatibility in the core API. But this time we'll make an exception to the rule not to break compatibility.

This change is also related to #1708.

Change History (15)

comment:1 Changed 9 years ago by Nicklas Nordborg

Description: modified (diff)

comment:2 Changed 9 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:3 Changed 9 years ago by Nicklas Nordborg

(In [6082]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Changed the database schema and implemented API methods for this. The web GUI has been updated, but some things are still broken. Eg. it is not possible to select an extract (will fix this in #1708) or inherit annotations correctly. Item overview and batch importers have not been fixed.

Code for updating an existing installation is also missing, so do not try this since it will probably break several things and cause data loss.

comment:4 Changed 9 years ago by Nicklas Nordborg

(In [6083]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Added support for 'where' attribute in @hibernate.many-to-many tags.

comment:5 Changed 9 years ago by Nicklas Nordborg

(In [6084]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Implemented update script. Fixed queries used by the table exporter so that exporting the child and parent items work.

comment:6 Changed 9 years ago by Nicklas Nordborg

(In [6085]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

The core should now make sure that parent physical bioassays are synchronized on child items if parents are removed or added to a derived bioassay. There might be some optimizations to be done when multiple items are updated in the same transaction, but I'll have to fix the batch importer before this can be tested.

comment:7 Changed 9 years ago by Nicklas Nordborg

(In [6090]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

The 'Item overview' should now load parent items correctly. Validation need to be fixed (some parts have been disabled at the moment).

comment:8 Changed 9 years ago by Nicklas Nordborg

(In [6091]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Fixes problems with finding the correct parent items when inheriting annotations from parents. This should now consider all extracts encountered when moving upstreams from raw bioassay and derived bioassays.

comment:9 Changed 9 years ago by Nicklas Nordborg

(In [6092]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Fixed the derived bioassay batch importer.

comment:10 Changed 9 years ago by Nicklas Nordborg

(In [6093]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Fixed the Illumina raw bioassay importer.

comment:11 Changed 9 years ago by Nicklas Nordborg

(In [6100]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Fixes test programs. Fixes a validation error when the parent item extract is the same as the child item extract.

comment:12 Changed 9 years ago by Nicklas Nordborg

(In [6102]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Updated documentation.

comment:13 Changed 9 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

comment:14 Changed 9 years ago by Nicklas Nordborg

(In [6107]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Updating from BASE 2.17 was affected by the changes in the database schema. The columns in the DerivedBioAssays table that should be removed are never created when updating from BASE 2.17 so the information must be stored in the correct place by the BASE 2.17->BASE 3 update and the regular BASE 3.1->BASE 3.2 update doesn't have to do anything (except update the schema version) in this case.

comment:15 Changed 9 years ago by Nicklas Nordborg

(In [6120]) References #1707: Make it possible for a derived bioassay to have multiple physical bioassays as parents

Fixe problems with loading annotatable parent items. Due to incorrect equality checking and caching it could enter an infinite loop in some cases.

Note: See TracTickets for help on using tickets.