R/Run_get_results_from_JunctionSeq.R

# GetResultsFromJunctionSeq

#' Get analysis results using JunctionSeq
#'
#' @param dir.name
#' @param file.sample
#' @param file.count
#' @param file.gff
#'
#' @return return an analysis results from JunctionSeq

#' @export
#'
#' @examples
#'
#' # For example data set
#'
#' #dir.name='/media/H_driver/Aimin_project/'
#'
#' #file.sample='decoder.bySample.Mut_WT_2.rtf'
#' #file.gff='Homo_sapiens.GRCh38.84.processed.sorted.4.JunctionSeq.flat.gff'
#' #file.count='/QC.spliceJunctionAndExonCounts.forJunctionSeq.txt'
#'
#' #Re.example<-GetResultsFromJunctionSeq(dir.name,file.sample,file.count,file.gff)
#' 

GetResultsFromJunctionSeq <- function(dir.name, file.sample, 
  file.count, file.gff) {

  # Get sample file
  dir.name = reformatPath(dir.name)
  
  path.file.sample <- paste0(dir.name, file.sample)
  decoder.bySample <- read.table(path.file.sample, header = TRUE, 
    stringsAsFactors = FALSE)
  
  # Get count file
  path.file.count <- paste0(dir.name, decoder.bySample$sample.ID, 
    file.count)
  countFiles <- paste0(path.file.count)
  
  # Get annotation file
  path.file.gff <- paste0(dir.name, "GTF_Files/", file.gff)
  
  # Analysis using exonsOnly , and adjust Gender
  jscs.2 <- runJunctionSeqAnalyses(sample.files = countFiles, 
    sample.names = decoder.bySample$sample.ID, condition = decoder.bySample$group.ID, 
    flat.gff.file = path.file.gff, analysis.type = "exonsOnly", 
    nCores = 1, use.covars = decoder.bySample[, "Gender", 
      drop = FALSE], test.formula0 = ~sample + countbin + 
      Gender:countbin, test.formula1 = ~sample + countbin + 
      Gender:countbin + condition:countbin, effect.formula = ~condition + 
      Gender + countbin + Gender:countbin + condition:countbin, 
    geneLevel.formula = ~Gender + condition, verbose = TRUE, 
    debug.mode = TRUE, use.multigene.aggregates = TRUE)
  
  return(jscs.2)
}
aiminy/PathwaySplice documentation built on May 10, 2019, 7:38 a.m.