diff --git a/drug-target/global.R b/drug-target/global.R index 54175cb..fd5ace4 100644 --- a/drug-target/global.R +++ b/drug-target/global.R @@ -651,425 +651,425 @@ if (interactive()){ ), ) ) - server <- function(input, output, session) { - - #output$LogoPlotSnps = renderPlot(LogoPlotSnps(mutable_df3)) - output$lin_sc = renderPlot( - lin_sc( - input$switch_target, - all_lineages = input$all_lineages, - my_xats = 12, # x axis text size - my_yats = 12, # y axis text size - my_xals = 12, # x axis label size - my_yals = 12, # y axis label size - my_lls = 12, # legend label size - d_lab_size = 4 - ) - ) - #### lineage_distP #### - output$lineage_distP = renderPlot( - lineage_distP( - get(paste0(input$switch_target, '_merged_df2')), - all_lineages = input$all_lineages, - x_lab = "Average Stability", - x_axis = "avg_stability_scaled", - fill_categ_cols = c("red", "blue") - ) - ) - - - #### observeEvent() Fun(tm) #### - observeEvent(input$clear_ngl, { - NGLVieweR_proxy("structure") %>% - removeSelection("Pos") - }) - # Button to test adding a position - observeEvent(input$test_ngl, { - NGLVieweR_proxy("structure") %>% - addSelection('ball+stick' - , param = list( - name = "Pos" - , sele = "35" - , color = "green") - ) - }) - - observeEvent( - { - input$display_position_range - input$stability_snp_param - input$logoplot_colour_scheme - input$omit_snp_count - input$switch_target - input$snp_ligand_dist - input$snp_nca_dist - input$snp_interface_dist - }, - { - print("entering main observeEvent()") - # C O M P A T I B I L I T Y - #gene=input$switch_target - #drug=target_map[[gene]] - target_gene = input$switch_target - merged_df3 = cbind(get(paste0(input$switch_target, '_merged_df3'))) - - position_max=max(merged_df3[['position']]) - position_min=min(merged_df3[['position']]) - min_ligand_distance=min(merged_df3$ligand_distance) - max_ligand_distance=max(merged_df3$ligand_distance) - # FIXME: these are IMPORTANT - # # add "pos_count" position count column - # merged_df3=merged_df3 %>% dplyr::add_count(position) - # merged_df3$pos_count=merged_df3$n - # merged_df3$n=NULL - # - mutable_df3 = cbind(merged_df3) - # - # # re-sort the dataframe according to position count - sorted_df = cbind(merged_df3) - sorted_df = sorted_df %>% arrange(pos_count) - - # - outdir = paste0(load_dir, "Data/", drug, '/output/') - indir = paste0(load_dir, "Data/", drug , "/input/") - - - #### nasty special-purpose merged_df3 variants #### - # FIXME: SLOW - # corr_plotdf = corr_data_extract( - # merged_df3 - # , gene = gene - # , drug = drug - # , extract_scaled_cols = F - # ) - - #input$stability_snp_param - - updateCheckboxGroupInput( - session, - "corr_selected", - choiceNames = colnames(get(paste0(input$switch_target,"_corr_df_m3_f"))), - choiceValues = colnames(get(paste0(input$switch_target,"_corr_df_m3_f"))), - selected = c("FoldX", "DeepDDG", "mCSM.DUET") - ) - - updateSliderInput( - session, - "display_position_range", - min = position_min, - max = position_max - #, value = c(position_min, position_min+150) - ) - - updateNumericInput(session, "selected_logop_snp_position", min = position_min, max = position_max, value = position_min) - updateNumericInput(session, "selected_logop_ed_position", min = position_min, max = position_max, value = position_min) - updateNumericInput(session, "corr_lig_dist", min = min_ligand_distance, max = max_ligand_distance, value = min_ligand_distance) - - updateNumericInput(session, "snp_ligand_dist", min = min(merged_df3$ligand_distance), max = max(merged_df3$ligand_distance)) - updateNumericInput(session, "snp_interface_dist", min = min(merged_df3$interface_dist), max = max(merged_df3$interface_dist)) - updateNumericInput(session, "snp_nca_dist", min = min(merged_df3$nca_distance), max = max(merged_df3$nca_distance)) - - - # different data ranges required for SNP distances - snp_ligand_dist_df3 = merged_df3[merged_df3[['ligand_distance']]=plot_min & mutable_df3$position <=plot_max),] - - subset_mutable_df3=mutable_df3[(mutable_df3$position>=plot_min & mutable_df3$position <=plot_max),] - subset_sorted_df=sorted_df[(sorted_df$position>=plot_min & sorted_df$position <=plot_max),] - - #### LogoPlotSnps #### - output$LogoPlotSnps = renderPlot( - LogoPlotSnps(subset_mutable_df3, - aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), - active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), - aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), - aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), - aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")), - my_logo_col = logoplot_colour_scheme, - omit_snp_count = omit_snp_count - - ) - ) - - ### NGLViewer #### - # Structure Viewer WebGL/NGLViewR window - output$structure <- renderNGLVieweR({ - #ngl_gene=isolate(input$switch_target) - ngl_gene=input$switch_target - ngl_drug=target_map[[ngl_gene]] - ngl_pdb_file=paste0(load_dir, "Data/", ngl_drug, '/output/depth/', ngl_gene, '_complex.pdb') - print(ngl_pdb_file) - NGLVieweR(ngl_pdb_file) %>% - addRepresentation("cartoon", - param = list(name = "cartoon", - color="tan" - #, colorScheme = "chainid" - ) - ) %>% - stageParameters(backgroundColor = "lightgrey") %>% - setQuality("high") %>% - setFocus(0) %>% - setSpin(FALSE) - }) - - - #### Shared dataTable() #### - output$table = DT::renderDataTable( - datatable(subset_sorted_df[,table_columns], - filter="top", - selection = "single" - ) - ) - - #### bp_stability_hmap #### - # red/blue tiles wala "Stability SNP by Site" - output$bp_stability_hmap = renderPlot( - bp_stability_hmap( - subset_sorted_df, - reorder_position = input$reorder_custom_h, - p_title = NULL, - yvar_colname = stability_colname, - stability_colname = stability_colname, - stability_outcome_colname = outcome_colname, - my_ylab = NULL, - y_max_override = max(sorted_df$pos_count), - aa_pos_drug = get(paste0("embb","_aa_pos_drug")), - active_aa_pos = get(paste0("embb","_active_aa_pos")), - aa_pos_lig1 = get(paste0("embb","_aa_pos_lig1")), - aa_pos_lig2 = get(paste0("embb","_aa_pos_lig2")), - aa_pos_lig3 = get(paste0("embb","_aa_pos_lig3")) - ) - ) - #### LogoPlotCustomH #### - output$LogoPlotCustomH = renderPlot( - LogoPlotCustomH( - subset_sorted_df, - my_logo_col = logoplot_colour_scheme, - aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), - active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), - aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), - aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), - aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")) - ) - ) - - #### wideP_consurf3 #### - output$wideP_consurf3 = renderPlot( - wideP_consurf3( - subset_sorted_df, - point_colours = consurf_colours, - aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), - active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), - aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), - aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), - aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")) - ) - ) - - #### site_snp_count_bp #### - #mutable_df3[(mutable_df3$position>=plot_min & mutable_df3$position <=plot_max),] - # ligand_distance - # interface_dist - # nca_distance - # change to: multiple plots, all use site_snp_count_bp - # 4 x plots side by side, one normal (no dist. filter), 2/3 filtered by distance columns above - # use "subtitle text" from pos_count_bp_i.R - - output$site_snp_count_bp = renderPlot( - site_snp_count_bp( - mutable_df3, - title_colour = 'black', - subtitle_colour = "black", - leg_text_size = 12, - axis_label_size = 12, - geom_ls = 4 - ) - ) - output$site_snp_count_bp_ligand = renderPlot( - site_snp_count_bp( - snp_ligand_dist_df3, - title_colour = 'black', - subtitle_colour = "black", - leg_text_size = 12, - axis_label_size = 12, - geom_ls = 4 - ) - ) - - # if ("interface_dist" %in% colnames(input$switch_target)) { - output$site_snp_count_interface = renderPlot( - site_snp_count_bp( - snp_interface_dist_df3, - title_colour = 'black', - subtitle_colour = "black", - leg_text_size = 12, - axis_label_size = 12, - geom_ls = 4 - ) - ) - # } #else { - # output$site_snp_count_interface = renderPlot( - # ggplot() + annotate(x=1,y=1,"text", label="No interface data for this target")+theme_void() - # ) - # } - - output$site_snp_count_nca = renderPlot( #{ - #if ("nca_distance" %in% colnames(input$switch_target)) { - site_snp_count_bp( - snp_nca_dist_df3, - title_colour = 'black', - subtitle_colour = "black", - leg_text_size = 12, - axis_label_size = 12, - geom_ls = 4 - ) - # } else { - # ggplot() + annotate(x=1,y=1,"text", label="No RNA data for this target")+theme_void() - # } - # } - ) - - - - #### DM OM Plots #### - #dm_om_param - # order needs to be: - # embb_lf_duet, embb_lf_foldx, embb_lf_deepddg, embb_lf_dynamut2, embb_lf_dist_gen, - # embb_lf_consurf, embb_lf_provean, embb_lf_snap2, embb_lf_mcsm_lig, embb_lf_mmcsm_lig, - # embb_lf_mcsm_ppi2, SOMETHING NA - - # embb_lf_mmcsm_lig SOMETHING NA, - #dm_om_selection=input$dm_om_param - #dm_om_df = dm_om_map[[dm_om_selection]] - #output$lf_bp2 = renderPlot(lf_bp2(get(paste0(input$switch_target, '_', dm_om_df)))) - - output$lf_bp2 = renderPlot( - cowplot::plot_grid( - plotlist = lapply( - ls(name=.GlobalEnv, - pattern=paste0( - target_gene, - '_lf_' - ) - ), - function(x){ - lf_bp2(get(x)) - } - )#, nrow=3 - ), height=800 - ) - } - ) - - - # FIXME: Doesn't add selected table rows correctly - observeEvent( - { - input$table_rows_selected - }, - { - # having to duplicate this is a bit annoying :-( - ngl_merged_df3=cbind(get(paste0(input$switch_target, '_merged_df3'))) - ngl_sorted_df = cbind(ngl_merged_df3) - ngl_sorted_df = ngl_sorted_df %>% arrange(pos_count) - - position_max=max(ngl_merged_df3[['position']]) - position_min=min(ngl_merged_df3[['position']]) - display_position_range = input$display_position_range - plot_min=display_position_range[1] - plot_max=display_position_range[2] - #ngl_subset_df=ngl_merged_df3[(ngl_merged_df3$position>=plot_min & ngl_merged_df3$position <=plot_max),] - ngl_subset_df=ngl_sorted_df[(ngl_sorted_df$position>=plot_min & ngl_sorted_df$position <=plot_max),] - - - #table_rows_selected = isolate(input$table_rows_selected) - table_rows_selected = input$table_rows_selected - class(table_rows_selected) - #cat(paste0("Target: ", as.character(input$switch_target), "\nTable Rows for NGLViewR: ", as.character(table_rows_selected))) - - struct_pos=(as.character(ngl_subset_df[table_rows_selected,"position"])) - cat(paste0('Table Index: ', table_rows_selected, "position: ", struct_pos)) - - NGLVieweR_proxy("structure") %>% - #addSelection('ball+stick' - addSelection('hyperball' - , param = list( - name = "Pos" - , sele = struct_pos - #, color = "#00ff00" - , colorValue="00ff00" - , colorScheme="element" - ) - ) - #cat(paste0('Done NGLViewR addSelection for: ', positions_to_add)) - } - ) - #### Correlation observeEvent #### - # Yet another special-case observeEvent to handle the correlation pair plot - - observeEvent( - { - input$corr_selected - input$corr_method - input$corr_lig_dist - }, - { - dist_cutoff_user = input$corr_lig_dist - target_gene=input$switch_target - plot_title=paste0(target_map[[target_gene]],"/",target_gene) - - corr_plot_df = get( - paste0( - input$switch_target,"_corr_df_m3_f" - ) - )[,c(input$corr_selected, "dst_mode")] - - #if ( dist_cutoff_user >= 2) { - #corr_plotdf_subset = corr_plot_df[corr_plot_df[['Lig.Dist']] < dist_cutoff_user,] - #} - # else { - # corr_plotdf_subset = corr_plot_df - # } - - #### Correlation using ggpairs() #### - output$my_corr_pairs = renderPlot( - dashboard_ggpairs( - corr_plot_df, - plot_title = plot_title, - method = input$corr_method, - tt_args_size = 7, - gp_args_size = 7 - ), height = 900 - ) - } - ) - } - - - app <- shinyApp(ui, server) - runApp(app) + # server <- function(input, output, session) { + # + # #output$LogoPlotSnps = renderPlot(LogoPlotSnps(mutable_df3)) + # output$lin_sc = renderPlot( + # lin_sc( + # input$switch_target, + # all_lineages = input$all_lineages, + # my_xats = 12, # x axis text size + # my_yats = 12, # y axis text size + # my_xals = 12, # x axis label size + # my_yals = 12, # y axis label size + # my_lls = 12, # legend label size + # d_lab_size = 4 + # ) + # ) + # #### lineage_distP #### + # output$lineage_distP = renderPlot( + # lineage_distP( + # get(paste0(input$switch_target, '_merged_df2')), + # all_lineages = input$all_lineages, + # x_lab = "Average Stability", + # x_axis = "avg_stability_scaled", + # fill_categ_cols = c("red", "blue") + # ) + # ) + # + # + # #### observeEvent() Fun(tm) #### + # observeEvent(input$clear_ngl, { + # NGLVieweR_proxy("structure") %>% + # removeSelection("Pos") + # }) + # # Button to test adding a position + # observeEvent(input$test_ngl, { + # NGLVieweR_proxy("structure") %>% + # addSelection('ball+stick' + # , param = list( + # name = "Pos" + # , sele = "35" + # , color = "green") + # ) + # }) + # + # observeEvent( + # { + # input$display_position_range + # input$stability_snp_param + # input$logoplot_colour_scheme + # input$omit_snp_count + # input$switch_target + # input$snp_ligand_dist + # input$snp_nca_dist + # input$snp_interface_dist + # }, + # { + # print("entering main observeEvent()") + # # C O M P A T I B I L I T Y + # #gene=input$switch_target + # #drug=target_map[[gene]] + # target_gene = input$switch_target + # merged_df3 = cbind(get(paste0(input$switch_target, '_merged_df3'))) + # + # position_max=max(merged_df3[['position']]) + # position_min=min(merged_df3[['position']]) + # min_ligand_distance=min(merged_df3$ligand_distance) + # max_ligand_distance=max(merged_df3$ligand_distance) + # # FIXME: these are IMPORTANT + # # # add "pos_count" position count column + # # merged_df3=merged_df3 %>% dplyr::add_count(position) + # # merged_df3$pos_count=merged_df3$n + # # merged_df3$n=NULL + # # + # mutable_df3 = cbind(merged_df3) + # # + # # # re-sort the dataframe according to position count + # sorted_df = cbind(merged_df3) + # sorted_df = sorted_df %>% arrange(pos_count) + # + # # + # outdir = paste0(load_dir, "Data/", drug, '/output/') + # indir = paste0(load_dir, "Data/", drug , "/input/") + # + # + # #### nasty special-purpose merged_df3 variants #### + # # FIXME: SLOW + # # corr_plotdf = corr_data_extract( + # # merged_df3 + # # , gene = gene + # # , drug = drug + # # , extract_scaled_cols = F + # # ) + # + # #input$stability_snp_param + # + # updateCheckboxGroupInput( + # session, + # "corr_selected", + # choiceNames = colnames(get(paste0(input$switch_target,"_corr_df_m3_f"))), + # choiceValues = colnames(get(paste0(input$switch_target,"_corr_df_m3_f"))), + # selected = c("FoldX", "DeepDDG", "mCSM.DUET") + # ) + # + # updateSliderInput( + # session, + # "display_position_range", + # min = position_min, + # max = position_max + # #, value = c(position_min, position_min+150) + # ) + # + # updateNumericInput(session, "selected_logop_snp_position", min = position_min, max = position_max, value = position_min) + # updateNumericInput(session, "selected_logop_ed_position", min = position_min, max = position_max, value = position_min) + # updateNumericInput(session, "corr_lig_dist", min = min_ligand_distance, max = max_ligand_distance, value = min_ligand_distance) + # + # updateNumericInput(session, "snp_ligand_dist", min = min(merged_df3$ligand_distance), max = max(merged_df3$ligand_distance)) + # updateNumericInput(session, "snp_interface_dist", min = min(merged_df3$interface_dist), max = max(merged_df3$interface_dist)) + # updateNumericInput(session, "snp_nca_dist", min = min(merged_df3$nca_distance), max = max(merged_df3$nca_distance)) + # + # + # # different data ranges required for SNP distances + # snp_ligand_dist_df3 = merged_df3[merged_df3[['ligand_distance']]=plot_min & mutable_df3$position <=plot_max),] + # + # subset_mutable_df3=mutable_df3[(mutable_df3$position>=plot_min & mutable_df3$position <=plot_max),] + # subset_sorted_df=sorted_df[(sorted_df$position>=plot_min & sorted_df$position <=plot_max),] + # + # #### LogoPlotSnps #### + # output$LogoPlotSnps = renderPlot( + # LogoPlotSnps(subset_mutable_df3, + # aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), + # active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), + # aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), + # aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), + # aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")), + # my_logo_col = logoplot_colour_scheme, + # omit_snp_count = omit_snp_count + # + # ) + # ) + # + # ### NGLViewer #### + # # Structure Viewer WebGL/NGLViewR window + # output$structure <- renderNGLVieweR({ + # #ngl_gene=isolate(input$switch_target) + # ngl_gene=input$switch_target + # ngl_drug=target_map[[ngl_gene]] + # ngl_pdb_file=paste0(load_dir, "Data/", ngl_drug, '/output/depth/', ngl_gene, '_complex.pdb') + # print(ngl_pdb_file) + # NGLVieweR(ngl_pdb_file) %>% + # addRepresentation("cartoon", + # param = list(name = "cartoon", + # color="tan" + # #, colorScheme = "chainid" + # ) + # ) %>% + # stageParameters(backgroundColor = "lightgrey") %>% + # setQuality("high") %>% + # setFocus(0) %>% + # setSpin(FALSE) + # }) + # + # + # #### Shared dataTable() #### + # output$table = DT::renderDataTable( + # datatable(subset_sorted_df[,table_columns], + # filter="top", + # selection = "single" + # ) + # ) + # + # #### bp_stability_hmap #### + # # red/blue tiles wala "Stability SNP by Site" + # output$bp_stability_hmap = renderPlot( + # bp_stability_hmap( + # subset_sorted_df, + # reorder_position = input$reorder_custom_h, + # p_title = NULL, + # yvar_colname = stability_colname, + # stability_colname = stability_colname, + # stability_outcome_colname = outcome_colname, + # my_ylab = NULL, + # y_max_override = max(sorted_df$pos_count), + # aa_pos_drug = get(paste0("embb","_aa_pos_drug")), + # active_aa_pos = get(paste0("embb","_active_aa_pos")), + # aa_pos_lig1 = get(paste0("embb","_aa_pos_lig1")), + # aa_pos_lig2 = get(paste0("embb","_aa_pos_lig2")), + # aa_pos_lig3 = get(paste0("embb","_aa_pos_lig3")) + # ) + # ) + # #### LogoPlotCustomH #### + # output$LogoPlotCustomH = renderPlot( + # LogoPlotCustomH( + # subset_sorted_df, + # my_logo_col = logoplot_colour_scheme, + # aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), + # active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), + # aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), + # aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), + # aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")) + # ) + # ) + # + # #### wideP_consurf3 #### + # output$wideP_consurf3 = renderPlot( + # wideP_consurf3( + # subset_sorted_df, + # point_colours = consurf_colours, + # aa_pos_drug = get(paste0(target_gene,"_aa_pos_drug")), + # active_aa_pos = get(paste0(target_gene,"_active_aa_pos")), + # aa_pos_lig1 = get(paste0(target_gene,"_aa_pos_lig1")), + # aa_pos_lig2 = get(paste0(target_gene,"_aa_pos_lig2")), + # aa_pos_lig3 = get(paste0(target_gene,"_aa_pos_lig3")) + # ) + # ) + # + # #### site_snp_count_bp #### + # #mutable_df3[(mutable_df3$position>=plot_min & mutable_df3$position <=plot_max),] + # # ligand_distance + # # interface_dist + # # nca_distance + # # change to: multiple plots, all use site_snp_count_bp + # # 4 x plots side by side, one normal (no dist. filter), 2/3 filtered by distance columns above + # # use "subtitle text" from pos_count_bp_i.R + # + # output$site_snp_count_bp = renderPlot( + # site_snp_count_bp( + # mutable_df3, + # title_colour = 'black', + # subtitle_colour = "black", + # leg_text_size = 12, + # axis_label_size = 12, + # geom_ls = 4 + # ) + # ) + # output$site_snp_count_bp_ligand = renderPlot( + # site_snp_count_bp( + # snp_ligand_dist_df3, + # title_colour = 'black', + # subtitle_colour = "black", + # leg_text_size = 12, + # axis_label_size = 12, + # geom_ls = 4 + # ) + # ) + # + # # if ("interface_dist" %in% colnames(input$switch_target)) { + # output$site_snp_count_interface = renderPlot( + # site_snp_count_bp( + # snp_interface_dist_df3, + # title_colour = 'black', + # subtitle_colour = "black", + # leg_text_size = 12, + # axis_label_size = 12, + # geom_ls = 4 + # ) + # ) + # # } #else { + # # output$site_snp_count_interface = renderPlot( + # # ggplot() + annotate(x=1,y=1,"text", label="No interface data for this target")+theme_void() + # # ) + # # } + # + # output$site_snp_count_nca = renderPlot( #{ + # #if ("nca_distance" %in% colnames(input$switch_target)) { + # site_snp_count_bp( + # snp_nca_dist_df3, + # title_colour = 'black', + # subtitle_colour = "black", + # leg_text_size = 12, + # axis_label_size = 12, + # geom_ls = 4 + # ) + # # } else { + # # ggplot() + annotate(x=1,y=1,"text", label="No RNA data for this target")+theme_void() + # # } + # # } + # ) + # + # + # + # #### DM OM Plots #### + # #dm_om_param + # # order needs to be: + # # embb_lf_duet, embb_lf_foldx, embb_lf_deepddg, embb_lf_dynamut2, embb_lf_dist_gen, + # # embb_lf_consurf, embb_lf_provean, embb_lf_snap2, embb_lf_mcsm_lig, embb_lf_mmcsm_lig, + # # embb_lf_mcsm_ppi2, SOMETHING NA + # + # # embb_lf_mmcsm_lig SOMETHING NA, + # #dm_om_selection=input$dm_om_param + # #dm_om_df = dm_om_map[[dm_om_selection]] + # #output$lf_bp2 = renderPlot(lf_bp2(get(paste0(input$switch_target, '_', dm_om_df)))) + # + # output$lf_bp2 = renderPlot( + # cowplot::plot_grid( + # plotlist = lapply( + # ls(name=.GlobalEnv, + # pattern=paste0( + # target_gene, + # '_lf_' + # ) + # ), + # function(x){ + # lf_bp2(get(x)) + # } + # )#, nrow=3 + # ), height=800 + # ) + # } + # ) + # + # + # # FIXME: Doesn't add selected table rows correctly + # observeEvent( + # { + # input$table_rows_selected + # }, + # { + # # having to duplicate this is a bit annoying :-( + # ngl_merged_df3=cbind(get(paste0(input$switch_target, '_merged_df3'))) + # ngl_sorted_df = cbind(ngl_merged_df3) + # ngl_sorted_df = ngl_sorted_df %>% arrange(pos_count) + # + # position_max=max(ngl_merged_df3[['position']]) + # position_min=min(ngl_merged_df3[['position']]) + # display_position_range = input$display_position_range + # plot_min=display_position_range[1] + # plot_max=display_position_range[2] + # #ngl_subset_df=ngl_merged_df3[(ngl_merged_df3$position>=plot_min & ngl_merged_df3$position <=plot_max),] + # ngl_subset_df=ngl_sorted_df[(ngl_sorted_df$position>=plot_min & ngl_sorted_df$position <=plot_max),] + # + # + # #table_rows_selected = isolate(input$table_rows_selected) + # table_rows_selected = input$table_rows_selected + # class(table_rows_selected) + # #cat(paste0("Target: ", as.character(input$switch_target), "\nTable Rows for NGLViewR: ", as.character(table_rows_selected))) + # + # struct_pos=(as.character(ngl_subset_df[table_rows_selected,"position"])) + # cat(paste0('Table Index: ', table_rows_selected, "position: ", struct_pos)) + # + # NGLVieweR_proxy("structure") %>% + # #addSelection('ball+stick' + # addSelection('hyperball' + # , param = list( + # name = "Pos" + # , sele = struct_pos + # #, color = "#00ff00" + # , colorValue="00ff00" + # , colorScheme="element" + # ) + # ) + # #cat(paste0('Done NGLViewR addSelection for: ', positions_to_add)) + # } + # ) + # #### Correlation observeEvent #### + # # Yet another special-case observeEvent to handle the correlation pair plot + # + # observeEvent( + # { + # input$corr_selected + # input$corr_method + # input$corr_lig_dist + # }, + # { + # dist_cutoff_user = input$corr_lig_dist + # target_gene=input$switch_target + # plot_title=paste0(target_map[[target_gene]],"/",target_gene) + # + # corr_plot_df = get( + # paste0( + # input$switch_target,"_corr_df_m3_f" + # ) + # )[,c(input$corr_selected, "dst_mode")] + # + # #if ( dist_cutoff_user >= 2) { + # #corr_plotdf_subset = corr_plot_df[corr_plot_df[['Lig.Dist']] < dist_cutoff_user,] + # #} + # # else { + # # corr_plotdf_subset = corr_plot_df + # # } + # + # #### Correlation using ggpairs() #### + # output$my_corr_pairs = renderPlot( + # dashboard_ggpairs( + # corr_plot_df, + # plot_title = plot_title, + # method = input$corr_method, + # tt_args_size = 7, + # gp_args_size = 7 + # ), height = 900 + # ) + # } + # ) + # } + # + # + # app <- shinyApp(ui, server) + # runApp(app) }