Opened 19 years ago
Last modified 18 years ago
#215 closed defect
Incorrect use of DynamicSpotQuery in table view, plot function, filter function, etc. — at Initial Version
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | major | Milestone: | BASE 2.2 |
Component: | web | Version: | |
Keywords: | Cc: |
Description
If a bioassayset contains merged data, ie. data where one data cube spot corresponds to more than one raw data spot, the code doesn't use DynamicSpotQuery correctly.
For example, let's assume that we have a hyridization with 20 spots and 10 reporters. There are two spots for each reporter. Now, in the analysis we merge on the reporters and are left with 10 data cube spots, each one representing 2 raw data spots. In the table list view, we will get 10 hits of we only view the intensities, but 20 hits if we also view some raw data column. The same happens in the plot function. It will plot 10 spots if we only use the intensities, but 20 spots if we use a raw data column. The same happens in the filter funtion. In this case can also result in an exception or bad data corrupting the database. For example, a filter matches 7 data cube spots may match 14 raw data spots if we use a raw data column in the filter. This would probably result in an error since the code would try to insert duplicate entries in the filtered bioassay set.
How do we solve this? Some suggestions:
1) Always use aggregation function when using raw data columns. Ie. you have to specify if you want to use the mean, min, max, etc. when you use a raw data column. This works for numerical columns, but how do we handle string data?
2) ... well... more suggestions are welcome