[Bioc-devel] Package problems due to results() function from other package?

Ali Sajid Imami @||@@@j|d@|m@m| @end|ng |rom gm@||@com
Tue Oct 31 22:02:48 CET 2023


Herve, I see the work you do and stand in awe. I can only wish I could some
day be in a similar place. For now, I am content with submitting packages
for 3.19. :)


Regards,
Dr. Ali Sajid Imami
LinkedIn <https://pk.linkedin.com/pub/ali-sajid-imami/50/956/2a6>


On Tue, Oct 31, 2023 at 4:50 PM Hervé Pagès <hpages.on.github using gmail.com>
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<
> chrarnold using 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 using r-project.org  mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >> _______________________________________________
> >> Bioc-devel using r-project.org  mailing list
> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> > --
> > Hervé Pagès
> >
> > Bioconductor Core Team
> > hpages.on.github using gmail.com
>
> --
> Hervé Pagès
>
> Bioconductor Core Team
> hpages.on.github using gmail.com
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list