## ----knitr, echo=FALSE, results="hide"----------------------------------- library("knitr") opts_chunk$set( tidy=FALSE, dev="png", #fig.show="hide", fig.width=4, fig.height=4.5, dpi = 300, cache=TRUE, message=FALSE, warning=FALSE) ## ----style, eval=TRUE, echo=FALSE, results="asis"--------------------------------------- BiocStyle::latex() ## ----loadGenoGAM, echo=FALSE------------------------------------------------------------ library("GenoGAM") ## ----options, results="hide", echo=FALSE-------------------------------------- options(digits=3, width=80, prompt=" ", continue=" ") opts_chunk$set(dev = 'pdf') ## ----parallel----------------------------------------------------------------- library(GenoGAM) ## On multicore machines by default the number of available cores - 2 are registered BiocParallel::registered()[1] ## ----parallel-register-------------------------------------------------------- BiocParallel::register(BiocParallel::SnowParam(workers = 4, progressbar = TRUE)) ## ----check-------------------------------------------------------------------- BiocParallel::registered()[1] ## ----expdesign---------------------------------------------------------------- folder <- system.file("extdata/Set1", package='GenoGAM') expDesign <- read.delim( file.path(folder, "experimentDesign.txt") ) expDesign ## ----ggd---------------------------------------------------------------------- bpk <- 20 chunkSize <- 1000 overhangSize <- 15*bpk ## build the GenoGAMDataSet ggd <- GenoGAMDataSet( expDesign, directory = folder, chunkSize = chunkSize, overhangSize = overhangSize, design = ~ s(x) + s(x, by = genotype) ) ggd ## data filtered for regions with zero counts filtered_ggd <- filterData(ggd) filtered_ggd ## alternatively we can restricts the GenoGAM dataset to the positions of ## interest as we know them by design of this example ggd <- subset(ggd, seqnames == "chrXIV" & pos >= 305000 & pos <= 308000) ## They are almost the same as found by the filter range(getIndex(filtered_ggd)) ## ----settings, eval=FALSE----------------------------------------------------- # ## specify specific chromosomes # settings <- GenoGAM:::GenoGAMSettings(chromosomeList = c('chrI', 'chrII')) # # ## specify parameters through ScanBamParam # gr <- GRanges("chrI", IRanges(1,100000)) # params <- ScanBamParam(which = gr) # settings <- GenoGAM:::GenoGAMSettings(bamParams = params) ## ----sizeFactor--------------------------------------------------------------- ggd <- computeSizeFactors(ggd) sizeFactors(ggd) ## ----qualityCheck, eval=FALSE------------------------------------------------- # ## the function is not run as it creates new plots each time, # ## which are not very meaningful for such a small example # qualityCheck(ggd) ## ----fitwocv------------------------------------------------------------------ ## fit model without parameters estimation fit <- genogam(ggd, lambda = 40954.1, family = mgcv::nb(theta = 6.927986), bpknots = bpk ) fit ## ----fitwithcv, eval=FALSE---------------------------------------------------- # fit_CV <- genogam(ggd,bpknots = bpk) ## ----view--------------------------------------------------------------------- # extract count data into a data frame df_data <- view(ggd) head(df_data) # extract fit into a data frame df_fit <- view(fit) head(df_fit) ## ----viewranges--------------------------------------------------------------- gr <- GRanges("chrXIV", IRanges(306000, 308000)) head(view(ggd, ranges = gr)) ## ----plotfit, fig.width=6.5, fig.height=8------------------------------------ plot(fit, ggd, scale = FALSE) ## ----signif------------------------------------------------------------------- fit <- computeSignificance(fit) df_fit <- view(fit) head(df_fit) ## ----regsignif---------------------------------------------------------------- gr gr <- computeRegionSignificance(fit, regions = gr, what = 'genotype') gr ## ----peaks-------------------------------------------------------------------- peaks <- callPeaks(fit, smooth = "genotype", threshold = 1) peaks peaks <- callPeaks(fit, smooth = "genotype", threshold = 1, peakType = "broad", cutoff = 0.75) peaks ## ----bed, eval=FALSE---------------------------------------------------------- # writeToBEDFile(peaks, file = 'myPeaks') ## ----sessInfo, results="asis", echo=FALSE------------------------------------- toLatex(sessionInfo()) ## ----resetOptions, results="hide", echo=FALSE--------------------------------- options(prompt="> ", continue="+ ")