Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error in BSmooth.tstat - stopifnot(length(group1) + length(group2) >= 3) #106

Open
wangjingwan opened this issue Jan 26, 2022 · 3 comments

Comments

@wangjingwan
Copy link

wangjingwan commented Jan 26, 2022

Hi,

I'm testing the package with two test samples (100,000 methylation loci) and I've encountered the issue in BSmooth.tstat.

I can upload my test dataset in google drive if you need them for inspection.

Thank you.

R command

all.tstat <- BSmooth.tstat(all.filtered, 
                                    group1 = c("ho_test"),
                                    group2 = c("ho_pa_test"), 
                                    estimate.var = "group2",
                                    local.correct = TRUE,
                                    verbose = TRUE)

R error

Error in BSmooth.tstat(all.filtered, group1 = c("ho_test"), group2 = c("ho_pa_test"), : length(group1) + length(group2) >= 3 is not TRUE
Traceback:

1. BSmooth.tstat(all.filtered, group1 = c("ho_test"), group2 = c("ho_pa_test"), 
 .     estimate.var = "group2", local.correct = TRUE, verbose = TRUE)
2. stopifnot(length(group1) + length(group2) >= 3)

R sessionInfo

* sessionInfo()

R version 4.1.2 (2021-11-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19042)

Matrix products: default

locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 
[2] LC_CTYPE=Chinese (Simplified)_China.936   
[3] LC_MONETARY=Chinese (Simplified)_China.936
[4] LC_NUMERIC=C                              
[5] LC_TIME=Chinese (Simplified)_China.936    

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

other attached packages:
 [1] bsseq_1.30.0                SummarizedExperiment_1.24.0
 [3] Biobase_2.54.0              MatrixGenerics_1.6.0       
 [5] matrixStats_0.61.0          GenomicRanges_1.46.1       
 [7] GenomeInfoDb_1.30.0         IRanges_2.28.0             
 [9] S4Vectors_0.32.3            BiocGenerics_0.40.0        

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.7                locfit_1.5-9.4           
 [3] lattice_0.20-45           snow_0.4-4               
 [5] Rsamtools_2.10.0          Biostrings_2.62.0        
 [7] gtools_3.9.2              digest_0.6.29            
 [9] utf8_1.2.2                IRdisplay_1.1            
[11] R6_2.5.1                  repr_1.1.4               
[13] evaluate_0.14             pillar_1.6.5             
[15] sparseMatrixStats_1.6.0   zlibbioc_1.40.0          
[17] rlang_0.4.12              uuid_1.0-3               
[19] data.table_1.14.2         R.oo_1.24.0              
[21] R.utils_2.11.0            Matrix_1.4-0             
[23] BiocParallel_1.28.3       RCurl_1.98-1.5           
[25] munsell_0.5.0             DelayedArray_0.20.0      
[27] HDF5Array_1.22.1          compiler_4.1.2           
[29] rtracklayer_1.54.0        base64enc_0.1-3          
[31] htmltools_0.5.2           GenomeInfoDbData_1.2.7   
[33] XML_3.99-0.8              fansi_0.5.0              
[35] permute_0.9-5             crayon_1.4.2             
[37] R.methodsS3_1.8.1         GenomicAlignments_1.30.0 
[39] rhdf5filters_1.6.0        bitops_1.0-7             
[41] grid_4.1.2                jsonlite_1.7.2           
[43] lifecycle_1.0.1           scales_1.1.1             
[45] XVector_0.34.0            limma_3.50.0             
[47] DelayedMatrixStats_1.16.0 ellipsis_0.3.2           
[49] vctrs_0.3.8               IRkernel_1.3             
[51] Rhdf5lib_1.16.0           rjson_0.2.21             
[53] restfulr_0.0.13           tools_4.1.2              
[55] BSgenome_1.62.0           glue_1.6.0               
[57] parallel_4.1.2            fastmap_1.1.0            
[59] yaml_2.2.1                colorspace_2.0-2         
[61] rhdf5_2.38.0              BiocManager_1.30.16      
[63] pbdZMQ_0.3-6              BiocIO_1.4.0             

Bioconductor version '3.14'

  * 7 packages out-of-date
  * 0 packages too new

create a valid installation with

  BiocManager::install(c(
    "fansi", "glue", "jsonlite", "Rcpp", "RcppArmadillo", "reticulate", "yaml"
  ), update = TRUE, ask = FALSE)

more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_date
@kasperdanielhansen
Copy link
Contributor

kasperdanielhansen commented Jan 26, 2022 via email

@wangjingwan
Copy link
Author

So what should I do if I only want to compare one treatment and one control sample?

@wangjingwan
Copy link
Author

Hi,
I try to duplicate one treatment sample, the smoothing and the filtering process works fine then I get another error in tstat during the cross-group computation.

R command

all.tstat <- BSmooth.tstat(all.filtered, 
                                    group1 = c("ho_test","ho_test2"),
                                    group2 = c("ho_pa_test"),
                                    estimate.var = "group2",
                                    local.correct = TRUE,
                                    verbose = TRUE)

R error

[BSmooth.tstat] preprocessing ... done in 0.0 sec
[BSmooth.tstat] computing stats within groups ... done in 0.0 sec
[BSmooth.tstat] computing stats across groups ... 
Error in h(simpleError(msg, call)): error in evaluating the argument 'args' in selecting a method for function 'do.call': need at least two non-NA values to interpolate
Traceback:

1. BSmooth.tstat(all.filtered, group1 = c("ho_test", "ho_test2"), 
 .     group2 = c("ho_pa_test"), estimate.var = "group2", local.correct = TRUE, 
 .     verbose = TRUE)
2. do.call(c, mclapply(clusterIdx, compute.correction, qSd = qSd, 
 .     mc.cores = mc.cores))
3. mclapply(clusterIdx, compute.correction, qSd = qSd, mc.cores = mc.cores)
4. lapply(X, FUN, ...)
5. FUN(X[[i]], ...)
6. approxfun(xx, yy)
7. stop("need at least two non-NA values to interpolate")
8. .handleSimpleError(function (cond) 
 . .Internal(C_tryCatchHelper(addr, 1L, cond)), "need at least two non-NA values to interpolate", 
 .     base::quote(approxfun(xx, yy)))
9. h(simpleError(msg, call))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants