0

I have encountered a problem. Because my data has multiple duplicate samples at each time point, I want to use the circacompare_mixed() in the circacompare package to compared the rhythmic characteristics of gene expression between two groups (control group and experimental group), and the number of genes reached over 5000 (only two of them were extracted here). Therefore, I used the for loop again, but the results were not obtained and there were errors and warnings:

Iteration 1, LME step: nlminb() did not converge (code = 1). Do increase 'msMaxIter'!Error in nlme.formula(model = form_group, random = randomeffects_formula, :Unable to form Cholesky decomposition: the leading minor of order 1 is not pos.def.

My data: t is my data frame.

dput(t)
structure(list(id = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 
3, 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3), group = c("CON", 
"CON", "CON", "CON", "CON", "CON", "CON", "CON", "CON", "CON", 
"CON", "CON", "CON", "CON", "CON", "CC", "CC", "CC", "CC", "CC", 
"CC", "CC", "CC", "CC", "CC", "CC", "CC", "CC", "CC", "CC"), 
    time = c(0, 6, 12, 18, 24, 0, 6, 12, 18, 24, 0, 6, 12, 18, 
    24, 0, 6, 12, 18, 24, 0, 6, 12, 18, 24, 0, 6, 12, 18, 24), 
    Gnai3 = c(17.51364, 17.0441, 20.73355, 16.02792, 9.2444, 
    20.62992, 17.28127, 29.32941, 14.5062, 16.66473, 8.196866, 
    8.362214, 39.94942, 16.29845, 19.80216, 13.74092, 14.08834, 
    14.04772, 26.00864, 17.1612, 14.19446, 12.62367, 13.53981, 
    43.95303, 18.80314, 15.35234, 16.63615, 23.49265, 39.86695, 
    16.80003), Scmh1 = c(1.151244, 1.007064, 0.8978803, 0.8906483, 
    1.073716, 1.133559, 0.9923863, 0.3706273, 0.9956849, 1.540639,
 0.9482186, 1.105261, 0.1125411, 1.31828, 1.304933, 1.016301, 
    1.008043, 1.098772, 0.3921483, 1.404781, 1.214758, 1.258968, 
    0.8213903, 0.2767058, 1.430973, 0.9601138, 1.321019, 0.6648583, 
    0.3420466, 1.229267)), class = "data.frame", row.names = c(NA, 
30L))

My code:

{ampm<-data.frame()
amp_1m<-data.frame()
mesor_1m<-data.frame()
phase_1m<-data.frame()
amp_2m<-data.frame()
mesor_2m<-data.frame()
phase_2m<-data.frame()
amp_pm<-data.frame()
mesor_pm<-data.frame()
phase_pm<-data.frame()
rhy_p1m<-data.frame()
rhy_p2m<-data.frame()
}

for(i in 4:5){colnames(t[i])->gm
  out_im<-circacompare_mixed(x=t,col_time="time",                                            col_outcome=gm,col_group ="group",col_id="id",control=list(grouped_params=c("phi","alpha","k"),random_params=c("phi1","alpha1","k1")),period = 24,alpha_threshold = 0.05)
  out_im[[2]]$gene_symbol<-gm
  parameter_im<-as.data.frame(out_im[[2]])
  #rhyp1m<-slice(parameter_i,1) 
  #rhyp2m<-slice(parameter_i,2) 
  mesor1m<-slice(parameter_im,3)
  mesor2m<-slice(parameter_im,4)
  mesorpm<-slice(parameter_im,6)
  amp1m<-slice(parameter_im,7)
  amp2m<-slice(parameter_im,8)
  amppm<-slice(parameter_im,10)
  phase1m<-slice(parameter_im,11)
  phase2m<-slice(parameter_im,12)
  phasepm<-slice(parameter_im,14)
  amp_1m<-rbind(amp_1m,amp1m)
  mesor_1m<-rbind(mesor_1m,mesor1m)
  phase_1m<-rbind(phase_1m,phase1m)
  amp_2m<-rbind(amp_2m,amp2m)
  mesor_2m<-rbind(mesor_2m,mesor2m)
  phase_2m<-rbind(phase_2m,phase2m)
  #rhy_p1m<-rbind(rhy_p1m,rhyp1m)
  #rhy_p2m<-rbind(rhy_p2m,rhyp2m)
  amp_pm<-rbind(amp_pm,amppm)
  mesor_pm<-rbind(mesor_pm,mesorpm)
  phase_pm<-rbind(phase_pm,phasepm)
}

My running results:

Warning: Iteration 1, LME step: nlminb() did not converge (code = 1). Do increase 'msMaxIter'! PORT message: false convergence (8)Warning: Singular precision matrix in level -1, block 1Warning: Singular precision matrix in level -1, block . Error in nlme.formula(model = form_group, random = randomeffects_formula, :
Unable to form Cholesky decomposition: the leading minor of order 1 is not pos.def.

My system environment:

R version 4.2.1 (2022-06-23 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

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

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

loaded via a namespace (and not attached):
  [1] fgsea_1.24.0           colorspace_2.0-3      
  [3] ggtree_3.6.2           rjson_0.2.21          
  [5] gson_0.0.9             circlize_0.4.15       
  [7] qvalue_2.30.0          XVector_0.38.0        
  [9] GlobalOptions_0.1.2    aplot_0.1.9           
 [11] clue_0.3-64            rstudioapi_0.14       
 [13] farver_2.1.1           graphlayouts_0.8.4    
 [15] ggrepel_0.9.2          bit64_4.0.5           
 [17] AnnotationDbi_1.60.0   fansi_1.0.3           
 [19] scatterpie_0.1.8       codetools_0.2-19 
 [21] splines_4.2.1          doParallel_1.0.17     
 [23] cachem_1.0.6           GOSemSim_2.24.0       
 [25] knitr_1.42             polyclip_1.10-4       
 [27] jsonlite_1.8.4         cluster_2.1.4         
 [29] GO.db_3.16.0           png_0.1-8             
 [31] ggforce_0.4.1          compiler_4.2.1        
 [33] httr_1.4.5             assertthat_0.2.1      
 [35] Matrix_1.5-3           fastmap_1.1.0         
 [37] lazyeval_0.2.2         cli_3.6.0             
 [39] tweenr_2.0.2           htmltools_0.5.4       
 [41] tools_4.2.1            igraph_1.3.5          
 [43] gtable_0.3.1           glue_1.6.2            
 [45] GenomeInfoDbData_1.2.9 reshape2_1.4.4        
 [47] dplyr_1.0.10           fastmatch_1.1-3       
 [49] Rcpp_1.0.9             enrichplot_1.18.3  
 [51] Biobase_2.58.0         vctrs_0.5.1           
 [53] Biostrings_2.66.0      ape_5.6-2             
 [55] nlme_3.1-161           iterators_1.0.14      
 [57] ggraph_2.1.0           xfun_0.36             
 [59] stringr_1.5.0          lifecycle_1.0.3       
 [61] clusterProfiler_4.6.0  DOSE_3.24.2           
 [63] zlibbioc_1.44.0        MASS_7.3-58.1         
 [65] scales_1.2.1           tidygraph_1.2.2       
 [67] parallel_4.2.1         RColorBrewer_1.1-3    
 [69] yaml_2.3.7             ComplexHeatmap_2.14.0 
 [71] memoise_2.0.1          gridExtra_2.3         
 [73] ggplot2_3.4.1          downloader_0.4        
 [75] ggfun_0.0.9            HDO.db_0.99.1         
 [77] yulab.utils_0.0.6      stringi_1.7.12        
 [79] RSQLite_2.2.20         circacompare_0.1.1    
 [81] S4Vectors_0.36.1       foreach_1.5.2         
 [83] tidytree_0.4.2         BiocGenerics_0.44.0   
 [85] BiocParallel_1.32.5    shape_1.4.6           
 [87] GenomeInfoDb_1.34.9    rlang_1.0.6           
 [89] pkgconfig_2.0.3        matrixStats_0.63.0 
 [91] bitops_1.0-7           evaluate_0.20         
 [93] lattice_0.20-45        purrr_1.0.1           
 [95] treeio_1.22.0          patchwork_1.1.2       
 [97] cowplot_1.1.1          shadowtext_0.1.2      
 [99] bit_4.0.5              tidyselect_1.2.0      
[101] plyr_1.8.8             magrittr_2.0.3        
[103] R6_2.5.1               IRanges_2.32.0        
[105] generics_0.1.3         DBI_1.1.3             
[107] pillar_1.8.1           withr_2.5.0           
[109] KEGGREST_1.38.0        RCurl_1.98-1.9        
[111] tibble_3.1.8           crayon_1.5.2          
[113] utf8_1.2.2             rmarkdown_2.20        
[115] viridis_0.6.2          GetoptLong_1.0.5      
[117] grid_4.2.1             data.table_1.14.6     
[119] blob_1.2.3             digest_0.6.31         
[121] tidyr_1.2.1            gridGraphics_0.5-1    
[123] stats4_4.2.1           munsell_0.5.0         
[125] viridisLite_0.4.1      ggplotify_0.1.0 

I guess it may be a problem with the parameters in control=list(), but I'm not sure how to choose the appropriate parameters for my data.

Kylie
  • 1
  • 1
  • Please [edit] your question to provide a minimal reproducible example. For example, the function `cmp_circompare_mix` is not defined in your code. See [How to make a great R reproducible example](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) for more. – Ian Campbell May 01 '23 at 14:26
  • Thank you for the reminder. I have already edited the code again. – Kylie May 03 '23 at 09:08

0 Answers0