Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

SpectraQL package to support MassQL on Bioconductor's mass spectrometry objects #3525

Closed jorainer closed 1 month ago

jorainer 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 @jorainer

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: SpectraQL
Title: MassQL support for Spectra
Version: 0.99.0
Description: The Mass Spec Query Language (MassQL) is a domain-specific
    language enabling to express a query and retrieve mass spectrometry (MS)
    data in a more natural and understandable way for MS users. It is inspired
    by SQL and is by design programming language agnostic. The SpectraQL
    package adds support for the MassQL query language to R, in particular
    to MS data represented by Spectra objects. Users can thus apply MassQL
    expressions to analyze and retrieve specific data from Spectra objects.
Authors@R: c(person(given = "Johannes", family = "Rainer",
          email = "Johannes.Rainer@eurac.edu",
          role = c("aut", "cre"),
          comment = c(ORCID = "0000-0002-6977-7147")),
         person(given = "Andrea", family = "Vicini",
          email = "andrea.vicini@eurac.edu",
          role = "aut"),
   person(given = "Sebastian", family = "Gibb",
          email = "mail@sebastiangibb.de",
          role = "ctb",
          comment = c(ORCID = "0000-0001-7406-4443"))
            )
Depends:
    R (>= 4.4.0),
    ProtGenerics (>= 1.25.1)
Imports:
    Spectra (>= 1.5.6),
    MsCoreUtils,
    methods
Suggests:
    testthat,
    msdata (>= 0.19.3),
    roxygen2,
    rmarkdown,
    knitr,
    BiocStyle,
    mzR
License: Artistic-2.0
LazyData: false
VignetteBuilder: knitr
BugReports: https://github.com/RforMassSpectrometry/SpectraQL/issues
URL: https://github.com/RforMassSpectrometry/SpectraQL
biocViews: Infrastructure, Proteomics, MassSpectrometry, Metabolomics
Roxygen: list(markdown=TRUE)
RoxygenNote: 7.3.2
bioc-issue-bot commented 2 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 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, 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: Linux (Ubuntu 22.04.3 LTS): SpectraQL_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/SpectraQL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

lshep commented 2 months ago

we are investigating an SSL issue on our builder; this is likely on our end to fix.

bioc-issue-bot commented 2 months ago

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

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: "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: Linux (Ubuntu 22.04.3 LTS): SpectraQL_0.99.1.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/SpectraQL 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: 8240f07b562e9b26a452d8b34078c63f4230f069

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): SpectraQL_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/SpectraQL 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

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

jianhong commented 2 months ago

Package 'SpectraQL' Review

Thank you for submitting your package to Bioconductor. The package passed check and build. It is in pretty good shape. I am looking for a bone in an egg now. Please try to answer the comments line by line when you are ready for a second review. Code: Note: please consider; Important: must be addressed.

R code

jorainer commented 2 months ago

Thanks for your review @jianhong ! Below I address your points - I will add each point as a separate comment to avoid having a single very long comment.

[ ] NOTE: Vectorize: for loops present, try to replace them by *apply funcitons.

I had a look at the mentioned for loop at line 171, but could not come up with a (safe) and more efficient way using *apply. I'm accessing two different variables mini and maxi within that loop, so I would anyway to loop over an index - and doing that using e.g. lapply (lapply(seq_len(l), function ... would IMHO not be more efficient - and also less readable. So, if you agree, I would like to keep the for loop in that particular case. Note that I usually use vapply whenever possible.

jorainer commented 2 months ago

[ ] To avoid the NOTE: Avoid redundant 'stop' and 'warn' in signal conditions in BioCheck,

Thanks for the comment. It indeed would look ugly. I changed the wording from Syntax error to Wrong syntax.

jorainer commented 2 months ago

code repetition:

repetition in .filter, .what, and .where

Thanks, that's a great suggestion! I've moved the respective code into a new .parse_query function (that is called by .what, .where etc.

The changes are in this commit: https://github.com/rformassspectrometry/SpectraQL/commit/cf1dd9a7b843e34c7797af0cf76278e4cd86d550

jorainer commented 2 months ago

code repetition:

repetition in .translate_condition_ms2nl, .translate_condition_ms2prec, .translate_condition_peak_mz, and .translate_filter_mz_value

Thanks for spotting this! I've created two new helper functions to reduce the repeated code.

The changes are in this commit: https://github.com/rformassspectrometry/SpectraQL/commit/49f4b1e72fc8816db42600696bdfab6c5d3e3a5e

jorainer commented 2 months ago

Note: Vignette installation section should be formatted as source code.

Also done.

Changes are in this commit: https://github.com/rformassspectrometry/SpectraQL/commit/f4bbe03f7eeb3db99545542940496c9cc53e1f5a

bioc-issue-bot commented 2 months ago

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

jorainer commented 2 months ago

Changes have now all been pushed to BioC too. Thanks again for the review @jianhong ! Looking forward to the second round of review.

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 24.04.1 LTS): SpectraQL_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/SpectraQL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

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

lshep commented 1 month 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/jorainer.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("SpectraQL"). The package 'landing page' will be created at

https://bioconductor.org/packages/SpectraQL

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.