fluidPage(
# mainPanel(
# Output: Tabset w/ plot, summary, and table ----
# ),
h3("Use pathway by",stype="bold"),
radioButtons(
inputId = "usePathways"
,label = ""
,choices = list(
'SBGNhub pre-collected pathways' = "UsePrePathways"
,'Upload your own SBGN-ML file' = "userSBGN"
,'Pathway enrichment analysis' = "enrichAnalysis"
)
,selected = "UsePrePathways"
)
,conditionalPanel(
condition = "input.usePathways == 'UsePrePathways'"
## SBGN pathway file (SBGN-ML)
,h3("This is the introduction page. Pathways can be selected at the 'Main Analysis' step.", style = "bold")
,box(
id = "dataIntro",
class = "input",
# title = "About SBGN-ML pathway files and SBGNhub's collection",
title = actionButton("AboutSbgnBox",label = "About SBGN-ML pathway files and SBGNhub's collection"),
status = "primary",
# solidHeader = FALSE,
solidHeader = TRUE,
collapsible = TRUE,
collapsed = TRUE,
width = 30
,h4("About SBGN-ML file")
,p(
"SBGN pathway is defined in a special XML format (SBGN-ML file). It contains information of the pathway content (molecules and their reactions) as well as graph layout information.
"
,br()
,"
There are two main types of data in SBGN-ML files:
"
,br()
,"
1. node data (in tag 'glyph'), such as node location, width, hight and node class (macromolecule, simple chemical etc.).
"
,br()
,"
2. edge data (in tag 'arc'), such as arc class, start node and end node.
For more details, see:
",
a(href = paste0("https://github.com/sbgn/sbgn/wiki/SBGN_ML"),
"https://github.com/sbgn/sbgn/wiki/SBGN_ML", target = "_blank")
,"
"
,h4("SBGN-ML pathway file from online databases")
,"
Several online databases provide SBGN-ML files, such as pathwayCommons, Reactome and MetaCrop. They can be downloaded from their webpage or FTP site.
"
,h4("SBGNview's SBGN-ML file collection")
,"
Many pathways from the above databases don't have desirable layout and often have extensive node-node overlaps and node-edge crossings. Thus we refined the layout and removed node-node overlaps. For node-edge crossings, we computed spline edges and added additional elements in the SBGN-ML file to encode the splines. The resulting collection of SBGN-ML files are available in Bioconductor package
",
a(href = paste0("https://bioconductor.org/packages/devel/data/experiment/html/SBGNview.data.html"),
"SBGNview.data", target = "_blank")
,"
. SBGNview can automatically search in this pathway collection and download the SBGN-ML files. Users can further modify the SBGN-ML files using other tools (e.g.
",
a(href = paste0("http://newteditor.org/"),
"newt editor", target = "_blank")
,"
) for desired node layout.
The package used to layout nodes and route spline edges is currently under development and will be released in the near future. "
)
)
,DT::dataTableOutput("PrePathways")
)
,conditionalPanel(
condition = "input.usePathways == 'userSBGN'"
,sidebarLayout(
sidebarPanel(
box(
id = "input1UploadSBGNML",
title = "Input 1: choose SBGN-ML File",
status = "primary",
# solidHeader = FALSE,
solidHeader = FALSE,
collapsible = FALSE,
collapsed = FALSE,
width = 30,
fileInput("uploadSBGN", "",
multiple = FALSE )
,downloadButton("exampleSBGN","Example SBGN-ML file", style="color: #fff; background-color: #5B90BF; border-color: #2e6da4")
,textOutput("inputSBGN")
)
,box(
title = "Input 2: SBGN-ML file glyph ID type",
id = "input1IdTypeSBGNML",
status = "primary",
# solidHeader = FALSE,
solidHeader = FALSE,
collapsible = FALSE,
collapsed = FALSE,
width = 30
# ,h3("Input 2: SBGN-ML file glyph ID type")
,textInput('uploadedSbgnGlyphIdType'
, ''
, "pathwayCommons")
)
),
mainPanel(
)
)
)
,conditionalPanel(
condition = "input.usePathways == 'enrichAnalysis'"
,sidebarLayout(
sidebarPanel(
checkboxInput("ShowDemoMeasureTable", "Download Demo Measurement Data"),
conditionalPanel(
condition = "input.ShowDemoMeasureTable"
,p(
HTML("<p style='color:DodgerBlue;'>IFNg KO mice dataset:</p>")
,"
This table includes the gene expression fold change data of an RNA-Seq experiment comparing two groups:
",br(),"
IFNg KO mice and wild type mice.
",br(),
HTML("<ol>",
"<li style='color:DodgerBlue;'>
Species: mouse (KEGG code: 'mmu')
</li >
",
"<li style='color:DodgerBlue;'>
Molecule ID type: ENSEMBL GENE
</li>",
"</ol>"
),
"
The experiment and data processing was described in this work: Greer, Renee L., Xiaoxi Dong, et al.
'Akkermansia muciniphila mediates negative effects of IFNG on glucose metabolism.'
Nature communications 7 (2016): 13329. "
)
,downloadButton("exampleEnrichData","Example Measurement file", style="color: #fff; background-color: #337ab7; border-color: #2e6da4")
),
# hr(style = "border-width: 4px;
# border-style: inset;"),
# hr(style = "border-top: 1px solid #8c8b8b"),
box(
id = "measurementFileInputBox",
title = "Input 1: Choose Measurement File",
status = "primary",
# solidHeader = FALSE,
solidHeader = FALSE,
collapsible = FALSE,
collapsed = FALSE,
width = 30,
# h3(""),
fileInput("uploadDataForEnrich", "",
multiple = FALSE )
,checkboxInput("readTablePara", "Read table parameters", FALSE)
,conditionalPanel(
condition = "input.readTablePara"
# Input: Checkbox if file has header ----
,checkboxInput("headerMeasure", "Header", TRUE),
# Input: Select separator ----
radioButtons("sepMeasure", "Separator",
choices = c(
Tab = "\t",
Comma = ",",
Semicolon = ";"
),
selected = "\t"),
# Input: Select quotes ----
radioButtons("quoteMeasure", "Quote",
choices = c(None = "",
"Double Quote" = '"',
"Single Quote" = "'"),
selected = '"')
)
)
# ,h3("Input 2: Species/organism of the Omics molecules")
,box(
id = "measurementSpeciesInputBox",
title = "Input 2: Species/organism of the Omics molecules",
status = "primary",
# solidHeader = FALSE,
solidHeader = FALSE,
collapsible = FALSE,
collapsed = FALSE,
width = 30
,selectInput("orgMeasure",
label = "",
c(
mouse = "mmu"
,human = "hsa"
)
)
),
# h3("Input 3: Omics molecule ID type"),
box(
id = "measurementOmicsIdInputBox",
title = "Input 3: Omics molecule ID type",
status = "primary",
# solidHeader = FALSE,
solidHeader = FALSE,
collapsible = FALSE,
collapsed = FALSE,
width = 30,
selectInput("OmicsIdTypeMeasure",
label = "",
c(
"ENSEMBL"
,"ENTREZID"
)
)
)
,actionButton(inputId = "RunEnrich"
,label = "Run enrichment analysis"
,icon = icon("play")
,style="color: #fff; background-color: #337ab7; border-color: #2e6da4"
)
),
mainPanel(
conditionalPanel(
condition = "input.ShowDemoMeasureTable"
# textOutput("DemoEnrichMeasureFileTitle")
,tags$head(tags$style("#DemoEnrichMeasureFileTitle{color: DodgerBlue;
font-size: 20px;
font-style: italic;
}"
)
)
,DT::dataTableOutput("DemoEnrichMeasureFile")
)
,box(
id = "SampleGroupBox",
title = "Sample group info",
status = "primary",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
width = 30,
textOutput("selectGroupInfo"),
uiOutput("selectGroup")
)
# ,h3("Uploaded data")
,div(
box(
id = "UploadedMeasureBox",
title = "Uploaded measurement table",
status = "primary",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
width = 30,
textOutput("introUploadMeasurement"),
DT::dataTableOutput("UploadedEnrichMeasureFile")
),
box(
id = "EnrichResultBox",
title = "Enrichment analysis result",
status = "primary",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
width = 30
,textOutput("introEnrichResult")
# ,tags$head(tags$style("#EnrichResultTitle{color: DodgerBlue;
# font-size: 20px;
# font-style: italic;
# }"
# )
# )
,box(
id = "LessBox",
title = "Less in treatment group",
status = "primary",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
width = 30
# textOutput("EnrichResultTitleLess")
,tags$head(tags$style("#EnrichResultTitleLess{color: DodgerBlue;
font-size: 15px;
font-style: italic;
}"
)
)
,DT::dataTableOutput("EnrichResultTableLess")
)
,box(
id = "GreaterBox",
title = "Higher in treatment group",
status = "primary",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
width = 30,
textOutput("EnrichResultTitleGreater")
,tags$head(tags$style("#EnrichResultTitleGreater{color: DodgerBlue;
font-size: 15px;
font-style: italic;
}"
)
)
,DT::dataTableOutput("EnrichResultTableGreater")
)
)
)
)
)
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.