Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SpliceWiz R package submission #2685

Closed
10 tasks done
alexchwong opened this issue Jun 2, 2022 · 13 comments
Closed
10 tasks done

SpliceWiz R package submission #2685

alexchwong opened this issue Jun 2, 2022 · 13 comments
Assignees
Labels
3a. accepted will be ingested into Bioconductor daily builder for distribution OK

Comments

@alexchwong
Copy link

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 understand that by submitting my package to Bioconductor,
    the package source and all review commentary are visible to the
    general public.

  • I have read the Bioconductor Package Submission
    instructions. My package is consistent with the Bioconductor
    Package Guidelines.

  • I understand Bioconductor Package Naming Policy and acknowledge
    Bioconductor may retain use of package name.

  • I understand that a minimum requirement for package acceptance
    is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS.
    Passing these checks does not result in automatic acceptance. The
    package will then undergo a formal review and recommendations for
    acceptance regarding other Bioconductor standards will be addressed.

  • My package addresses statistical or bioinformatic issues related
    to the analysis and comprehension of high throughput genomic data.

  • I am committed to the long-term maintenance of my package. This
    includes monitoring the support site for issues that users may
    have, subscribing to the bioc-devel mailing list to stay aware
    of developments in the Bioconductor community, responding promptly
    to requests for updates from the Core team in response to changes in
    R or underlying software.

  • I am familiar with the Bioconductor code of conduct and
    agree to abide by it.

I am familiar with the essential aspects of Bioconductor software
management, including:

  • The 'devel' branch for new packages and features.
  • The stable 'release' branch, made available every six
    months, for bug fixes.
  • Bioconductor version control using Git
    (optionally via GitHub).

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
Copy link
Collaborator

Hi @alexchwong

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: SpliceWiz
Title: Efficient and precise alternative splicing analysis in R
Version: 0.99.0
Date: 2022-06-02
Authors@R: c(person("Alex Chit Hei", "Wong", email="a.wong@centenary.org.au", 
		role=c("aut", "cre", "cph")),
	person("Ulf", "Schmitz", role=c("ctb")),
	person("William", "Ritchie", role=c("cph")))
Description: Reads and fragments aligned to splice junctions can be used to
    quantify alternative splicing events (ASE). However, overlapping ASEs can
	confound their quantification. SpliceWiz quantifies ASEs, calculating
	percent-spliced-in (PSI) using junction reads, and intron retention using
	IRFinder-based quantitation. Novel filters identify ASEs that are relatively
	less confounded by overlapping events, whereby PSIs can be calculated with
	higher confidence. SpliceWiz is ultra-fast, using multi-threaded processing
	of BAM files. It can be run using a graphical user or command line 
	interfaces. GUI-based interactive visualization of differential ASEs,
	including novel group-based RNA-seq coverage visualization, simplifies
	short-read RNA-seq analysis in R.
License: MIT + file LICENSE
Depends: NxtIRFdata
Imports:
    ompBAM,
	methods, stats, utils, tools, parallel,
	magrittr,
	Rcpp (>= 1.0.5),
	data.table,
	fst,
	ggplot2,
	AnnotationHub, 
	BiocFileCache,
	BiocGenerics,
	BiocParallel,
	Biostrings, 
	BSgenome,
	DelayedArray,
	DelayedMatrixStats,
	genefilter,
	GenomeInfoDb,
	GenomicRanges,
	HDF5Array,
	IRanges,
	progress,
	plotly,
	R.utils,
	rhdf5,
	rtracklayer,
	SummarizedExperiment, 
	S4Vectors,
	shiny,
	shinyFiles,
	shinyWidgets,
	shinydashboard,
	rhandsontable,
	DT,
	grDevices,
	heatmaply, pheatmap,
	matrixStats,
	RColorBrewer,
	XML
Suggests: 
    knitr, rmarkdown, openssl, crayon, egg,
    DESeq2, limma, DoubleExpSeq, Rsubread, testthat (>= 3.0.0)
LinkingTo: 
    ompBAM,
    Rcpp,
    zlibbioc, 
	RcppProgress
SystemRequirements: C++11
Collate: AllImports.R
	RcppExports.R
	zzz.R
	AllClasses.R
	AllGenerics.R
	ASEFilter-methods.R
	NxtSE-methods.R
	globals.R
	ggplot_themes.R
	example_data.R
	wrappers.R
	make_plot_data.R
	Coverage.R
	utils.R
	File_finders.R
	BuildRef.R
	STAR_utils.R
	Mappability.R
	ProcessBAM.R
	CollateData.R
	MakeSE.R
	Filters.R
	ASE-methods.R
	dash_filterModules.R
	dash_globals.R
	dash_settings.R
	dash_ref_new_ui.R
	dash_ref_new_server.R
	dash_expr_ui.R
	dash_expr_server.R
	dash_QC.R
	dash_filters.R
	dash_DE_ui.R
	dash_DE_server.R
	dash_vis_ui.R
	dash_vis_server.R
	dash_cov_ui.R
	dash_cov_server.R
	dash_ui.R
	dash_server.R
	dash.R
	SpliceWiz-package.R
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
VignetteBuilder: knitr
biocViews: Software, Transcriptomics, RNASeq, AlternativeSplicing, Coverage, 
  DifferentialSplicing, DifferentialExpression, GUI, Sequencing
URL: https://github.com/alexchwong/SpliceWiz
BugReports: https://support.bioconductor.org/
Config/testthat/edition: 3

@bioc-issue-bot bioc-issue-bot added the 1. awaiting moderation submitted and waiting clearance to access resources label Jun 2, 2022
@alexchwong
Copy link
Author

Dear Reviewers,

Please be aware that SpliceWiz is intended to replace the NxtIRFcore R package already in Bioconductor (and should be reviewed in this context). It includes some performance improvements as well as the introduction of a shiny-based GUI. SpliceWiz is submitted as a separate package to facilitate the package name change.

@vjcitn vjcitn added the pre-check passed pre-review performed and ready to be added to git label Jun 3, 2022
@bioc-issue-bot
Copy link
Collaborator

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 bioc-issue-bot added 2. review in progress assign a reviewer and a more thorough review of package code and documentation taking place and removed 1. awaiting moderation submitted and waiting clearance to access resources pre-check passed pre-review performed and ready to be added to git labels Jun 6, 2022
@bioc-issue-bot
Copy link
Collaborator

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

@alexchwong
Copy link
Author

@Kayla-Morrell CHECK is timing out at ~15 min for MacOS but runs fine at 4.5 min on Linux.

Seems like Bioconductor's MacOS is much slower than Linux. Running R cmd check on GitHub action, I am getting 8min 41sec for MacOS. Also the longest example "NxtSE-class" is taking 65 sec on Bioconductor's MacOS, whereas it takes 28 sec on GitHub action's MacOS.

Is there something going on with the MacOS server on Bioconductor's end that is slowing it down?

@Kayla-Morrell
Copy link

@alexchwong - I can confirm that on my personal Mac it only took about 7 minutes to run R CMD check. I'm not sure what might be happening on the Bioc Mac but I can review in the meantime and perhaps the issue will work itself out. If there needs to be further investigation we can do that while the review is taking place. I should have the initial review posted by the beginning of next week.

Best,
Kayla

@Kayla-Morrell
Copy link

Kayla-Morrell commented Jun 16, 2022

@alexchwong - Thank you for submitting to Bioconductor. Please see the initial review of
the package below. The required changes must be made while the suggested
changes do not have to be (though we strongly encourage them). Comment back
here with updates that have been made and when the package is ready for a
re-review.

General package development

  • REQUIRED: In the README file, the installation instructions should also
    include how to install the package from Bioconductor.

DESCRIPTION

  • SUGGESTION: Consider adding these automatically suggested biocViews:
    ATACSeq, DNASeq, RIPSeq, Microarray, mRNAMicroarray, CRISPR

Data

  • REQUIRED: The inst/extdata/ files need to have documentation in the
    inst/script/ directory. There needs to be documentation on how the data was
    generated and source information. It should include source URLs and any key
    information regarding filtering or processing. It can be executable code, sudo
    code, or a text description. Users should be able to download and roughly
    reproduce the file or object that is present as data.

Vignettes

  • REQUIRED: Most of the code chunks in the SW_Cookbook.Rmd file contain
    eval = FALSE. We don't allow for static vignettes and executable code is a
    must.
  • SUGGESTION: We encourage the use of BiocStyle for formatting.
  • REQUIRED: I couldn't find reference to img/MenuBar.jpg or
    img/Settings.jpg in the vignettes. If these images aren't needed they should
    be removed.

SW_QuickStart.Rmd

  • REQUIRED: The 'Introduction' section needs more detail about the package
    itself. It should serve as an abstract to introduce the objective, models,
    unique functions, key points, etc. that distinguish the package from other
    packages in the same area. This should also include a short motivation for the
    package in general as well as motivation for inclusion in Bioconductor.
  • SUGGESTION: I would suggest not hiding results so if a user is running
    through the vignette code they will be able to compare their results to yours
    to be sure they are getting the correct output.

Man pages

  • REQUIRED: Usage of dontrun{} / donttest{} tags found in man page
    examples. This is acceptable if the functions are run elsewhere, such as in
    the vignette(s) or tests. I could not find where calculateMappability(),
    STAR_buildRef(), STAR_alignReads(), STAR_alignExperiment(), or
    findFASTQ() were run. Please make sure these functions are being run in code
    somewhere (i.e., man page examples, vignette executable code, or runnable unit
    tests).
  • REQUIRED: For those functions that are being run else where but you don't
    want to have run in the man page examples use donttest{} over dontrun{},
    since donttest{} requires valid R code.

R code

  • REQUIRED: Avoid cat and print outside of show methods.
  • SUGGESTION: For formatting reasons, consider shorter lines. There are 146
    lines that are > 80 characters long.
  • SUGGESTION: For formatting reasons, consider multiples of 4 spaces for
    line indents. There are 229 lines that are not.

Best,
Kayla

@bioc-issue-bot
Copy link
Collaborator

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

@bioc-issue-bot
Copy link
Collaborator

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

@alexchwong
Copy link
Author

Thanks @Kayla-Morrell for the initial review / feedback. I have addressed all REQUIRED
sections in the comments below:

General package development

* [ ]  REQUIRED: In the README file, the installation instructions should also
  include how to install the package from Bioconductor.

Added instructions for installation from Bioconductor (for devel / 3.16)

DESCRIPTION

* [ ]  SUGGESTION: Consider adding these automatically suggested biocViews:
  ATACSeq, DNASeq, RIPSeq, Microarray, mRNAMicroarray, CRISPR

Data

* [ ]  REQUIRED: The `inst/extdata/` files need to have documentation in the
  `inst/script/` directory.  There needs to be documentation on how the data was
  generated and source information. It should include source URLs and any key
  information regarding filtering or processing. It can be executable code, sudo
  code, or a text description. Users should be able to download and roughly
  reproduce the file or object that is present as data.

The data in inst/extdata/ can be reproduced by calling the make_example_NxtSE
function found within inst/scripts/make-data.R file. I have updated the documentation
as comments above this function in make-data.R

Vignettes

* [ ]  REQUIRED: Most of the code chunks in the `SW_Cookbook.Rmd` file contain
  `eval = FALSE`. We don't allow for static vignettes and executable code is a
  must.

I have removed SW_Cookbook.Rmd

* [ ]  SUGGESTION: We encourage the use of `BiocStyle` for formatting.

* [ ]  REQUIRED: I couldn't find reference to `img/MenuBar.jpg` or
  `img/Settings.jpg` in the vignettes. If these images aren't needed they should
  be removed.

I have added an extra section that utilises img/MenuBar.jpg. img/Settings.jpg is now removed

SW_QuickStart.Rmd

* [ ]  REQUIRED: The 'Introduction' section needs more detail about the package
  itself. It should serve as an abstract to introduce the objective, models,
  unique functions, key points, etc. that distinguish the package from other
  packages in the same area. This should also include a short motivation for the
  package in general as well as motivation for inclusion in Bioconductor.

I have updated the vignette to briefly explain SpliceWiz.

* [ ]  SUGGESTION: I would suggest not hiding results so if a user is running
  through the vignette code they will be able to compare their results to yours
  to be sure they are getting the correct output.

Thanks Kayla. I have run all the code in the non-hidden cells and found that the
output reproduces what is displayed in the non-hidden cells in the vignette.

Man pages

* [ ]  REQUIRED: Usage of `dontrun{}` / `donttest{}` tags found in man page
  examples. This is acceptable if the functions are run elsewhere, such as in
  the vignette(s) or tests. I could not find where `calculateMappability()`,
  `STAR_buildRef()`, `STAR_alignReads()`, `STAR_alignExperiment()`, or
  `findFASTQ()` were run. Please make sure these functions are being run in code
  somewhere (i.e., man page examples, vignette executable code, or runnable unit
  tests).

I have removed all dontrun{} segments except the one for Mappability-methods.
calculateMappability() is now tested via unit tests (tests\testthat\test-Mappa.R)

The STAR methods have now been removed, as well as findFASTQ. They were wrapper
functions for the STAR RNA-seq aligner, that would only work on linux systems with
STAR installed.

* [ ]  REQUIRED: For those functions that are being run else where but you don't
  want to have run in the man page examples use `donttest{}` over `dontrun{}`,
  since `donttest{}` requires valid R code.

I have tried using donttest{} for Mappability-methods segment but this throws a
warning in R CMD CHECK. This is because the example calls Rsubread::buildindex
which would only work if the current directory is the reference directory. Calling
setwd throws the warning. This is otherwise a working example that is essentially
replicated in tests\testthat\test-Mappa.R, and I ask that you consider this an exceptional
circumstance and allow this instance of dontrun{}.

R code

* [ ]  REQUIRED: Avoid `cat` and `print` outside of `show` methods.

All cat calls occur in the context of the show method of the ASEFilter S4 object.

All print calls occur in the context of renderPlotly() segments of the SpliceWiz GUI.
They are essential to correctly display the plotly interactive plots in the GUI. I ask
that you consider renderPlotly(print(x)) as equivalent to show in context
of the shiny-based GUI, otherwise there is no way to render plots via the shiny app.

I'd be grateful if you could re-review SpliceWiz. On a side note, it seems that the MacOS
issues has resolved itself. Thanks!

@Kayla-Morrell
Copy link

@alexchwong - Thank you for the thorough comments and making the necessary changes. I have looked everything over and I'd be more than happy to accept the package.

Best,
Kayla

@Kayla-Morrell Kayla-Morrell added 3a. accepted will be ingested into Bioconductor daily builder for distribution and removed 2. review in progress assign a reviewer and a more thorough review of package code and documentation taking place labels Jul 5, 2022
@bioc-issue-bot
Copy link
Collaborator

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
Copy link
Contributor

lshep commented Jul 6, 2022

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

https://bioconductor.org/packages/SpliceWiz

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.

@lshep lshep closed this as completed Jul 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3a. accepted will be ingested into Bioconductor daily builder for distribution OK
Projects
None yet
Development

No branches or pull requests

5 participants