Skip to content

Enhancements #2

@PhilPalmer

Description

@PhilPalmer

Enhancements

  • 1) Input
    • File upload
      • Allow upload of pre-generated full dataframe
      • Allow re-upload of CSV files (implemented in 1f17a81 as part of Add example data #21)
      • Extract date + time & use that to determine plate numbers
      • Support other file formats eg messaging or renaming of input columns
    • Dilutions
    • Plate data
      • Make switching plates more intuitive
        • Change mouse numbers to start from mouse 6 on plate 2
        • Prevent plates overwiting one another when switching plates
      • Make all plates the same button
      • Add toggle to go betweeen RLU → types (would be implemented as part of Allow all features to be set using the plate data table #26)
      • Prevent the plate data from switching back to types when the dilutions are updated
      • Automatically increment all following plates if a user updates the mouse number in a previous plate
      • Conditional formatting (see here)
    • Other features
      • Sort feature levels such as subject
      • Change feature names (Update features names #24 )
        • Change name from primary -> virus
      • Section not clear to new users and so needs improvement!
        • Make app more robust if user hasn't entered all data eg title and report still work
        • Provide more guidance/feedback on which features need to be entered
        • Set default dropdown for incoluate to subject
      • Remove button
      • Make Submit button more visible and provide feedback once clicked
    • Performance
      • Reduce the number of uncessary calls resulting from reactivity
      • Improve the efficiency of the code which updates the types/subjects etc.
        • Replace nested for loops with vectors
        • Only update when changes occur
    • Add tooltips for help + improve messaging
    • Add example data (Add example data #21)
  • 2) QC
    • Display no. of cells + no. of wells in av. luminescence values table
    • Plate heatmaps
      • Change row names to letters + add a key (for types)
      • Improve error handling eg when other features not set
    • Ask Joanne, Kelly & George re normalisation using cell + virus wells (plate vs global)
    • Update heatmaps automatically rather than on-click on new tab
    • Keep colour scheme consistent between plots
    • Stop errors showing underneath the types boxplot (Error message appears on QC Types Boxplot tab #27)
  • 3) Results
    • Make plots interactive using plotly
    • Add plotly library declaration to raw R code
    • Create a separate plot for each primary!
    • Have option to change axis eg from -10 -> 110
    • Syntax hightling for raw R code
    • Support multiple primaries/viruses
    • Change Estimate -> IC50 Dilution in IC50 boxplot
    • Use multiple lines on the x-axis to show that it's a log scale
    • Show a loading spinner while the plots are loading
    • Have templates available for reports eg for Cambridge University / DIOSVax (knitr)
    • Have the option to update the colours used in the plot eg make PBS black
  • Other
    • Refactoring (see here)
      • Use Shiny modules for each section of the app
      • Add a function and tests to ensure that the column types are correct
      • Create R package
      • Add tests (CI/CD)
      • Have auto-formatter like prettier
      • Reduce code duplication for plots in the app + code to display + in the Rmd
      • Add default_dilutions as parameter - if NULL then load data(defualt_dilutions)
      • On the show code tab do library(autoplate) and then use autoplate functions to generate the plot(s)
      • Improve the experience of using the library within R
      • Use Shiny modules for each section of the app
      • Generate documentation on the homepage from the readme
      • Add automatic code styling on PR with styler
      • Use shiny:: for all shiny functions so that shiny doesn't need to be loaded when the package is loaded
    • Update the readme - generate UI from markdown content
    • Diff assay types eg ELLA or ELISA or HIA assays
      • NA assay
        • ELISA reader input -> CSV
        • horizontal dilutions
        • support different and/or user defined custom plate templates
        • multiple mice per column eg rows C & D = mouse 2
    • Other (larger) plates eg 384-well plates
    • Custom features
    • Deploy to custom URL?
    • Pay for Shiny premium to get more app hours
    • Add a Rmd documentation web page similar to wpm (see here)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions