Dear Emma,
The error is very strange indeed, and I hope Martin can help us out here.
With the latest RMassBank and MSnbase, I get
> new("RmbSpectrum2")
Error in initialize(value, ...) :
'initialize' method returned an object of class “Spectrum2” instead of
the required class “RmbSpectrum2”
which reproduces the error.
The RmbSpectrum2 class is defined in a standard way
.RmbSpectrum2 <- setClass("RmbSpectrum2",
representation = representation(
satellite="logical",
low="logical",
rawOK ="logical",
good = "logical",
mzCalc = "numeric",
formula = "character",
dbe = "numeric",
formulaCount = "integer",
dppm = "numeric",
dppmBest = "numeric",
ok = "logical",
info = "list"
),
contains=c("Spectrum2"),
prototype = prototype(
satellite = logical(),
low = logical(),
rawOK = logical(),
good = logical(),
mzCalc = numeric(),
formula = character(),
dbe = numeric(),
formulaCount = integer(),
dppm = numeric(),
dppmBest = numeric(),
ok = logical(),
info = list(),
new("Versioned",
versions=c(classVersion("Spectrum2"),
RmbSpectrum2 =
"0.1.0"))
))
and
> new("Spectrum2")
Object of class "Spectrum2"
Precursor: NA
Retention time: :
Charge: NA
MSn level: 2
Peaks count: 0
Total ion count: 0
works.
The MSnbase maintainers have had a bit of a struggle with spurious and
stange failures in the recent past (see [1]). This ans a whole new
backend in the package have led to the following initialize method, that
constructs the class directly in C
setMethod("initialize",
"Spectrum2",
function(.Object, msLevel = 2L, peaksCount = length(mz),
rt = numeric(), acquisitionNum = NA_integer_,
scanIndex = integer(), tic = 0L, mz = numeric(),
intensity = numeric(), fromFile = numeric(),
centroided = NA, smoothed = NA,
polarity = NA_integer_, merged = 1,
precScanNum = NA_integer_, precursorMz = NA,
precursorIntensity = NA, precursorCharge = NA_integer_,
collisionEnergy = NA) {
.Object <- Spectrum2_mz_sorted(msLevel, peaksCount, rt,
acquisitionNum, scanIndex,
tic, mz, intensity, fromFile,
centroided, smoothed, polarity,
merged, precScanNum, precursorMz,
precursorIntensity,
precursorCharge,
collisionEnergy)
if (validObject(.Object))
.Object
})
Why is calling new("RmbSpectrum2") direclty returning an Spectrum2
object? Is this due to us not calling callNextMethod?
Laurent
[1] https://github.com/lgatto/MSnbase/issues/138
On 7 October 2016 17:02, Schymanski, Emma wrote:
> Hi BioC team,
>
> In all the mzR troubles, it slipped through that RMassBank had a build error
> of it's own presumably caused by an update to MSnbase - for some reason we
> never received the email with the build error reports?!
> We have discovered the error now, very late, and are onto finding out the
> cause to fix it but it is not straightforward. Now that it is the day of the
> deadline to pass build without error, are we able to have a little leeway if
> needed? It's taken us the whole day to get the right binaries to actually
> have a chance to start fixing...
> Can someone also check or explain why we no longer receive the emails
> reporting errors to us?
>
> Thanks,
> Emma (on behalf of the others)
> _______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
--
Laurent Gatto | @lgatt0
http://cpu.sysbiol.cam.ac.uk/
http://lgatto.github.io/
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel