Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

spillR #3214

Closed ChristofSeiler closed 12 months ago

ChristofSeiler commented 1 year 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 year ago

Hi @ChristofSeiler

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: spillR
Type: Package
Title: Spillover compensation for mass cytometry data
Version: 0.99.0
Authors@R: c(
    person("Marco", "Guazzini",
    email= "m.guazzini@student.maastrichtuniversity.nl", 
    role = c("aut", "cre"), comment=c(ORCID="0009-0007-8111-5772")), 
    person("Alexander G.", "Reisach" , 
    email="alexander.reisach@u-paris.fr", role = "aut"), 
    person("Sebastian", "Weichwald",
    email= "sweichwald@math.ku.dk", role = "aut"), 
    person("Christof", "Seiler", 
    email= "christof.seiler@maastrichtuniversity.nl", role = "aut"))
Description: Channel interference in mass cytometry can cause spillover 
    and may result in miscounting of protein markers. 
    We propose a method that skips the matrix estimation step and 
    work directly with the full bead distributions. 
    We develop a nonparametric finite mixture model, 
    and use the mixture components to estimate 
    the probability of spillover. 
    We implement this in an R package spillR using 
    expectation-maximization and logistic regression.
    We design spillR to provide a model-based compensation 
    for mass cytometry data.
biocViews: 
    FlowCytometry, 
    ImmunoOncology, 
    MassSpectrometry, 
    Preprocessing, 
    SingleCell, 
    Software, 
    StatisticalMethod, 
    Visualization, 
    Regression  
License: LGPL-3
Encoding: UTF-8
LazyData: false
Config/testthat/edition: 3
RoxygenNote: 7.2.3
Imports: 
    dplyr, 
    magrittr, 
    tibble, 
    tidyselect,
    SummarizedExperiment, 
    S4Vectors, 
    stats, 
    CATALYST,
    ggplot2,
    tidyr,
    spatstat.geom
Suggests: 
    knitr, 
    rmarkdown, 
    cowplot, 
    testthat,
    BiocStyle
VignetteBuilder: knitr
bioc-issue-bot commented 1 year 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 1 year ago

Dear Package contributor,

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

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): spillR_0.99.0.tar.gz macOS 12.6.5 Monterey: spillR_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/spillR 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 year 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 1 year ago

Package 'spillR' Review

Thank you for submitting your package to Bioconductor. The package passed check and build. It is in pretty good shape. 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.

The DESCRIPTION file

R code

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year 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: spillR_0.99.1.tar.gz Linux (Ubuntu 22.04.2 LTS): spillR_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/spillR to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ChristofSeiler commented 1 year ago

Many thanks for the thorough review! Here are our line by line replies:

Package 'spillR' Review

Thank you for submitting your package to Bioconductor. The package passed check and build. It is in pretty good shape. 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.

The DESCRIPTION file

  • [x] Important: Depends field is not found in DESCRIPTION.Depends field is suggested in DESCRIPTION.

We moved the essential packages to the Depends field.

  • [x] Important: R version is not clear in DESCRIPTION. Must be no less than 4.3.1.

We added the version to the Depends field.

The NAMESPACE file

  • [x] Selective imports using importFrom instead of import all with import.

    • in line 7 import(CATALYST)
    • in line 8 import(dplyr)
    • in line 9 import(ggplot2)
    • in line 10 import(tibble)

We changed to selective imports everywhere.

General package development

We added unit tests using testthat.

R code

  • [x] Important: vapply instead of sapply.

    • In file R/compCytof.R:

    • at line 124 found ' channels_null <- names(which(sapply(fit_list, is.null)))'

We replaced sapply with vapply.

  • [x] NOTE: :: is not suggested in source code unless you can make sure all the packages are imported. Some people think it is better to keep ::. However please note that you need to manully double check the import items when you make any change in the DESCRIPTION file during development. My recommendation is to remove one or two repeats to force the dependency check.

We removed all :: except in the doc examples.

  • [x] Important: 1:n is not suggested in source code. Use seq_along or seq.int instead.

    • In file R/plotDiagnostics.R:

    • at line 53 found ' cell = 1:nrow(exprs),'

We replaced 1:n with seq_along(n).

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

    • In file R/compCytof.R:

    • at line 101 found ' for (i in seq(length(spillover_barcodes))) {'

Replaced the for loop by vapply.

* at line 138 found '        for (i in seq_len(length(channel_names))) {'

Replaced the for loop with lapply.

  • In file R/compensate.R:

    • at line 66 found ' for (marker in spillover_markers) {'

Replaced the for loop with lapply.

* at line 115 found '        for (i in seq(2, n_iter)) {'

Replaced the for loop with a while loop.

  • [x] NOTE: Avoid using '=' for assignment and use '<-' instead. Please user styler package to reformat your package.

    • In file R/compensate.R:

    • at line 184 found ' names(tb_compensate)[1] = "uncorrected"'

We reformatted our code using styler.

Documentation

  • [x] Important: Vignette should have an Installation section.
  • [x] Important: Please include Bioconductor installation instructions using BiocManager.

We added Installation using BiocManager section.

  • [x] Note: Vignette includes motivation for submitting to Bioconductor as part of the abstract/intro of the main vignette.

We added a motivation at the end of our Introduction section.

  • [x] Note: the plot in section 'Compensation Workflow' is blank.

We fixed this issue by loading the necessary packages.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year 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: spillR_0.99.2.tar.gz Linux (Ubuntu 22.04.2 LTS): spillR_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/spillR to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ChristofSeiler commented 1 year ago

Hi @jianhong,

Thanks again for your feedback. We fixed all your comments. We set R (>= 4.3.0). The builder uses 4.4 and only builds on linux. The builder also reports warnings now. But I don't see any warning in the build report. Thanks for your help!

Best, Christof

jianhong commented 1 year ago

Congrats and thank you for contribution in Bioconductor. Interesting, it marked as Warning but I did not see it. If the warning appear again please fix it.

bioc-issue-bot commented 1 year 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 12 months 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/ChristofSeiler.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("spillR"). The package 'landing page' will be created at

https://bioconductor.org/packages/spillR

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.