Closed HsiaoChiLiao closed 2 months ago
Hi @HsiaoChiLiao
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: MAPFX
Title: MAssively Parallel Flow cytometry Xplorer (MAPFX): A Toolbox for
Analysing Data from the Massively-Parallel Cytometry
Experiments
Version: 0.99.0
Authors@R:
c(person("Hsiao-Chi", "Liao", email = "chelsea.acad@gmail.com", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-9586-1246")),
person("Agus", "Salim", role = c("ctb")), person("infinityFlow", role = c("ctb")))
Description: MAPFX is an end-to-end toolbox that pre-processes the raw data from MPC experiments (e.g., BioLegend's LEGENDScreen and BD Lyoplates assays), and further imputes the ‘missing’ infinity markers in the wells without those measurements. The pipeline starts by performing background correction on raw intensities to remove the noise from electronic baseline restoration and fluorescence compensation by adapting a normal-exponential convolution model. Unwanted technical variation, from sources such as well effects, is then removed using a log-normal model with plate, column, and row factors, after which infinity markers are imputed using the informative backbone markers as predictors. The completed dataset can then be used for clustering and other statistical analyses. Additionally, MAPFX can be used to normalise data from FFC assays as well.
Depends: R (>= 4.4.0)
License: GPL-2
Encoding: UTF-8
RoxygenNote: 7.3.1
Roxygen: list(markdown = TRUE)
biocViews: Software, FlowCytometry, CellBasedAssays, SingleCell, Proteomics, Clustering
Imports: flowCore, Biobase, stringr, uwot, iCellR, igraph,
ggplot2, RColorBrewer, Rfast, ggrepel, ComplexHeatmap,
circlize, glmnetUtils, e1071, xgboost, foreach, doParallel,
parallel, pbapply, reshape2, gtools, utils, stats, cowplot, methods, grDevices, graphics
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
NeedsCompilation: no
URL: https://github.com/HsiaoChiLiao/MAPFX
BugReports: https://github.com/HsiaoChiLiao/MAPFX/issues
Please remove the compiled MAPFX_Vignette.html
from the vignettes directory. This file should be build automatically through R CMD build
.
Also
I'm getting an ERROR when I try to build locally
PreReview$ R CMD build MAPFX
* checking for file 'MAPFX/DESCRIPTION' ... OK
* preparing 'MAPFX':
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘MAPFX_Vignette.Rmd’ using rmarkdown
pandoc: /Volumes/Transcend_4T/PhD_desktop/ProteinExpression/InFlow/Programming/package/2024/Vignette/graphs_vignettes/F1.exp_compu_pipeline.png: openBinaryFile: does not exist (No such file or directory)
Error: processing vignette 'MAPFX_Vignette.Rmd' failed with diagnostics:
pandoc document conversion failed with error 1
--- failed re-building ‘MAPFX_Vignette.Rmd’
SUMMARY: processing the following file failed:
‘MAPFX_Vignette.Rmd’
Error: Vignette re-building failed.
Execution halted
@lshep Thank you! I've removed the .html file from the vignettes directory and also resolved the above error.
You might considering hiding the start up messages when you load all the library
calls in the vignette because it hides what libraries are actually being loaded.
None of your main functions are actually executed with any data in vignette, man pages, or tests. In its current state it is unacceptable as we can not see results or that any of your functions are working correctly.
@lshep thank you for your message.
The start-up messages of the library
calls in the vignette have been hidden. Also, I added small example datasets for my two exported functions. Apologise that I did not do this in the first place because I was planning to wait until my another Data package published.
It will take around 3 mins to complete R CMD build MAPFX --resave-data
.
Many thanks, Hsiao-Chi
In your vignette, Please change getwd
to use a temporary directory with tempdir()
and Could you please add a section in your vignette introduction that provides motivation for inclusion in Bioconductor and when appropriate a review and comparison to existing Bioconductor packages with similar functionality or scope.
The note about --resave-data
you should apply yourself. You should resave the objects using the compress=xz
option.
Hi @lshep
I've changed getwd() to tempdir(), added a motivation section in my vignette, and resaved the data objects using the compress='xz'
option.
Thank you, Hsiao-Chi
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
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: "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: Linux (Ubuntu 22.04.3 LTS): MAPFX_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/MAPFX
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: 3c18ec7bef8bd4168ef9b681998ed5a7909debc5
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): MAPFX_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/MAPFX
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
A reviewer has been assigned to your package for an indepth review. Please respond accordingly to any further comments from the reviewer.
Thank you for submitting your package to Bioconductor. The package passed check and build. However there are several things need to be fixed. Please try to answer the comments line by line when you are ready for a second review. Code: Note: please consider; Important: must be addressed.
importFrom
instead of import all with import
.
warning
, message
, stop
instead of cat
and print
outside of show
methods.
::
is not suggested in source code unless you can make sure all the packages are imported. Some people think it is better to keep ::
. However, please be aware that you will need to manually double-check the imported items if you make any changes to the DESCRIPTION file during development. My suggestion is to remove one or two repetitions to trigger the dependency check.
for
loops present, try to replace them by *apply
funcitons.
file.path
to replace paste
. Do not include the '/' in the file path.
drop=FALSE
to avoid the reduction of dimension for matrices and arrays. Ignore this if using datatable.
seq.int
or seq_len
. For example using seq.int(min(5, nrow(data)))
to replace seq.int(5)
bkc_bkb
, bkc_bkb_ffc
, bkc_pe
, cluster.analysis
, cluster.analysis.bkbOnly
, imputation_bkb.predictors
, initM
, mkImputeMT
, rmBatchEffect
, and rmWellEffect
fcs_to_rds
, fcs_to_rds_bkb
, MapfxFFC
, and MapfxMPC
Received a valid push on git.bioconductor.org; starting a build for commit id: 7d86518a2e963f45392e941b81f207f4bac0b772
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): MAPFX_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/MAPFX
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Hi @jianhong! We appreciate your comments. Please see below our answers.
Code: Note: please consider; Important: must be addressed.
The NAMESPACE file
- [v] Important: Selective imports using
importFrom
instead of import all withimport
.
Fixed!
General package development
- [v] Important: Consider adding unit tests. We strongly encourage them. See http://bioconductor.org/developers/how-to/unitTesting-guidelines/.
We acknowledge that it would be more rigorous to have unit tests implemented, however, the reason why we did not add unit tests is because the two exported functions MapfxMPC
and MapfxFFC
are meant to be end-to-end pipelines which incorporate several non-exported functions to produce several outputs (normalised data and graphs, etc) and the outputs are directly saved in the specified directory. Both MapfxMPC
and MapfxFFC
do not return R object(s) which makes unit tests difficult to conduct. We will think about this for the updated version in the future.
R code
- [v] Important:
warning
,message
,stop
instead ofcat
andshow
methods.
Fixed!
- [v] NOTE:
::
is not suggested in source code unless you can make sure all the packages are imported. Some people think it is better to keep::
. However, please be aware that you will need to manually double-check the imported items if you make any changes to the DESCRIPTION file during development. My suggestion is to remove one or two repetitions to trigger the dependency check.
Among the nine lines in your suggestion, I retained most of the ::
and have made sure all the packages are imported. Also, I removed repetitions (line 323 and line 330 in my updated R/051.imputation_bkb.predictors.R
) to check the dependency. The DESCRIPTION file was modified accordingly.
- [v] NOTE: Vectorize:
for
loops present, try to replace them by*apply
functions.
Thanks for your suggestion, however, we use for
loops for those with complicated calculations. We will try to optimise some of them for the updated version in the future.
- [v] Important: Use
file.path
to replacepaste
. Do not include the '/' in the file path.
Fixed.
- [v] Important: Remove unused code.
Fixed.
- [v] NOTE: Avoid 'suppressWarnings'/'*Messages' if possible
These functions are used to estimate parameters for background correction. The warning messages might appear when the amount of cells in each well (or batch) is extremely small and it doesn't happen a lot in real data analysis. We will try to resolve this for the updated version in the future.
- [v] Important: Please consider to remove ';' in the code to avoid mutiple scripts in one line.
Fixed.
- [v] Important: Please consider to add
drop=FALSE
to avoid the reduction of dimension for matrices and arrays. Ignore this if using datatable.
Thank you. Fixed.
- [v] NOTE: Try to check the edge condition when using
seq.int
orseq_len
. For example usingseq.int(min(5, nrow(data)))
to replaceseq.int(5)
The current code is designed for data from the MPC experiments that have cells from 3 plates, 12 columns, and 8 rows, so the edge condition would not change. However, we appreciate your suggestion as it can make our code more flexible. We've made notes for the updated version in the future.
- [v] NOTE: Functional programming: code repetition.
Some repetitions are necessary, for example, in different functions, we may read and save files using the same file names and use the same default parameters for data adjustment. Other code repetition is mainly because the functions share the core methodology with some modifications for different purposes (e.g., different experimental data or different types of markers for visualisation). Thank you for the pick-up. We will try to optimise the code for the updated version in the future.
The package passed check and build. It improved a lot. However there are several things need to be fixed. Please try to answer the comments line by line when you are ready for a second review. Code: Note: please consider; Important: must be addressed.
FCSpath
, Outpath
and file_meta
for function MapfxMPC
and MapfxFFC
.inst
folder to describe how you generate the data.Received a valid push on git.bioconductor.org; starting a build for commit id: 2445c9c17622723ad32f52590e5e089d5b822a87
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: "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: Linux (Ubuntu 22.04.3 LTS): MAPFX_0.99.3.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/MAPFX
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: 21f5b11703578f41e88477b9b0a04abbc92d587f
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: "TIMEOUT". 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: Linux (Ubuntu 22.04.3 LTS): MAPFX_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/MAPFX
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: 70b2a07b825893c6c9f2fb91d2900f85b3111baf
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): MAPFX_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/MAPFX
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: 4a1669f71191ca6deaeaf2c44a8446f72d7121ed
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): MAPFX_0.99.6.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/MAPFX
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Hi @jianhong We appreciate your prompt feedback and comments. We've tried to resolve as many things as possible. Please see below our answers, and let us know if there's anything we should further improve during this review.
Code: Note: please consider; Important: must be addressed.
General package development
- [v] Important: Consider adding unit tests. We strongly encourage them. See http://bioconductor.org/developers/how-to/unitTesting-guidelines/. I mean this is required.
Unit tests added.
R code
- [v] Important: Undefined symbols in input parameter.
Fixed.
- [v] Important: Missing input check for
FCSpath
,Outpath
andfile_meta
for functionMapfxMPC
andMapfxFFC
.
Input check added:
lines 93-95 in R/000.MapfxFFC.R
lines 145-153 in R/000.MapfxMPC.R
Note that we removed the argument file_meta
for the function MapfxFFC
as the users must provide their filename_meta.csv
file in their FCSpath/meta
directory.
- [v] Important: Avoid to include the '/' in the file path.
Fixed.
- [v] NOTE: Functional programming: code repetition. It will be appriciated to make change during this review if possible.
To reduce code repetition, we've made below changes:
- [v] Important: Remove unused code:
Fixed.
Documentation
- [v] Important: Update the return section for most of the functions to real returns and change the current description of return to details.
Fixed.
Both the exported functions MapfxMPC
and MapfxFFC
now have a returned object.
Updated "@return" section and created "@details" to describe the files saved in the output directory in more detail.
- [v] Important: Put a script or a description file into
inst
folder to describe how you generate the data.
Added a script inst/GenerateExampleData.R
that was used to generate the example data.
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 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/HsiaoChiLiao.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("MAPFX")
. The package 'landing page' will be created at
https://bioconductor.org/packages/MAPFX
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.