From 22034c2b4ea96e7a54280893d0c27af0350cbf65 Mon Sep 17 00:00:00 2001 From: bbimber Date: Thu, 23 Jan 2025 13:25:14 -0800 Subject: [PATCH] Allow nimble append to support queryDatabaseForLineageUpdates --- singlecell/resources/chunks/AppendNimble.R | 5 +++-- .../web/singlecell/panel/NimbleAppendPanel.js | 16 +++++++++++--- .../pipeline/singlecell/AppendNimble.java | 21 ++++++++++++++++++- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/singlecell/resources/chunks/AppendNimble.R b/singlecell/resources/chunks/AppendNimble.R index 7a913d757..97023dea0 100644 --- a/singlecell/resources/chunks/AppendNimble.R +++ b/singlecell/resources/chunks/AppendNimble.R @@ -17,8 +17,9 @@ for (datasetId in names(seuratObjects)) { seuratObj <- readSeuratRDS(seuratObjects[[datasetId]]) for (genomeId in names(nimbleGenomes)) { - maxAmbiguityAllowed <- !nimbleGenomeAmbiguousPreference[[genomeId]] - seuratObj <- Rdiscvr::DownloadAndAppendNimble(seuratObject = seuratObj, allowableGenomes = genomeId, ensureSamplesShareAllGenomes = ensureSamplesShareAllGenomes, targetAssayName = nimbleGenomes[[genomeId]], enforceUniqueFeatureNames = TRUE, maxAmbiguityAllowed = maxAmbiguityAllowed, maxLibrarySizeRatio = maxLibrarySizeRatio) + maxAmbiguityAllowed <- nimbleGenomeAmbiguousPreference[[genomeId]] + queryDatabaseForLineageUpdates <- queryDatabaseForLineageUpdatesPreference[[genomeId]] + seuratObj <- Rdiscvr::DownloadAndAppendNimble(seuratObject = seuratObj, allowableGenomes = genomeId, ensureSamplesShareAllGenomes = ensureSamplesShareAllGenomes, targetAssayName = nimbleGenomes[[genomeId]], enforceUniqueFeatureNames = TRUE, maxAmbiguityAllowed = maxAmbiguityAllowed, maxLibrarySizeRatio = maxLibrarySizeRatio, queryDatabaseForLineageUpdates = queryDatabaseForLineageUpdates) } saveData(seuratObj, datasetId) diff --git a/singlecell/resources/web/singlecell/panel/NimbleAppendPanel.js b/singlecell/resources/web/singlecell/panel/NimbleAppendPanel.js index f01e307ce..7712dc1c0 100644 --- a/singlecell/resources/web/singlecell/panel/NimbleAppendPanel.js +++ b/singlecell/resources/web/singlecell/panel/NimbleAppendPanel.js @@ -40,7 +40,7 @@ Ext4.define('SingleCell.panel.NimbleAppendPanel', { },LABKEY.ext4.GRIDBUTTONS.DELETERECORD()], store: { type: 'array', - fields: ['genomeId', 'targetAssay','maxAmbiguityAllowed'] + fields: ['genomeId', 'targetAssay','maxAmbiguityAllowed', 'queryDatabaseForLineageUpdates'] }, columns: [{ dataIndex: 'genomeId', @@ -77,6 +77,15 @@ Ext4.define('SingleCell.panel.NimbleAppendPanel', { allowBlank: true, minValue: 0 } + },{ + dataIndex: 'queryDatabaseForLineageUpdates', + width: 175, + header: 'Check for Lineage Updates', + editor: { + xtype: 'checkbox', + allowBlank: true, + value: false + } }] }] }); @@ -87,7 +96,7 @@ Ext4.define('SingleCell.panel.NimbleAppendPanel', { getValue: function(){ var ret = []; this.down('ldk-gridpanel').store.each(function(r, i) { - ret.push([r.data.genomeId, r.data.targetAssay, r.data.maxAmbiguityAllowed ?? '']); + ret.push([r.data.genomeId, r.data.targetAssay, r.data.maxAmbiguityAllowed ?? '', !!r.data.queryDatabaseForLineageUpdates]); }, this); return Ext4.isEmpty(ret) ? null : JSON.stringify(ret); @@ -123,7 +132,8 @@ Ext4.define('SingleCell.panel.NimbleAppendPanel', { var rec = grid.store.createModel({ genomeId: row[0], targetAssay: row[1], - maxAmbiguityAllowed: row[2] + maxAmbiguityAllowed: row[2], + queryDatabaseForLineageUpdates: !!row[3] }); grid.store.add(rec); }, this); diff --git a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendNimble.java b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendNimble.java index 2fade274d..67b24280a 100644 --- a/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendNimble.java +++ b/singlecell/src/org/labkey/singlecell/pipeline/singlecell/AppendNimble.java @@ -96,7 +96,7 @@ protected Chunk createParamChunk(SequenceOutputHandler.JobContext ctx, List