Hi,

aroma.affymetrix v1.1.0 is available.  Please update by:

  source("http://www.braju.com/R/hbLite.R";)
  hbInstall("aroma.affymetrix")

Since the previous release back in January we have been working hard
to improve the software further.  All the details are at the end of
this message.  Worth mentioning are a few new models and methods.  For
instance, the background correction methods available in the limma
package are now available via the NormExpBackgroundCorrection class.
The GcRmaBackgroundCorrection class was updated to work also with
newer arrays such as Gene 1.0 ST - there was also an important bug fix
for this class (see below).  Additional support for tiling arrays has
been added via classes MatNormalization and MatSmoothing.  In addition
to this, we are adding a broader foundation for future methods and
models, which will be announced later.

There were actually not too many bugs this time around and most of
them where related to changes in external packages.  However, to avoid
being bitten by bugs - in our or others' code - we keep improving the
exception handling.  As always, the idea is to detect and report on
abnormalities - in arguments, data, as well as intermediate and final
results - as soon as possible.

I would also like to share with you that the aroma.affymetrix package
is up for more serious tasks.  In The Cancer Genome Atlas (TCGA)
project it has already been used extensively for exon array analysis,
and it is now being used together with the aroma.cn package for
multi-platform copy-number analysis.  Work is also in progress for
using it's core features for analyzing non-Affymetrix methylation
data.  Having said that, I'd like to reveal that we are taking the
first serious (though stumbling) steps toward support other platforms
than just Affymetrix.  It won't happen soon, but you should know we
are on it.

Also, thanks to everyone helping out answering questions on the
mailing list - keep up the good work.  I encourage everyone to pitch
in if you think you can contribute.  We are lacking behind on
documentation and vignettes - if you have something useful to share,
please do so.

Have a good one,

Henrik with co-developers

PS. Google seems to have removed the faulty "spam ban" on our Google
Group - everything is back to normal including the mailing list.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UPDATES to aroma.affymetrix:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version: 1.1.0 [2009-05-29]
o New public release. No updates.
o Package passes R CMD check on R v2.9.0 and all redundancy tests.


Version: 1.0.8 [2009-05-27]
o SPEED UP: Now process() of MatSmoothing is several times faster
  due to code optimization and utilizing of the new 'gsmoothr' package.
o ROBUSTNESS: Updated process() of MatSmoothing to write first to
  a temporary file which is then renamed.  This lower the risk for
  corrupt output files due to processing interrupts.
o ROBUSTNESS: Now the constructor of MatSmoothing does more tests
  of the validity of the 'design' matrix argument.
o Now the chip type validation of fromFiles() for AffymetrixCelSet
  is aware of tags in the chip type of the CEL files. This may happen
  if custom CDFs are used are their full chip types are stored in the
  CEL files, e.g. Hs_PromPR_v02,Harvard,ROIs,unique.


Version: 1.0.7 [2009-05-20]
o Now readDataUnitChromosomePosition() for AffymetrixNetAffxCsvFile
  also recognize 'M' for chromosome 25.
o GENERALIZATION: Updated fitCnProbes() of UnitModel to identify
  single-cell CN units, and ignore multi-cell CN units, which will
  be process like the other units.  By not assuming single-cell CN
  units, this methods should also apply to other CDFs, e.g. the
  new Cytogenetics_Array.
o CLEAN UP: Moved the Explorer class and its support files under
  inst/ from aroma.affymetrixd to aroma.core.
o CLEAN UP: Moved the AromaCellPositionFile class from
  aroma.affymetrix to aroma.core.
o CLEAN UP: Removed obsolete patch of affxparser cdfMergeStrands().
o EXCEPTION HANDLING: Methods that creates/modifies files will give
  a clear error message if the file permissions does not allow it.
o ROBUSTNESS: Now all arguments that are expected to be exactly one
  character string (not an empty vector or a vector of length two)
  are asserted to be that too.  This closes some potential bugs.
o BUG FIX: getCdf() for AffymetrixProbeTabFile would fail if the
  CDF had no tags.
o BUG FIX: fit() for CrlmmModel was calling oligo::getM(), but that
  method was later moved to oligoClasses.  Now we just do getM().
o Package passes R CMD check on R v2.9.0.


Version: 1.0.6 [2009-05-16]
o BUG FIX: In the most recent version of oligo, its justSNPRMA()
  requires that oligo is loaded, i.e. oligo::justSNPRMA() will
  not work.  Updated justSNPRMA() for character to require oligo.
o CLEAN UP: Generalized CopyNumberSegmentationModel such that
  subclasses no longer have to implement fitOne(), but instead
  only getFitFunction(), which should return a segmentByNnn()
  function for the RawCopyNumbers class.
o CLEAN UP: Moved all drawCnLevels(), extractCopyNumberRegions()
  and extractRawCopyNumbers() [for DNAcopy, HaarSeg and profileCGH]
  to aroma.core v1.0.6 (will eventually end up in aroma.cn).
o CLEAN UP: Removed obsolete fitGlad() for CnChipEffect{File|Set}.


Version: 1.0.5 [2009-05-10]
o BETA: Updated several methods of the package to handle the new
  way getOutputDataSet() of AromaTransform scans and loads
  data sets.  This new way is the first step towards supporting
  output directories that contains more data files than the
  input data set, which for instance can occur if the same
  data set is split up and processed in subsets.  The new
  approach will also try to order the output files accordingly
  with the input files.
o Added readSequenceDataFrame() for AffymetrixProbeTabFile.
o Updated getFitUnitGroupFunction() of RmaPlm to work with the
  new oligo v1.7.19 as well.
o CLEAN UP: computeAffinities() of AffymetrixCdfFile loaded the
  'matchprobes' package, but never used it.
o CLEAN UP: Now computeAffinities() of AffymetrixCdfFile uses
  the AffymetrixProbeTabFile class to read probe sequences.
o CLEAN UP: Now findByChipType() of AffymetrixProbeTabFile only
  search according to "modern" rules.  The by now really old
  alternative search rules have been made deprecated, i.e. it
  still uses those but, if a file is found, it gives an error
  saying that the the method is outdated.  This should not
  affect anyone these days, but just in case, it is included.
o Package passes R CMD check on R v2.9.0.
o Package passes redundancy tests.


Version: 1.0.4 [2009-04-16]
o BETA: Added NormExpBackgroundCorrection which does background
  correction according to the normal exponential model. It
  utilizes the limma package for this. The default settings give
  identical results as RmaBackgroundCorrection, which uses affy.
o Made several modifications to computeAffinities() for
  AffymetrixCdfFile which allows us to compute affinities also
  for PM-only chip types, e.g. Gene 1.0 ST arrays: (i) added a
  different stream for PM-only (with NCs), (ii) left the PM+MM
  array code mostly untouched, and (iii) fixed some assumptions
  about the columns of the probe_tab file.
o BUG FIX: The GcRmaBackgroundCorrection method would mix up
  PMs and MMs in the model estimation. This bug was introduced
  in aroma.affymetrix v0.3.4 (January 20, 2007). It was located
  to the internal bgAdjustGcrma() method.


Version: 1.0.3 [2009-03-22]
o BETA: Added GcContentNormalization2 which extends the generic
  AdditiveCovariateNormalization class.
o BETA: Added abstract AdditiveCovariateNormalization.
o BETA: Added AromaUnitGcContentFile and AromaUgcFile to hold GC contents.


Version: 1.0.2 [2009-02-22]
o Added getCdfBin() and getChipType() to DChipDcpSet.
o Added findByChipType() and byChipType() to DChipCdfBinFile.
  Added argument fullname=TRUE to getChipType() of DChipCdfBinFile.
o Added exportTotalCnRatioSet() to AffymetrixCnChpSet.
o Wherever argument 'ram' exists, it defaults to the value of a
  global settings.  To change the default, do for instance
  setRam(aroma.affymetrix, 10).
o CLEAN UP: Removed the implementation of byChipType() for the
  AromaUnitTabularBinaryFile class that would scan annotationData/
  for matching CDFs before deciding which file to use.  That class
  should not depend on a specific platform.  Now the implementation
  is solely in the aroma.core package.
o CLEAN UP: Removed deprecated argument 'moreUnits' of fit() of
  ProbeLevelModel.  Use argument 'ram' instead.


Version: 1.0.1 [2009-02-13]
o Added getAromaUnit{Total|FracB}CnFileSet() to SnpChipEffectSet, which
  uses protected exportTotalAndFracB() to SnpChipEffect{File|Set}.
o ROBUSTNESS: Added support for optional validation/selection by the
  number of units/cells to all static byChipType() methods.  This is
  done by specifying argument nbrOfUnits/nbrOfCells.
o CLEAN UP: Suppressing warnings about "truncating string with
  embedded nul" in rawToChar() when using affxparser::readCcgHeader().
o CLEAN UP: Cleaned up the MatSmoothing class.
o CLEAN UP: Cleaned up the AffymetrixCelSetTuple class.
o BUG FIX: setMergeStrands() of SnpPlm and setCombineAlleles() of
  CnPlm did not update the setting of the PLM itself, only the
  settings of the underlying parameter files.
  SnpPlm itself, only only the underlying parameter files.
  Added getMergeStrands() to SnpPlm and getCombineAlleles() to CnPlm.
o Package pass R CMD check and all redundancy tests.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UPDATES to aroma.core:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version: 1.1.0 [2009-05-29]
o New public release. No updates.
o Package passes R CMD check on R v2.9.0 and all redundancy tests.


Version: 1.0.8 [2009-05-25]
o GENERALIZATION: The AromaTransforms class was generalized further
  to handle cases where the number of output files does not map
  one to one to the input files.


Version: 1.0.7 [2009-05-18]
o Added extractRawAlleleBFractions() for AromaUnitFracBCnBinaryFile.
o Added exportFracBDiffSet() for AromaUnitFracBCnBinarySet.
o Moved the Explorer class and its support files under inst/ from
  aroma.affymetrix to aroma.core.
o Moved the AromaCellPositionFile class from aroma.affymetrix
  to aroma.core.
o ADDED: Now all segmentByNnn() for RawGenomicSignals also returns
  so called 'aromaEstimates', which are additional parameter
  estimates, e.g. robust estimates of the standard deviation of
  all full-resolution CNs as well as per identified region.
o CLEAN UP: Moved all file set specific classes and methods to
  the new R.filesets package.
o MEMORY OPTIMIZATION: Where ever possible/applicable, we now use
  Arguments$getNumerics(), which, in R utils v1.1.5 and new, corces
  to doubles only if the input is not already doubles.  This will
  lower the memory usage in some cases since an integers use 4 bytes
  and doubles 8 bytes.  This also save disk space if object is saved
  to disk, e.g. a DNAcopy fit object with integer genomic positions
  instead of double ones, save approx 5-7% disk space.
o ROBUSTNESS: Now allocate() for AromaTabularBinaryFile first allocates
  a temporary file which is then renamed.  This makes the file allocation
  more atomic, and therefore less error prone to interrupts etc.
o ROBUSTNESS: Now indexOf() for UnitNamesFile assert that exactly one
  of the 'pattern' and 'names' arguments is given.  It also gives an
  informative error message if 'pattern' is a vector.
o ROBUSTNESS: Now all arguments that are expected to be exactly one
  character string (not an empty vector or a vector of length two)
  are asserted to be that too.  This closes some potential bugs.
o EXCEPTION HANDLING: All methods that modifies an existing file, are
  now asserting that the file permissions allow modifying it, and if not
  gives a clear error message that this is the case.
o BUG FIX: allocateFromUnitNamesFile() for AromaUnitSignalBinaryFile
  would not call generic allocate() but the one for this class.
o BUG FIX: extractMergedRawCopyNumbers(..., unshift=TRUE) would estimate
  the relative shifts between platforms using smoothed CNs over the
  genomic region defined by the first data set.  Now it is done over the
  region defined by the union of all data sets.  The impact of this
  bug should be neglectable or zero.


Version: 1.0.6 [2009-05-14]
o Now binnedSmoothing() of RawGenomicSignals uses weighted estimates
  (by default) if weights exists.
o Added RawAlleleBFractions() extending RawGenomicSignals.
o Added extractCopyNumberRegions() for profileCGH, DNAcopy, and
  HaarSeg segmentation object. Before they were in aroma.affymetrix.
o Added segmentByCBS(), segmentByGLAD(), and segmentByHarSeeg()
  to RawGenomicSignals, which all support weights if the underlying
  segmentation method does.  To date, it is only CBS and HaarSeg
  that supports weights.  These methods also support memoization.
o Added extractRegion() to RawGenomicSignals.
o Added getWeights() and hasWeights() to RawGenomicSignals.
o Added {add,subtract,multiply,divide}By() for RawGenomicSignals all
  utilizing support method applyBinaryOperator().
o ALPHA: Added classes GenericDataFile{Set}List.
o ALPHA: Added class AromaUnitTotalCnBinaryFileList with methods
  extractRawCopyNumbers() and extractMergedRawCopyNumbers().
o SPEED UP: Now TextUnitNamesFile caches all unit names in memory.
o BUG FIX: Now aroma.core works with the IRanges and grid packages,
  regardless on the order they were loaded.
o BUG FIX: getPlatform() of TextUnitNamesFile would sometimes return
  a list of length one, instead of an single character string.
o BUG FIX: extractSubset() of RawGenomicSignals did not recognize all
  locus fields.


Version: 1.0.5 [2009-05-10]
o Now getOutputDataSet() of AromaTransform returns a data set with files
  ordered such that the fullnames are ordered the same way as the input
  data set.  Suggested by Xin (Victoria) Wang at UC Berkeley.
o Now getOutputDataSet() of AromaTransform scans for the output data
  files with fullnames matching those of the input data set.  This is
  one step closer to being able to batch process subsets of data sets
  when the method is, say, a single-array method.
o Now static fromFiles() of GenericDataFileSet supports empty data sets.
o Now readDataFrame() of AromaUgpFile and AromaUnitTabularBinaryFile
  accepts rows=integer(0).
o Added abstract class AromaUnitChromosomeTabularBinaryFile to make it
  easier to setup up new annotation file formats based on chromosomes.
  AromaUgpFile is now inheriting from this class.
  getUnitsOnChromosomes() now returns a list stratified by chromosome.
o Added extractByChromosomes() for AromaUgpFile.
o Added argument 'translate' to getColumnNames() of TabularTextFile.
o UPDATE: Replace argument 'robust' of colBinnedSmoothing()
  with a more generic 'FUN' argument.  The default arguments
  give identical results.
o BUG FIX: Our internal interleave() for Image (defined by EBImage) gave
  'Error in z[idxOdd,, ] : incorrect number of dimensions'. This was
  because internal image structure of the Image class changed (back) to
  being a 2-dim array. Now interleave() handles both 2d and 3d arrays.
o BUG FIX: lines() of RawGenomicSignals did not recognize x/yScale.
o BUG FIX: as.character() of GenericDataFile would throw
  'Error in sprintf("%d", getFileSize(db, "numeric")) : use
  format %f, %e, %g or %a for numeric objects' whenever the
  file size is returned as a double, which happens for very
  large files (> 2^31-1 bytes).
o BUG FIX: as.character() of GenericDataFileSet would throw an error if
  the data set was empty, because then there was no path.
o Package passes R CMD check on R v2.9.0.


Version: 1.0.4 [2009-04-07]
o BUG FIX: getUnitNames(..., units=NULL) of TextUnitNamesFile would
  make the object believe there are zero units in the file.
  Thanks Shermane Teo at the National University of Singapore
  for reporting this.
o BUG FIX: binnedSmoothing(..., byCount=TRUE) of RawGenomicSignals
  would give error "[...] object "ys" not found".
o BUG FIX: When passing a single data points to colBinnedSmoothing(),
  it would throw the exception: "Range of argument 'by' is out
  of range [0,0]: [<by>,<by>]".


Version: 1.0.3 [2009-03-23]
o Added the TextUnitNamesFile class.


Version: 1.0.2 [2009-02-26]
o Added argument 'units' to extractRawCopyNumbers() of
  AromaUnitSignalBinaryFile.
o Added RawGenomicSignals which RawCopyNumbers now inherits from.
o Added readDataFrame(..., units=NULL) to AromaUnitSignalBinaryFile.
o Added optional argument/field 'name' to RawCopyNumbers, which
  is also used by SegmentedCopyNumbers when querying the "truth"
  function(s) for the copy-number state.  This makes it possible
  to use one (conditional) truth functions for all samples.
o Added hasBeenModified() to GenericDataFile.
o Now hasTags(..., tags) of GenericData{File|Set} splits the
  'tags' argument.
o Now RawCopyNumbers() takes RawCopyNumbers objects as input.
o Now getChecksum() of GenericDataFile caches results unless the
  file has been modified since last time.
o Now as.character() of GenericDataFile also reports the exact file
  size in case the file size is reported in kB, MB, etc.  It also
  tries to report the relative pathname rather than the absolute.



Version: 1.0.1 [2009-02-12]
o Now byName() of AromaUnit(FracB|Total)CnBinarySet searches
  rawCnData/ then cnData/.
o Added SegmentedCopyNumbers class.
o Added various smoothing methods to RawCopyNumbers.
o Added colBinnedSmoothing() and colKernelSmoothing().
o Added getAromaUgpFile() to UnitNamesFile.
o Added shakyText().
o Added static byChipType() to UnitNamesFile.
o Added argument 'fullname' to getChipType() of AromaUnitSignalBinaryFile.
o Now argument 'files' in extract() of GenericDataFileSet can
  also be a vector of string.
o ROBUSTNESS: Added support for optional validation/selection by the
  number of units/cells to all static byChipType() methods.  This is
  done by specifying argument nbrOfUnits/nbrOfCells.  This is intend
  for internal use only.
o ROBUSTNESS: Added a sanity check to getAromaUgpFile() of
  UnitNamesFile and AromaUnitSignalBinaryFile, which asserts that
  the number of units in the located UGP file match that the number
  of units in the data file.
o ROBUSTNESS: Now findAnnotationData() always returns pathnames
  ordered by the length of their fullnames. Before this was only
  done if 'firstOnly=TRUE'.
o ALPHA: Added support for "smart" (e.g. "*") subdirectories in static
  findByName() of GenericDataFileSet.

--~--~---------~--~----~------------~-------~--~----~
When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
version of the package, 2) to report the output of sessionInfo() and 
traceback(), and 3) to post a complete code example.


You received this message because you are subscribed to the Google Groups 
"aroma.affymetrix" group.
To post to this group, send email to aroma-affymetrix@googlegroups.com
To unsubscribe from this group, send email to 
aroma-affymetrix-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/aroma-affymetrix?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to