inst/app/code/ui/selectPathway.R

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")
                            )
                        )
                    )
               )
            ) 
        )
)
chemokine/OmicsSBGN documentation built on June 27, 2019, 7:52 p.m.