Bioconductor / Contributions

Contribute Packages to Bioconductor
130 stars 33 forks source link

MultimodalGraphics for Visualization of Multimodal Datasets #3399

Open famanalytics0 opened 1 month ago

famanalytics0 commented 1 month ago

Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor

Confirm the following by editing each check box to '[x]'

I am familiar with the essential aspects of Bioconductor software management, including:

For questions/help about the submission process, including questions about the output of the automatic reports generated by the SPB (Single Package Builder), please use the #package-submission channel of our Community Slack. Follow the link on the home page of the Bioconductor website to sign up.

bioc-issue-bot commented 1 month ago

Hi @famanalytics0

Thanks for submitting your package. We are taking a quick look at it and you will hear back from us soon.

The DESCRIPTION file for this package is:

Package: MultiModalGraphics
Title: MultiModalGraphics: An R Package for Graphical Integration of Multimodal Datasets
Version: 0.99.0
Authors@R: 
    person("Seid", "Muhie", , "yimersm@gmail.com", role = c("aut", "cre"),
 comment = c(ORCID = "0000-0003-3409-049X"))
Authors: Foziya Ahmed Mohammed <foziya.ahmed@aastu.edu.et>, 
Malick Fall <malick.fall@gmail.com>, 
Kula Kekeba Tune <kula.kakeba@aastu.edu.et>, 
Rasha Hammamieh <rasha.hammamieh1.civ@health.mil>, 
Marti Jett <amaranth.mj@gmail.com>, 
Seid Muhie <yimersm@gmail.com>
Description: The MultimodalGraphics R package provides rich functionalities for combining different data types 
  into an integrative visual representation. This package facilitates the creation of intuitive visualization 
  that merge multiple streams of data into a single coherent graphic. 
  Features of MultimodalGraphics include: (i) flexible support for inclusion of statistical outputs 
  such as error margins, standard deviations, p-values or any other statistical modelling outputs; 
  (ii) the ability to add any symbol, text, image, special character or any object at any site of the drawing canvas; 
  (iii) user-customization of the graphical grids for more advanced visualization of complex information; 
  (iv) interactive selection on different graphical presentations to obtain subset of rows and columns 
  if the visualizations are rendered on an interactive device (e.g. shiny, X11) and 
  (v) the ability to add more customized graphics after main graphics objects are created. 
  MultimodalGraphics is designed to be modularized, and its flexibility and extensibility enables 
  a comprehensible presentation of multimodal and multidimensional datasets.
  We demonstrate the utility of MultimodalGraphics to easily reveal patterns and correlations 
  among multiple sources of information with three different sets of actual multimodal datasets.
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
Imports: 
    ComplexHeatmap,
    dplyr,
    ggplot2,
    RColorBrewer
Suggests:
    knitr,
    testthat,
    rmarkdown
biocViews: Software, Visualization
URL: https://github.com/famanalytics0/MultiModalGraphics
BugReports: https://github.com/famanalytics0/MultiModalGraphics/issues
VignetteBuilder: knitr
lshep commented 1 week ago
smuhie commented 1 week ago

Hi thanks a lot for the feedbacks. We will take care of the comments. By the way, when we run the R CMD check, we do not see errors and warning, we see only some notes. Is it possible to share the errors and warning you encountered? Again thanks a lot. Warm regards famanalytics0

lshep commented 1 week ago
R CMD check MultiModalGraphics_0.99.0.tar.gz 
* using log directory '/home/lorikern/PkgReview/PreReview/MultiModalGraphics.Rcheck'
* using R version 4.4.0 Patched (2024-04-30 r86503)
* using platform: x86_64-pc-linux-gnu
* R was compiled by
    gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
    GNU Fortran (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
* running under: Ubuntu 22.04.4 LTS
* using session charset: UTF-8
* checking for file 'MultiModalGraphics/DESCRIPTION' ... OK
* this is package 'MultiModalGraphics' version '0.99.0'
* package encoding: UTF-8
* checking package namespace information ... NOTE
Found export directive that requires package 'methods':
  'exportMethods'
Remove all such namespace directives (if obsolete) or ensure that the
DESCRIPTION Depends or Imports field contains 'methods'.
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package 'MultiModalGraphics' can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking 'build' directory ... OK
* checking DESCRIPTION meta-information ... NOTE
License stub is invalid DCF.
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking code 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 ... NOTE
Warning: no function found corresponding to methods exports from ‘MultiModalGraphics’ for: ‘show’

A namespace must be able to be loaded with just the base namespace
loaded: otherwise if the namespace gets loaded by a saved object, the
session will be unable to start.

Probably some imports need to be declared in the NAMESPACE file.
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... NOTE
package 'methods' is used but not declared
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... NOTE
ClearScatterplot: no visible global function definition for ‘new’
MultifeatureGrid: no visible global function definition for ‘new’
create_plot: no visible binding for global variable ‘.data’
create_plot: no visible global function definition for ‘%>%’
create_plot: no visible binding for global variable ‘n1’
create_plot: no visible binding for global variable ‘n2’
InformativeHeatmap,ANY : custom_layer_fun: no visible global function
  definition for ‘restore_matrix’
InformativeHeatmap,ANY : custom_layer_fun: no visible global function
  definition for ‘grid.points’
InformativeHeatmap,ANY : custom_layer_fun: no visible global function
  definition for ‘gpar’
InformativeHeatmap,ANY : custom_layer_fun: no visible global function
  definition for ‘unit’
InformativeHeatmap,ANY: no visible global function definition for ‘new’
plot_heatmap,MultifeatureGrid: no visible binding for global variable
  ‘signaling’
plot_heatmap,MultifeatureGrid: no visible binding for global variable
  ‘tissue’
plot_heatmap,MultifeatureGrid: no visible binding for global variable
  ‘Activation_z_score’
plot_heatmap,MultifeatureGrid: no visible binding for global variable
  ‘neglog10p’
plot_heatmap,MultifeatureGrid: no visible binding for global variable
  ‘.data’
Undefined global functions or variables:
  %>% .data Activation_z_score gpar grid.points n1 n2 neglog10p new
  restore_matrix signaling tissue unit
Consider adding
  importFrom("methods", "new")
to your NAMESPACE file (and ensure that your DESCRIPTION Imports field
contains 'methods').
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... WARNING
Undocumented code objects:
  ‘createPlot’ ‘getHeatmapObject’ ‘plot_heatmap’ ‘updateLayerFun’
All user-level objects in a package should have documentation entries.
See chapter 'Writing R documentation files' in the 'Writing R
Extensions' manual.
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... WARNING
Undocumented arguments in Rd file 'ClearScatterplot.Rd'
  ‘...’

Undocumented arguments in Rd file 'createPlot-ClearScatterplot-method.Rd'
  ‘negLog10pValue’ ‘xAxis’ ‘yAxis’

Functions with \usage entries need to have the appropriate \alias
entries, and all their arguments documented.
The \usage entries must correspond to syntactically valid R code.
See chapter 'Writing R documentation files' in the 'Writing R
Extensions' manual.
* 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 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 'MultiModalGraphics-Ex.R' failed
The error most likely occurred in:

> ### Name: ClearScatterplot
> ### Title: ClearScatterplot: A Class for Enhanced Scatterplot
> ### Aliases: ClearScatterplot
> 
> ### ** Examples
> 
> data <- data.frame(
+   timePoint = c("T0", "T1"), p = runif(10),
+   log2fc = runif(10, -2, 2)
+ )
> scatterplot <- ClearScatterplot(
+   data = data, pValueColumn = "p",
+   expressionColumnName = "log2fc"
+ )
Error in `$<-.data.frame`(`*tmp*`, "color_flag", value = logical(0)) : 
  replacement has 0 rows, data has 10
Calls: ClearScatterplot -> $<- -> $<-.data.frame
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 ... OK
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE

Status: 1 ERROR, 2 WARNINGs, 5 NOTEs
See
  '/home/lorikern/PkgReview/PreReview/MultiModalGraphics.Rcheck/00check.log'
for details.
lshep commented 1 week ago
> sessionInfo()
R version 4.4.0 Patched (2024-04-30 r86503)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.4 LTS

Matrix products: default
BLAS:   /home/lorikern/R-Installs/bin/R-4-4-branch/lib/libRblas.so 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

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       

time zone: America/New_York
tzcode source: system (glibc)

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

other attached packages:
[1] praise_1.0.0        BiocManager_1.30.23

loaded via a namespace (and not attached):
 [1] tidyselect_1.2.1          dplyr_1.1.4              
 [3] blob_1.2.4                filelock_1.0.3           
 [5] bitops_1.0-7              fastmap_1.2.0            
 [7] RCurl_1.98-1.14           BiocFileCache_2.13.0     
 [9] XML_3.99-0.16.1           digest_0.6.35            
[11] lifecycle_1.0.4           cluster_2.1.6            
[13] processx_3.8.4            RSQLite_2.3.6            
[15] magrittr_2.0.3            compiler_4.4.0           
[17] MultiModalGraphics_0.99.0 rlang_1.1.3              
[19] tools_4.4.0               utf8_1.2.4               
[21] knitr_1.46                askpass_1.2.0            
[23] bit_4.0.5                 curl_5.2.1               
[25] xml2_1.3.6                RColorBrewer_1.1-3       
[27] withr_3.0.0               purrr_1.0.2              
[29] BiocGenerics_0.51.0       sys_3.4.2                
[31] grid_4.4.0                stats4_4.4.0             
[33] fansi_1.0.6               colorspace_2.1-0         
[35] ggplot2_3.5.1             scales_1.3.0             
[37] iterators_1.0.14          cli_3.6.2                
[39] crayon_1.5.2              generics_0.1.3           
[41] stringdist_0.9.12         httr_1.4.7               
[43] rjson_0.2.21              BiocBaseUtils_1.7.0      
[45] RUnit_0.4.33              DBI_1.2.2                
[47] cachem_1.1.0              rvest_1.0.4              
[49] parallel_4.4.0            matrixStats_1.3.0        
[51] vctrs_0.6.5               jsonlite_1.8.8           
[53] callr_3.7.6               IRanges_2.39.0           
[55] GetoptLong_1.0.5          S4Vectors_0.43.0         
[57] bit64_4.0.5               RBGL_1.81.0              
[59] clue_0.3-65               credentials_2.0.1        
[61] foreach_1.5.2             glue_1.7.0               
[63] codetools_0.2-20          ps_1.7.6                 
[65] shape_1.4.6.1             gtable_0.3.5             
[67] BiocCheck_1.41.0          munsell_0.5.1            
[69] ComplexHeatmap_2.21.0     tibble_3.2.1             
[71] pillar_1.9.0              rappdirs_0.3.3           
[73] openssl_2.2.0             graph_1.83.0             
[75] circlize_0.4.16           R6_2.5.1                 
[77] dbplyr_2.5.0              httr2_1.0.1              
[79] gert_2.0.1                doParallel_1.0.17        
[81] Biobase_2.65.0            png_0.1-8                
[83] memoise_2.0.1             xfun_0.44                
[85] biocViews_1.73.0          pkgconfig_2.0.3          
[87] GlobalOptions_0.1.2      
smuhie commented 1 week ago

Got it. Thank you so much for your help. Warm regards

famanalytics0 commented 5 days ago

Hello Dear lshep,

  1. Please include package level man page so a naive users that does ?MultiModalGraphics would have starting information

The current version includes package level man page which can be accessed using ?MultiModalGraphics

  1. It would be good to provide a vignette, perhaps entitled MultiModalGraphics, that provided an overview of what the package provides and provides an abstract/intro section in your vignette that provides motivation for inclusion in Bioconductor and when appropriate a review and comparison to existing Bioconductor packages with similar functionality or scope.

Vignette, titled MultiModalGraphics, is provides (it include introduction and the functionalities along with examples for each of the S4 classes of the package); we are planning to include alternative examples to clearly show more utility of the functions of the package.

  1. Is there a way to incorporate additional examples in the vignette that utilizes a common Bioconductor class strucutre?

Examples for each class are added in the current version of the vignette

  1. Please note when I run R CMD check there are ERROR, Warnings, and Notes. Ensure these are cleaned up to speed up the review process.

All issues leading to errors and warnings are addressed (R CMD checked), and also addressed Notes related changes (except a couple of them)

Please look at the updated package and let us know if we need to address additional issues or improvements. Thank you so much for your time, and for your input which greatly helped to improve our package.

Warm regards

famanlaytics0

lshep commented 4 days ago

I still don't see any interop with common Bioconductor classes. See common classes. It would be great to show how this could interact with say a SummarizedExperiment?

famanalytics0 commented 4 days ago

Hello @Ishep Thanks a lot for your prompt feedback Yes, we did not address this particular aspect (thinking that it is not required right now though we are planning to address this at later time). Okay, we will try to have inter op with any of the linked packages. Again thank you very much for your help. Warm regards famanlytics0