Closed ycao6928 closed 1 year ago
Hi @ycao6928,
I just tried building the package currently available from git@git.bioconductor.org:packages/scFeatures
and it fails for me (Intel macOS).
$ git remote --verbose
origin git@git.bioconductor.org:packages/scFeatures.git (fetch)
origin git@git.bioconductor.org:packages/scFeatures.git (push)
$ git log -1
commit 4ca6bc88abab158f8556e46fdb26680b955d2187 (HEAD -> master, origin/master, origin/HEAD)
Author: Yue Cao <yuec@maths.usyd.edu.au>
Date: Tue Dec 6 12:48:58 2022 +1100
Revert "stupid change"
This reverts commit 53c230d41fe9cd70a69686098a9f2ebf2f665e9c.
$ cd ..
$ R CMD build scFeatures
* checking for file ‘scFeatures/DESCRIPTION’ ... OK
* preparing ‘scFeatures’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘scFeatures_associationstudy.Rmd’ using rmarkdown
Quitting from lines 60-211 (output_report.Rmd)
Error: processing vignette 'scFeatures_associationstudy.Rmd' failed with diagnostics:
there is no package called 'pheatmap'
--- failed re-building ‘scFeatures_associationstudy.Rmd’
--- re-building ‘scFeatures_detail.Rmd’ using rmarkdown
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Quitting from lines 381-404 (scFeatures_detail.Rmd)
Error: processing vignette 'scFeatures_detail.Rmd' failed with diagnostics:
there is no package called 'survminer'
--- failed re-building ‘scFeatures_detail.Rmd’
--- re-building ‘scFeatures_summary.Rmd’ using rmarkdown
--- finished re-building ‘scFeatures_summary.Rmd’
SUMMARY: processing the following files failed:
‘scFeatures_associationstudy.Rmd’ ‘scFeatures_detail.Rmd’
Error: Vignette re-building failed.
In addition: Warning message:
In tools::buildVignettes(dir = ".", tangle = TRUE) :
Files named as vignettes but with no recognized vignette engine:
‘vignettes/output_report.Rmd’
(Is a VignetteBuilder field missing?)
Execution halted
This looks like a genuine error to me that needs to be fixed.
When making changes to your repository, you need to push to
git@git.bioconductor.org:packages/scFeatures
to trigger a new build.
Please make sure you've pushed the changes you made post-review to git@git.bioconductor.org:packages/scFeatures
to trigger a new build.
Thanks, Pete
Received a valid push on git.bioconductor.org; starting a build for commit id: 9f3cc8f29b2e20e54cb9dbdaeb3d0264233a8f26
Hi @PeteHaitch, sorry we have now updated the version number and the latest version is now built.
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: "TIMEOUT, skipped". 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Please take a look at the build report and make the necessary changes. The vignette is taking a long time to render - how long does it take to build and check the package on your machine?
Received a valid push on git.bioconductor.org; starting a build for commit id: 0f267e669ae8fdce9f1762b947a2678910fba3a2
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, TIMEOUT, skipped". 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 6e25d84e72962c63fddc5ef711d194c1df88596a
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, TIMEOUT, skipped". 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 427d640d9da7cedd9aa99ea78d84a1f88447779f
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, TIMEOUT, skipped". 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 780e87888eefce3f920cf95c4fc8df4a81afd13e
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. 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: f7eb96f755f59f2e170511afeb8edda8b2389e2f
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. 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 789203e5e7aa80337b8be077574d6cf783514a9b
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 051d25161b932b9ca771c5f374560aae73a5ebaa
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 574945d1b4a8ece94fbefa74b4f3ad7ea822d320
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: e285ef3258bb57ab1a94c8c342d8ce48fa326b66
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, 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 7007483013fe4871807726728594cc864dcda12f
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 11272134d4e4d32661d5d4775e81736be31ecbef
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: b9f0b3216a8a46fb8df13cdadb8fd3ef831b99bd
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Dear @PeteHaitch, we have pushed the latest version to bioconductor. The only warning is that R CMD check takes over 10min. Please let me know if that's an issue that we have to solve now, but otherwise this push fixed all the required issues, as indicated by the line-by-line response to the issues
R CMD check
. Bioconductor expects that vignettes contain non-trivial evaluated code chunks and static vignettes are generally not acceptable.
R CMD check
if the vignette code was evaluated. Some examples of where I encountered errors when running the vignette code:> feature_gene_prop_celltype <- run_gene_prop_celltype(data_remove_mito, genes = genes_of_interest)
Error: BiocParallel errors
1 remote errors, element index: 1
1 unevaluated and other errors
first remote error:
Error: Under current subsetting parameters, the default assay will be removed. Please adjust subsetting parameters or change default assay.
> feature_CCI <- run_CCI(data , species = \"Homo sapiens\" )
Error in run_CCI(data, species = \"Homo sapiens\") :
could not find function \"run_CCI\"
genes_of_interest <- c(\"TIGIT\", \"PDCD1\")
feature_gene_prop_bulk <- run_gene_prop(data, genes = genes_of_interest )
Error: Under current subsetting parameters, the default assay will be removed. Please adjust subsetting parameters or change default assay.
scfeatures_result <- scFeatures(data,
# input selective feature types to generate.
feature_types = c(\"proportion_raw\", \"pathway_gsva\", \"L_stats\", \"gene_mean_celltype\", \"gene_prop_aggregated\") ,
# by default assumes data is \"scrna\" (single-cell RNA-seq), this is now set to \"spatial_p\" (spatial proteomics).
type = \"spatial_p\" ,
# by default assumes \"Homo sapiens\", this is now set to `Mus musculus`.
species = \"Mus musculus\" ,
# by default uses the 50 hallmark genes, now set to user specified pathways.
geneset = list(\"pathway_a\" = c(\"SMA\" , \"Vimentin\" ), \"pathway_b\" = c(\"B7H3\" ,\"FoxP3\" )) ,
# by default uses top variable genes to generate the celltype specific gene expression feature category,now set to user defined genes.
celltype_genes = data.frame(celltype = c(\"Macrophages\" , \"Mono/Neu\" ) , marker = c(\"CD3\" , \"p53\")) ,
# by default uses top variable genes to generate the overall aggregated gene expression feature category, now set to user defined genes.
aggregated_genes = c(\"CD3\" , \"p53\") ,
# When passing as SingleCellExperiment or SpatialExperiment, by default we use the assay stored in \"logcount\"
assay = \"norm\",
# By default we look for the sample info in \"sample\" column and the celltype info in \"celltype\" column
sample = \"imageID\",
celltype = \"cellType\",
# If users want to construct features from the spatial metrics category, by default we look for the \"x_cord\" and \"y_cord\" column
spatialCoords = c(\"x\", \"y\"),
# by default uses single core
ncores = 8)
Error: Cannot find 'cellType' in this Seurat object
[x] The man pages (documentation) is too terse and imprecise.
Each man page should include well-written:
Title, Description and Details (see https://r-pkgs.org/man.html#title-description-details)
Arguments (see https://r-pkgs.org/man.html#arguments)
Return value (see https://r-pkgs.org/man.html#return-value)
Examples (see https://r-pkgs.org/man.html#sec-man-examples)
To take one example, the documentation of process_data()
:
The 'Description' just repeats the title, which doesn't explain what pre-processing actually is.
There's no real description of arguments (what sort of object is data
, what sort of normalisation is applied when normalise = TRUE
, etc.)
The 'Value' section is incorrect (the return value is actually a Seurat object) and it should be explained what the returned object contains.
You might take a look at popular Bioconductor packages such as scater or edgeR for inspiration for the documentation (although it needn't be that detailed).
Some of the required documentation detail is in the scFeatures_detail
vignette, but it properly belongs in the man pages. The vignette should show users how to use the package as a whole and the man pages how to use individual functions.
Fixed: All exported functions now have Title, Description, Arguments, Return value.
Non - exported functions now have description.
[x] The 'Value' section of many man pages is incorrect. E.g., run_proportion_raw()
returns a data.frame but is documented to return 'a matrix of samples x features'. These details matter when it comes to documenting package code.
Fixed: Corrected the return value type.
[x] The 'Introduction' of the each vignette, especially the first or main vignette (which I take to be scFeatures_summary
) should read like an abstract; see https://contributions.bioconductor.org/docs.html#vignette-introduction
Fixed: Edited the introduction in scFeatures_summary
[x] Please give the vignettes informative titles and filenames; see https://contributions.bioconductor.org/docs.html#vignettes
[x] Please use BiocStyle for vignette formatting.
Fixed: All vignettes now use BiocStyle
.
[x] Simply removing ClassifyR from DESCRIPTION
is insufficient because the scFeatures_detail
vignette still uses it to demonstrate the utility of scFeatures. Now that ClassifyR is passing builds again, please re-add ClassifyR to the DESCRIPTION
if using it in the vignettes or elsewhere in scFeatures.
Fixed: Re-added ClassifyR
.
[x] RhpcBLASctl should not be needed or used in a package. Why is it needed (and hidden) in the vignette? Fixed It was added to fix a bug that is now forgotten, I removed all references.
[x] Why is inline needed in the vignettes? Fixed: Same as above. It is no longer needed.
[x] The formatting in the scFeatures_detail
vignette is a bit messy because it includes lots of verbose output (progress bars). Please revise.
Fixed: Messages and warnings have been removed from the output.
[x] In the scFeatures_detail
vignette you are subsetting a vector outside its bounds; please fix:
Fixed This has been fixed by including different data with the package.
[x] In the scFeatures_associationstudy
vignette, please use a temporary directory via tempdir()
, rather than the current working directory, to demonstrate report generation.
[x] That said, the report generation fails when using tempdir()
but should work.
> output_folder <- tempdir()
> run_association_study_report(scfeatures_result, output_folder )
Error in abs_path(input) : The file 'output_report.Rmd' does not exist.
In addition: Warning message:
In normalizePath(path, winslash = winslash, mustWork = mustWork) :
path[1]=\"output_report.Rmd\": No such file or directory
Fixed: We have now used tempdir()
rather than the current working directory. The no such file bug is also fixed.
[x] The org.Hs.eg.db package is an unspecified dependency used in the report generation demonstrated in scFeatures_associationstudy
. Please include it as a dependency in the DESCRIPTION
.
Fixed: Added org.Hs.eg.db
to suggests.
[x] There are hardcoded paths in the report demonstrated in scFeatures_associationstudy
(https://github.com/SydneyBioX/scFeatures/blob/80034c0ec37c206d63a08198e22dda351126b805/inst/extdata/output_report.Rmd#L228). This means it won't work on anyone else's computer.
Fixed: Removed hard-coded path in favour of system.file
call.
[x] Please add a BugReports
field to the DESCRIPTION
(usually a link to the Issues page of the GitHub repo).
Fixed: Added to the description.
[x] Bioconductor requires documentation of .rds
/.Rdata
files in inst/extdata
in an inst/script/ directory
. See data documentation.
Fixed: Added documentation for the example_scrnaseq.rds
.
inst/extdata
is usually used for 'raw' data, so these data might properly belong under data/
rather than inst/extdata/
; see https://contributions.bioconductor.org/data.html.
Fixed: We have tried this, but found the data
directory only allows .Rdata file instead of the .RDS format.
Once we convert to .Rdata, the file size expanded from under 3MB to 16MB and became too big to include in the package. Therefore we decided to keep the data in the inst/extdata
. [x] Please add a table of contents to each vignette. Fixed: Added
[x] All man pages should have runnable examples (see https://contributions.bioconductor.org/docs.html#examples) Fixed: Added examples to all exported functions.
[x] What are the dev
and docs
folders? Please justify or remove them from the main branch of the git repo (Bioconductor requests that \"Any files or directories for other applications (Github Actions, devtools, etc.) should ideally be in a different branch and not submitted to the Bioconductor version of the package.\" (see https://contributions.bioconductor.org/general.html?q=unnec#undesirable-files)
Fixed: The docs
folder is for the pkgdown website.
We have now removed the dev
folder.
[ ] It is strongly recommended to add unit tests. I would suggest starting with the individual scFeatures::run_*()
functions that underpin the wrapper scFeatures::scFeatures()
function.
[x] This may be personal preference, but the function outputs feel the wrong way around (with samples as rows and features as columns). This is the opposite of how 'rectangular' data are usually stored in Bioonductor, e.g., SummarizedExperiment, where rows are features (e.g., genes) and samples are columns. A side effect, is that this leads to very 'wide' objects that don't display very nicely when printed (at least that was my experience with the example data). I recommend at least documenting why you choose to return the results in this orientation. Fixed This is one of the reasons why scFeatures was created.' Rectangular' data are not suitable for statistical modelling, which requires standard sample by feature design matrices. The reason why the output is as such is that the purpose of the features is statistical modelling.
[x] makeSeurat()
also accepts Seurat objects (https://github.com/SydneyBioX/scFeatures/blob/709f075578bf01b1823dc39fe1d5617472c3f888/R/wrapper_run_scfeatures.R#L225-L237), but this isn't documented. Please document when a user would need this functionality.
Fixed: Documented the purpose in the the function description, as added examples of cases when user would need this functionality in the vignettes.
[x] Please try to cite relevant literature. E.g., in the scFeatures_detail
vignette you write, \"the L values between the pairs of proteins are calculated using the L function defined in literature\" but no reference is given to the relevant literature.
Fixed: Added references for Moran's I and L function.
[x] In the scFeatures_detail
vignette is the advice, \"This can be obtained from performing cell type prediction using reference data, for example, using SCTransform from Seurat (see https://satijalab.org/seurat/articles/spatial_vignette.html)\". However, to my understanding, SCTransform is a normlization method, not a cell type prediction method, and the link points doesn't point to how to actually do the cell type prediction as best I can tell. Please clarify.
Fixed: Update the link to https://satijalab.org/seurat/articles/spatial_vignette.html#integration-with-single-cell-data-1, which corresponds to the section using SCTransform for "probabilistic transfer of annotations from a reference to a query set".
[ ] Please consider NOTES raised by BiocCheck::BiocCheck()
. Code styling notes can be regarded as suggestions, but other points should be followed or reasons given for not following them.
* NOTE: Update R version dependency from 4.2.0 to 4.3.0.
* NOTE: Consider adding the maintainer's ORCID iD in 'Authors@R' with
'comment=c(ORCID=\"...\")'
* NOTE: Avoid 1:...; use seq_len() or seq_along()
* NOTE: Use accessors; don't access S4 class slots via '@' in
examples/vignettes.
* NOTE: Consider adding runnable examples to man pages that document exported
objects.
* NOTE: Consider adding unit tests. We strongly encourage them. See
https://contributions.bioconductor.org/tests.html
[ ] Consider adding a top-level README file.
[ ] Recommend adding a NEWS file (see https://contributions.bioconductor.org/news.html)
[x] Recommend adding a inst/CITATION
file (see https://contributions.bioconductor.org/citation.html)
Fixed: This is now added
[ ] Consider adding a package-level man page (see https://contributions.bioconductor.org/docs.html#package-level-documentation).
[ ] It's strongly recommended to avoid direct slot access with @
or slot()
of S4 objects. Instead, use accessor functions. That said, my understanding is that Seurat authors have not followed this advice, so it's unavoidable when interacting with Seurat objects, but please ensure you are doing this when interacting with Bioconductor objects.
[ ] Why does remove_mito()
remove more than just mitochondrial genes? I strongly recommend choosing a more precise name for the function or split the functionality up into remove_mito()
, remove_ribo()
, etc.
Hi @ycao6928,
Thank you for responding to the initial review and for the latest round of changes. The man pages are much improved, which was one of the main issues with the intial version. However, there remains some important issues that must be addressed before scFeatures could be accepted into Bioconductor.
Regarding your question:
"The only warning is that R CMD check takes over 10min. Please let me know if that's an issue that we have to solve now."
I've discussed with other members of the review team and the consensus is that this really needs to be fixed. Bioconductor has to check thousands of packages and it simply too resource intensive if packages take > 10 minutes to check.
If you run R CMD check --timings
you'll get some useful output about why it's taking so long - this information is already shown to you in the most recent build report:
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
run_gene_cor_celltype 200.390 19.396 64.438
run_Morans_I 62.798 0.709 63.511
run_gene_mean_celltype 16.961 5.207 14.797
run_gene_prop_celltype 17.285 1.651 15.109
run_pathway_prop 18.202 0.415 18.617
run_pathway_mean 12.512 0.506 13.018
run_pathway_gsva 11.829 0.593 12.423
remove_mito 2.085 6.217 0.685
run_gene_cor 5.239 0.251 4.659
From the above we see that there are 2 examples taking > 1 min and a half dozen more taking 10 - 20 secs, so they seem like potential places to substantially reduce the time it takes to check the package.
To take one example, the example for run_gene_cor_celltype()
needn't be so large - you could run it on a subset of features and/or genes (this reduces the run time to 3 secs on my laptop instead of 200 secs in the above build report).
data <- readRDS(
system.file("extdata", "example_scrnaseq.rds", package = "scFeatures"))
# Only using a subset of the data for the example
data <- data[1:50, 1:20]
feature_gene_cor_celltype <- run_gene_cor_celltype(
data,
type = "scrna",
num_top_gene = 10,
ncores = 1)
Another other important issue that still must be fixed is to have most of the code in the vignettes be evaluated. I mentioned this in the initial review and it's still the case that very little of the code in the vignettes is evaluated.
I understand that because you already over the time limits you have opted to not evaluate the code, but I'm afraid that this isn't an acceptable workaround. Evaluated code in the vignettes is essential, so to address this I think you will need to re-think the vignettes, as well as the man pages.
Here are some quick thoughts on how you might achieve this.
As a new user, I found that there was a lot of repetition between the vignettes and the man pages.
A lot of the text in the scFeatures_detail.Rmd
vignettes really just repeats information that is (or should be) in the man pages (i.e. describing individual functions along with their inputs, parameters, and outputs).
This runs the risk of the various bits documentation and the code falling out of sync, especially when the code isn't evaluated as part of R CMD check
, and this is one of the reasons why Bioconductor requires evaluated examples and vignettes.
If you keep the details about the various functions focused in the man pages (removing their repetition from the vignettes) then the vignette(s) could then by substantially reduced and instead just focus on how scFeatures might be used in a more involved analysis or workflow. You've already got 3 such examples as a starting point:
In revising the vignette(s), each of these case studies would greatly benefit from more exposition and explanation because this is lacking in their current form (e.g. the survival analysis is 1 sentence with no explanation of the data, model, or outputs).
[ ] Most of the code in the vignettes is still unevaluated and so is untested by R CMD check
. Bioconductor expects that vignettes contain non-trivial evaluated code chunks and static vignettes are generally not acceptable.
[ ] Please give the vignettes informative titles and filenames; see https://contributions.bioconductor.org/docs.html#vignettes
[ ] inst/extdata
is usually used for 'raw' data, so these data properly belong under data/
rather than inst/extdata/
; see https://contributions.bioconductor.org/data.html.
example_scrnaseq
data set to a 1.4 MB .RData
file by using the following:x <- readRDS(system.file("extdata", "example_scrnaseq.rds", package = "scFeatures"))
# Note the use of xz-compression, which generally results in the smallest file
# sizes.
save(x, file = "test.RData", compress = "xz")
data/
and document it as explained in https://contributions.bioconductor.org/data.html.scFeatures::run_*()
functions that underpin the wrapper scFeatures::scFeatures()
function.remove_mito()
remove more than just mitochondrial genes? I strongly recommend choosing a more precise name for the function or split the functionality up into distinct remove_mito()
, remove_ribo()
, etc. functions.SCTransform
from Seurat (see https://satijalab.org/seurat/articles/spatial_vignette.html#integration-with-single-cell-data-1)'.
SCTransform()
is just a normalization method; the actual 'cell type prediction using reference data' is via label transfer with FindTransferAnchors()
and TransferData()
(where the reference and target datasets just so happen to have been normalized with SCTransform()
but other normalizations are possible).r BiocStyle::CRANpkg('Seurat')
(see https://satijalab.org/seurat/articles/spatial_vignette.html#integration-with-single-cell-data-1)'.Received a valid push on git.bioconductor.org; starting a build for commit id: d7fdb9bf23e7cfa0ea3f850a13ba57c56976f70d
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. 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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: c09a62a72365ffc2e45db8f3a48fd352b7eac7e2
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 7801794a85c6ec0c9f3f4446ca6f8eacc41f39c0
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/scFeatures
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Dear @PeteHaitch,
Thank you for the detail guidance on how to fix the package! We have now fixed all the required issues and the package has passed the build within the time limit. Please let us know if there is any further issue. Below is the point by point response.
R CMD check
. Bioconductor expects that vignettes contain non-trivial evaluated code chunks and static vignettes are generally not acceptable.Fixed: We have now consolidated the previous three vignette into one new vignette as advised. The vignette contain the main function and the three case studies. All code are evaluated in this vignette. Some of the content in the previous vignettes such as function description, the input format and output format are now moved into the man pages.
[x] Please give the vignettes informative titles and filenames; see https://contributions.bioconductor.org/docs.html#vignettes
Fixed: The newest vignette now has informative name.
[x] inst/extdata
is usually used for 'raw' data, so these data properly belong under data/
rather than inst/extdata/
; see https://contributions.bioconductor.org/data.html.
Regarding your comment: "We have tried this, but found the data directory only allows .Rdata file instead of the .RDS format. Once we convert to .Rdata, the file size expanded from under 3MB to 16MB and became too big to include in the package. Therefore we decided to keep the data in the inst/extdata."
example_scrnaseq
data set to a 1.4 MB .RData
file by using the following:x <- readRDS(system.file("extdata", "example_scrnaseq.rds", package = "scFeatures"))
# Note the use of xz-compression, which generally results in the smallest file
# sizes.
save(x, file = "test.RData", compress = "xz")
So unless there is another reason, please store the data under data/
and document it as explained in https://contributions.bioconductor.org/data.html.
Fixed: Thank you for the suggestion. We have now created the Rdata as advised and stored the data under data/
. We have also added relevant documentation under the 'R/' directory.
scFeatures::run_*()
functions that underpin the wrapper scFeatures::scFeatures()
function.remove_mito()
remove more than just mitochondrial genes? I strongly recommend choosing a more precise name for the function or split the functionality up into distinct remove_mito()
, remove_ribo()
, etc. functions.Fixed: We have now changed the remove_mito()
function name into remove_mito_ribo()
so the name is more accurate.
SCTransform
from Seurat (see https://satijalab.org/seurat/articles/spatial_vignette.html#integration-with-single-cell-data-1)'.
SCTransform()
is just a normalization method; the actual 'cell type prediction using reference data' is via label transfer with FindTransferAnchors()
and TransferData()
(where the reference and target datasets just so happen to have been normalized with SCTransform()
but other normalizations are possible).r BiocStyle::CRANpkg('Seurat')
(see https://satijalab.org/seurat/articles/spatial_vignette.html#integration-with-single-cell-data-1)'.Fixed: Thank you for spotting this! We have now replaced the explanation with your suggestion.
Thanks, @ycao6928.
Just a heads up that due to other commitments I won't have time until at least Friday to go over these changes.
Cheers, Pete
Thank you for making the requested changes, @ycao6928. I'm now happy to accept scFeatures into Bioconductor. Congratulations and thank you for your contribution!
A couple of minor thing to fix, below.
The vignette has tabs for the plots (e.g., section 2 has '2.1 Composition barplot', '2.2 Boxplot of top features' '2.3 PCA plot'), which toggle different plots when clicked. However, for Sections 3-7, although the toggles are there they don't seem to be doing anything; it seems to be because you are loading static images (PNGs). If a user runs this report on their own data, doesn't this mean that they will also see these static images rather than the appropriate figures generated from their own data?
The vignette has the following comment
# here we use the current working directory to save the html output
# modify this to save the html file to other directory
output_folder <- tempdir()
but you are using a 'temporary directory' (which is the right thing to do) not the 'working directory', so you just need to correct the comment.
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.
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/ycao6928.keys is not empty), then no further steps are required. Otherwise, do the following:
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("scFeatures")
. The package 'landing page' will be created at
https://bioconductor.org/packages/scFeatures
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.
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 Bioconductor Package Naming Policy and acknowledge Bioconductor may retain use of package name.
[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.
[x] 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:
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.