Contributions
Contributions copied to clipboard
Add PolySTest
Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor
- Repository: https://github.com/computproteomics/PolySTest
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:
- [x] The 'devel' branch for new packages and features.
- [x] The stable 'release' branch, made available every six months, for bug fixes.
- [x] Bioconductor version control using Git (optionally via GitHub).
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.
Hi @veitveit
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: PolySTest
Title: PolySTest: Detection of differentially regulated features. Combined
statistical testing for data with few replicates and missing values
Version: 0.99.0
Authors@R:
person("Veit", "Schwämmle", , "[email protected]", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-9708-6722"))
Description: The complexity of high-throughput quantitative omics
experiments often leads to low replicates numbers and
many missing values. We implemented a new test to simultaneously
consider missing values and quantitative changes, which we combined
with well-performing statistical tests for high confidence
detection of differentially regulated features. The package contains
functions to run the test and to visualize the results.
License: GPL-2
Encoding: UTF-8
biocViews: MassSpectrometry, Proteomics, Software, DifferentialExpression
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
Imports:
fdrtool (>= 1.2.15),
limma (>= 3.44.3),
matrixStats (>= 0.57.0),
qvalue (>= 2.22.0),
shiny (>= 1.5.0),
SummarizedExperiment (>= 1.20.0),
knitr (>= 1.33),
plotly (>= 4.9.4),
heatmaply (>= 1.1.1),
circlize (>= 0.4.12),
UpSetR (>= 1.4.0),
gplots (>= 3.1.1),
S4Vectors (>= 0.30.0),
parallel (>= 4.1.0),
grDevices (>= 4.1.0),
graphics (>= 4.1.0),
stats (>= 4.1.0),
utils (>= 4.1.0)
Suggests:
testthat (>= 3.0.0)
VignetteBuilder: knitr
Config/testthat/edition: 3
Depends:
R (>= 4.3.0)
-
[ ] Is it possible to move the Dockerfile and bitbucket-pipelines.yml and bioconda installation stuff to a different branch so that a clean R packages is submitted and distributed by Bioconductor
-
[ ] The citation file is currently malformed
> readCitationFile("CITATION")
Error in tools:::.parse_CITATION_file(file, meta$Encoding) :
non-ASCII input in a CITATION file without a declared encoding
-
[ ] Please include an
inst/scriptsthat has a file that describes how the data ininst/extdatawas generated. It can be text, psuedo-code, or code but should contain any relevant source and licensing information. -
[ ] Rplots.pdf in the top level directory should be removed
Thank you @lshep
I would prefer to keep docker file and bioconda files to avoid having to simultaneously maintain multiple branches. I moved everything to the inst folder. Would that be fine?
-
[x] The citation file should be fine now
-
[x] script file about data set has been added
-
[x] Rplots.pdf has been removed
FWIW: I still get the following
> readCitationFile("CITATION")
Error in tools:::.parse_CITATION_file(file, meta$Encoding) :
non-ASCII input in a CITATION file without a declared encoding
tools::showNonASCII(readLines("CITATION")) 5: author="Veit Schw
mmle, Christian E. Hagensen, Adelina Rogowska-Wrzesinska, Ole N. Jensen", 14: author="Veit Schw mmle",
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: "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: Linux (Ubuntu 22.04.3 LTS): PolySTest_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
[email protected]:packages/PolySTest 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: 9b49c8d09f23b86a3b46d8c6bb0818e84d7ef850
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): PolySTest_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
[email protected]:packages/PolySTest 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.
Package 'PolySTest' Review
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.
The DESCRIPTION file
- [ ] Important: R version should be no less than 4.4
The NAMESPACE file
- [ ] Important: Selective imports using
importFrominstead of import all withimport.- in line 32 import(circlize)
- in line 33 import(grDevices)
- in line 35 import(knitr)
- in line 36 import(limma)
- in line 37 import(matrixStats)
- in line 38 import(parallel)
- in line 39 import(qvalue)
- in line 41 import(utils)
General package development
- [ ] NOTE: Provide 'URL', 'BugReports' field(s) in DESCRIPTION
R code
- [ ] Important: No
pasteinmessage(),message,stop. Please move thepaste/0outside.- In file R/HelperFuncs.R:
- at line 31 found ' message(paste("Set number of threads to", NumThreads))'
- In file R/HelperFuncs.R:
- [ ] Important:
warning,message,stopinstead ofcatandprintoutside ofshowmethods.- In file R/HelperFuncs.R:
- at line 726 found ' cat(knitr::kable(allComps), sep = "\n")'
- at line 865 found ' cat('
- In file R/HelperFuncs.R:
- [ ] 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. - [ ] NOTE: Vectorize:
forloops present, try to replace them by*applyfuncitons.- In file R/HelperFuncs.R:
- at line 103 found ' for (i in 0:d) {'
- at line 106 found ' for (i in 0:d) {'
- at line 107 found ' for (j in 0:(d - i)) {'
- at line 111 found ' for (i in seq_len(d)) {'
- at line 164 found ' for (r in seq_len(NumReps)) {'
- at line 241 found ' for (vs in seq_len(NumComps)) {'
- at line 247 found ' for (q in qs) {'
- at line 305 found ' for (vs in 2:NumCond) {'
- at line 311 found ' for (q in qs) {'
- at line 367 found ' for (i in seq_len(ncol(LogRatios))) {'
- at line 463 found ' for (t in seq_len(NumTests)) {'
- at line 471 found ' for (qlim in qrange) {'
- at line 520 found ' for (i in seq_len(NumComps)) {'
- at line 648 found ' for (i in seq_len(nrow(ones))) {'
- at line 664 found ' for (i in seq_len(numCond)) {'
- at line 668 found ' for (j in 2:length(condNames)) {'
- at line 743 found ' for (i in seq_len(nrow(allComps))) {'
- at line 748 found ' for (j in seq_len(nrow(allComps))) {'
- at line 756 found ' for (i in seq_len(ncol(RR))) {'
- at line 946 found ' for (t in seq_len(NumTests)) {'
- In file R/rankprodbounds.R:
- at line 72 found ' for (i in seq_len(k + 1)) {'
- at line 73 found ' for (j in seq_len(maxj + 1)) {'
- at line 88 found ' for (j in minj:maxj) {'
- at line 101 found ' for (j in unique(allj)) { # updated: thanks to Vicenzo Lagani for pointing this out'
- at line 176 found ' # checking that the parameters for (k-1,j-1) that are needed to compute the'
- at line 177 found ' # parameters for (k,j) are indeed available; if not, they are themselves computed'
- at line 195 found ' # checking that the parameters for (k-1,j) that are needed to compute the'
- at line 196 found ' # parameters for (k,j) are indeed available; if not, they are themselves computed'
- at line 259 found ' for (i in seq_len(nunique)) {'
- In file R/StatTestPaired.R:
- at line 100 found ' for (i in seq_len(nrow(allComps))) {'
- at line 155 found ' for (vs in seq_len(NumComps)) {'
- at line 254 found ' for (c in (seq_len(NumCond))) {'
- at line 266 found ' for (i in seq_len(ncol(plvalues))) {'
- In file R/StatTestUnpaired.R:
- at line 75 found ' for (i in seq_len(nrow(allComps))) {'
- at line 143 found ' for (vs in seq_len(NumComps)) {'
- at line 254 found ' for (i in seq_len(NumComps)) {'
- at line 275 found ' for (i in seq_len(ncol(plvalues))) {'
- at line 401 found ' for (p in seq_len(NumRPPairs)) {'
- In file R/Visualizations.R:
- at line 89 found ' for (i in seq_len(NumComps)) {'
- at line 90 found ' for (j in seq_len(NumTests)) {'
- at line 176 found ' for (i in seq_len(NumComps)) {'
- at line 177 found ' for (j in seq_len(NumTests)) {'
- at line 309 found ' for (c in seq_len(NumCond)) {'
- at line 346 found ' for (i in 2:nrow(MeanSet)) {'
- at line 366 found ' for (t in seq_len(NumTests)) {'
- at line 399 found ' for (j in which(tsign[, i])) {'
- at line 423 found ' for (j in seq_len(nfeat)) {'
- at line 617 found ' for (i in seq_len(NumComps)) {'
- at line 635 found ' for (j in seq_len(NumTests - 1)) {'
- at line 746 found ' for (c in pcols) {'
- at line 750 found ' for (c in seq_len(ncol(tqvals))) {'
- In file R/HelperFuncs.R:
- [ ] Important: Remove unused code.
- In file R/HelperFuncs.R:
- at line 457 found ' #parallel::clusterEvalQ(cl)'
- In file R/StatTestPaired.R:
- at line 371 found ' #parallel::clusterEvalQ(cl = cl)'
- In file R/StatTestUnpaired.R:
- at line 385 found ' #parallel::clusterEvalQ(cl = cl)'
- at line 402 found ' # print(RPparOut[[p]])'
- at line 494 found ' # print(head(PermFullData))'
- at line 505 found ' #clusterEvalQ(cl = cl)'
- In file R/Visualizations.R:
- at line 344 found ' # abline(h=fclim)'
- at line 367 found ' # print(tsign)'
- at line 412 found ' # print(SubSet)'
- at line 420 found ' # circos.text(x=mean(xlim), y=1.7,'
- at line 421 found ' # labels=name, facing = dd, cex=0.6, adj = aa),'
- at line 424 found ' # print((SubSetLR[j,i]/max(LogRatios,na.rm=T))*500+500)'
- at line 502 found ' # print(deleted_cols)'
- In file R/StatTestUnpaired.R:
- at line 494 found ' # print(head(PermFullData))'
- In file R/HelperFuncs.R:
- [ ] Important: Please consider to add
drop=FALSEto avoid the reduction of dimension for matrices and arrays. Ignore this if using datatable.- In file R/HelperFuncs.R:
- at line 67 found ' Stats <- rowMeans(Data[, seq_len(NumReps)], na.rm = TRUE) -'
- at line 68 found ' rowMeans(Data[, seq(NumReps + 1, length.out = NumReps)],'
- at line 71 found ' (sqrt(matrixStats::rowVars(Data[, seq_len(NumReps)],'
- at line 242 found ' tData <- Data[, Reps == RRCateg[2, vs]]'
- at line 243 found ' trefData <- Data[, Reps == RRCateg[1, vs]]'
- at line 306 found ' tData <- Data[, Reps == vs]'
- at line 307 found ' trefData <- Data[, Reps == 1]'
- In file R/StatTestPaired.R:
- at line 165 found ' tMAData <- MAData[, MAReps == vs]'
- at line 295 found ' t.test(tMAData[pep, ])$p.value,'
- In file R/StatTestUnpaired.R:
- at line 152 found ' tData <- Data[, Reps == RRCateg[1, vs]]'
- at line 153 found ' trefData <- Data[, Reps == RRCateg[2, vs]]'
- at line 196 found ' rowMeans(Data[, Reps == RRCateg[1, vs]], na.rm = TRUE) -'
- at line 197 found ' rowMeans(Data[, Reps == RRCateg[2, vs]], na.rm = TRUE)'
- at line 388 found ' tRPMAData <- tData[, sample(seq_len(NumReps))] -'
- In file R/Visualizations.R:
- at line 310 found ' MeanSet[, c] <- rowMeans(tdat[, seq_len(NumReps) + (c - 1) *'
- at line 315 found ' SDSet[, c] <- rowSds(tdat[, seq_len(NumReps) + (c - 1) * NumReps,'
- In file R/HelperFuncs.R:
- [ ] NOTE: Functional programming: code repetition.
- repetition in
create_ratio_matrix,PolySTest_paired,PolySTest_unpaired, andrp_unpaired- in create_ratio_matrix
- line 8: valComps <- matrix(NA, nrow = nrow(allComps), ncol = 2)
- line 9: for (i in seq_len(nrow(allComps))) {
- line 10: valComps[i, 1] <- as.numeric(which(conditions == allComps[i,
- line 11: 1]))
- line 12: valComps[i, 2] <- as.numeric(which(conditions == allComps[i,
- line 13: 2]))
- line 14: }
- in PolySTest_paired
- line 1: allComps, statTests = c("limma", "Miss_Test", "t_test", "rank_products",
- line 2: "permutation_test"))
- line 3:{
- line 4: check_for_polystest(fulldata)
- line 5: Data <- assay(fulldata, "quant")
- line 6: NumReps <- metadata(fulldata)$NumReps
- line 7: NumCond <- metadata(fulldata)$NumCond
- line 15: Reps <- rep(seq_len(NumCond), NumReps)
- line 16: conditions <- unique(colData(fulldata)$Condition)
- line 17: NumComps <- nrow(allComps)
- line 18: RRCateg <- matrix(NA, ncol = nrow(allComps), nrow = 2)
- line 19: for (i in seq_len(nrow(allComps))) {
- line 20: RRCateg[1, i] <- as.numeric(which(conditions == allComps[i,
- line 21: 1]))
- line 22: RRCateg[2, i] <- as.numeric(which(conditions == allComps[i,
- line 23: 2]))
- line 24: }
- line 25: p_values <- q_values <- matrix(NA, nrow = nrow(MAData), ncol = length(tests) *
- line 26: NumComps)
- line 27: rownames(p_values) <- rownames(q_values) <- rownames(MAData)
- line 28: colnames(p_values) <- paste0("p_values_", rep(tests, each = NumComps),
- line 29: "_", rep(seq_len(NumComps), length(tests)))
- line 30: colnames(q_values) <- paste0("q_values_", rep(tests, each = NumComps),
- line 31: "_", rep(seq_len(NumComps), length(tests)))
- line 32: Sds <- NULL
- line 33: if (any("limma" %in% tests)) {
- line 34: message("Running limma tests")
- line 35: limma_out <- limma_paired(MAData, NumComps, NumReps)
- line 36: p_values[, grep("p_values_limma", colnames(p_values))] <- limma_out$plvalues
- line 37: q_values[, grep("q_values_limma", colnames(q_values))] <- limma_out$qlvalues
- line 38: Sds <- limma_out$Sds
- line 39: message("limma completed")
- line 40: }
- line 41: if (any("Miss_Test" %in% tests)) {
- line 42: message("Running Miss test")
- line 43: MissingStats <- MissingStatsDesign(Data, RRCateg, NumCond,
- line 44: NumReps)
- line 45: p_values[, grep("p_values_Miss_Test", colnames(p_values))] <- MissingStats$pNAvalues
- line 46: q_values[, grep("q_values_Miss_Test", colnames(q_values))] <- MissingStats$qNAvalues
- line 47: message("Miss test completed")
- line 48: }
- line 50: lratios <- NULL
- line 51: if (any("rank_products" %in% tests)) {
- line 52: message("Running rank products ...")
- line 53: }
- line 54: if (any("t_test" %in% tests)) {
- line 55: message("Running t-tests ...")
- line 56: }
- line 57: if (any("permutation_test" %in% tests)) {
- line 58: message("Running permutation tests ...")
- line 59: }
- line 60: pb <- txtProgressBar(0.9, NumCond)
- line 61: for (vs in seq_len(NumComps)) {
- line 62: if (!is.null(shiny::getDefaultReactiveDomain())) {
- line 63: shiny::setProgress(0.1 + 0.3/NumComps * vs, detail = paste("tests for comparison",
- line 64: vs, "of", NumComps))
- line 65: }
- line 66: tMAData <- MAData[, MAReps == vs]
- line 67: if (any("t_test" %in% tests)) {
- line 68: ttest_out <- ttest_paired(tMAData)
- line 69: p_values[, grep("p_values_t_test", colnames(p_values))[vs]] <- ttest_out$ptvalues
- line 70: q_values[, grep("q_values_t_test", colnames(q_values))[vs]] <- ttest_out$qtvalues
- line 71: }
- line 72: if (any("rank_products" %in% tests)) {
- line 73: RPMAUp_pvalues <- RPStats(tMAData, NumReps)
- line 74: RPMADown_pvalues <- RPStats(-tMAData, NumReps)
- line 75: ttt <- rowMins(cbind(RPMAUp_pvalues, RPMADown_pvalues),
- line 76: na.rm = TRUE) * 2
- line 77: ttt[ttt > 1] <- 1
- line 83: }
- line 84: if (any("permutation_test" %in% tests)) {
- line 85: perm_out <- permtest_paired(tMAData)
- line 86: p_values[, grep("p_values_permutation_test", colnames(p_values))[vs]] <- perm_out$pPermutvalues
- line 87: q_values[, grep("q_values_permutation_test", colnames(q_values))[vs]] <- perm_out$qPermutvalues
- line 88: }
- line 89: lratios <- cbind(lratios, rowMeans(MAData[, MAReps ==
- line 94: close(pb)
- line 95: fulldata <- prepare_output_data(fulldata, p_values, q_values,
- line 96: lratios, tests, allComps)
- line 97: return(fulldata)
- in PolySTest_unpaired
- line 1: allComps, statTests = c("limma", "Miss_Test", "t_test", "rank_products",
- line 2: "permutation_test"))
- line 3:{
- line 4: check_for_polystest(fulldata)
- line 5: Data <- assay(fulldata, "quant")
- line 6: NumReps <- metadata(fulldata)$NumReps
- line 7: NumCond <- metadata(fulldata)$NumCond
- line 8: Reps <- rep(seq_len(NumCond), NumReps)
- line 9: conditions <- unique(colData(fulldata)$Condition)
- line 10: NumComps <- nrow(allComps)
- line 11: RRCateg <- matrix(NA, ncol = nrow(allComps), nrow = 2)
- line 12: for (i in seq_len(nrow(allComps))) {
- line 13: RRCateg[1, i] <- as.numeric(which(conditions == allComps[i,
- line 14: 1]))
- line 15: RRCateg[2, i] <- as.numeric(which(conditions == allComps[i,
- line 16: 2]))
- line 17: }
- line 23: }
- line 24: p_values <- q_values <- matrix(NA, nrow = nrow(Data), ncol = length(tests) *
- line 25: NumComps)
- line 26: rownames(p_values) <- rownames(q_values) <- rownames(Data)
- line 27: colnames(p_values) <- paste0("p_values_", rep(tests, each = NumComps),
- line 28: "_", rep(seq_len(NumComps), length(tests)))
- line 29: colnames(q_values) <- paste0("q_values_", rep(tests, each = NumComps),
- line 30: "_", rep(seq_len(NumComps), length(tests)))
- line 31: Sds <- NULL
- line 32: if (any("limma" %in% tests)) {
- line 33: message("Running limma tests")
- line 34: lm_out <- limma_unpaired(Data, NumCond, NumReps, RRCateg)
- line 35: p_values[, grep("p_values_limma", colnames(p_values))] <- lm_out$plvalues
- line 36: q_values[, grep("q_values_limma", colnames(q_values))] <- lm_out$qlvalues
- line 37: Sds <- lm_out$Sds
- line 38: message("limma completed")
- line 39: }
- line 40: if (any("Miss_Test" %in% tests)) {
- line 41: message("Running Miss test")
- line 42: MissingStats <- MissingStatsDesign(Data, RRCateg, NumCond,
- line 43: NumReps)
- line 44: p_values[, grep("p_values_Miss_Test", colnames(p_values))] <- MissingStats$pNAvalues
- line 45: q_values[, grep("q_values_Miss_Test", colnames(q_values))] <- MissingStats$qNAvalues
- line 46: message("Miss test completed")
- line 47: }
- line 48: lratios <- NULL
- line 49: if (any("rank_products" %in% tests)) {
- line 50: message("Running rank products ...")
- line 51: }
- line 52: if (any("t_test" %in% tests)) {
- line 53: message("Running t-tests ...")
- line 54: }
- line 55: if (any("permutation_test" %in% tests)) {
- line 56: message("Running permutation tests ...")
- line 57: }
- line 58: pb <- txtProgressBar(0.9, NumComps)
- line 59: for (vs in seq_len(NumComps)) {
- line 60: if (!is.null(shiny::getDefaultReactiveDomain())) {
- line 61: shiny::setProgress(0.1 + 0.3/(NumComps) * vs, detail = paste("tests for comparison",
- line 62: vs, "of", NumComps))
- line 63: }
- line 64: tData <- Data[, Reps == RRCateg[1, vs]]
- line 65: trefData <- Data[, Reps == RRCateg[2, vs]]
- line 66: if (any("t_test" %in% tests)) {
- line 67: ttest_out <- ttest_unpaired(tData, trefData)
- line 68: p_values[, grep("p_values_t_test", colnames(p_values))[vs]] <- ttest_out$ptvalues
- line 69: q_values[, grep("q_values_t_test", colnames(q_values))[vs]] <- ttest_out$qtvalues
- line 70: }
- line 71: if (any("rank_products" %in% tests)) {
- line 75: }
- line 76: if (any("permutation_test" %in% tests)) {
- line 77: perm_out <- perm_unpaired(tData, trefData)
- line 78: p_values[, grep("p_values_permutation_test", colnames(p_values))[vs]] <- perm_out$pPermutvalues
- line 79: q_values[, grep("q_values_permutation_test", colnames(q_values))[vs]] <- perm_out$qPermutvalues
- line 80: }
- line 81: lratios <- cbind(lratios, rowMeans(Data[, Reps == RRCateg[1,
- line 85: }
- line 86: close(pb)
- line 87: fulldata <- prepare_output_data(fulldata, p_values, q_values,
- line 88: lratios, tests, allComps)
- line 89: return(fulldata)
- in rp_unpaired
- line 22: trefData[, sample(seq_len(NumReps))]
- line 23: RPMAUp_pvalues <- RPStats(tRPMAData, NumReps)
- line 24: RPMADown_pvalues <- RPStats(-tRPMAData, NumReps)
- line 25: ttt <- rowMins(cbind(RPMAUp_pvalues, RPMADown_pvalues),
- line 26: na.rm = TRUE) * 2
- line 27: ttt[ttt > 1] <- 1
- in create_ratio_matrix
- repetition in
FindFCandQlim, andFindFCandQlimAlternative- in FindFCandQlim
- line 13: length = 100)
- line 14: NumTests <- ncol(Qvalue)/(NumCond)
- line 15: if (NumTests%%1 != 0) {
- line 16: stop("Number of tests is not a multiple of the number of conditions")
- line 17: }
- line 18: if (NumTests != ncol(Qvalue)/(NumCond)) {
- line 19: stop("Number of tests is not a multiple of the number of conditions")
- line 20: }
- in FindFCandQlimAlternative
- line 5: Pvalue[is.na(Pvalue)] <- 1
- line 6: NumTests <- ncol(Pvalue)/(NumCond)
- line 7: if (NumTests%%1 != 0) {
- line 8: stop("Number of tests is not a multiple of the number of conditions")
- line 9: }
- line 10: if (NumTests != ncol(Pvalue)/(NumCond)) {
- line 11: stop("Number of tests is not a multiple of the number of conditions")
- line 12: }
- in FindFCandQlim
- repetition in
limma_paired, andlimma_unpaired- in limma_paired
- line 9: lm.bayesMA <- limma::eBayes(lm.fittedMA)
- line 10: topTable(lm.bayesMA)
- line 11: plvalues <- lm.bayesMA$p.value
- line 12: qlvalues <- matrix(NA, nrow = nrow(plvalues), ncol = ncol(plvalues),
- line 13: dimnames = dimnames(plvalues))
- line 14: for (i in seq_len(ncol(plvalues))) {
- line 15: tqs <- qvalue::qvalue(na.omit(plvalues[, i]))$qvalues
- line 16: qlvalues[names(tqs), i] <- tqs
- line 17: }
- line 18: return(list(plvalues = plvalues, qlvalues = qlvalues, Sds = sqrt(lm.bayesMA$s2.post)))
- in limma_unpaired
- line 17: lm.bayes <- limma::eBayes(lm.contr)
- line 18: topTable(lm.bayes)
- line 19: plvalues <- lm.bayes$p.value
- line 20: qlvalues <- matrix(NA, nrow = nrow(plvalues), ncol = ncol(plvalues),
- line 21: dimnames = dimnames(plvalues))
- line 22: for (i in seq_len(ncol(plvalues))) {
- line 23: tqs <- qvalue::qvalue(na.omit(plvalues[, i]))$qvalues
- line 24: qlvalues[names(tqs), i] <- tqs
- line 25: }
- line 26: return(list(plvalues = plvalues, qlvalues = qlvalues, Sds = sqrt(lm.bayes$s2.post)))
- in limma_paired
- repetition in
limma_unpaired, andMissingStatsDesign- in limma_unpaired
- line 1: NumCond, NumReps, RRCateg)
- line 2:{
- line 3: Reps <- rep(seq_len(NumCond), NumReps)
- line 4: NumComps <- ncol(RRCateg)
- in MissingStatsDesign
- line 1: RRCateg, NumCond, NumReps)
- line 2:{
- line 3: Reps <- rep(seq_len(NumCond), NumReps)
- line 4: NumComps <- ncol(RRCateg)
- in limma_unpaired
- repetition in
MissingStats, andMissingStatsDesign- in MissingStats
- line 11: tData <- Data[, Reps == vs]
- line 12: trefData <- Data[, Reps == 1]
- line 13: tCompDat <- cbind(tData, trefData)
- line 14: qs <- quantile(tCompDat, probs = seq(0, 1, 0.01), na.rm = TRUE)
- line 15: pvals <- statis <- matrix(NA, nrow(tCompDat), ncol = length(qs))
- line 16: for (q in qs) {
- line 17: tCompDat[tCompDat < q] <- NA
- line 18: NAPDistr <- MissValPDistr(NumReps, sum(is.na(tCompDat))/(nrow(tCompDat) *
- line 19: 2 * NumReps))
- line 20: statis[, which(q == qs)] <- (rowSums(!is.na(tCompDat[,
- line 21: seq_len(NumReps)])) - rowSums(!is.na(tCompDat[,
- line 22: (NumReps + 1):(2 * NumReps)])))
- line 23: pvals[, which(q == qs)] <- NAPDistr[abs(statis[,
- line 24: which(q == qs)]) + 1]
- line 25: }
- line 26: pNAvalues[, vs - 1] <- rowMins(pvals) * (NumReps + 1)
- line 27: qNAvalues[, vs - 1] <- p.adjust(pNAvalues[, vs - 1],
- line 28: method = "BH")
- line 29: }
- line 30: pNAvalues[pNAvalues > 1] <- 1
- line 31: return(list(pNAvalues = pNAvalues, qNAvalues = qNAvalues))
- in MissingStatsDesign
- line 12: tData <- Data[, Reps == RRCateg[2, vs]]
- line 13: trefData <- Data[, Reps == RRCateg[1, vs]]
- line 14: tCompDat <- cbind(tData, trefData)
- line 15: qs <- quantile(tCompDat, probs = seq(0, 1, 0.01), na.rm = TRUE)
- line 16: pvals <- statis <- matrix(NA, nrow(tCompDat), ncol = length(qs))
- line 17: for (q in qs) {
- line 18: tCompDat[tCompDat < q] <- NA
- line 19: NAPDistr <- MissValPDistr(NumReps, sum(is.na(tCompDat))/(nrow(tCompDat) *
- line 20: 2 * NumReps))
- line 21: statis[, which(q == qs)] <- (rowSums(!is.na(tCompDat[,
- line 22: seq_len(NumReps)])) - rowSums(!is.na(tCompDat[,
- line 23: (NumReps + 1):(2 * NumReps)])))
- line 24: pvals[, which(q == qs)] <- NAPDistr[abs(statis[,
- line 25: which(q == qs)]) + 1]
- line 26: }
- line 27: pNAvalues[, vs] <- rowMins(pvals) * (NumReps + 1)
- line 28: qNAvalues[, vs] <- p.adjust(pNAvalues[, vs], method = "BH")
- line 30: }
- line 31: close(pb)
- line 32: pNAvalues[pNAvalues > 1] <- 1
- line 33: return(list(pNAvalues = pNAvalues, qNAvalues = qNAvalues))
- in MissingStats
- repetition in
perm_unpaired,permtest_paired,rp_unpaired,ttest_unpaired, andrp_unpaired- in perm_unpaired
- line 1: trefData)
- line 2:{
- line 3: if (ncol(tData) != ncol(trefData)) {
- line 4: stop("The number of columns in the two datasets must be the same")
- line 5: }
- line 6: NumReps <- ncol(tData)
- line 7: if (exists("NumPermCols")) {
- line 8: NumPermCols <- NumPermCols
- line 9: }
- line 10: else {
- line 11: NumPermCols <- 7
- line 12: }
- line 13: if (exists("NumTests")) {
- line 14: NTests <- NumTests
- line 15: }
- line 16: else {
- line 17: NTests <- 1000
- line 18: }
- line 21: na.rm = TRUE)
- line 22: if (ncol(tData) * 2 < NumPermCols) {
- line 23: AddDat <- matrix(sample(as.vector(unlist(tData)), (NumPermCols -
- line 24: ncol(tData)) * nrow(tData), replace = TRUE), nrow = nrow(tData))
- line 36: NumThreads <- get_numthreads()
- line 37: cl <- makeCluster(NumThreads)
- line 38: clusterExport(cl = cl, varlist = c("NumReps", "PermFullData",
- line 39: "RPStats", "StatsForPermutTest"), envir = environment())
- line 40: PermutOut <- parallel::parLapply(cl, seq_len(NTests), function(x) {
- line 41: indat <- apply(PermFullData, 1, function(y) {
- line 42: sample(y, NumReps * 2) * sample(c(1, -1), NumReps *
- line 43: 2, replace = TRUE)
- line 44: })
- line 45: StatsForPermutTest(t(indat), FALSE)
- line 46: })
- line 47: stopCluster(cl)
- line 48: PermutOut <- matrix(unlist(PermutOut), nrow = nrow(tData))
- line 54: })
- line 55: qPermutvalues <- rep(NA, length(pPermutvalues))
- line 56: names(qPermutvalues) <- names(pPermutvalues)
- line 57: tqs <- qvalue::qvalue(na.omit(pPermutvalues))$qvalues
- line 58: qPermutvalues[names(tqs)] <- tqs
- line 59: return(list(pPermutvalues = pPermutvalues, qPermutvalues = qPermutvalues))
- in permtest_paired
- line 1:{
- line 2: NumReps <- ncol(tMAData)
- line 3: if (exists("NumPermCols")) {
- line 4: NumPermCols <- NumPermCols
- line 5: }
- line 6: else {
- line 7: NumPermCols <- 7
- line 8: }
- line 9: if (exists("NumTests")) {
- line 10: NTests <- NumTests
- line 11: }
- line 12: else {
- line 13: NTests <- 1000
- line 14: }
- line 15: if (ncol(tMAData) < NumPermCols) {
- line 16: AddDat <- matrix(sample(as.vector(tMAData), (NumPermCols -
- line 17: ncol(tMAData)) * nrow(tMAData), replace = TRUE),
- line 18: nrow = nrow(tMAData))
- line 25: NumThreads <- get_numthreads()
- line 26: cl <- parallel::makeCluster(NumThreads)
- line 27: parallel::clusterExport(cl = cl, varlist = c("NumReps", "PermMAData",
- line 28: "RPStats", "StatsForPermutTest"), envir = environment())
- line 29: PermutOut <- parallel::parLapply(cl, seq_len(NTests), function(x) {
- line 30: indat <- apply(PermMAData, 1, function(y) {
- line 31: sample(y, NumReps) * sample(c(1, -1), NumReps, replace = TRUE)
- line 32: })
- line 33: StatsForPermutTest(t(indat), TRUE)
- line 34: })
- line 35: parallel::stopCluster(cl)
- line 36: PermutOut <- matrix(unlist(PermutOut), nrow = nrow(tMAData))
- line 39: })
- line 40: qPermutvalues <- rep(NA, length(pPermutvalues))
- line 41: names(qPermutvalues) <- names(pPermutvalues)
- line 42: tqs <- p.adjust(na.omit(pPermutvalues), method = "BH")
- line 43: qPermutvalues[names(tqs)] <- tqs
- line 44: return(list(pPermutvalues = pPermutvalues, qPermutvalues = qPermutvalues))
- in rp_unpaired
- line 7: NumRPPairs <- 100
- line 8: }
- line 9: if (ncol(tData) != ncol(trefData)) {
- line 10: stop("The number of columns in the two datasets must be the same")
- line 11: }
- line 12: NumReps <- ncol(tData)
- in ttest_unpaired
- line 1: trefData)
- line 2:{
- line 3: if (ncol(tData) != ncol(trefData)) {
- line 4: stop("The number of columns in the two datasets must be the same")
- line 5: }
- in rp_unpaired
- line 15: NumThreads <- get_numthreads()
- line 16: cl <- parallel::makeCluster(NumThreads)
- line 17: parallel::clusterExport(cl = cl, varlist = c("NumReps", "tData",
- line 18: "trefData", "RPStats"), envir = environment())
- in perm_unpaired
- repetition in
plotExpression, andplotHeatmaply- in plotExpression
- line 33: FCRegs <- filterFC(rdat, NumTests, NumComps, fclim)
- line 34: SubSetQval <- Qvalue[sel_prots, , drop = FALSE]
- line 35: SubSetLR <- LogRatios[sel_prots, , drop = FALSE]
- line 36: SubSetLR <- SubSetLR[order(rowMins(SubSetQval[, seq_len(NumComps),
- line 37: drop = FALSE], na.rm = TRUE)), , drop = FALSE]
- line 41: tdat <- as.matrix(dat[rownames(SubSet), (rep(seq_len(NumReps),
- line 42: NumCond) - 1) * NumCond + rep(seq_len(NumCond), each = NumReps),
- line 43: drop = FALSE])
- line 44: rownames(tdat) <- strtrim(rownames(tdat), 20)
- in plotHeatmaply
- line 18: NumReps <- metadata(fulldata)$NumReps
- line 19: SubSetQval <- Qvalue[sel_prots, , drop = FALSE]
- line 20: SubSetLR <- LogRatios[sel_prots, , drop = FALSE]
- line 21: SubSetLR <- SubSetLR[order(rowMins(SubSetQval[, seq_len(NumComps),
- line 22: drop = FALSE], na.rm = TRUE)), , drop = FALSE]
- line 26: tdat <- dat[rownames(SubSetLR), (rep(seq_len(NumReps),
- line 27: NumCond) - 1) * NumCond + rep(seq_len(NumCond),
- line 28: each = NumReps), drop = FALSE]
- line 29: rownames(tdat) <- strtrim(rownames(tdat), 30)
- in plotExpression
- repetition in
plotExpression,plotPvalueDistr,plotRegNumber, andplotVolcano- in plotExpression
- line 5: check_for_polystest(fulldata)
- line 6: rdat <- SummarizedExperiment::rowData(fulldata)
- line 7: par(mfrow = c(1, 3))
- line 8: testNames2 <- make.names(testNames)
- line 9: testNames2 <- gsub("\.", "_", testNames2)
- line 10: compNames <- check_stat_names(fulldata, compNames, testNames2)
- line 11: NumComps <- length(compNames)
- line 13: Qvalue <- as.matrix(rdat[, grep("^FDR_", colnames(rdat)),
- line 14: drop = FALSE])
- line 15: LogRatios <- as.matrix(rdat[, grep("^log_ratios_", colnames(rdat))],
- line 16: drop = FALSE)
- line 17: Qvalue <- Qvalue[, grep(paste(paste0("^FDR_", testNames2),
- line 18: collapse = "|"), colnames(Qvalue)), drop = FALSE]
- line 19: LogRatios <- LogRatios[, grep(paste(paste0("^log_ratios_",
- line 20: compNames), collapse = "|"), colnames(LogRatios)), drop = FALSE]
- line 21: Qvalue <- Qvalue[, grep(paste(paste0(compNames, "$"), collapse = "|"),
- line 22: colnames(Qvalue)), drop = FALSE]
- in plotPvalueDistr
- line 6: check_for_polystest(fulldata)
- line 7: testNames2 <- make.names(testNames)
- line 8: testNames2 <- gsub("\.", "_", testNames2)
- line 9: compNames <- check_stat_names(fulldata, compNames, testNames2)
- line 10: message("Plotting p-values")
- line 12: PValue <- as.matrix(rdat[, grep("^p_values_", colnames(rdat)),
- line 13: drop = FALSE])
- line 14: PValue <- PValue[, grep(paste(paste0("^p_values_", testNames2),
- line 15: collapse = "|"), colnames(PValue)), drop = FALSE]
- line 16: PValue <- PValue[, grep(paste(paste0(compNames, "$"), collapse = "|"),
- line 17: colnames(PValue)), drop = FALSE]
- line 18: NumTests <- length(testNames)
- line 19: NumComps <- length(compNames)
- in plotRegNumber
- line 1: compNames = "all", testNames = c("PolySTest", "limma", "Miss Test",
- line 2: "rank products", "permutation test", "t-test"), qlim = 0.05,
- line 3: fclim = c(0, 0), TestCols = c("#33AAAA", "#33AA33", "#AA3333",
- line 4: "#AA33AA", "#AAAA33", "#3333AA"), ...)
- line 5:{
- line 6: check_for_polystest(fulldata)
- line 7: rdat <- SummarizedExperiment::rowData(fulldata)
- line 8: testNames2 <- make.names(testNames)
- line 9: testNames2 <- gsub("\.", "_", testNames2)
- line 10: compNames <- check_stat_names(fulldata, compNames, testNames2)
- line 11: QValue <- as.matrix(rdat[, grep("^FDR_", colnames(rdat)),
- line 12: drop = FALSE])
- line 13: LogRatios <- as.matrix(rdat[, grep("^log_ratios_", colnames(rdat)),
- line 14: drop = FALSE])
- line 15: QValue <- QValue[, grep(paste(paste0("^FDR_", testNames2),
- line 16: collapse = "|"), colnames(QValue)), drop = FALSE]
- line 17: LogRatios <- LogRatios[, grep(paste(paste0("^log_ratios_",
- line 18: compNames), collapse = "|"), colnames(LogRatios)), drop = FALSE]
- line 19: QValue <- QValue[, grep(paste(paste0(compNames, "$"), collapse = "|"),
- line 20: colnames(QValue)), drop = FALSE]
- line 21: NumTests <- length(testNames)
- line 22: NumComps <- length(compNames)
- in plotVolcano
- line 1: compNames = "all", testNames = c("PolySTest", "limma", "Miss Test",
- line 2: "rank products", "permutation test", "t-test"), sel_prots = "all",
- line 3: qlim = 0.05, fclim = c(0, 0), testCols = c("#33AAAA", "#33AA33",
- line 4: "#AA3333", "#AA33AA", "#AAAA33", "#3333AA"), ...)
- line 5:{
- line 6: check_for_polystest(fulldata)
- line 7: rdat <- SummarizedExperiment::rowData(fulldata)
- line 8: testNames2 <- make.names(testNames)
- line 9: testNames2 <- gsub("\.", "_", testNames2)
- line 10: compNames <- check_stat_names(fulldata, compNames, testNames2)
- line 11: Qvalue <- as.matrix(rdat[, grep("^FDR_", colnames(rdat)),
- line 12: drop = FALSE])
- line 13: LogRatios <- as.matrix(rdat[, grep("^log_ratios_", colnames(rdat)),
- line 14: drop = FALSE])
- line 15: Qvalue <- Qvalue[, grep(paste(paste0("^FDR_", testNames2),
- line 16: collapse = "|"), colnames(Qvalue)), drop = FALSE]
- line 17: LogRatios <- LogRatios[, grep(paste(paste0("^log_ratios_",
- line 18: compNames), collapse = "|"), colnames(LogRatios)), drop = FALSE]
- line 19: Qvalue <- Qvalue[, grep(paste(paste0(compNames, "$"), collapse = "|"),
- line 20: colnames(Qvalue)), drop = FALSE]
- line 21: if (ncol(Qvalue) > 0) {
- in plotExpression
- repetition in
ttest_paired, andttest_unpaired- in ttest_paired
- line 6: names(ptvalues) <- rownames(tMAData)
- line 7: tqs <- qvalue::qvalue(na.omit(ptvalues))$qvalues
- line 8: qtvalues <- rep(NA, length(ptvalues))
- line 9: names(qtvalues) <- names(ptvalues)
- line 10: qtvalues[names(tqs)] <- tqs
- line 11: return(list(ptvalues = ptvalues, qtvalues = qtvalues))
- in ttest_unpaired
- line 12: ptvalues <- tptvalues
- line 13: tqs <- qvalue::qvalue(na.omit(ptvalues))$qvalues
- line 14: qtvalues <- rep(NA, length(ptvalues))
- line 15: names(qtvalues) <- names(ptvalues)
- line 16: qtvalues[names(tqs)] <- tqs
- line 17: return(list(ptvalues = ptvalues, qtvalues = qtvalues))
- in ttest_paired
- repetition in
Documentation
- [ ] Note: Vignette should use
BiocStylepackage for formatting.- rmd file vignettes/StatisticalTest.Rmd
- [ ] Important: Vignette should have an Introduction section. Please add section title to introduction.
- rmd file vignettes/StatisticalTest.Rmd
- [ ] To avoid the '* NOTE: Consider adding runnable examples to man pages that document exported objects.' in BiocCheck, could you please add runnable examples to - prepare_output_data.Rd
Received a valid push on git.bioconductor.org; starting a build for commit id: bb6985ef77bf4492f6f33941e5b6be13020d95be
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): PolySTest_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
[email protected]:packages/PolySTest to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Thank you for the thorough review. Below you find my comments and ticked parts.
Question: This package comes from a tool that has a version number large than 1. How can I continue from there without triggering an error?
The DESCRIPTION file
* [x] Important: R version should be no less than 4.4
Done
The NAMESPACE file
* [x] Important: Selective imports using `importFrom` instead of _import all_ with `import`.
Done
General package development
* [X] NOTE: Provide 'URL', 'BugReports' field(s) in DESCRIPTION
Done
R code
* [X] Important: No `paste` in `message()`, `message`, `stop`. Please move the `paste/0` outside.
Done
* [ ] Important: `warning`, `message`, `stop` instead of `cat` and `print` outside of `show` methods. * In file R/HelperFuncs.R: * at line 726 found ' cat(knitr::kable(allComps), sep = "\n")'
The function shows an small table and I really want to use kable for that without having to make a separate function. This is why I kept this
* [ ] 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.
I am not sure what I should do here, sorry.
* [ ] NOTE: Vectorize: `for` loops present, try to replace them by `*apply` funcitons.
Partly done. I am a bit conservative with this and prefer to keep for loops when there is no necessity for speeding up a certain calculation. This is why many of the for loops still are there.
* [X] Important: Remove unused code.
Done
* [X] Important: Please consider to add `drop=FALSE` to avoid the reduction of dimension for matrices and arrays. Ignore this if using datatable.
Done where it was necessary.
* [ ] NOTE: Functional programming: code repetition.
Partly done where it seemed useful and not breaking the "narrative"
Documentation
* [X] Note: Vignette should use `BiocStyle` package for formatting.
Done
* [X] Important: Vignette should have an _Introduction_ section. Please add section title to introduction.
Done
* [] To avoid the '* NOTE: Consider adding runnable examples to man pages that document exported objects.' in BiocCheck, could you please add runnable examples to - prepare_output_data.Rd
As this function has too many inputs to provide a reasonable documentation, I made it a hidden function
Received a valid push on git.bioconductor.org; starting a build for commit id: a59dcbc474656ac47df54c4781eeeae44ddd2ef5
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): PolySTest_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
[email protected]:packages/PolySTest to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Package 'PolySTest' Review
Thank you for submitting your package to Bioconductor. The package passed check and build. 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.
R code
- [ ] Important: no
<<-. If you have trouble in this, just go back to for loop.- In file R/HelperFuncs.R:
- at line 477 found ' Qvalue[, (t - 1) * NumCond + seq_len(NumCond)] <<- tvals'
- at line 505 found ' localBestRegs <<- distr_mean'
- at line 506 found ' localBestComb <<- c(fc, qlim)'
- In file R/StatTestPaired.R:
- at line 155 found ' colnames(p_values))] <<- res$pvals'
- at line 157 found ' colnames(q_values))] <<- res$qvals'
- at line 184 found ' colnames(p_values))[vs]] <<- res$pvals'
- at line 186 found ' colnames(q_values))[vs]] <<- res$qvals'
- In file R/StatTestUnpaired.R:
- at line 138 found ' colnames(p_values))] <<- res$pvals'
- at line 140 found ' colnames(q_values))] <<- res$qvals'
- at line 167 found ' colnames(p_values))[vs]] <<- res$pvals'
- at line 169 found ' colnames(q_values))[vs]] <<- res$qvals'
- at line 367 found ' tpRPvalues[names(RPparOut[[p]]), p] <<- RPparOut[[p]]'
- In file R/HelperFuncs.R:
- [ ] Important: No
pasteinmessage(),message,stop. Please move thepaste/0outside.- In file R/StatTestPaired.R:
- at line 152 found ' message(paste("Running", test, "test"))'
- at line 159 found ' message(paste(test, "completed"))'
- In file R/StatTestUnpaired.R:
- at line 135 found ' message(paste("Running", test, "tests"))'
- at line 142 found ' message(paste(test, "completed"))'
- In file R/StatTestPaired.R:
- [ ] Important:
1:nis not suggested in source code. Useseq_along,seq.int,seq_leninstead.- In file R/HelperFuncs.R:
- at line 102 found ' D <- vapply(0:d, function(i) sum(binTerms[1:(d-i+1)] * binTerms[(i+1):(d+1)]), numeric(1))'
- In file R/StatTestUnpaired.R:
- at line 234 found ' colnames(design)[RRCateg[2, 1:NumComps]],'
- at line 236 found ' colnames(design)[RRCateg[1, 1:NumComps]],'
- In file R/HelperFuncs.R:
- [ ] Important: Add content to the empty file R/global.R
Received a valid push on git.bioconductor.org; starting a build for commit id: 024dad9649719ea2423728d96c9de06562973c62
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: macOS 12.7.1 Monterey: PolySTest_0.99.4.tar.gz Linux (Ubuntu 22.04.3 LTS): PolySTest_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
[email protected]:packages/PolySTest 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: 009eef821bf53d2da3d364e5d7a4a4d8cb1a13a5
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): PolySTest_0.99.5.tar.gz macOS 12.7.1 Monterey: PolySTest_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
[email protected]:packages/PolySTest 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: 01d75b45a32aa582b3c5466bdde435b682fa93eb
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): PolySTest_0.99.6.tar.gz macOS 12.7.1 Monterey: PolySTest_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
[email protected]:packages/PolySTest to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Thank you again for the review @jianhong
I should have managed to solve all raised points with this new commit
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/veitveit.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("PolySTest"). The package 'landing page' will be created at
https://bioconductor.org/packages/PolySTest
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.