[Bioc-devel] Handling of classVersion
Laurent Gatto
lg390 at cam.ac.uk
Tue Oct 11 11:37:37 CEST 2016
Dear all,
Kasper gave this recent advice not to call new() in the prototype (or at
least that was how it was interpreted)
You (and everyone else) should not construct new instances by using
new() together with prototype.
This could be handled by setting the version in the initialize method,
which seems to address some of the random errors we see.
But, this apparently leads to calling classVersion("nameOfClass") (not
classVersion(instanceOfClass)) to miss the version completely:
> tmp <- (new("Spectrum2"))
> classVersion(tmp)
Spectrum Spectrum2
"0.4.0" "0.3.0"
> classVersion("Spectrum2")
[1] "Versioned; no version string"
as opposed to
> tmp <- new("ExpressionSet")
> classVersion(tmp)
R Biobase eSet ExpressionSet
"3.3.1" "2.33.4" "1.3.0" "1.0.0"
> classVersion("ExpressionSet")
R Biobase eSet ExpressionSet
"3.3.1" "2.33.4" "1.3.0" "1.0.0"
which in turn breaks updateObject
> updateObject(new("Spectrum2"))
updateObject(object = 'Spectrum')
Error: invalid version specification ‘Versioned; no version string’
> updateObject(new("ExpressionSet"))
ExpressionSet (storageMode: lockedEnvironment)
assayData: 0 features, 0 samples
element names: exprs
protocolData: none
phenoData: none
featureData: none
experimentData: use 'experimentData(object)'
Annotation:
Any advice or suggestion?
Laurent
More information about the Bioc-devel
mailing list