mirror of
https://github.com/johrpan/geposanui.git
synced 2025-10-26 11:17:24 +01:00
Add rank plot
This commit is contained in:
parent
114193506b
commit
527ba01cc9
3 changed files with 48 additions and 0 deletions
36
rank_plot.R
Normal file
36
rank_plot.R
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
library(data.table)
|
||||||
|
library(plotly)
|
||||||
|
|
||||||
|
#' Draw a plot displaying the rank of reference genes.
|
||||||
|
#'
|
||||||
|
#' The input table should contain the following columns:
|
||||||
|
#'
|
||||||
|
#' - `gene` Gene IDs of genes to display.
|
||||||
|
#' - `name` Name of genes to display.
|
||||||
|
#' - `score` Score of the genes.
|
||||||
|
#' - `rank` Rank of the genes based on the score.
|
||||||
|
#'
|
||||||
|
#' @param results Results to display.
|
||||||
|
#' @param reference_gene_ids IDs of reference genes.
|
||||||
|
rank_plot <- function(results, reference_gene_ids) {
|
||||||
|
plot <- plot_ly() |> add_trace(
|
||||||
|
data = results,
|
||||||
|
x = ~rank,
|
||||||
|
y = ~score,
|
||||||
|
name = "All genes",
|
||||||
|
type = "scatter",
|
||||||
|
mode = "line",
|
||||||
|
hoverinfo = "skip"
|
||||||
|
) |> add_trace(
|
||||||
|
data = results[gene %chin% reference_gene_ids],
|
||||||
|
x = ~rank,
|
||||||
|
y = ~score,
|
||||||
|
color = ~gene,
|
||||||
|
name = ~name,
|
||||||
|
width = 10,
|
||||||
|
type = "bar"
|
||||||
|
) |> layout(
|
||||||
|
xaxis = list(title = "Ranks"),
|
||||||
|
yaxis = list(title = "Score")
|
||||||
|
)
|
||||||
|
}
|
||||||
6
server.R
6
server.R
|
|
@ -6,6 +6,7 @@ library(rclipboard)
|
||||||
library(shiny)
|
library(shiny)
|
||||||
|
|
||||||
source("init.R")
|
source("init.R")
|
||||||
|
source("rank_plot.R")
|
||||||
source("scatter_plot.R")
|
source("scatter_plot.R")
|
||||||
|
|
||||||
#' Java script function to replace gene IDs with Ensembl gene links.
|
#' Java script function to replace gene IDs with Ensembl gene links.
|
||||||
|
|
@ -83,6 +84,11 @@ server <- function(input, output) {
|
||||||
results[, rank := .I]
|
results[, rank := .I]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
output$rank_plot <- renderPlotly({
|
||||||
|
results <- results()
|
||||||
|
rank_plot(results, genes[suggested | verified == TRUE, id])
|
||||||
|
})
|
||||||
|
|
||||||
output$genes <- renderDT({
|
output$genes <- renderDT({
|
||||||
method_ids <- sapply(methods, function(method) method$id)
|
method_ids <- sapply(methods, function(method) method$id)
|
||||||
method_names <- sapply(methods, function(method) method$name)
|
method_names <- sapply(methods, function(method) method$name)
|
||||||
|
|
|
||||||
6
ui.R
6
ui.R
|
|
@ -48,6 +48,12 @@ ui <- fluidPage(
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
mainPanel(
|
mainPanel(
|
||||||
|
h3("Gene ranks"),
|
||||||
|
plotlyOutput(
|
||||||
|
"rank_plot",
|
||||||
|
width = "100%",
|
||||||
|
height = "600px"
|
||||||
|
),
|
||||||
h3("Results"),
|
h3("Results"),
|
||||||
textOutput("synposis"),
|
textOutput("synposis"),
|
||||||
div(
|
div(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue