Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

KoinaR - R package to interface with Koina web service #3392

Closed LLautenbacher closed 1 month ago

LLautenbacher commented 7 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 7 months ago

Hi @LLautenbacher

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: koinar
Type: Package
Title: koina - Community driven open-source service facilitating access to
  machine learning models for life science research  
Version: 0.99.0
Authors@R: c(person(given = "Ludwig", family = "Lautenbacher",
    email = "ludwig.lautenbacher@tum.de", role = c("aut", "cre"), comment=c(ORCID="0000-0002-1540-5911")),
  person(given = "Christian", family = "Panse", email = "cp@fgcz.ethz.ch", role = c("aut"),
    comment = c(ORCID = "0000-0003-1975-3064")))
Depends:
  R (>= 4.3)
Imports:
  httr,
  jsonlite,
  methods,
  utils
Suggests:
  BiocStyle (>= 2.26),
  knitr,
  protViz,
  lattice,
  testthat
Description: A client to simplify fetching predictions from the Koina web 
  service. Koina is a community driven endeavour to make AI models for life 
  science research more accessible. It is a service that tries to reduce the 
  barrier of entry for using machine learning models in life science research 
  by removing the need to set up and maintain the infrastructure required to 
  run ML models. The project is open-source and adheres to FAIR principles.
  More information can be found at https://koina.wilhelmlab.org/docs. 
License: Apache License 2.0
URL: https://github.com/wilhelm-lab/koina
BugReports: https://github.com/wilhelm-lab/koina/issues
Encoding: UTF-8
NeedsCompilation: no
RoxygenNote: 7.3.1
VignetteBuilder: knitr
biocViews: MassSpectrometry, Proteomics, Infrastructure, Software, ShinyApps
lshep commented 6 months ago

NEWS

General

LLautenbacher commented 5 months ago

HI Ishep, thank you for looking into this. I added an example with OrgMassSpecR. Biostrings is mostly nucleotide sequences and as such not really relevant for our package.

Let me know if I should add anything else!

LLautenbacher commented 5 months ago

Hi @lshep is there something still missing for moving this along?

lshep commented 5 months ago

OrgMassSpecR is not a Bioconductor package. Is there any Bioconductor workflows/infrastructure that this can tie into?

lshep commented 4 months ago

Any further comments on this?

LLautenbacher commented 4 months ago

Hi Ishep, sorry for the long stretch of inactivity. I was at a conference and then on vacation. I could create another usage example using rawrr. Would that be sufficient?

lshep commented 4 months ago

yes that would be sufficient

LLautenbacher commented 4 months ago

Hi Ishep, thank you for your patience! I just pushed a new version to my repo. I pivoted and decided to instead create an example using the msdata and Spectra Bioconductor packages. I hope that is alright as well.

bioc-issue-bot commented 4 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 4 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: "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: macOS 12.7.1 Monterey: koinar_0.99.2.tar.gz Linux (Ubuntu 22.04.3 LTS): koinar_0.99.2.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 4 months ago

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

bioc-issue-bot commented 4 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: "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: macOS 12.7.1 Monterey: koinar_0.99.3.tar.gz Linux (Ubuntu 22.04.3 LTS): koinar_0.99.3.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 4 months ago

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

bioc-issue-bot commented 4 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.

Congratulations! The package built without errors or warnings on all platforms.

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: koinar_0.99.4.tar.gz Linux (Ubuntu 22.04.3 LTS): koinar_0.99.4.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

LLautenbacher commented 3 months ago

Hi @lshep, thank you for your help so far! Do you believe it is feasible to be included in this year's Autumn release of Bioconductor?

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.

DarioS commented 2 months ago

KoinaR is an R package for submitting queries to a server of models and receiving predictions. The interoperability with Bioconductor is low and the documentation is not clear and very small. The connection to Bioconductor is unclear.

prosit2019
## Reference class object of class "Koina"
## Field "model_inputs":
## $peptide_sequences
## $peptide_sequences$shape
## $peptide_sequences$shape[[1]]
## [1] -1
## 
## $peptide_sequences$shape[[2]]
## [1] -1
## 
## 
## $peptide_sequences$datatype
## [1] "BYTES"
## 
## 
## $precursor_charges
## $precursor_charges$shape
## $precursor_charges$shape[[1]]
## [1] -1
## 
## $precursor_charges$shape[[2]]
## [1] 1
## 
## 
## $precursor_charges$datatype
## [1] "INT32"
## 
## 
## $collision_energies
## $collision_energies$shape
## $collision_energies$shape[[1]]
## [1] -1
## 
## $collision_energies$shape[[2]]
## [1] 1
## 
## 
## $collision_energies$datatype
## [1] "FP32"
## 
## 
## Field "model_outputs":
## $intensities
## $intensities$datatype
## [1] "FP32"
## 
## 
## $mz
## $mz$datatype
## [1] "FP32"
## 
## 
## $annotation
## $annotation$datatype
## [1] "BYTES"
## 
## 
## Field "batch_size":
## [1] 1000
## Field "response_dict":
## list()
## Field "model_name":
## [1] "Prosit_2019_intensity"
## Field "url":
## [1] "koina.wilhelmlab.org:443"
## Field "ssl":
## [1] TRUE
## Field "type_convert":
## $FP32
## [1] "float32"
## 
## $BYTES
## [1] "character"
## 
## $INT16
## [1] "integer"
## 
## $INT32
## [1] "integer"
## 
## $INT64
## [1] "integer"

For interoperability, most Bioconductor packages use S4 object-oriented system. Justify the necessity for using an R6 class.

library(Spectra)
## Loading required package: S4Vectors
## Warning: package 'S4Vectors' was built under R version 4.4.1
## Loading required package: stats4
## Loading required package: BiocGenerics
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
##     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
##     get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
##     match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
##     Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
##     tapply, union, unique, unsplit, which.max, which.min
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:utils':
## 
##     findMatches
## The following objects are masked from 'package:base':
## 
##     expand.grid, I, unname
## Loading required package: BiocParallel
## Loading required package: ProtGenerics
## 
## Attaching package: 'ProtGenerics'
## The following object is masked from 'package:stats':
## 
##     smooth
> input <- DataFrame(peptide_sequences = c("LGGNEQVTR", "GAGSSEPVTGLDAK"),
                     collision_energies = c(25, 25),
                     precursor_charges = c(1, 2))
> prediction_results <- prosit2019$predict(input)
Error in if (max <= min) stop("must have 'max' > 'min'") : 
  argument is of length zero
vjcitn commented 2 months ago

I would agree with Dario that more documentation is needed, especially at the highest level. Koina is a web service that "democratizes machine learning in proteomics". That's pretty broad. KoinaR mediates between R users and the web service. For a Bioconductor user the relevant issues would be relations between the classes used in proteomics and the values returned by the service. Can a function on an MSnSet push data to the service and return information readily that can be readily combined with the input? Does the package also simplify the creation of or use of completely de novo DL/ML functions, even written in R? Improved substantive content in your README and your DESCRIPTION are necessary to help reviewers and users understand the scope and limits of your offering.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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: Linux (Ubuntu 22.04.3 LTS): koinar_0.99.5.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "ABNORMAL". 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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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: Linux (Ubuntu 22.04.3 LTS): koinar_0.99.10.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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: "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: Linux (Ubuntu 22.04.3 LTS): koinar_0.99.11.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 2 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.

Congratulations! The package built without errors or warnings on all platforms.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): koinar_0.99.12.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

LLautenbacher commented 2 months ago

Thank you for your valuable feedback! Please excuse the limited adherence of the package to Bioconductor coding style guidelines. I started developing this package with the intention to publish on CRAN not Bioconductor. Only after the package was done and talking with my co-author he motivated me to publish via Bioconductor, to improve visibility ot the proteomics community.

@DarioS The Koina class has no show method. See Class Design. It floods the user's R console with a bulk of text. Thank you for pointing this out! I implemented a show function.

For interoperability, most Bioconductor packages use S4 object-oriented system. Justify the necessity for using an R6 class. I have only limited familiarity with the R class system. Coming from a background of using mostly python I found the structure enabled by setRefClass to be easiest to understand and make work. I could attempt to rewrite this as an S4 class but the benefit of this is not clear to me. The documentation only says it is preferred without giving an explanation. I also reached out on the Bioconductor Slack channel, so far the responses encouraged a discussion about this. Inline with the suggestions on Slack i added a helper function predictWithKoinaModel to give people the option to use pass-by-value or pass-by-reference syntax. In case the lack of this option motivated this comment.

Remove package loading clutter by hiding package loading messages in R Markdown using message = FALSE. Thank you for pointing this out! I implemented your fix for this issue.

Instead of data.frame in base R, Bioconductor has its own DataFrame in S4Vectors. KoinaR lacks interoperability with DataFrame objects. Again, the usefulness and relatedness to Bioconductor is unclear. I added support for the Bioconductor DataFrame class.

The package purpose is "AI models for life science research accessible". However, the vignette delves into technical mass spectrometry concepts without explanation. The vigentte is inadequately written as a series of R code chunks without explanatory paragraphs between them. There code is presented sequentially, without motivation of the biological question the example is trying to address. What "life science research" other than mass spectrometry does KoinaR support? Thank you for pointing this out! I gave the vignette a major overhaul, attempting to motivate more what the KoinaR package is useful for. I also updated the package title and description to bring it in line with the current capabilities of KoinaR.

A package's examples should work without internet access. See Other Data. I started to use httptest to to enable offline use of the tests and vignette.

Inconsistent parameter naming style. For example, pred_prosit, top.lab. For consistency between Bioconductor packages, please use camelCase according to Function Development. Both my package and the vignette use exclusively snake_case (an unfortunate byproduct of my python background) the top.lab you mention is part of a package I use as part of the vignette. Since the only interfaces required for a user of my package are the Koina class and its predict function, both of which would not change in style. The benefit of renaming all internally used variables to camelCase seems disproportionate to the required work. I also added the the function predictWithKoinaModel in camelCase according with Bioconductor preferences.

Installation instructions should appear near the beginning of the vignette, after Introduction. See Installation. I moved the installation instructions, to the beginning of the vignette.

Don't use for loops. Use vectorised loops such as vapply or lapply. See Vectorize. I switched to using vectorized loops.

@vjcitn For a Bioconductor user the relevant issues would be relations between the classes used in proteomics and the values returned by the service. Can a function on an MSnSet push data to the service and return information readily that can be readily combined with the input? Thank you for the suggestion! I am not familiar with MSnSet, as such, it is not supported. The aim of this package is to be a low-level, lightweight interface, and in my eyes, it should only take care of client-server communication. I would like to avoid custom integrations with several packages in favor of a generic easy-to-use interface. Instead of integrating MSnBase into KoinaR, I would prefer to integrate KoinaR into MSnBase. To enable the developers of other packages to also make use of KoinaR. This also allows similar designs with client packages developed in other languages (at the moment, only Python). So users can use similar syntax regardless of language used.

Does the package also simplify the creation of or use of completely de novo DL/ML functions, even written in R? Koina can host any model that can be compiled into TensorRT, ONNX, TensorFlow, PyTorch, OpenVINO, Python, DALI, FIL, vLLM if the model developed in R can be compiled in any of these, it can be run. But this is unrelated to this package. It is exclusively used to fetch predictions from the server.

Improved substantive content in your README and your DESCRIPTION are necessary to help reviewers and users understand the scope and limits of your offering. I updated both the README, DESCRIPTION, and vignette to give users a better overview of the capabilities and limitations of KoinaR.

DarioS commented 2 months ago

Instead of integrating MSnBase into KoinaR, I would prefer to integrate KoinaR into MSnBase.

Should this review be transferred to Laurent Gatto for his consideration?

vjcitn commented 2 months ago

@LLautenbacher What is meant by "integrate KoinaR into MSnBase"? Please clarify.

cpanse commented 2 months ago

As Ludwig mentioned, the package serves as a low-level interface to the prediction service and is not confined to the proteomics domain. Fragment ion and retention time prediction are merely examples of its application. In my opinion, integration into environments such as MSnbase or Spectra, for instance, should be managed through backend packages similar to MsBackendMzR, MsBackendSQL, and others. C

cpanse commented 2 months ago

Additionally, I would like to highlight that Wassim presented this work at the EuroBioC 2023 meeting. If there are any concerns, wouldn't addressing them during the developer meetings be more appropriate? That was the primary reason for attending and presenting the work there ahead of time.

wolski commented 2 months ago

@DarioS 'setRefClass' is not R6 but an extension of S4 and is widely used in Bioconductor e.g. https://github.com/search?q=org%3ABioconductor%20setRefClass&type=code

LLautenbacher commented 2 months ago

If you are interested and want more background information. We have a preprint describing Koina.

DarioS commented 2 months ago

Yes, some Bioconductor packages use setRefClass, but it is used for internal code that is not seen by a package user. For example, Rsamtools has:

.BamFile <- setRefClass("BamFile", contains="RsamtoolsFile",
.BcfFile <- setRefClass("BcfFile", contains="RsamtoolsFile",
.TabixFile <- setRefClass("TabixFile", contains="RsamtoolsFile")
exportPattern("^[^\\.]")

In other words, only those package components not starting with . are exported. In contrast, KoinaR's design uses R5 reference classes as user-facing elements. I will defer this to Vincent Carey.

It seems that min_intensity is a fixed parameter of the predict method. min_intensity is specific to mass spectrometry data. Can KoinaR be used for other data sets or must the input data have an intensities variable? I wonder if, in the Examples section of the class documentation, adding a simple example of Koina being used on data(iris) to predict whether a flower is Setosa, Versicolor or Virginica would help to demonstrate that is a general-purpose machine learning package.

predict = function(input_data, pred_as_df = TRUE, min_intensity = 1e-5)
...    ...
if (pred_as_df) {return(format_predictions(results, data.frame(input_data), min_intensity))
...    ...
format_predictions = function(predictions, input_df, min_intensity = 1e-4)
...    ...
df <- df[df$intensities > min_intensity, ]

If a data.frame has thousands of rows, it will flood the user's R console with output. Please utilise the DataFrame class.

> class(prediction_results)
  "data.frame"

DataFrame's show method automatically adapts its output to the number of rows of results.

The vignette needs minor spell-checking. For example, "predicitng", "sampe".

bioc-issue-bot commented 2 months ago

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

bioc-issue-bot commented 1 month ago

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

bioc-issue-bot commented 1 month 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.

Congratulations! The package built without errors or warnings on all platforms.

Please see the build report for more details.

The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): koinar_0.99.14.tar.gz Linux (Ubuntu 24.04.1 LTS): koinar_0.99.14.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/koinar to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

LLautenbacher commented 1 month ago

@vjcitn What is your opinion on using setRefClass? Is there a reason why I should avoid this?

@DarioS You are correct min_intensity is too specific of a variable. I added a generic filter instead, a list of vectors. The names need to match the output that should be filtered. The first value is the minimum, and the second is the maximum. If there is no prediction that matches the filter, the filter is ignored. The new default value to accommodate the most common use case so far is now list("intensities" = c(1e-4, 1))).

I adjusted the data frame return statement to match the datatype that is used as input. If you use DataFrame, you get a DataFrame. If you use data.frame, you get a data.frame.

LLautenbacher commented 1 month ago

@vjcitn and @DarioS thank you for your help so far. Do you think it's possible to finish the review before October 23rd so the package is part of the Bioconductor 3.20 release?

vjcitn commented 1 month ago

I am sorry for delay in commenting on R5. I would say that if the functions are clearly documented with working examples so that a user knows how to use them, it would be fine. However, you might gain usability by wrapping the R5-dependent tasks in ordinary functions.

LLautenbacher commented 1 month ago

I already added a convenience function predictWithKoinaModel, which takes a created model and predicts with it. Do you mean by "R5-dependent tasks" that I adapt this function to create the model instance within the function? If you think that is more user-friendly for people familiar with R, I would be happy to do that!

predictWithKoinaModel <- function(koina_model, input) {
  return(koina_model$predict(input))
}