Skip to content

Commit bf1760a

Browse files
committed
improve CheckExpectations criteria
1 parent 5421f7e commit bf1760a

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

singlecell/resources/chunks/CheckExpectations.R

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
CheckField <- function(seuratObj, datasetId, fieldName) {
2+
if (!fieldName %in% names(seuratObj@meta.data)) {
3+
addErrorMessage(paste0(paste0('Missing ', fieldName, ' for dataset: ', datasetId)))
4+
}
5+
6+
if (any(is.na(seuratObj@meta.data[[fieldName]]))) {
7+
addErrorMessage(paste0(paste0('NA values found for ', fieldName, ' for dataset: ', datasetId)))
8+
}
9+
}
10+
111
for (datasetId in names(seuratObjects)) {
212
printName(datasetId)
313
seuratObj <- readSeuratRDS(seuratObjects[[datasetId]])
@@ -28,16 +38,20 @@ for (datasetId in names(seuratObjects)) {
2838
}
2939
}
3040

31-
if (requireSaturation && !'Saturation.RNA' %in% names(seuratObj@meta.data)) {
32-
addErrorMessage(paste0('Missing per-cell RNA saturation data for dataset: ', datasetId))
41+
if (requireSaturation) {
42+
CheckField(seuratObj, datasetId, 'Saturation.RNA')
43+
}
44+
45+
if (requireSingleR) {
46+
CheckField(seuratObj, datasetId, 'SingleRConsensus')
3347
}
3448

35-
if (requireSingleR && !'SingleRConsensus' %in% names(seuratObj@meta.data)) {
36-
addErrorMessage(paste0('Missing SingleRConsensus label for dataset: ', datasetId))
49+
if (requireScGate) {
50+
CheckField(seuratObj, datasetId, 'scGateConsensus')
3751
}
3852

39-
if (requireScGate && !'scGateConsensus' %in% names(seuratObj@meta.data)) {
40-
addErrorMessage(paste0('Missing scGateConsensus label for dataset: ', datasetId))
53+
if (requireRiraImmune) {
54+
CheckField(seuratObj, datasetId, 'RIRA_Immune_v2.cellclass')
4155
}
4256

4357
if (length(errorMessages) > 0) {

singlecell/src/org/labkey/singlecell/pipeline/singlecell/CheckExpectations.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public Provider()
3333
SeuratToolParameter.create("requireCiteSeq", "Require Cite-Seq, If Used", "If this dataset uses CITE-seq, cite-seq data are required", "checkbox", null, true),
3434
SeuratToolParameter.create("requireSaturation", "Require Per-Cell Saturation", "If this dataset uses TCR sequencing, these data are required", "checkbox", null, true),
3535
SeuratToolParameter.create("requireSingleR", "Require SingleR", "If checked, SingleR calls, including singleRConsensus are required to pass", "checkbox", null, true),
36-
SeuratToolParameter.create("requireScGate", "Require scGate", "If checked, scGateConsensus calls are required to pass", "checkbox", null, true)
36+
SeuratToolParameter.create("requireScGate", "Require scGate", "If checked, scGateConsensus calls are required to pass", "checkbox", null, true),
37+
SeuratToolParameter.create("requireRiraImmune", "Require RIRA Immune V2", "If checked, RIRA_Immune_v2 calls (field RIRA_Immune_v2.cellclass) are required to pass", "checkbox", null, true)
3738
), null, null);
3839
}
3940

0 commit comments

Comments
 (0)