Commit 93b27048 authored by Virgile Baudrot's avatar Virgile Baudrot
Browse files

update documentations for all items

parent 038c6b18
......@@ -28,6 +28,13 @@ mod_tabItemDamage_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check that all previous elements are well defined: source, host, dispersal, deposition and laying site with emergence date, and exposure."),
tags$li("(2) select a damage model: a classical sigmoidal dose-response model with LC50 and slope, or a stochastic death survival model."),
tags$li("(3) provide parameters for the model you selected,"),
tags$li("(4) run the damage model by clicking on 'Run'."),
),
h4("Check list of previous items"),
verbatimTextOutput(ns("CheckDamage")),
hr(),
......@@ -49,8 +56,10 @@ mod_tabItemDamage_ui <- function(id){
tabsetPanel(id = ns("tabsetDAMAGEsurv"),
tabPanel(title = "Dose Response",
value = "DRsurvDAMAGE",
p("For LC50 (lethal concentration for 50% of the individuals), make sure the unit is the same as the one of exposure.
For the parameters provided by default, exposure is in squarred meter, so we convert LC50 in square meter (451*10000)."),
numericInput(inputId = ns("LC50DR"),
label = "LC50 - /!\ Unit of Exposure",
label = "LC50",
value = 451*10^4),
numericInput(inputId = ns("slopeDR"),
label = "Slope",
......@@ -65,30 +74,7 @@ mod_tabItemDamage_ui <- function(id){
#Selector for file upload
fileInput(ns('GUTSsurvDAMAGE'),
'Choose CSV file - GUTS',
accept=c('text/csv', 'text/comma-separated-values,text/plain')),
# Horizontal line ----
tags$hr(),
# Input: Checkbox if file has header ----
checkboxInput(ns("headerDAMAGE"), "Header", TRUE),
# Input: Select separator ----
radioButtons(ns("sepDAMAGE"), "Separator",
choices = c(Comma = ",",
Semicolon = ";",
Tab = "\t"),
selected = ","),
# Input: Select quotes ----
radioButtons(ns("quoteDAMAGE"), "Quote",
choices = c(None = "",
"Double Quote" = '"',
"Single Quote" = "'"),
selected = '"'),
# Horizontal line ----
tags$hr(),
# Input: Select number of rows to display ----
radioButtons(ns("dispDAMAGE"), "Display",
choices = c(Head = "head",
All = "all"),
selected = "head")
accept=c('text/csv', 'text/comma-separated-values,text/plain'))
##############
# CSV FILE END
##############
......@@ -146,7 +132,7 @@ mod_tabItemDamage_server <- function(input, output, session, r){
CheckDamage$landscapeHOST= ifelse(is.null(r$landscapeHOST), "NO Host", "Host OK")
CheckDamage$stack_dispersal = ifelse(is.null(r$stack_dispersal), "NO Dispersal", "Dispersal OK")
CheckDamage$stack_exposure = ifelse(is.null(r$stack_exposure), "NO Deposition", "Deposition OK")
CheckDamage$individualSITE = ifelse(is.null(r$individualSITE), "NO Cluster", "Cluster OK")
CheckDamage$individualSITE = ifelse(is.null(r$individualSITE), "NO Laying site", "laying site OK")
CheckDamage$exposureINDIVIDUAL = ifelse(is.null(r$exposureINDIVIDUAL), "NO Exposure", "Exposure OK")
return(HTML(paste0(
"1. ", CheckDamage$landscapeSOURCE, "\n",
......
......@@ -28,6 +28,12 @@ mod_tabItemDevelopment_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check the host and laying site are well defined (OK in the check list),"),
tags$li("(2) select a developement model (fixed or degree day),"),
tags$li("(3) run the developement model by clicking on 'Run'."),
),
h4("Check list of previous items"),
verbatimTextOutput(ns("CheckDevelopment")),
hr(),
......@@ -49,12 +55,16 @@ mod_tabItemDevelopment_ui <- function(id){
selected = "devoFIX",
tabPanel(title = "Fixed",
value = "devoFIX",
p("All organisms have the same fixed life expectancy under the control situation (no exposure, no damage)"),
numericInput(inputId = ns("indDevoFIX"),
label = "Fix lifespan",
value = 20)
),
tabPanel(title = "Degree Day",
value = "devoDD",
p("To run a Degree Day model, you have to provide the temperature
time series of the area and along the period under consideration.
Parameter are classical parameters of Degree Day models."),
column(width = 6,
numericInput(inputId = ns("indDevoDD"),
label = "Day-degrees",
......@@ -113,7 +123,7 @@ mod_tabItemDevelopment_server <- function(input, output, session, r){
output$CheckDevelopment <- renderText({
CheckDevelopment = list()
CheckDevelopment$landscapeHOST= ifelse(is.null(r$landscapeHOST), "NO Host", "Host OK")
CheckDevelopment$individualSITE = ifelse(is.null(r$individualSITE), "NO Cluster", "Cluster OK")
CheckDevelopment$individualSITE = ifelse(is.null(r$individualSITE), "NO laying site", "Laying site OK")
return(HTML(paste0(
"1. ", CheckDevelopment$landscapeHOST, ",\n",
"2. ", CheckDevelopment$individualSITE))
......
......@@ -28,12 +28,19 @@ mod_tabItemDispersal_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check the source and the frame are well defined (OK in the check list),"),
tags$li("(2) choose a kernel function and provide parameter values,"),
tags$li("(3) compute the dispersal b y clicking on 'Run'.")
),
h4("Check list of previous items"),
p("Please, for each step of the app, check that all items of this kind of list is ok."),
p("Please, for each step of the app, check that all items of the list are ok."),
verbatimTextOutput(ns("CheckDispersal")),
hr(),
h4("How to run a dispersal kernel"),
p("Once all elements in Check list is OK, this part allows to compute dispersal probability."),
p("Once all elements in Check list is OK, this part allows to compute dispersal probability.
Here, for each source field uploaded previously, the dispersal of source is computed according to the selected kernel."),
tags$video(id = ns("videoDispersal"),
type = "video/mp4",
src = "www/dispersal_capture2.mp4",
......@@ -231,6 +238,10 @@ mod_tabItemDispersal_ui <- function(id){
box(title = iconed("Dispersal Probability", "cogs"),
solidHeader = TRUE,
width = 6, status = "success",
p("For each source field uploaded previously in the item 'landscape',
the dispersal is computed according to the kernel which has been selected.
On the left, the picture represents the 9 (or less) first source fields,
On the right, you can select a field to represent it."),
box(
label = "Plot only the 9 first fields",
solidHeader = FALSE,
......@@ -248,7 +259,6 @@ mod_tabItemDispersal_ui <- function(id){
onInitialize = I('function() { this.setValue(""); }')
)
),
# actionButton(ns("goPlotDispersal"), "Plot"),
# plot the Figure
plotOutput(ns("plotDISPERSAL"))
)
......
......@@ -31,6 +31,13 @@ mod_tabItemEmission_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check the source and the dispersal are well defined (OK in the check list),"),
tags$li("(2) generate or load an emission profile for each source fields,"),
tags$li("(3) generate or load deposition processes,"),
tags$li("(4) run convolution of dispersal with emission profile by clicking on 'Run'.")
),
h4("Check list of previous items"),
verbatimTextOutput(ns("CheckEmission")),
hr(),
......@@ -48,11 +55,13 @@ mod_tabItemEmission_ui <- function(id){
solidHeader = TRUE,
width = 8,
status = "warning",
p("You can either generate or load an emission profile."),
column(width = 6,
tabsetPanel(id = ns("tabsetEmission"),
selected = "GenerateEmission",
tabPanel(title = "Generate",
value = "GenerateEmission",
p("To generate the emission profiles, select a period of pollen emission, and define shape and scale of emission functions"),
dateRangeInput(inputId = ns("periodEMISSION"),
label = "Period - minimum 14 days",
start = "2006-06-15", # Sys.Date()-10,
......@@ -77,10 +86,13 @@ mod_tabItemEmission_ui <- function(id){
tabPanel(title = "Load",
value = "LoadEmission",
# ---
p("If you have your own pollen emission profiles, load the CSV file.
To see how the CSV file should look like, download the example file we provide."),
fileInput("sourceEMISSION",
'Choose CSV file - EMISSION',
accept=c('text/csv', 'text/comma-separated-values,text/plain')),
hr(),
p("Download and upload an example"),
downloadButton(ns("download_sourceEMISSION"),
"Download Emission Profile",
style="color: #fff; background-color: #33595f; border-color: #052327")
......
......@@ -28,6 +28,12 @@ mod_tabItemExposure_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check that all previous elements are well defined: source, host, dispersal, deposition and laying site with emergence date."),
tags$li("(2) check period of organism lifespan and pollen dispersal overlap,"),
tags$li("(3) run the exposure model by clicking on 'Run'."),
),
h4("Check list of previous items"),
verbatimTextOutput(ns("CheckExposure")),
hr(),
......@@ -45,6 +51,7 @@ mod_tabItemExposure_ui <- function(id){
box(title = iconed("Overlapping", "calendar-check"),
solidHeader = TRUE,
width = 4, status = "warning",
p("The following graphic helps to check that periods of organism lifespan and pollen deposition overlap."),
plotOutput(ns("plotOVERLAPemission")),
hr(),
actionButton(ns("goRunExposureMatch"),
......@@ -59,6 +66,7 @@ mod_tabItemExposure_ui <- function(id){
width = 6,
plotOutput(ns("profileEXPOSURE")),
hr(),
p("Dowload the exposure data set which has been generated."),
downloadButton(ns("download_EXPOSURE"),
"Download Exposure CSV",
style="color: #fff; background-color: #33595f; border-color: #052327")#,
......@@ -96,7 +104,7 @@ mod_tabItemExposure_server <- function(input, output, session, r){
CheckExposure$landscapeHOST= ifelse(is.null(r$landscapeHOST), "NO Host", "Host OK")
CheckExposure$stack_dispersal = ifelse(is.null(r$stack_dispersal), "NO Dispersal", "Dispersal OK")
CheckExposure$stack_exposure = ifelse(is.null(r$stack_exposure), "NO Deposition", "Deposition OK")
CheckExposure$individualSITE = ifelse(is.null(r$individualSITE), "NO Cluster", "Cluster OK")
CheckExposure$individualSITE = ifelse(is.null(r$individualSITE), "NO Laying site", "Laying site OK")
return(HTML(paste0(
"1. ", CheckExposure$landscapeSOURCE, "\n",
"2. ", CheckExposure$landscapeHOST, "\n",
......
......@@ -28,6 +28,12 @@ mod_tabItemHost_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check the host is well defined (OK in the check list),"),
tags$li("(2) generate or load laying site and date of emergence,"),
tags$li("(3) valid the laying site and emergence by clicking on 'valid'."),
),
h4("Check list of previous items"),
verbatimTextOutput(ns("CheckHost")),
hr(),
......@@ -48,6 +54,8 @@ mod_tabItemHost_ui <- function(id){
selected = "GenerateIndSite",
tabPanel(title = "Generate",
value = "GenerateIndSite",
p("To generate a laying site and date of emergence, provide the number of laying site and the period of emergence.
The date of emergence are then uniformly sampled within the period you defined."),
numericInput(inputId = ns("numberIndSITE"),
label = "Nbr laying sites",
value = 100),
......@@ -65,6 +73,8 @@ mod_tabItemHost_ui <- function(id){
),
tabPanel(title = "Load",
value = "LoadIndSite",
p("To load your own laying site and date of emergence, you have to provide the KML file with points,
and the CSV file with date of emergence."),
fileInput(ns("individualSITE"),
"Choose a KML File - SITE"),
fileInput('dateEMERGENCE',
......@@ -80,6 +90,9 @@ mod_tabItemHost_ui <- function(id){
box(title = iconed("Occurence", "cogs"),
solidHeader = TRUE,
width = 8, status = "success",
p("The graphic on the left is the histogram showing the number of emerging individuals along the period you defined.
The plot on the right is the map of the laying site (in black) and an additional brown point is provide to highlight the date of emergence.
You vertical red line on the left graphic correspond to the date you selected."),
column(width = 6,
plotOutput(ns("histIND"))
),
......
......@@ -47,6 +47,11 @@ mod_tabItemInteractiveMap_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("Simply explore the results of the simulation.")
),
hr(),
h4("Explore the Interactive Map"),
p("The final risk map is given in the item."),
tags$video(id = ns("videoInteractiveMap"),
......
......@@ -32,13 +32,19 @@ mod_tabItemLandscape_ui <- function(id){
collapsible = TRUE,
closable = FALSE,
footer_padding = FALSE,
p("In this part, you have to: (1) download the source file, (2) download the host file and (3) compute
or load a square frame to gather host and source within the same spatial square."),
h4("What to do here?"),
tags$ul(
tags$li("(1) download the source KML file,"),
tags$li("(2) download the host KML file,"),
tags$li("(3) compute or load a square frame to gather host and source within the same spatial frame.")
),
p("The two videos in this information box present (1) how to create a KML file, which is a GIS file,
and (2) how to use the current item landscape."),
hr(),
h4("Tutorial on building KML landscape files."),
p("The following video shows how to create a KML filr with umap,",
p("The following video shows how to create a KML file with umap,",
a(href="umap", "https://umap.openstreetmap.fr/fr/"),
". But you can also use Google Earth to create a KML file."
". But you can also use Google Earth or anya other GIS software to create a KML file."
),
tags$video(id = ns("videoLandscape_makeKML"),
type = "video/mp4",
......@@ -62,10 +68,15 @@ mod_tabItemLandscape_ui <- function(id){
box(title = iconed("Source and Host", "database"),
solidHeader = TRUE,
width = 12, status = "warning",
p("You can generate a voronoï landscape or load your own landscape files."),
tabsetPanel(id = ns("tabsetLANDSCAPE"),
selected = "generateLANDSCAPE",
tabPanel(title = "Generate",
value = "generateLANDSCAPE",
p("To generate a voronoï landscape, you need to provide the number of polygons, the rate of polygons
that are sources fields (others are going to be the host fields), and the aggregation parameter.
The higher is the aggregation parameter, the more aggregated are the fields.
You can also define a box of the generated landscape in WGS84 geographical system."),
column(width = 4,
numericInput(inputId = ns("nLAND"),
label = "Number of cells",
......@@ -109,6 +120,10 @@ mod_tabItemLandscape_ui <- function(id){
),
tabPanel(title = "Load",
value = "loadLANDSCAPE",
p("To load your own landscape, you need to provide 2 KML files:
one for the source fields and one defining the host fields.
If applicable, define the ID column. You can also change the Geographical System of your files.
We recommend however to provide the two files in the same EPSG."),
# Input: Select a file ----
box(
title = iconed("Source", "database"),
......@@ -119,6 +134,7 @@ mod_tabItemLandscape_ui <- function(id){
"Choose a KML File - SOURCE"),
# Button
hr(),
p("You can download the following example, and then upload it."),
downloadButton(ns("download_LandscapeSOURCE"),
"Download Source",
style="color: #fff; background-color: #33595f; border-color: #052327")
......@@ -146,6 +162,7 @@ mod_tabItemLandscape_ui <- function(id){
fileInput("landscapeHOST",
"Choose a KML File - HOST"),
hr(),
p("You can download the following example, and then upload it."),
downloadButton(ns("download_LandscapeHOST"),
"Download Host",
style="color: #fff; background-color: #33595f; border-color: #052327")
......@@ -173,9 +190,12 @@ mod_tabItemLandscape_ui <- function(id){
box(title = iconed("Frame", "database"),
solidHeader = TRUE,
width = 4, status = "warning",
p("Once you have generated or loaded the source and host, you have to define the landscape borders:
a square surrounding both sources and hosts fields. The square shape is required for dispersal and convolution computing."),
p("Again, you can either generate a frame by providing a buffer distance, or load your own frame. Make sure the frame you upload is a square."),
tabsetPanel(id = ns("tabsetSQUAREFRAME"),
selected = "bufferSQUAREFRAME",
tabPanel(title = "Buffer",
tabPanel(title = "Generate",
value = "bufferSQUAREFRAME",
numericInput(inputId = ns("squareFrameBuffer"),
label = "Size of the buffer",
......@@ -194,6 +214,7 @@ mod_tabItemLandscape_ui <- function(id){
label = "Choose EPSG",
choices = NULL),
hr(),
p("You can download and upload the following example."),
downloadButton(ns("download_LandscapeSQUAREFRAME"),
"Download Frame shapefile",
style="color: #fff; background-color: #33595f; border-color: #052327")
......@@ -203,11 +224,10 @@ mod_tabItemLandscape_ui <- function(id){
box(title = iconed("landscape", "object-group"),
width = 8, status = "success",
solidHeader = TRUE,
p("The two plots represent your landscape. Red shapes are the Sources and Blue shapes are the Hosts."),
box(
width = 6, status = "success",
solidHeader = FALSE,
p("Red: Source"),
p("Blue: Host"),
plotOutput(ns("plotLANDSCAPE"))
),
box(
......
......@@ -80,6 +80,13 @@ of the", strong("dynamics of toxin ingestion on lethal and sublethal effects at
footer_padding = FALSE,
solidHeader = TRUE,
# ---
h4("How to?"),
p("To run the application properly, follows the steps.
Here, you can first check the video in the box that provide an overview on how to run a whole simulation.
As you will see, the application is simply a set of step that you have to follow one by one.
For each step, there are videos showing the way to proceed. For now, there is no subtitle and sound on videos.
If you have any question or comment please tell us by clicking on the red button 'Report Issue Here'."),
p("Enjoy the app!"),
hr(),
h4("General structure of the application"),
p("The application is made of 7 steps of computing and an Interactive Map:"),
......
......@@ -16,12 +16,12 @@ footerPage <- function(){
align="center",
actionButton('project',
"Project Gitlab Page",
onclick ="window.open('https://gitlab.paca.inra.fr/vbaudrot/r-shiny-app-ci-cd', '_blank')",
onclick ="window.open('https://gitlab.paca.inra.fr/shinyapps/briskaRShiny', '_blank')",
icon = icon("gitlab"),
style="color: #fff; background-color: #33595f; border-color: #052327"),
actionButton('issue',
"Report Issue Here",
onclick ="window.open('https://gitlab.paca.inra.fr/vbaudrot/r-shiny-app-ci-cd/issues', '_blank')",
onclick ="window.open('https://gitlab.paca.inrae.fr/shinyapps/briskaRShinyApp/-/issues', '_blank')",
icon = icon("exclamation-triangle"),
style="color: #fff; background-color: #f14b3d; border-color: #8a0a00")
)
......@@ -41,9 +41,9 @@ headerNavigationPage <- function(backNavKey, nextNavKey){
collapsible = FALSE,
closable = FALSE,
footer_padding = FALSE,
p("While you can move between items using the sidebar, we recommand you the use this navigation box with blue and green button.
The reason is that some computing requires previous items to be completed: for instance, dispersal computing in the second item
requires to have a source file downloaded in the first item."),
p("While you can move between items using the sidebar, we recommend to use this navigation box with blue and green button."),
p("The reason is that some computing requires previous items to be completed: for instance, dispersal computing in the second item
requires to have a source file downloaded from the first item."),
column(width = 6,
h4("Come back to the previous page," ),
actionButton(backNavKey,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment