-
Notifications
You must be signed in to change notification settings - Fork 1
Home
# TODO
## Revamp the concept of a panel
Currently, the Panel model is tied to a Site, and is used for mapping a specific combination of FCS file channel names (via PnN field) to a ReFlow Parameter, i.e. cataloguing the Sample. However, this is not an intuitive or natural way to model the practical use of the the panel concept used in Flow Cytometry.
In a flow project, a panel would be designed to include a specific subset of parameters (and value types), e.g. "4 Color", and different labs may include extra channels (like all 3 value types). To model this, we need Project-level panels from which Site-level panels are based.
-
new ProjectPanel model * has no FCS text fields (isn't used for validating FCS channels) * requires a ProjectPanelParameterMap table * project panel name is required and unique for a project * add FK field for Staining (Staining table doesn't exist yet) * create a self-referential FK field for parent panel (like FMO -> FullStain) * implement restrictions for when a parent panel is required (FMO, Isotype Control) * create a FK in Sample linking the FCS file to a specific ProjectPanel
- requires updating all existing Sample instance with a FK to ProjectPanel
- if any Sample exists with a FK to ProjectPanel, the ProjectPanel cannot be modified
-
new ProjectPanelParameterMap model * field: project (FK to Project) * field: parameter (FK to Parameter) * field: value_type (optional FK to ParameterValueType)
- if not specified don't restrict SitePanel value_type field
-
new Staining table * simple lookup table used in the ProjectPanel
-
current SampleGroup table * rename to Stimulation (south can't auto-rename models) * move to Project level, i.e. add Project FK field * affects Sample model
- replace SampleGroup FK field with new Stimulation FK field
- keep Stimulation field optional???
-
current Panel * rename to SitePanel or something * add FCS optional text field (PnS), and use to match samples * add FK to project panel, * require the minimal subset of the project panel * site panel name is required and unique