|
| 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 | for (datasetId in names(seuratObjects)) { |
2 | 12 | printName(datasetId) |
3 | 13 | seuratObj <- readSeuratRDS(seuratObjects[[datasetId]]) |
@@ -28,16 +38,20 @@ for (datasetId in names(seuratObjects)) { |
28 | 38 | } |
29 | 39 | } |
30 | 40 |
|
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') |
33 | 47 | } |
34 | 48 |
|
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') |
37 | 51 | } |
38 | 52 |
|
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') |
41 | 55 | } |
42 | 56 |
|
43 | 57 | if (length(errorMessages) > 0) { |
|
0 commit comments