Bioconductor / Contributions

Contribute Packages to Bioconductor
131 stars 33 forks source link

Banksy #3201

Closed prabhakarlab closed 5 months ago

prabhakarlab commented 9 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 9 months ago

Hi @prabhakarlab

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: Banksy
Title: Spatial transcriptomic clustering
Version: 0.99.0
Authors@R: c(
    person(given = "Vipul",
 family = "Singhal",
 role = c("aut")),
    person(given = "Joseph",
 family = "Lee",
 role = c("aut", "cre"),
 email = "joseph.lee@u.nus.edu",
 comment = c(ORCID="0000-0002-4983-4714"))
 )
Description: Banksy is an R package that incorporates spatial information to 
    cluster cells in a feature space (e.g. gene expression). To incorporate 
    spatial information, BANKSY computes the mean neighborhood expression and 
    azimuthal Gabor filters that capture gene expression gradients. These 
    features are combined with the cell's own expression to embed cells in a 
    neighbor-augmented product space which can then be clustered, allowing for
    accurate and spatially-aware cell typing and tissue domain segmentation. 
Depends:
     R (>= 3.5.0)
Imports:
    aricode,
    data.table,
    dbscan,
    SpatialExperiment,
    SingleCellExperiment,
    SummarizedExperiment,
    S4Vectors,
    stats,
    matrixStats,
    igraph,
    irlba,
    leidenAlg (>= 1.1.0),
    utils,
    uwot,
    RcppHungarian
License: file LICENSE
Encoding: UTF-8
URL: https://github.com/prabhakarlab/Banksy
RoxygenNote: 7.2.3
Suggests: 
    knitr,
    rmarkdown,
    pals,
    scuttle,
    scater,
    cowplot,
    ggplot2,
    ggspavis,
    testthat (>= 3.0.0)
VignetteBuilder: knitr
Config/testthat/edition: 3
biocViews:
    Clustering,
    Spatial,
    SingleCell,
    GeneExpression,
    DimensionReduction
bioc-issue-bot commented 8 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 8 months 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: macOS 12.6.5 Monterey: Banksy_0.99.0.tar.gz Linux (Ubuntu 22.04.2 LTS): Banksy_0.99.0.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/Banksy to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 8 months ago

A reviewer has been assigned to your package for an indepth review. Please respond accordingly to any further comments from the reviewer.

jleechung commented 7 months ago

Hi @HelenaLC,

Thank you for helping to review our package!

I am trying to push an update to address the error raised by BiocCheck. I've followed the steps here. Here are the remotes:

(base) ➜  Banksy git:(bioc) git remote -v
origin  git@github.com:prabhakarlab/Banksy.git (fetch)
origin  git@github.com:prabhakarlab/Banksy.git (push)
upstream    git@git.bioconductor.org:packages/Banksy.git (fetch)
upstream    git@git.bioconductor.org:packages/Banksy.git (push)

When trying to push to upstream, I get this error:

(base) ➜  Banksy git:(bioc) git push upstream
Enter passphrase for key '/Users/jlee/.ssh/id_rsa': 
FATAL: W any packages/Banksy jleechung DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

My guess is that jleechung does not have access rights, and that only prabhakarlab has access. The repository was previously under jleechung and then transferred to prabhakarlab. Do you know how to resolve this?

Best, Joseph

HelenaLC commented 7 months ago

@lshep can you help?

lshep commented 7 months ago

This should be fixed now.

jleechung commented 7 months ago

Thanks @lshep . I have access now, but there's a hook that's rejecting the push.

(base) ➜  Banksy git:(bioc) git push upstream
Enter passphrase for key '/Users/jlee/.ssh/id_rsa': 
Enumerating objects: 93, done.
Counting objects: 100% (93/93), done.
Delta compression using up to 8 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (51/51), 2.13 MiB | 4.27 MiB/s, done.
Total 51 (delta 34), reused 51 (delta 34), pack-reused 0
remote: FATAL: W refs/heads/bioc packages/Banksy jleechung DENIED by fallthru
remote: error: hook declined to update refs/heads/bioc
To git.bioconductor.org:packages/Banksy.git
 ! [remote rejected] bioc -> bioc (hook declined)
error: failed to push some refs to 'git.bioconductor.org:packages/Banksy.git'
lshep commented 7 months ago

If I'm reading correctly, you are on a branch called bioc? We do not have a branch called bioc. You should push to the devel branch. git push upstream devel or in this case if you are on a different branch you would have to map bioc to devel git push upstream bioc:devel See http://contributions.bioconductor.org/git-version-control.html item 5 which shows the concept with the generally used default of main rather than bioc.

bioc-issue-bot commented 7 months ago

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

jleechung commented 7 months ago

Thanks for the clarification @lshep !

HelenaLC commented 7 months ago

Thank you @lshep!!

bioc-issue-bot commented 7 months 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: macOS 12.6.5 Monterey: Banksy_0.99.1.tar.gz Linux (Ubuntu 22.04.2 LTS): Banksy_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/Banksy to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 7 months ago

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

bioc-issue-bot commented 7 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: "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 Single Package Builder: macOS 12.7.1 Monterey: Banksy_0.99.2.tar.gz Linux (Ubuntu 22.04.2 LTS): Banksy_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/Banksy to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

jleechung commented 7 months ago

Hi @HelenaLC, the build report shows one warning for set.seed usage. We're wondering if an exception can be made for our package. We're aware of the dangers of calling set.seed within a function (as discussed here). However, several of the functions in Banksy loop over a set of parameters and run other functions which are non-deterministic - for instance, the runBanksyPCA function iterates over two parameters and runs PCA with each combination of them. To ensure that the results of each iteration can be replicated without running the entire loop, we provide an option for the user to set the seed to be used for each iteration - when the seed is set, a message is displayed indicating usage of a seed. By default, no seed is set.

HelenaLC commented 7 months ago

If I understand correctly, I agree that a scenario like this would be a reasonable exception (granted results from each iteration are in fact returned vs. only for a set of parameters that have been selected based on said iterations), however, I am confused by the example here - to the best of my knowledge, PCA is not stochastic? Or did you perhaps mean the parameters iterated over are chosen at random?

jleechung commented 7 months ago

Yes, the results from each iteration are returned. The parameters iterated over are fixed. Each combination of the parameters (m and lambda here) basically corresponds to a different data matrix (obtained using the getBanksyMatrix function here) which we then process for downstream analysis (PCA, clustering).

The example is indeed confusing! You are right that PCA is indeed deterministic, but the irlba implementation has some randomness. In particular the signs of the PC scores are arbitrary (see the example below).

For clustering, we use the leiden algorithm, which also has some randomness. The option to set the seed ensures that the cluster labels corresponding to each parameter combination can be reproduced without re-running everything else.

A minimal example ```r > # Generate a random matrix > set.seed(0) > nrow = 100 > ncol = 100 > x = matrix(rnorm(nrow * ncol), nrow=nrow, ncol=ncol) > > library(irlba) > > # 1st seed > set.seed(0) > pca1 = prcomp_irlba(x) > pca1$sdev [1] 1.962165 1.880813 1.829245 > head(pca1$x) PC1 PC2 PC3 [1,] 1.030909 0.91192811 -0.95235086 [2,] 3.695931 0.21370964 -0.01640296 [3,] -1.999539 -0.08252353 -3.09563458 [4,] -2.227486 2.24713378 0.82003709 [5,] -3.267269 1.23008979 -1.26974827 [6,] 1.485216 2.34388876 -1.50597179 > > # 2nd seed > set.seed(1) > pca2 = prcomp_irlba(x) > pca2$sdev [1] 1.962165 1.880813 1.829245 > head(pca2$x) PC1 PC2 PC3 [1,] -1.030909 -0.91192811 0.95234265 [2,] -3.695931 -0.21370964 0.01641001 [3,] 1.999539 0.08252353 3.09564828 [4,] 2.227486 -2.24713378 -0.82003191 [5,] 3.267269 -1.23008979 1.26973306 [6,] -1.485216 -2.34388876 1.50595649 > ```
HelenaLC commented 7 months ago

other

DESCRIPTION

vignette

documention

code

lshep commented 6 months ago

@prabhakarlab may we expect changes addressing the review comments above soon?

jleechung commented 6 months ago

Yes, we will do so latest by the first week of January. Thank you!

bioc-issue-bot commented 6 months ago

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

bioc-issue-bot commented 6 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: "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.

The following are build products from R CMD build on the Single Package Builder: ERROR before build products produced.

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

bioc-issue-bot commented 6 months ago

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

bioc-issue-bot commented 6 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: "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.

The following are build products from R CMD build on the Single Package Builder: macOS 12.7.1 Monterey: Banksy_0.99.4.tar.gz Linux (Ubuntu 22.04.2 LTS): Banksy_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/Banksy to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 6 months ago

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

bioc-issue-bot commented 6 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: "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 Single Package Builder: macOS 12.7.1 Monterey: Banksy_0.99.5.tar.gz Linux (Ubuntu 22.04.2 LTS): Banksy_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/Banksy to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

jleechung commented 6 months ago

Thank you for the review, @HelenaLC. We have made the necessary changes; the remaining warning comes from set.seed usage. Please see below for responses to points of significance.

Other

DESCRIPTION

Vignette

Documention

Code

HelenaLC commented 5 months ago

Apologies for the (holiday-)delay... Fantastic, thank you for addressing these thoroughly! Two minor comments or, rather, room for improvement/learning in the future. But happy to accept as is and you can address these later, perhaps once the package builds on the Bioc devel server.

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

jleechung commented 5 months ago

Thank you @HelenaLC, we will address those points down the road. Appreciate your time and effort in the reviews!

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

https://bioconductor.org/packages/Banksy

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.