Call and merge regions using joint posterior probabilities calculated by BAC.

Description

Call and merge regions using joint posterior probabilities calculated by BAC.

Usage

1
CallRegions(position,jointPP,cutoff=0.5,maxGap=500)

Arguments

position

A vector containing the probe genomic positions

jointPP

A vector containing the joint posterior probabilities as returned by BAC.

cutoff

The cutoff used to call regions.

maxGap

The maximum gap allowed between regions. Regions that are less than maxGap bps away will be merged.

Value

A vector containing the region index for each probe. Probes with the same positive index belong to the same region, whereas probe with index zero are background probes (not part of a bound region). These indices can be used to form a BED file, see example below.

Author(s)

Raphael Gottardo, raph@stat.ubc.ca

See Also

BAC

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Load the data
data(ER)
# Only select the first 5000 probes for speed-up
ER<-ER[1:5000,]
# Calculate the joint posterior probabilities
#Only use 100 iterations for speed up (You should use more! See default value) 
BAConER<-BAC(ER[,5:7], ER[,2:4], B=100,verbose=FALSE,w=5)
# For Regions using 0.5 cut-off for the joint posterior probabilities
ERregions<-CallRegions(ER[,1],BAConER$jointPP,cutoff=0.5,maxGap=500)
# Create the BED file
nRegions<-max(ERregions)
BED<-matrix(0,nRegions,4)
for(i in 1:nRegions)
{
BED[i,2:3]<-range(ER[ERregions==i,1])
#The score should be between 0 and 1000
BED[i,4]<-max(BAConER$jointPP[ERregions==i])*1000
}
BED<-data.frame(BED)
# The ER data is a subset of chr 21
BED[,1]<-"chr21"
names(BED)<-c("chrom","chromStart","chromEnd","Score")
# print it
print(BED)