Jiaxin-Fan / ASEP

8 stars 3 forks source link

Only "NAs" for p-values #10

Open katyamack-hub opened 2 years ago

katyamack-hub commented 2 years ago

Hello, I have recently started receiving only "NA's" as p-values, even on the example dataset, when using ASEP. I had previously used the package successfully (~6 months ago) but the same code I used previously no longer returns p-values, only "NA". I am using an upgraded R environment to when I was able to run the program but have also not been re-create the environment that was successful. Do you have any suggestions or are there any known backward compatibility issues with ASEP dependencies? Thank you.


R session info:

sessionInfo() R version 4.1.2 (2021-11-01) Platform: x86_64-apple-darwin17.0 (64-bit) Running under: macOS Big Sur 10.16

Matrix products: default BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages: [1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached): [1] compiler_4.1.2

library(ASEP) sessionInfo() R version 4.1.2 (2021-11-01) Platform: x86_64-apple-darwin17.0 (64-bit) Running under: macOS Big Sur 10.16

Matrix products: default BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] ASEP_0.1.0

loaded via a namespace (and not attached): [1] Rcpp_1.0.8.3 pillar_1.7.0 compiler_4.1.2 nloptr_2.0.0
[5] boot_1.3-28 lme4_1.1-28 statmod_1.4.36 lifecycle_1.0.1 [9] tibble_3.1.6 gtable_0.3.0 nlme_3.1-155 lattice_0.20-45 [13] pkgconfig_2.0.3 npmlreg_0.46-5 rlang_1.0.2 Matrix_1.4-0
[17] DBI_1.1.2 cli_3.2.0 parallel_4.1.2 dplyr_1.0.8
[21] generics_0.1.2 vctrs_0.3.8 grid_4.1.2 tidyselect_1.1.2 [25] glue_1.6.2 R6_2.5.1 fansi_1.0.2 minqa_1.2.4
[29] ggplot2_3.3.5 purrr_0.3.4 magrittr_2.0.2 scales_1.1.1
[33] ellipsis_0.3.2 splines_4.1.2 MASS_7.3-55 assertthat_0.2.1 [37] colorspace_2.0-3 utf8_1.2.2 munsell_0.5.0 crayon_1.5.0

AndressaOL commented 2 years ago

Hi, I recently started to use ASEP to get the ASE gene level. I have the same issue. I didn't get any errors, but I only got "NAs" for p-values. I only have one condition, "Tissue." I want to identify the ASE gene level for the tissue using 2 replicates. Based on that, I would appreciate it if you had some ideas about this error. I am not sure if this is related to the input format or stats limitations since I only used 2 samples. input: gene id group snp ref total 1 RNF212B 2 ileum NC_052532.1_53351 44 88 2 RNF212B 1 ileum NC_052532.1_53351 37 71 3 DHRS4 1 ileum NC_052532.1_80520 67 119 4 DHRS4 2 ileum NC_052532.1_80520 29 57 Thanks.

katyamack-hub commented 2 years ago

Hi AndressaOL -- I was able to resolve this, it seems to be a backwards compatibility issue with one of the dependencies. I got it to work with the following R enviornment below (via a conda env) (I suspected the issue is an update to MASS or Rcpp that is not compatible with ASEP, but I can't say for sure it wasn't a different package and don't want to break it further to test -- hopefully the author of the package can provide an answer!).

R version 3.6.1 (2019-07-05) Platform: x86_64-conda_cos6-linux-gnu (64-bit) Running under: CentOS Linux 7 (Core)

Matrix products: default BLAS/LAPACK: /home/groups/hbfraser/modules/packages/conda/4.6.14/envs/ASEP/lib/libopenblasp-r0.3.12.so

locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] ASEP_0.1.0

loaded via a namespace (and not attached): [1] Rcpp_1.0.1 magrittr_2.0.3 splines_3.6.1 MASS_7.3-53
[5] statmod_1.4.36 munsell_0.5.0 colorspace_2.0-3 lattice_0.20-38 [9] R6_2.5.1 rlang_1.0.2 minqa_1.2.4 fansi_1.0.3
[13] parallel_3.6.1 grid_3.6.1 gtable_0.3.0 nlme_3.1-157
[17] utf8_1.2.2 cli_3.2.0 ellipsis_0.3.2 lme4_1.1-29
[21] tibble_3.1.6 lifecycle_1.0.1 crayon_1.5.1 Matrix_1.4-1
[25] nloptr_2.0.0 ggplot2_3.3.5 vctrs_0.4.1 glue_1.6.2
[29] npmlreg_0.46-5 compiler_3.6.1 pillar_1.7.0 scales_1.2.0
[33] boot_1.3-28 pkgconfig_2.0.3

AndressaOL commented 2 years ago

Hi @katyamack-hub, thanks for that. I will try to do the same here and see if it works. Make sense to be a compatibility issue since I format the input exactly as I saw in the tutorial. I was suspicious that I don't have stat power to do the analysis, but still weird not to get any values for the p-value, only "NA". It will be great feedback from the author.

PabloCaceresRefusta commented 1 year ago

Hi everyone, I have the same issue. @katyamack-hub How do you set the conda environment for the right versions?? I try to change the version of some packages, but only have large messages of error. Or @Jiaxin-Fan do you have some fix for this?

Thanks!

xinghua1001 commented 1 year ago

Hi @katyamack-hub, thanks for that. I will try to do the same here and see if it works. Make sense to be a compatibility issue since I format the input exactly as I saw in the tutorial. I was suspicious that I don't have stat power to do the analysis, but still weird not to get any values for the p-value, only "NA". It will be great feedback from the author.

Hi @AndressaOL . I met the same problem. Does @katyamack-hub 's method work. How to set the conda environment?

AndressaOL commented 1 year ago

I had the same problem and I was able to fix it and used another version of R. Maybe the asep does not work well in R/4.0. you can try to use R/3.6.1. and see if works. Best.

xinghua1001 commented 1 year ago

@AndressaOL

Indeed, R/3.6.1 works!

Thank you for reply! I’ll try it.

Xinghua Li

biomedswe commented 12 months ago

Hi all!

So I had the same problem as you guys. I think I have finally figured out the what the bug is that causes this problem:

modelFit<-function(dat_phase, n_condition="one", resampled_data=FALSE, varList=NULL){ lrt<-NA if (n_condition == "one"){ if(is.null(varList)){ np = allvc(cbind(major,(total-major))~1,random=~1|id, family=binomial(link=logit), data=dat_phase, k=2, random.distribution='np',plot.opt = 0, verbose = FALSE) mod = tryCatch(suppressMessages({glmer(cbind(major,(total-major)) ~ (1|id), family=binomial(link=logit), data=dat_phase)}), error = function(e){ return(NULL)}) }

the thing is that the syntax of binomial(link) is binomial(link = "logit")

I have no idea why this worked in older versions of R, because I can't find that the syntax changed.

However, when I added the quotation marks to all "logits" it worked again.

Adding message to print out the error like this: error = function(e){ message("Here's the original error message:") message(e) return(NULL)})

Indeed gave me the message: image