Hi,
aroma.affymetrix v2.1.0 and friends have been released. Grab the new
version by:
source("http://aroma-project.org/hbLite.R");
hbInstall("aroma.affymetrix");
The main updates are (with full details below):
- ROBUSTNESS: Even more results are written to the file system
atomically, which decreases the risk of corrupted files due to power
failures etc.
- GRAPHICS: Improved support for using the png package as an
alternative to the EBImage package (which could be tricky to install
on some OSes).
- REPORTS: Now ChromosomeExplorer lists only chromosomes specific to
the genome studied, e.g. Human, Mouse, ...
As usual, bugs have been fixed and error messages have been more
informative. More details at the bottom.
SHARING DATA FILES ON A COMMON FILE SYSTEM:
We're also happy to announce the following beta feature: It is now
possible for users on the same file system to share data available in
read-only annotationData/ and rawData/ directories. This will not
only help save disk space, but it will also simplify maintenance, e.g.
one user can be responsible for keeping all common annotation data
files up to date. For instance, to add user bob's annotationData/
directory, which he has shared as read-only, simply add, next to your
own annotationData/ root directory, a so called sibling root directory
annotationData,bob/ linking to his directory. In R, this can be done
by createLink("annotationData,bob/",
target="~bob/aroma/annotationData/"). Then, whenever the aroma
framework needs an annotation file, it will first search
annotationData/ and then annotationData,bob/. Same goes for rawData/
root directories. Note, in order to enable this beta feature, do
setOption(aromaSettings, "devel/dropRootPathTags", TRUE) in your
script. When this feature has been widely tested, it will become the
default. Further details can be found on
http://aroma-project.org/docs/HowDataFilesAndDataSetsAreLocated
Cheers,
Henrik & co-developers
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Updates to aroma.affymetrix
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version: 2.1.0 [2011-04-08]
o No updates. Submitted to CRAN.
Version: 2.0.10 [2011-04-07]
o Added argument 'drop' to doRMA(), doGCRMA(), doCRMAv1(), and
doCRMAv2(). If FALSE, all intermediate data sets and models are
returned in a named list, otherwise only the final data set(s).
o Added argument 'uniquePlm' to doRMA() and doGCRMA() for doing
probe-level summarization on unique probe sets only.
o Added readGeneAssignments() for AffymetrixNetAffxCsvFile.
o CLEANUP: Utilizing hpaste() internally wherever applicable.
o Package passes all system tests.
Version: 2.0.9 [2011-03-26]
o ROBUSTNESS: Now internal bgAdjustGcrma(..., type="affinities") for
AffymetrixCelFile gives a more informative error message when there
are too few negative controls.
Version: 2.0.8 [2011-03-14]
o doRMAv1() and doCRMAv2() gained argument 'lengthRange', which is
passed to the constructor of FragmentLengthNormalization.
o SPEEDUP: Added MOUSEDIVm520650 to the set of predefined chip types
in AllelicCrosstalkCalibration.
Version: 2.0.7 [2011-03-10]
o BUG FIX: append() for AffymetrixCelSet:s would throw 'Error in base::
append(this$files, files, ...) : unused argument(s) (other = NA)'.
Added a redundancy test. Thanks Ajanthah Sangaralingam at Queen Mary,
University of London, for reporting on this.
Version: 2.0.6 [2011-03-04]
o ROBUSTNESS: Now getCellIndices() for AffymetrixCdfFile asserts that
argument 'units' can be coerced to integer indices. Also, after
correcting a bug in lapplyInChunks() of aroma.core, getCellIndices()
now correctly returns an empty set if argument 'units' is integer(0).
Version: 2.0.5 [2011-03-03]
o GENERALIZATION: Now AffymetrixCelSet and CnagCfhSet locates sample
annotation files and sets the attributes following the new aroma
search convention, i.e. by first loading *.saf files from
main root path annotationData/ and then from optional sibling root
paths annotationData,<tags>/.
o ROBUSTNESS: QuantileNormalization now saves normalized data
atomically, which lowers the risk for generating incomplete/corrupt
data files.
o ROBUSTNESS: Added a return contract/sanity check asserting that
getUnitsOnChromosomes() for GenomeInformation truly returns valid
'unit' indices. Thanks to Emilie Sohier, France for reporting
on a problem related to this.
Version: 2.0.4 [2011-03-01]
o GENERALIZATION: Now getAverageFile() and getBaseline() first try to
locate an existing result file in one of the root paths.
If not found, a new one is created.
o GENERALIZATION: Now byName() for AffymetrixCelSet tries to setup all
data set directories matching the query and not just the first one.
It also requires that the data sets found by byPath() are
non-empty, otherwise they are skipped.
o STANDARDIZATION: Now the default output path for all allocateFromCdf()
is annotationData/chipTypes/<chipType>/. Before it was the same
directory as the CDF, which may for instance have been in a deeper
subdirectory, or recently also in a sibling root path.
o CLEAN UP: Harmonized all code for allocating/writing atomically,
where we first write to a temporary file which is then renamed.
Version: 2.0.3 [2011-02-24]
o GENERALIZATION: Starting to add support for locating data sets in
root paths that also have tags, e.g. rawData/ and rawData,shared/.
When this is in place, it will simplify sharing of data sets,
intermediate and final results, which in turn will help multiple
users avoiding reprocessing the same data sets.
o Now getAverageFile() for AffymetrixCelSet and DChipDcpSet,
as well as getBaseline() for ChipEffectSet drop tags from the
output root path before creating the file. Likewise, the target
distribution file generated by QuantileNormalization is created
in a root path without tags.
Currently, this requires that aroma setting 'devel/dropRootPathTags'
is TRUE.
o Added findTargetDistributionFile() to QuantileNormalization for
locating an existing target-distribution file. The previously used
getTargetDistributionPathname(), which returns a hardwired pathname,
is now only used for creating a target-distribution file (in a
root directory without tags).
o Now convertToUnique() for AffymetrixCelSet searches for already
available data sets using the aroma-wide search rules. Before it
assumed it would always be located in probeData/, but with the new
rules it can also be in probeData,<tags>/.
o ROBUSTNESS: getTimestamp() for AffymetrixCelFile no longer assumes
that the file's DAT header contains a timestamp and tries to translate.
Instead it first tests for the timestamp pattern, and returns NA
if not found.
Version: 2.0.1 [2011-02-20]
o CLEANUP: Replaced calls to deprecated getListOfChipEffectSets()
with getSets().
o KNOWN ISSUE: install.packages("aroma.affymetrix") does not work
because the package depends on the 'affxparser' package which has
to be installed from on Bioconductor. For now, the DESCRIPTION
file has been updated with installation instructions.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Updates to aroma.core
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version: 2.1.0 [2011-04-08]
o No updates. Submitted to CRAN.
Version: 2.0.8 [2011-04-03]
o CLEANUP: Utilizing hpaste() internally wherever applicable.
Version: 2.0.7 [2011-03-28]
o BUG FIX: allocateFromUnitAnnotationDataFile() for
AromaUnitTabularBinaryFile would include chip type tags in the
path, e.g. annotationData/chipTypes/GenomeWidesSNP_6,Full.
Version: 2.0.6 [2011-03-14]
o Now ChromosomeExplorer does a better job of listing
chromosomes that are specific to the genome/organism used.
o Added getChromosomeLabels() for ChromosomeExplorer.
Version: 2.0.5 [2011-03-04]
o BUG FIX: lapplyInChunks(idxs) for numeric did not correctly handle
the case when length(idxs) == 0, because of a typo.
Version: 2.0.4 [2011-03-03]
o Added static loadAll() for SampleAnnotationSet.
o Updated the default filename patterns used by findByGenome() for
AromaGenomeTextFile to "^%s,chromosomes(|,.*)*[.]txt$".
o Now getGenomeFile() for ChromosomalModel utilizes byGenome() for
AromaGenomeTextFile to locate the genome annotation file.
o GENERALIZATION: Now findByGenome() for AromaGenomeTextFile follows
the new aroma search conventions.
o GENERALIZATION: In addition to search <rootPath>/<set>/<name> paths,
findAnnotationData() can also search <rootPath>/<set>/ by not
specifying argument 'name' (or setting it to NULL). Also, if it
cannot locate any files, it falls back to annotation data available
in any of the aroma.* packages.
o ROBUSTNESS: Added a return contract/sanity check asserting that
getUnitsOnChromosomes() for AromaUnitChromosomeTabularBinaryFile
truly returns valid 'unit' indices. Thanks to Emilie Sohier,
France for reporting on a problem related to this.
Version: 2.0.3 [2011-03-02]
o GENERALIZATION: Now the default for createImage() for matrix is to
test to create images according to aroma settings option
'output/ImageClasses'.
o GENERALIZATION: getAverageFile() for AromaUnitTotalCnBinarySet first
searches for an existing result file according to the new search
conventions. If not found, then it's created.
o STANDARDIZATION: Now the default output path for all
allocateFromUnitAnnotationDataFile() is
annotationData/chipTypes/<chipType>/. Before it was the same
directory as the original annotation data file, which may for
instance have been in a deeper subdirectory, or recently also
in a sibling root path.
o ROBUSTNESS: Now getAverageFile() for AromaUnitTotalCnBinarySet creates
the result file atomically by writing to a temporary file which is
renamed afterward.
o Now write() and read() for RasterImage throws an informative error
message explaining that the 'png' package is needed.
o BUG FIX: colorize() for Image would throw '<simpleError in ...: could
not find function "colorMode">', because the colorMode() function
needs to be explicitly imported after the recent package cleanups.
o BUG FIX: colorize() for Image tried to call createImage() using a
vector instead of a matrix.
o BUG FIX: createImage() for matrix would not return the first possible
image created (when testing different image classes) but instead
continue trying to create image for all possible classes.
For instance, this meant that although you had the 'EBImage' package
installed, but not the 'png' package, it would still in the end try
to (also) use 'png' package. If writing PNG images to file, say via
ArrayExplorer, this would result in "Error in loadNamespace(name) :
there is no package called 'png'". Thanks Richard Beyer at
University of Washington for reporting on this.
Version: 2.0.2 [2011-02-19]
o GENERALIZATION: Extended the default root paths of findAnnotationData()
to be annotationData/ and annotationData,<tags>/
Version: 2.0.1 [2011-02-19]
o CLEANUP: Moved static getTags() to Arguments to R.filesets v0.9.3.
o CLEANUP: Deprecated static method importFromTable() for FileMatrix.
o CLEANUP: Removed several deprecated methods.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Updates to R.filesets
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version: 0.9.9 [2011-04-04]
o BUG FIX: equals() for GenericDataFile would consider two files not
to be equal only if their checksums was equal, and vice versa.
Also, when creating the message string explaining why they differ
an error would have been thrown.
Version: 0.9.8 [2011-04-03]
o CLEANUP: Utilizing hpaste() internally wherever applicable.
Version: 0.9.7 [2011-03-11]
o ROBUSTNESS: Now appendFullNameTranslatorBy<what>() for <character>
and <function> assert that the translator correctly returns exactly
one string. This has the effect that setFullName() and friends
are also tested.
Version: 0.9.6 [2011-03-09]
o Added '=' to the list of safe characters for Arguments$getFilename().
o Added fullname(), name(), tags(), and dropTags().
Version: 0.9.5 [2011-02-27]
o BUG FIX: After the recent generalization of findByName() for
GenericDataFileSet it would throw "<simpleError in paths[sapply(
rootPaths, FUN = isDirectory)]: invalid subscript type 'list'>"
in case no matching root path directories existed.
Version: 0.9.4 [2011-02-24]
o Added dropRootPathTags().
o GENERALIZATION: Added support to findByName() for GenericDataFileSet
such that root paths also can be specified by simple regular expression
(still via argument 'paths'). Currently it is only the last
subdirectory that can be expanded, e.g. foo/bar/data(,.*)/.
Version: 0.9.3 [2011-02-18]
o GENERALIZATION: Now byName() for GenericDataFileSet will try all
possible data set directories located when trying to setup a data set.
Before it only tried the first one located. This new approach is
equally fast for the first data set directory as before. The advantage
is that it adds further flexibilities, e.g. the first directory may
not be what we want but the second, which can be further tested by
the byPath() and downstream methods such as the constructor.
o ROBUSTNESS: Now writeColumnsToFiles() for TabularTextFile writes
files atomically, which should minimize the risk for generating
incomplete files.
o CLEANUP: Copied static getTags() for Arguments from aroma.core package.
o DEPRECATION: Added a warning message reporting that fromFiles() of
GenericDataFileSet has been deprecated, if still called by someone.
--
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 with website http://www.aroma-project.org/.
To post to this group, send email to [email protected]
To unsubscribe and other options, go to http://www.aroma-project.org/forum/