saezlab / CARNIVAL

CAusal Reasoning for Network Identification with integer VALue programming in R
https://saezlab.github.io/CARNIVAL/
57 stars 29 forks source link

Very different results with latest CARNIVAL release #65

Closed laylagerami closed 3 years ago

laylagerami commented 3 years ago

Hi devs,

I have noticed that I am getting very different results with CARNIVAL now compared to the previous version. I am using the exact same OS, cplex version, input data and settings (default w/ 20 cores).

Specifically, before the network I obtained had 69 nodes and 140 edges. Running with the new version of CARNIVAL, the weighted network now has 2535 nodes and 7672 edges. This is quite large since I would like to visualise the network in a Shiny app! Is this behaviour intentional?

I also tried running a different dataset with both cbc+cplex and again obtained very big networks compared to what I was getting before, but haven't got an exact "before" to compare to.

Command before update

values$carnival_result <- runCARNIVAL(
          netObj = pkn,
          measObj = meas,
          weightObj = weights,
          solverPath = "/scratch/lh605/ucc-fs-nethome/ibm/ILOG/CPLEX_Studio1210/cplex/bin/x8664_linux/cplex",
          solver = "cplex",
          timelimit = 3600,
          threads = 20
       )

Command upon update

carnival_options = defaultCplexCarnivalOptions()
      carnival_options$solverPath = "/scratch/lh605/ucc-fs-nethome/ibm/ILOG/CPLEX_Studio1210/cplex/bin/x8664_linux/cplex"
      carnival_options$timelimit = 3600
      carnival_options$threads = 20
      carnival_options$workdir = "output/"
      carnival_options$outputFolder = "output/"

values$carnival_result <- runInverseCarnival(
          priorKnowledgeNetwork = pkn,
          measurements = meas,
          weights = weights,
          carnivalOptions = carnival_options
          )

Session info:

R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so

locale:
 [1] LC_CTYPE=en_GB.UTF-8          LC_NUMERIC=C                  LC_TIME=en_GB.UTF-8          
 [4] LC_COLLATE=en_GB.UTF-8        LC_MONETARY=en_GB.UTF-8       LC_MESSAGES=en_GB.UTF-8      
 [7] LC_PAPER=en_GB.UTF-8          LC_NAME=en_GB.UTF-8           LC_ADDRESS=en_GB.UTF-8       
[10] LC_TELEPHONE=en_GB.UTF-8      LC_MEASUREMENT=en_GB.UTF-8    LC_IDENTIFICATION=en_GB.UTF-8

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

other attached packages:
 [1] readr_1.4.0          snowfall_1.84-6.1    snow_0.4-3           GSEABase_1.54.0     
 [5] graph_1.70.0         annotate_1.70.0      XML_3.99-0.6         colorspace_2.0-1    
 [9] sortable_0.4.4       lpSolve_5.6.15       shinyWidgets_0.6.0   shinyalert_2.0.0    
[13] HGNChelper_0.8.1     piano_2.8.0          visNetwork_2.0.9     CARNIVAL_2.2.0      
[17] progeny_1.14.0       ggplot2_3.3.3        tibble_3.1.2         dplyr_1.0.6         
[21] dorothea_1.4.0       org.Hs.eg.db_3.13.0  AnnotationDbi_1.54.0 IRanges_2.26.0      
[25] S4Vectors_0.30.0     Biobase_2.52.0       BiocGenerics_0.38.0  shinyFiles_0.9.0    
[29] shinythemes_1.2.0    shinyBS_0.61         shinysky_0.1.3       rhandsontable_0.3.8 
[33] chemdoodle_0.4.0     rcdk_3.5.0           rcdklibs_2.3         rJava_1.0-4         
[37] miniUI_0.1.1.1       DT_0.18              igraph_1.2.6         shinyjs_2.0.0       
[41] shiny_1.6.0         

loaded via a namespace (and not attached):
  [1] uuid_0.1-4             fastmatch_1.1-0        plyr_1.8.6             fingerprint_3.5.7     
  [5] shinydashboard_0.7.1   splines_4.1.0          BiocParallel_1.26.0    crosstalk_1.1.1       
  [9] GenomeInfoDb_1.28.0    digest_0.6.27          htmltools_0.5.1.1      fansi_0.5.0           
 [13] magrittr_2.0.1         memoise_2.0.0          cluster_2.1.2          mixtools_1.2.0        
 [17] limma_3.48.0           Biostrings_2.60.0      blob_1.2.1             ggrepel_0.9.1         
 [21] xfun_0.23              crayon_1.4.1           RCurl_1.98-1.3         jsonlite_1.7.2        
 [25] survival_3.2-11        iterators_1.0.13       glue_1.4.2             gtable_0.3.0          
 [29] zlibbioc_1.38.0        XVector_0.32.0         kernlab_0.9-29         scales_1.1.1          
 [33] DBI_1.1.1              relations_0.6-9        Rcpp_1.0.6             xtable_1.8-4          
 [37] learnr_0.10.1          bit_4.0.4              proxy_0.4-25           htmlwidgets_1.5.3     
 [41] httr_1.4.2             fgsea_1.18.0           gplots_3.1.1           ellipsis_0.3.2        
 [45] farver_2.1.0           pkgconfig_2.0.3        sass_0.4.0             utf8_1.2.1            
 [49] RJSONIO_1.3-1.4        labeling_0.4.2         tidyselect_1.1.1       rlang_0.4.11          
 [53] later_1.2.0            munsell_0.5.0          tools_4.1.0            cachem_1.0.5          
 [57] cli_2.5.0              generics_0.1.0         RSQLite_2.2.7          stringr_1.4.0         
 [61] evaluate_0.14          fastmap_1.1.0          yaml_2.2.1             knitr_1.33            
 [65] bit64_4.0.5            fs_1.5.0               bcellViper_1.28.0      caTools_1.18.2        
 [69] purrr_0.3.4            KEGGREST_1.32.0        mime_0.10              slam_0.1-48           
 [73] compiler_4.1.0         rstudioapi_0.13        png_0.1-7              e1071_1.7-7           
 [77] marray_1.70.0          viper_1.26.0           stringi_1.6.2          bslib_0.2.5.1         
 [81] lattice_0.20-44        Matrix_1.3-4           markdown_1.1           vctrs_0.3.8           
 [85] pillar_1.6.1           lifecycle_1.0.0        jquerylib_0.1.4        data.table_1.14.0     
 [89] bitops_1.0-7           httpuv_1.6.1           R6_2.5.0               promises_1.2.0.1      
 [93] KernSmooth_2.23-20     gridExtra_2.3          MASS_7.3-54            gtools_3.8.2          
 [97] assertthat_0.2.1       rprojroot_2.0.2        withr_2.4.2            GenomeInfoDbData_1.2.6
[101] hms_1.1.0              grid_4.1.0             tidyr_1.1.3            class_7.3-19          
[105] rmarkdown_2.8          segmented_1.3-4        sets_1.0-18            itertools_0.1-3  

Let me know if you need anything else from my side to understand what's going on,

Layla

ivanovaos commented 3 years ago

Hi Layla,

Sorry for the delayed response. There was indeed an exporting solution bug in the new version. Can you check if the results are similar now?

laylagerami commented 3 years ago

Hi! I was about to check it but I had an issue re-installing the package from GitHub.

Malformed Depends or Suggests or Imports or Enhances field.
   Offending entries:
     plyr
   rjson
   Entries must be names of packages optionally followed by '<=' or '>=',
   white space, and a valid version number in parentheses.

I think this is due to a comma missing after "plyr" in DESCRIPTION file, see below:

Imports:
    readr,
    stringr,
    lpSolve,
    igraph,
    dplyr,
    plyr <- (here)
    rjson,
    rmarkdown
ivanovaos commented 3 years ago

Can you try once more?

laylagerami commented 3 years ago

Thanks - running now. Will let you know in an hour or so!

EDIT: Sorry, my Rstudio server is crashing (OOO and connection is unstable here also w/ VPN). I will take a look on Monday when I'm back home and let you know.

laylagerami commented 3 years ago

Network size as expected now -- thanks!