104 lines
6.5 KiB
Markdown
104 lines
6.5 KiB
Markdown
- [x] Upgrade to generators when returning lists.
|
|
- [x] Revamp frontend.widgets.controls_chart to include visualizations?
|
|
- [x] Convert Parsers to using openpyxl.
|
|
- The hardest part of this is going to be the sample parsing. I'm onto using the cell formulas in the plate map to suss out the location in the lookup table, but it could get a little recursive up in here.
|
|
- [ ] Create a default info return function.
|
|
- [x] Parse comment from excel sheet.
|
|
- [x] Make reporting better.
|
|
- [x] Build master query method?
|
|
- Obviously there will need to be extensions, but I feel the attr method I have in Submissions could work.
|
|
- [x] Fix Artic RSLNamer
|
|
- [x] Put "Not applicable" reagents in to_dict() method.
|
|
- Currently in to_pydantic().
|
|
- [x] Critical: Convert Json lits to dicts so I can have them update properly without using crashy Sqlalchemy-json
|
|
- Was actually not necessary.
|
|
- [x] Fix Parsed/Missing mix ups.
|
|
- [x] Have sample parser check for controls and add to reagents?
|
|
- [x] Update controls to NestedMutableJson
|
|
- [x] Appending of qPCR results to WW not saving. Find out why.
|
|
- Possibly due to immutable JSON? But... it's worked before... Right?
|
|
- Based on research, if a top-level JSON field is not changed, SQLalchemy will not detect changes.
|
|
- Using sqlalchemy-json module seems to have helped.
|
|
- found that by using 'flag_modified' this can be fixed
|
|
- [x] Add Bead basher and Assist to DB.
|
|
- [x] Artic not creating right plate name.
|
|
- [x] Merge BasicSubmission.find_subclasses and BasicSubmission.find_polymorphic_subclass
|
|
- [x] Fix updating of Extraction Kit in submission form widget.
|
|
- [x] Fix cropping of gel image.
|
|
- [x] Create Tips ... *sigh*.
|
|
- [x] Create platemap image from html for export to pdf.
|
|
- [x] Move plate map maker to submission.
|
|
- [x] Finish Equipment Parser (add in regex to id asset_number)
|
|
- [ ] Complete info_map in the SubmissionTypeCreator widget.
|
|
- [x] Update Artic and add in equipment listings... *sigh*.
|
|
- [x] Fix WastewaterAssociations not in Session error.
|
|
- Done... I think?
|
|
- [x] Fix submitted date always being today.
|
|
- this is an issue with the way client is filling in form with =TODAY()
|
|
- [x] SubmissionReagentAssociation.query
|
|
- [x] Move as much from db.functions to objects as possible.
|
|
- [x] Clean up DB objects after failed test fix.
|
|
- [x] Fix tests.
|
|
- [x] Fix pydant.PydSample.handle_duplicate_samples?
|
|
- [x] See if the number of queries in BasicSubmission functions (and others) can be trimmed down.
|
|
- [x] Document code
|
|
- [x] Create a result object to facilitate returning function results.
|
|
- [x] Refactor main_window_functions into as many objects (forms, etc.) as possible to clean it up.
|
|
- [x] Integrate 'Construct First Strand' into the Artic import.
|
|
- [x] Clear out any unnecessary ctx passes now that queries are improved.
|
|
- [x] Make a 'query or create' method in all db objects to go with new query.
|
|
- Due to necessity of user input this has only been implemented for BasicSubmission, BasicSample and SubmissionSampleAssociation.
|
|
- [x] Ensure Bacterial plates end up with RSL_YY_###_{submitterName}_{submitterPlateID}.xlsx format.
|
|
- [x] Move lookup functions into class methods of db objects?
|
|
- Not sure if will work for associations.
|
|
- [x] Update artic submission type database entry to add more technicians.
|
|
- [x] Rewrite tests... again.
|
|
- [x] Have InfoItem change status self.missing to True if value changed.
|
|
- [x] Make the kit verifier make more sense.
|
|
- [x] Slim down the Import and Submit functions in main_window_functions.
|
|
- [x] Create custom store methods for submission, reagent and sample.
|
|
- [x] Make pydantic models for other things that use constructors.
|
|
- [x] Move backend.db.functions.constructor functions into Pydantic models.
|
|
- This will allow for better data validation.
|
|
- Parser(client input) -> Pydantic(validation) -> Form(user input) -> Pydantic(validation) -> SQL
|
|
- [x] Rebuild RSLNamer and fix circular imports
|
|
- Should be used when coming in to parser and when leaving form. NO OTHER PLACES.
|
|
- [x] Change 'check_is_power_user' to decorator.
|
|
- [x] Drag and drop files into submission form area?
|
|
- [x] Get info for controls into their sample hitpicks.
|
|
- [x] Move submission-type specific parser functions into class methods in their respective models.
|
|
- [x] Improve function results reporting.
|
|
- Maybe make it a list until it gets to the reporter?
|
|
- [x] Increase robustness of form parsers by adding custom procedures for each.
|
|
- [x] Rerun Kit integrity if extraction kit changed in the form.
|
|
- [x] Clean up db.functions.
|
|
- [x] Make kits easier to add.
|
|
- [x] Clean up & document code... again.
|
|
- Including paring down the logging.debugs
|
|
- Also including reducing number of functions in db.functions
|
|
- [x] Fix Tests... again.
|
|
- [x] Rebuild database
|
|
- [x] Provide more generic names for reagenttypes in kits and move specific names to reagents.
|
|
- ex. Instead of "omega_e-z_96_disruptor_plate_c_plus" in reagent types, have "omega_plate" and have "omega_e-z_96_disruptor_plate_c_plus" in reagent name.
|
|
- Maybe rename to "ReagentRoles"?
|
|
- If I'm doing this, since the forms have a different layout for each submission type I should rewrite the parser to use the locations given in database... Which I should do anyway
|
|
- [x] Fix Wastewater/Artic double submission problem
|
|
- [x] Fix tests.
|
|
- [x] Reorganize wastewater artic parser.
|
|
- [x] Streamline addition of new kits by moving as much into DB as possible.
|
|
- [x] Large scale refactor (2023-07-24).
|
|
- [x] Make plate details from html, same as export.
|
|
- [x] Put in SN controls I guess.
|
|
- [x] Code clean-up and refactor (2023-07).
|
|
- [x] Migrate context settings to pydantic-settings model.
|
|
- [x] Insert column into reagent type to indicate if reagent is required for kit.
|
|
- Needed to keep interchangeable bead plates from being forced into forms.
|
|
- [x] Migrate the parser.sub dictionary to pydantic models.
|
|
- [x] Move type_decider to metadata based method rather than excel map.
|
|
- [x] Solve bug for plate mapping when two samples of same name are in different rows.
|
|
- Try importing "L:\Robotics Laboratory Support\Submissions\Wastewater\2023\2023-06-21\RSL-WW-20230621-1.xlsx" for example.
|
|
- [x] Improve plate mapping by using layout in submission forms rather than PCR.
|
|
- [x] Create a method for creation of hitpicking .csvs because of reasons that may or may not exist.
|
|
- [x] Create a method for commenting submissions.
|
|
- [x] Create barcode generator, because of reasons that may or may not exist.
|
|
- [x] Move bulk of functions from frontend.__init__ to frontend.functions as __init__ is getting bloated. |