R/df2gr.R

#' Easy dataframe to granges
#'
#' DF in, GR out
#'
#' @param df A dataframe with bed-like first three columns
#' @param chr Prepend chr to chromosome-names?
#' @param keepMeta Keep data in other columns?
#' @return A genomicRanges-object
#' @export
df2gr <- function(df, chr = T, keepMeta = T){
  require(GenomicRanges)
  colnames(df)[1:3] <- c('seqnames','start','end')
  df$seqnames <- gsub(df$seqnames, pattern = '^chr', replacement = '')
  if(chr == T){
    df$seqnames <- gsub(df$seqnames, pattern = '^', replacement = 'chr')
  }
  GR <- GenomicRanges::makeGRangesFromDataFrame(df,keep.extra.columns = keepMeta)
  return(GR)
}
robinweide/RHWlib documentation built on May 7, 2019, 8:03 a.m.