cbc5e17ce713a7076a9f95991e10262079780cc8
max
  Fri May 16 10:27:58 2025 -0700
overload -c to skip internal markers

diff --git src/cbPyLib/cellbrowser/R/cellbrowser.R src/cbPyLib/cellbrowser/R/cellbrowser.R
index b34b02f..7dc0341 100644
--- src/cbPyLib/cellbrowser/R/cellbrowser.R
+++ src/cbPyLib/cellbrowser/R/cellbrowser.R
@@ -387,32 +387,43 @@
     if (length(levels(Idents(object))) > 1) {
       #markers.helper <- function(x) {
         #partition <- markers[x,]
 
         # Seurat4 changed the field name! grrrr...
         #if ("avg_log2FC" %in% colnames(markers))
             #avgs <- -partition$avg_log2FC
         #else
             #avgs <- -partition$avg_logFC
         #ord <- order(partition$p_val_adj < 0.05, avgs)
         #res <- x[ord]
         #naCount <- max(0, length(x) - markers.n)
         #res <- c(res[1:markers.n], rep(NA, naCount))
         #return(res)
       #}
+      hasMarkers = FALSE
       if (.hasSlot(object, "misc") && !is.null(x = object@misc["markers"][[1]]) ) {
+        hasMarkers = TRUE
         message("Found precomputed markers in obj@misc['markers']")
+      }
+
+      if (skip.markers) {
+        message("Not using precomputed markers, as --skipMarkers was set")
+        hasMarkers = FALSE
+      }
+    
+      if (hasMarkers) {
+            message("Using precomputed markers")
             markers <- object@misc["markers"]$markers
       } else {
         message("Running FindAllMarkers(), using wilcox test, min logfc diff 0.25")
         if ("SCT" %in% names(object@assays)) {
             message("Looks like an SCT object, so running PrepSCTFindMarkers()")
             PrepSCTFindMarkers(object = object)
         }
         markers <- FindAllMarkers(
           object,
           do.print = TRUE,
           only.pos = TRUE,
           logfc.threshold = 0.25,
           min.pct = 0.25
         )
       }