Last data update: 2014.03.03
R: Circular Randomize Regions
circularRandomizeRegions R Documentation
Circular Randomize Regions
Description
Given a set of regions A and a genome, this function returns a new set of regions created by applying a random
spin to each chromosome.
Usage
circularRandomizeRegions(A, genome="hg19", mask=NULL, max.mask.overlap=NULL, max.retries=10, verbose=TRUE, ...)
Arguments
A
The set of regions to randomize. A region set in any of the accepted formats by toGRanges
(GenomicRanges
, data.frame
, etc...)
genome
The reference genome to use. A valid genome object. Either a GenomicRanges
or data.frame
containing one region per whole chromosome or a character uniquely identifying a genome in BSgenome
(e.g. "hg19", "mm10" but not "hg"). Internally it uses getGenomeAndMask
.
mask
The set of regions specifying where a random region can not be (centromeres, repetitive regions, unmappable regions...). A region set in any of the accepted formats by toGRanges
(GenomicRanges
,data.frame
, ...). If NULL
it will try to derive a mask from the genome (currently only works is the genome is a character string) and if NA
it will explicitly give an empty mask.
max.mask.overlap
numeric value
max.retries
numeric value
verbose
a boolean.
...
further arguments to be passed to or from methods.
Details
This randomization strategy is useful when the spatial relation between the regions in the RS is important and has to be conserved.
Value
It returns a GenomicRanges
object with the regions resulting from the randomization process.
See Also
randomizeRegions
, toDataframe
, toGRanges
, getGenome
, getMask
, getGenomeAndMask
, characterToBSGenome
, maskFromBSGenome
, resampleRegions
, createRandomRegions
Examples
A <- data.frame("chr1", c(1, 10, 20, 30), c(12, 13, 28, 40))
mask <- data.frame("chr1", c(20000000, 100000000), c(22000000, 130000000))
genome <- data.frame(c("chr1", "chr2"), c(1, 1), c(180000000, 20000000))
circularRandomizeRegions(A)
circularRandomizeRegions(A, genome=genome, mask=mask, per.chromosome=TRUE, non.overlapping=TRUE)
Results
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(regioneR)
Loading required package: memoise
Loading required package: GenomicRanges
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
rbind, rownames, sapply, setdiff, sort, table, tapply, union,
unique, unsplit
Loading required package: S4Vectors
Loading required package: stats4
Attaching package: 'S4Vectors'
The following objects are masked from 'package:base':
colMeans, colSums, expand.grid, rowMeans, rowSums
Loading required package: IRanges
Loading required package: GenomeInfoDb
Loading required package: BSgenome
Loading required package: Biostrings
Loading required package: XVector
Loading required package: rtracklayer
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/regioneR/circularRandomizeRegions.Rd_%03d_medium.png", width=480, height=480)
> ### Name: circularRandomizeRegions
> ### Title: Circular Randomize Regions
> ### Aliases: circularRandomizeRegions
>
> ### ** Examples
>
> A <- data.frame("chr1", c(1, 10, 20, 30), c(12, 13, 28, 40))
>
> mask <- data.frame("chr1", c(20000000, 100000000), c(22000000, 130000000))
>
> genome <- data.frame(c("chr1", "chr2"), c(1, 1), c(180000000, 20000000))
>
> circularRandomizeRegions(A)
GRanges object with 4 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 [83203907, 83203918] *
[2] chr1 [83203916, 83203919] *
[3] chr1 [83203926, 83203934] *
[4] chr1 [83203936, 83203946] *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
>
> circularRandomizeRegions(A, genome=genome, mask=mask, per.chromosome=TRUE, non.overlapping=TRUE)
GRanges object with 4 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 [83057189, 83057200] *
[2] chr1 [83057198, 83057201] *
[3] chr1 [83057208, 83057216] *
[4] chr1 [83057218, 83057228] *
-------
seqinfo: 1 sequence from an unspecified genome; no seqlengths
>
>
>
>
>
>
> dev.off()
null device
1
>