1.11.1 - 19 Jnuary 2009
- change to readIllumina() to allow new bead-level files to be handled by setting textType="_perBeadFile.txt"

1.9.13 - 19 October 2008
- changed depends 'affy' to suggests.
- replaced normalize.quantiles() with normalizeQuantiles() in normaliseIllumina() to avoid error message.

1.9.11 - 15 October 2008
- added 'SAM' argument to imageplot which inverts (vertically) the images for arrays from a SAM.  
Also changed the x and y coords so that BeadChip images have the an orientation which is consistent 
with the outlier plots (they were previously rotated 90 degrees clockwise compared to outlier plots).
- updated beadlevel.pdf and beadsummary.pdf vignettes and beadarray.rnw
- other modifications noted in svn message

1.9.10 - 14 October 2008
- renamed outlierplot and gradientplot to outlierPlot and gradientPlot to keep the naming consistent with other functions
- removed 'qcScores' and 'beadAnno' slots from BeadLevelList.  'qcScores' now stored in 'arrayInfo' slot 
- removed copying of BeadLevelList in setAnnotation
- removed unused 'plot' argument from probePairsPlot 
- removed line with 'method' from BGFilterWeighted (method not used in this function)
- remove +1 from line 286 [mad = mediansort(invadedE, nextslot - 1) + 1;] from BASH.c
- fixed typo - BL -> BLData in removeArrayMask
- added 'log' argument to outlierPlot to give chioce of scale (the summary output from 
this function - total number of outliers, number of low and high outliers is now on the 
scale specified by 'log' as well)
- added user guide for BASH (/inst/doc/BASH.pdf)
- option to view BASH.pdf added to beadarryUserGuide()
- added na.rm to median and mad calculation in calculateDetection function
- updated man pages to reflect these changes

1.9.6 - 1.9.9 Various changes noted in svn message

1.9.5 - 17 September 2008
- fixed typos and misorderings of function arguments in new .Rd files

1.9.4 - 5 September 2008
- Added masking functions: addArrayMask(), removeArrayMask(), clearArrayMask(), showArrayMask()
- Added BASH functions: BASH(), BASHCompact(), BASHDiffuse(), BASHExtended()
- Added bead image manipulation functions: generateE(), generateNeighbours(), BGFilter(), BGFilterWeighted(), chooseClusters(), closeImage(), denseRegions(), viewBeads(). (These are used extensively in the BASH functions.)
- setWeights() can now update multiple arrays, and there is a new option to combine weights instead of replacing
- createBeadSummaryData() outputs a warning if you use method = "illumina" on a BLData with altered weights. Several bugs involving weights fixed.

1.9.3 - 28 August 2008
- added weights support to getArrayData(), createBeadSummary(), readIllumina()
- new function setWeights()
- updated BLData.rda to include weights
- findAllOutliers now has a "usewts" option, and gives a warning when "what" is not sensible (e.g. what = "ProbeID")
- minor manual page edits

1.9.2 - 13 August 2008
- fixed bug in C code within createBeadSummaryData.c - function "binarySearch" failed to find some elements properly from time to time.

1.9.1 - 11 August 2008
- fixed bug in findAllOutliers() - indexes were incorrect when negative values were present and logs were taken.  Thanks to Jonathan Cairns for pointing this out.
- updated the beadarray vignette to include our BMC Research Notes paper.

1.7.16 - 22 July 2008
- changed axes in imageplot() to 0:nrows and 0:ncols (previously y axis was 0:1).

1.7.15 - 25 April 2008
- update DESCRIPTION file

1.7.14 - 22 April 2008
- added CITATION file to package

1.7.13 - 21 April 2008
- updated BeadSummaryExample.zip (removed ExampleScript.R) and BSData.rda
- updated beadarray.rnw, beadlevel.pdf and beadsummary.pdf
- updated the man pages
- changed accessor to vsn2 output from @hx to exprs() in normaliseSingleArray() used in readIllumina() and normaliseIllumina().
- added condition to plotMA() and plotXY() that 'array1' and 'array2' arguments must be different

1.7.12 - 18 April 2008
- removed unused 'header' argument from readBeadSummaryData() and readQC() and reordered other arguments.

1.7.11 - 15 April 2008
- added error message to readBeadSummaryData() which tells users when 'ProbeID' column can not be found and suggests a possible fix (change 'skip' or 'ProbeID' arguments).  Also gives a warning message when the column names of the exprs matrix can't be matched in the sampleSheet - if this is the case the sampleSheet is ignored.  Changed error message to a warning when number of arrays in dataFile and qcFile don't match.  Also check more carefully the consistency of the order and naming of arrays in dataFile and sampleSheet and qcFile (qcFile and sampleSheet skipped over if there is any ambiguity).  Added code to make colnames of exprs unique by adding .repX (rep for replicate and X an integer indicating the replicate number).  This can occur when arrays have the same label in the dataFile heading and causes a problem when assigning rownames of the phenoData object - rownames must be unique, and by default the column names of the exprs matrix are used to do this when no phenoData is supplied).
- normaliseIllumina():  Detection P values are now passed on to the LumiBatch object when transform="vst" is chosen (provided they are not all NA) so that they can be used in lumiT().
- added featureData information (probe IDs) to the BSData object generated by createBeadSummaryData()
- fixed bug in beadarrayUsersGuide()
- updated beadarray.rnw to mention new function for accessing documentation:  beadarrayUsersGuide()

1.7.10 - 14 April 2008
- default high colour in imageplot changed from green to blue.  Made a note of this in imageplot.Rd
- removed unused slots from ExpressionSetIllumina (NArrays, AVG_SD_Arrays and DiffScore)
- edited 'columns' arguments in readBeadSummaryData and readQC to no longer have NArrays and array_St_Dev items.  Also changed function to pad out columns which could not be found with NAs of the appropriate dimension.  Also added phenoData information when sampleSheet not supplied (column names of exprs matrix).  Also added stop() with message telling user to check their data or the 'skip' argument when no data is found in dataFile.
- added se.exprs assignment operator and commented out repeated lines in methods-ExpressionSetIllumina.R.  Also added more complete signature(object="", value="") in setMethod() declarations.  Also change assignment QC<- to QCInfo<- for consistency. Updated subsetting method for ExpressionSetIllumina.
- new function beadarayUsersGuide() [similar to limmaUsersGuide]
- NAMESPACE: now export NoBeads<- and Detection<-

1.7.9 - 8 April 2008
- fixed bug in readBeadSummaryData() introduced in 1.7.8.  Also added row.names=NULL argument to read.table() in readBeadSummaryData() and readQC()

1.7.8 - 19 March 2008
- added warning to readBeadSummaryData() when ProbeIDs non-unique and removed rows in question.  Updated help page to explain this.  Also set column names of exprs, se.exprs etc. matrices to be more sensible (removed parts of heading listed in 'column'.  Also added check that order of arrays and number of arrays is consistent between main data set (assayData slot) and controls (QC slot).
- did the same to readQC(), and added new arguments 'controlID' and 'quote' to make behaviour more consistent with readBeadSummaryData().  Removed 'controlID' and 'controlType' from columns argument.  Changes carried through to readBeadSummaryData() (i.e. rownames now set to exprs, se.exprs, etc).  Changed default skip from 7 to 8.  Updated help page.

1.7.7 - 17 March 2008
- fixed bug in createBeadSummaryData() which was assigning the annotation slot the newly created ExpressionSetIllumina to 'illuminaProbeIDs' irrespective of what it was already set to.
- simplified the checking around annoPkg in readIllumina() as well.
- added 'dec="."' and 'quote=""' arguments to readBeadSummaryData() and 'dec="."' argument to readQC().  Also changed default settings in read.table() call within this function (i.e. as.is=TRUE, check.names=FALSE, strip.white=TRUE, comment.char="", fill=TRUE added).  The exprs, se.exprs etc. values should now be stored as class 'matrix' rather than 'data.frame'.
- fixed bug in readQC() which was assigning items out of order when column names could not be found
- added what='beta' as an option in getArrayData().  Made changes to createBeadSummaryData() etc to allow 'beta' to be handled
- added ... argument to normaliseIllumina() to allow additional arguments to be passed to lumiT (if required).  Detection p-values are now passed on to the LumiBatch object when transform="vst".
- updated readBeadSummaryData(), getArrayData(), normaliseIllumina() etc. documentation to include new arguments/options

1.7.6 - 11 March 2008
- changed readIllumina() to stop over-riding of singleChannel=TRUE setting when both Red and Green images are present and useImages=TRUE.  Now a warning message is given telling the user that while Red images are present only the Green images will be read in (i.e. keeping singleChannel=TRUE).
- added new references to beadarray.rnw

1.7.5 - 4 March 2008
- replaced usage of now defunct reporterInfo and "reporterInfo<-" methods with fData and "fData" in setMethod("[", "ExpressionSetIllumina", ...)

1.7.4 - 29 February 2008
- fixed bug in readIllumina().  Assigning arrayInfo to BeadLevelList assumed array names ended in _row_col, which is not the case for Human/Mouse 8 chips, which don't have _col
- added offset argument to getVariance() to avoid very small variances (which will give large weights if used in the linear model).  Default value is 0.
- updated documentation for readBeadSummaryData() and getVariance()

1.7.3 - 13 February 2008
 - changed default ProbeID and qc.columns to ProbeID='ProbeID' and qc.columns=list(controlID="ProbeID", controlType="TargetID", exprs="AVG_Signal", Detection="Detection", Narrays="NARRAYS", se.exprs="BEAD_STDERR", NoBeads="Avg_NBEADS", arrayStDev="ARRAY_STDEV") respectively in readSummaryData(). 
 - added check to normaliseIllumina() to ensure method="vsn" is not combined with any transform (forces transform="none").  Message is given if this is the case.

1.7.2 - 12 November 2007
 - fixed bug in plotBeadDensities()

1.7.1 - 2 November 2007
 - fixed bug in createBeadSummaryData(). rownames are now assigned to se.exprs and NoBeads slots.
 - fixed bug in plotBeadIntensities().  Changed variable name of intensities from 'I' to 'intens' and now checks that there are 1 or more items for plotting.
 - fixed bug in plotBeadDensities() - when 'col' and 'arrays' was specified, lines weren't coloured correctly.
 - new arguments tiffExtGrn and tiffExtRed in readIllumina() allowing user to specify tiff extensions.  Previously assumed all tiffs ended in _Grn.tif or _Red.tif, however this is not always the case. 
 - updated readIllumina() and createBeadSummaryData() documentation 

1.6.0 - released 8 October 2007

1.5.16 - 28 September 2007
 - fixed bug in combine() for ExpressionSetIllumina-class (old reference to reporterInfo removed and method now exported properly).
 - change to C code in calculateBackground (readBeadImages.c) function.  If any of the lowest 5 background pixels are saturated, set background to zero, rather than take the average.
 - fixed bug in assignment of pData in readIllumina() when 'targets' have been specified.

1.5.15 - 27 September 2007
 - updated and renamed pdfs which provide example bead-level (beadlevel.pdf) and summary (beadsummary.pdf) analyses.

Version 1.5.14 - 24 September 2007
 - fixed bug in C code in calculateBackground (readBeadImages.c) function (was over-running end of array).  Also made backgroudSize adaptive (was set to fixed size of 17x17 pixels in C code) and is more careful when at an edge (previously set background to 700 if pixels went off the edge).
 - fixed bug in findAllOutliers() (introduced in 1.5.11 when && and || added to if statements.  Inadvertantly added to which at the end of findAllOutliers()) 
 - fixed bug in SAMSummary() BeadChipSummary() - couldn't handle negative summary values and removed unknown 'v' variable assigned when missing_arrays argument was specified.  Removed missing_arrays argument, and added arguments 'samID', 'chipID' and 'stripsPerChip' to allow user to choose which SAM/BeadChip to plot and specify the correct number of strips per chip.  Function is more careful about plotting the data in the appropriate row/column position, and returns a message it the user clicks out of range.  Missing arrays are coloured white.
- removed unknown 'v' variable assigned when missing_arrays argument was specified in plotOnSAM().
- getArrayData() now checks for out of range or NA 'array' argument and returns a message
- createBeadSummaryData() checks for arraynm in full list of array names in case 'array' has not been specified as an integer.

Version 1.5.13 - 20 September 2007
 - example BLData.rda object in package updated

Version 1.5.12 - 18 September 2007
 - phenoData in BLData object created by readIllumina() contains 1 column 'arrayName' when no targets information is set.
 - example BLData.rda object in package updated with phenoData information.

Version 1.5.11 - 17 September 2007
 - removed returnTIFF.c (not used anymore).
 - NAs or Infs in imageplot() and createBeadSummaryData() now excluded (previously set to zero).
 - log2.na() (not exported) used in getArrayData() to avoid throwing up a
 warning message when 0's or negative values are log2.
 - when useImages=FALSE in readIllumina(), x-, y-coordinates read from file are
 now adjusted to start at 0,0 (useful for image plotting).
 - readBeadSummaryData() has new argument  ... to take additional
 arguments to read.table (quote="", fill=TRUE sometimes needed for BeadStudio
 3 data). Reverses changes to readBeadSummaryData made in 1.5.10 and 1.5.7.
 - new argument 'legend' in imageplot() to display range and zlim on plot.
 - new argument 'arrays' in arrayNames() to get the name of a selected array/s.
 - new function getVariance() returns the variance for each bead-type on each
 array from an ExpressionSetIllumina object (calculated from se.exprs and
 NoBeads slots).
 - SnpSetIllumina doesn't store se.exprs for each channel - removed code
 which assigns the se.exprs to a SnpSetIllumina object in
 createBeadSummaryData()
 - fixed broken link in BSData.Rd help page.
 - default annoPkg argument in readIllumina() is "illuminaProbeIDs" (not actually an annotation package, but is there to tell the user that ProbeIDs are used to identify each bead type (not Illumina IDs available in existing annotation packages)
 - createBeadSummaryData(): The phenoData slot is set to have 1 column 'sampleName' which is set to the array names if no phenoData information has been set.  sampleNames are set to either the 'sampleName' from phenoData, or the array names.

Version 1.5.10 - 3 September 2007
 - added new options to createBeadSummaryData (see "method" and "trim"
 arguments) to allow mean, median, trimmed mean or winsorized means to 
 be calculated to summarise the values from each beat type on an array.  
 createBeadSummaryData.c code edited to allow new options
 - "which" argument changed to "what" in getArrayData().  Also added new
 arguments ("method" and "trim") for use by createBeadSummaryData when 
 what="residG", "residR" or "residM" to allow control over summarisation 
 methods. Updated arguments of getArrayData() when called in other bead 
 level plotting functions.
 - Added new arguments to boxplotBeads, imageplot, plotBeadDensities, etc 
 to accept these new arguments to getArrayData (when whatToPlot="residG", 
 "residR" or "residM")
 - added FILL=TRUE to read.table() used in readBeadSummaryData() in response
 to message on BioC list from Ina Hoeschele about error trying to read in 
 BeadStudio version 3 data caused by line having incorrect number of entries
 - updated help pages

Version 1.5.9 - 1 August 2007
 - changed default quote argument in readBGX() to quote="" (i.e. disabled)
 - updated readBGX() man page

Version 1.5.8 - 31 July 2007
 - normaliseIllumina.RD added
 - spelling mistake in message in readIllumina() corrected
 - corrected plot orientation and setting of zlims in imageplot()
 - corrected plot orientation in plotBeadLocations()
 - createBeadSummaryData() NA or Inf values replaced by 0 when log=TRUE/FALSE (previously only occurred when log=TRUE)
 - plotBeadDensities() now allows different colours for each channel plotted

Version 1.5.7 - 23 July 2007
 - normaliseIllumina, offers normalisation for ExpressionSetIllumina objects
 - readBeadSummaryData, default options changed to handle BeadStudio 3 output (skip=8, added 'quote=""' to read.table (default 'quote'
 caused R to hang for some BeadStudio version 3 output))
 sep arguments to be correct for version 3 outputetc.)
 - vsn2 used in normalizeSingleArray, instead of vsn
 - displayTIFFImage and plotCoord removed
 - plotMA and plotXY updated to now check for and exclude missing values from plotting
 - createBeadSummaryData now checks that the arrays it combines (when 'imagesPerArray=2') are the right ones.  New argument 'what', which allows log-ratios (M), average intensites (A), red (R), green (G) or red and green (RG) intensities to be summarised.  Default 'imagesPerArray' set to 1 instead of 2.
 - getArrayData:  typos in error messages fixed.  New 'which' option 'residM'
 top get residuls from log-ratios.
 - readIllumina: default background correction option changed to 'subtract'
 - imageplot: changed default nrow and ncol to 100 (was 18 and 2 respectively)
 - beadResids() simplified after changes to getArrayData
 - updated man pages

Version 1.3.1 - 12 Feb 2007

BeadLevelList
 - changed structure to accommodate varying numbers of beads per array
 - new slots 'beadData' (environment) which stores raw data in data.frames,
 one for each array, 'phenoData' (AnnotatedDataFrame) to store targets/sample 
 information, 'arrayInfo' (list) which stores array names, number of beads 
 and other array information, and 'scanMetrics' which stores scanner setting 
 information
 - updated plotting functions to handle data in new structure
 - updated createBeadSummaryData to handle new structure

New functions
 - plotRG, for two-colour data
 - boxplotBeads, to do boxplots of the raw intensities
 - getArrayData, numBeads, arrayNames for use on BeadLevelList data

Changes to C code
 - commented out 'bead is too close to edge, ignoring' warning in readBeadimages
 - changed default setting of BLImagePlot to take log2 of the data passed to it
 - findAllOutliers now takes 'nmads' argument to select outliers
 - createBeadSummary also accepts 'nmads'

Data
 - new BLData object (4 arrays from a SAM)
