Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

MSstatsBioNet #3500

Open tonywu1999 opened 1 month ago

tonywu1999 commented 1 month 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 month ago

Hi @tonywu1999

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: MSstatsBioNet
Type: Package
Title: Network Analysis for MS-based Proteomics Experiments
Version: 0.99.0
Authors@R: c(
    person("Anthony", "Wu", email = "wu.anthon@northeastern.edu", 
        role = c("aut", "cre")),
    person("Olga", "Vitek", email = "o.vitek@northeastern.edu", 
        role = "aut", comment=c(ORCID = "0000-0003-1728-1104"))) 
Description: A set of tools for network analysis using mass 
    spectrometry-based proteomics data and network databases. The package takes 
    as input the output of MSstats differential abundance analysis and provides 
    functions to perform enrichment analysis and visualization in the 
    context of prior knowledge from past literature. Notably, this package 
    integrates with INDRA, which is a database of biological networks
    extracted from the literature using text mining techniques.
License: Artistic-2.0
Depends: R (>= 4.4.0)
Imports: 
    RCy3,
    httr,
    jsonlite,
    r2r
Suggests: 
    data.table,
    BiocStyle,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0),
    mockery
VignetteBuilder: knitr
biocViews: ImmunoOncology, MassSpectrometry, Proteomics, Software, 
    QualityControl, NetworkEnrichment, Network
Encoding: UTF-8
URL: http://msstats.org, https://vitek-lab.github.io/MSstatsBioNet/
BugReports: https://groups.google.com/forum/#!forum/msstats
Config/testthat/edition: 3
RoxygenNote: 7.3.2
tonywu1999 commented 1 month ago

Is there any ETA for the next step?

lshep commented 1 month ago

We try to have progress within 2 weeks. We are a little behind from the annual Bioconductor conference that occurred last week. We will aim to do another processing of packages and you can expect either feedback or it to be moved into the next steps by next week.

lshep commented 4 weeks ago

INDRA is licensed under a different license BDS 2-clause license , and per that licensing agreement says that if used it has to be distributed with and reference the license. If you are licensing your package differently you should make note of the licensing difference in the README and vignette; and if that function is used a message indicating that the licensing agreement must be included with any results. It may be necessary to also include its license in your package.

Please use the standard directory inst/extdata for including additional data referenced in man/vignette with system.file. You should also include an inst/script directory that describes how this data was created. It can be text, pseudo code, or code but minimally contain reference/source/licensing information. A user should have an idea of how to recreate these files if desired. Reading the vignette, it seems like this should be run in conjunction with the MSstats package. I'm curious as to why extra data is needed at all? If that is the case shouldn't you be able to use the examples and function in the MSstats package directly in your package? I'm currently failing to see the connection to the package; if you could please expand the vignette.

You current vignette is inadequate as there are no functions run. All Bioconductor vignettes must have runnable code to ensure a properly running package. Similarly none of the code is run in the examples. Your functions that you export must be run at some point to ensure they are properly running and connecting as intended.

tonywu1999 commented 1 week ago

You current vignette is inadequate as there are no functions run. All Bioconductor vignettes must have runnable code to ensure a properly running package. Similarly none of the code is run in the examples. Your functions that you export must be run at some point to ensure they are properly running and connecting as intended.

Both of my functions rely on external dependencies that need to be available. For example, getSubnetworksFromIndra requires internet access to call INDRA, while the other requires the Cytoscape Desktop app to be open. So far, I've added unit tests with mock calls to INDRA/Cytoscape to handle testing these functions.

As of now, if I run these functions without internet access or without the Cytoscape app open within a vignette, they fail, which is a likely scenario when running the build on a remote server (e.g. building on a bioc remote server).

Do you have any guidance on how other packages approach these situations?

hpages commented 6 days ago

Our build machines have internet access. Generally speaking it's ok to assume that internet is available in your vignettes and man page examples.

As for access to the Cytoscape Desktop app, unfortunately we cannot assume that it's available. Hopefully this is not essential to your vignette or man pages.

Please use <- instead of = for assignment. Thanks!

vjcitn commented 6 days ago

It is good that you have mock data solution. Protect the internet/app-dependent code with if (interactive()) the build system is non-interactive and will skip the dependent code.

tonywu1999 commented 5 days ago

Our build machines have internet access. Generally speaking it's ok to assume that internet is available in your vignettes and man page examples. As for access to the Cytoscape Desktop app, unfortunately we cannot assume that it's available. Hopefully this is not essential to your vignette or man pages. Please use <- instead of = for assignment. Thanks!

Updated the vignettes and docs to have zero comments now. I also changed to the <- assignment operator

It is good that you have mock data solution. Protect the internet/app-dependent code with if (interactive()) the build system is non-interactive and will skip the dependent code.

Thank you for that suggestion. I updated the function involving Cytoscape Desktop to only execute if interactive() is true. I also unit tested cases where interactive() is true with mocks.

tonywu1999 commented 5 days ago

I believe I am ready for the next steps given all comments have been addressed.