[Bioc-devel] RMassBank build error

Laurent Gatto lg390 at cam.ac.uk
Fri Oct 7 19:52:29 CEST 2016


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)
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel


-- 
Laurent Gatto | @lgatt0
http://cpu.sysbiol.cam.ac.uk/
http://lgatto.github.io/



More information about the Bioc-devel mailing list