GithubHelp home page GithubHelp logo

shinyscenarioeditor's Issues

Add new/edit output intervals

Function to add a new output interval (or delete an existing one) to the list of output intervals of a scenario.

Start, end, and resolution and select units.

Define the data structure

The r$data data structure contains:

  • a generic key for each excel file (scenarios for Scenarios.xlsx)
  • For each key:
    • file_path path to the file
    • sheets: vector of sheet names
    • [Sheet]: a daframe containing the data loaded from a sheet of the excel file
    • [Sheet]_modified: a dataframe intialised as [Sheet] but where modified dataframe will be stored when changed.

Example:

r$data
  $Scenarios
    $file_path
    $sheets
    $Scenarios
    $Scenarios_modified
    $OutputPaths
    $OutputPaths_modified
  $Individuals
    $file_path
    $sheets
    ...

Cannot restore renv

When trying to restore renv packages, I get an error for the httpuv package, last lines:

nce to `FOLDERID_LocalAppData'
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'httpuv'
* removing 'D:/Work/OSPS/Repos/shinyScenarioEditor/renv/profiles/dev/renv/staging/1/httpuv'
install of package 'httpuv' failed [error code 1]

When manually installing httpuv from CRAN, an updated version is intalled (1.6.15, lockfile has 1.6.12). Maybe update your package locally and commit updated lockfile?

Specify data types for all excel files

readxl function assumes that empty columns are logical with NA values. This makes {datamods} crash when editing value because logical cannot be NA. To solve this, all columns are read as characters.

However, for making the editing UI more convenient to the users, the data should be correctly typed.

Create new Scenario from PKML

An option to create a new scenario from a pkml.

  • Scenario_name: simulation$name
  • IndividualId: empty
  • PopulationId: empty
  • ModelParameterSheets: empty
  • ApplicationProtocol: simulation$name, create additional sheet with application parameters? Only non-formula or formula overwritten
  • SimulationTime: parse.
    • In case the output time schema contains fixed time points, show a warning that they will be discarded.
    • ModelFile: name of the selected pkml
    • OutputPathsIds: parse outputs from pkml. Do not create an additional entry in OutputPaths sheet if such a path is already defined.

Checks:

  • A scenario with the same is already present
  • An application protocol sheet with the name is already present

Create new project with the app

V1 supports loading projects via project configuration.
V2 should support setting up the whole project structure from the app.

Create a additional section for Plots

to be changed/added:

  • "plots" element in the data_structure()
  • assign file_path with corresponding projectConfiguration() item in mod_import.R (~line 60)
  • new module called tab_plots for example
  • add tab_plots in mod_main_panel
  • tab_plots should contain calls to mod_table_tab_server and mod_table_tab_ui

Warnings when starting the app

Listening on http://127.0.0.1:39645
Warning: `bindFillRole()` only works on htmltools::tag() objects (e.g., div(), p(), etc.), not objects of type 'shiny.tag.list'. 
Mode: Dev
Warning: `bindFillRole()` only works on htmltools::tag() objects (e.g., div(), p(), etc.), not objects of type 'shiny.tag.list'. 
Mode: Dev

Find a new name

Since the app will be used to modify all esqlabsR excel sheets, it should not be called shinyScenarioEditor anymore.

Column Data Types and Values

Scenarios

Scenarios Table

  • Scenario_name - text type; text input; no predefined values; no validation
  • IndividualId - text type; dropdown multiple selection input; options come from Individuals$IndividualBiometrics sheet
  • PopulationId - text type; dropdown selection input; options come from Populations$PopulationName sheet;
  • ReadPopulationFromCSV - text type; text input; no predefined values; no validation
  • ModelParameterSheets - text type; text input; no predefined values; no validation
  • ApplicationProtocol - text type; text input; no predefined values; no validation
  • SimulationTime - text type with the integer numeric values split by ";", modal window input with the only integer values allowed
  • SimulationTimeUnit - text type; dropdown selection input; options come from ospsuite::ospUnits
  • SteadyState - boolean type; checkbox input; strict validation -> allowed values: true/false
  • SteadyStateTime - text type; text input; no predefined values; no validation
  • SteadyStateTimeUnit - text type; dropdown selection input; options come from ospsuite::ospUnits
  • ModelFile - text type; text input; no predefined values; no validation
  • OutputPathsIds - text type; text input; no predefined values; no validation

OutputPaths Table

  • OutputPathId - text type; text input;
  • OutputPath - text type; text input;

Individuals

IndividualBiometrics Table

  • IndividualId - text type; text input; no predefined values; no validation
  • Species - text type; dropdown selection input; options come from ospsuite::Species
  • Population - text type; text input;
  • Gender - text type; dropdown selection input; options come from ospsuite::Gender
  • Weight - numeric (integer) type; text input; min/max value ???
  • Height - numeric (integer) type; text input; min/max value ???
  • Age - numeric (integer) type; text input; min/max value ???

Populations

Demographics Table

  • PopulationName - text type; text input; no predefined values; no validation
  • species - text type; dropdown selection input; options come from ospsuite::Species
  • population - text type; text input;
  • numberOfIndividuals - numeric (integer) type; text input; min/max value ???
  • proportionOfFemale - numeric (integer) type; text input; min/max value ???
  • weightMin - numeric (integer) type; text input
  • weightMax - numeric (integer) type; text input
  • weightUnit - text type; dropdown selection input; options come from ospsuite::ospUnits
  • heightMin - numeric (integer) type; text input
  • heightMax - numeric (integer) type; text input
  • heightUnit - text type; dropdown selection input; options come from ospsuite::ospUnits
  • ageMin - numeric (integer) type; text input
  • ageMax - numeric (integer) type; text input
  • BMIMin - numeric (integer) type; text input
  • BMIMax - numeric (integer) type; text input
  • BMIUnit - text type; dropdown selection input; options come from ospsuite::ospUnits

Plots

DataCombined Table

  • DataCombinedName - text type; text input; no predefined values; no validation
  • dataType - text type; dropdown selection input; options: ['simulated', 'observed'] ???
  • label - text type; text input; no predefined values; no validation
  • scenario - text type; text input; no predefined values; no validation
  • path - text type; text input; no predefined values; no validation
  • dataSet - text type; text input; no predefined values; no validation
  • group - text type; text input; no predefined values; no validation
  • xOffsets - numeric (integer) type; text input
  • xOffsetsUnits - text type; dropdown selection input; options come from ospsuite::ospUnits ???
  • yOffsets - numeric (integer) type; text input
  • yOffsetsUnits - text type; dropdown selection input; options come from ospsuite::ospUnits ???
  • xScaleFactors - numeric (integer) type; text input
  • yScaleFactors - numeric (integer) type; text input

plotConfigurations Table

  • plotID - text type; text input; no predefined values; no validation
  • dataCombinedName - text type; text input; no predefined values; no validation
  • plotType - text type; dropdown selection input; options: ['individual'] ???
  • title - text type; dropdown selection input; options come from ospsuite::ospUnits ???
  • xUnit - text type; dropdown selection input; options come from ospsuite::ospUnits ???
  • yUnit - text type; dropdown selection input; options come from ospsuite::ospUnits ???
  • xAxisScale - text type; dropdown selection input; options: ['lin', 'log'] ???
  • yAxisScale - text type; dropdown selection input; options: ['lin', 'log'] ???
  • xAxisLimits - numeric (integer) type; text input
  • yAxisLimits - numeric (integer) type; text input
  • quantiles - numeric type; text input
  • foldDistance - numeric type; text input

plotGrids Table

  • name - text type; text input; no predefined values; no validation
  • plotIDs - text type; text input; no predefined values; no validation
  • title - text type; text input; no predefined values; no validation

ShinyApp for plots: selection of sheets to read from data file

If some sheets cannot be parsed with current data importer configuration, nothing happens because by default all sheets are read. Provide a check-box selection of sheets present in the data file and "reload" button that triggers reading of data only from selected sheets.

Loading of a report configuration fails

Configuration (and whole project structure) provided internally.

Error is:.

New names:
• `Bone` -> `Bone...1`
• `` -> `...2`
• `` -> `...3`
• `` -> `...4`
• `Bone` -> `Bone...5`
• `` -> `...6`
• `` -> `...7`
• `` -> `...8`
Warning: Error in [.data.frame: undefined columns selected
  4: runApp
  3: print.shiny.appobj
  1: source

OutputPaths - selection from the tree view

For the future.

We could offer an option to load a pkml with the simulation and present all possible outputs as a tree view, where the user cal select which outputs to add.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.