\HeaderA{BAC}{Bayesian Analysis of ChIP-chip tiling arrays}{BAC}
\keyword{models}{BAC}
\begin{Description}\relax
Bayesian Analysis of ChIP-chip tiling arrays
\end{Description}
\begin{Usage}
\begin{verbatim}
BAC(C, I, B=15000,verbose=FALSE,w=5)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{C}] The matrix of control measurements. Rows correspond to probes and columns to samples.
\item[\code{I}] The matrix of IP measurements. Rows correspond to probes and columns to samples.
\item[\code{B}] Number of iterations used the MCMC. Default to 15000.
\item[\code{verbose}] Logical parameter. If TRUE, some progression 
\item[\code{w}] The window size. Default to 5. See details below for more about this parameter.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The window size should be calculated in function of the resolution and the shearing resolution. 
For example, for Affymetrix human tiling arrays, the shearing resolution is 500-1000bps, the tiling resolution is 35bps and the probe length is 25bps. 
Then one would expect a bound region to contain 500-1000/(35+25)~8-16 probes. Thus we decided to set w to 5. Note that the exact value of w is not crucial.
\end{Details}
\begin{Value}
The marginal posterior probabilities and the joint posterior probabilities computed from the Bayesian hierarchical model. 
We recommend using the joint posterior probabilities to call enriched regions.
\end{Value}
\begin{Author}\relax
Raphael Gottardo, \email{raph@stat.ubc.ca}
\end{Author}
\begin{SeeAlso}\relax
CallRegions
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# 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)
\end{ExampleCode}
\end{Examples}

