\name{parseBPMAP}
\alias{parseBPMAP}
\title{ Returns information from a BPMAP file for select probes in an Affymetrix tiling array. }
\description{
parseBPMAP takes as input the path to an Affymetrix BPMAP file, and data on any genomic intervals of particular interest to the analysis.  

Returns a matrix, where rows represent each probe on the tiling array and columns representing the following information:
 "UniqueID"	-- A unique ID for each probeset of the form: "Chromosome-Start" (if makeUniqueID == TRUE)
 "CHR"   	-- Chromosome on which the probe is located
 "Start" 	-- Genomic position in the BPMAP file
 "PMX"  	-- X index of the spot on the tiling array
 "PMY"  	-- Y index of the spot on the tiling array
 "SEQ"  	-- Sequence of the probe (if readProbeSeq == TRUE)
 "iID"  	-- The ID of the interval in which this probe is located (if an interval was passed)

Note that passing a region of interest returns only probes in that genomic region.  If no region is specified, information is returned for all probes on the tiling array.
}
\usage{
parseBPMAP(filename, iID=NULL, iCHR=NULL, iSTART=NULL, iEND=NULL, recordIntervalIDs = FALSE, makeUniqueID = TRUE, readOnlyNCBI = TRUE, seqIndices = NULL, readProbeSeq = TRUE, verbose = 0)
}
\arguments{
  \item{filename}{ The path to the BPMAP file which describes the arrays specified in the cel files. }
  \item{iID}{ Vector of IDs for each interval specified. }
  \item{iCHR}{ Vector of chromosomes for each interval. }
  \item{iSTART}{ Integer vector of the interval start. }
  \item{iEND}{ Integer vector of the interval end. }
  \item{recordIntervalIDs}{ If TRUE, returns a column of the interval ID corresponding to each probe.  Requires use of interval data. }
  \item{makeUniqueID}{ If TRUE (default), returns a column of unique identifiers for each probe, of the form: "chr"-"start" }
  \item{readOnlyNCBI}{ If TRUE (default), returns ONLY probes that target NCBI sequences, TIGR and Affymetrix controls are ignored. }
  \item{seqIndices}{ If specified, reads only given portions of the BPMAP file (Expert ONLY). }
  \item{readProbeSeq}{ If TRUE, returns the first 25 bp of the probe sequence. }
  \item{verbose}{ if >= 1, returns varying amounts of output in the R window. }
}
\author{ Charles Danko }
\examples{
## Note that executing the following example requires a .bpmap file in the working directory.
## If one does not exist, the program will not execute.

## Identify a .bpmap file in the current working directory.
BPMAP <- dir(pattern=".bpmap");

## If one or more .bpmap file are present in the current working directory
## returns a list representation of information in the first .bpmap file.
if( NROW(BPMAP) > 0 ) {
  parseBPMAP(BPMAP[0]);
}
}
\keyword{ data }