From 51ca0643d99759698ae5e8a5c8a37f139318b332 Mon Sep 17 00:00:00 2001 From: Christoph Hafemeister Date: Tue, 15 Dec 2020 22:17:59 +0100 Subject: [PATCH] Add check for NA, NaN, Inf values in cell attributes (see issue #85) --- R/utils.R | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/R/utils.R b/R/utils.R index 3e19498..6624a1a 100644 --- a/R/utils.R +++ b/R/utils.R @@ -39,6 +39,16 @@ make_cell_attr <- function(umi, cell_attr, latent_var, batch_var, latent_var_non new_attr <- do.call(cbind, new_attr) cell_attr <- cbind(cell_attr, new_attr[, setdiff(colnames(new_attr), colnames(cell_attr)), drop = TRUE]) } + + # make sure no NA, NaN, Inf values are in cell attributes - they would cause + # problems later on + rel_attr <- cell_attr[, c(latent_var, batch_var, latent_var_nonreg)] + if (any(is.na(rel_attr)) || + any(is.nan(rel_attr)) || + any(is.infinite(rel_attr))) { + stop('cell attributes cannot contain any NA, NaN, or infinite values') + } + return(cell_attr) }