Opened 10 years ago

Closed 10 years ago

Last modified 10 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 10 years ago by Nicklas Nordborg

Description: modified (diff)

comment:2 Changed 10 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:3 Changed 10 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 10 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 10 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 10 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 10 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 10 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 10 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 10 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 10 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 10 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 10 years ago by Nicklas Nordborg

Resolution: fixed
Status: assignedclosed

comment:14 Changed 10 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 10 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.