Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

immApex #3497

Closed ncborcherding closed 2 weeks ago

ncborcherding commented 3 months 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 3 months ago

Hi @ncborcherding

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: immApex
Title: Tools for Adaptive Immune Receptor Sequence-Based Keras Modeling
Version: 0.99.0
Date: 2024-07-15
Authors@R: c(
    person(given = "Nick", family = "Borcherding", role = c("aut", "cre"), email = "ncborch@gmail.com"))
Description: A set of tools to build tensorflow/keras-based models in R from amino acid and nucleotide sequences focusing on adaptive immune receptors. The package includes pre-processing of sequences, unifying gene nomenclature usage, encoding sequences, and combining models. This package will serve as the basis of future immune receptor sequence functions/packages/models compatible with the scRepertoire ecosystem.
License: MIT + file LICENSE 
Encoding: UTF-8
LazyData: true
LazyDataCompression: xz
RoxygenNote: 7.3.1
biocViews: Software, ImmunoOncology, SingleCell, Classification, Annotation, Sequencing
Depends: 
    R (>= 4.0)
Imports: dplyr,
    hash,
    httr,
    keras,
    matrixStats,
    methods,
    rvest,
    SingleCellExperiment,
    stats,
    stringi,
    stringr,
    tensorflow
Suggests: 
    BiocStyle,
    ggplot2,
    knitr,
    markdown,
    rmarkdown, 
    scRepertoire,
    spelling,
        testthat,
    viridis
VignetteBuilder: knitr
Language: en-US
URL: https://github.com/ncborcherding/Apex/
BugReports: https://github.com/ncborcherding/Apex/issues
lshep commented 3 months ago

We recommend renaming the vignette to something meaningful (like the name of the package) to avoid naming/loading conflicts.

Is the resource at https://www.imgt.org/ required as a step in your process? If so what is the licensing of this data and use of imgt? If it is different than your package (which it does seem so) and restrictive for use at all this should disclosed to the end user. And make sure your access and use case is permitted

ncborcherding commented 3 months ago

@lshep

Thanks for the feedback -

  1. To clarify - you are saying rename the file vignette.Rmd to something unique and package related? Not the title of the vignette, which is "Making Deep Learning Models with immApex".
  2. The imgt step is not required, the data is under a CC BY-NC-ND 4.0, so it would be more restrictive than the MIT license for immApex - where would you like me to add the information? In DESCRIPTION?
lshep commented 3 months ago
  1. yes rename the file not the title
  2. In the README and vignette where it is mentioned. and maybe a message when someone goes to use the function to make them aware its different licensing should be sufficient.

Cheers

ncborcherding commented 3 months ago

Everything is updated - thanks for the suggestions!

lshep commented 3 months ago

We can move this to the next stage of getting builds but when a reviewer is assigned they will likely look for a message to be printed when the getIMGT function is run about the restrictive license as well.

bioc-issue-bot commented 3 months ago

Your package has been added to git.bioconductor.org to continue the pre-review process. A build report will be posted shortly. Please fix any ERROR and WARNING in the build report before a reviewer is assigned or provide a justification on why you feel the ERROR or WARNING should be granted an exception.

IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. All changes should be pushed to git.bioconductor.org moving forward. It is required to push a version bump to git.bioconductor.org to trigger a new build report.

Bioconductor utilized your github ssh-keys for git.bioconductor.org access. To manage keys and future access you may want to active your Bioconductor Git Credentials Account

bioc-issue-bot commented 3 months ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: immApex_0.99.0.tar.gz Linux (Ubuntu 22.04.3 LTS): immApex_0.99.0.tar.gz

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 months ago

A reviewer has been assigned to your package for an indepth review. Please respond accordingly to any further comments from the reviewer.

PeteHaitch commented 3 months ago

Hi @ncborcherding,

On my Apple M1 MacBook Air, I'm unable to build immApex with its vignettes; see below:

R_ENVIRON_USER=~/.Renviron.bioc R CMD build .
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘immApex’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘immApex.Rmd’ using knitr
/Users/peter/.virtualenvs/r-tensorflow/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(

Quitting from lines 105-113 [unnamed-chunk-6] (immApex.Rmd)
Error: processing vignette 'immApex.Rmd' failed with diagnostics:
no applicable method for 'compile' applied to an object of class "c('keras.src.models.functional.Functional', 'keras.models.functional.Functional', 'keras.src.ops.function.Function', 'keras.ops.function.Function', 'keras.src.models.model.Model', 'keras.models.model.Model', 'keras.src.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.src.trainers.trainer.Trainer', 'keras.trainers.trainer.Trainer', 'keras.src.layers.layer.Layer', 'keras.layers.layer.Layer', 'keras.src.backend.tensorflow.layer.TFLayer', 'keras.backend.tensorflow.layer.TFLayer', 'keras.src.backend.tensorflow.trackable.KerasAutoTrackable', 'keras.backend.tensorflow.trackable.KerasAutoTrackable', 'tensorflow.python.trackable.autotrackable.AutoTrackable', 'tensorflow.python.trackable.base.Trackable', 'keras.src.ops.operation.Operation', 'keras.ops.operation.Operation', 'keras.src.saving.keras_saveable.KerasSaveable', 'keras.saving.keras_saveable.KerasSaveable', 'python.builtin.object')"
--- failed re-building ‘immApex.Rmd’

SUMMARY: processing the following file failed:
  ‘immApex.Rmd’

Error: Vignette re-building failed.
Execution halted

Building immApex without vignettes (i.e. ~/.Renviron.bioc R CMD build --no-build-vignettes), I can narrow the issue down to the first call to variationalSequences() in the vignette:

library(immApex)

sequences <- generateSequences(prefix.motif = "CAS",
                               suffix.motif = "YF",
                               number.of.sequences = 1000,
                               min.length = 8,
                               max.length = 16)
variational.sequences <- variationalSequences(sequences, 
                                              encoder = "onehotEncoder",
                                              number.of.sequences = 100,
                                              encoder.hidden.dim = c(256, 128),
                                              latent.dim = 16,
                                              batch.size = 16, 
                                              call.threshold = 0.1)
#> [1] "Converting to matrix...."
#> [1] "Padding sequences..."
#> [1] "One Hot Encoding sequences..."
#> [1] "Preparing a matrix..."
#> Error in UseMethod("compile"): no applicable method for 'compile' applied to an object of class "c('keras.src.models.functional.Functional', 'keras.models.functional.Functional', 'keras.src.ops.function.Function', 'keras.ops.function.Function', 'keras.src.models.model.Model', 'keras.models.model.Model', 'keras.src.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.src.trainers.trainer.Trainer', 'keras.trainers.trainer.Trainer', 'keras.src.layers.layer.Layer', 'keras.layers.layer.Layer', 'keras.src.backend.tensorflow.layer.TFLayer', 'keras.backend.tensorflow.layer.TFLayer', 'keras.src.backend.tensorflow.trackable.KerasAutoTrackable', 'keras.backend.tensorflow.trackable.KerasAutoTrackable', 'tensorflow.python.trackable.autotrackable.AutoTrackable', 'tensorflow.python.trackable.base.Trackable', 'keras.src.ops.operation.Operation', 'keras.ops.operation.Operation', 'keras.src.saving.keras_saveable.KerasSaveable', 'keras.saving.keras_saveable.KerasSaveable', 'python.builtin.object')"
Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.4.1 (2024-06-14) #> os macOS Sonoma 14.5 #> system aarch64, darwin20 #> ui X11 #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz Australia/Melbourne #> date 2024-08-14 #> pandoc 3.2 @ /usr/local/bin/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> abind 1.4-5 2016-07-21 [1] CRAN (R 4.4.0) #> base64enc 0.1-3 2015-07-28 [1] CRAN (R 4.4.0) #> Biobase 2.65.0 2024-05-04 [1] Bioconductor 3.20 (R 4.4.0) #> BiocGenerics 0.51.0 2024-05-04 [1] Bioconductor 3.20 (R 4.4.0) #> cli 3.6.3 2024-06-21 [1] CRAN (R 4.4.0) #> crayon 1.5.3 2024-06-20 [1] CRAN (R 4.4.0) #> DelayedArray 0.31.11 2024-08-04 [1] Bioconductor 3.20 (R 4.4.1) #> digest 0.6.36 2024-06-23 [1] CRAN (R 4.4.0) #> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.4.0) #> evaluate 0.24.0 2024-06-10 [1] CRAN (R 4.4.0) #> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.0) #> fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.0) #> fs 1.6.4 2024-04-25 [1] CRAN (R 4.4.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0) #> GenomeInfoDb 1.41.1 2024-05-24 [1] Bioconductor 3.20 (R 4.4.0) #> GenomeInfoDbData 1.2.12 2024-03-28 [1] Bioconductor #> GenomicRanges 1.57.1 2024-06-12 [1] Bioconductor 3.20 (R 4.4.1) #> glue 1.7.0 2024-01-09 [1] CRAN (R 4.4.0) #> hash 2.2.6.3 2023-08-19 [1] CRAN (R 4.4.0) #> htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0) #> httr 1.4.7 2023-08-15 [1] CRAN (R 4.4.0) #> immApex * 0.99.0 2024-08-14 [1] Bioconductor #> IRanges 2.39.2 2024-07-17 [1] Bioconductor 3.20 (R 4.4.1) #> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.4.0) #> keras 2.15.0 2024-04-20 [1] CRAN (R 4.4.0) #> knitr 1.48 2024-07-07 [1] CRAN (R 4.4.0) #> lattice 0.22-6 2024-03-20 [1] CRAN (R 4.4.1) #> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.0) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.4.0) #> Matrix 1.7-0 2024-04-26 [1] CRAN (R 4.4.1) #> MatrixGenerics 1.17.0 2024-05-04 [1] Bioconductor 3.20 (R 4.4.0) #> matrixStats 1.3.0 2024-04-11 [1] CRAN (R 4.4.0) #> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.4.0) #> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.4.0) #> png 0.1-8 2022-11-29 [1] CRAN (R 4.4.0) #> R6 2.5.1 2021-08-19 [1] CRAN (R 4.4.0) #> Rcpp 1.0.13 2024-07-17 [1] CRAN (R 4.4.0) #> reprex 2.1.1 2024-07-06 [1] CRAN (R 4.4.0) #> reticulate 1.38.0 2024-06-19 [1] CRAN (R 4.4.0) #> rlang 1.1.4 2024-06-04 [1] CRAN (R 4.4.0) #> rmarkdown 2.27 2024-05-17 [1] CRAN (R 4.4.0) #> rstudioapi 0.16.0 2024-03-24 [1] CRAN (R 4.4.0) #> rvest 1.0.4 2024-02-12 [1] CRAN (R 4.4.0) #> S4Arrays 1.5.7 2024-08-06 [1] Bioconductor 3.20 (R 4.4.1) #> S4Vectors 0.43.2 2024-07-17 [1] Bioconductor 3.20 (R 4.4.1) #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.4.0) #> SingleCellExperiment 1.27.2 2024-05-24 [1] Bioconductor 3.20 (R 4.4.0) #> SparseArray 1.5.31 2024-08-04 [1] Bioconductor 3.20 (R 4.4.1) #> stringi 1.8.4 2024-05-06 [1] CRAN (R 4.4.0) #> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.4.0) #> SummarizedExperiment 1.35.1 2024-06-28 [1] Bioconductor 3.20 (R 4.4.1) #> tensorflow 2.16.0 2024-04-15 [1] CRAN (R 4.4.0) #> tfruns 1.5.3 2024-04-19 [1] CRAN (R 4.4.0) #> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.4.0) #> tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.4.0) #> UCSC.utils 1.1.0 2024-05-04 [1] Bioconductor 3.20 (R 4.4.0) #> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.0) #> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.0) #> whisker 0.4.1 2022-12-05 [1] CRAN (R 4.4.0) #> withr 3.0.1 2024-07-31 [1] CRAN (R 4.4.0) #> xfun 0.46 2024-07-18 [1] CRAN (R 4.4.0) #> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.4.0) #> XVector 0.45.0 2024-05-04 [1] Bioconductor 3.20 (R 4.4.0) #> yaml 2.3.10 2024-07-26 [1] CRAN (R 4.4.0) #> zeallot 0.1.0 2018-01-28 [1] CRAN (R 4.4.0) #> zlibbioc 1.51.1 2024-06-05 [1] Bioconductor 3.20 (R 4.4.0) #> #> [1] /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library #> #> ─ Python configuration ─────────────────────────────────────────────────────── #> python: /Users/peter/.virtualenvs/r-tensorflow/bin/python #> libpython: /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/config-3.9-darwin/libpython3.9.dylib #> pythonhome: /Users/peter/.virtualenvs/r-tensorflow:/Users/peter/.virtualenvs/r-tensorflow #> version: 3.9.6 (default, Feb 3 2024, 15:58:27) [Clang 15.0.0 (clang-1500.3.9.4)] #> numpy: /Users/peter/.virtualenvs/r-tensorflow/lib/python3.9/site-packages/numpy #> numpy_version: 1.26.4 #> tensorflow: /Users/peter/.virtualenvs/r-tensorflow/lib/python3.9/site-packages/tensorflow #> #> NOTE: Python version was forced by VIRTUAL_ENV #> #> ────────────────────────────────────────────────────────────────────────────── ```

I think my setup is a fairly standard one for Apple Silicon (I installed tensorflow using tensorflow::install_tensorflow()). Have you tested immApex on Apple Silicon? If so, is anything special required to install and/or use it?

Thanks, Pete

ncborcherding commented 2 months ago

@PeteHaitch

Apologies for the delay in response - I wrote the package on Apple Silicon laptop so it is compatible and runs. Let me take a look at your details tomorrow and see if I can troubleshoot.

Thanks, Nick

PeteHaitch commented 2 months ago

Thanks. Let me know if there's anything I can do to help

ncborcherding commented 2 months ago

@PeteHaitch

Coincidentally I got a brand new Mac today - so I have a completely fresh install. I was able to replicate the issue:

devtools::check()
══ Documenting ══════════════════════════════════════════════════════════════════
ℹ Updating immApex documentation
ℹ Loading immApex

══ Building ═════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ──────────────────────────────────────────────────────────────────
✔  checking for file ‘/Users/borcherding.n/Documents/GitHub/immApex/DESCRIPTION’ ...
─  preparing ‘immApex’:
✔  checking DESCRIPTION meta-information
─  installing the package to build vignettes
E  creating vignettes (48.5s)
   --- re-building ‘immApex.Rmd’ using knitr
   /Users/borcherding.n/.virtualenvs/r-tensorflow/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
     warnings.warn(

   Quitting from lines 105-113 [unnamed-chunk-6] (immApex.Rmd)
   Error: processing vignette 'immApex.Rmd' failed with diagnostics:
   no applicable method for 'compile' applied to an object of class "c('keras.src.models.functional.Functional', 'keras.models.functional.Functional', 'keras.src.ops.function.Function', 'keras.ops.function.Function', 'keras.src.models.model.Model', 'keras.models.model.Model', 'keras.src.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.src.trainers.trainer.Trainer', 'keras.trainers.trainer.Trainer', 'keras.src.layers.layer.Layer', 'keras.layers.layer.Layer', 'keras.src.backend.tensorflow.layer.TFLayer', 'keras.backend.tensorflow.layer.TFLayer', 'keras.src.backend.tensorflow.trackable.KerasAutoTrackable', 'keras.backend.tensorflow.trackable.KerasAutoTrackable', 'tensorflow.python.trackable.autotrackable.AutoTrackable', 'tensorflow.python.trackable.base.Trackable', 'keras.src.ops.operation.Operation', 'keras.ops.operation.Operation', 'keras.src.saving.keras_saveable.KerasSaveable', 'keras.saving.keras_saveable.KerasSaveable', 'python.builtin.object')"
   --- failed re-building ‘immApex.Rmd’

   SUMMARY: processing the following file failed:
     ‘immApex.Rmd’

   Error: Vignette re-building failed.
   Execution halted
Error in `(function (command = NULL, args = character(), error_on_status = TRUE, …`:
! System command 'R' failed
---
Exit status: 1
stdout & stderr: <printed>
---
Type .Last.error to see the more details.

From what I found in several github issues - this seems to be an issue with tensorflow versions and disagreement with keras vs tensorflow.

I was able to solve the problem by just using the keras installer to set up the system (which seems to take care of the version mismatches). I have updated the repo to change the set up instructions for this:

keras::install_keras()

Here are my outputs after making the change:

devtools::check()
══ Documenting ══════════════════════════════════════════════════════════════════
ℹ Updating immApex documentation
ℹ Loading immApex

══ Building ═════════════════════════════════════════════════════════════════════
Setting env vars:
• CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
• CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always

• CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX14FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX17FLAGS: -Wall -pedantic -fdiagnostics-color=always
• CXX20FLAGS: -Wall -pedantic -fdiagnostics-color=always
── R CMD build ──────────────────────────────────────────────────────────────────
✔  checking for file ‘/Users/borcherding.n/Documents/GitHub/immApex/DESCRIPTION’ ...
─  preparing ‘immApex’:
✔  checking DESCRIPTION meta-information ...
─  installing the package to build vignettes
✔  creating vignettes (51.6s)
─  checking for LF line-endings in source and make files and shell scripts (436ms)
─  checking for empty or unneeded directories
─  building ‘immApex_0.99.0.tar.gz’

══ Checking ═════════════════════════════════════════════════════════════════════
Setting env vars:
• _R_CHECK_CRAN_INCOMING_REMOTE_               : FALSE
• _R_CHECK_CRAN_INCOMING_                      : FALSE
• _R_CHECK_FORCE_SUGGESTS_                     : FALSE
• _R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_: FALSE
• NOT_CRAN                                     : true
── R CMD check ──────────────────────────────────────────────────────────────────
─  using log directory ‘/private/var/folders/g4/n0vf5jk16jl5b66c82xysg7m0000gp/T/RtmpnRfxeB/file27f2b0bbab7/immApex.Rcheck’
─  using R version 4.4.1 (2024-06-14)
─  using platform: aarch64-apple-darwin20
─  R was compiled by
       Apple clang version 14.0.0 (clang-1400.0.29.202)
       GNU Fortran (GCC) 12.2.0
─  running under: macOS Sonoma 14.6
─  using session charset: UTF-8
─  using options ‘--no-manual --as-cran’
✔  checking for file ‘immApex/DESCRIPTION’
─  this is package ‘immApex’ version ‘0.99.0’
─  package encoding: UTF-8
✔  checking package namespace information
✔  checking package dependencies (1.1s)
✔  checking if this is a source package ...
✔  checking if there is a namespace
✔  checking for executable files ...
✔  checking for hidden files and directories
✔  checking for portable file names
✔  checking for sufficient/correct file permissions
─  checking whether package ‘immApex’ can be installed ... [22s/22s] OK (22.5s)
N  checking installed package size ...
     installed size is  5.5Mb
     sub-directories of 1Mb or more:
       data   5.1Mb
✔  checking package directory ...
✔  checking for future file timestamps (362ms)
✔  checking ‘build’ directory
N  checking DESCRIPTION meta-information ...
   License stub is invalid DCF.
✔  checking top-level files ...
✔  checking for left-over files ...
✔  checking index information ...
✔  checking package subdirectories (525ms)
✔  checking code files for non-ASCII characters ...
✔  checking R files for syntax errors ...
✔  checking whether the package can be loaded (2.4s)
✔  checking whether the package can be loaded with stated dependencies (2.4s)
✔  checking whether the package can be unloaded cleanly (2.4s)
✔  checking whether the namespace can be loaded with stated dependencies (2.3s)
✔  checking whether the namespace can be unloaded cleanly (2.4s)
✔  checking whether startup messages can be suppressed (4.8s)
✔  checking dependencies in R code (2.4s)
✔  checking S3 generic/method consistency (2.4s)
✔  checking replacement functions (2.4s)
✔  checking foreign function calls (2.4s)
─  checking R code for possible problems ... [11s/12s] OK (12s)
✔  checking Rd files ...
✔  checking Rd metadata ...
✔  checking Rd line widths ...
✔  checking Rd cross-references ...
✔  checking for missing documentation entries (3.2s)
✔  checking for code/documentation mismatches (8s)
✔  checking Rd \usage sections (2.6s)
✔  checking Rd contents ...
✔  checking for unstated dependencies in examples ...
✔  checking contents of ‘data’ directory (704ms)
✔  checking data for non-ASCII characters (1s)
✔  checking LazyData
✔  checking data for ASCII and uncompressed saves ...
✔  checking installed files from ‘inst/doc’ ...
✔  checking files in ‘vignettes’ ...
─  checking examples ... [15s/13s] OK (13.2s)
   Examples with CPU (user + system) or elapsed time > 5s
                  user system elapsed
   onehotEncoder 0.921  4.219   0.329
✔  checking for unstated dependencies in ‘tests’ ...
─  checking tests ...
✔  Running ‘spelling.R’
X  Comparing ‘spelling.Rout’ to ‘spelling.Rout.save’ ...
   6,19c6
   < Potential spelling errors:
   <   WORD                   FOUND IN
   < Repo                   immApex.Rmd:27
   < VAE                    variationalSequences.Rd:49,51,53,55,62,75
   <                        immApex.Rmd:94,95,96,97,100
   < Variational            variationalSequences.Rd:5
   < de                     immApex.Rmd:81
   < github                 README.md:37
   < novo                   immApex.Rmd:81
   < sequenceDecoder        immApex.Rmd:346
   < variational            variationalSequences.Rd:74
   <                        immApex.Rmd:81
   < variationalSequences   immApex.Rmd:79,85
   < If these are false positive, run `spelling::update_wordlist()`.All Done!
   ---
   > All Done!
    [30s/31s] OKthat.R’
   * checking for unstated dependencies in vignettes ... OK
   * checking package vignettes ... OK
   * checking re-building of vignette outputs ... [48s/30s] OK
   * checking for non-standard things in the check directory ... OK
   * checking for detritus in the temp directory ... NOTE
   Found the following files/directories:
     ‘__autograph_generated_file3w5r58wt.py’
     ‘__autograph_generated_file7bu2j28d.py’
     ‘__autograph_generated_file99kbzltt.py’
     ‘__autograph_generated_file_82w73j9.py’
     ‘__autograph_generated_fileorh28exo.py’
     ‘__autograph_generated_fileoxoi_3li.py’
     ‘__autograph_generated_filerj0h2_s9.py’
     ‘__autograph_generated_filezx12su1j.py’
   * DONE

   Status: 3 NOTEs
   See
     ‘/private/var/folders/g4/n0vf5jk16jl5b66c82xysg7m0000gp/T/RtmpnRfxeB/file27f2b0bbab7/immApex.Rcheck/00check.log’
   for details.

── R CMD check results ────────────────────────────────────── immApex 0.99.0 ────
Duration: 2m 36.5s

❯ checking installed package size ... NOTE
    installed size is  5.5Mb
    sub-directories of 1Mb or more:
      data   5.1Mb

❯ checking DESCRIPTION meta-information ... NOTE
  License stub is invalid DCF.

❯ checking for detritus in the temp directory ... NOTE
  Found the following files/directories:
    ‘__autograph_generated_file3w5r58wt.py’
    ‘__autograph_generated_file7bu2j28d.py’
    ‘__autograph_generated_file99kbzltt.py’
    ‘__autograph_generated_file_82w73j9.py’
    ‘__autograph_generated_fileorh28exo.py’
    ‘__autograph_generated_fileoxoi_3li.py’
    ‘__autograph_generated_filerj0h2_s9.py’
    ‘__autograph_generated_filezx12su1j.py’

0 errors ✔ | 0 warnings ✔ | 3 notes ✖
sessionInfo() R version 4.4.1 (2024-06-14) Platform: aarch64-apple-darwin20 Running under: macOS Sonoma 14.6 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0 locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 time zone: America/Chicago tzcode source: internal attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] immApex_0.99.0 loaded via a namespace (and not attached): [1] remotes_2.5.0 testthat_3.2.1.1 [3] rlang_1.1.4 magrittr_2.0.3 [5] matrixStats_1.3.0 compiler_4.4.1 [7] roxygen2_7.3.2 png_0.1-8 [9] callr_3.7.6 vctrs_0.6.5 [11] reshape2_1.4.4 rvest_1.0.4 [13] stringr_1.5.1 profvis_0.3.8 [15] pkgconfig_2.0.3 crayon_1.5.3 [17] fastmap_1.2.0 XVector_0.44.0 [19] ellipsis_0.3.2 utf8_1.2.4 [21] promises_1.3.0 sessioninfo_1.2.2 [23] UCSC.utils_1.0.0 ps_1.7.7 [25] purrr_1.0.2 xfun_0.46 [27] zlibbioc_1.50.0 cachem_1.1.0 [29] GenomeInfoDb_1.40.1 jsonlite_1.8.8 [31] later_1.3.2 keras_2.15.0 [33] DelayedArray_0.30.1 parallel_4.4.1 [35] prettyunits_1.2.0 tensorflow_2.16.0 [37] R6_2.5.1 stringi_1.8.4 [39] reticulate_1.38.0 parallelly_1.38.0 [41] pkgload_1.4.0 brio_1.1.5 [43] GenomicRanges_1.56.1 Rcpp_1.0.13 [45] SummarizedExperiment_1.34.0 knitr_1.48 [47] future.apply_1.11.2 usethis_3.0.0 [49] base64enc_0.1-3 IRanges_2.38.1 [51] httpuv_1.6.15 Matrix_1.7-0 [53] igraph_2.0.3 tidyselect_1.2.1 [55] rstudioapi_0.16.0 abind_1.4-5 [57] codetools_0.2-20 miniUI_0.1.1.1 [59] curl_5.2.1 processx_3.8.4 [61] listenv_0.9.1 pkgbuild_1.4.4 [63] lattice_0.22-6 tibble_3.2.1 [65] plyr_1.8.9 Biobase_2.64.0 [67] shiny_1.9.1 withr_3.0.1 [69] future_1.34.0 desc_1.4.3 [71] urlchecker_1.0.1 xml2_1.3.6 [73] pillar_1.9.0 BiocManager_1.30.23 [75] MatrixGenerics_1.16.0 whisker_0.4.1 [77] stats4_4.4.1 generics_0.1.3 [79] sp_2.1-4 rprojroot_2.0.4 [81] xopen_1.0.1 S4Vectors_0.42.1 [83] ggplot2_3.5.1 munsell_0.5.1 [85] scales_1.3.0 globals_0.16.3 [87] xtable_1.8-4 glue_1.7.0 [89] tools_4.4.1 dotCall64_1.1-1 [91] fs_1.6.4 grid_4.4.1 [93] devtools_2.4.5 colorspace_2.1-1 [95] SingleCellExperiment_1.26.0 GenomeInfoDbData_1.2.12 [97] cli_3.6.3 tfruns_1.5.3 [99] rcmdcheck_1.4.0 spam_2.10-0 [101] fansi_1.0.6 S4Arrays_1.4.1 [103] dplyr_1.1.4 gtable_0.3.5 [105] hash_2.2.6.3 zeallot_0.1.0 [107] digest_0.6.36 progressr_0.14.0 [109] BiocGenerics_0.50.0 SparseArray_1.4.8 [111] SeuratObject_5.0.2 htmlwidgets_1.6.4 [113] memoise_2.0.1 htmltools_0.5.8.1 [115] lifecycle_1.0.4 httr_1.4.7 [117] mime_0.12
PeteHaitch commented 2 months ago

Can confirm that after running keras::install_keras() that R_ENVIRON_USER=~/.Renviron.bioc R CMD build . was successful. Thank you for resolving into this.

By the way, don't forget to push any changes, with a version bump, to git@git.bioconductor.org:packages/immApex to trigger a new build. I'll start my review of the the package next week.

PeteHaitch commented 2 months ago

Sorry for not yet posting my review. I had some unexpected personal stuff to deal with month and I'm now on annual leave until October. I expect that I'll be able to post my review whilst on leave, but please accept my apologies for the delay and slower-than-usual response.

ncborcherding commented 2 months ago

No problem, hope all is well. Thanks for the note.

PeteHaitch commented 1 month ago

Hi @ncborcherding,

Thank you for submitting immApex to Bioconductor, and especially for your patience for this review. I've completed my initial checklist review, below, and separated the issues into Required and Recommended points that I would ask you to address before the package can be accepted. Would you please provide line-by-line comments to my initial review so that I know what changes I'm looking for in my re-review.

A reminder when making changes to your repository to bump the version number and push to git@git.bioconductor.org:packages/immApex to trigger a new build.

Cheers, Pete


Required

% ls -lsh immApex_0.99.0.tar.gz 
24984 -rw-r--r--@ 1 peter  staff    12M Oct  7 11:20 immApex_0.99.0.tar.gz
% ls -lsh data/
total 4.1M
4.5K -rw-r--r-- 1 hickey lab0605 4.5K Oct  8 10:07 immapex_AA.data.rda
2.5K -rw-r--r-- 1 hickey lab0605 2.5K Oct  8 10:07 immapex_blosum.pam.matrices.rda
4.1M -rw-r--r-- 1 hickey lab0605 4.1M Oct  8 10:07 immapex_example.data.rda
 10K -rw-r--r-- 1 hickey lab0605 9.9K Oct  8 10:07 immapex_gene.list.rda
%  du -sh tests/testthat/
8.4M    tests/testthat/
% du -sh tests/testthat/testdata/*
2.5K    tests/testthat/testdata/adjacencyMatrix
4.9M    tests/testthat/testdata/formatGenes
13K     tests/testthat/testdata/generateSequences
165K    tests/testthat/testdata/geometricEncoder
29K     tests/testthat/testdata/getIMGT
2.2M    tests/testthat/testdata/inferCDR
37K     tests/testthat/testdata/mutateSequences
236K    tests/testthat/testdata/ohe.encoder
19K     tests/testthat/testdata/positional.encoding
5.0K    tests/testthat/testdata/probabilityMatrix
721K    tests/testthat/testdata/propertyEncoder
23K     tests/testthat/testdata/sequenceDecoder
53K     tests/testthat/testdata/tokenizeSequences

immApex built vignette immApex_built_vignette

immApex manually rendered vignette immApex_manually_rendered_vignette

Recommended

> BiocCheck::BiocCheck('immApex_0.99.0.tar.gz')
ℹ NOTE: 'LazyData:' in the 'DESCRIPTION' should be set to false or removed
ℹ NOTE: Update R version dependency from 4.0 to 4.4.0.
ℹ NOTE: Consider adding the maintainer's ORCID iD in 'Authors@R' with
ℹ NOTE: Avoid sapply(); use vapply()
Found in files:
• R/formatGenes.R (line 104, column 5)
• ...
• R/utils.R (line 49, column 21)
ℹ NOTE: Avoid 1:...; use seq_len() or seq_along()
Found in files:
• adjacencyMatrix.R (line 26, column 63)
• ...
• variationalSequences.R (line 134, column 27)
ℹ NOTE: Avoid 'cat' and 'print' outside of 'show' methods
Found in files:
• print() in R/generateSequences.R (line 36, column 7)
• ...
• print() in R/variationalSequences.R (line 200, column 3)
ℹ NOTE: Avoid using '=' for assignment and use '<-' instead
Found in files:
• R/geometricEncoder.R (line 49, column 15)
• ...
• R/variationalSequences.R (line 88, column 6)
! WARNING: Remove set.seed usage (found 1 times)
• set.seed() in R/variationalSequences.R (line 133, column 3)
! WARNING: Empty or missing \format sections found in data man page(s).
Found in files:
• man/immapex_AA.data.Rd
• ...
• man/immapex_gene.list.Rd
ℹ NOTE: Consider adding runnable examples to man pages that document exported
objects.
• getIR.Rd
• positionalEncoder.Rd
• variationalSequences.Rd
ℹ NOTE: Usage of dontrun / donttest tags found in man page examples. 5% of man
pages use at least one of these tags.
Found in files:
• variationalSequences.Rd
ℹ NOTE: Use donttest instead of dontrun.
Found in files:
• variationalSequences.Rd
ℹ NOTE: Consider adding a NEWS file, so your package news will be included in
Bioconductor release announcements.
── BiocCheck v1.41.17 results ──────────────────────────────────────────────────
✖ 0 ERRORS | ⚠ 2 WARNINGS | • 16 NOTES
ℹ See the immApex.BiocCheck folder and run
  browseVignettes(package = 'BiocCheck')
  for details.
ncborcherding commented 4 weeks ago

@PeteHaitch

Thank you for taking the time for the detailed review. Hope all is well on your end. I am slowly chipping away at the list and will let you know when I have adequately addressed them.

Thanks again, Nick

bioc-issue-bot commented 3 weeks ago

Received a valid push on git.bioconductor.org; starting a build for commit id: e6ff46906471360ca5d1d1899a6f52deeba2cc0f

bioc-issue-bot commented 3 weeks ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ncborcherding commented 3 weeks ago

@PeteHaitch

Sorry I see I need to track down this build issue, but I think I got the requested changes complete. I am also do not know how you would like me to respond, so I am copying the list you made here:

Required

Recommended

I will work on the build tomorrow and will send a quick update when I get it fixed.

Thanks, Nick

bioc-issue-bot commented 3 weeks ago

Received a valid push on git.bioconductor.org; starting a build for commit id: 5e264d80177b7a9fa206a879d1cef3bb6ff2432a

bioc-issue-bot commented 3 weeks ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 weeks ago

Received a valid push on git.bioconductor.org; starting a build for commit id: 5e5719a02b4ee2de28cf193c5ca5eb06241fc2f5

bioc-issue-bot commented 3 weeks ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 3 weeks ago

Received a valid push on git.bioconductor.org; starting a build for commit id: 4baed780ca31e7eb6b048e964da3d595bd63b1ed

bioc-issue-bot commented 3 weeks ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ncborcherding commented 3 weeks ago

@PeteHaitch

It looks like python 3.12 is incompatible with keras/tensorflow installation. I tried to get around this by detecting if keras has been installed, and then installing python 3.10 and keras (per line 23 in vignette):

if(!keras::is_keras_available()) {
  reticulate::install_python(version = '3.10')
  suppressMessages(keras::install_keras(python_version = "3.10"))
}

This seems to still cause the same error, with the system resorting to python 3.12. Not sure what I can do from my end - maybe invoke a virtualenv, install everything, and then proceed with the vignette? This seems like a pretty tenuous solution. The problem is I don't seem to be able to replicate the issue on my system.

Let me know what you think or if you have any suggestions.

Nick

LiNk-NY commented 3 weeks ago

Hi @PeteHaitch

  • [x] The vignette is not rendering properly in the built package, although it does when 'manually' rendered (e.g., via the knit button in RStudio). You can see the difference in the below screenshots. I've not seen this issue before, but perhaps @LiNk-NY can help understand what's happening?

I wasn't able to reproduce the rendering artifact. I installed the package with

R CMD build immApex
R CMD INSTALL immApex_0.99.4.tar.gz

and then opened the vignette in a browser via the command line with

browseVignettes(package = "immApex")

image

Best, Marcel

PeteHaitch commented 3 weeks ago

Hi @ncborcherding,

Thank you for addressing the initial review. I have some additional comments based on these changes and the discussion.

Cheers, Pete


It looks like python 3.12 is incompatible with keras/tensorflow installation. I tried to get around this by detecting if keras has been installed, and then installing python 3.10 and keras (per line 23 in vignette): This seems to still cause the same error, with the system resorting to python 3.12. Not sure what I can do from my end - maybe invoke a virtualenv, install everything, and then proceed with the vignette? This seems like a pretty tenuous solution. The problem is I don't seem to be able to replicate the issue on my system.

You must not install anything as part of the vignette.

I do not have a good understanding of the various versions of Python, tensorflow, and keras/keras3, that are available, nor how they well the interoperate. At times it feels like an ever-changing minefield...

However, I know that there has been considerable effort put into managing Python dependencies for Bioconductor packages. In particular, the basilisk package is designed to provide a consistent Python environment that can be used reliably by Bioconductor packages.

@vjcitn: Can you please advise @ncborcherding if basilisk would address their problem and how they might implement it?


In terms of other points:

✔ Checking for 'LazyData: true' usage... [10ms] ℹ NOTE: 'LazyData:' in the 'DESCRIPTION' should be set to false or removed ✖ ERROR: Installation calls found in vignette(s) ! WARNING: Remove set.seed usage (found 1 times) • set.seed() in R/variationalSequences.R (line 139, column 3) ! WARNING: Empty or missing \format sections found in data man page(s). Found in files: • man/immapex_AA.data.Rd • ... • man/immapex_gene.list.Rd ℹ NOTE: Consider adding runnable examples to man pages that document exported objects. • getIR.Rd • variationalSequences.Rd ℹ NOTE: Usage of dontrun / donttest tags found in man page examples. 5% of man pages use at least one of these tags. Found in files: • variationalSequences.Rd ℹ NOTE: Use donttest instead of dontrun.

bioc-issue-bot commented 3 weeks ago

Received a valid push on git.bioconductor.org; starting a build for commit id: 1655fda0d8426a7f2dd805464b9c6abdf81dbe32

bioc-issue-bot commented 3 weeks ago

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Single Package Builder.

On one or more platforms, the build results were: "skipped, ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

Links above active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/immApex to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ncborcherding commented 3 weeks ago

@PeteHaitch

Thanks again, I got the minor formatting issue done in the vignette, updated the getIMGT() per the guidelines you sent (https://contributions.bioconductor.org/querying-web-resources.html ), and went over the BiocCheck.

There are several remaining notes in BiocCheck, such as functions longer than 50 lines, lines > 80 characters, and multiples of 4 spaces.

It looks like the build is still erroring out due to the keras/python issue.

PeteHaitch commented 3 weeks ago

Thank you for making those changes, @ncborcherding, and for your constructive engagement throughout the review process.

I'm now happy to accept immApex into Bioconductor. Congratulations and thank you for your contribution!

Regarding the building/installation issues: since I've been able to successfully build and install it on my laptop, and we haven't heard back from @vjcitn, I'm happy to overlook this in favour of getting into the regular builds for the next Bioconductor release. Please keep a close eye on these builds and reach out on the bioc-devel mailing list or the Bioconductor Slack (particularly the #bioc-builds channel) if you need assistance in resolving any issues.

bioc-issue-bot commented 3 weeks ago

Your package has been accepted. It will be added to the Bioconductor nightly builds.

Thank you for contributing to Bioconductor!

Reviewers for Bioconductor packages are volunteers from the Bioconductor community. If you are interested in becoming a Bioconductor package reviewer, please see Reviewers Expectations.

ncborcherding commented 3 weeks ago

@PeteHaitch Thanks for the helpful and thoughtful comments!

lshep commented 2 weeks ago

The default branch of your GitHub repository has been added to Bioconductor's git repository as branch devel.

To use the git.bioconductor.org repository, we need an 'ssh' key to associate with your github user name. If your GitHub account already has ssh public keys (https://github.com/ncborcherding.keys is not empty), then no further steps are required. Otherwise, do the following:

  1. Add an SSH key to your github account
  2. Submit your SSH key to Bioconductor

See further instructions at

https://bioconductor.org/developers/how-to/git/

for working with this repository. See especially

https://bioconductor.org/developers/how-to/git/new-package-workflow/ https://bioconductor.org/developers/how-to/git/sync-existing-repositories/

to keep your GitHub and Bioconductor repositories in sync.

Your package will be included in the next nigthly 'devel' build (check-out from git at about 6 pm Eastern; build completion around 2pm Eastern the next day) at

https://bioconductor.org/checkResults/

(Builds sometimes fail, so ensure that the date stamps on the main landing page are consistent with the addition of your package). Once the package builds successfully, you package will be available for download in the 'Devel' version of Bioconductor using BiocManager::install("immApex"). The package 'landing page' will be created at

https://bioconductor.org/packages/immApex

If you have any questions, please contact the bioc-devel mailing list (https://stat.ethz.ch/mailman/listinfo/bioc-devel); this issue will not be monitored further.