Skip to content
Scott White edited this page Aug 29, 2013 · 10 revisions

# 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

Clone this wiki locally