Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

QTLExperiment #3177

Closed dunstone-a closed 1 year ago

dunstone-a 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 @dunstone-a

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: QTLExperiment
Type: Package
Date: 2022-11-08
Title: S4 classes for QTL summary statistics and metadata
Version: 0.99.0
Authors@R: c(
    person("Christina", "Del Azodi", role=c("aut"), email="cazodi@svi.edu.au"), 
    person("Davis","McCarthy", role=c("ctb"), email="dmccarthy@svi.edu.au"),
    person("Amelia","Dunstone", role=c("cre", "ctb"), email="amelia.dunstone@svi.edu.au", comment=c(ORCID="0009-0009-6426-1529")))
License: GPL-3
Encoding: UTF-8
Depends: 
    SummarizedExperiment
Imports: 
    methods,
    rlang,
    checkmate,
    dplyr,
    collapse,
    vroom,
    tidyr,
    tibble,
    utils,
    stats,
    ashr,
    S4Vectors,
    BiocGenerics
Suggests: 
    testthat,
    BiocStyle, 
    knitr, 
    rmarkdown,
    covr
Description: QLTExperiment defines an S4 class for storing and manipulating summary statistics from QTL mapping experiments in one or more states.
    It is based on the 'SummarizedExperiment' class and contains functions for creating, merging, and subsetting objects.
    'QTLExperiment' also stores experiment metadata and has checks in place to ensure that transformations apply correctly.
biocViews: FunctionalGenomics, DataImport, DataRepresentation, Infrastructure, Sequencing, SNP, Software
VignetteBuilder: knitr
RoxygenNote: 7.2.3
lshep commented 1 year ago

In your vignette you are pulling example data directly from github ebi <- read.csv("https://raw.githubusercontent.com/eQTL-Catalogue/eQTL-Catalogue-resources/master/data_tables/dataset_metadata.tsv", sep = "\t") . This smaller subset of data should be included in the package as we do not allow download of external data from github.

dunstone-a commented 1 year ago

Hi @lshep , thanks for this. I have now updated the package so that the relevant data is included in the folder inst/extdata. There is a script in inst/script that downloads the data from the EBI database and saves 4 data files which are used in the vignette, tests, and examples.

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.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): QTLExperiment_0.99.2.tar.gz macOS 12.6.5 Monterey: QTLExperiment_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/QTLExperiment 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.

bioc-issue-bot commented 1 year ago

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

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.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): QTLExperiment_0.99.3.tar.gz macOS 12.6.5 Monterey: QTLExperiment_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/QTLExperiment to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

HelenaLC commented 1 year ago

Quick round of initial comments to get the ball rolling... please comment back with what has/has not been addressed, or anything you would like to discuss/more details on; thanks!

majorish

# run `QTLExperiment` example to obtain
qtle <- ...

# both of these work/don't affect anything else
# so that things appear out of synch afterwards
rowData(qtle)$feature_id <- sample(rowData(qtle)$feature_id)
int_rowData(qtle)$.feature_id <- sample(int_rowData(qtle)$.feature_id)

# similarly, this works
rowData(qtle) <- NULL
int_rowData(qtle) <- DataFrame()

minor

bioc-issue-bot commented 1 year ago

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

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.

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 Bioconductor Build System: macOS 12.6.5 Monterey: QTLExperiment_0.99.4.tar.gz Linux (Ubuntu 22.04.2 LTS): QTLExperiment_0.99.4.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/QTLExperiment 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

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

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.

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 Bioconductor Build System: Linux (Ubuntu 22.04.2 LTS): QTLExperiment_0.99.5.tar.gz macOS 12.6.5 Monterey: QTLExperiment_0.99.5.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/QTLExperiment to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

dunstone-a commented 1 year ago

Thank you for your comments @HelenaLC ! Really appreciate you looking into this.

admittedly not 100% sure about what is fixed/flexible in a given QTLExperiment object for standard analyses, but I notice that the following operations pass without issues, and make rowData, int_rowData, and rownames appear out of synch (though the latter is anyways optional, I guess). Would this cause downstream operations to break? Would it be worth considering to revise any replacement method(s)? I think my confusion comes from the fact that I am reading the word "protected" here and there, but don't see this being implemented

It is intended that feature_id, state_id and variant_id are modified through the specal setters feature_id(), state_id() and variant_id(). As you point out, if these fields are altered manually then it can lead to inconsistencies between the rownames and the rowData(), which is definitely not ideal. This is talked about a little in the section "Manually syncing metadata" in the vignette. The function recover_qtle_ids can be used if rowData becomes out of sync, by replacing colData and rowData with the internal versions of these (which should not be altered by the end user).

It would be nice if the following were equivalent:

rowData(qtle)$feature_id <- sample(rowData(qtle)$feature_id)
feature_id(qtle) <- sample(rowData(qtle)$feature_id)

But as it is currently, feature_id will only be properly changed using the dedicated setter. I will look to implement this in the future as it does affect functions in the additional package multistateQTL (to be submitted next round of Bioconductor).

in the README, please update Bioc installation instructions (i.e., how to install the package - not its dependencies - using BiocManager::install()) in the vignette, please also update installation instructions to use BiocManager::install()

The installation instructions for both have been updated to use Bioconductor.

in the vignette, considering using BiocStyle functions to directly hyperlink external packages, e.g., r BiocStyle::Biocpkg("SummarizedExperiment") (there are analogous functions for packages hosted through CRAN, GitHub etc.)

I have hyperlinked to SummarizedExperiment and vroom using Biocpkg and CRANpkg.

unit test coverage is ok, but might be worth improving (devtools::test_coverage() gives me 60%, mostly due to missing tests for qtle_internals.R)

I've added some tests for the internal functions but will also add more tomorrow.

in the NEWS, remember to keep track of changes, in non-technical language, in the code from one version to the next

I have started the NEWS file and will add to this with changes relevant to the operation of the package.

in the DESCRIPTION, consider adding URL: and BugReports: fields pointing to https://github.com/dunstone-a/QTLExperiment and .../issues, respectively

Added to the description.

BiocCheck() WARNING: missing value sections (roxygen tag #' @return) for assays.Rd, internals.Rd and miscellaneous.Rd

I have split up the "Miscellaneous" documentation file into two files, one for the object version information and one for the name of the object. Hopefully this will be a bit clearer.

I have added a return section for the remaining documentation pages now, in version 0.99.6.

I understand coding styles are a personal thing, but we (inspired by Hadley Wickham, I think) recommend 4-space tab indentation vs. vertical alignment, and spaces around assignment and logical operators, but not equality signs as used for arguments; this makes the code a lot easier to read by producing less unnecessary white space (see here for details)

I have removed spaces around the equality signs in arguments. As for vertical alignment vs 4 spaces, should I switch to B or C below?

# A: what I was doing
input <- data.frame(state=state, 
                    path=paste0(input_path, "/GTEx_tx_", state, ".tsv"))
# B: 
input <- data.frame(state=state, 
    path=paste0(input_path, "/GTEx_tx_", state, ".tsv"))
# C: 
input <- data.frame(
    state=state, 
    path=paste0(input_path, "/GTEx_tx_", state, ".tsv"))

Also not sure what is best for cases with two or more levels, e.g.

new_colData <- DataFrame(list(some_info1=LETTERS[1:ncol(qtle4)],
                              some_info2=c(1:ncol(qtle4))))

Thanks, Amelia

bioc-issue-bot commented 1 year ago

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

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): QTLExperiment_0.99.6.tar.gz macOS 12.6.5 Monterey: QTLExperiment_0.99.6.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/QTLExperiment to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

HelenaLC commented 1 year ago

Thanks for addressing earlier comments - all looks in order to me now (regarding strikt Bioc requirements); just leaving these comments for your information/something to consider in the future perhaps (especially the last one!):

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 1 year 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/dunstone-a.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("QTLExperiment"). The package 'landing page' will be created at

https://bioconductor.org/packages/QTLExperiment

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.