Bioconductor / Contributions

Contribute Packages to Bioconductor
131 stars 33 forks source link

PIPETS #3166

Closed qfurumo closed 5 months ago

qfurumo commented 10 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 6 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: PIPETS_0.99.9.tar.gz Linux (Ubuntu 22.04.2 LTS): PIPETS_0.99.9.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/PIPETS to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

qfurumo commented 6 months ago

Line By Line Response For Second Round of Reviews

I will start with a question on the documentation vignette code review:

Documentation

"Important: Vignette should have real runable code. Remove most of the eval=FALSE. All Pseudocode are not acceptable." : For both inputs, PIPETS creates output intermediate files and results files by default. In testing the creation of the vignette there were output files created automatically to a private directory. Is this a problem that would negatively affect vignette creation on the Bioconductor side?

I have currently left the vignette code unchanged to be safe.

Description File:

"R version should be no less than 4.4" : Description file changed to require 4.4

General Package Development:

"Consider adding more unit tests. Current unit tests only covered 3.425%" : When I run test_coverage() on the package it returns 75.70% coverage. If there are any specific parameters I need to change please let me know (I am currently just running" test_coverage()").

Screenshot 2024-01-11 at 12 58 23 PM

R Code:

"NOTE: no direct slot access with @ or slot() - accessors implemented and used. Try BiocGenerics::start, end, strand, width." : All mentioned lines have been changed to use BiocGenerics::start or width or strand.

"Important:is() or inherits() instead of class()." : class() has been swapped out with is().

*"NOTE: Vectorize: for loops present, try to replace them by apply funcitons."**: Memory is a larger concern of mine than speed so I am going to stick with for loops over any of the apply functions. Additionally the for loops allow for more modular use of values in the way that the for loops are currently written.

"Note Functional programming: code repetition.": There are two types of repetition in the method. First, the two input functions Bed_Split and GRanges_Split need to create the same object formatting for the rest of the method so they take in the inputs and create the same output. Second, PIPETS performs slightly different operations on the different genomic strands. To make sure that I could keep the functions under 50 lines as per the style guide, I chose to separate the methods entirely than to make a single method that has input checks.

jianhong commented 6 months ago

Do you have something not pushed to the Bioconductor? I also run devtools::test_coverage() and still got 3.12% coverage. The Covered are only 15 in my run.

For the vignette, I see eval=FALSE in both Bed File Input and GRanges object inputs chunk. That means no runnable code in your vignette. Did I missed anything?

bioc-issue-bot commented 6 months ago

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

bioc-issue-bot commented 6 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: PIPETS_0.99.10.tar.gz Linux (Ubuntu 22.04.2 LTS): PIPETS_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/PIPETS to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

qfurumo commented 6 months ago

I moved the input data into the test directory so that the testing can find it and it jumped from 3.12% up to ~77%. That is this most recent push and build.

For the vignette, I do currently have eval=FALSE for the methods because the method automatically outputs files into the directory it runs in. So I am not sure how that would affect vignette iteslf, does automatic file output mess with vignette creation or are the files simply just lost or not created? I just want to make sure that the file creation does not mess up the vignette.

lshep commented 6 months ago

Can you not specify the directory output is created; this seems like it would be essential? Then you could change the output directory to be tempdir() as default in the vignette and users can adjust as necessary?

jianhong commented 6 months ago

@qfurumo As @lshep said, change the output directory to a user defined folder should be required as a function. And the runnable example in vignette will help the maintenance.

bioc-issue-bot commented 6 months ago

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

bioc-issue-bot commented 6 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): PIPETS_0.99.11.tar.gz macOS 12.7.1 Monterey: PIPETS_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/PIPETS to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

qfurumo commented 6 months ago

Hello, added the output file directory parameter along with an input check for that parameter. Fixed the problems that were causing the Vignette to not function, all code in the vignette is now run.

jianhong commented 5 months ago

Hi @qfurumo Lots progress and almost there. Something need to be aware:

  1. The strand information for GRanges object or bed file may including '*'
  2. The Bed format is 0-based coordinates where most of the GRanges object should be supposed 1-based (although it is not defined in the documentation). Please try the following code to confirm this:
    library(rtracklayer)
    bed <- system.file('extdata', 'PIPETS_TestData.bed', package='PIPETS')
    read.delim(bed, nrows = 5, header=FALSE)
    head(import(bed))
  3. tempdir() output a character, not need to convert to character again.
  4. Not every system will defind a ~ as ${HOME}.

A small updates need to be add: Provide 'BugReports' field(s) in DESCRIPTION.

bioc-issue-bot commented 5 months ago

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

qfurumo commented 5 months ago

Hi @jianhong thanks for the thorough look through of the method. I added the BugReports field to the description and addressed the things you brought up. 1) Anything that doesn't have + or - is not included in analysis so I am not concerned with *. 2) Thank you for catching this, I looked through their documentation early on and it wasn't there so thank you for noting it. I addressed it to be consistent with Bed input. 3) Changed it to just tempdir() 4) Removed the string output to be more nonspecific and not include ~

Thank you!

bioc-issue-bot commented 5 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): PIPETS_0.99.12.tar.gz macOS 12.7.1 Monterey: PIPETS_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/PIPETS to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 5 months 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 5 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/qfurumo.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("PIPETS"). The package 'landing page' will be created at

https://bioconductor.org/packages/PIPETS

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.