Synthetic lethality




sl_interactions <- list()
sl_interactions[['a_b']] <- data.frame()
sl_interactions[['a_only']] <- data.frame()
active_tab <- list()
active_tab[['a_b']] <- F
active_tab[['a_only']] <- F

if(NROW(onc_enrich_report[['data']][['synleth']][['both_in_pair']]) > 0){
  sl_interactions[['a_b']] <- onc_enrich_report[['data']][['synleth']][['both_in_pair']] |>
    dplyr::filter(.data$prediction_percentile < 50) |>
    head(2500)

  active_tab[['a_b']] <- T

}

if(NROW(onc_enrich_report[['data']][['synleth']][['single_pair_member']]) > 0){
  sl_interactions[['a_only']] <- onc_enrich_report[['data']][['synleth']][['single_pair_member']] |>
    dplyr::filter(.data$prediction_percentile < 50) |>
    head(2500)

  if(active_tab[['a_b']] == F){
    active_tab[['a_only']] <- T
  }

}

Predicted synthetic lethality interactions {.tabset}


if(active_tab[['a_b']] == T){
  cat("")
  cat("##### Both pair members in query set {.active}")
  cat("")
}else{
  cat("")
  cat("##### Both pair members in query set")
  cat("")
}
sl_ab <- 
  crosstalk::SharedData$new(sl_interactions[['a_b']])

crosstalk::bscols(
  list(
    crosstalk::filter_select("gene_A", "Interactor A", sl_ab, ~gene_A),
    crosstalk::filter_select("gene_B", "Interactor B", sl_ab, ~gene_B),
    crosstalk::filter_slider("prediction_score", "Prediction score", sl_ab, ~prediction_score,
                             step = 0.025, min = 0.0, max = 0.45),
    crosstalk::filter_slider("prediction_percentile", "Prediction percentile", sl_ab, ~prediction_percentile,
                             min = 0.0, step = 2, max = 50)
  ),
  list(
    crosstalk::filter_slider("sequence_identity_pct", "Sequence identity (percent)", sl_ab, ~sequence_identity_pct,
                             min = 0, max = 100),
    crosstalk::filter_slider("family_size", "Gene family size", sl_ab, ~family_size)
  )
)

htmltools::br()

DT::datatable(
  sl_ab, 
  escape = F, 
  extensions=c("Buttons","Responsive"), 
  width = "100%",
  style = 'bootstrap',
  rownames = F,
  options=list(buttons = c('csv','excel'),
               pageLength = 10,
               bPaginate = T,
               dom = 'Bfrtip')
  ) |>
   DT::formatStyle("gene_A",
                  "prediction_percentile", 
                  color = "white", 
                  backgroundColor = DT::styleInterval(
                    onc_enrich_report[['config']][['synleth']][['breaks']],
                    onc_enrich_report[['config']][['synleth']][['colors']])
  ) |>
  DT::formatStyle("gene_B",
                  "prediction_percentile", 
                  color = "white", 
                  backgroundColor = DT::styleInterval(
                    onc_enrich_report[['config']][['synleth']][['breaks']],
                    onc_enrich_report[['config']][['synleth']][['colors']])
  )



cat('\n <ul><li>  <i> <span style="font-size: 105%; padding: 3px; background-color:#989898; color:white">&nbsp;&nbsp;<b>NO</b> genes in the queryset are involved in synthetic lethality interactions for which <b>BOTH</b> member pairs are part of the queryset.&nbsp;&nbsp; </span></i></li></ul>',sep='\n')
cat('\n')
cat('<br><br>')



if(active_tab[['a_only']] == T){
  cat("")
  cat("##### Single pair member in query set {.active}")
  cat("")
}else{
  cat("")
  cat("##### Single pair member in query set")
  cat("")
}
sl_a <- 
  crosstalk::SharedData$new(sl_interactions[['a_only']])


crosstalk::bscols(
  list(
    crosstalk::filter_select("gene_A", "Interactor A", sl_a, ~gene_A),
    crosstalk::filter_select("gene_B", "Interactor B", sl_a, ~gene_B),
    crosstalk::filter_slider("prediction_score", "Prediction score", sl_a, ~prediction_score,
                             step = 0.025, min = 0.0, max = 0.45),
    crosstalk::filter_slider("prediction_percentile", "Prediction percentile", sl_a, ~prediction_percentile,
                             min = 0.0, step = 2, max = 50)
  ),
  list(
    crosstalk::filter_slider("sequence_identity_pct", "Sequence identity (percent)", sl_a, ~sequence_identity_pct,
                             min = 0, max = 100),
    crosstalk::filter_slider("family_size", "Gene family size", sl_a, ~family_size)
  )
)

htmltools::br()

DT::datatable(
  sl_a, 
  escape = F, 
  extensions=c("Buttons","Responsive"), 
  width = "100%",
  style = 'bootstrap',
  rownames = F,
  options=list(buttons = c('csv','excel'),
               pageLength = 10,
               bPaginate = T,
               dom = 'Bfrtip')
  ) |>
   DT::formatStyle("gene_A",
                  "prediction_percentile", 
                  color = "white", 
                  backgroundColor = DT::styleInterval(
                    onc_enrich_report[['config']][['synleth']][['breaks']],
                    onc_enrich_report[['config']][['synleth']][['colors']])
  )



cat('\n <ul><li>  <i> <span style="font-size: 105%; padding: 3px; background-color:#989898; color:white">&nbsp;&nbsp;<b>NO</b> genes in the queryset are involved in prediced synthetic lethal interactions for which <b>ONLY</b> a single member pair is part of the queryset.&nbsp;&nbsp; </span></i></li></ul>',sep='\n')
cat('\n')
cat('<br><br>')



{.unlisted .unnumbered .toc-ignore}

  Citation Note   : If you use the output of the Synthetic lethality module of oncoEnrichR in your research, please cite the following resources and tools:





sigven/oncoEnrichR documentation built on Aug. 31, 2023, 8:05 a.m.