permTest: Permutation Test

View source: R/permTest.R

permTestR Documentation

Permutation Test

Description

Performs a permutation test to see if there is an association between a region set and some other feature using an evaluation function.

Usage

permTest(A, ntimes=100, randomize.function, evaluate.function, alternative="auto", min.parallel=1000, force.parallel=NULL, randomize.function.name=NULL, evaluate.function.name=NULL, verbose=FALSE, ...)

Arguments

A

a region set in any of the accepted formats by toGRanges (GenomicRanges, data.frame, etc...)

ntimes

number of permutations

randomize.function

function to create random regions. It must return a set of regions.

evaluate.function

function to search for association. It must return a numeric value.

alternative

the alternative hypothesis must be one of "greater", "less" or "auto". If "auto", the alternative will be decided depending on the data.

min.parallel

if force.parallel is not specified, this will be used to determine the threshold for parallel computation. If length(A) * ntimes > min.parallel, it will activate the parallel computation. Single threaded otherwise.

force.parallel

logical indicating if the computation must be paralelized.

randomize.function.name

character. If specified, the permTestResults object will have this name instead of the name of the randomization function used. Useful specially when using unnamed anonymous functions.

evaluate.function.name

character. If specified, the permTestResults object will have this name instead of the name of the evaluation function used. Useful specially when using unnamed anonymous functions.

verbose

a boolean. If verbose=TRUE it creates a progress bar to show the computation progress. When combined with parallel computation, it might have an impact in the total computation time.

...

further arguments to be passed to other methods.

Details

permTest performs a permutation test of the regions in RS to test the association with the feature evaluated with the evaluation function. The regions are randomized using the randomization.function and the evaluation.function is used to evaluate them. More information can be found in the vignette.

Value

A list of class permTestResults containing the following components:

  • pval the p-value of the test.

  • ntimes the number of permutations.

  • alternative a character string describing the alternative hypotesis.

  • observed the value of the statistic for the original data set.

  • permuted the values of the statistic for each permuted data set.

  • zscore the value of the standard score. (observed-mean(permuted))/sd(permuted)

  • randomize.function the randomization function used.

  • randomize.function.name the name of the randomization used.

  • evaluate.function the evaluation function used.

  • evaluate.function.name the name of the evaluation function used.

References

Davison, A. C. and Hinkley, D. V. (1997) Bootstrap methods and their application, Cambridge University Press, United Kingdom, 156-160

See Also

overlapPermTest

Examples

genome <- filterChromosomes(getGenome("hg19"), keep.chr="chr1")
A <- createRandomRegions(nregions=20, length.mean=10000000, length.sd=20000, genome=genome, non.overlapping=FALSE) 
B <- c(A, createRandomRegions(nregions=10, length.mean=10000, length.sd=20000, genome=genome, non.overlapping=FALSE))

 
pt2 <- permTest(A=A, B=B, ntimes=10, alternative="auto", verbose=TRUE, genome=genome, evaluate.function=meanDistance, randomize.function=randomizeRegions, non.overlapping=FALSE)
summary(pt2)
plot(pt2)
plot(pt2, plotType="Tailed")


bernatgel/regioneR documentation built on Sept. 10, 2023, 12:03 a.m.