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

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Tue Oct 31 22:28:21 CET 2023


Thanks Ali! Only problem is that I have too much control on too many 
infrastructure components so it's too easy for me to mess up other 
people's stuff :-(

On 10/31/23 14:00, Ali Sajid Imami wrote:
> 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. :)
>
>> On Oct 31, 2023, at 4:49 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.orgmailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list