mirror of
https://github.com/johrpan/geposanui.git
synced 2025-10-26 11:17:24 +01:00
scatter plot: Move to geposan
This commit is contained in:
parent
bc99e358c1
commit
c009bfa371
3 changed files with 31 additions and 40 deletions
|
|
@ -1,33 +0,0 @@
|
|||
# Draw a scatter plot containing gene positions.
|
||||
#
|
||||
# @param results Results from [`process_input()`].
|
||||
# @param species Species to be displayed.
|
||||
# @param genes Genes to be displayed.
|
||||
scatter_plot <- function(results, species, genes) {
|
||||
species_ids <- species[, id]
|
||||
|
||||
data <- merge(
|
||||
genes[, .(id, name)],
|
||||
geposan::distances[species %in% species_ids],
|
||||
by.x = "id", by.y = "gene"
|
||||
)
|
||||
|
||||
data[name == "", name := "Unknown"]
|
||||
|
||||
plotly::plot_ly(
|
||||
data = data,
|
||||
x = ~species,
|
||||
y = ~distance,
|
||||
color = ~id,
|
||||
name = ~name,
|
||||
type = "scatter",
|
||||
mode = "markers"
|
||||
) |> plotly::layout(
|
||||
xaxis = list(
|
||||
title = "Species",
|
||||
tickvals = species_ids,
|
||||
ticktext = species[, name]
|
||||
),
|
||||
yaxis = list(title = "Distance to telomeres [Bp]")
|
||||
)
|
||||
}
|
||||
34
R/server.R
34
R/server.R
|
|
@ -106,13 +106,27 @@ server <- function(input, output, session) {
|
|||
})
|
||||
|
||||
output$scatter <- plotly::renderPlotly({
|
||||
results <- results_filtered()
|
||||
preset <- preset()
|
||||
|
||||
gene_ids <- results[input$genes_rows_selected, gene]
|
||||
genes <- genes[id %chin% gene_ids]
|
||||
species <- species[id %chin% preset()$species_ids]
|
||||
gene_sets <- list(preset$reference_gene_ids)
|
||||
labels <- c("Reference genes")
|
||||
|
||||
scatter_plot(results, species, genes)
|
||||
comparison_gene_ids <- results_filtered()[
|
||||
input$genes_rows_selected,
|
||||
gene
|
||||
]
|
||||
|
||||
if (length(comparison_gene_ids) >= 1) {
|
||||
gene_sets <- c(gene_sets, list(comparison_gene_ids))
|
||||
labels <- c(labels, "Comparison genes")
|
||||
}
|
||||
|
||||
geposan::plot_positions(
|
||||
preset$species_ids,
|
||||
gene_sets = gene_sets,
|
||||
labels = labels,
|
||||
use_positions = input$use_positions
|
||||
)
|
||||
})
|
||||
|
||||
output$assessment_synopsis <- renderText({
|
||||
|
|
@ -157,7 +171,10 @@ server <- function(input, output, session) {
|
|||
gene_sets <- list(preset()$reference_gene_ids)
|
||||
labels <- c("Reference genes")
|
||||
|
||||
comparison_gene_ids <- results()[input$genes_rows_selected, gene]
|
||||
comparison_gene_ids <- results_filtered()[
|
||||
input$genes_rows_selected,
|
||||
gene
|
||||
]
|
||||
|
||||
if (length(comparison_gene_ids) >= 1) {
|
||||
gene_sets <- c(gene_sets, list(comparison_gene_ids))
|
||||
|
|
@ -176,7 +193,10 @@ server <- function(input, output, session) {
|
|||
gene_sets <- list(preset()$reference_gene_ids)
|
||||
labels <- c("Reference genes")
|
||||
|
||||
comparison_gene_ids <- results()[input$genes_rows_selected, gene]
|
||||
comparison_gene_ids <- results_filtered()[
|
||||
input$genes_rows_selected,
|
||||
gene
|
||||
]
|
||||
|
||||
if (length(comparison_gene_ids) >= 1) {
|
||||
gene_sets <- c(gene_sets, list(comparison_gene_ids))
|
||||
|
|
|
|||
4
R/ui.R
4
R/ui.R
|
|
@ -31,6 +31,10 @@ ui <- fluidPage(
|
|||
),
|
||||
tabPanel(
|
||||
"Positions",
|
||||
checkboxInput(
|
||||
"use_positions",
|
||||
"Show positions instead of distances"
|
||||
),
|
||||
plotly::plotlyOutput(
|
||||
"scatter",
|
||||
width = "100%",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue