Closed kieranrcampbell closed 4 years ago
Hi @kieranrcampbell
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: cellassign
Version: 0.99.2
Title: What the Package Does (One Line, Title Case)
Description: What the package does (one paragraph).
Authors@R: c(
person("Allen", "Zhang", email = "alzhang@bccrc.ca", role = c("aut")),
person("Kieran", "Campbell", email = "kieranrcampbell@gmail.com", role = c("aut", "cre"))
)
License: Apache License (>= 2.0)
Encoding: UTF-8
Depends: R (>= 3.6)
Imports:
methods,
stats,
glue,
tensorflow,
SummarizedExperiment,
scran
Suggests:
knitr,
SingleCellExperiment,
rmarkdown,
BiocStyle,
dplyr,
pheatmap,
testthat,
limma,
org.Hs.eg.db,
edgeR,
matrixStats,
plyr,
magrittr
biocViews:
Software,
Transcriptomics,
GeneExpression,
RNASeq,
SingleCell
LazyData: true
ByteCompile: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 6.1.1
VignetteBuilder: knitr
Add SSH keys to your GitHub account. SSH keys will are used to control access to accepted Bioconductor packages. See these instructions to add SSH keys to your GitHub account.
Forgot informative package title and description - updated in latest commit
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.
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.
Received a valid push; starting a build. Commits are:
a0bb00b Remove cellassign.Rproj
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.
Received a valid push; starting a build. Commits are:
c73d14b Install tensorflow if not already installed
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, 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.
Received a valid push; starting a build. Commits are:
6bab37d Remove warning message
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, 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.
Hi @LiNk-NY
This error appears to be due to a 64 bit Python version not being on the build servers:
Please install 64-bit Python 3.5 or 3.6 to continue, supported versions include:
Can you advise us how to proceed?
Many thanks
Hi Kieran, @kieranrcampbell
Our SPB maintainer, Lori @lshep, can best answer that. It seems like the other builders have that version so we should support it. For now, ignore the error until we can get it working.
Thanks, Marcel
I am discussing the issue with the other system maintainer @hpages and will respond when we have further information. But yes please ignore for now.
Hi Kieran, @kieranrcampbell Thank you for your submission. Please see the review below.
If you have any questions, feel free to reach out to me here. Best, Marcel
Description
field limited to 80 width.BugReports
field pointing to the GitHub issues page.tf
object was createdBiocManager::install
example_rho
seems like it could fit within the rowData of the
SingleCellExperiment
exaxmple_sce
and example_cellassign_fit
)SummarizedExperiment
or
SingleCellExperiment
as a result of cellassign
holik
data necessary for the package? It would be better to focus
on the method implementation and provide a small example of how the method
would runcellassign
function should return a class of the same name$
to access the listSingleCellExperiment
only or at least
separating functions by their return type so that they are "pure". It's not
recommended to have mixed return values / classes within a functionglue
and its dependencies by using sprintf()
message
instead of print
R/utils.R#83
which says ExpressionSet
instead of
SummarizedExperiment
tensorflow::install_tensorflow()
(and the long
loading time) by removing it from the .onLoad
and asking users to run it
separately when running cellassign
by possibly using a wrapper function so
that the user can set verbose = TRUE
/ FALSE
tensorflow::install_tensorflow()
immediately
before it is required and have a package option where something like
verboseInstall = FALSE
Hi Marcel @LiNk-NY
Thanks for your thorough and thoughtful review! We will work through these point-by-point and get back to you with any queries.
Kieran
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: "ABNORMAL". 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.
Received a valid push; starting a build. Commits are:
00bb415 Bump version number to trigger bioc rebuild
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: "ABNORMAL". 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.
Hi @LiNk-NY
Looks like the build is abnormal as the build system isn't pulling any data (package size -1Kb) - any ideas? Thanks!
Received a valid push; starting a build. Commits are:
a5fb2ee Check if abnormal fixed this morning by bumping ve...
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: "ABNORMAL". 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 ERROR is real. Your DESCRIPTION file is malformed. Please fix the new lines in the description field.
Description: CellAssign assigns cells measured with scRNA-seq to
both known and de novo cell types based on the declaring certain
genes as markers for different cell types. The result is the
probability that each cell is of a given cell type, or of an
"other" cell type that doesn't match any markers provided.
The ERROR is real. Your DESCRIPTION file is malformed. Please fix the new lines in the description field.
Description: CellAssign assigns cells measured with scRNA-seq to both known and de novo cell types based on the declaring certain genes as markers for different cell types. The result is the probability that each cell is of a given cell type, or of an "other" cell type that doesn't match any markers provided.
Thanks @lshep !
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.
Slightly confused by this - the status here is OK but the build report shows errors on Windows and Linux, but with no output under the specified errors
Odd.... I'm going to kick off a manual build to see if that helps the other two...
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, 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.
@LiNk-NY as part of the review suggestions we have removed the automatic installation of tensorflow on package load, but this leads to build failure on Windows where it doesn't appear tensorflow is installed. We could opt to install on first use as per your suggestion but this would require verboseInstall = TRUE
rather than FALSE
as you suggested. Can you please advise on preference ? Thanks
tensorflow will not be able to be installed on our windows machine at this time. Our windows build machine has a lower version of python running than required for tensorflow installation - We plan on updating this in the near future. For now please ignore the ERROR on windows.
Hi @LiNk-NY
We have addressed the majority of review points. cellassign now builds fine with the exception of errors on Windows, as @lshep discusses above. There are warnings on linux, but these appear to be deprecation warnings linked to the underlying numpy library. Below is what has been addressed out of the review, with follow up questions / comments about what has not:
DESCRIPTION
- [X] Looks good, please keep the
Description
field limited to 80 width.
BugReports
field pointing to the GitHub issues page.
NAMESPACE
vignettes
- Looks clean and concise.
- [X] It would be good to stick to the 80 column width limit for readability and maintainership. This doesn't affect the ouput but makes it easier to go back and modify / read.
- [X] Please show how the
tf
object was created- [X] Ensure that your installation instructions use
BiocManager::install
data
example_rho
seems like it could fit within the rowData of theSingleCellExperiment
We would prefer not to do this as typically a SingleCellExperiment will have 20k+ genes only of which ~ 20 will be markers, so encouraging storing of the marker info in the SingleCellExperiment encourages users to pass the entire SingleCellExperiment as input (a common mistake we have had collaborators do previously)
It may be better to generate the data from code in the examples than to provide a separate data file (
exaxmple_sce
andexample_cellassign_fit
)Provide a unified object for representation such as
SummarizedExperiment
orSingleCellExperiment
as a result ofcellassign
Can the rationale behind this request be further clarified? It seems common in Bioconductor packages to have the option of the object to return, as is implemented in e.g. the scran packages "findMarkers" which has a sf.out
option for whether to return an SCE or just the sizeFactors. Similarly here, we have a return_SCE
option for whether to return the SingleCellExperiment or cellassign fit directly.
- Is the
holik
data necessary for the package? It would be better to focus on the method implementation and provide a small example of how the method would run
This data is necessary for the vignette on constructing the marker matrix. The alternative would be to host documentation for a bioconductor package outside bioconductor.
R
- [X] The
cellassign
function should return a class of the same name- [X] You should create accessor functions instead of using
$
to access the list- Consider returning results as a
SingleCellExperiment
only or at least separating functions by their return type so that they are "pure". It's not recommended to have mixed return values / classes within a function
Please see question above.
- Ideally you'd have an 'endomorphic' operation where the input class matches the output class
- [X] Avoid
glue
and its dependencies by usingsprintf()
- Formatting code to fit within 80 column widths makes it easier to maintain and read
We have tried to do this where possible
message
instead of print
R/utils.R#83
which says ExpressionSet
instead of SummarizedExperiment
tensorflow::install_tensorflow()
(and the long loading time) by removing it from the .onLoad
and asking users to run it separately when running cellassign
by possibly using a wrapper function so that the user can set verbose = TRUE
/ FALSE
- You may also want to run
tensorflow::install_tensorflow()
immediately before it is required and have a package option where something likeverboseInstall = FALSE
Many thanks
Kieran
Thanks Kieran @kieranrcampbell For your thorough response. I will have a look at your package today. Best, Marcel
Hi @LiNk-NY
Just wondering if there's any update on this? Thanks
Hi Kieran, @kieranrcampbell Apologies for the delay. Please push another version bump.
Below you will find the responses.
We would prefer not to do this as typically a SingleCellExperiment will have 20k+ genes only of which ~ 20 will be markers, so encouraging storing of the marker info in the SingleCellExperiment encourages users to pass the entire SingleCellExperiment as input (a common mistake we have had collaborators do previously)
It sounds like this could be a logical vector that you can keep track of in the object. I'm not sure to what level users will interact with the output. If you are doing most of the manipulation, it would be a good place to put it so to provide a more unified representation.
Can the rationale behind this request be further clarified? It seems common in Bioconductor packages to have the option of the object to return, as is implemented in e.g. the scran packages "findMarkers" which has a sf.out option for whether to return an SCE or just the sizeFactors. Similarly here, we have a return_SCE option for whether to return the SingleCellExperiment or cellassign fit directly.
Endomorphic operations are the usual route. Class methods can be used to extract particular data. It is based on the principle of function "purity" (meaning having a consistent return value).
This data is necessary for the vignette on constructing the marker matrix. The alternative would be to host documentation for a bioconductor package outside bioconductor.
This is still not clear to me why mock / abbreviated data can't be used. It is best to keep data within the package (especially for vignette examples).
Best regards, Marcel
Received a valid push; starting a build. Commits are:
7409202 Putative upgrade to tensorflow version 2; let's se...
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.
Hi Kieran! @kieranrcampbell Any ideas on what the Mac error is about? We can get your package into the next release if it is resolved soon. Best regards, Marcel
Hi @LiNk-NY
We recently upgraded cellassign to use Tensorflow 2.0 which is a pretty big breaking change (in terms of tensorflow). The error
AttributeError: 'module' object has no attribute 'v1'
makes me think the version of Tensorflow on the linux build server is still 1.X -- is it possible to check this? (we call the v1
version to use tf 1 code within tf 2, all very confusing)
I am tagging Lori @lshep here. She can check whether this is the case. Thanks!
@LiNk-NY and @kieranrcampbell This is the case. It appears we are running 1.14.0 on the build system. If this a breaking change, we would wait until after the release in a week to do the system wide upgrade of tensorflow to avoid breaking packages that are using the existing version and now do not have enough time to apply changes to their package before the release. We will look at updating the version immediately after.
Received a valid push; starting a build. Commits are:
dab5367 Proper setting of random seeds in cellassign
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, 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.
Hi Kieran, @kieranrcampbell
Setting a random.seed
should always be done outside of the function call.
Please remove the arguments in dab5367.
If a user wants a reproducible result, the user will set the same seed before calling
functions that make use of it (e.g., rnorm
)
Best, Marcel
Received a valid push; starting a build. Commits are:
fcf161d Change seed setting
Hi @LiNk-NY
Thanks, there was a bit of confusion since Tensorflow doesn't respect the R seed but I think I've found a workaround
Kieran
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, 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.
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, 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.
Received a valid push; starting a build. Commits are:
a251f23 changes needed for basilisk integration
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.
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]'
[x] I understand that by submitting my package to Bioconductor, the package source and all review commentary are visible to the general public.
[x] I have read the Bioconductor Package Submission instructions. My package is consistent with the Bioconductor Package Guidelines.
[x] 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.
[x] My package addresses statistical or bioinformatic issues related to the analysis and comprehension of high throughput genomic data.
[x] 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 essential aspects of Bioconductor software management, including:
For help with submitting your package, please subscribe and post questions to the bioc-devel mailing list.