diff --git a/SCRUm jobs.rtf b/SCRUm jobs.rtf deleted file mode 100644 index 86137c2..0000000 --- a/SCRUm jobs.rtf +++ /dev/null @@ -1,17 +0,0 @@ -{\rtf1\ansi\ansicpg1252\cocoartf2867 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 -\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 - -\f0\fs24 \cf0 SCRUM jobs\ -\ -*) Sessioninfo geht noch ins Leere: \ -tabPanel("Configuration",\ - verbatimTextOutput("sessioninfo"))\ -*) Checks ob EXCEL file den Vorgaben entspricht: \ -**) Mindestens 2 Referenz- und gleich viele Testsample Spalten. \ -**) Check ob Spalte mit den Verd\'fcnnungen den regex Vorgaben entspricht (Ind <- grep("dilu | dose | Dose | Conc | conc",cn)\ -\ -} \ No newline at end of file diff --git a/SCRUm jobs.txt b/SCRUm jobs.txt new file mode 100644 index 0000000..a8c93ea --- /dev/null +++ b/SCRUm jobs.txt @@ -0,0 +1,9 @@ +SCRUM jobs + +*) Sessioninfo geht noch ins Leere: +tabPanel("Configuration", + verbatimTextOutput("sessioninfo")) +*) Checks ob EXCEL file den Vorgaben entspricht: +**) Mindestens 2 Referenz- und gleich viele Testsample Spalten. +**) Check ob Spalte mit den Verdünnungen den regex Vorgaben entspricht (Ind <- grep("dilu | dose | Dose | Conc | conc",cn) + diff --git a/dev/app.R b/dev/app.R index 4794faf..8cf81e8 100644 --- a/dev/app.R +++ b/dev/app.R @@ -100,26 +100,27 @@ server <- function(input, output, session) { "Home", tabPanel( "Limit setting", + tags$style(HTML("pre { color: black; background-color: #7FAEFF55; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 12px;} ")), tags$img(src = "logo.png", class = "adv_logo"), h4("Introduction to the bioassay software"), # tags$mark("linear regression"), br(), - column( - 3, - tags$table( - id = "dose-table", - numericInput("lEACdiffla", "lower EAC for diff. of LA", -0.175, step = 0.001), - numericInput("uEACdiffla", "upper EAC for diff. of LA", 0.189, step = 0.001), + column(3, + style = "background: #7FAEFF88", numericInput("lEACratiola", "lower EAC ratio of LAs", 0.005, step = 0.001), numericInput("uEACratiola", "upper EAC for ratio of LAs", 100, step = 1), numericInput("lEACratioSlope", "lower EAC for ratio of slopes", 0.55, step = 0.01), numericInput("uEACratioSlope", "upper EAC for ratio of slopes", 1.84, step = 0.1), numericInput("lEACratioua", "lower EAC for ratio of UAs", 0.75, step = 0.1), - numericInput("uEACratioua", "upper EAC for ratio of UAs", 1.33, step = 0.1), + numericInput("uEACratioua", "upper EAC for ratio of UAs", 1.33, step = 0.1)), + column(3, style = "background: #7FAEFF88", numericInput("lowerPot", "lower EAC for potency", 75, step = 1), numericInput("upperPot", "upper EAC for potency", 133, step = 1), numericInput("lEACratioAdiff", "lower EAC of ratio of asymptote differences", 0.75, step = 0.01), - numericInput("uEACratioAdiff", "upper EAC of ratio of asymptote differences", 1.33, step = 0.01) - ) + numericInput("uEACratioAdiff", "upper EAC of ratio of asymptote differences", 1.33, step = 0.01), + numericInput("lEACdiffla", "lower EAC for diff. of LA", -0.175, step = 0.001), + numericInput("uEACdiffla", "upper EAC for diff. of LA", 0.189, step = 0.001) + ) ), tabPanel( @@ -221,8 +222,8 @@ server <- function(input, output, session) { column( 8, plotOutput("XLplot"), - "Footnote: bendpoints (linear part) and asymptote points (point where asymptote is reached) are plotted in dashed and dotted lines. They indicate whether the linear part and asymptotes are catched with the current dilutions.", - "Black line is the true slope at EC50 of REF.", + htmlOutput("No4PLFitText"), + DTOutput("pottab4plXL"), plotOutput("diagnplot"), DTOutput("EQtests"), @@ -278,7 +279,7 @@ server <- function(input, output, session) { h5("F-tests on regression, significance of slopes, and preparation need to have a p-value <0.05 to pass"), h5("All other tests pass if p-value > 0.05"), "SST CI for difference of slopes:", - tableOutput("SlopeDiffCI"), + #tableOutput("SlopeDiffCI"), h3("ANOVA for parallel line assay"), DTOutput("ANOVAlin") ) @@ -538,7 +539,8 @@ server <- function(input, output, session) { ) }) - + output$sessioninfo <- renderPrint(sessionInfo()) + output$pla <- renderUI({ navbarPage( title = "pla", @@ -612,7 +614,7 @@ server <- function(input, output, session) { ) }) - # output$sessioninfo <- renderPrint(sessioninfo()) + v <- reactiveValues(num_dose = 0, next.dose.t = 0) @@ -678,19 +680,19 @@ server <- function(input, output, session) { Dat$Author <- input$Author Dat$NoP <- input$NoP Dat$Assay <- input$Assay - - + Dat$FITsFlag <- FALSE +#browser() XLdat <- Dat$wb[input$sheet][[1]] if (is.null(XLdat)) XLdat <- Dat$wb[Dat$sheets[1]][[1]] cn <- colnames(XLdat) - logI <- grep("log", cn) + logI <- grep("log|ln", cn) logDoseI <- grep("log_dose", cn) if (length(logI) > 0 & length(logDoseI) == 0) { XLdat$log_dose <- XLdat[, logI] XLdat2 <- XLdat[, -logI] CORro <- cor(XLdat$log_dose, XLdat[, 3]) } else if (length(logI) == 0 & length(logDoseI) == 0) { - Ind <- grep("dilu|dose|Dose|Conc|conc", cn) + Ind <- grep(".ilution|.ose|.onc", cn) XLdat$log_dose <- log(XLdat[, Ind]) CORro <- cor(XLdat[, Ind], XLdat[, 3]) XLdat2 <- XLdat[, -Ind] @@ -705,10 +707,10 @@ server <- function(input, output, session) { }) output$PureErrW2 <- renderText(warning_text2()) - warning_textParEst <- reactive({ + warning_textPureErr <- reactive({ ifelse(PureErrFlag, "Pure Error is selected", "") }) - output$PureErrWParEst <- renderText(warning_textParEst()) + output$PureErrWParEst <- renderText(warning_textPureErr()) REP$PureErr <- PureErrFlag @@ -745,6 +747,14 @@ server <- function(input, output, session) { pSing }) + + warning_textNo4PLFit <- reactive({ + ifelse(Dat$FITsFlag, "No meaningful 4PL fit was possible. This may havea several reasons: \nA control sample was tested/\n + the EC50 is not catched with the dilutions/\n the assay/reader had a problem", + "Footnote: bendpoints (linear part) and asymptote points (point where asymptote is reached) are plotted in dashed and dotted lines. They indicate whether the linear part and asymptotes are catched with the current dilutions. + Black line is the true slope at EC50 of REF.") + }) + output$No4PLFitText <- renderText(warning_textNo4PLFit()) output$relpotTestTab <- renderTable({ NULL @@ -1532,7 +1542,7 @@ server <- function(input, output, session) { Dat$circles <- circle REPlin$circles <- circle - sigmoid <- Dat$coeffsMUnr + if (Dat$FITsFlag) sigmoid <- NULL else sigmoid <- Dat$coeffsMUnr pLin <- PlotLinPLA_FUNC(circle, sigmoid = sigmoid, all_l2, pl_df, indS, indT) REPlin$pLin <- pLin @@ -1663,7 +1673,7 @@ server <- function(input, output, session) { as.numeric(input$lEACratiola), as.numeric(input$uEACratiola), as.numeric(input$lEACratioSlope), as.numeric(input$uEACratioSlope), as.numeric(input$lEACratioua), as.numeric(input$uEACratioua), - as.numeric(input$EACLinlow), as.numeric(input$EACLinupp), + as.numeric(input$EACLinlow), as.numeric(input$EACLinupp), # Limits from linear PLA page as.numeric(input$lEACratioAdiff), as.numeric(input$uEACratioAdiff) ) diff --git a/tests/PlotLinTest.png b/tests/PlotLinTest.png new file mode 100644 index 0000000..e9e766f Binary files /dev/null and b/tests/PlotLinTest.png differ