Diff of /uieasyroc.R [000000] .. [81de4e]

Switch to side-by-side view

--- a
+++ b/uieasyroc.R
@@ -0,0 +1,1126 @@
+shinyUI(pageWithSidebar(
+
+	titlePanel("easyROC: a web-tool for ROC curve analysis (ver. 1.1)"),
+  
+	sidebarPanel(
+	# Sol panelde nelerin yer alacağı bu bölümde belirleniyor.
+	# Tab panellerden veya sol panel içindeki çeşitli radyo butonlar
+	# checkbox'lar gibi seçimlerden sonra panelde nelerin değişeceği de
+	# ayrıca bir conditionalPanel() bloğu ile burada tanımlanabiliyor.
+	
+		conditionalPanel(condition="input.tabs1=='Introduction'",
+			HTML('<p><img src="multi.png" width=400 height=400></p>'),
+            tags$head(includeScript("google-analytics.js"))
+
+		),
+
+		conditionalPanel(condition="input.tabs1=='Data upload'",
+			h4("Input data"),
+			#radioButtons("dataInput", "", list("Load example data"=1, "Upload a file"=2, "Paste your data"=3), selected=1),
+			radioButtons("dataInput", "", list("Load example data"=1, "Upload a file"=2), selected=1),
+			
+			selectizeInput("statusVar", "Name of the status variable", choices = NULL, multiple = FALSE),
+			textInput("valueStatus", "Value of the status:", ""),
+			HTML('<br>'),
+			
+			conditionalPanel(condition="input.dataInput=='1'",
+				h5("Load example data:"),
+				radioButtons("sampleData", "", list("Mayo data (n=312, p=4)"=1, "PBC data set (n=418, p=20)"=2), selected=1),
+				HTML('<p>n: number of observations</p>'),
+				HTML('<p>p: number of variables</p>')
+			),
+
+			conditionalPanel(condition="input.dataInput=='2'",
+				h5("Upload a delimited text file (max. 10MB): "),
+				#HTML('<i class="fa fa-beer fa-lg"></i>'),
+				fileInput("upload", "", multiple = FALSE),
+				radioButtons("fileSepDF", "Delimiter:", list("Comma"=1, "Tab"=2, "Semicolon"=3, "Space"=4),selected=2),
+				
+				conditionalPanel(condition="input.fileSepDF!='1'",
+					checkboxInput(inputId = "decimal", label = "Use comma as decimal", value = FALSE)
+				),
+        
+				HTML('<br>'),
+				HTML('<p>You can upload your data as separated by comma, tab, semicolon or space.</p>'),
+				HTML('<p><b>Note</b>: First row must be header.</p>')
+			),
+			
+			conditionalPanel(condition="input.dataInput=='3'",
+				h5("Paste or enter your data below:"),
+				tags$textarea(id="myData", rows=10, cols=5, ""),
+				actionButton('clearText_button','Clear data'),
+				HTML('<br>'),
+				HTML('<br>'),
+
+				radioButtons("fileSepP", "Separator:", list("Comma"=1,"Tab"=2,"Semicolon"=3), selected=2),
+				HTML('<p>You can paste or manually enter your data as separated by comma, tab or semicolon.</p>'),
+				HTML('<p>Note: First row must be header.</p>')
+			)
+		),
+		
+		conditionalPanel(condition="input.tabs1=='ROC curve'",
+			
+            selectizeInput("markerInput", "Select markers (*)", choices = NULL, multiple = TRUE),
+            checkboxInput("lowhigh", "Higher values indicate disease", TRUE),
+			
+            HTML('<br>'),
+            
+            conditionalPanel(condition = "input.navbarROCcurve == 'Multiple Comparisons'",
+                selectInput(inputId = "MultipleCompMethod", label = "Multiple Comparison Method", selected = "bonferroni",
+                            choices = c("Bonferroni" = "bonferroni", "False discovery rate" = "fdr", "None" = "none")
+                            ),
+                HTML('<br>')
+            ),
+
+
+            helpText("(*) Multiple markers are allowed."),
+            HTML('<br>'),
+
+
+			checkboxInput(inputId = "advanced", label = "Advanced options", value = FALSE),
+            
+      		conditionalPanel(condition = "input.advanced",
+				radioButtons(inputId = "StdErr", label = "1. Select a method for SE estimation", 
+							 choices = list("Mann-Whitney"="MW", "DeLong(1988)[+]"="DeLong", "Under Null Hyp."="Null", "Binomial"="Binomial"), selected = "DeLong"),
+							 
+				radioButtons(inputId = "ConfInt", label = "2. Select a method for Conf. Interval", 
+							 choices = list("Mann-Whitney"="MW", "DeLong(1988)[+]"="DeLong", "Under Null Hyp."="Null", "Binomial Exact"="Exact"), selected = "DeLong"),
+				numericInput(inputId = "alpha", label = "Type I error", value = 0.05, min = 0, max = 1, step = 0.01),
+				HTML('<br>'),
+				HTML('<br>'),
+				helpText("[+]: Default options."),
+				HTML('<br>')
+			),
+            
+			checkboxInput(inputId = "ROCplotOpts", label = "Plot options", value = FALSE),
+
+
+            
+            conditionalPanel(condition = "input.ROCplotOpts",
+                fluidRow(column(5,sliderInput("myheight", "Plot height:", value=400, min=200, max=1200)),
+                         column(2),
+                         column(5,sliderInput("mywidth", "Plot width:", value=400, min=200, max=1200 ))
+                ),
+                
+                HTML('<br>'),
+                
+                fluidRow(
+                    column(10, selectizeInput("fontfamilyRC", "Font family", 
+                                              choices = c("Times New Roman" = "serif", "Arial" = "sans", 
+                                                          "Corier New" = "mono"), selected = "sans"))
+                ),
+                
+                HTML('<br>'),
+                
+                selectizeInput("subGrpsRC", "", choices = c("Edit x-axis" = "xAxis", "Edit y-axis" = "yAxis",
+                                                            "Other options" = "others"), selected = "xAxis"),
+                
+                conditionalPanel(condition = "input.subGrpsRC == 'others'",
+                                 fluidRow(
+                                     column(5, textInput("mainRC", "Graph title", "ROC Curve")),
+                                     column(1),
+                                     column(5, selectizeInput("font.mainRC", "Title font", choices = c("Regular" = "1", "Bold" = "2", 
+                                                                                                       "Italic" = "3", "Bold Italic" = "4"), 
+                                                              selected = "2"))
+                                 ),
+                                 
+                                 fluidRow(
+                                     column(5, textInput("col.mainRC", "Title color", "black")),
+                                     column(1),
+                                     column(5, numericInput("cex.mainRC", "Title size", min=0.1, max=5, value = 1.2, step = 0.1))
+                                 ),
+                                 
+                                 fluidRow(
+                                     column(5, textInput("ROCcolRC", "ROC line color", "black,red")),
+                                     column(1),
+                                     column(5, selectizeInput("ROCltyRC", "ROC line type", 
+                                                              choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+                                                                          "\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+                                                                          "\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+                                                                          "\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+                                                                          "\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+                                                                          "\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+                                                              selected = "1"))
+                                 ),
+                                 
+                                 textInput(inputId = "legend.namesRC", label = "Legend names", value = "")
+                ),
+                
+                conditionalPanel(condition = "input.subGrpsRC == 'xAxis'",
+                                 h5('X-axis options:'),
+                                 
+                                 ## X axis label options
+                                 fluidRow(
+                                     column(5, textInput("xlabRC", "Axis label", "1-Specificity")),
+                                     column(1),
+                                     column(5, selectizeInput("xfont.labRC", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+                                                                                                       "Italic" = "3", "Bold Italic" = "4"), 
+                                                              selected = "1"))    
+                                 ),
+                                 
+                                 fluidRow(
+                                     column(5, textInput("xcol.labRC", "Label color", "black")),
+                                     column(1),
+                                     column(5, numericInput("xcex.labRC", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+                                 ),
+                                 
+                                 ## X axis annotation options
+                                 fluidRow(
+                                     column(5, textInput("xcol.axisRC", "Annotation color", "black")),
+                                     column(1),
+                                     column(5, numericInput("xcex.axisRC", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+                                 )
+                                 
+                                 #fluidRow(
+                                 #	column(5, textInput("xcol11", "Axis color", "black")),
+                                 #	column(1),
+                                 #	column(5, textInput("xcol.ticks11", "Tickmarks color", "black"))
+                                 #),
+                ),
+                
+                conditionalPanel(condition = "input.subGrpsRC == 'yAxis'",
+                                 h5('Y-axis options:'),
+                                 
+                                 ## Y axis label options
+                                 fluidRow(
+                                     column(5, textInput("ylabRC", "Axis label", "Sensitivity")),
+                                     column(1),
+                                     column(5, selectizeInput("yfont.labRC", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+                                                                                                       "Italic" = "3", "Bold Italic" = "4"), 
+                                                              selected = "1"))	
+                                 ),
+                                 
+                                 fluidRow(
+                                     column(5, textInput("ycol.labRC", "Label color", "black")),
+                                     column(1),
+                                     column(5, numericInput("ycex.labRC", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+                                 ),
+                                 
+                                 ## Y axis annotation options
+                                 fluidRow(
+                                     column(5, textInput("ycol.axisRC", "Annotation color", "black")),
+                                     column(1),
+                                     column(5, numericInput("ycex.axisRC", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+                    )
+                )
+
+            ),
+
+            conditionalPanel(condition = "input.navbarROCcurve == 'Partial AUC'",
+
+                checkboxInput(inputId = "partialAUC", label = "Partial AUC", value = TRUE),
+
+                    conditionalPanel(condition = "input.partialAUC",
+
+                        fluidRow(
+                            column(5, numericInput("pointA", "Value 1", min=0, max=1, value = 0.5, step = 0.1)),
+                            column(1),
+                            column(5, numericInput("pointB", "Value 2", min=0, max=1, value = 1, step = 0.1))
+                        ),
+
+                    selectizeInput("sensSpec", "Select a measure", choices = c("Sensitivity", "Specificity"), multiple = FALSE, selected = "Sensitivity")
+
+                )
+            )
+
+        ),
+
+
+
+
+
+        conditionalPanel(condition="input.tabs1=='Cut points'",
+			h5("1. Select a marker"),
+            selectizeInput("cutoffMarker", "", choices = NULL, multiple = FALSE),
+            HTML('<br>'),
+            h5("2. Select a method for optimal cut-off (*)"),
+            selectizeInput("cutOffMethods", "", choices = c("Youden", "CB", "MCT", "MinValueSp", "MinValueSe", "ValueSe", "ValueSp", "MinValueSpSe", 
+															"MaxSp", "MaxSe", "MaxSpSe", "MaxProdSpSe", "ROC01", "SpEqualSe", "MaxEfficiency", 
+															"Minimax", "MaxDOR", "MaxKappa", "MinValueNPV", "MinValuePPV", "ValueNPV", "ValuePPV", 
+															"MinValueNPVPPV", "PROC01", "NPVEqualPPV", "MaxNPVPPV", "MaxSumNPVPPV", "MaxProdNPVPPV", 
+															"ValueDLR.Negative", "ValueDLR.Positive", "MinPvalue", "ObservedPrev", "MeanPrev", 
+															"PrevalenceMatching"), multiple = FALSE),
+            #HTML('<br>'),
+
+            conditionalPanel(condition="input.cutOffMethods=='Youden'",
+                HTML('<p><b>Youden:</b> Youden index</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "CFP_Youden", label = "Cost of a False Positive", value = 1, min = 0, max = 9999999),
+                numericInput(inputId = "CFN_Youden", label = "Cost of a False Negative", value = 1, min = 0, max = 9999999),
+                checkboxInput(inputId = "generalized_Youden", label = "Generalized Youden Index", value = FALSE),
+                checkboxInput(inputId = "costs_benefits_Youden", label = "Cost-benefit based Youden Index", value = FALSE)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='CB'",
+                HTML('<p><b>CB:</b> cost-benefit method</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "costs_ratio", label = "Cost ratio", value = 1, min = 0, max = 99999999)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MCT'",
+                HTML('<p><b>MCT:</b> minimizes misclassification cost term</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "CFP_MCT", label = "Cost of a False Positive", value = 1, min = 0, max = 9999999),
+                numericInput(inputId = "CFN_MCT", label = "Cost of a False Negative", value = 1, min = 0, max = 9999999)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValueSp'",
+                HTML('<p><b>MinValueSp:</b> a minimum value set for specificity</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueSp_MVSp", label = "Value of Specificity", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValueSe'",
+                HTML('<p><b>MinValueSe:</b> a minimum value set for sensitivity</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueSe_MVSe", label = "Value of Sensitivity", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ValueSe'",
+                HTML('<p><b>ValueSe:</b> a value set for sensitivity</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueSe_VSe", label = "Value of Sensitivity", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+            
+			conditionalPanel(condition="input.cutOffMethods=='ValueSp'",
+                HTML('<p><b>ValueSp:</b> a value set for specificity</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueSp_VSp", label = "Value of Specificity", value = 0.85, min = 0, max = 1, step = 0.01)
+			),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValueSpSe'",
+                HTML('<p><b>MinValueSpSe:</b> a minimum value set for specificity and sensitivity</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueSe_MVSpSe", label = "Value of Sensitivity", value = 0.85, min = 0, max = 1, step = 0.01),
+                numericInput(inputId = "valueSp_MVSpSe", label = "Value of Specificity", value = 0.85, min = 0, max = 1, step = 0.01),
+                checkboxInput(inputId = "maxSp_MVSpSe", label = "Maximum specificity", value = TRUE)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxSp'",
+                HTML('<p><b>MaxSp:</b> maximizes specificity</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxSe'",
+                HTML('<p><b>MaxSe:</b> maximizes sensitivity</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxSpSe'",
+                HTML('<p><b>MaxSpSe:</b> maximizes sensitivity and specificity simultaneously</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxProdSpSe'",
+                HTML('<p><b>MaxProdSpSe:</b> maximizes the product of sensitivity and specificity or accuracy area</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ROC01'",
+                HTML('<p><b>ROC01:</b> minimizes distance between ROC plot and point (0,1)</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='SpEqualSe'",
+                HTML('<p><b>SpEqualSe:</b> sensitivity = specificity</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxEfficiency'",
+                HTML('<p><b>MaxEfficiency:</b> maximizes efficiency or accuracy, similar to minimize error rate </p>'),
+                HTML('<br>'),
+                checkboxInput(inputId = "costs_benefits_Efficiency", label = "Cost-benefit based Efficiency", value = FALSE),
+                checkboxInput(inputId = "standard_deviation_accuracy", label = "Standart deviation accuracy", value = FALSE)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='Minimax'",
+                HTML('<p><b>Minimax:</b> minimizes the most frequent error</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxDOR'",
+                HTML('<p><b>MaxDOR:</b> maximizes diagnostic odds ratio</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxKappa'",
+                HTML('<p><b>MaxKappa:</b> maximizes kappa index</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "CFP_MK", label = "Cost of a False Positive", value = 1, min = 0, max = 9999999),
+                numericInput(inputId = "CFN_MK", label = "Cost of a False Negative", value = 1, min = 0, max = 9999999),
+                checkboxInput(inputId = "weighted_Kappa", label = "Weighted Kappa", value = FALSE)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValueNPV'",
+                HTML('<p><b>MinValueNPV:</b> a minimum value set for negative predictive value</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueNPV_MVNPV", label = "Value of NPV", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValuePPV'",
+                HTML('<p><b>MinValuePPV:</b> a minimum value set for positive predictive value</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valuePPV_MVPPV", label = "Value of PPV", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ValueNPV'",
+                HTML('<p><b>ValueNPV:</b> a value set for negative predictive value</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueNPV_VNPV", label = "Value of NPV", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ValuePPV'",
+                HTML('<p><b>ValuePPV:</b> a value set for positive predictive value</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valuePPV_VPPV", label = "Value of PPV", value = 0.85, min = 0, max = 1, step = 0.01)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinValueNPVPPV'",
+                HTML('<p><b>MinValueNPVPPV:</b> a minimum value set for predictive values</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valuePPV_MVNPVPPV", label = "Value of PPV", value = 0.85, min = 0, max = 1, step = 0.01),
+                numericInput(inputId = "valueNPV_MVNPVPPV", label = "Value of NPV", value = 0.85, min = 0, max = 1, step = 0.01),
+                checkboxInput(inputId = "maxNPV_MVNPVPPV", label = "Maximum NPV", value = TRUE)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='PROC01'",
+                HTML('<p><b>PROC01:</b> minimizes distance between PROC plot and point (0,1)</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='NPVEqualPPV'",
+                HTML('<p><b>NPVEqualPPV:</b> negative predictive value = positive predictive value</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxNPVPPV'",
+                HTML('<p><b>MaxNPVPPV:</b> maximizes positive predictive value and negative predictive value simultaneously</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxSumNPVPPV'",
+                HTML('<p><b>MaxSumNPVPPV:</b> maximizes the sum of the predictive values</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MaxProdNPVPPV'",
+                HTML('<p><b>MaxProdNPVPPV:</b> maximizes the product of predictive values</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ValueDLR.Negative'",
+                HTML('<p><b>ValueDLR.Negative:</b> a value set for negative diagnostic likelihood ratio</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueDLR_Negative", label = "Value of Negative DLR", value = 0.5, min = 0, max = 999999)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ValueDLR.Positive'",
+                HTML('<p><b>ValueDLR.Positive:</b> a value set for positive diagnostic likelihood ratio</p>'),
+                HTML('<br>'),
+                numericInput(inputId = "valueDLR_Positive", label = "Value of Positive DLR", value = 2, min = 0, max = 999999)
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MinPvalue'",
+                HTML('<p><b>MinPvalue:</b> minimizes p-value associated with the statistical Chi-squared test which measures the association between the marker and the binary result obtained on using the cutpoint</p>'),
+                HTML('<br>'),
+                selectInput(inputId = "adjusted_pvalue", label = "Adjustment method for p-value", 
+                            choices = c("Miller and Siegmund" = "PADJMS", "Altman_5" = "PALT5", "Altman_10" = "PALT10"),
+                            multiple = FALSE, selected = "PADJMS")
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='ObservedPrev'",
+                HTML('<p><b>ObservedPrev:</b> the closest value to observed prevalence</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='MeanPrev'",
+                HTML('<p><b>MeanPrev:</b> the closest value to the mean of the diagnostic test values</p>')
+            ),
+
+            conditionalPanel(condition="input.cutOffMethods=='PrevalenceMatching'",
+                HTML('<p><b>PrevalenceMatching:</b> the value for which predicted prevalence is practically equal to observed prevalence</p>')
+            ),
+
+            HTML('<br>'),
+            HTML('<p>(*) See <a href="http://cran.r-project.org/web/packages/OptimalCutpoints/index.html" target="_blank"> OptimalCutpoints</a> package from R</p>'),
+            HTML('<br>'),
+            
+            checkboxInput("showPlots", "Include plots.", FALSE),
+            
+            conditionalPanel(condition="input.showPlots",
+				fluidRow(
+					column(1),
+					column(5, sliderInput("myheightCutoff", "Plot height:", value=600, min=400, max=1400)),
+					column(1),
+					column(5, sliderInput("mywidthCutoff", "Plot width:", value=800, min=400, max=1400 ))
+				),
+				
+				HTML('<br>'),
+				checkboxInput("cutoffPlotsOpts", "More plot options (See Manual)", FALSE),
+				HTML('<br>')
+            ),
+            
+            conditionalPanel(condition="input.cutoffPlotsOpts",
+				fluidRow(
+					column(10, selectizeInput("fontfamily", "Font family", 
+											choices = c("Times New Roman" = "serif", "Arial" = "sans", 
+														"Corier New" = "mono"), selected = "sans"))
+				),
+
+				radioButtons("selectedGraph", "", list("Top Left \U2003 \U2003" = 1, "Top Right \U2003 \U2003" = 2, 
+														"Bottom Left \U2002\U2008" = 3, "Bottom Right" = 4), selected=1),
+				
+				HTML('<br>'),
+				
+				selectizeInput("subGrps", "", choices = NULL, selected = NULL),
+				
+				## First graph options (11)
+				conditionalPanel(condition = "input.selectedGraph == '1'",
+					
+					conditionalPanel(condition = "input.subGrps == 'others'",
+						fluidRow(
+						column(5, textInput("main11", "Graph title", "ROC Curve")),
+						column(1),
+						column(5, selectizeInput("font.main11", "Title font", choices = c("Regular" = "1", "Bold" = "2", 
+																						"Italic" = "3", "Bold Italic" = "4"), 
+												selected = "2"))
+						),
+					
+						fluidRow(
+							column(5, textInput("col.main11", "Title color", "black")),
+							column(1),
+							column(5, numericInput("cex.main11", "Title size", min=0.1, max=5, value = 1.2, step = 0.1))
+						),
+					
+						fluidRow(
+							column(5, textInput("ROCcol11", "ROC line color", "black")),
+							column(1),
+							column(5, selectizeInput("ROClty11", "ROC line type", 
+													choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+																"\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+																"\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+																"\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+																"\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+																"\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+													selected = "1"))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'xAxis'",
+						h5('X-axis options:'),
+						
+						## X axis label options
+						fluidRow(
+							column(5, textInput("xlab11", "Axis label", "1-Specificity")),
+							column(1),
+							column(5, selectizeInput("xfont.lab11", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																							"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("xcol.lab11", "Label color", "black")),
+							column(1),
+							column(5, numericInput("xcex.lab11", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## X axis annotation options
+						fluidRow(
+							column(5, textInput("xcol.axis11", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("xcex.axis11", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+						
+						#fluidRow(
+						#	column(5, textInput("xcol11", "Axis color", "black")),
+						#	column(1),
+						#	column(5, textInput("xcol.ticks11", "Tickmarks color", "black"))
+						#),
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'yAxis'",
+						h5('Y-axis options:'),
+						
+						## Y axis label options
+						fluidRow(
+							column(5, textInput("ylab11", "Axis label", "Sensitivity")),
+							column(1),
+							column(5, selectizeInput("yfont.lab11", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("ycol.lab11", "Label color", "black")),
+							column(1),
+							column(5, numericInput("ycex.lab11", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## Y axis annotation options
+						fluidRow(
+							column(5, textInput("ycol.axis11", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("ycex.axis11", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					)	
+				),
+				
+				## Second graph options (12)
+				conditionalPanel(condition = "input.selectedGraph == '2'",
+					
+					conditionalPanel(condition = "input.subGrps == 'others'",
+						fluidRow(
+							column(5, textInput("main12", "Graph title", "Sens. & Spec. Curve")),
+							column(1),
+							column(5, selectizeInput("font.main12", "Title font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "2"))
+						),
+					
+						fluidRow(
+							column(5, textInput("col.main12", "Title color", "black")),
+							column(1),
+							column(5, numericInput("cex.main12", "Title size", min=0.1, max=5, value = 1.2, step = 0.1))
+						),
+					
+						fluidRow(
+							column(5, textInput("specCol", "Spec. line color", "blue")),
+							column(1),
+							column(5, selectizeInput("specType", "Spec. line type", 
+													choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+																"\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+																"\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+																"\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+																"\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+																"\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+													selected = "1"))
+						),
+						
+						fluidRow(
+							column(5, textInput("sensCol", "Sens. line color", "red")),
+							column(1),
+							column(5, selectizeInput("sensType", "Sens. line type", 
+													choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+																"\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+																"\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+																"\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+																"\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+																"\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+													selected = "1"))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'Legend'",
+						fluidRow(
+							column(5, selectizeInput("legendPos12", "Position", choices = c("Top right" = "topright", "Top left" = "topleft", "Bottom right" = "bottomright", "Bottom left" = "bottomleft", "xy coord." = "xy"),
+														selected = "topright")),
+							column(1),
+							column(2,
+								conditionalPanel(condition = "input.legendPos12 == 'xy'",
+									numericInput("legendXpos12", "x", value = 0, step = 0.1)
+								)
+							),
+							column(1),
+							column(2,
+								conditionalPanel(condition = "input.legendPos12 == 'xy'",
+									numericInput("legendYpos12", "y", value = 0, step = 0.02)
+								)
+							)
+						),
+						
+						fluidRow(
+							column(7, textInput("legendNames12", "Leg. labels (comma sep.)", "Sens.,Spec.")),
+							column(1),
+							column(3, numericInput("cex.legend12", "Leg. size", min = 0.5, max = 5, step = 0.1, value = 1))
+						),
+						
+						fluidRow(
+							column(5, textInput("legendTitle12", "Title", "")),
+							column(1),
+							column(5, textInput("col.legendTitle12", "Title color", "black"))
+						),
+                        
+                        checkboxInput("borderless12", label = "Remove borders.", value = FALSE)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'xAxis'",
+						h5('X-axis options:'),
+						
+						## X axis label options
+						fluidRow(
+							column(5, textInput("xlab12", "Axis label", "Marker Name")),
+							column(1),
+							column(5, selectizeInput("xfont.lab12", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("xcol.lab12", "Label color", "black")),
+							column(1),
+							column(5, numericInput("xcex.lab12", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## X axis annotation options
+						fluidRow(
+							column(5, textInput("xcol.axis12", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("xcex.axis12", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'yAxis'",
+						h5('Y-axis options:'),
+						
+						## Y axis label options
+						fluidRow(
+							column(5, textInput("ylab12", "Axis label", "Value")),
+							column(1),
+							column(5, selectizeInput("yfont.lab12", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("ycol.lab12", "Label color", "black")),
+							column(1),
+							column(5, numericInput("ycex.lab12", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## Y axis annotation options
+						fluidRow(
+							column(5, textInput("ycol.axis12", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("ycex.axis12", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					)
+				),
+				
+				## Third graph options (21)
+				conditionalPanel(condition = "input.selectedGraph == '3'",
+					
+					conditionalPanel(condition = "input.subGrps == 'others'",
+						fluidRow(
+							column(5, textInput("main21", "Graph title", "Distribution Graph")),
+							column(1),
+							column(5, selectizeInput("font.main21", "Title font", choices = c("Regular" = "1", "Bold" = "2", 
+																							"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "2"))
+						),
+					
+						fluidRow(
+							column(5, textInput("col.main21", "Title color", "black")),
+							column(1),
+							column(5, numericInput("cex.main21", "Title size", min=0.1, max=5, value = 1.2, step = 0.1))
+						),
+					
+						fluidRow(
+							column(6, textInput("lineColD", "Line color (Diseased)", "red")),
+							column(1),
+							column(5, selectizeInput("lineTypeD", "Line type", 
+													choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+																"\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+																"\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+																"\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+																"\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+																"\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+													selected = "1"))
+						),
+						
+						fluidRow(
+							column(6, textInput("lineColH", "Line color (Healthy)", "blue")),
+							column(1),
+							column(5, selectizeInput("lineTypeH", "Line type", 
+													choices = c("\U2500\U2500\U2500\U2500\U2500\U2500\U2500" = "1",
+																"\U2574 \U2574 \U2574 \U2574 \U2574 \U2574" = "2", 
+																"\U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7 \U00B7" = "3",
+																"\U2574 \U00B7 \U2574 \U00B7 \U2574 \U00B7 \U2574" = "4",
+																"\U2500 \U2500 \U2500 \U2500 \U2500" = "5",
+																"\U2500 \U2574 \U2500 \U2574 \U2500 \U2574" = "6"),
+													selected = "1"))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'Legend'",
+						fluidRow(
+							column(5, selectizeInput("legendPos21", "Position", choices = c("Top right" = "topright", "Top left" = "topleft", "Bottom right" = "bottomright", "Bottom left" = "bottomleft", "xy coord." = "xy"),
+														selected = "topright")),
+							column(1),
+							column(2,
+								conditionalPanel(condition = "input.legendPos21 == 'xy'",
+									numericInput("legendXpos21", "x", value = 0, step = 0.1)
+								)
+							),
+							column(1),
+							column(2,
+								conditionalPanel(condition = "input.legendPos21 == 'xy'",
+									numericInput("legendYpos21", "y", value = 0, step = 0.1)
+								)
+							)
+						),
+						
+						fluidRow(
+							column(7, textInput("legendNames21", "Leg. labels (comma sep.)", "Diseased,Healthy")),
+							column(1),
+							column(3, numericInput("cex.legend21", "Leg. Size", min = 0.5, max = 5, step = 0.1, value = 1))
+						),
+						
+						fluidRow(
+							column(5, textInput("legendTitle21", "Title", "")),
+							column(1),
+							column(5, textInput("col.legendTitle21", "Title color", "black"))
+						),
+                        
+						checkboxInput("borderless21", label = "Remove borders.", value = FALSE)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'xAxis'",
+						h5('X-axis options:'),
+						
+						## X axis label options
+						fluidRow(
+							column(5, textInput("xlab21", "Axis label", "Marker Name")),
+							column(1),
+							column(5, selectizeInput("xfont.lab21", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("xcol.lab21", "Label color", "black")),
+							column(1),
+							column(5, numericInput("xcex.lab21", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## X axis annotation options
+						fluidRow(
+							column(5, textInput("xcol.axis21", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("xcex.axis21", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'yAxis'",
+						h5('Y-axis options:'),
+						
+						## Y axis label options
+						fluidRow(
+							column(5, textInput("ylab21", "Axis label", "Density")),
+							column(1),
+							column(5, selectizeInput("yfont.lab21", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("ycol.lab21", "Label color", "black")),
+							column(1),
+							column(5, numericInput("ycex.lab21", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## Y axis annotation options
+						fluidRow(
+							column(5, textInput("ycol.axis21", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("ycex.axis21", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					)
+				),
+				
+				## Fourth graph options (22)
+				conditionalPanel(condition = "input.selectedGraph == '4'",
+					conditionalPanel(condition = "input.subGrps == 'others'",
+						fluidRow(
+							column(5, textInput("main22", "Graph title", "Distribution Graph")),
+							column(1),
+							column(5, selectizeInput("font.main22", "Title font", choices = c("Regular" = "1", "Bold" = "2", 
+																							"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "2"))
+						),
+					
+						fluidRow(
+							column(5, textInput("col.main22", "Title color", "black")),
+							column(1),
+							column(5, numericInput("cex.main22", "Title size", min=0.1, max=5, value = 1.2, step = 0.1))
+						),
+						
+						numericInput("jitterAmount", "Amount of jittering", min=0.01, max = 0.5, value = 0.05, step = 0.01),
+						
+						## pch options for Healthy and Diseased subjects
+						fluidRow(
+							column(8, textInput("colPoints", "Point colors (comma sep.)", "black,black")),
+							column(1),
+							column(2, numericInput("pchPoints", "Type", min = 0, max = 25, step = 1, value = 1))
+						),
+						
+						fluidRow(
+							column(3, numericInput("pchSize", "Point size", min = 0.1, max = 5, step = 0.1, value = 1)),
+							column(1),
+							column(7,
+								conditionalPanel(condition = "input.pchPoints > 20",
+									textInput("pchFill", "Fill points with color" ,"white,white")
+								)
+							)
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'xAxis'",
+						h5('X-axis options:'),
+						
+						## X axis label options
+						fluidRow(
+							column(5, textInput("xlab22", "Axis label", "Disease Status")),
+							column(1),
+							column(5, selectizeInput("xfont.lab22", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																							"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("xcol.lab22", "Label color", "black")),
+							column(1),
+							column(5, numericInput("xcex.lab22", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## X axis annotation options
+						fluidRow(
+							column(12, textInput("xlabels22", "Annotation names (comma seperated)", "Healthy,Diseased"))
+						),
+						
+						fluidRow(
+							column(5, textInput("xcol.axis22", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("xcex.axis22", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					),
+					
+					conditionalPanel(condition = "input.subGrps == 'yAxis'",
+						h5('Y-axis options:'),
+						
+						## Y axis label options
+						fluidRow(
+							column(5, textInput("ylab22", "Axis label", "Marker Name")),
+							column(1),
+							column(5, selectizeInput("yfont.lab22", "Label font", choices = c("Regular" = "1", "Bold" = "2", 
+																								"Italic" = "3", "Bold Italic" = "4"), 
+													selected = "1"))	
+						),
+						
+						fluidRow(
+							column(5, textInput("ycol.lab22", "Label color", "black")),
+							column(1),
+							column(5, numericInput("ycex.lab22", "Label size", min=0.1, max=5, value = 1, step = 0.1))
+						),
+						
+						## Y axis annotation options
+						fluidRow(
+							column(5, textInput("ycol.axis22", "Annotation color", "black")),
+							column(1),
+							column(5, numericInput("ycex.axis22", "Annotation size", min=0.1, max=5, value = 1, step = 0.1))
+						)
+					)	
+				)
+			)
+        ),
+
+
+conditionalPanel(condition="input.tabs1=='Sample size'",
+
+h5("Choose one of the following methods (*):"),
+HTML('<br>'),
+
+
+checkboxInput("singleTest", "Single diagnostic test", FALSE),
+
+conditionalPanel(condition="input.singleTest",
+
+numericInput(inputId = "alpha1", label = "Type I error", value = 0.05, min = 0, max = 1, step = 0.01),
+numericInput(inputId = "power1", label = "Power", value = 0.80, min = 0, max = 1, step = 0.1),
+numericInput(inputId = "auc", label = "Area under the ROC curve", value = 0.60, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "ratio", label = "Allocation ratio", value = 1, min = 0, step = 0.1)
+
+),
+
+HTML('<br>'),
+
+checkboxInput("twoTests", "Comparison of two diagnostic tests", FALSE),
+
+conditionalPanel(condition="input.twoTests",
+
+numericInput(inputId = "alpha2", label = "Type I error", value = 0.05, min = 0, max = 1, step = 0.01),
+numericInput(inputId = "power2", label = "Power", value = 0.80, min = 0, max = 1, step = 0.1),
+numericInput(inputId = "auc01", label = "AUC for 1st test under null hypothesis", value = 0.80, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "auc02", label = "AUC for 2nd test under null hypothesis", value = 0.80, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "auc11", label = "AUC for 1st test under alternative hypothesis", value = 0.90, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "auc12", label = "AUC for 2nd test under alternative hypothesis", value = 0.70, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "ratio2", label = "Allocation ratio", value = 1, min = 0, step = 0.1)
+
+),
+HTML('<br>'),
+
+
+checkboxInput("StandardVsNew", "Noninferiority of a new test to a standard test", FALSE),
+
+
+conditionalPanel(condition="input.StandardVsNew",
+
+numericInput(inputId = "alpha3", label = "Type I error", value = 0.05, min = 0, max = 1, step = 0.01),
+numericInput(inputId = "power3", label = "Power", value = 0.80, min = 0, max = 1, step = 0.1),
+numericInput(inputId = "aucs", label = "AUC for standard test", value = 0.80, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "aucn", label = "AUC for new test", value = 0.80, min = 0.5, max = 1, step = 0.1),
+numericInput(inputId = "sd", label = "Smallest difference", value = 0.1, step = 0.1),
+numericInput(inputId = "ratio3", label = "Allocation ratio", value = 1, min = 0, step = 0.1)
+
+),
+
+HTML('<br>'),
+HTML('<p>(*) See <a href="http://66.199.228.237/boundary/complex_decision_making_and_ethics/ROC_Analysis.pdf" target="_blank"> Obuchowski, 2005</a> for further details.</p>'),
+HTML('<br>')
+
+
+),
+
+
+        conditionalPanel(condition="input.tabs1=='Manual'",
+			  HTML('<p align="center"><img src="manual.png" width=200 height=200></p>')
+		),
+
+		conditionalPanel(condition="input.tabs1=='Authors & News'",
+		    HTML('<p align="center"> <a href="https://www.hacettepe.edu.tr/english/" target="_blank"><img src="hulogo.JPEG" width=150 height=150></a> </p>')
+		)
+	),
+
+
+	mainPanel(
+	# Tab panelinden herhangi bir sekme seçildiği zaman ana bölmede (Ekranın orta kısmı)
+	# nelerin görüneceği bu kısımda tanımlanıyor. Belirli koşullar tanımlanmak istenir ise
+	# ayrıca bir conditionalPanel() bloğu burada tanımlanabilir.
+		tabsetPanel(
+			tabPanel(title="Introduction", 
+		         h5("The easiest way to perform ROC analysis!"),
+		         HTML('<p> A receiver operating characteristics (ROC) curve is a graphical approach which 
+                      assess the performance of a binary classifier system. The ROC curve analysis is widely 
+                      used in medicine, radiology, biometrics and various application of machine learning. </p>'),
+		         HTML('<p align="justify"> Here we developed an easy way to carry out ROC analysis.
+                      This application creates ROC curves, calculates area under the curve (AUC)
+                      values and confidence intervals for the AUC values, and performs multiple comparisons 
+                      for ROC curves in a user-friendly, up-to-date and comprehensive way. Moreover,
+                      easyROC computes and compares partial AUCs. It can also perform sample size calculation.</p>'),
+		         
+		         HTML('<p> An important feature of this application is to determine cut-off values especially 
+                      for diagnostic tests. For this task, we made use of 
+                      <a href="http://cran.r-project.org/web/packages/OptimalCutpoints/index.html" target="_blank">OptimalCutpoints</a> package (Lopez-Raton et al, 2014) of R [1].</p>'),
+
+#HTML('<br>'),
+
+                HTML('<p><div align="center"><table cellpadding="0" cellspacing="0"><tr><td><img src="ROCplot.png" width="300" height="300" border="10000"></td><td><img src="CutOff_Plots.png" width="400" height="400" border="70"></td></tr></table></div></p>'),
+
+# HTML('<br>'),
+
+
+                h6("[1] Monica Lopez-Raton, Maria Xose Rodriguez-Alvarez, Carmen Cadarso Suarez, Francisco Gude Sampedro (2014). OptimalCutpoints: An R Package for Selecting Optimal Cutpoints in Diagnostic Tests. Journal of Statistical Software, 61(8), 1-36.")
+			),
+
+			tabPanel("Data upload",
+                navbarPage(title = '',
+                    tabPanel('Data', dataTableOutput('RawData'))
+                )
+            ),
+
+            tabPanel("ROC curve",
+                downloadButton("downloadROCStats", "Download ROC statistics as txt-file"),
+                downloadButton("downloadROCData", "Download ROC coordinates as txt-file"),
+                downloadButton("downloadROCPlot", "Download plot as pdf-file"),
+                
+                h4(textOutput(outputId = "section1")),
+                navbarPage(id = "navbarROCcurve",
+                    title = '',
+                    tabPanel('Statistics',          dataTableOutput('ROCstatistics')),
+                    tabPanel('ROC Coordinates',     dataTableOutput('ROCcoordinates')),
+                    tabPanel('Multiple Comparisons',     dataTableOutput('ROCcomparisons')),
+                    tabPanel('Partial AUC',     dataTableOutput('resultPAuc'))
+
+
+
+                ),
+
+                conditionalPanel(condition = "input.navbarROCcurve != 'ROC Coordinates'",
+					textOutput(outputId = "CIreminderLine1"),
+					h6(textOutput(outputId = "CIreminderLine2"))
+                ),
+                
+                HTML('<br>'),
+                h4(textOutput(outputId = "section2")),
+                plotOutput("ROCplot")
+
+
+
+#verbatimTextOutput("resultPAuc")
+            ),
+
+            tabPanel("Cut points",
+                downloadButton("downloadCutOffresults", "Download results as txt-file"),
+                downloadButton("downloadCutOffPlotPDF", "Download plots as pdf-file"),   
+                verbatimTextOutput("cutPoints"),
+				
+                ## İçeriği sayfada ortalamak için kullanılan HTML kodu.
+                HTML('<div align="center">'),
+					plotOutput("cutPointsPlot"),
+				HTML('</div>')
+			),
+
+tabPanel(title="Sample size",
+
+downloadButton("downloadSampleSizeResults", "Download results as txt-file"),
+verbatimTextOutput("SampleSizeForRoc")
+
+
+),
+
+            tabPanel(title="Manual",
+                h5("Detailed manual will be released soon...")
+            ),
+
+			tabPanel("Authors & News",
+                h4("Authors"),
+    	        HTML('<p><a href="http://www.biostatistics.hacettepe.edu.tr/cv/Dincer_Goksuluk_CV_Eng.pdf" target="_blank"> <b>Dincer Goksuluk</b></a><p>'),
+    	        HTML('<p>Hacettepe University Faculty of Medicine <a href="http://www.biostatistics.hacettepe.edu.tr" target="_blank"> Department of Biostatistics</a><p>'),
+    	        HTML('<p><a href="mailto:dincer.goksuluk@hacettepe.edu.tr" target="_blank">dincer.goksuluk@hacettepe.edu.tr</a><p>'),
+                HTML('<p><a href="http://yunus.hacettepe.edu.tr/~selcuk.korkmaz/" target="_blank"> <b>Selcuk Korkmaz</b></a><p>'),
+                HTML('<p>Hacettepe University Faculty of Medicine <a href="http://www.biostatistics.hacettepe.edu.tr" target="_blank"> Department of Biostatistics</a><p>'),
+                HTML('<p><a href="mailto:selcuk.korkmaz@hacettepe.edu.tr" target="_blank">selcuk.korkmaz@hacettepe.edu.tr</a><p>'),
+                HTML('<p><a href="http://www.biostatistics.hacettepe.edu.tr/cv/Gokmen_Zararsiz_CV_Eng.pdf" target="_blank"> <b>Gokmen Zararsiz</b></a><p>'),
+                HTML('<p>Hacettepe University Faculty of Medicine <a href="http://www.biostatistics.hacettepe.edu.tr" target="_blank"> Department of Biostatistics</a><p>'),
+                HTML('<p><a href="mailto:gokmen.zararsiz@hacettepe.edu.tr" target="_blank">gokmen.zararsiz@hacettepe.edu.tr</a><p>'),
+                HTML('<br>'),
+		        h4("News"),
+                HTML('<br>'),
+                HTML('<p><b> Version 1.1 (June 23, 2015) </b><p>'),
+                HTML('<p> (1) Partial AUC feature has been added.<p>'),
+                HTML('<p> (2) Sample size calculation tab has been added.<p>'),
+                HTML('<p> (3) Minor improvements and bug fixes.<p>'),
+
+                HTML('<br>'),
+                HTML('<p><b> Version 1.0 (March 19, 2015)</b><p>'),
+		        HTML('<p> (1) Initial version has been released.<p>'),
+                HTML('<br>'),
+
+
+            h5("Other Tools"),
+
+            HTML('<p><a href="http://www.biosoft.hacettepe.edu.tr/MLViS/" target="_blank"> <b>MLViS: a machine learning-based virtual screening tool</b></a><p>'),
+            HTML('<p><a href="http://www.biosoft.hacettepe.edu.tr/MVN/" target="_blank"> <b>MVN: a web-tool for assessing multivariate normality </b></a><p>'),
+            HTML('<p><a href="http://www.biosoft.hacettepe.edu.tr/DDNAA/" target="_blank"> <b>DDNAA: Decision support system for differential diagnosis of nontraumatic acute abdomen </b></a><p>'),
+            HTML('<br>'),
+
+                h6("Please feel free to send us bugs and feature requests.")
+            ),
+
+            #tabPanel("News",
+            #    h4("New Features")
+            #),
+            id="tabs1"
+            ),
+
+            tags$head(tags$style(type="text/css", "label.radio { display: inline-block; }", ".radio input[type=\"radio\"] { float: none; }"),
+            tags$style(type="text/css", "select { max-width: 200px; }"),
+            tags$style(type="text/css", "textarea { max-width: 185px; }"),
+            tags$style(type="text/css", ".jslider { max-width: 200px; }"),
+            tags$style(type='text/css', ".well { max-width: 330px; }"),
+            tags$style(type='text/css', ".span4 { max-width: 330px; }")),
+
+            tags$head(
+            tags$link(rel = "shortcut icon", href = "favicon-2.ico"))
+
+        )
+))
+
+
+
+