From ab61f08d0d75b0be7a6fc7802cd50447aa9f8891 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Mon, 17 Jan 2022 20:22:50 +0100 Subject: [PATCH] preset: Filter reference genes and add warnings --- R/preset.R | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/R/preset.R b/R/preset.R index a10f7bd..c3fd23e 100644 --- a/R/preset.R +++ b/R/preset.R @@ -35,11 +35,35 @@ preset <- function(reference_gene_ids, gene ] + reference_gene_ids_excluded <- reference_gene_ids[ + !reference_gene_ids %chin% gene_ids_filtered + ] + + if (length(reference_gene_ids_excluded > 0)) { + warning(paste0( + "The following reference gene IDs are excluded from the preset ", + "because they don't have enough data: ", + paste(reference_gene_ids_excluded, collapse = ", ") + )) + } + + reference_gene_ids_included <- reference_gene_ids[ + reference_gene_ids %chin% gene_ids_filtered + ] + + if (length(reference_gene_ids_included) < 1) { + stop(paste0( + "There has to be at least one reference gene for the preset to be ", + "valid. Please note that some methods may require more reference ", + "genes." + )) + } + # The included data gets sorted to be able to produce predictable hashes # for the object later. structure( list( - reference_gene_ids = sort(reference_gene_ids), + reference_gene_ids = sort(reference_gene_ids_included), methods = methods, species_ids = sort(species_ids), gene_ids = sort(gene_ids_filtered)