Bioconductor / Contributions

Contribute Packages to Bioconductor
134 stars 33 forks source link

ASpediaFI #1271

Closed nachoryu closed 5 years ago

nachoryu commented 5 years 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 help with submitting your package, please subscribe and post questions to the bioc-devel mailing list.

bioc-issue-bot commented 5 years ago

Hi @nachoryu

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: ASpediaFI
Type: Package
Title: ASpedia-FI: Functional Interaction Analysis of Alternative Splicing Events
Version: 0.99.0
Date: 2019-10-01
Author: Doyeong Yu
Maintainer: Doyeong Yu <nachoryu@ncc.re.kr>
Description: This package provides functionalities for a systematic and integrative analysis of alternative splicing events and their functional interactions. 
License: GPL-3
Encoding: UTF-8
biocViews: AlternativeSplicing, Annotation, Coverage, GeneExpression, GeneSetEnrichment, GraphAndNetwork, KEGG, Network, NetworkInference, Pathways, Reactome, Transcription, Sequencing, Visualization
LazyData: true
RoxygenNote: 6.1.1
Depends: R (>= 3.6.0), SummarizedExperiment, ROCR
Imports: BiocParallel, GenomicAlignments, GenomicFeatures, GenomicRanges, 
    IRanges, IVAS, Rsamtools, biomaRt, limma, S4Vectors, stats,
    DRaWR, GenomeInfoDb, Gviz, Matrix, dplyr, fgsea, reshape2, igraph,
    graphics, e1071, methods, rtracklayer, scales, grid, ggplot2, mGSZ
Suggests: knitr
VignetteBuilder: knitr
bioc-issue-bot commented 5 years ago

A reviewer has been assigned to your package. Learn what to expect during the review process.

IMPORTANT: Please read the instructions for setting up a push hook on your repository, or further changes to your repository will NOT trigger a new build.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

ae61914 Added NEWS (version bump)

bioc-issue-bot commented 5 years ago

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, 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.

bioc-issue-bot commented 5 years ago

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, 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.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

f5de0ef Version bump (0.99.2)

bioc-issue-bot commented 5 years ago

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.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

254b9a4 Package loading issue

bioc-issue-bot commented 5 years ago

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: "skipped, 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.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

332e50f Fixed vignette issue

bioc-issue-bot commented 5 years ago

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.

nachoryu commented 5 years ago

Hello @Kayla-Morrell,

the package has been built without errors and warnings on all platforms. I would like to know if it is ready for review.

Thanks,

Doyeong

Kayla-Morrell commented 5 years ago

Hello @nachoryu,

There is nothing you have to do at the moment. I'm working on the review and should have it posted in a couple days.

Best, Kayla

Kayla-Morrell commented 5 years ago

Hello @nachoryu,

I have a general question regarding your package. Is there a reason why you chose to create a reference class in your package? We normally prefer the use of S4 classes.

nachoryu commented 5 years ago

Hello @Kayla-Morrell,

the functions in this package have many arguments and options, and some inputs are used more than once throughout the workflow. For example, a GTF file is used for annotation of AS events, and also used for their visualization as a GRanges object after network anlaysis . Since a reference class is mutable and its methods directly belong to itself, I thought it will allow the user to take advantage of our package and the ASpediaFI workflow more conveniently.

Thanks,

Doyeong

hpages commented 5 years ago

Hi Doyeong,

I don't see any advantage of reference classes over regular S4 classes here, only unnecessary struggle for your users. Here is why:

copy-on-change semantic vs reference semantic

In R, objects should normally have a copy-on-change semantic, not a reference semantic. This is the standard semantic and that's what users are used to and are comfortable with. People coming from other programming languages are sometimes confused and seem to believe that this means that objects cannot be modified. This is a common misconception. Objects with a copy-on-change semantic can be modified via setters, and, more generally, via functions that take an object and return a modified copy of the object. From a user point-of-view this means using idioms like:

gtf(object) <- my_gtf  # setter

or:

object <- analyzeFI(object, ...)  # returns a modified copy of the object

People sometimes worry about performance. It is true that copy-on-change semantic means immutable objects, that is, objects that cannot be modified in-place. So of course trying to modify them generates copies, at least in theory. However, most of the time, like in the two examples above, and with carefully written code, R is smart enough to avoid these copies so the copy-on-change semantic will generally not affect performance.

But what's the benefit of copy-on-change semantic anyway?

The major benefit of sticking to that semantic is that the user can choose to replace the current object with the modified one:

object <- quantifyPSI(object, ...)  # replace current object with modified one
object <- analyzeFI(object, ...)    # replace again current object with modified one

or not:

object2 <- quantifyPSI(object, ...)
object3 <- analyzeFI(object2, ...)

With the latter, thanks to the copy-on-change semantic, object is guaranteed to not be touched/altered by the call to quantifyPSI() and object2 is guaranteed to not be touched/altered by the call to analyzeFI(). More generally speaking, no function call can alter the content of an object that has copy-on-change semantic. This is a good thing. This allows the user to keep various versions of the object in her session as she goes thru the various steps of the workflow.

Note that with reference objects, things are very different. It's still possible to keep various versions of the object as one walks thru the workflow e.g. with something like:

object2 <- object$copy()
object2$quantifyPSI(...)
object3 <- object2$copy()
object3$analyzeFI(...)

But most R users are not familiar with this approach and shouldn't be forced into it. In fact, most R users won't necessarily fully grasp the consequences of dealing with reference objects and so will likely do something like:

previous_object <- object
object$quantifyPSI(...)

with disastrous consequences! (Because they don't realize that the call to quantifyPSI() also modifies previous_object.)

Bottom line

R is not Python and, for the sake of your users, it's important that you understand and embrace the R way.

An unrelated issue

Hope this helps. Thanks for your submission!

Regards, H.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

cbf1551 Implemented S4 Class

bioc-issue-bot commented 5 years ago

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.

nachoryu commented 5 years ago

Hello @Kayla-Morrell and @hpages,

I made a change to implement S4 classes instead of reference class. Also, I fixed the issue from the vignette which @hpages mentioned.

Thanks,

Doyeong

bioc-issue-bot commented 5 years ago

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: "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.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

c37771d Replaced "1:" with "seq_len"

bioc-issue-bot commented 5 years ago

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.

Kayla-Morrell commented 5 years ago

Hello @nachoryu -

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 but we strongly encourage them. Comment back here with updates that have been made and when the package is ready for a re-review. Please keep in mind that the deadline for accepting new packages into the Bioconductor 3.10 release is 10/23.

General package development

R CMD check

DESCRIPTION

NAMESPACE

NEWS

Data

Vignettes

Man pages

ASpediaFI-class

analyzeFI

quantifyPSI

visualize

inst/script

Unit tests

R code

Best, Kayla

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

07cf2ea Made changes to conform to Bioconductor guideline

bioc-issue-bot commented 5 years ago

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: "skipped, 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.

bioc-issue-bot commented 5 years ago

Received a valid push; starting a build. Commits are:

9306bff Made additional changes to conform to Bioconductor...

bioc-issue-bot commented 5 years ago

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.

nachoryu commented 5 years ago

Hello @Kayla-Morrell,

Below are the changes made to address issues mentioned in your comments.

General package development

R CMD check

DESCRIPTION

NAMESPACE

NEWS

Data

Vignettes

Man pages

analyzeFI

quantifyPSI

visualize

inst/script

R code

Thank you,

Doyeong

Kayla-Morrell commented 5 years ago

@nachoryu - Thank you for making the necessary changes. Everything looks good now and I'd be more than happy to accept the package.

Best, Kayla

bioc-issue-bot commented 5 years ago

Your package has been accepted. It will be added to the Bioconductor Git repository and nightly builds. Additional information will be posed to this issue in the next several days.

Thank you for contributing to Bioconductor!

mtmorgan commented 5 years ago

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

https://bioconductor.org/packages/ASpediaFI

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.