Files
Submissions-App/TODO.md
2024-04-25 08:55:32 -05:00

5.8 KiB

  • Put "Not applicable" reagents in to_dict() method.
    • Currently in to_pydantic().
  • Critical: Convert Json lits to dicts so I can have them update properly without using crashy Sqlalchemy-json
    • Was actually not necessary.
  • Fix Parsed/Missing mix ups.
  • Have sample parser check for controls and add to reagents?
  • Update controls to NestedMutableJson
  • 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.
  • Add Bead basher and Assist to DB.
  • Artic not creating right plate name.
  • Merge BasicSubmission.find_subclasses and BasicSubmission.find_polymorphic_subclass
  • Fix updating of Extraction Kit in submission form widget.
  • Fix cropping of gel image.
  • Create Tips ... sigh.
  • Create platemap image from html for export to pdf.
  • Move plate map maker to submission.
  • Finish Equipment Parser (add in regex to id asset_number)
  • Complete info_map in the SubmissionTypeCreator widget.
  • Update Artic and add in equipment listings... sigh.
  • Fix WastewaterAssociations not in Session error.
    • Done... I think?
  • Fix submitted date always being today.
    • this is an issue with the way client is filling in form with =TODAY()
  • SubmissionReagentAssociation.query
  • Move as much from db.functions to objects as possible.
  • Clean up DB objects after failed test fix.
  • Fix tests.
  • Fix pydant.PydSample.handle_duplicate_samples?
  • See if the number of queries in BasicSubmission functions (and others) can be trimmed down.
  • Document code
  • Create a result object to facilitate returning function results.
  • Refactor main_window_functions into as many objects (forms, etc.) as possible to clean it up.
  • Integrate 'Construct First Strand' into the Artic import.
  • Clear out any unnecessary ctx passes now that queries are improved.
  • 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.
  • Ensure Bacterial plates end up with RSL_YY_###{submitterName}{submitterPlateID}.xlsx format.
  • Move lookup functions into class methods of db objects?
    • Not sure if will work for associations.
  • Update artic submission type database entry to add more technicians.
  • Rewrite tests... again.
  • Have InfoItem change status self.missing to True if value changed.
  • Make the kit verifier make more sense.
  • Slim down the Import and Submit functions in main_window_functions.
  • Create custom store methods for submission, reagent and sample.
  • Make pydantic models for other things that use constructors.
  • 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
  • Rebuild RSLNamer and fix circular imports
    • Should be used when coming in to parser and when leaving form. NO OTHER PLACES.
  • Change 'check_is_power_user' to decorator.
  • Drag and drop files into submission form area?
  • Get info for controls into their sample hitpicks.
  • Move submission-type specific parser functions into class methods in their respective models.
  • Improve function results reporting.
    • Maybe make it a list until it gets to the reporter?
  • Increase robustness of form parsers by adding custom procedures for each.
  • Rerun Kit integrity if extraction kit changed in the form.
  • Clean up db.functions.
  • Make kits easier to add.
  • Clean up & document code... again.
    • Including paring down the logging.debugs
    • Also including reducing number of functions in db.functions
  • Fix Tests... again.
  • Rebuild database
  • 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
  • Fix Wastewater/Artic double submission problem
  • Fix tests.
  • Reorganize wastewater artic parser.
  • Streamline addition of new kits by moving as much into DB as possible.
  • Large scale refactor (2023-07-24).
  • Make plate details from html, same as export.
  • Put in SN controls I guess.
  • Code clean-up and refactor (2023-07).
  • Migrate context settings to pydantic-settings model.
  • Insert column into reagent type to indicate if reagent is required for kit.
    • Needed to keep interchangeable bead plates from being forced into forms.
  • Migrate the parser.sub dictionary to pydantic models.
  • Move type_decider to metadata based method rather than excel map.
  • 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.
  • Improve plate mapping by using layout in submission forms rather than PCR.
  • Create a method for creation of hitpicking .csvs because of reasons that may or may not exist.
  • Create a method for commenting submissions.
  • Create barcode generator, because of reasons that may or may not exist.
  • Move bulk of functions from frontend.init to frontend.functions as init is getting bloated.