R/read_plink_simfreq_file.R

Defines functions read_plink_simfreq_file

Documented in read_plink_simfreq_file

#' Read a PLINK \code{.simfreq} file
#' @inheritParams default_params_doc
#' @return
#' a \link[tibble]{tibble} with column names:
#'   * \code{n_snps} Number of SNPs in set
#'     (always 1 in autogenerated file)
#'   * \code{label} Label of this set of SNPs
#'   * \code{allele_frequency_lower_bound}
#'     Reference allele frequency lower bound
#'   * \code{allele_frequency_upper_bound}
#'     Reference allele frequency upper bound
#'     (equal to lower bound in autogenerated file)
#'   * \code{additive_genetic_variance} Additive genetic variance for each SNP
#'   * \code{dominance_deviation} Dominance deviation
#' @seealso File format reference at
#'   \url{https://www.cog-genomics.org/plink/1.9/formats#simfreq}
#' @author Richèl J.C. Bilderbeek
#' @export
read_plink_simfreq_file <- function(
  simfreq_filename
) {
  text <- readr::read_lines(simfreq_filename)
  table <- stringr::str_split(text, pattern = "[:blank:]", simplify = TRUE)

  tibble::tibble(
    n_snps = as.numeric(table[, 1]),
    label = table[, 2],
    allele_frequency_lower_bound = as.numeric(table[, 3]),
    allele_frequency_upper_bound = as.numeric(table[, 4]),
    additive_genetic_variance = as.numeric(table[, 5]),
    dominance_deviation = as.numeric(table[, 6])
  )
}
richelbilderbeek/plinkr documentation built on March 25, 2024, 3:18 p.m.