mcalgaro93 / benchdamic

Benchmark of differential abundance methods on microbiome data
6 stars 1 forks source link

"R CMD check" failure on Linux ARM64 #4

Closed martin-g closed 1 year ago

martin-g commented 1 year ago

Hello,

There is an initiative to support Linux ARM64 for Bioconductor. Probably for 3.18. R CMD check benchdamic_1.5.2.tar.gz fails with this output:

biocbuild@kunpeng1 ~/git> R CMD check benchdamic_1.5.2.tar.gz 
* using log directory ‘/home/biocbuild/git/benchdamic.Rcheck’
* using R Under development (unstable) (2023-03-12 r83975)
* using platform: aarch64-unknown-linux-gnu (64-bit)
* R was compiled by
    gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
    GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
* running under: Ubuntu 22.04.2 LTS
* using session charset: UTF-8
* checking for file ‘benchdamic/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘benchdamic’ version ‘1.5.2’
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package ‘benchdamic’ can be installed ... OK
* checking installed package size ... NOTE
  installed size is  6.7Mb
  sub-directories of 1Mb or more:
    doc   6.1Mb
* checking package directory ... OK
* checking ‘build’ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of ‘data’ directory ... OK
* checking data for non-ASCII characters ... OK
* checking LazyData ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking installed files from ‘inst/doc’ ... OK
* checking files in ‘vignettes’ ... OK
* checking examples ... ERROR
Running examples in ‘benchdamic-Ex.R’ failed
The error most likely occurred in:

> ### Name: DA_MAST
> ### Title: DA_MAST
> ### Aliases: DA_MAST
> 
> ### ** Examples
> 
> set.seed(1)
> # Create a very simple phyloseq object
> counts <- matrix(rnbinom(n = 60, size = 3, prob = 0.5), nrow = 10, ncol = 6)
> metadata <- data.frame("Sample" = c("S1", "S2", "S3", "S4", "S5", "S6"),
+                        "group" = as.factor(c("A", "A", "A", "B", "B", "B")))
> ps <- phyloseq::phyloseq(phyloseq::otu_table(counts, taxa_are_rows = TRUE),
+                          phyloseq::sample_data(metadata))
>                          
> # Differential abundance
> DA_MAST(object = ps, pseudo_count = FALSE, rescale = "median",
+     design = ~ group, coefficient = "groupB")
per median-lib.size rescaled data
`cData` has no wellKey.  I'll make something up.
Assuming data assay in position 1, with name et is log-transformed.
Error in ebayes(t(assay(sca, exprs_values)), ebayesControl, model.matrix(Formula,  : 
  Hyper parameter estimation might have failedERROR: ABNORMAL_TERMINATION_IN_LNSRCH
Calls: DA_MAST -> <Anonymous> -> ebayes
Execution halted
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘testthat.R’
 OK
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in ‘inst/doc’ ... OK
* checking running R code from vignettes ...
  ‘intro.Rmd’ using ‘UTF-8’... OK
 NONE
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE

Status: 1 ERROR, 1 NOTE
See
  ‘/home/biocbuild/git/benchdamic.Rcheck/00check.log’
for details.

Everything is OK on the currently supported platforms - https://bioconductor.org/checkResults/3.17/bioc-LATEST/benchdamic/ !

Any idea what might be the problem ?

mcalgaro93 commented 1 year ago

Hey @martin-g, thank you for reaching me out.

benchdamic depends on too many packages by construction. As new differential abundance analysis tools will be implemented and added, new dependencies will be necessary for the package to work. This error is generated by one of them: the MAST package. Indeed, the error says:

Error in ebayes(t(assay(sca, exprs_values)), ebayesControl, model.matrix(Formula, : Hyper parameter estimation might have failedERROR: ABNORMAL_TERMINATION_IN_LNSRCH Calls: DA_MAST -> <Anonymous> -> ebayes Execution halted

the function that has generated it should be MAST::zlm with the argument method = "bayesglm.

Let me know if I can help you more. Matteo

martin-g commented 1 year ago

Thank you for the response, @mcalgaro93 ! I've tested MAST and its CMD check also failed - https://github.com/RGLab/MAST/issues/179. I'm closing this issue for now! I will re-test benchdamic once the MAST issue is resolved. If there is another issue then I will open a new issue.