microbiomedata / issues

public repo for issues related to NMDC work
1 stars 0 forks source link

JGI Plate layout format requirements #15

Closed mslarae13 closed 1 year ago

mslarae13 commented 1 year ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

"Plate location (well #): If you have indicated that the sample will be shipped in a plate, list the well location (ie A4, B5). The corner wells must be blank. For partial plates, fill the plate by columns rather than rows. Leave blank if the sample will be shipped in a tube. For more information on submitting samples in plates, please review the “Plate-based sample requirements” document at http://jgi.doe.gov/user-program-info/pmo-overview/project-materials-submission-overview/."

Describe the solution you'd like A clear and concise description of what you want to happen.

-Add additional plate layout formatting requirments

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Acceptance Criteria Create a checklist or scenario-based acceptance criteria, from the users perspective, that answers the following:

Who will use this feature/enhancement? -JGI submitting users When will they use it? - When submitting samples to JGI and using NMDC template How will they use it? How will they test it to make sure it's working? - Test by doing validation Is the request achievable? During one sprint? - Yes What is your definition of done for this request? - Plate layout now has more rigorous formatting requirements that better reflect JGI requirements.

mslarae13 commented 1 year ago

slot: dna_cont_well title: DNA well number Definition: Identity of the well this sample will be in when submitting via a plate. Guidance: Required when 'plate' is selected for container type. Corner wells must be blank (A1, A12, H1, H12). For partial plates, fill by columns. Leave blank if the sample will be shipped in a tube. Examples: A2, A3, ...

New syntax / structure requirements letter [A-H]numer [1-12] , value cannot equal A1, A12, H1, H12

mslarae13 commented 1 year ago

Assigning to @turbomam , but if someone else has "data harmonizer schema update" abilities, can re-assign. Follow up issue to be made to get these changes implemented into Submission Portal prod.

mslarae13 commented 1 year ago

@turbomam I might be able to do this. I'm looking at "jgi_metagenomics.yaml" .. slot " dna_cont_well" has " string_serialization: '{96 well plate pos}' "

How can I update this so specific wells won't validate.

See: https://github.com/microbiomedata/nmdc-schema/blob/main/src/schema/portal/jgi_metagenomics.yaml#:~:text=dna_cont_well%3A,recommended%3A%20true

turbomam commented 1 year ago

Yeah, this is a good issue. We've been putting it off for a while.

string_serialization: '{96 well plate pos}' doesn't do anything at this point, so it doesn't need to be disabled. _Aside: in principle I should have put that pattern in a structured_pattern, not a string_serialization_

ChatGPT says that this regular expression should exclude A1, A12, H1 and H12:

(?!A1|A12|H1|H12)[A-H][1-9]|[A-H]1[0-1]

I tried that in RegExr and think that ^(?!A1|A12|H1|H12)(([A-H][1-9])|([A-H]1[0-2]))$ is a better choice

mslarae13 commented 1 year ago

From todays meetings, sounds like this is done?

turbomam commented 1 year ago

I didn't add the pattern to the schema file, but am glad to do so now.

Is there a PR for this issue?

mslarae13 commented 1 year ago

No PR. I've made no schema updates. I will make a branch, and put in a PR that updates the guidance and examples. I'll need you to add the validation.

mslarae13 commented 1 year ago

https://github.com/microbiomedata/nmdc-schema/pull/579

ssarrafan commented 1 year ago

moving to current sprint per Slack message from @turbomam

turbomam commented 1 year ago

I have proposed edits to @mslarae13's PR. I get the sense that she will review and accept or further revise this week.

ssarrafan commented 1 year ago

@turbomam @mslarae13 moving to the next sprint, let me know if you don't plan to work on it in the next few weeks please

ssarrafan commented 1 year ago

Closing this per Mark, adding link to #31

From Mark: The pattern for non-corner plate positions (wells) has been applied, and logic tying the state of the container to the values allowed for the well have been added to the schema. That logic just can’t be enforced in DataHarmonizer yet.