writeDataFrame()
of
AromaUnitSignalBinaryFile and AromaUnitTabularBinaryFile.Removed defunct method whatDataType()
.
The segmentByMPCBS()
method does not work in R (>= 4.2.0). This
is because the mpcbs package has _R_CHECK_LENGTH_1_CONDITION_
and_R_CHECK_LENGTH_1_LOGIC2_
bugs, which give errors in R (>=
4.2.0). The mpcbs package is a legacy package that is no
longer maintained. Because of this, it is likely that
segmentByMPCBS()
and support for MPCBS segmentation will
eventually be dropped from aroma.core.
downloadFile()
for AromaRepository is now smarter about *.gz
files.Re-export S3 generic process()
from R.rsp.
Argument pattern
for findByGenome()
for AromaGenomeTextFile has
an sprintf()
mistake causing it to produce a warning in R (>=
4.1.0).
WORKAROUND: Package fails R CMD check
with
_R_CHECK_LENGTH_1_LOGIC2_=true
due to PR#17663
(https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17663). Made a
simple code tweak to avoid this bug hitting us.
WORKAROUND: There's a _R_CHECK_LENGTH_1_LOGIC2_
bug in
mpcbs::mpcbs.mbic()
. Until fixed, we need to disable this check
while testing segmentByMPCBS()
.
findByChipType()
for AromaMicroarrayTabularBinaryFile and
TextUnitNamesFile would only recognize Windows Shortcut Links with
a filename extension in lower case (*.lnk
) but not in upper case
(*.LNK
).extract()
from R.utils instead of R.filesets,
which would result in R CMD check
errors for aroma.affymetrix
with R-devel (>= 3.6.0).getRegions()
for CopyNumberSegmentationModel used future strategy
eager
that is defunct in future (>= 1.6.0) - updated to
sequential
.Now file sizes are reported using IEC binary prefixes, i.e. bytes, KiB, MiB, GiB, TiB, ..., YiB.
Now genomic positions / distances are reported in 'Mbp' (was 'MB' and 'Mb').
Objects no longer report on memory (RAM) usage.
Package used %<=%
internally with was deprecated in future
(>= 1.4.0).
exportTotalCnRatioSet()
for AromaUnitTotalCnBinarySet and
exportFracBDiffSet()
for AromaUnitFracBCnBinarySet would return
files with file names matching .asb
, which would incorrectly also
include .asb.md5
files. Thanks to Thomas Grombacher at the Merck
Group for the report.
Default method whatDataType()
is now defunct.
Argument .old
of getChipType()
for
AromaMicroarrayTabularBinaryFile is now defunct (was deprecated in
2008!).
Previously deprecated argument maxNAFraction
to getRawCnData()
of CopyNumberChromosomalModel and for fit()
of
CopyNumberSegmentationModel is now defunct.
Removed previously defunct apply()
for SampleAnnotationFile.
ROBUSTNESS: Using do.call(fcn)
internally instead of
do.call("fcn")
.
ROBUSTNESS: Using getPathname()
internally instead of private
field.
getOutputDataSet(..., onMissing = "dropall")
for AromaTransform
would throw error on no applicable method getFullNames()
for
NULL.apply()
for SampleAnnotationFile is now defunct; use applyTo()
.
Drop defunct methods.
apply()
for SampleAnnotationFile to applyTo()
.ROBUSTNESS: Explicitly importing core R functions.
CLEANUP: One occurance of rowMads(..., centers)
to rowMads(...,
center)
.
CLEANUP: Drop prototype code never used.
writeRegions(..., format = "wig")
gave an error.Deprecated internal whatDataType()
method.
Previously deprecated methods now defunct: nbrOfArrays()
for
readData()
for AromaMicroarrayDataSetTuple,
AromaMicroarrayDataSet and AromaUnitTotalCnBinarySet, as well as
readData()
for SampleAnnotationFile.
Removed previously (Feb 2014) defunct method patchPackage()
and
patch()
.
ROBUSTNESS: exportAromaUnitPscnBinarySet()
asserts that no
duplicated files are returned.
getOutputDataSet()
for AromaTransform gives more informative
error messages.
getOutputDataSet()
for AromaTransform would sometimes given an
error due to the same output file being identified more than once,
for instance, when the full name of an output file is also the
prefix of another file. Thanks to Benilton Carvalho (Universidade
Estadual de Campinas, Sao Paulo, Brazil) for reporting on this.
extractRawMirroredAlleleBFractions()
for RawAlleleBFractions gave
Error in setSignals(res, dh) : object 'res' not found
.
display()
for Explorer would try to open a pathname in a way that
only worked on MS Windows. Thanks to Sunghee Oh (S. Korea) for
reporting on this.aromaSettings
are loaded when the packages is
loaded. Previously the package had to be attached.fit2d()
for matrix utilizes use()
for
aroma.light.writeDataFrame(..., columnNamesPrefix="none")
for
AromaUnitSignalBinaryFile would give an error.getAromaUflFile()
for AromaPlatformInterface.Move byChipType()
from classes AromaCellCpgFile and
AromaCellPositionFile to superclass AromaCellTabularBinaryFile.
Package does less package reordering.
SampleAnnotationSet$loadAll()
would give an error if
annotationData/samples/
didn't exist or did not contain any SAF
files.getAromaUgpFile()
for AromaUnitSignalBinaryFile.Added SuggestsNote
field to DESCRIPTION with list of packages
that are recommended for the most common use cases.
Bumped package dependencies.
ds[[idx]]
instead of getFile(ds, idx)
where possible.<ns>::<fcn>()
calls with
repetive <fcn>()
calls; the ::
operator is fairly expensive.Previously deprecated downloadPackagePatch()
, patchPackage()
and patch()
for AromaPackage are now defunct.
Removed defunct methods.
readDataFrame()
for AromaGenomeTextFile and
AromaUcscGenomeTextFile explicitly passed arguments ...
to
NextMethod()
, which would cause them to be duplicated in certain
cases.R.rsp::rfile()
for compiling RSP
files instead of the to-be-deprecated rspToHtml()
.getGenericSummary()
for RichDataFrame would throw Error in
data[i, , drop = FALSE] : subscript out of bounds
if it had zero
rows.findChangePointsByState()
for
SegmentedGenomicSignalsInterface.exportAromaUnitPscnBinarySet()
.onMissing
to getOutputDataSet()
for
AromaTransform. This replaces argument incomplete
, which will be
dropped in a future version, but is for now supported as well.Minor adjustments of NAMESPACE imports.
Updated package dependencies.
colMedians()
for AromaTabularBinaryFile. If needed,
there is always colStats()
.Now explicitly importing only what is needed in NAMESPACE.
BACKWARD COMPATIBILITY: For R (< 3.0.2) only the maximum of 500 S3 methods are declared in NAMESPACE.
Updated package dependencies.
chromosomes
to ChromosomalModel()
and
setChromosomes()
for the same class. If not specified, the
default is as before to infer the set of chromosomes from the UGP
files.maxNAFraction
when setting up the model.Now the aroma.core
Package object is also available when the
package is only loaded (but not attached).
Now only importing only what is needed from the R.utils package.
Now only importing only what is needed from the matrixStats package.
ROBUSTNESS: Forgot to import R.methodsS3::appendVarArgs()
.
Updated package dependencies.
Backward-compatibility code for obsolete EBImage was no longer needed.
Updated package dependencies.
exportAromaUnitPscnBinarySet()
for AromaUnitTotalCnBinarySet
would throw an error on unknown argument 'names' to indexOf()
.Replaced all internal x11()
with dev.new()
calls.
Moved more packages from Depends to Imports.
Updated package dependencies.
findFilesTodo()
for AromaTransform.Now it's possible to call aroma.core::doCBS()
without loading
package.
Turned doCBS()
into a default method,
cf. aroma.affymetrix::doRMA()
.
help("doCBS")
documents all doCBS()
methods.rm()
calls with NULL assignments.getChecksum()
instead of (internal)
R.filesets::digest2()
with identical results.extractRawCopyNumbers()
for CopyNumberChromosomalModel would
throw Error in UseMethod("getChecksum") : no applicable method for
'getChecksum' applied to an object of class "list"
if (and only
if) R.cache package was not attached. Thanks Yadav Sapkota at
University of Alberta for reporting on this.CRAN POLICY: Now all Rd \usage{}
lines are at most 90 characters
long.
CRAN POLICY: Now all Rd example lines are at most 100 characters long.
Bumped version for CRAN submission.
No updates.
Package no longer try to apply package patches, which was only possible when namespaces where not used.
Package no longer depends on R.cache (only imports it).
is(Homo|Hetero)zygote()
and getPhysicalPositions()
defunct.sqrtsign()
transform. This makes it possible to plot
log2 PLM residuals (in aroma.affymetrix) on a blue-to-red scale
using setColorMaps(.., "log2,sqrtsigned,bluewhitered")
where
bluewhitered <- colorRampPalette(c("blue", "white", "red"))
.Bumped the package dependencies.
Added an Authors@R
field to DESCRIPTION.
nbrOfArrays()
for AromaMicroarrayDataSet and
AromaUnitTotalCnBinarySet.No updates.
Bumped version for CRAN submission.
Utilizing new startupMessage()
of R.oo.
Bumped up package dependencies.
Now using argument colClasses
(was colClassPatterns
) for all
readDataFrame()
:s.
getOneFile()
internally.inst/reports/templates/html/archive/
,
inst/reports/templates/rsp/archive/ and inst/archive/
, which all
contained old/legacy Explorer versions.lapply()
for AromaTabularBinaryFile to colApply()
.Made several file classes implement FileCacheKeyInterface.
Added CacheKeyInterface and FileCacheKeyInterface.
getRam()
and setRam()
for AromaSettings did not use
memory/ram
.Bumped version for CRAN submission.
No updates.
Now getParametersAsString()
handles sets of parameters as well.
Added getParameterSets()
to ParametersInterface.
Dropped getHeaderParameters()
for TextUnitNamesFile, which is now
done by getHeader()
of TabularTextFile.
Package only depends on digest indirectly via R.cache.
Moved internal .assertDigest()
to R.cache.
Now using getName()
instead of deprecated getLabel()
.
Properly declared all cached fields, making it possible to remove
nearly all clearCache()
implementations because the one for
Object takes does the job.
The RSP template for ChromosomeExplorer's setupExplorer.js
had a
duplicated entry.
seq_along(x)
instead of seq(along = x)
everywhere.
Similarly, seq(ds)
where ds
is GenericDataFileSet is now
replaced by seq_along(ds)
. Likewise, seq_len(x)
replaces
seq(length = x)
, and length(ds)
replaces nbrOfFiles(ds)
.getColumnNames()
to getDefaultColumnNames()
for all
classes inheriting from GenericTabularFile, because of the new
ColumnNamesInterface interface.whichVector()
with which()
, because the
latter is now the fastest again.units
to readDataFrame()
for
AromaUnitChromosomeTabularBinaryFile.Arguments$get(Read|Writ)ablePath()
instead of
filePath(..., expandLinks = "any")
.Added argument maxNAFraction
to CopyNumberChromosomalModel, which
is now the prefer place to specify it, instead of to fit()
etc.
Now CopyNumberChromosomalModel()
accepts references of type
"none"
, "constant(1)"
, "constant(2)"
, and "median"
, where
"none"
and "constant(1)"
are identical, "constant(2)"
uses
reference signals that are exactly 2, and "median"
uses reference
signals are equals the robust average across all samples. For
backward compatibility, NULL is still supported, which equals
"median"
.
Arguments$getWritablePath()
everywhere
instead of mkdirs()
, because the former will do a better job in
creating and asserting directories on slow shared file systems, and
when it fails it gives a more informative error message.Some of the HTML and CSS errors in ArrayExplorer and ChromosomeExplorer that were detected by the W3's online validation services were correct.
A few errors in the JavaScript of ArrayExplorer has been corrected. It also does a better job of inferring the height of the displayed spatial image. Thanks Laurent Malvert (ID Business Solutions Ltd; IDBS) for the report, troubleshooting and suggestions on this.
Object
methods that calls "next"
methods, utilizes NextMethod()
, which became possible with
R.oo v1.10.0.NextMethod()
,
cf. R-devel thread 'Do not pass '...' to NextMethod() - it'll
do it for you; missing documentation, a bug or just me?' on Oct 16,
2012.trim()
being overridden by ditto from the IRanges
package, iff loaded.exportAromaUnitPscnBinarySet()
for a list.exportAromaUnitPscnBinarySet()
for AromaUnitTotalCnBinarySet
would throw an error if the files of the exported data set was
ordered in a non-lexicographic order.downloadUGC()
for AromaRepository.interleave()
for Image and RasterImage could generate error
'Error in if (abs(vRatio) > abs(hRatio)) { : missing value where
TRUE/FALSE needed
if odd/even cell intensity columns (rows)
contained all NAs.downloadCDF()
for AromaRepository downloads CDFs regardless
of *.cdf
and *.CDF
.escape
to findAnnotationData()
,
which causes such symbols that exist in argument pattern
to be
automatically be escaped.colBinnedSmoothing()
is done over zero-length
bins, the output for those bins will be NA.colBinnedSmoothing(..., xOut = xOut)
would return binned values
in the incorrect order, iff xOut
was not ordered. Added a
systems test for this case.
colBinnedSmoothing(..., xOut = xOut)
could generate bins at the
ends that did not contain the outer most xOut
values.
ROBUSTNESS: Now the package startup message is outputted at the very end. Previously it was done before some additional setup, which could potentially fail.
ROBUSTNESS: fitWRMA()
and fitWHRCModel()
now call
rcModelWPLM()
of preprocessCore instead of .Call(...,
PACKAGE = "preprocessCore")
. Doing so will somewhat slow down the
speed, because rcModelWPLM()
introduces some non-needed
validation of the arguments. This caused their arguments psiCode
and psiK
to be dropped.
Added exportAromaUnitPscnBinarySet()
for
AromaUnitTotalCnBinarySet.
Added alpha versions of classes AromaUnitPscnBinary(File|Set)
.
Added getNumberOfFilesAveraged()
to
AromaUnitSignalBinaryFile. Formerly only for
AromaUnitTotalCnBinaryFile.
byChipType()
for
several annotation data file classes.calculateRatios
to CopyNumberChromosomalModel()
.CLEANUP: Package now only depends/imports on CRAN package, which simplifies the installation of aroma.core, and indirectly any packages that depends on it. Note, there are still "suggested" non-CRAN packages, which are required by some/optional methods.
CLEANUP: Package no longer depends on aroma.light, but instead
it "suggests" it. This is possible, because now weightedMad()
of
aroma.light has been added to matrixStats v0.5.0.
CLEANUP: Package no longer "Suggests" affxparser. It was needed
because of the findFiles()
function, which has been added to
R.utils v1.13.1.
Turned weightedMad()
into a default method, added help
documentation with example code.
CLEANUP: Moved (internal) swapXY()
and draw()
for density
objects to R.utils (>= 1.10.0).
[()
for RichDataFrame would loose the class attribute, unless
argument drop
was FALSE.Now colBinnedSmoothing()
, colKernelSmoothing()
and
colGaussianSmoothing()
returns a matrix with column names as in
argument Y
.
For RawGenomicSignals, added argument fields
to
binnedSmoothing()
and binnedSmoothingByField()
. Also added
argument field
to getSignals()
and
estimateStandardDeviation()
.
reports/includes/js/
directory
installed by ArrayExplorer and ChromosomeExplorer.Added binnedSmoothingByField()
for RawGenomicSignals.
Added subset()
for RawGenomicSignals.
Added get- and setVirtualField()
for RawGenomicSignals.
Added argument sort
to as.data.frame()
for RawGenomicSignals.
ROBUSTNESS: Now all writeDataFrame()
methods will add quotation
marks around column names that contain a comment character
(#
). This will make the written file readable with read.table()
even when there are header comments with prefix #
. This issue
was reported by Yu Song at Oakland University.
Now createImage()
for matrix creates images of type
"png::array"
by default (used to be "EBImage::Image"
). If the
latter, then at least EBImage v3.9.7 (July 2011) is required.
write()
for RasterImage would write truncated intensities,
because we forgot to rescale [0,65535] to [0,1] intensities.ROBUSTNESS: Added system tests for RawGenomicSignals classes.
CLEANUP: Now R CMD check
no longer reports that the package is
using .Internal()
function calls. This was due to how we
adjusted colSums()
and colMeans()
to become generic functions.
Preparing for RawGenomicSignals not being reference variables.
Preparing for supporting multiple-chromosome RawGenomicSignals.
GENERALIZATION: Now binnedSmoothing()
of RawGenomicSignals
default to generate the same target bins as binnedSmoothing()
of
a numeric vector. Before the bins had to be specified explicitly by
the caller.
GENERALIZATION: Now it is possible to call colBinnedSmoothing()
with an empty set of input loci, but still requesting a set of
output loci, which then will be all missing values.
x
of colBinnedSmoothing()
would default to the
incorrect number of loci.require.js
in v2.4.4, which is needed by the
ChromosomeExplorer v3.3.setup(ce,
force = TRUE)
where ce
is your ChromosomeExplorer object. Thanks
to Keith Ching at ConsultChing for the initial troubleshooting
[http://consultching.com/root/?p=64
] leading me on the right
track on how update ChromosomeExplorer.findPngDevice()
tries all the available settings
for argument "type" of png()
, for the current platform. This
will increase the chances for finding a PNG device that really
works.findPngDevice()
uses isPackageInstalled("Cairo")
instead of require("Cairo")
to avoid loading Cairo if not
really used.findPngDevice()
memoizes the results throughout the
current session.hg17
to
Human,cytobands,hg17,GLADv2.4.0,HB20100219.txt
in
annotationData/genomes/Human/
.drawCytoband()
for ChromosomalModel failed to locate the genome
annotation data file containing cytoband information,
e.g. Human,cytobands,<tags>.txt
. Thanks to Kai Wang at Pfizer for
reporting on this.base::serialize()
, because it
was only applied to R (< 2.12.0) anyway and this package now
requires R (>= 2.12.0).ROBUSTNESS: Aroma settings are no longer loaded during R CMD
check
.
Updated package dependencies.
library()
would always return an invisible()
object, even if base::library()
wouldn't. This caused plain
library()
to not list installed packaged. Thanks Venkat Seshan
at MSKCC for reporting on this.Now colBinnedSmoothing()
handles an unordered xOut
.
Added argument units
to writeDateFrame()
for
AromaUnitSignalBinarySet to make it possible to write any subset of
units and in any order, e.g. genome order.
Now it is possible to fully specify the location and the width of
each bin used by colBinnedSmoothing()
, which now also returns the
bin counts as part of the attributes. Moreover, the bins are now
defined to be strictly disjoint using boundaries [x0,x1) instead of
[x0,x1] as before.
Added plotCoverageMap()
for AromaUgpFile.
getDefaultExtension()
for UnitAnnotationDataFile,
which guesses the filename extension from the class name, unless
overridden by a subclass.Now byChipType()
for UnitAnnotationDataFile and derivatives give
an error message with more information on which file it failed to
locate, e.g. by specifying filename extension it looked for.
CLEANUP: Now getFullNames()
for AromaMicroarrayDataSetTuple no
longer produces a warning on is.na() applied to non-(list or
vector) of type 'NULL'
.
exportTotalCnRatioSet()
for AromaUnitTotalCnBinarySet and
exportFracBDiffSet()
for AromaUnitTotalCnBinarySet tried to call
cat(verbose, x)
with length(x) > 1
.process()
of ChromosomeExplorer would throw Error in file(file,
ifelse(append, "a", "w")) : [...] cannot open file '/ [...] (new
Array(': No such file or directory
. Importing the R.rsp
namespace in the aroma.core namespace solved this. Thanks Qian
Liu for reporting on this.extractPSCNArray()
for AromaUnitTotalCnBinary{File|Set}.readHeader()
, readRawFooter()
and writeRawFooter()
of
AromaTabularBinaryFile would try to read non-signed 4-byte
integers, which is not supported and would instead be read as
signed integers. From R v2.13.1 this would generated warnings.getSnpPositions()
of AromaCellSequenceFile would
throw Error: length(pos) == ncol(cells) is not TRUE
. However, it
was not until aroma.core v2.1.3 (2011-08-01) was release that
some people got problem with this. It turns out that the sanity
check catches an error in how getSnpPositions()
of
AromaCellSequenceFile allocates the result vector, a bug that has
been there for a very long time. Luckily, this bug has had no
effect on the results for anyone. Thanks to David Goode (Stanford)
and Irina Ostrovnaya (MSKCC) for reporting on this.cat()
and getOption()
of R.utils (instead of
'base').getSnpNucleotides()
for AromaCellSequenceFile.hpaste()
internally wherever applicable.allocateFromUnitAnnotationDataFile()
for
AromaUnitTabularBinaryFile would include chip type tags in the
path, e.g. annotationData/chipTypes/GenomeWidesSNP_6,Full
.Now ChromosomeExplorer does a better job of listing chromosomes that are specific to the genome/organism used.
Added getChromosomeLabels()
for ChromosomeExplorer.
lapplyInChunks(idxs)
for numeric did not correctly handle the
case when length(idxs) == 0
, because of a typo.Updated the default filename patterns used by findByGenome()
for
AromaGenomeTextFile to "^%s,chromosomes(|,.*)*[.]txt$"
.
GENERALIZATION: Now findByGenome()
for AromaGenomeTextFile
follows the new aroma search conventions.
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.
Now getGenomeFile()
for ChromosomalModel utilizes byGenome()
for AromaGenomeTextFile to locate the genome annotation file.
Added static loadAll()
for SampleAnnotationSet.
getUnitsOnChromosomes()
for AromaUnitChromosomeTabularBinaryFile
truly returns valid unit
indices. Thanks to Emilie Sohier,
France for reporting on a problem related to this.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.
GENERALIZATION: getAverageFile()
for AromaUnitTotalCnBinarySet
first searches for an existing result file according to the new
search conventions. If not found, then it's created.
GENERALIZATION: Now the default for createImage()
for matrix is
to test to create images according to aroma settings option
output/ImageClasses
.
ROBUSTNESS: Now getAverageFile()
for AromaUnitTotalCnBinarySet
creates the result file atomically by writing to a temporary file
which is renamed afterward.
Now write()
and read()
for RasterImage throws an informative
error message explaining that the png package is needed.
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.
colorize()
for Image tried to call createImage()
using a vector
instead of a matrix.
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.
findAnnotationData()
to be annotationData/
and
annotationData,<tags>/
.getTags()
to Arguments to R.filesets
v0.9.3.Deprecated static method importFromTable()
for FileMatrix.
Removed several deprecated methods.
Submitted to CRAN.
No updates.
getRawCopyNumbers()
for CopyNumberSegmentationModel, when there are too many non-finite
signals, gives a more informative error message containing
information also on which sample, reference and chromosome the
problem was detected on.fit()
for CopyNumberSegmentationModel passes down argument
maxNAFraction
to the internal sanity test as it used to do before
aroma.core v1.3.4 (November 2009).GENERALIZATION: Now spatial PNG image files can also be created utilizing the png package as an alternative to the EBImage package. The EBImage package can be tricky to install on some OSes, e.g. MS Windows 7 64-bit.
Added alpha version of an internal RasterImage class.
writeImage()
for Image objects as defined by the EBImage package. This made it possible to remove the remaining explicit dependencies on EBImage in the aroma.affymetrix package.Deprecated internal as.TrueColorImage()
for Image and for matrices.
Removed deprecated internal rgbTransform()
for Image.
digest()
uses the faster serialize()
of R
v2.12.0. The earlier version was orders of magnitude slower on
MS Windows, which we have been patching in the aroma framework since
v0.9.3.4. That patch wrote to file, which was slower than the
recent fix. This Windows-only patch is no longer needed, and hence
neither applied, on R v2.12.0 and beyond.flavor
to segmentByGLAD()
for RawGenomicSignals,
which makes it possible to specify whether daglad()
or glad()
of the GLAD package will be used. The flavor
argument can
also be passed as for instance GladModel(..., flavor = "daglad")
.Mouse,chromosomes.txt
to
system.file("annotationData/genomes/Mouse", package =
"aroma.core")
.ROBUSTNESS: Whenever the GLAD package is tried to be loaded and it fails due to failure of loading a shared library, then this will be remembered for 24 hours while it will not be loaded again.
Added requireWithMemory()
.
plot()
for CopyNumberSegmentationModel would throw exception
Cannot infer number of bases in chromosome. No such chromosome:
25
for chromosome 25.
drawCytoband2()
would throw an error if argument cytoband
was
an empty data frame, which could happen if there is no cytoband
annotation data for the requested chromosome. Now it returns
quietly.
ROBUSTNESS: Now subsample()
for BinnedScatter utilizes
resample()
.
CLEANUP: Removed stext()
. It is in R.utils.
CLEANUP: Removed some outdated patches for R v2.7.0 and before.
CLEANUP: Package no longer need to "suggest" geneplotter.
Now fit()
for CopyNumberSegmentationModel also passed the
optional arguments (...
) passed to the constructor function.
This makes it possible to specify all arguments while initiating
the model, e.g. sm <- CbsModel(..., min.width=5, alpha=0.05)
.
Now optional arguments ...
to CopyNumberChromosomalModel are
recorded.
drawCytoband2()
used to annotate
chromosomal plots with cytobands tries to utilize GLAD package,
if available. However, even when GLAD is installed it may
still be broken due to missing dynamic libraries, e.g. Error in
library.dynam(lib, package, package.lib) : DLL GLAD not found:
maybe not installed for this architecture?
. We now avoid this
too.Added drawDensity()
for CopyNumberRegions and RawGenomicSignals.
Added getDensity()
for CopyNumberRegions which returns the
empirical density of the mean levels weighted by the region
lengths.
Added getLength()
for CopyNumberRegions, which returns a vector
of region lengths.
Now the ylim defaults to c(0,5)
for plot()
for RawCopyNumbers.
Added basic support for operators +
, -
, and *
to
RawGenomicSignals.
Added the AromaGenomeTextFile class.
Added genome annotation file
Canine,chromosomes,UGP,HB20100822.txt
to
system.file("annotationData/genomes/Canine", package =
"aroma.core")
.
annotationData/genomes/Human/Human,chromosomes.txt
had an extra
TAB on the ChrM row.Added abstract classes SegmentationDataFile and SegmentationDataSet
to represent segmentation data results. Current subclasses are
CbsSegmentationData(File|Set)
.
Added more utility methods for CopyNumberRegions.
xRange()
,
prune()
, simulateRawCopyNumbers()
, +()
, -()
and *()
.writeDataFrame()
for AromaUnitTotalCnBinarySet and
AromaUnitFracBCnBinarySet to get the correct filename
extension. Thanks Nicolas Vergne at the Curie Institute for
reporting this.Added subset()
for CopyNumberRegions.
Now extractRegion()
for RawGenomicSignals also accepts a
CopyNumberRegions object for argument regions
.
Added extractRegions()
for RawGenomicSignals.
writeDateFrame()
for AromaUnitSignalBinarySet would write the
same data chunk over and over.indexOf()
for ChromosomalModel would return NA if a search
pattern contained parenthesis (
and )
. There was a similar
issue in indexOf()
for GenericDataFileSet/List in R.filesets,
which was solved in R.filesets 0.8.3. Now indexOf()
for
ChromosomalModel utilizes ditto for GenericDataFileSet for its
solution.as.GrayscaleImage(..., transforms = NULL)
for matrix
would
throw Exception: Argument transforms contains a non-function:
NULL
.updateDataColumn()
of AromaTabularBinaryFile would censor signed
integers incorrectly; it should censor at/to [-(n+1),n], but did
it at [-n,(n+1)] ("two's complement"). This caused it to write too
large values as n+1, which then would be read as -(n+1),
e.g. writing 130 would be censored to 128 (should be 127), which
then would be read as -128. Added more detailed information on how
many values were censored. Thanks Robert Ivanek for report on this.Added trial version of fullname translator files.
doCBS()
for character:s support data set tuples.
Added doCBS()
for CopyNumberDataSetTuple:s.
R CMD check
on R v2.11.0 and v2.12.0 devel.path
of all writeDataFrame()
methods defaults to
<rootPath>,txt/<dataSet>/<chipType>/
.Added writeDataFrame()
for AromaUnitTabularBinaryFile.
Added argument columnNamesPrefix
to all writeDataFrame()
.
AD HOC: Now getUnitAnnotationDataFile()
of AromaPlatformInterface
load aroma.affymetrix if needed and if installed.
writeDataFrame()
for AromaUnitSignalBinary{File|Set}.getFitFunction()
of CbsModel would return a function that would
give Error in segmentByCBS.RawGenomicSignals(..., seed = seed):
formal argument "seed" matched by multiple actual arguments
.Added equals()
for CopyNumberRegions.
Added argument seed
to CbsModel, which will, if specified, set
the random seed (temporarily) each time (per sample and chromosome)
before calling the segmentation method.
seed
to segmentByCBS()
for RawGenomicSignals.CHANGE: Argument arrays
of doCBS()
for CopyNumberDataSet no
longer subset the input data set, but instead is passed to the
fit()
function of the segmentation model. This way all arrays in
the input data set are still used for calculating the pooled
reference.
Now segmentByMPCBS()
can be used to segment data from a single
source.
segmentByMPCBS()
for
RawGenomicSignals.verbose
of getOutputSet()
of ChromosomalModel.Submitted to CRAN.
No changes since v1.4.7.
Package passes R CMD check
on R v2.10.1 patch and R v2.11.0
devel.
Package passes all redundancy tests.
Argument zooms
of ChromosomeExplorer now default to 2^(0:6),
instead of 2^(0:7), because the images for zoom 2^7=128 would not
display in Firefox for the largest chromosomes.
Updated getGenomeFile()
for ChromosomalModel such that it can be
used to locate other types of genome annotation files as well,
files that may be optional (without giving an error).
Added Human cytoband files to annotationData/genomes/
.
Added annotationData/genomes/
to aroma.core (from
aroma.affymetrix).
Added getOutputSet()
for ChromosomalModel.
Added alpha version of a doCBS()
.
SIMPLIFICATION: Now it is possible to use ChromosomeExplorer without having to install the GLAD package (used before for cytobands).
SIMPLIFICATION: Now it is possible to plot cytobands without having to install the GLAD package.
print()
statements in
isCompatibleWith()
.R CMD check
and all redundancy tests.getChromosomes()
for class
AromaUnitChromosomeTabularBinaryFile validating that the file has a
chromosome
column.Arguments$getTags()
where ever possible.ChromosomalModel:s (and and the ChromosomeExplorer) no longer require unit names files.
getListOfAromaUgpFiles()
for ChromosomalModel no longer goes via
getListOfUnitNamesFiles()
. This opens up the possibility to work
with data files without unit names files, e.g. smoothed CN data.
Added getAromaUgpFile()
for AromaPlatformInterface.
getUnitNamesFile()
for AromaPlatformInterface utilizes the
generic getUnitAnnotationDataFile()
method.defaults
to allocate()
of
AromaTabularBinaryFile.segmentByMPCBS()
via the mpcbs
package.R CMD check
on R v2.10.1 and R v2.11.0 devel and
all of its redundancy tests.getDefaultFullName()
for AromaMicroarrayDataSet and
AromaTabularBinarySet in order to override (parent = 1
) the new
default of GenericDataFileSet in R.filesets v0.7.0, which would
return the chip type (parent = 0
) as the name.getPairedNames()
to CopyNumberChromosomalModel which
returns combined <test>vs<ref>
names, e.g. TumorvsNormal
. The
default behavior is that if <ref>
is the average of a pool, then
the paired name is <test>
, e.g. Tumor
.Added argument pattern
to byName()
for
AromaUnitTotalCnBinarySet and AromaUnitFracBCnBinarySet.
getSets()
of AromaMicroarrayDataSetTuple overrides the default
method by adding the chip types as the names of the returns list.
ROBUSTNESS: Using new Arguments$getInstanceOf()
were possible.
ROBUSTNESS: Now CopyNumberChromosomalModel()
asserts that none of
the test samples have duplicated names.
ROBUSTNESS: Now all index arguments are validated correctly using
the new max
argument of Arguments$getIndices()
. Before the
case where max == 0
was not handled correctly.
getSetTuple()
from ChromosomeExplorer.translateFullNames()
of ChromosomeExplorer would translate the
full names, but return the original ones.
getFullNames()
of ChromosomeExplorer reported: Error in
UseMethod("translateFullNames"): no applicable method for
translateFullNames applied to an object of class "character"
.
extractMatrix()
of AromaUnitCallFile did not recognize NoCalls
.extractRawCopyNumbers()
for RawCopyNumbers would give an error if
the internal logBase
was NULL.xScale = 1e-6
by default.Added extractRawCopyNumbers(, ...logBase = 2)
to RawCopyNumbers,
which can be used to change the logarithmic base of CN ratios, if
any.
Added getAverageFile()
for AromaUnitTotalCnBinarySet.
Moved ChromosomeExplorer to aroma.core from aroma.affymetrix.
Moved several method for profileCGH
objects to aroma.core
from aroma.affymetrix.
ALPHA: First successful run of segmentation with CbsModel with AromaUnitTotalCnBinarySet data sets.
Added isAverageFile()
for AromaUnitSignalBinaryFile.
Added class AromaUnitTotalCnBinarySetTuple.
Added interfaces CopyNumberDataFile, CopyNumberDataSet, and CopyNumberDataSetTuple (internal for now).
GENERALIZATION: Moved CbsModel, GladModel and HaarSegModel (all segmentation models) of aroma.affymetrix to here.
GENERALIZATION: Moved all (generalized) ChromosomalModel, CopyNumberChromosomalModel, and CopyNumberSegmentationModel from aroma.affymetrix to here.
getAromaUflFile()
to UnitAnnotationDataFile.Now AromaUflFile$allocateFromUnitNamesFile()
works.
importFrom(ufl, dat, ...)
where ufl
was an AromaUflFile and
dat
a GenericTabularFile gave an error reporting that
importFromGenericTabularFile()
is abstract/not defined for
AromaUflFile:s. Thanks Paolo Guarnieri for reporting this.
New public release.
More recent dependencies on Bioconductor packages.
R CMD check
on R v2.10.0 and all redundancy tests.getExtensionPattern()
to most GenericDataFile classes.setName()
for RawGenomicSignals.CLEANUP: Updated to use byPath()
instead fromFiles()
.
CLEANUP: Move the Interface class to the R.oo package.
R CMD check
on R v2.9.2 and all redundancy tests.getUnitsOnChromosomes()
for
AromaUnitChromosomeTabularBinaryFile returns a vector by default
(unlist = TRUE
).Added yRange()
, yMin()
and yMax()
for RawGenomicSignals.
Added extractRawCopyNumbers()
for RawSequenceReads.
smoothScatter()
, which is used in for
instance aroma.affymetrix, is in the graphics package from
R v2.9.0. It was previously in geneplotter v1.2.4 and
before(!). The code imported it from geneplotter would
therefore give an error of a missing function with geneplotter
v1.2.5. We are now assuming R v2.9.0 by default, but if not
available, but geneplotter v1.2.4 or earlier is,
geneplotter is loaded. If neither are available, a dummy
smoothScatter()
is setup reporting an error.totalAndFracBData/
to the search path of byName()
for
AromaUnit(FracB|Total)CnBinarySet.Added allocateFromUnitAnnotationDataFile()
for
AromaUnitSignalBinaryFile and AromaUnitTabularBinaryFile.
Added getUnitTypesFile()
for AromaPlatform and
AromaPlatformInterface.
Added UnitAnnotationDataFile, which now the UnitNamesFile and the new UnitTypesFile inherits from.
Now uses()
for Interface takes multiple Interface:s.
Added class RawSequenceReads.
Added support for argument byCount
to binnedSmoothingByState()
of SegmentedCopyNumbers. It is rather complex how it works, but we
tried to immitate how it works with byCount = FALSE
.
Now binnedSmoothing()
of RawGenomicSignals demark locus fields
that were not binned to be regular fields. Ideally all locus
fields (including custom ones) should be binned, but we leave that
for a future implementation.
Added get-
, setStateColorMap()
, and getStateColors()
for
class SegmentedGenomicSignalsInterface.
Added argument keepUnits = FALSE
to extractRawGenomicSignals()
of AromaUnitSignalBinaryFile.
Now RawGenomicSignals(y = rgs)
sets all locus fields in rgs
if
it is a RawGenomicSignals object.
examples()
that requires "suggested" packages to be ran
conditionally, so that it does not throw an error (in R CMD
check
) if the packages is not available. This is required for a
package to be put on CRAN.exportTotalCnRatioSet()
would return a AromaUnitFracBCnBinarySet.is(Homo|Hetero)zygous()
, not
is(Homo|Hetero)zygote()
.ADDED: Added support for "birdseed" encoding in
extractGenotypes()
and updateGenotypes()
of
AromaUnitGenotypeCallFile.
Added SegmentedGenomicSignalsInterface, which implements all the methods for SegmentedCopyNumbers and the new SegmentedAlleleBFractions.
Added getFields()
to Interface as an ad-hoc solutions to avoid
print(<Interface>)
throwing Error in UseMethod("getFields") : no
applicable method for "getFields"
.
updateGenotypes()
of AromaUnitGenotypeCallFile is now
much faster in counting A:s and B:s.isHomozygote()
of AromaUnitGenotypeCallFile was not correct.
getOutputDataSet()
of AromaTransform failed to identify the
output files if (and only if) a filename translator was applied to
the input data set.
New public release.
No updates.
R CMD check
on R v2.9.0 and all redundancy tests.Added extractRawAlleleBFractions()
for
AromaUnitFracBCnBinaryFile.
Added exportFracBDiffSet()
for AromaUnitFracBCnBinarySet.
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.
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.
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.
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.
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.
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.Moved the Explorer class and its support files under inst/
from
aroma.affymetrix to aroma.core.
Moved the AromaCellPositionFile class from aroma.affymetrix to aroma.core.
CLEANUP: Moved all file set specific classes and methods to the new R.filesets package.
allocateFromUnitNamesFile()
for AromaUnitSignalBinaryFile would
not call generic allocate()
but the one for this class.
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.
binnedSmoothing()
of RawGenomicSignals uses weighted
estimates (by default) if weights exists.Added RawAlleleBFractions()
extending RawGenomicSignals.
Added extractCopyNumberRegions()
for profileCGH, DNAcopy, and
HaarSeg segmentation object. Before they were in
aroma.affymetrix.
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.
Added extractRegion()
to RawGenomicSignals.
Added getWeights()
and hasWeights()
to RawGenomicSignals.
Added {add,subtract,multiply,divide}By()
for RawGenomicSignals
all utilizing support method applyBinaryOperator()
.
ALPHA: Added classes GenericDataFile{Set}List.
ALPHA: Added class AromaUnitTotalCnBinaryFileList with methods
extractRawCopyNumbers()
and extractMergedRawCopyNumbers()
.
Now aroma.core works with the IRanges and grid packages, regardless on the order they were loaded.
getPlatform()
of TextUnitNamesFile would sometimes return a list
of length one, instead of an single character string.
extractSubset()
of RawGenomicSignals did not recognize all locus
fields.
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.
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.
UPDATE: Replace argument robust
of colBinnedSmoothing()
with a
more generic FUN
argument. The default arguments give identical
results.
Now static fromFiles()
of GenericDataFileSet supports empty data
sets.
Now readDataFrame()
of AromaUgpFile and
AromaUnitTabularBinaryFile accepts rows = integer(0)
.
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.
Added extractByChromosomes()
for AromaUgpFile.
Added argument translate
to getColumnNames()
of
TabularTextFile.
R CMD check
on R v2.9.0.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.
lines()
of RawGenomicSignals did not recognize xScale
and
yScale
.
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).
as.character()
of GenericDataFileSet would throw an error if the
data set was empty, because then there was no path.
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.
binnedSmoothing(..., byCount = TRUE)
of RawGenomicSignals would
give error [...] object "ys" not found
.
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>]
.
Added argument units
to extractRawCopyNumbers()
of
AromaUnitSignalBinaryFile.
Added RawGenomicSignals which RawCopyNumbers now inherits from.
Added readDataFrame(..., units = NULL)
to
AromaUnitSignalBinaryFile.
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.
Added hasBeenModified()
to GenericDataFile.
Now hasTags(..., tags)
of GenericData{File|Set} splits the tags
argument.
Now RawCopyNumbers()
takes RawCopyNumbers objects as input.
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.
getChecksum()
of GenericDataFile caches results unless the
file has been modified since last time.byName()
of AromaUnit(FracB|Total)CnBinarySet searches
rawCnData/
then cnData/
.Added SegmentedCopyNumbers class.
Added various smoothing methods to RawCopyNumbers.
Added colBinnedSmoothing()
and colKernelSmoothing()
.
Added getAromaUgpFile()
to UnitNamesFile.
Added shakyText()
.
Added static byChipType()
to UnitNamesFile.
Added argument fullname
to getChipType()
of
AromaUnitSignalBinaryFile.
Now argument files
in extract()
of GenericDataFileSet can also
be a vector of string.
ALPHA: Added support for "smart" (e.g. "*"
) subdirectories in
static findByName()
of GenericDataFileSet.
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.
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.
ROBUSTNESS: Now findAnnotationData()
always returns pathnames
ordered by the length of their fullnames. Before this was only done
if firstOnly = TRUE
.
Added getMaxLengthRepeats()
to AromaCellSequenceFile.
Added AromaUnitSignalBinary{File|Set}, AromaUnitTotalCnBinary{File|Set}, AromaUnitFracBCnFinary{File|Set}, AromaUnitCall{File|Set}, and AromaUnitGenotypeCall{File|Set}.
readFooter()
of AromaTabularBinaryFile did not return the correct
list for nested structures.
groupBySnpNucleotides()
of AromaCellSequenceFile would return an
empty element missing
for some chip types,
e.g. Mapping10K_Xba142. Now such empty elements are dropped.
getAttributes()
for GenericDataFile:s would give an error if
there were no attributes.
SPEEDUP: Now predict()
of ProbePositionEffects is 6-7 times
faster.
SPEEDUP: Now the result of isMissing()
for AromaCellSequenceFile
can be cached.
readDataFrame()
of AromaTabularBinaryFile would forget
to close the connection if verbose output was activated. When R
later would close such connections, a warning would be generated.R CMD check
on R v2.7.2 and R v2.8.0rc.as.GrayscaleImage()
in
argument transforms
to a list using as.list()
and not list()
.skip
to writeChecksum()
of GenericDataFile.getSnpPositions()
, getSnpShifts()
, getSnpNucleotides()
,
and groupBySnpNucleotides()
to AromaCellSequenceFile.fitGenotypeCone()
to support both flavors "sfit"
(old)
and "expectile"
(new).Added support for argument positions
to countBases()
for
AromaCellSequenceFile.
ALPHA: Added fitMultiDimensionalCone()
.
readSequences()
for AromaCellSequenceFile translated raw values
to incorrect nucleotides.R CMD check
on R v2.7.1 and R v2.8.0 devel on
MS Windows XP.getCreatedOn()
, getLastModifiedOn()
, and
getLastAccessedOn()
to GenericDataFile. These a just wrapper
accessing file.info()
fields.SPEEDUP: Added patch for base::serialize()
on MS Windows, which
in turn will speed up digest::digest()
and all methods that use
the latter to generate hashcodes.
SPEEDUP: Now as.character()
for GenericTabularFile:s and
TabularTextFile:s reports the number of data rows and the number of
text lines as NA if the files are too large and cached results are
not already available.
SPEEDUP: Replaced all which()
with faster whichVector()
.
updateDataColumn()
coerce values to doubles before censoring
them for raw and integer columns.Now countBases()
of AromaCellSequenceFile returns "raw" counts if
argument mode = "raw"
.
ALPHA: Added setFullName()
and setName()
to GenericDataFile and
GenericDataFileSet. The plan is to have these replace what
getAlias()
and setAlias()
do today.
BETA: Added setFullNameTranslator()
to GenericDataFileSet.
findByName()
assert that the data set name is not empty.BETA: Added setFullNamesTranslator()
(for the files) to
AromaGenericFileSet.
ALPHA: Added protected update2()
to GenericDataFileSet.
ALPHA: Added private ProbePositionEffects, etc.
Added a general importFrom()
for AromaTabularBinaryFile, which
calls matching importFrom<ClassName>()
, if found.
Added support for raw
data columns in AromaTabularBinaryFile.
BETA: Added readTableHeader()
.
BETA: Added AromaCellSequenceFile.
BETA: Added classes AromaMicroarrayTabularBinaryFile and AromaCellTabularBinaryFile.
readDataFrame()
:
(i) rownames are no longer generate, if not asked for explicitly,
and (ii) garbage collection is no longer done after each column.R CMD check
on R v2.7.0 patched.getOutputFiles()
of AromaTransform.Added AromaTransform (extracted from
aroma.affymetrix::Transform
).
Added nbrOfArrays()
to AromaMicroarrayDataSet.
Now private xmlToList()
handles more complex XML strings.
Added member chromosome
to RawCopyNumbers.
Added gaussianSmoothing()
to RawCopyNumbers.
Added argument xOut
to gaussianSmoothing()
in order to specify
at what loci the smoothed signals should be calculated.
Added gzip()
/gunzip()
to GenericDataFile.
Added static findByName()
and byName()
to GenericDataFileSet.
Added static getFileClass()
to GenericDataFileSet. This makes it
possible to remove most fromFiles()
from subclasses but also the
validation of argument files
of their constructors.
Added validate()
to GenericDataFileSet, which is called at the
end of fromFiles(..., .validate = TRUE)
.
Added extractMatrix to GenericTabular(File|Set)
and
AromaTabularBinary(File|Set)
.
Added equals()
and hasFile()
to GenericDataFileSet.
Added classes GenericTabularFileSet and AromaTabularBinarySet.
Added stextChipType()
for strings.
ALPHA: Now equals()
for GenericDataFile:s uses the class,
pathname, file size and file-contents checksum to do the
comparison. Similarly, for GenericDataFileSet:s, the class, path,
number of files, pathnames, and finally equals()
for each file
pair is used for the comparison.
ALPHA: Added full name translation for GenericDataFile:s.
ALPHA: Added UnitNamesFile.
Package passes R CMD check
on R v2.7.0 patched.
Now findPngDevice()
search for a working PNG device in the
following order: png(..., type = "cairo")
, png(..., type =
"cairo1")
, Cairo::CairoPNG()
, R.utils::png2()
, and finally
plain png()
.
stextNnn()
methods from AffymetrixFile to
AffymetrixMicroarrayDataSet. Created superclass
AromaMicroarrayDataSetTuple of AffymetrixCelSetTuple.BUG FIX: readDataFrame()
did not read the first data row if there
was no column header; it was eaten up by a preceeding
readHeader()
.
BUG FIX: findAnnotationDataByChipType(chipType =
"GenomeWideSNP_6", pattern = "^GenomeWideSNP_6.*[.]ugp$")
would
find file GenomeWideSNP_6,Full,na24.ugp
before
GenomeWideSNP_6,na24.ugp
. Now we return the one with the shortest
full name.
Package created.
Took all core classes and core methods in aroma.affymetrix that are independent of the Affymetrix platform and placed the here.
The version is numbered starting from the current version of aroma.affymetrix.
interleave()
for Image gave Error in z[idxOdd, ] : incorrect
number of dimensions
. The internal image structure is a 3-dim
array.
When searching with firstOnly = FALSE
, findAnnotationData()
was
identifying files that are in "private" directory. This is how
affxparser::findFiles()
works. Such files are now filtered out.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.