Opened 13 years ago

Last modified 12 years ago

#1597 closed enhancement

Subtypes of items — at Version 6

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

Description (last modified by Nicklas Nordborg)

It could be useful to be able to assign subtypes to biomaterials. The use case is that the lab procedure involves several steps at the same biomaterial major type. Eg. sample --> sample --> extract --> extract --> extract --> labeled extract.

For filtering, batch importing, and other gui purposes it would be useful to assign subtypes for each step.

Change History (8)

comment:1 by Nicklas Nordborg, 13 years ago

Maybe we should extend this to more than biomaterial... I am thinking that the current plan for #1153 could use the same mechanism on PhysicalBioAssay to discriminate between hybridizations and sequence-type bioassays. It could also make the biomaterial type Library not needed since we can use the subtype to discriminate between LabeledExtract and Library.

To provide a kind of semi backwards compatibility the subtype can also be added to DerivedBioAssaySet (so that we can know what was a Scan in BASE 2).

comment:2 by Nicklas Nordborg, 13 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

by Nicklas Nordborg, 13 years ago

Attachment: item-subtypes.png added

comment:3 by Nicklas Nordborg, 13 years ago

The idea is to introduce a new interface in the data layer: SubtypableData. This creates an optional link from an item to an ItemSubtypeData instance. The subtype information is more or less only a name and description (N), but we also make this a system item (T) since we need to define subtypes for Hybridization and Scan for backwards compatibility with BASE 2. We may add some more system subtypes in the future.

Each subtype must specify which main item type it can be used on. We also define a unique constraint on the name+itemType combination so that subtypes can be properly identified.

To begin with we add the SubtypeableData interface to MeasuredBioMaterialData and some of the new classes for #1153.

comment:4 by Nicklas Nordborg, 13 years ago

Summary: Subtypes of biomaterial itemsSubtypes of items

by Nicklas Nordborg, 13 years ago

Attachment: item-subtypes-2.png added

comment:5 by Nicklas Nordborg, 13 years ago

Added links to ProtocolType, HardwareType and SoftwareType. This should be used to sub-classify protocols/hardware/software that can be used to create the item. Fallback is to the default protocol/hardware/software for the given item type. Example:

The 'Labeling' and 'Library preparation' protocol types are linked from the 'Labeled extract' and 'Library' subtypes so that the protocol selection list when doing action 'Create labeled extract'/'Create library' can be pre-filtered on the proper protocol type. If a subtype doesn't specify a protocol type the default ('Extraction' in this case) filter is used.

The validators in the item overview functionality must be updated to handle this.

comment:6 by Nicklas Nordborg, 13 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.