mirror of
https://github.com/johrpan/ubigen.git
synced 2025-10-26 19:57:24 +01:00
Add initial controls to the explore page
This commit is contained in:
parent
be1a4ef2fd
commit
06de28a92b
2 changed files with 82 additions and 30 deletions
38
R/server.R
38
R/server.R
|
|
@ -1,10 +1,34 @@
|
||||||
#' Server implementing the main user interface.
|
#' Server implementing the main user interface.
|
||||||
#' @noRd
|
#' @noRd
|
||||||
server <- function(input, output) {
|
server <- function(input, output) {
|
||||||
output$all_data <- DT::renderDataTable({
|
output$ranked_data <- DT::renderDataTable({
|
||||||
data <- ubigen::genes[, .(
|
total_weight <- abs(input$above_median) +
|
||||||
|
abs(input$mean_expression) +
|
||||||
|
abs(input$sd_expression)
|
||||||
|
|
||||||
|
data <- data.table::copy(ubigen::genes)
|
||||||
|
|
||||||
|
data[, score :=
|
||||||
|
(input$above_median * above_median +
|
||||||
|
input$mean_expression * mean_expression_normalized +
|
||||||
|
input$sd_expression * sd_expression_normalized) /
|
||||||
|
total_weight]
|
||||||
|
|
||||||
|
data.table::setorder(data, -score)
|
||||||
|
data[, rank := .I]
|
||||||
|
|
||||||
|
genes_table(data)
|
||||||
|
})
|
||||||
|
|
||||||
|
output$all_data <- DT::renderDataTable(genes_table(ubigen::genes))
|
||||||
|
}
|
||||||
|
|
||||||
|
#' Create a displayable data table from the gene results data.
|
||||||
|
#' @noRd
|
||||||
|
genes_table <- function(data) {
|
||||||
|
data <- data[, .(
|
||||||
"Gene" = glue::glue_data(
|
"Gene" = glue::glue_data(
|
||||||
ubigen::genes,
|
data,
|
||||||
"<a href=\"https://www.ensembl.org/Homo_sapiens/Gene/Summary",
|
"<a href=\"https://www.ensembl.org/Homo_sapiens/Gene/Summary",
|
||||||
"?db=core;g={gene}\" target=\"_blank\">{hgnc_name}</a>"
|
"?db=core;g={gene}\" target=\"_blank\">{hgnc_name}</a>"
|
||||||
),
|
),
|
||||||
|
|
@ -25,17 +49,19 @@ server <- function(input, output) {
|
||||||
rownames = FALSE,
|
rownames = FALSE,
|
||||||
escape = FALSE
|
escape = FALSE
|
||||||
) |>
|
) |>
|
||||||
DT::formatPercentage(c(
|
DT::formatPercentage(
|
||||||
|
c(
|
||||||
"Score",
|
"Score",
|
||||||
"Expressed",
|
"Expressed",
|
||||||
"Above 50 TPM",
|
"Above 50 TPM",
|
||||||
"Above median",
|
"Above median",
|
||||||
"Above 95%"
|
"Above 95%"
|
||||||
)) |>
|
),
|
||||||
|
digits = 2,
|
||||||
|
) |>
|
||||||
DT::formatRound(c(
|
DT::formatRound(c(
|
||||||
"Median",
|
"Median",
|
||||||
"Mean",
|
"Mean",
|
||||||
"Standard deviation"
|
"Standard deviation"
|
||||||
))
|
))
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
26
R/ui.R
26
R/ui.R
|
|
@ -13,9 +13,35 @@ ui <- function() {
|
||||||
sidebarLayout(
|
sidebarLayout(
|
||||||
sidebarPanel(
|
sidebarPanel(
|
||||||
width = 3,
|
width = 3,
|
||||||
|
h3("Criteria"),
|
||||||
|
sliderInput(
|
||||||
|
"above_median",
|
||||||
|
"Expressed above median",
|
||||||
|
min = -1.0,
|
||||||
|
max = 1.0,
|
||||||
|
step = 0.01,
|
||||||
|
value = 1.0
|
||||||
|
),
|
||||||
|
sliderInput(
|
||||||
|
"mean_expression",
|
||||||
|
"Mean expression",
|
||||||
|
min = -1.0,
|
||||||
|
max = 1.0,
|
||||||
|
step = 0.01,
|
||||||
|
value = 1.0
|
||||||
|
),
|
||||||
|
sliderInput(
|
||||||
|
"sd_expression",
|
||||||
|
"Standard deviation",
|
||||||
|
min = -1.0,
|
||||||
|
max = 1.0,
|
||||||
|
step = 0.01,
|
||||||
|
value = -1.0
|
||||||
|
)
|
||||||
),
|
),
|
||||||
mainPanel(
|
mainPanel(
|
||||||
width = 9,
|
width = 9,
|
||||||
|
DT::dataTableOutput("ranked_data")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue