R/calculateNoiseRatios.R

Defines functions calculateNoiseRatios

Documented in calculateNoiseRatios

#' @title Calculate noise ratios
#' @description Calculate noise ratios of a Repli-seq assay versus a Repli-seq control
#'
#' @param rs_assay a Repli-seq assay (data.frame) loaded with readRS() and formatted as chr,start,stop,S1,...,Sx
#' @param rs_control a Repli-seq control assay (data.frame) loaded with readRS() and formatted as chr,start,stop,S0
#'
#' @return an array with the ratios in the order of rs_assay fractions
#' @export
#'


calculateNoiseRatios <- function(rs_assay, rs_control) {
  # select control and fractions :
  temp_fractions <- rs_assay[,!(names(rs_assay) %in% c("chr","start","stop"))]
  temp_control <- rs_control[,!(names(rs_control) %in% c("chr","start","stop"))]
  # calculate ratios :
  to_return <- NULL
  for (fraction in names(temp_fractions)) {
    temp_fraction_vs_control <- round(rs_assay[,fraction] / temp_control, digits = 3)
    temp_density <- density(temp_fraction_vs_control,na.rm = TRUE)
    temp_max <- which.max(temp_density$y)
    temp_ratio <- round(temp_density$x[temp_max],digits = 3)
    to_return <- c(to_return,temp_ratio)
  }
  return(to_return)
}
CL-CHEN-Lab/RepliSeq documentation built on Sept. 11, 2021, 12:04 p.m.