mirror of
https://github.com/johrpan/geposanui.git
synced 2025-10-25 20:07:23 +02:00
Show distances in results and add filtering
This commit is contained in:
parent
507f90e084
commit
17b738378a
3 changed files with 33 additions and 3 deletions
15
R/filters.R
15
R/filters.R
|
|
@ -53,6 +53,14 @@ filters_ui <- function(id) {
|
|||
tabPanelBody(
|
||||
value = "none"
|
||||
)
|
||||
),
|
||||
sliderInput(
|
||||
NS(id, "distance"),
|
||||
label = "Distance to telomeres",
|
||||
post = " Mbp",
|
||||
min = 0,
|
||||
max = 150,
|
||||
value = c(0, 150)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
@ -71,7 +79,7 @@ filters_server <- function(id, results) {
|
|||
reactive({
|
||||
results <- results()
|
||||
|
||||
if (input$method == "percentile") {
|
||||
results_prefiltered <- if (input$method == "percentile") {
|
||||
n_ranks <- nrow(results)
|
||||
results[rank <= (1 - (input$percentile / 100)) * n_ranks]
|
||||
} else if (input$method == "score") {
|
||||
|
|
@ -81,6 +89,11 @@ filters_server <- function(id, results) {
|
|||
} else {
|
||||
results
|
||||
}
|
||||
|
||||
results_prefiltered[
|
||||
distance >= 1000000 * input$distance[1] &
|
||||
distance <= 1000000 * input$distance[2]
|
||||
]
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
12
R/results.R
12
R/results.R
|
|
@ -56,6 +56,7 @@ results_server <- function(id, filtered_results) {
|
|||
"gene",
|
||||
"name",
|
||||
"chromosome",
|
||||
"distance",
|
||||
method_ids,
|
||||
"score",
|
||||
"percentile"
|
||||
|
|
@ -66,13 +67,22 @@ results_server <- function(id, filtered_results) {
|
|||
"Gene",
|
||||
"",
|
||||
"Chromosome",
|
||||
"Distance",
|
||||
method_names,
|
||||
"Score",
|
||||
"Percentile"
|
||||
)
|
||||
|
||||
output_data <- reactive({
|
||||
filtered_results()[, ..columns]
|
||||
filtered_results()[, ..columns][,
|
||||
distance := paste0(
|
||||
format(
|
||||
round(distance / 1000000, digits = 2),
|
||||
nsmall = 2,
|
||||
),
|
||||
" Mbp"
|
||||
)
|
||||
]
|
||||
})
|
||||
|
||||
output$download <- downloadHandler(
|
||||
|
|
|
|||
|
|
@ -45,11 +45,18 @@ server <- function(options) {
|
|||
# Rank the results.
|
||||
ranking <- methods_server("methods", analysis, comparison_gene_ids)
|
||||
|
||||
genes_with_distances <- merge(
|
||||
geposan::genes,
|
||||
geposan::distances[species == "hsapiens"],
|
||||
by.x = "id",
|
||||
by.y = "gene"
|
||||
)
|
||||
|
||||
# Add gene information to the results.
|
||||
results <- reactive({
|
||||
merge(
|
||||
ranking(),
|
||||
geposan::genes,
|
||||
genes_with_distances,
|
||||
by.x = "gene",
|
||||
by.y = "id",
|
||||
sort = FALSE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue