Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plate Sets - Plate Types (server) - dev #5114

Closed
21 tasks done
labkey-robert opened this issue Jan 10, 2024 · 0 comments · Fixed by #5143 or LabKey/commonAssays#726
Closed
21 tasks done

Plate Sets - Plate Types (server) - dev #5114

labkey-robert opened this issue Jan 10, 2024 · 0 comments · Fixed by #5143 or LabKey/commonAssays#726
Assignees

Comments

@labkey-robert
Copy link

labkey-robert commented Jan 10, 2024

Spec
Github epic
fb_plate_type_schema (platform, commonAssays)

Background

Plate types represent the physical plate that an experiment might be performed upon and typically are described in the number of wells on the plate (rows and columns). We want to be able to support a plate type column on plates that could be a lookup to a plate type table. LabKey server does have the notion of plate types but they are not defined in the database and, instead are defined in java code and registered by a PlateTypeHandler. The motivation for this abstraction is to allow plate type handlers to create plates (or templates) which have predefined well groups (controls, replicates, samples, etc.) to simplify the workflow during plate template creation for our supported assay types (NAb, ELISpot, ELISA, Standard). This is less important in the application workflow and will become obsolete when we have a modern plate designer/editor.

For this story, the goal is to decouple plate type registration from the handlers and move to a model where types are defined and sourced from the database but still maintain handlers for the legacy workflow where well group creation is important.

Tasks

  • Plate type schema - 2hr
  • Update plate schema - 1hr
  • Query support - 2hr
  • Refactor
    • Separate PlateType from PlateTypeHandler - 3hr
    • Create PlateLayout and PlateLayoutHandler - 2hr
    • Replace rows/columns with PlateType param - 3hr
    • Update PlateService with new signatures - 2hr
  • Clean up endpoints - 2hr
  • Plate upgrade script
    • Replace type with plate type ID - 1hr
    • Remove rows & columns fields? - 1hr
  • Junit tests - .5hr
  • Rename "type" to "assayType". - 1hr
  • Repurpose "PlateType" as what is currently "PlateTypeId" - 1hr
  • Introduce "archived" column to plate.PlateType and set 1536 and invalid plate types to archived = true - .5hr
  • Add a "PlateID" column to plate.Plate and replicate name expression value into "PlateID" column - 1hr
  • Add a "PlateSetID" column to plate.PlateSet and replicate name expression value into "PlateSetID" column - 1hr
  • Add a "WellsFilled" column to plate.Plate - 1hr
  • Code review - 1hr
  • Teamcity review and merge - 1hr
@labkey-klum labkey-klum changed the title Plate Sets - Plate Types phase 1 - dev Plate Sets - Plate Types : server - dev Jan 10, 2024
@labkey-klum labkey-klum changed the title Plate Sets - Plate Types : server - dev Plate Sets - Plate Types (server) - dev Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants