R/gc_content.R

Defines functions gc_content

Documented in gc_content

#' Calculate the GC content of multiple sequences
#'
#' @param seq A vector of DNA sequence strings
#'
#' @return A numeric vector of the GC percentages
#' @export
#'
#' @examples
#' gc_content("GATATCG")
#' gc_content(c("GATATCG","agttagtcgatgc"))
gc_content <- function(seq) {

  assertthat::assert_that(is.character(seq))

  seq <- toupper(seq)

  if (any(stringr::str_detect(seq,"[^GATC]"))) {
    base::warning("Non GATC characters found in sequences")
  }

  stringr::str_replace_all(seq,"[^GC]","") -> just_gc

  return(100*(base::nchar(just_gc)/base::nchar(seq)))

}
s-andrews/marchr documentation built on March 23, 2022, 12:09 a.m.