Learn R Programming

RIPSeeker (version 1.12.0)

logScoreWithControl: Compute RIPScore based on RIP and control posteriors and test for significance

Description

Compute the RIPScore using both RIP and control posteriors for each bins, merge and summarize the scores for the merged bins, and finally compute the p-value and adjusted p-value for the summary RIPScore.

Usage

logScoreWithControl(nbhGRRIP, nbhGRCTL, padjMethod = "BH", getControlStats = TRUE)

Arguments

nbhGRRIP
GRanges object for the RIP library created from mainSeek containing the posterior probabilities of the hidden states for each observed read count.
nbhGRCTL
An optional arugment as a GRanges object for the control library created from mainSeek containing the posterior probabilities of the hidden states for each observed read count.
padjMethod
Method used to adjust multiple testing performed in p.adjust (Default: "BH").
getControlStats
Binary indicator to whether return statistics including computed for the control library alone. If TRUE, then all control specific score columns will be reported with a prefix "CTL".

Value

  • GRanges of merged bins with values slot saved for RIPScore (lodOdd), p-value (pval), adjusted p-value (pvalAdj) for RIP and optionally for control.

Details

The RIPScore is compupted in computeLogOdd as the log odd ratio of the posterior for the RIP state ($z_{i} = 2$) over the posterior for the background state ($z_{i} = 1$) in RIP library subtracted by the log odd ratio computed from the control library. The adjacent bins with hidden states predicted by nbh_vit as the enriched state (corresponding to the NB with larger mean) are merged. The RIPSscores are averaged over the merged bins. To assess the statistical significance of the RIPScore for each region, we assume that the RIPScore follows a Gaussian (Normal) distribution with mean and standard deviation estimated using the RIPScores over all of the bins. The rationale is based on the assumption that most of the RIPScores correspond to the background state and together contribute to a stable estimate of the test statistics (TS) and p-value computed using the R built-in function pnorm. The p-value is adjusted by p.adjust with BH method by default. The same procedure is applied optionally to the control library.

See Also

logScoreWithoutControl, seekRIP, computeLogOdd, scoreMergedBins

Examples

Run this code
if(interactive()) { # check the example in seekRIP
# Retrieve system files
extdata.dir <- system.file("extdata", package="RIPSeeker") 

bamFiles <- list.files(extdata.dir, ".bam$", recursive=TRUE, full.names=TRUE)

bamFiles <- grep("PRC2", bamFiles, value=TRUE)

# Parameters setting
binSize <- 1e5							# use a large fixed bin size for demo only
multicore <- FALSE					# use multicore
strandType <- "-"						# set strand type to minus strand

################ run main function for HMM inference on all chromosomes ################
mainSeekOutputRIP <- 
    mainSeek(bamFiles=grep(pattern="SRR039214", 
    bamFiles, value=TRUE, invert=TRUE),
		binSize=binSize, strandType=strandType, 		
		reverseComplement=TRUE, genomeBuild="mm9",
		uniqueHit = TRUE, assignMultihits = TRUE, 
		rerunWithDisambiguatedMultihits = FALSE,				
		multicore=multicore, silentMain=FALSE, verbose=TRUE)
		
mainSeekOutputCTL <- mainSeek(bamFiles=grep(pattern="SRR039214", 
    bamFiles, value=TRUE, invert=FALSE),
		binSize=binSize, strandType=strandType, 		
		reverseComplement=TRUE, genomeBuild="mm9",
		uniqueHit = TRUE, assignMultihits = TRUE, 
		rerunWithDisambiguatedMultihits = FALSE,				
		multicore=multicore, silentMain=FALSE, verbose=TRUE)


################ Compute log score and test for significance WITH control ################
ripGR.wicontrol <- logScoreWithControl(mainSeekOutputRIP$nbhGRList$chrX, mainSeekOutputCTL$nbhGRList$chrX)

ripGR.wicontrol
}

Run the code above in your browser using DataLab