kevinblighe / PCAtools

PCAtools: everything Principal Components Analysis
329 stars 67 forks source link

The package fails checks on Bioconductor #75

Closed trinetra75 closed 5 months ago

trinetra75 commented 5 months ago

In the last few weeks the package checks stopped running OK. It seems some conversion and/or use of classes from the Matrix package stopped working...

Would it be possible to fix this issue?

Thanks.

Here is the snapshot of the error log:

══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-pca.R:80:5'): pca works with alternative matrix representations ──
<Rcpp::not_a_matrix/C++Error/error/condition>
Error: Not a matrix.
Backtrace:
     ▆
  1. └─PCAtools::pca(X, rank = 5) at test-pca.R:80:5
  2.   ├─BiocSingular::runPCA(...)
  3.   └─BiocSingular::runPCA(...)
  4.     └─BiocSingular (local) .local(x, ...)
  5.       ├─BiocSingular::runSVD(...)
  6.       └─BiocSingular::runSVD(...)
  7.         ├─base::do.call(...)
  8.         └─BiocSingular (local) `<fn>`(...)
  9.           └─BiocSingular:::standardize_matrix(...)
 10.             └─BiocSingular:::.compute_center_and_scale(x, center, scale, bpnworkers(BPPARAM))
 11.               ├─beachmat::initializeCpp(x)
 12.               └─beachmat::initializeCpp(x)
 13.                 └─beachmat:::initialize_dense_matrix(x@x, nrow(x), ncol(x))
LTLA commented 5 months ago

Oops. I think that's a beachmat problem with dgeMatrix objects. Funnily enough, I actually had tests for this exact scenario but they didn't catch it, mostly because Matrix::Matrix() is too smart for its own good.

LTLA commented 5 months ago

This should be fixed with beachmat 2.21.3. I assume that you observed this problem in BioC-devel, as BioC-release should not have been affected.

trinetra75 commented 5 months ago

Yes, that is true... The issue was on the BioC-devel ... Thanks

trinetra75 commented 5 months ago

All seems fixed now!

Thanks!