iwpca()
.throw()
from R.oo instead of R.methodsS3.wpca()
for matrices had a length > 1 in coercion to logical
bug.fitPrincipalCurve()
now requires princurve (>= 2.1.2) and was
updated to make use of new principcal_curve
class instead of
deprecated principcal.curve
class. This update "should not"
affect the results, but see
https://github.com/dynverse/princurve/issues/8 for information of
what has changed in the princurve package in this respect.robustSmoothSpline()
now supports using Tukey's biweight (in
addition to already exising L1) estimators. See argument method
.
Thanks to Aaron Lun at the Cancer Research UK Cambridge Institute
for adding this feature.robustSmoothSpline()
uses a re-weighted re-iterative algorithm
that fits a smooth spline using stats::smooth.spline()
,
calculates the residuals and which are used to fit a re-weighted
smooth spline and so on until converence. Due to updates to
stats::smooth.spline()
in R (>= 3.4.0) it is no longer feasible
to maintain a highly optimized version of the algorithm, because it
was based on internal stats::smooth.spline()
code that has no
completely changed. Instead the re-iterative algorithm calls
stats::smooth.spline()
as is, which slows it down. More
importantly, it will now give slightly different estimates.NA_real_
(not just NA
) everywhere applicable.robustSmoothSpline()
gave an error since R-devel (>= 3.4.0
r70682).seq_len()
and seq_along()
everywhere (Issue #8)Package requires R (>= 2.15.2).
CLEANUP: robustSmoothSpline() no longer generates messages that ".nknots.smspl() is now exported; use it instead of n.knots()" for R (>= 3.1.1).
preserveScale
for normalizeTumorBoost()
now defaults
to FALSE. Since 1.33.3 (2014-04-30) it had no default and prior to
that it was TRUE.rowAverages()
and normalizeAverages()
would give an error if
some of the argument default functions are overridden by
non-functions of the same name in the calling environment.backtransformPrincipalCurve()
.wpca(..., method = "dsvdc")
; was only needed for
backward compatibility with R (< 1.7.0).xlim
or ylim
for plotDensity()
is NA,
then it defaults to the corresponding extreme value of the data,
e.g. plotDensity(x, xlim = c(0, NA))
.requestNamespace()
instead of request()
.R CMD check
NOTEs.CLEANUP: Now importing R.utils (instead of only suggesting it).
IMPORTANT/CLEANUP: The matrixStats package is no longer
attached with this package. In other words, you now might have to
add library(matrixStats)
to your scripts.
preserveScale
for normalizeTumorBoost()
is now
required. The goal with this is to in a future version migrate to
use preserveScale = FALSE
as the default (was preserveScale = TRUE
) in order to avoid introducing a a global bias in the tumor
allele B fraction of heterozygous SNPs. The examples use
preserveScale = FALSE
now.pairedAlleleSpecificCopyNumbers()
.plotDensity()
supports weights via argument W
.plotDensity()
also supports density()
objects.CLEANUP: robustSmoothSpline()
no longer uses DUP = FALSE
in an
internal .Fortran()
call.
Bumped up package dependencies.
averageQuantile()
for matrices in addition to lists.normalizeQuantileSpline(..., sortTarget = TRUE)
sorts the target only once for lists of vectors just as done for
matrices.normalizeQuantileSpline()
for all
data types into one help page. Same for plotXYCurve()
.lwd
of plotXYCurve(X, ...)
was ignored if X
was a
matrix.Now library(aroma.light, quietly = TRUE)
attaches the package
completely silently without any messages.
Now the aroma.light
Package
object is also available when the
package is only loaded (but not attached).
Merged the documentation for normalizeQuantileRank()
for numeric
vectors and lists.
Now documention S3 methods under their corresponding generic function.
anyMissing()
, colMins()
, and
rowWeightedMedians()
.normalizeTumorBoost()
now uses which()
instead
of whichVector()
of R.utils. Before R (< 2.11.0), which()
used to be 10x slower than whichVector()
, but now it's 3x faster.CLEANUP: Now only using Authors@R
in DESCRIPTION, which is
possible since R (>= 2.14.0). Hence the new requirement on the
version of R.
Bumped up package dependencies.
SPEEDUP: Removed all remaining gc()
calls, which were in
normalizeQuantileSpline()
.
SPEEDUP: Replaced all rm()
calls with NULL assignments.
normalizeTumorBoost()
now uses which()
,
which also removes one dependency on R.utils.gc()
calls and removal of
variables is now faster.str()
debug output in robustSmoothSpline()
.backtransformPrincipalCurve()
preserves dimension names.backtransformPrincipalCurve()
gave an error if the pricipal curve
was fitted using data with missing values.
fitPrincipalCurve()
would not preserve dimension names if data
contain missing values.
.Internal(psort(...))
call in
medianPolish()
with a call to matrixStats:::.psortKM()
.CLEANUP: Removed weightedMedian()
, which has been moved to the
matrixStats package.
BACKWARD COMPATIBILITY: Now package depends on the matrixStats
(>= 0.5.2) package, so that weightedMedian()
is still available
when loading this package. In future releases, matrixStats
will be downgraded to only be a suggested package.
robustSmoothSpline()
would not work with most recent R devel
versions.robustSmoothSpline()
uses code from
stats::smooth.spline()
.R CMD check
no longer warns about some examples depending on the
R.basic package.robustSmoothSpline()
robustly locates the proper
native R fit function for smooth splines, which vary with different
releases of R.R CMD check
no longer complaints about .Internal()
calls.Added support for fitNaiveGenotypes(..., flavor = "fixed")
.
GENERALIZATION: Now fitNaiveGenotypes()
returns also flavor
and
tau
. The latter are the genotype thresholds used by the caller.
flavor
of callNaiveGenotypes()
; it is
instead passed to fitNaiveGenotypes()
via ...
.robustSmoothSpline()
such that it works with the new
"uniqueness" scheme of smooth.spline()
in R v2.14.0 and newer.
It is tricky, because robustSmoothSpline()
is a reiterative
algorithm which requires that the choosen "unique" x:s does not
change in each iteration. Previously, signif(x, 6)
was used to
identify unique x:s, which gives the same set of values when called
twice, whereas this is not true for the new choice with round((x - mean(x))/tol)
.aspectRatio
to plotMvsA()
. It can be used to
adjust the range of the Mlim
argument relative to the Alim
argument.CLEANUP: Removed internal patch of principal.curve()
. If an
older version than princurve v1.1-10 is used, an informative
error is thrown requesting an update. The internal patch is part
of the offical princurve v1.1-10 release (since 2009-10-04).
Now all methods allocate objects with NAs of the appropriate mode.
smooth.spline()
in R v2.14.0 causes
robustSmoothSpline()
to break in some cases.weightedMedian()
returns NA:s of the same mode as argument
x
.findPeaksAndValleys(x, to)
were x
is numeric would use partial
match and interpret to
as argument tol
and not part of ...
passed to density()
. This problem was solved by placing ...
before argument tol
. Thanks Oscar Rueda at the Cancer Reasearch
UK for reporting on and identifying this bug.Added paragraphs on how to do affine normalization when channel offsets are known/zero. Same for multiscan calibration when scanner offsets are known/zero.
Fixed broken links to help for iwpca()
.
help("calibrateMultiscan")
.Argument censorAt
for fitNaiveGenotypes()
has new default.
These updates were supposed to be in v1.17.7, but we forgot to commit them to the Bioconductor repository before the new Bioconductor release.
fitNaiveGenotypes(..., subsetToFit = <logical>)
would throw an
exception reporting Some elements of argument
subsetToFit is out of range ...
.findPeaksAndValleys()
returns a object of class
PeaksAndValleys
, which extends data.frame.Added optional argument fit
to callNaiveGenotypes()
for passing
a model fit returned by fitNaiveGenotypes()
. If not specified,
callNaiveGenotypes()
will call fitNaiveGenotypes()
internally.
Added fitNaiveGenotypes()
, which previously was only internal of
callNaiveGenotypes()
.
findPeaksAndValleys()
for the density
class, which then
findPeaksAndValleys()
for numeric
utilizes.normalizeFragmentLength()
asserts that arguments
fragmentLengths
and y
contain at least some finite values and
specifies the same number of units. In addition, the method also
gives more informative error messages in case it cannot fit the
normalization function due to non-finite values.preserveScale
to normalizeTumorBoost()
to
rescale the calibrated allele B fractions for heterozygous SNPs
such that the compression relative to the homozgygotes is
preserved.callNaiveGenotypes()
returns the model estimates as attribute
modelFit
. This feature was supposed to be in v1.16.0.R CMD check
to pass.normalizeDifferencesToAverage()
, normalizeTumorBoost()
,
callNaiveGenotypes()
and internal findPeaksAndValleys()
, which
all were moved from the aroma.cn package.fitPrincipalCurve()
used a non-existing argument
name in the calls to substitute()
. Thanks to Brian Ripley at
University of Oxford for reporting this.fitPrincipalCurve()
only uses the internal bug-fix patch if a
version earlier than princurve v1.1-10 is installed.ADDED: fitXYCurve()
and backtransformXYCurve()
.
Added attribute processingTime
to the fit object returned by
fitPrincipalCurve()
.
backtransformPrincipalCurve()
regarding
argument dimension
broke the initial purpose of this
argument. Since both use cases are still of interest, how the
subsetting is done is now based on whether the number of dimensions
of the input data and the model fit match or not. See help and
example code for backtransformPrincipalCurve.matrix()
.backtransformPrincipalCurve(..., dimensions)
did not subset the
X
matrix. Also, the method now returns a matrix of the same
number of columns requested. The Rd example now illustrates this.
Thanks to Pierre Neuvial, UC Berkeley for the troublshooting and
fix.backtransformPrincipalCurve()
when
argument dimensions
was specified.fitPrincipalCurve()
and backtransformPrincipalCurve()
.onMissing
to normalizeFragmentLength()
for
specifying how to normalize, if at all, data points for which the
fragment lengths are unknown. For backward compatibility, we start
off by having it "ignore"
by default.robustSmoothSpline()
is now cleaning out
more variables when no longer needed.subsetToFit
of normalizeFragmentLength()
was shorter
than the number of data points, an exception was thrown. The test
was supposed to assert that the subset was not greater than the
number of data points.Added normalizeFragmentLength()
.
Added normalizeQuantileSpline()
.
Renamed normalizeQuantile()
to normalizeQuantileRank()
.
Added plotXYCurve()
.
Added predict()
for the lowess
class.
packageStartupMessage()
so that it can be suppressed.R CMD check
for R v2.6.1.R CMD check
for R v2.6.0.normalizeAverage()
.R CMD check
for R v2.6.0 with Rd encoding errors.Removed code to use modreg for backward compatibility with R < 1.9.0.
Added R.utils to Suggests field of DESCRIPTION.
browseRsp()
in the R.rsp
package.Added medianPolish()
which is much faster than
stats::medpolish()
when there are no NA.
Added plotDensity()
for list of vectors as well as for matrices.
Added normalizeQuantile()
for lists of vectors as well as for a
single vector of numerics. To calculate the target quantile there
is a new function averageQuantile()
, which is also for lists of
vectors. It latter does not support robust estimatation of the
average, because it safes memory.
Updated normalizeQuantile()
for matrices according to the updates
in the limma package.
Added a namespace for the package.
Added biocViews
since the package will eventually be added to the
Bioconductor project.
weightedMedian()
, e.g. negative weights do no
longer give and error, but are treated as zero instead. This
removes some overhead of the function. Also, if it is known that
there are no NAs that can be specified by na.rm = NA
, which will
skip NA checks.Updated broken Rd links.
Updated the references to publications.
fitIWPCA()
does not return the data matrix. This is to save
memory. The calling algorithm can equally well add the data if it
is needed.fitIWPCA()
.Added sampleCorrelations()
and sampleTuples()
.
Now argument interpolate
of weightedMedian()
defaults to TRUE
only if ties
is NULL.