takakioka's picture
Upload 33 files
8e8619e verified
raw
history blame
6.29 kB
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');
}
}
"
))
)
)
)
)
)
)