R/check_traits.R

Defines functions check_traits

Documented in check_traits

#' Check if a list of traits is valid.
#'
#' Check if a list of traits
#' (each with a clear genetic architecture and a known minor allele frequency)
#' is valid.
#' Will \link{stop} if not
#' @inheritParams default_params_doc
#' @examples
#' check_traits(create_additive_trait())
#' check_traits(create_random_trait())
#' check_traits(list(create_additive_trait(), create_random_trait()))
#' @export
#' @author Richèl J.C. Bilderbeek
check_traits <- function(traits) {
  testthat::expect_true(is.list(traits))
  if (plinkr::is_one_trait(traits)) return(invisible(traits))

  for (i in seq_along(traits)) {
    tryCatch({
      traits[[i]] <- plinkr::check_trait(traits[[i]])
      },
      error = function(e) {
        stop(
          "Error in ", i, "th trait: \n",
          e$message
        )
      }
    )
  }
  invisible(traits)
}
richelbilderbeek/plinkr documentation built on March 25, 2024, 3:18 p.m.