Skip to content

Commit

Permalink
Merge branch 'develop' into DESeq2_removal
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulJonasJost committed Nov 8, 2024
2 parents 558853a + 464afd6 commit cd3c4d0
Show file tree
Hide file tree
Showing 45 changed files with 1,092 additions and 606 deletions.
1 change: 1 addition & 0 deletions .github/workflows/start_check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ jobs:
if (result == "Success") {
cat("Test passed")
} else {
cat(result)
cat("Test failed: Output is 'failure'\n")
quit(status = 1)
}
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ nav_exclude: true

If you are looking for the web app, please visit: 🌐 [cOmicsART Web App](https://shiny.iaas.uni-bonn.de/cOmicsArt/)

Otherwise, you can navigate through the documentation using the sidebar on the left. If you’re searching for something specific, try using the search bar at the top. 🔍 It can search through the entire documentation and guide you to the relevant section.
Otherwise, you can navigate through the documentation using the sidebar on the left. **If you’re searching for something specific, try using the search bar at the top.** 🔍 It can search through the entire documentation and guide you to the relevant section.

Have fun exploring! 🎉

Expand Down
2 changes: 1 addition & 1 deletion docs/welcome.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ nav_order: 1

If you are looking for the web app, please visit: 🌐 [cOmicsART Web App](https://shiny.iaas.uni-bonn.de/cOmicsArt/)

Otherwise, you can navigate through the documentation using the sidebar on the left. If you’re searching for something specific, try using the search bar at the top. 🔍 It can search through the entire documentation and guide you to the relevant section.
Otherwise, you can navigate through the documentation using the sidebar on the left. **If you’re searching for something specific, try using the search bar at the top.** 🔍 It can search through the entire documentation and guide you to the relevant section.

**Have fun exploring!** 🎉

Expand Down
81 changes: 80 additions & 1 deletion program/shinyApp/R/C.R
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Keep here for now. Needs to be replaced i guess at some point.
library(waiter)
library(ggplot2)
library(cicerone)
### Global Constants will be saved here
NOTES_PlACEHOLDER <<- "Notes you want to take alongside the plot (will be saved in the report) \nYou can use markdown syntax for your notes "
NOTES_HELP <<- HTML("<a href='https://www.markdownguide.org/cheat-sheet/' target='_blank'>Here you can find a Markdown Cheat Sheet</a> \n
Expand Down Expand Up @@ -237,4 +238,82 @@ LOADING_SCREEN <- tagList(
)
)
)
)
)



guide <<- cicerone::Cicerone$
new(keyboard_control = TRUE)$
step(
el = "sidebar_help_tab",
title = "This is the Sidebar",
position = "right",
description = HTML("Always start here to give cOmicsArt tasks.<br>We will go through the elements step by step."),
)$
step(
el = "ImageSelectArea",
position = "right",
title = "Important parameters for the analysis",
description = HTML("Here we have 1 parameter to set.<br> Select 'Youtube Tutorial' from the dropdown menu.")
)$
step(
el = "horizontalLine",
title = "An important line",
description = HTML("All options above this line require re-computation, which is done by pressing the 'GO!' button. <br>All options below this line can be always changed.")
)$
step(
el = "get_help",
title = "The Go button evokes (re-)computation",
description = "Press it now to continue."
)$
step(
el = "mainPanel_help_tab",
title = "This is the main panel",
description = HTML("Here your output is displayed.<br>We will go through the elements step by step in a second.")
)$
step(
el = "help_tab_info",
title = "Information box",
description = HTML("Contains information about the performed analysis.<br> For example: It will notify you if the analysis was successful or if there were any warning.<br> **It is always a good idea to pay attention to the output here.**")
)$
step(
el ="mainPanel_help_tab",
title = "Display of computed results",
position = "mid-center",
description = HTML("If you have selected Youtube Tutorial AND pressed the 'GO' button you will see a video here. <br>You might want to watch it after this little guide to get introduced to the analysis features).")
)$
step(
el = "options",
title = "Here you can play around",
description = "Here, we have the options the adjust the width and height of the image.<br>A change will be reflected in the output immediately."
)$
step(
el = "NextPanel",
title = "Next Panel",
description = "This button will take you to the next panel to start."
)$
step(
el = "tabsetPanel1",
title = "currently available Analysis Tabs",
description = HTML("You can switch between them by clicking on the tab names.<br>Note, that more tabs will appear after the mandatory tabs:<br>1. Data selection <br>2. Pre-processing (not visible yet).<br>
As soon as the Pre-processing is done the analysis tabs will appear. They work independently from each other.")
)$
step(
el = "firstQ",
title = "Question Marks lead to help",
description = "Useful to get more help on the particular tagged item."
)$
step(
el = "UsefulLinks",
title = "Very Useful Links",
description = HTML("The top one let's you get the automatic generated report.<br> The bottom leads you to the *extensive* Documentation. Click it now!")
)$
step(
el = "WelcomePage_ui",
title = "The End",
description = "
<p>This is the end of the little tutorial. If you'd like more specific help about cOmicsArt in action, check out the <a href='https://www.youtube.com/watch?v=pTGjtIYQOak&t=2s' target='_blank'>YouTube Tutorial</a>!</p>
<p>You can also visit the <a href='https://icb-dcm.github.io/cOmicsArt/' target='_blank'>documentation</a> for more detailed information.</p>
<p>After this tutorial, you should be able to find the link within the interface on your own. Happy exploring! <i class='fas fa-cat'></i> </p>
"
)
22 changes: 16 additions & 6 deletions program/shinyApp/R/data_selection/ui.R
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ data_selection_sidebar_panel <- sidebarPanel(
label = HTML('Upload data matrix <br/><small>(rows entities, cols samples) <br/><a href="airway-read-counts-LS.csv" download>Download example data (Transcriptomics, human)</a></small>'),
accept = c(".csv", ".xlsx"),
width = "80%"
) %>% helper(type = "markdown", content = "DataSelection_MetaData"),
) %>% helper(type = "markdown", content = "DataSelection_MetaData",style = "font-size: 24px;"),
shiny::fileInput(
inputId = "metadataInput",
label = HTML("Upload your Meta Data Sheet <small>(currently replaces sample annotation)</small>"),
Expand Down Expand Up @@ -139,12 +139,24 @@ data_selection_sidebar_panel <- sidebarPanel(

data_selection_main_panel <- mainPanel(
id = "mainPanel_DataSelection",
div(
div(id ="InfoBox_DataSelection",
htmlOutput(outputId = "debug", container = pre)
),
# add link to toggle on the div geneAnno_toggle
actionButton(
inputId = "geneAnno_toggle_button",
label = "(show/hide) Further entitie Annotation options",
icon = icon('plus'),
style = "color: #000000; background-color: transparent; border-color: transparent"
),
div(
id = "geneAnno_toggle",
style = "display: none;",
class = "AddGeneSymbols_ui",
uiOutput("AddGeneSymbols_organism_ui"),
uiOutput("AddGeneSymbols_ui")
uiOutput("AddGeneSymbols_ui"),
hr(style = "border-top: 1px solid #858585;")
),
hr(style = "border-top: 1px solid #858585;"),
fluidRow(
column(5,
div(class = "DataSelection",
Expand All @@ -160,15 +172,13 @@ data_selection_main_panel <- mainPanel(
uiOutput("sample_selection_ui")
))
),
hr(style = "border-top: 1px solid #858585;"),
div(
id = "SaveInputAsRDS",
downloadButton(
outputId = "SaveInputAsList",
label = "Save file input to upload later"
) %>% helper(type = "markdown", content = "DataSelection_compilation_help")
),
htmlOutput(outputId = "debug", container = pre),
br(), br(), br(),
hr(style = "border-top: 1px solid #858585;"),
actionButton(
Expand Down
39 changes: 23 additions & 16 deletions program/shinyApp/R/enrichment_analysis/server.R
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,28 @@ enrichment_analysis_geneset_server <- function(
print(result)
# Enrichment Result Plot
# only plot if the best found adjustment value is significant
if(result@result$p.adjust[1] < 0.05){
showElement(id = "EnrichmentPlot")
showElement(id = "only2Report")
showElement(id = "getR_Code")
showElement(id = "SavePlot")
showElement(id = "file_ext")
showElement(id = "Notes")
showElement(id = "NotesHelper")
hideElement(id = "EnrichmentFailure")
output$EnrichmentPlot <- renderPlot({clusterProfiler::dotplot(result) + CUSTOM_THEME})
if(ea_type == "GeneSetEnrichment"){
ea_scenario <- 15
}else{
ea_scenario <- 14
if(nrow(result@result) > 0){
if(result@result$p.adjust[1] < 0.05){
showElement(id = "EnrichmentPlot")
showElement(id = "only2Report")
showElement(id = "getR_Code")
showElement(id = "SavePlot")
showElement(id = "file_ext")
showElement(id = "Notes")
showElement(id = "NotesHelper")
hideElement(id = "EnrichmentFailure")
output$EnrichmentPlot <- renderPlot({clusterProfiler::dotplot(result) + CUSTOM_THEME})
if(ea_type == "GeneSetEnrichment"){
ea_scenario <- 15
}else{
ea_scenario <- 14
}
}else{ # print that no significant result was found
showElement(id = "EnrichmentFailure")
output$EnrichmentFailure <- renderText("No significant result found. For further details check the table.")
ea_scenario <- 0
}
}
else{ # print that no significant result was found
}else{ # print that no significant result was found
showElement(id = "EnrichmentFailure")
output$EnrichmentFailure <- renderText("No significant result found. For further details check the table.")
ea_scenario <- 0
Expand Down Expand Up @@ -209,6 +214,7 @@ enrichment_analysis_Server <- function(id, data, params, updates){
organism = NULL
)
ns <- session$ns
output$EnrichmentInfo <- renderText({"Press 'Get Enrichment Analysis' to start. Note that this analysis is only meaningful for gene sets at the moment."})
## initialize result as NULL
ea_reactives$enrichment_results <- ENRICHMENT_RESULT_RESET
# TODO: Call this in a loop.
Expand Down Expand Up @@ -494,6 +500,7 @@ enrichment_analysis_Server <- function(id, data, params, updates){
geneSetChoice_tmp
})
observeEvent(input$enrichmentGO,{
shinyjs::showElement(id = "enrichment_div", asis = TRUE)
ea_reactives$ea_info <- "Enrichment is running..."
waiter <- Waiter$new(
html = LOADING_SCREEN,
Expand Down
121 changes: 61 additions & 60 deletions program/shinyApp/R/enrichment_analysis/ui.R
Original file line number Diff line number Diff line change
Expand Up @@ -120,65 +120,67 @@ ea_sidebar <- function(ns){
ea_main <- function(ns){
mainPanel(
textOutput(outputId = ns("EnrichmentInfo"), container = pre),
tabsetPanel(
id = ns("EnrichmentTabs"),
geneset_panel_UI(ns("Hallmarks")),
geneset_panel_UI(ns("C1")),
geneset_panel_UI(ns("C2")),
geneset_panel_UI(ns("CGP")),
geneset_panel_UI(ns("CP")),
geneset_panel_UI(ns("BIOCARTA")),
geneset_panel_UI(ns("KEGG")),
geneset_panel_UI(ns("PID")),
geneset_panel_UI(ns("REACTOME")),
geneset_panel_UI(ns("WIKIPATHWAYS")),
geneset_panel_UI(ns("C3")),
geneset_panel_UI(ns("MIRDB")),
geneset_panel_UI(ns("MIR_Legacy")),
geneset_panel_UI(ns("GTRD")),
geneset_panel_UI(ns("TFT_Legacy")),
geneset_panel_UI(ns("C4")),
geneset_panel_UI(ns("CGN")),
geneset_panel_UI(ns("CM")),
geneset_panel_UI(ns("C5")),
geneset_panel_UI(ns("GO")),
geneset_panel_UI(ns("GO_BP")),
geneset_panel_UI(ns("GO_CC")),
geneset_panel_UI(ns("GO_MF")),
geneset_panel_UI(ns("HPO")),
geneset_panel_UI(ns("C6")),
geneset_panel_UI(ns("C7")),
geneset_panel_UI(ns("IMMUNESIGDB")),
geneset_panel_UI(ns("VAX")),
geneset_panel_UI(ns("C8")),
tabPanel(
title = "KeggPathwayOutput",
helpText("Specificy on the left which pathway (all sig. enriched) to display in picture-format"),
actionButton(
inputId = ns("OverlayOnPathway"),
label = "Show overlay on Pathway"
),
selectInput(
inputId = ns("plotOnTopOption"),
label = "Specifiy the what the colored overlay should indicate",
choices = c("LFC", "presence"),
selected = "presence"
),
uiOutput(outputId = ns("sample_anno_types_KEGG_ui")),
uiOutput(outputId = ns("ComparisonOptionsCRTL_ui")),
uiOutput(outputId = ns("ComparisonOptionsCOMP_ui")),
uiOutput(outputId = ns("psig_KEGG_ui")),
sliderInput(
inputId = ns("imageWidth"),
label = "Adjust Width",
min = 400, max = 1500, step = 20, value = 1000
),
sliderInput(
inputId = ns("imageHeight"),
label = "Adjust Height",
min = 400, max = 1500, step = 20, value = 640
),
imageOutput(outputId = ns("KeggPathwayOutput_img"))
div(id = "enrichment_div",
tabsetPanel(
id = ns("EnrichmentTabs"),
geneset_panel_UI(ns("Hallmarks")),
geneset_panel_UI(ns("C1")),
geneset_panel_UI(ns("C2")),
geneset_panel_UI(ns("CGP")),
geneset_panel_UI(ns("CP")),
geneset_panel_UI(ns("BIOCARTA")),
geneset_panel_UI(ns("KEGG")),
geneset_panel_UI(ns("PID")),
geneset_panel_UI(ns("REACTOME")),
geneset_panel_UI(ns("WIKIPATHWAYS")),
geneset_panel_UI(ns("C3")),
geneset_panel_UI(ns("MIRDB")),
geneset_panel_UI(ns("MIR_Legacy")),
geneset_panel_UI(ns("GTRD")),
geneset_panel_UI(ns("TFT_Legacy")),
geneset_panel_UI(ns("C4")),
geneset_panel_UI(ns("CGN")),
geneset_panel_UI(ns("CM")),
geneset_panel_UI(ns("C5")),
geneset_panel_UI(ns("GO")),
geneset_panel_UI(ns("GO_BP")),
geneset_panel_UI(ns("GO_CC")),
geneset_panel_UI(ns("GO_MF")),
geneset_panel_UI(ns("HPO")),
geneset_panel_UI(ns("C6")),
geneset_panel_UI(ns("C7")),
geneset_panel_UI(ns("IMMUNESIGDB")),
geneset_panel_UI(ns("VAX")),
geneset_panel_UI(ns("C8")),
tabPanel(
title = "KeggPathwayOutput",
helpText("Specificy on the left which pathway (all sig. enriched) to display in picture-format"),
actionButton(
inputId = ns("OverlayOnPathway"),
label = "Show overlay on Pathway"
),
selectInput(
inputId = ns("plotOnTopOption"),
label = "Specifiy the what the colored overlay should indicate",
choices = c("LFC", "presence"),
selected = "presence"
),
uiOutput(outputId = ns("sample_anno_types_KEGG_ui")),
uiOutput(outputId = ns("ComparisonOptionsCRTL_ui")),
uiOutput(outputId = ns("ComparisonOptionsCOMP_ui")),
uiOutput(outputId = ns("psig_KEGG_ui")),
sliderInput(
inputId = ns("imageWidth"),
label = "Adjust Width",
min = 400, max = 1500, step = 20, value = 1000
),
sliderInput(
inputId = ns("imageHeight"),
label = "Adjust Height",
min = 400, max = 1500, step = 20, value = 640
),
imageOutput(outputId = ns("KeggPathwayOutput_img"))
)
)
)
)
Expand All @@ -194,7 +196,6 @@ enrichment_analysis_UI <- function(id){
#########################################
# Enrichment
#########################################
h4("NOTE THAT THIS ONLY MAKES SENSE FOR TRANSCRIPTOMICS DATA AT THE MOMENT!"),
ea_sidebar(ns),
ea_main(ns),
)
Expand Down
Loading

0 comments on commit cd3c4d0

Please sign in to comment.