Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

scifer #2745

Closed rodrigarc closed 2 years ago

rodrigarc commented 2 years 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 2 years ago

Hi @rodrigarc

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: scifer
Type: Package
Title: Scifer: Single-Cell Immunoglobulin Filtering of Sanger Sequences
Version: 0.99.0
Authors@R: 
    c(person(given = "Rodrigo",
   family = "Arcoverde Cerveira",
   role = c("aut", "cre", "cph"),
   email = "rodrigo.arcoverdi@gmail.com",
   comment = c(ORCID = "0000-0002-1145-2534")))
URL: https://github.com/rodrigarc/scifer
BugReports: https://github.com/rodrigarc/scifer/issues
Description: Have you ever index sorted cells in a 96 or 384-well plate and then sequenced using Sanger sequencing? 
    If so, you probably had some struggle to either check the chromatogram of each cell sequenced manually, 
    or when you tried to identify which cell was sorted where after sequencing the plate. 
    Scifer was developed to solve this issue by performing basic quality control of Sanger sequences 
    and merging flow cytometry data from probed single-cell sorted B cells with sequencing data. 
    scifer can export summary tables, 'fasta' files, chromatograms for visual inspection, and generate reports.
License: MIT + file LICENSE
Encoding: UTF-8
Depends: 
biocViews: 
    Preprocessing, 
    QualityControl, 
    SangerSeq, 
    Sequencing, 
    Software, 
    FlowCytometry,
    SingleCell
Imports: dplyr,
    rmarkdown,
    data.table,
    Biostrings,
    parallel,
    stats,
    plyr,
    knitr,
    ggplot2,
    gridExtra,
    DECIPHER,
    stringr,
    sangerseqR,
    kableExtra,
    tibble,
    scales,
    rlang,
    flowCore
RoxygenNote: 7.1.2
VignetteBuilder: knitr
vjcitn commented 2 years ago

Please read your vignette. You print out an entire dataset in the vignette.

rodrigarc commented 2 years ago

Hi @vjcitn, I have updated that on my vignette and committed this change to my repo. Do I have to push to git.bioconductor.org already or at this stage this is not needed yet?

bioc-issue-bot commented 2 years ago

A reviewer has been assigned to your package. Learn what to expect during the review process.

IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. It is required to push a version bump to git.bioconductor.org to trigger a new build.

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 years ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

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. This link will be 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/scifer 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 years ago

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

bioc-issue-bot commented 2 years ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

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

Please see the build report for more details. This link will be 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/scifer to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

ococrook commented 2 years ago

Scifer review

This looks pretty high standard for an initial submission and most things look good.

If there are any notes you can clear up then that would be great.

News.md

Vignette

Inst

Tests

R code

rodrigarc commented 2 years ago

Thank you for your review, @ococrook! I will edit the package according to your comments and come back here when they are all addressed.

rodrigarc commented 2 years ago
  • [ ] Functions would better do one task, so functions that have plotting outputs would be better separated and then return (rather than print ) the ggplot object. This is useful if you end up calling these functions many times and actually you would rather not generate plots but an object which you can plot at a later date.

@ococrook Just to see if I understood correctly, do you mean I should separate fcs_processing() into two functions, one for the processing itself and another one for plotting? In addition to that, also change this new plotting function to return the object instead of printing the plot. Is that it?

ococrook commented 2 years ago

Exactly, I think this would be much better and easier for development in the future.

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

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

Please see the build report for more details. This link will be 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/scifer to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

rodrigarc commented 2 years ago

Scifer review

This looks pretty high standard for an initial submission and most things look good. If there are any notes you can clear up then that would be great.

Thank you again for taking the time to evaluate scifer, @ococrook! I managed to remove 3 of the notes. Some of them I did not manage to remove, such as "runnable example", since one of the functions writes some files, I just changed to donttest{} instead of donrun{}.

News.md

  • [x] make sure package versions match

Package DESCRIPTION and NEWS are now matching (https://github.com/rodrigarc/scifer/commit/316c898c54a1c7f67b55c218a00204dec1c8495d). I also changed NEWS to NEWS.md (https://github.com/rodrigarc/scifer/commit/e1e40c3f36d41f3f90d0f3017c710e76878f2afd)

Vignette

  • [x] The name is a bit generic can you make it specific

File name was changed to scifer_walkthrough.Rmd (https://github.com/rodrigarc/scifer/commit/1e68052c346f91971deffa9875494528ee55d0e1)

  • [x] Double check spelling (vigenette?)

I went through the vignette and other files fixing some spelling errors I could find. (https://github.com/rodrigarc/scifer/commit/1e68052c346f91971deffa9875494528ee55d0e1)

  • [x] Add bioconductor specific install instructions

Added (https://github.com/rodrigarc/scifer/commit/7f9877ec73b9393b53e944bd524556e8e5ba9ec9)

  • [x] Use the bioconductor style guide please

Here (https://github.com/rodrigarc/scifer/commit/8f3c993ae77313bf4f2e16b38184f68079758812)

Inst

  • [x] Can you add a readme to this folder so it’s easy to navigate

Added (https://github.com/rodrigarc/scifer/commit/b7ee8bc00cc5093d4986fbb2dc3d0c63ced74871)

Tests

  • [x] Please add unit tests, this will become really important when the package matures

Added unit tests for all the functions. Now almost every line of code is being tested (https://github.com/rodrigarc/scifer/commit/9668f435f565cd5dbc557226cd02d75f2eaff1a3) codecov

R code

  • [x] Careful with some constructs that could go badly 2:length(score_lists)

Replaced this here (https://github.com/rodrigarc/scifer/commit/c21c7e0f799bc0ad67a45e64dc4ae5cc516caceb)

  • [ ] You can use the R native pipe |>

I have tried to swap from %>% to |> but unfortunately it gets a bit complicated when I need the object not only in the first function parameter. To me this mtcars |> (\(.) plot(.$hp, .$mpg))() becomes harder to read than mtcars %>% plot(hp,mpg). I would prefer to keep the code more readable but if you think I should change it to base R, I can try it again.

  • [x] Functions would better do one task, so functions that have plotting outputs would be better separated and then return (rather than print ) the ggplot object. This is useful if you end up calling these functions many times and actually you would rather not generate plots but an object which you can plot at a later date.

I have separated fcs_processing() into two functions and updated the vignette, NAMESPACE, and man files. (https://github.com/rodrigarc/scifer/commit/e758abd0acab82567f1fa31025587462583caa38)

Let me know if something else should be done. All your comments were very useful and definitely improved scifer!

ococrook commented 2 years ago

This looks good to me @rodrigarc, I dont think you need to make anymore changes. I'm going to double check the code and check the build on a windows laptop.

rodrigarc commented 2 years ago

This looks good to me @rodrigarc, I dont think you need to make anymore changes. I'm going to double check the code and check the build on a windows laptop.

To make it easier for your review, I have also tested building in a windows computer. I had to first make sure that Rtools and BiocStyle were installed so it could be built without errors and warnings, I added that to the README (https://github.com/rodrigarc/scifer/commit/a2c9e4093faa00a7ab2f20f6e98a2b6e1f28f055). I changed a small detail on test-quality_report() to avoid a note on a windows machine (https://github.com/rodrigarc/scifer/commit/de86678b6a7b681e002214c494b790cbd316786e).

Here are the results from R CMD CHECK on a windows machine:

``` ── R CMD check results ────── scifer 0.99.2 ──── Duration: 5m 43.6s 0 errors ✔ | 0 warnings ✔ | 0 notes ✔ R CMD check succeeded ``` ``` ==> devtools::check(document = FALSE) ══ 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 ✔ checking for file 'C:\Users\mirei\Downloads\scifer/DESCRIPTION' ─ preparing 'scifer': ✔ checking DESCRIPTION meta-information ... ─ installing the package to build vignettes ✔ creating vignettes (54.3s) ─ checking for LF line-endings in source and make files and shell scripts ─ checking for empty or unneeded directories ─ building 'scifer_0.99.2.tar.gz' ══ Checking ════════════════════════════════════ Setting env vars: • _R_CHECK_CRAN_INCOMING_REMOTE_: FALSE • _R_CHECK_CRAN_INCOMING_ : FALSE • _R_CHECK_FORCE_SUGGESTS_ : FALSE • NOT_CRAN : true ── R CMD check ───────────────────────────────── ─ using log directory 'C:/Users/mirei/Downloads/scifer.Rcheck' ─ using R version 4.2.1 (2022-06-23 ucrt) ─ using platform: x86_64-w64-mingw32 (64-bit) ─ using session charset: UTF-8 ─ using options '--no-manual --as-cran' ✔ checking for file 'scifer/DESCRIPTION' ─ checking extension type ... Package ─ this is package 'scifer' version '0.99.2' ─ package encoding: UTF-8 ✔ checking package namespace information ✔ checking package dependencies (3.1s) ✔ checking if this is a source package ... ✔ checking if there is a namespace ✔ checking for executable files (655ms) ✔ checking for hidden files and directories ... ✔ checking for portable file names ✔ checking serialization versions ✔ checking whether package 'scifer' can be installed (10.1s) ✔ checking installed package size ... ✔ checking package directory (339ms) ✔ checking for future file timestamps (687ms) ✔ checking 'build' directory ✔ checking DESCRIPTION meta-information (349ms) ✔ checking top-level files ✔ checking for left-over files ... ✔ checking index information ... ✔ checking package subdirectories ... ✔ checking R files for non-ASCII characters ... ✔ checking R files for syntax errors ... ✔ checking whether the package can be loaded (2.7s) ✔ checking whether the package can be loaded with stated dependencies (2.7s) ✔ checking whether the package can be unloaded cleanly (2.7s) ✔ checking whether the namespace can be loaded with stated dependencies (2.6s) ✔ checking whether the namespace can be unloaded cleanly (2.8s) ✔ checking loading without being on the library search path (2.9s) ✔ checking dependencies in R code (2.7s) ✔ checking S3 generic/method consistency (3.8s) ✔ checking replacement functions (2.8s) ✔ checking foreign function calls (2.9s) ✔ checking R code for possible problems (12.9s) ✔ checking Rd files ... ✔ checking Rd metadata ... ✔ checking Rd line widths ... ✔ checking Rd cross-references ... ✔ checking for missing documentation entries (2.8s) ✔ checking for code/documentation mismatches (8.4s) ✔ checking Rd \usage sections (4s) ✔ checking Rd contents ... ✔ checking for unstated dependencies in examples ... ✔ checking installed files from 'inst/doc' ✔ checking files in 'vignettes' ✔ checking examples (48.8s) Examples with CPU (user + system) or elapsed time > 5s user system elapsed summarise_quality 30.06 0.58 30.54 summarise_abi_file 6.80 0.03 6.83 secondary_peaks 6.70 0.07 6.76 ✔ checking examples with --run-donttest (1m 26.6s) ✔ checking for unstated dependencies in 'tests' ... ─ checking tests ... ✔ Running 'testthat.R' [86s] (1m 26.1s) ✔ checking for unstated dependencies in vignettes ... ✔ checking package vignettes in 'inst/doc' ... ✔ checking re-building of vignette outputs (45.6s) ✔ checking for non-standard things in the check directory ✔ checking for detritus in the temp directory ... ── R CMD check results ────── scifer 0.99.2 ──── Duration: 5m 43.6s 0 errors ✔ | 0 warnings ✔ | 0 notes ✔ R CMD check succeeded ``` sessionInfo() ``` R version 4.2.1 (2022-06-23 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 22000) Matrix products: default locale: [1] LC_COLLATE=Catalan_Spain.utf8 [2] LC_CTYPE=Catalan_Spain.utf8 [3] LC_MONETARY=Catalan_Spain.utf8 [4] LC_NUMERIC=C [5] LC_TIME=Catalan_Spain.utf8 attached base packages: [1] stats graphics grDevices utils datasets [6] methods base other attached packages: [1] scifer_0.99.2 loaded via a namespace (and not attached): [1] Rcpp_1.0.9 svglite_2.1.0 [3] sangerseqR_1.32.0 RProtoBufLib_2.8.0 [5] Biostrings_2.64.1 digest_0.6.29 [7] utf8_1.2.2 mime_0.12 [9] R6_2.5.1 GenomeInfoDb_1.32.4 [11] plyr_1.8.7 stats4_4.2.1 [13] RSQLite_2.2.17 evaluate_0.16 [15] httr_1.4.4 ggplot2_3.3.6 [17] pillar_1.8.1 zlibbioc_1.42.0 [19] rlang_1.0.5 rstudioapi_0.14 [21] data.table_1.14.2 blob_1.2.3 [23] S4Vectors_0.34.0 rmarkdown_2.16 [25] webshot_0.5.3 stringr_1.4.1 [27] RCurl_1.98-1.8 bit_4.0.4 [29] munsell_0.5.0 shiny_1.7.2 [31] httpuv_1.6.6 compiler_4.2.1 [33] xfun_0.33 pkgconfig_2.0.3 [35] systemfonts_1.0.4 BiocGenerics_0.42.0 [37] htmltools_0.5.3 tidyselect_1.1.2 [39] tibble_3.1.8 gridExtra_2.3 [41] GenomeInfoDbData_1.2.8 IRanges_2.30.1 [43] matrixStats_0.62.0 fansi_1.0.3 [45] viridisLite_0.4.1 later_1.3.0 [47] crayon_1.5.1 dplyr_1.0.10 [49] bitops_1.0-7 grid_4.2.1 [51] xtable_1.8-4 gtable_0.3.1 [53] lifecycle_1.0.2 DBI_1.1.3 [55] magrittr_2.0.3 scales_1.2.1 [57] RcppParallel_5.1.5 cli_3.4.0 [59] stringi_1.7.8 cachem_1.0.6 [61] XVector_0.36.0 fs_1.5.2 [63] promises_1.2.0.1 flowCore_2.8.0 [65] xml2_1.3.3 ellipsis_0.3.2 [67] generics_0.1.3 vctrs_0.4.1 [69] kableExtra_1.3.4 DECIPHER_2.24.0 [71] tools_4.2.1 bit64_4.0.5 [73] Biobase_2.56.0 glue_1.6.2 [75] purrr_0.3.4 parallel_4.2.1 [77] fastmap_1.1.0 colorspace_2.0-3 [79] cytolib_2.8.0 rvest_1.0.3 [81] memoise_2.0.1 knitr_1.40 ```
ococrook commented 2 years ago

Sorry, I already did this and forgot to update to accept.

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

rodrigarc commented 2 years ago

Thank you again for reviewing it, @ococrook!

lshep commented 2 years ago

The master branch of your GitHub repository has been added to Bioconductor's git repository.

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/rodrigarc.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("scifer"). The package 'landing page' will be created at

https://bioconductor.org/packages/scifer

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.