Bioconductor / Contributions

Contribute Packages to Bioconductor
131 stars 33 forks source link

UPDhmm #3335

Closed martasevilla closed 2 months ago

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

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: UPDhmm
Title: Detecting Uniparental Disomy through NGS trio data
Version: 0.99-1
BugReports: https://github.com/martasevilla/UPDhmm/issues
Authors@R: 
  c(person(given = "Marta",
     family = "Sevilla",
     role= c("aut", "cre"),
     email = "marta.sevilla@upf.edu",
     comment = c(ORCID = "0009-0005-0179-920X")),
     person(given = "Carlos",
     family = "Ruiz-Arenas",
     role= c("aut"),
     email = "cruizarenas@unav.es",
     comment = c(ORCID = "0000-0002-6014-3498")))
Description: 
  Uniparental disomy (UPD) is a genetic condition
  where an individual inherits both copies 
  of a chromosome or part of it from one parent, 
  rather than one copy from each parent. This package 
  contains a HMM for detecting UPDs throguh HTS 
  (High Throughput Sequencing) data from trio assays. 
  By analizing the genotypes in the trio, the model
  infers a hidden state (normal, father isodisomy, 
  mother isodisomy, father heterodisomy and mother heterodisomy).
biocViews: 
  Software,
  HiddenMarkovModel
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: false
RoxygenNote: 7.3.1
Depends: 
  R (>= 4.4.0)
Imports:
  HMM,
  utils,
  VariantAnnotation,
  GenomicRanges,
  S4Vectors,
  IRanges,
  stats,
  methods
Suggests: 
  knitr,
  testthat (>= 2.1.0),
  BiocStyle,
  rmarkdown,
  markdown,
  karyoploteR,
  regioneR,
  dplyr
VignetteBuilder: knitr
Roxygen: list(markdown = TRUE)
URL:https://github.com/martasevilla/UPDhmm
bioc-issue-bot commented 3 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 3 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): UPDhmm_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/UPDhmm to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

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.

lazappi commented 3 months ago

Hi @martasevilla

Thanks for submitting UPDhmm :tada:! Below is my review of your package. Please reply here if anything is unclear or needs any further explanation.

What next?

Please address the comments as best as you can. When you are ready for me to check the package again please reply to let me know with a summary of changes you have made or any other responses. You can use the "Quote reply" option in the ... menu on this comment to reply directly to my points below.

Luke

Review

Key: :rotating_light: Required :warning: Recommended :green_circle: Optional :question: Question

General package development

DESCRIPTION file

The NEWS file

Documentation

README

Unit tests

Code

R

martasevilla commented 2 months ago

Hi @lazappi

Thanks for the review of UPDhmm πŸŽ‰! Below is my responde to the suggestions:

What next?

Please address the comments as best as you can. When you are ready for me to check the package again please reply to let me know with a summary of changes you have made or any other responses. You can use the "Quote reply" option in the ... menu on this comment to reply directly to my points below.

Luke

Review

Key: 🚨 Required ⚠️ Recommended 🟒 Optional ❓ Question

General package development

  • [x] 🚨 Please address the errors from BiocCheck::BiocCheck() in the build report
  • [x] 🚨 Please address the errors from BiocCheck::BiocCheckGitClone() in the build report I have already solve the Errors abouth tagged packages

DESCRIPTION file

  • [x] 🟒 Consider adding additional biocViews such as the type of data the package can be used for I have add a new biocViews: Genetics, referring to the type of data used

The NEWS file

  • [x] 🟒 Remember to update the NEWS file as you make changes to the package

Documentation

  • [x] 🟒 I noticed typos in a few places, you can use the {spellcheck} package to help with this

README

  • [x] 🚨 Please add a README file. This should contain Bioconductor installation instructions

Vignette

  • [x] 🚨 Please remove the fig/ directory as these are not used in the vignette
  • [x] ⚠️ Please check that the rendered vignette is formatted correctly, I noticed some issues with the authors etc. You can check this will devtools::build_vignettes().
  • [x] ⚠️ Please check the function names in the vignette text match the actual function names in the package
  • [x] 🟒 It would be nice to add sentence or two explaining how to interpret the final plot

Unit tests

  • [x] 🚨 Please remove the test.vcf.gz file I have placed this file inside inst/ folder as is the file used for the tests

Code

R

  • [x] 🚨 Compulsory function arguments should not have a default value, instead of using a default of NULL
  • [x] 🚨 Please check the explanation of the function arguments for exported function. For example it is not clear to me what the input to the hmm argument should be. I have add a explanation about the format needed, I hope it is clear now
  • [x] ⚠️ Consider adding validity checks for function arguments
  • [x] 🚨 Please remove the extractTrioNA19675.sh and getFileExdata.txt files from the R/ directory
  • [x] 🟒 I found the lack of indentation in your code made it hard to read. You can use the {styler} package to help with this as described here https://www.bioconductor.org/packages/release/bioc/vignettes/BiocCheck/inst/doc/BiocCheck.html#formatting-checks.
  • [x] 🟒 This code:

    colnames(largecollapsedVcf) <- gsub(father, "father",colnames(largecollapsedVcf))

    Would be clearer written as:

    colnames(largecollapsedVcf)[colnames(largecollapsedVcf) == father] <- "father"
martasevilla commented 2 months ago

Thank you very much for the revision. I have assessed all the suggested changes. Please let me know if I have missed something; I won't hesitate to make further adjustments.

lazappi commented 2 months ago
if (missing(genotypes)) {
    genotypes <- c(
        "0/0" = "1", "0/1" = "2", "1/0" = "2", "1/1" = "3",
        "0|0" = "1", "0|1" = "2", "1|0" = "2", "1|1" = "3"
    )
} else {
    genotypes
}
martasevilla commented 2 months ago

Thank you very much for your answer. I will assess this problem as soon as possible.

bioc-issue-bot commented 2 months ago

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

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

martasevilla commented 2 months ago

Dear @lazappi. I have already assessed the pertinent changes

  • A new build doesn't seem to have been triggered for some reason. Maybe you forgot to update the version number? [x] I believe this issue is addressed now.
  • The test.vcf.gz is still present in the test directory [x] Already removed
  • The test.vcf.gz file in inst/ should be documented inst/scripts/ [x] The test.vcf.gz and test_het_mat.vcf.gz files are documented in inst/scripts/getFilesExdata.sh
  • Compulsory arguments should come before optional arguments in function definitions
  • The default value for the hmm argument doesn't match the description. The description seems to imply a list (although it doesn't say that) but the default is a string. As this is an optional argument this may be a case where the default should be NULL with an explanation in the description of what happens in that case.
  • Optional function arguments should have some default rather than using missing(). This makes it clearer to the user which arguments they have to supply.
  • The else part of this code doesn't do anything and can be removed
if (missing(genotypes)) {
    genotypes <- c(
        "0/0" = "1", "0/1" = "2", "1/0" = "2", "1/1" = "3",
        "0|0" = "1", "0|1" = "2", "1|0" = "2", "1|1" = "3"
    )
} else {
    genotypes
}

[x] The remaining comments have also been addressed.

Thank you very much in advance. I hope everything is clear now. Looking forward to hear from you.

lazappi commented 2 months ago
  • Compulsory arguments should come before optional arguments in function definitions

This should be fixed in vcfCheck()

  • The default value for the hmm argument doesn't match the description. The description seems to imply a list (although it doesn't say that) but the default is a string. As this is an optional argument this may be a case where the default should be NULL with an explanation in the description of what happens in that case.

Explanation of what happens when hmm = NULL is still missing. In the function, it would be better to check for is.null(hmm) rather than !is.list(hmm).

  • Optional function arguments should have some default rather than using missing(). This makes it clearer to the user which arguments they have to supply.

You don't need to use missing() for compulsory arguments, R will take of this for you. It is useful to check for what has been provided to those arguments though.

I think there is still some general tidying etc. of the package that can be done but that is relatively minor so I am happy to accept the package as is and hope you will continue to improve it.

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

lazappi commented 2 months ago

Congratulations on having the package accepted into Bioconductor πŸŽ‰! It can take a few days to be picked up by the build system but then it should be available in Bioconductor devel.

martasevilla commented 2 months ago

Thank you very much! I will incorporate the pertinent modifications you suggested and also take an overview of the code to identify any potential improvements related to general tidiness.

lshep commented 2 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/martasevilla.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("UPDhmm"). The package 'landing page' will be created at

https://bioconductor.org/packages/UPDhmm

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.