Learn R Programming

mosaics (version 2.10.0)

filterPeak: Filter out potentially false positive peaks

Description

Filter out potentially false positive peaks from MosaicsPeak class object, which is a peak calling result.

Usage

filterPeak( object, ... ) "filterPeak"( object, minSummitQuantile=0.01, minRead=10, FC=50, minSignal = 20, minLen = 200, normC=NA, parallel=FALSE, nCore=8 )

Arguments

object
Object of class MosaicsPeak, a peak list object obtained using either functions mosaicsPeak or mosaicsPeakHMM.
minSummitQuantile
Parameter for the filtering step #1. Peaks are filtered out if signal strengths at summits < minSummitQuantile quantile of signal strengths at summits across all the peak regions.
minRead
Parameter for the filtering step #1. Peaks are filtered out if the number of reads in the peak region < minRead.
FC
Parameter for the filtering step #1. Peaks are filtered out if the improvement of ChIP over matched control < FC.
minSignal
Parameter for the filtering step #2. Peaks are filtered out if signal strengths at summits <= minSignal.
minLen
Parameter for the filtering step #2. Peaks are filtered out if their lengths <= minLen.
normC
Normalizing constant. If not provided, normC is estimated as ratio of sequencing depth of ChIP over matched control samples.
parallel
Utilize multiple CPUs for parallel computing using "parallel" package? Possible values are TRUE (utilize multiple CPUs) or FALSE (do not utilize multiple CPUs). Default is FALSE (do not utilize multiple CPUs).
nCore
Number of CPUs when parallel computing is utilized.
...
Other parameters to be passed through to generic filterPeak.

Value

Construct MosaicsPeak class object.

Details

filterPeak filters out potentially false positive peaks, based on signal strengths and peak lengths. While filterPeak can be applied to a peak list object obtained using either functions mosaicsPeak or mosaicsPeakHMM, filterPeak is developed and tested mainly for peak lists from MOSAiCS-HMM model (i.e., from function mosaicsPeakHMM). Note that extractReads should be run first because filterPeak is used.

References

Kuan, PF, D Chung, G Pan, JA Thomson, R Stewart, and S Keles (2011), "A Statistical Framework for the Analysis of ChIP-Seq Data", Journal of the American Statistical Association, Vol. 106, pp. 891-903.

Chung, D, Zhang Q, and Keles S (2014), "MOSAiCS-HMM: A model-based approach for detecting regions of histone modifications from ChIP-seq data", Datta S and Nettleton D (eds.), Statistical Analysis of Next Generation Sequencing Data, Springer.

See Also

mosaicsPeak, mosaicsPeakHMM, extractReads, findSummit, adjustBoundary, MosaicsPeak.

Examples

Run this code
## Not run: 
# library(mosaicsExample)
# 
# constructBins( infile=system.file( file.path("extdata","wgEncodeBroadHistoneGm12878H3k4me3StdAlnRep1_chr22_sorted.bam"), package="mosaicsExample"), 
#     fileFormat="bam", outfileLoc="~/", 
#     byChr=FALSE, useChrfile=FALSE, chrfile=NULL, excludeChr=NULL, 
#     PET=FALSE, fragLen=200, binSize=200, capping=0 )
# constructBins( infile=system.file( file.path("extdata","wgEncodeBroadHistoneGm12878ControlStdAlnRep1_chr22_sorted.bam"), package="mosaicsExample"), 
#     fileFormat="bam", outfileLoc="~/", 
#     byChr=FALSE, useChrfile=FALSE, chrfile=NULL, excludeChr=NULL, 
#     PET=FALSE, fragLen=200, binSize=200, capping=0 )
# 
# binHM <- readBins( type=c("chip","input"),
#     fileName=c( "~/wgEncodeBroadHistoneGm12878H3k4me3StdAlnRep1_chr22_sorted.bam_fragL200_bin200.txt",
#     "~/wgEncodeBroadHistoneGm12878ControlStdAlnRep1_chr22_sorted.bam_fragL200_bin200.txt" ) )
# fitHM <- mosaicsFit( binHM, analysisType="IO", bgEst="rMOM" )
# hmmHM <- mosaicsFitHMM( fitHM, signalModel = "2S", 
#   init="mosaics", init.FDR = 0.05, parallel=TRUE, nCore=8 )
# peakHM <- mosaicsPeakHMM( hmmHM, FDR = 0.05, decoding="posterior",
#   thres=10, parallel=TRUE, nCore=8 )
# 
# peakHM <- extractReads( peakHM,
#   chipFile=system.file( file.path("extdata","wgEncodeBroadHistoneGm12878H3k4me3StdAlnRep1_chr22_sorted.bam"), package="mosaicsExample"),
#   chipFileFormat="bam", chipPET=FALSE, chipFragLen=200,
#   controlFile=system.file( file.path("extdata","wgEncodeBroadHistoneGm12878ControlStdAlnRep1_chr22_sorted.bam"), package="mosaicsExample"), 
#   controlFileFormat="bam", controlPET=FALSE, controlFragLen=200, parallel=TRUE, nCore=8 )
# peakHM <- findSummit( peakHM, parallel=TRUE, nCore=8 )
# peakHM <- adjustBoundary( peakHM, parallel=TRUE, nCore=8 )
# peakHM <- filterPeak( peakHM, parallel=TRUE, nCore=8 )
# ## End(Not run)

Run the code above in your browser using DataLab