Fixed in BiocGenerics 0.48.1: https://github.com/Bioconductor/BiocGenerics/commit/5fd6dfe93786292484dc53023ec681391f4559e0
With this version of BiocGenerics, SNPhood passes CHECK on my laptop (Ubuntu Linux). We'll see how it goes on Thursday's report. (The fix was too late for today's builds -- they already started -- so it won't reflect on tomorrow's report.) Sorry again for the trouble. Cheers, H. PS: Making results() an S4 generic defined in BiocGenerics would still be a good idea though, because a SNPhood user could still decide to _explicitly_ load DESeq2 with library(DESeq2) after they've loaded SNPhood, which would also break results(). I'll leave this to the authors/maintainers of SNPhood and/or DESeq2 to open an issue on the BiocGenerics repo to request this if they are interested. On 10/31/23 13:49, Hervé Pagès wrote: > > Hmm.. so I was curious and did a little bit more investigation about this. > > The other package that also defines a results() function is DESeq2, > and it gets attached to the search path after calling > analyzeSNPhood(). You can actually observe this phenomena with the > following code: > > library(SNPhood) > library(SNPhoodData) > search() # DESeq2 is NOT attached > example(analyzeSNPhood) > search() # DESeq2 is attached > > What's intriguing is that this only happens in BioC 3.18. In BioC > 3.17, running the analyzeSNPhood example does NOT alter the search > path. After spending some time tracking this down, it turns out that > the reason for this change of behaviour is a small tweak I made > recently to the updateObject() generic in BiocGenerics. An unfortunate > one that I will correct now. > > @Christian: A fix is on its way so you have nothing to do. > > Sorry for the trouble. > > H. > > On 10/31/23 09:44, Hervé Pagès wrote: >> >> On 10/31/23 07:22, Wolfgang Huber wrote: >> >>> Dear Christian >>> >>> If your vignette attaches another package that exports a “results” >>> function, after it attached SNPhood which defines its own results function, >>> then the R interpreter has no other choice than doing what it does. >>> >>> Other people adding additional functionality to their packages is probably >>> not something one can really complain about, so I see three options >>> - you use SNPhood::results in your vignette >>> - you don’t attach the other package, and rather just use what you need >>> from it using “::” >>> - you convince Hervé to add ‘results' to BiocGenerics and everyone who >>> exports such a function converts it to a method for that generic. >> >> My pleasure, and that's the cleanest solution. But it will only help >> if the package that defines the "other" results() function is a >> Bioconductor package and not a CRAN package. Has this package been >> identified? >> >> A 4th option is to make sure that the other package gets loaded >> _before_ SNPhood e.g. by putting an explicit library(<the other >> package>) before library(SNPhood) in your vignette, even though >> that's kind of hacky. >> >> Best, >> >> H. >> >>> Thank you and kind regards >>> Wolfgang >>> >>> -- >>> Wolfgang Huber >>> EMBL >>> https://www.huber.embl.de/ >>> >>> >>> >>> >>> >>> >>> >>> >>> >>>> Il giorno 2023-10-28, alle ore 16:15, Christian Arnold<chrarn...@web.de> >>>> ha scritto: >>>> >>>> For my package SNPhood that did not receive any code changes or updates >>>> in quite a while, I suddenly see errors with Bioc 3.18: >>>> https://master.bioconductor.org/checkResults/3.18/bioc-LATEST/SNPhood/nebbiolo2-buildsrc.html >>>> >>>> Error: processing vignette 'workflow.Rmd' failed with diagnostics: >>>> unused argument (type = "allelicBias") >>>> >>>> This comes from this line I think: >>>> >>>> names(results(SNPhood.o, type = "allelicBias")) >>>> >>>> For literally years, this didnt cause any problems, and the results >>>> function is actually (re)defined in the SNPhood package: >>>> >>>> results <- function(SNPhood.o, type, elements = NULL) >>>> >>>> I am not sure now what causes this. Should I use the syntax >>>> SNPhood::results to make it clear, or I am wrongly assuming that the >>>> wrong result function is taken that causes the error? >>>> >>>> Any pointers? >>>> >>>> >>>> Best >>>> >>>> Christian >>>> >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> _______________________________________________ >>>> Bioc-devel@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >>> _______________________________________________ >>> Bioc-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> -- >> Hervé Pagès >> >> Bioconductor Core Team >> hpages.on.git...@gmail.com > -- > Hervé Pagès > > Bioconductor Core Team > hpages.on.git...@gmail.com -- Hervé Pagès Bioconductor Core Team hpages.on.git...@gmail.com [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel