Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f48d3ce
color point FC-FC scatter
zitoa Oct 16, 2025
bf8f745
fix scatter
zitoa Oct 21, 2025
f8117fc
merge devel into this branch
zitoa Oct 27, 2025
f59bd92
avoid plotting identical contrasts
zitoa Oct 27, 2025
f6c5eee
align matrices
zitoa Oct 27, 2025
0e3f7bc
increase axis font size
zitoa Oct 27, 2025
5299504
update info button
zitoa Oct 27, 2025
d992d8a
fix: control missing MESSAGES
ESCRI11 Oct 28, 2025
e3206dc
fix: add hardcoded default file (control deploy errors)
ESCRI11 Oct 28, 2025
1091a99
fix: if cookies2 does not exist not crash
ESCRI11 Oct 28, 2025
be7930d
Merge pull request #1602 from bigomics/devel-etc-folder
ESCRI11 Oct 29, 2025
e089eea
Update version to v4.0.6+devel251029
ESCRI11 Oct 29, 2025
df5477d
improvement: inform user if custom feature list has no matches
ESCRI11 Oct 30, 2025
341ff27
fix: genecorr edge case less than 4 features
ESCRI11 Oct 30, 2025
4b474af
Merge pull request #1603 from bigomics/devel-testgeneset-validate
ESCRI11 Oct 30, 2025
5307dc4
Update version to v4.0.6+devel251030
ESCRI11 Oct 30, 2025
bdf5c5c
style: remove background box on venn diagrams
ESCRI11 Oct 30, 2025
e7f1adb
add scRNAseq example counts and samples
zitoa Oct 31, 2025
83b0618
change: make impute true as default
ESCRI11 Oct 31, 2025
8a6d2da
Merge pull request #1604 from bigomics/devel-genecorr-edgecase
ESCRI11 Oct 31, 2025
81483d9
Merge pull request #1605 from bigomics/devel-venn-background
ESCRI11 Oct 31, 2025
5c803e9
Update version to v4.0.6+devel251031
ESCRI11 Oct 31, 2025
0c35b0c
add scRNAseq example contrasts
zitoa Oct 31, 2025
0d56a6a
Merge pull request #1608 from bigomics/devel-impute-default
ESCRI11 Oct 31, 2025
f5796c5
Merge pull request #1607 from bigomics/add-scRNAseq-exampledata
zitoa Oct 31, 2025
792ba88
fix: pass NA free X to detectOutlierSamples
ESCRI11 Nov 1, 2025
d19300d
enable grouping by database
ivokwee Nov 2, 2025
f9e5de0
Merge pull request #1610 from bigomics/devel-na-outlier
ESCRI11 Nov 3, 2025
3c68673
Update version to v4.0.6+devel251103
ESCRI11 Nov 3, 2025
0ba1c35
fix plot option
zitoa Nov 3, 2025
9098a42
feat: log compute info
ESCRI11 Nov 4, 2025
440e9d9
add_check_scrnaseq_datatype
zitoa Nov 4, 2025
e993de1
fix: recompute code deleted
ESCRI11 Nov 5, 2025
87204f3
Merge pull request #1611 from bigomics/devel-log-compute
ESCRI11 Nov 5, 2025
4d602dd
Update version to v4.0.6+devel251105
ESCRI11 Nov 5, 2025
ef4005d
Merge pull request #1613 from bigomics/devel-recompute-again
ESCRI11 Nov 5, 2025
28e7d38
fix: dynamically update batch correction methods based on sample size
ESCRI11 Nov 6, 2025
b294baf
Refactor method selection logic for clarity
ivokwee Nov 6, 2025
f4a9ea3
Merge pull request #1614 from bigomics/devel-npm-out
ESCRI11 Nov 6, 2025
074a560
Update version to v4.0.6+devel251106
ESCRI11 Nov 6, 2025
3dd5af5
improve detection and message
zitoa Nov 9, 2025
74e4087
Replace scRNAseq example counts, samples, contrasts
zitoa Nov 10, 2025
8b66599
feat: display gene symbols in selector using labeltype
ESCRI11 Nov 10, 2025
e290de9
Merge pull request #1618 from bigomics/devel-corr-features
ESCRI11 Nov 10, 2025
66225f7
Update version to v4.0.6+devel251110
ESCRI11 Nov 10, 2025
4ef6188
put on playdata
zitoa Nov 10, 2025
1cb3748
Merge pull request #1616 from bigomics/gset-rowgroup
ivokwee Nov 11, 2025
0a9558f
Update version to v4.0.6+devel251111
ivokwee Nov 11, 2025
8c28c75
improve prefix matching
ivokwee Nov 11, 2025
efe6276
Merge pull request #1612 from bigomics/check_scrnaseq_datatype
zitoa Nov 11, 2025
dab4424
Merge pull request #1617 from bigomics/replace-scRNAseq-exampledata
zitoa Nov 11, 2025
71ca177
update info
zitoa Nov 11, 2025
11926cc
feat: retain common samples on pgx multiomics upload
ESCRI11 Nov 11, 2025
769676a
Merge pull request #1590 from bigomics/color-significant-features-FCF…
zitoa Nov 11, 2025
983ac92
fix normalization for multiomics
zitoa Nov 11, 2025
69ee228
use new playbase functions
zitoa Nov 11, 2025
dd9b923
use sub
zitoa Nov 11, 2025
c0b18d7
Merge pull request #1621 from bigomics/fix-multiomics-normalization
zitoa Nov 11, 2025
e3326d4
Merge pull request #1619 from bigomics/fix-prefix
ivokwee Nov 11, 2025
05c2610
Merge pull request #1620 from bigomics/mo-samples-from-pgx
ESCRI11 Nov 11, 2025
469964d
Merge branch 'master' into devel
ESCRI11 Nov 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions components/app/R/global.R
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,26 @@ message("************* SETTING DEFAULTS ***************")
message("************************************************")

defaults.file <- file.path(ETC, "DEFAULTS.yml")
if (!file.exists(defaults.file)) stop("FATAL ERROR: cannot find DEFAULTS.yml file")
DEFAULTS <<- yaml::read_yaml(defaults.file)
if (file.exists(defaults.file)) {
DEFAULTS <<- yaml::read_yaml(defaults.file)
} else {
message("[GLOBAL] DEFAULTS.yml not found, using default configuration")
DEFAULTS <<- list(
computation_options = list(
probe_filtering = list(
default = c(
"remove.notexpressed",
"remove.unknown",
"only.proteincoding"
),
proteomics = list()
)
),
qc = list(
impute = TRUE
)
)
}

## Check and set authentication method
if (Sys.getenv("PLAYGROUND_AUTHENTICATION") != "") {
Expand Down
27 changes: 16 additions & 11 deletions components/app/R/server.R
Original file line number Diff line number Diff line change
Expand Up @@ -1258,17 +1258,22 @@ app_server <- function(input, output, session) {
if (auth$logged) {
shinyjs::delay(500, {
## read startup messages
msg <- readLines(file.path(ETC, "MESSAGES"))
msg <- msg[msg != "" & substr(msg, 1, 1) != "#"]
msg <- c(msg[[1]], sample(msg, 4))
STARTUP_MESSAGES <- msg
shiny::showModal(
ui.startupModal(
id = "startup_modal",
messages = STARTUP_MESSAGES,
title = "BigOmics Highlights"
)
)
msg_file <- file.path(ETC, "MESSAGES")
if (file.exists(msg_file)) {
msg <- readLines(msg_file)
msg <- msg[msg != "" & substr(msg, 1, 1) != "#"]
if (length(msg) > 0) {
msg <- c(msg[[1]], sample(msg, min(4, length(msg))))
STARTUP_MESSAGES <- msg
shiny::showModal(
ui.startupModal(
id = "startup_modal",
messages = STARTUP_MESSAGES,
title = "BigOmics Highlights"
)
)
}
}
})
}
})
Expand Down
2 changes: 1 addition & 1 deletion components/board.compare/R/compare_plot_genecorr.R
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ compare_plot_genecorr_server <- function(id,
# Assemble all subplot in to grid
plt <- plotly::subplot(
sub_plots,
nrows = 4,
nrows = min(4, length(sub_plots)),
margin = 0.03,
titleX = TRUE,
titleY = TRUE
Expand Down
3 changes: 3 additions & 0 deletions components/board.correlation/R/correlation_server.R
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ CorrelationBoard <- function(id, pgx, labeltype = shiny::reactive("feature")) {
## genes <- sort(pgx$genes[genes, ]$gene_name)
sel <- genes[1] ## most var gene
## sel <- names(head(sort(-rowMeans(playbase::pgx.getMetaMatrix(pgx)$fc**2)), 1))

names(genes) <- playbase::probe2symbol(genes, pgx$genes, labeltype(), fill_na = TRUE)

shiny::updateSelectizeInput(
session, "gene",
choices = genes, selected = sel, server = TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,8 @@ enrichment_plot_top_enrich_gsets_server <- function(id,
}

## selected
sel <- as.integer(gseatable$rows_selected())
sel.gs <- NULL
if (!is.null(sel) && length(sel) > 0) sel.gs <- rownames(rpt)[sel]

ii <- gseatable$rows_selected()
jj <- gseatable$rows_current()
ii <- gseatable$rownames_selected()
jj <- gseatable$rownames_current()
shiny::req(jj)

if (nrow(rpt) == 0) {
Expand Down
10 changes: 9 additions & 1 deletion components/board.enrichment/R/enrichment_server.R
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ EnrichmentBoard <- function(id, pgx,
## Enrichment table
## ================================================================================

gset_selected <- shiny::reactive({
gset_selected.SAVE <- shiny::reactive({
i <- as.integer(gseatable$rows_selected())
if (is.null(i) || length(i) == 0) {
return(NULL)
Expand All @@ -378,6 +378,14 @@ EnrichmentBoard <- function(id, pgx,
return(gs)
})

gset_selected <- shiny::reactive({
gs <- gseatable$rownames_selected()
if (is.null(gs) || length(gs) == 0) {
return(NULL)
}
return(gs)
})

geneDetails <- shiny::reactive({
## return details of the genes in the selected gene set
shiny::req(pgx$X, input$gs_contrast)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@ enrichment_table_enrichment_analysis_ui <- function(

gseatable_opts <- shiny::tagList(
withTooltip(shiny::checkboxInput(ns("gs_showqvalues"), "Show individual q-values", FALSE),
"Show q-values of each statistical method in the table.",
placement = "top", options = list(container = "body")
"Show q-values of each statistical method in the table."
),
withTooltip(shiny::checkboxInput(ns("show_scores"), "Show method-specific score", FALSE),
"Show enrichment score of each statistical method in the table.",
placement = "top", options = list(container = "body")
"Show enrichment score of each statistical method in the table."
),
withTooltip(shiny::checkboxInput(ns("rowgroup"), "Group by database", FALSE),
"Groups genesets by database."
)
)

Expand Down Expand Up @@ -60,7 +61,7 @@ enrichment_table_enrichment_analysis_server <- function(id,
return(NULL)
}

if ("GS" %in% colnames(rpt)) rpt$GS <- playbase::shortstring(rpt$GS, 72)
if ("GS" %in% colnames(rpt)) rpt$GS <- playbase::shortstring(rpt$GS, 60)
if ("size" %in% colnames(rpt)) rpt$size <- as.integer(rpt$size)

fx <- NULL
Expand Down Expand Up @@ -91,17 +92,27 @@ enrichment_table_enrichment_analysis_server <- function(id,
rpt$GS <- paste(rpt$GS, "&nbsp;", GS_link)
colnames(rpt) <- sub("GS", "geneset", colnames(rpt))

if(input$rowgroup) {
db <- sub(":.*","",rownames(rpt))
rpt <- cbind( DB = db, rpt )
rpt <- rpt[order(rpt$DB, rpt$meta.q, -abs(rpt$logFC)), ]
}

is.numcol <- sapply(rpt, function(col) is.numeric(col) && !is.integer(col))
numcols <- which(is.numcol & !colnames(rpt) %in% c("size"))
numcols <- colnames(rpt)[numcols]
escapecols <- -1 * (match(c("geneset"), colnames(rpt)) + 0)


rowgroup.opt <- NULL
if(input$rowgroup) rowgroup.opt <- list(dataSrc = 0)

DT::datatable(rpt,
class = "compact cell-border stripe hover",
rownames = FALSE,
escape = c(-1, -2),
extensions = c("Scroller"),
plugins = "scrollResize",
#escape = c(-1, -2),
escape = escapecols,
extensions = c("Scroller","RowGroup"),
plugins = c("scrollResize","ellipsis"),
fillContainer = TRUE,
selection = list(mode = "single", target = "row", selected = 1),
options = list(
Expand All @@ -113,10 +124,15 @@ enrichment_table_enrichment_analysis_server <- function(id,
scrollResize = TRUE,
scroller = TRUE,
deferRender = TRUE,
rowGroup = rowgroup.opt,
search = list(
regex = TRUE,
caseInsensitive = TRUE
)
),
columnDefs = list(list(
targets = c("geneset"),
render = DT::JS("$.fn.dataTable.render.ellipsis( 60, false )")
))
) ## end of options.list
) %>%
DT::formatSignif(numcols, 4) %>%
Expand Down
Loading