[Bioc-devel] IFAA Bioconductor

Martin Morgan mtmorg@n@xyz @end|ng |rom gm@||@com
Tue Jan 16 19:18:21 CET 2024


In R-devel I typed

news()

and noted

- The matrix multiplication functions crossprod() and tcrossprod() are now also primitive and S3 generic,

So I wonder if this has changed the 'rules' for how to declare the import -- previous behavior was along the lines of 'if the methods are exported, then the generic is also (implicitly) exported' and vice versa. I'm guess that the generic is no longer exported with the methods, which is how S3 works. If you're using the methods, then maybe

importMethodsFrom(MatrixExtra, crossprod)

if one wants to use the methods. Or, since the S4 generic crossprod is defined in the Matrix package,

importFrom(Matrix, crossprod)

if one wants to use the S4 generic (e.g., to create a new S4 method).

This is just a guess, and it's not really clear to me whether this behavior apparently associated with the change in crossprod to base is intentional or accidental; a post to R-devel might be in order…

I would avoid import(MatrixExtra) on principle, but perhaps it is a last resort.

Also I'll mention that I could reproduce the problem under R-devel, and that changing to importMethodsFrom(MatrixExtra, crossprod) got me past this stage (but now I also need to make a change for tcrossprod…)

Martin Morgan

From: Bioc-devel <bioc-devel-bounces using r-project.org> on behalf of Zuguang Gu <jokergoo using gmail.com>
Date: Tuesday, January 16, 2024 at 11:49 AM
To: Zhigang Li <lzg2151 using gmail.com>
Cc: bioc-devel using r-project.org <bioc-devel using r-project.org>
Subject: Re: [Bioc-devel] IFAA Bioconductor
I saw MatrixExtra defines several S4 methods/dispatches for the generic
`crossprod()` which is actually defined in base.

Maybe you can import the whole MatrixExtra namespace?

import(MatrixExtra)



On Tue, 16 Jan 2024 at 16:14, Zhigang Li <lzg2151 using gmail.com> wrote:

> Hi There,
>
> It seems that the error says :
> "
> ** byte-compile and prepare package for lazy loading
>
> Error: object ‘crossprod’ is not exported by 'namespace:MatrixExtra'
>
> "
>
> But we checked and the package "MatrixExtra" still has the function
> "crossprod". And in the NAMESPACE file, there is a row for
> "importFrom(MatrixExtra,crossprod)". So we are a bit confused why this
> error happened. And there was no error for the previous version. Would you
> mind providing some advice? Thanks.
>
> Regards,
> Zhigang
> https://sites.google.com/view/zlab
>
>
> On Thu, Jan 11, 2024 at 10:11 AM CoreTeam Bioconductor <
> > bioconductorcoreteam using gmail.com> wrote:
> >
> >> Hello Package Maintainer,
> >>
> >> We would like to bring to your attention that your package is failing in
> >> devel across all platforms. This is very problematic. Please investigate
> >> the issues and fix the package to avoid deprecation.
> >>
> >> https://bioconductor.org/checkResults/devel/bioc-LATEST/
> >> <
> https://bioconductor.org/checkResults/3.17/workflows-LATEST/TCGAWorkflow><https://bioconductor.org/checkResults/3.17/workflows-LATEST/TCGAWorkflow%3e>
> >>
> >> If you have further questions or concerns please reach out on the
> >> bioc-devel using r-project.org
> >>
> >> We appreciate your quick attention to this matter
> >>
> >> Cheers,
> >> On behalf of the Bioconductor Core Team
> >>
> >
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

        [[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