Spaces:
Sleeping
Sleeping
source("./modules/librarys.R") | |
source("./modules/data_processing.R") | |
source("./modules/plot_utils.R") | |
source("./modules/heatmap_utils.R") | |
source("./modules/modaldialog_utils.R") | |
source("./modules/selectcolor_utils.R") | |
source("./modules/ui_modules.R") | |
shinyUI( | |
fluidPage( | |
useShinyjs(), | |
tags$head( | |
tags$style(HTML( | |
" | |
.well { background-color: initial; border: initial; } | |
.navbar { margin-bottom: 5px; } | |
.container-fluid { padding-right: 10px; padding-left: 10px; } | |
#sidebar { | |
position: fixed; | |
left: 0; | |
width: 250px; | |
height: calc(100% - 160px); | |
top: 160px; | |
background: #f8f9fa; | |
transition: all 0.3s; | |
padding: 15px; | |
z-index: 1000; | |
} | |
#sidebar.inactive { | |
left: -250px; | |
} | |
#content { | |
margin-left: 60px; | |
transition: all 0.3s; | |
height: calc(100vh - 50px); | |
} | |
#content.active { | |
margin-left: 310px; | |
} | |
#main-content { | |
margin-left: 250px; | |
transition: all 0.3s; | |
padding-top: 80px; | |
} | |
#main-content.inactive { | |
margin-left: 0; | |
} | |
#toggle_sidebar { | |
position: fixed; | |
left: 260px; | |
top: 160px; | |
z-index: 1001; | |
width: 40px; | |
height: 40px; | |
background: #343a40; | |
color: #fff; | |
border: none; | |
border-radius: 5px; | |
transition: all 0.3s; | |
} | |
#toggle_sidebar.inactive { | |
left: 10px; | |
} | |
#graphContainer { | |
height: 100%; | |
width: 100%; | |
} | |
#tab3 { | |
margin-top: 70px; | |
} | |
" | |
)) | |
), | |
navbarPage( | |
"MSDIAL2Cytoscape", | |
theme = shinytheme("yeti"), | |
tabPanel( | |
waiter::useWaiter(), | |
uiOutput("dynamicSidebar"), | |
uiOutput("dynamicSidebarToggle"), | |
tabsetPanel( | |
id = "mainTabs", | |
uploadpanel, | |
tabPanel( | |
value = "tab2", | |
tagList( | |
div( | |
style = "display: flex; align-items: center; justify-content: center; margin-bottom: 15px;", | |
img(src = "./barplot.png", style = "width: 50px; height: 50px; margin-right: 10px;"), | |
div(style = "font-size: 18px; color: #000000; font-weight: bold;", "Plot") | |
) | |
), | |
fluidRow( | |
column( | |
width = 12, | |
createCustomSidebar("y", "w", "z", "alpha", "size", "Fontsize", "levels", "pvaluecheck", "q"), | |
plotTabAppearanceUI( | |
"", "./bar.png", "50px", "50px", "plottest", "plottest2", "testtext" | |
) | |
) | |
) | |
), | |
tabPanel( | |
value = "tab3", | |
tagList( | |
div( | |
style = "display: flex; align-items: center; justify-content: center; margin-bottom: 15px;", | |
img(src = "./network2.png", style = "width: 50px; height: 50px; margin-right: 10px;"), | |
div(style = "font-size: 18px; color: #000000; font-weight: bold;", "Pathway analysis") | |
) | |
), | |
actionButton("toggle_sidebar", icon("bars"), class = "btn-info"), | |
div( | |
id = "sidebar", | |
wellPanel( | |
id = "pathway-controls", | |
selectInput("pathwaytype", "Pathway type", | |
choices = c("Global pathway", "Ceramide pathway", "Remodeling pathway"), | |
selected = "Global pathway"), | |
actionButton("pathway", "Pathway mapping", class = "btn-primary btn-block"), | |
actionButton("save_pdf", "Save as PNG", class = "btn-success btn-block"), | |
downloadButton("exportCYJS", "Export CYJS", class = "btn-block"), | |
downloadButton("exportStyles", "Export styles.xml", class = "btn-block"), | |
checkboxInput("viewacyllevel", "Close-up nodes", value = TRUE) | |
) | |
), | |
div( | |
id = "main-content", | |
fluidRow( | |
column( | |
width = 9, | |
div(id = "content", | |
uiOutput("graphContainer") | |
) | |
), | |
column( | |
width = 3, | |
actionButton("getSelectedNodes", "Click nodes in the Network and Confirm Selection", class = "btn-primary btn-block"), | |
br(), | |
tabsetPanel( | |
id = "sideTabset", | |
tabPanel("Lipid Species Visualization", | |
div(id = "tabContent", | |
wellPanel( | |
selectInput( | |
inputId = "selectmol", | |
label = "Select molecule to display", | |
choices = c(" "), | |
selected = " " | |
), | |
plotOutput(outputId = "corselect2")), | |
wellPanel( | |
plotOutput(outputId = "heatmap",height = "600px" ,width = "100%"), | |
checkboxInput(inputId = "acylfilter", label = "Filtering common acylchains (16:0, 16:1, 18:0, 18:1, 18:2, 18:3, 20:3, 20:4, 20:5, 22:4, 22:5, 22:6)", value = TRUE), | |
checkboxInput(inputId = "sn", label = "sn", value = FALSE)) | |
) | |
), | |
tabPanel("Correlation Plot", | |
div(id = "tabContent", | |
wellPanel( | |
textOutput("textOutput"), | |
br(), | |
plotlyOutput(outputId = "corselect")), | |
checkboxInput(inputId = "ClassorMol", label = "Correlation of lipid species", value = FALSE), | |
selectInput( | |
inputId = "X1", | |
label = "X", | |
choices = c(" "), | |
selected = " " | |
), | |
selectInput( | |
inputId = "X2", | |
label = "Y", | |
choices = c(" "), | |
selected = " " | |
) | |
) | |
) | |
) | |
) | |
) | |
), | |
tags$script(HTML( | |
" | |
function toggleSidebar() { | |
var sidebar = $('#sidebar'); | |
var mainContent = $('#main-content'); | |
var toggleBtn = $('#toggle_sidebar'); | |
sidebar.toggleClass('inactive'); | |
mainContent.toggleClass('inactive'); | |
toggleBtn.toggleClass('inactive'); | |
if (sidebar.hasClass('inactive')) { | |
toggleBtn.find('i').removeClass('fa-times').addClass('fa-bars'); | |
} else { | |
toggleBtn.find('i').removeClass('fa-bars').addClass('fa-times'); | |
} | |
} | |
" | |
)) | |
) | |
) | |
) | |
) | |
) | |
) | |