|
| 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 | + |
1 | 11 | metricData <- data.frame(dataId = integer(), readsetId = integer(), metricname = character(), metricvalue = numeric()) |
2 | 12 |
|
3 | 13 | for (datasetId in names(seuratObjects)) { |
@@ -72,12 +82,12 @@ for (datasetId in names(seuratObjects)) { |
72 | 82 | metricData <- rbind(metricData, data.frame(dataId = datasetId, readsetId = datasetIdToReadset[[datasetId]], metricname = 'MeanSaturation.RNA', metricvalue = meanSaturation.RNA)) |
73 | 83 | } |
74 | 84 |
|
75 | | - if (requireSingleR && !'SingleRConsensus' %in% names(seuratObj@meta.data)) { |
76 | | - addErrorMessage(paste0('Missing SingleRConsensus label for dataset: ', datasetId)) |
| 85 | + if (requireSingleR) { |
| 86 | + CheckField(seuratObj, datasetId, 'SingleRConsensus') |
77 | 87 | } |
78 | 88 |
|
79 | | - if (requireScGate && !'scGateConsensus' %in% names(seuratObj@meta.data)) { |
80 | | - addErrorMessage(paste0('Missing scGateConsensus label for dataset: ', datasetId)) |
| 89 | + if (requireScGate) { |
| 90 | + CheckField(seuratObj, datasetId, 'scGateConsensus') |
81 | 91 | } |
82 | 92 |
|
83 | 93 | if (length(errorMessages) > 0) { |
|
0 commit comments