This is a pre-review of the package to make the submission process smoother.
We should try to address as many of these as possible before submitting.
It might make sense to create sub-issues for some of these that are bigger tasks and/or need discussion.
Try to keep this checklist up to date as we fix things.
Review
Key: 🚨 Required ⚠️ Recommended 🟢 Optional ❓ Question
My comments/suggestions/explanations are in italics
General package development
DESCRIPTION file
NAMESPACE file
The NEWS file
Documentation
README
Vignette
Code
R
Additional files
This is a pre-review of the package to make the submission process smoother.
We should try to address as many of these as possible before submitting.
It might make sense to create sub-issues for some of these that are bigger tasks and/or need discussion.
Try to keep this checklist up to date as we fix things.
Review
Key: 🚨 Required⚠️ Recommended 🟢 Optional ❓ Question
My comments/suggestions/explanations are in italics
General package development
🚨 Fix the
NOTEs fromR CMD buildNOTEs andWARNINGs fromBiocCheck::BiocCheck(new-package= TRUE)🚨 Fix
ERRORfromBiocCheck::BiocCheckGitClone()DESCRIPTION file
🚨 Should depend on the version of R used for the next release (
R>=4.5.0)ImportsfieldThis should be ok because we make extensive use of {SingleCellExperiment} through
Suggests. We could be asked to use {rhdf5} rather than {hdf5r} though.🚨 Dependencies used in vignettes should be added to
SuggestsNAMESPACE file
🚨 Function names use
camelCaseorsnake_caseand do not include.We do have a mix of
camelCaseandsnake_casebut only for class names so I think that should be fineThe NEWS file
🚨 The
NEWSfile should be kept up to dateFor other packages I keep a summary of changes for each release (or submission in this case) and a more detailed changelog somewhere else. There are a few ways to do this if we want to.
Documentation
README
READMEfile should include Bioconductor installation instructionsVignette
🚨 The main vignette should have an Introduction section
🚨 The main vignette should have an Installation section
🚨 Describe the core functionality of the package
I think we already do a great job of this, just making a note that we should check/update the vignettes before submitting
🚨 Some vignettes need to add a
sessionInfo()chunkvignettes/directory should contain only vignette file(s), bibtex files and necessary static imagesThere is some code here to create the architecture diagram. I think it should be fine but making a note that a reviewer might bring it up.
Code
R
🚨 Use
vapplyinstead ofsapply🚨 Use accessors instead of
@orslot()(where possible)There was a note about this so we should check, probably in the
Seuratstuff🚨 Use
message(),warning(),stop()instead ofcat()There is a note about this but I think it is in the print methods for the
R6classes. It's probably a false positive but we should check.🟢 Split up long functions where it makes sense to do so
There are a few functions that are a bit long, I don't think it will be an issue but we should check to see if it makes sense to restructure anything
🟢 Consider adding validity checks for function arguments
We have some of these but we could look at adding more and/or standardising them
forloops can be replacedMost of these make sense but there could be a couple we can replace
There is a warning about deprecated code. We can probably argue for why this should be kept for the next release cycle.
Additional files
.Rprojfile should be removed from Git