Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dreamlet submission #2955

Closed
10 tasks done
GabrielHoffman opened this issue Mar 16, 2023 · 84 comments
Closed
10 tasks done

dreamlet submission #2955

GabrielHoffman opened this issue Mar 16, 2023 · 84 comments
Assignees
Labels
3a. accepted will be ingested into Bioconductor daily builder for distribution OK

Comments

@GabrielHoffman
Copy link

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]'

  • I understand that by submitting my package to Bioconductor,
    the package source and all review commentary are visible to the
    general public.

  • I have read the Bioconductor Package Submission
    instructions. My package is consistent with the Bioconductor
    Package Guidelines.

  • I understand Bioconductor Package Naming Policy and acknowledge
    Bioconductor may retain use of package name.

  • 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.

  • My package addresses statistical or bioinformatic issues related
    to the analysis and comprehension of high throughput genomic data.

  • I am committed to the long-term maintenance of my package. This
    includes monitoring the support site for issues that users may
    have, subscribing to the bioc-devel mailing list to stay aware
    of developments in the Bioconductor community, responding promptly
    to requests for updates from the Core team in response to changes in
    R or underlying software.

  • I am familiar with the Bioconductor code of conduct and
    agree to abide by it.

I am familiar with the essential aspects of Bioconductor software
management, including:

  • The 'devel' branch for new packages and features.
  • The stable 'release' branch, made available every six
    months, for bug fixes.
  • 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.

@bioc-issue-bot
Copy link
Collaborator

Hi @GabrielHoffman

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: dreamlet
Type: Package
Title: Cohort-scale differential expression analysis of single cell data using linear (mixed) models
Version: 0.99.0
Date: 2023-03-15
Authors@R: person("Gabriel", "Hoffman", role=c("aut", "cre"), email="gabriel.hoffman@mssm.edu")
Description: Recent advances in single cell/nucleus transcriptomic technology has enabled collection of cohort-scale datasets to study cell type specific gene expression differences associated disease state, stimulus, and genetic regulation. The scale of these data, complex study designs, and low read count per cell mean that characterizing cell type specific molecular mechanisms requires a user-frieldly, purpose-build analytical framework. We have developed the dreamlet package that applies a pseudobulk approach and fits a regression model for each gene and cell cluster to test differential expression across individuals associated with a trait of interest. Use of precision-weighted linear mixed models enables accounting for repeated measures study designs, high dimensional batch effects, and varying sequencing depth or observed cells per biosample.
VignetteBuilder: knitr
License: Artistic-2.0
Encoding: UTF-8
URL: https://DiseaseNeurogenomics.github.io/dreamlet
BugReports: https://github.com/DiseaseNeurogenomics/dreamlet/issues
Suggests:
    BiocStyle,
    knitr,
    pander,
    rmarkdown,
    muscat,
    ExperimentHub,
    RUnit,
    scater,
    scuttle
biocViews: RNASeq,
    GeneExpression,
    DifferentialExpression,
    BatchEffect,
    QualityControl,
    Regression,
    GeneSetEnrichment,
    GeneRegulation,
    Epigenetics,
    FunctionalGenomics,
    Transcriptomics,
    Normalization,
    SingleCell,
    Preprocessing,
    Software
Depends:
    R (>= 4.2.0),
    ggplot2,
    variancePartition (>= 1.28.3)
Imports:
    edgeR,
    SummarizedExperiment,
    SingleCellExperiment,
    DelayedMatrixStats,
    sparseMatrixStats,
    MatrixGenerics,
    Matrix,
    methods,
    purrr,
    GSEABase,
    data.table,
    zenith (>= 0.99.13),
    mashr (>= 0.2.52),
    ashr,
    dplyr,
    BiocParallel,
    S4Vectors,
    IRanges,
    limma,
    tidyr,
    BiocGenerics,
    HDF5Array,
    DelayedArray,
    gtools,
    reshape2,
    ggrepel,
    scattermore,
    Rcpp,
    lme4,
    MASS,
    Rdpack,
    utils,
    stats
RoxygenNote: 7.2.3
RdMacros: Rdpack
SystemRequirements: C++11
LinkingTo: 
    Rcpp,
    beachmat

@bioc-issue-bot bioc-issue-bot added the 1. awaiting moderation submitted and waiting clearance to access resources label Mar 16, 2023
@vjcitn
Copy link
Collaborator

vjcitn commented Mar 20, 2023

crumblr is referenced in vignettes but not declared in DESCRIPTION

@vjcitn
Copy link
Collaborator

vjcitn commented Mar 20, 2023

and i can't find it. private repo?

@vjcitn
Copy link
Collaborator

vjcitn commented Mar 20, 2023

it has to be in CRAN or bioconductor for dreamlet to go in. please advise.

@vjcitn vjcitn added the 3e. pending pre-review changes review has indicated blocking concern that needs attention label Mar 20, 2023
@GabrielHoffman
Copy link
Author

I have removed reference to this package in the latest push to GitHub (v0.99.1).

Reference to this package in the vignette had already been commented out, so a user would never have seen it. But now I removed it completely.

crumblr is a secondary package that I'm developing, but dreamlet does not depend on it.

@vjcitn
Copy link
Collaborator

vjcitn commented Mar 20, 2023

Package .tar.gz is 11MB on my linux system. Sound right?

 dreamlet/docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff
  dreamlet/docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff
  dreamlet/docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff

do you want the docs folder or should it be in .Rbuildignore?

@vjcitn
Copy link
Collaborator

vjcitn commented Mar 20, 2023

https://arxiv.org/pdf/2012.02936.pdf discusses inference post-clustering. Does the package address this concern?

@GabrielHoffman
Copy link
Author

  1. The new version adds docs to . Rbuildignore, so tar.gz is now 4.4M on my Mac.

  2. The Gao, et al. work is very interesting, but separate from the primary problem addressed here. Gao, et al. consider finding genes that are differentially expressed between two clusters. dreamlet does include this capability just for convenience, and I am well aware that the p-values are poorly calibrated.

But the primary goal of dreamlet it to identify genes differentially expressed within a single cluster, but across subjects based on a variable of interest (i.e. case/control status). I submitted my manuscript to biorxiv on Friday, but they didn't post it yet. I will link to it as soon at it's up.

Gabriel

@vjcitn vjcitn added pre-check passed pre-review performed and ready to be added to git and removed 3e. pending pre-review changes review has indicated blocking concern that needs attention labels Mar 20, 2023
@GabrielHoffman
Copy link
Author

Preprint is now posted on biorxiv: https://doi.org/10.1101/2023.03.17.533005 and included in inst/CITATION

@bioc-issue-bot
Copy link
Collaborator

A reviewer has been assigned to your package. Learn what to expect
during the review process.

IMPORTANT: Please read this documentation for setting
up remotes to push to git.bioconductor.org. It is required to push a
version bump to git.bioconductor.org to trigger a new build.

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

@bioc-issue-bot bioc-issue-bot added 2. review in progress assign a reviewer and a more thorough review of package code and documentation taking place and removed 1. awaiting moderation submitted and waiting clearance to access resources pre-check passed pre-review performed and ready to be added to git labels Mar 23, 2023
@bioc-issue-bot
Copy link
Collaborator

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, 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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: dd740b27e8aebb9d984e3f6ae537f40582c460f7

@bioc-issue-bot
Copy link
Collaborator

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, 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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 8899dd18e59cad9c8d8b2f076cb4633a0b2a8cf7

@bioc-issue-bot
Copy link
Collaborator

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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 9571bf5e08048a93dccecc24ee085410abf5ac4c

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
macOS 12.6.5 Monterey: dreamlet_0.99.24.tar.gz
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.24.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: e7bf5d9c7880c12ab8ed3f4c0c6613c48dd52536

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
macOS 12.6.5 Monterey: dreamlet_0.99.25.tar.gz
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.25.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@GabrielHoffman
Copy link
Author

I fixed all the issues I could. Can you check?

Note, I could not add sessionInfo() to vignettes/mashr.Rmd since this vignette is pre-processed in my machine since it takes too link to run on the BioC machines

Gabriel

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 71c3f7fec32e926270ada9aea40013cfe3c9a910

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.26.tar.gz
macOS 12.6.5 Monterey: dreamlet_0.99.26.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@GabrielHoffman
Copy link
Author

My package passes most checks except for:

* Checking man page documentation...
    * WARNING: Empty or missing \value sections found in man pages.

but it doesn't tell me which function this is in. And I don't get this warning locally.

How can I resolve this?

@lshep
Copy link
Contributor

lshep commented Aug 23, 2023

If you run BiocCheck locally there will be a directory dreamlet.BiocCheck that will have a file that has a more detailed 00BiocCheck.log that give the exact file name/line numbers

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 9c0572b57a124faf3afb17f858a4e4bf4b8a8fa6

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
macOS 12.6.5 Monterey: dreamlet_0.99.27.tar.gz
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.27.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 8acb0eb005aa6df971cbfd5320c766938336df59

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
macOS 12.6.5 Monterey: dreamlet_0.99.28.tar.gz
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.28.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@GabrielHoffman
Copy link
Author

Can you push this package to the next stage of Bioconductor approval?

Best,
Gabriel

@jianhong
Copy link

Package 'dreamlet' Review

Thank you for your patience during the review process. The package is intricate, and I truly appreciate the substantial effort you've invested in it. 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.

General package development

  • Important: Package files exceed the 5MB size limit.
    The docs fold need to be removed, otherwise the package size fill exceed the 5MB size limit.

R code

  • Important: No paste in message(), message, stop
    • In file R/misc.R:
      • at line 43 found ' stop("Variables in formula are not found in data:\n ", paste(v[!found], collapse = ", "))'
  • NOTE: Vectorize: for loops present, try to replace them by *apply funcitons.
    • In file R/aggregateNonCountSignal.R:
      • at line 122 found ' for (i in seq(nrow(obj$weights))) {'
    • In file R/aggregateToPseudoBulk.R:
      • at line 34 found ' for (i in seq_along(ys)) {'
      • at line 163 found ' for (i in by) {'
      • at line 197 found ' for (i in names(cd)) {'
      • at line 349 found ' for (i in seq_along(mat.out)) {'
    • In file R/aggregateVar.R:
      • at line 100 found ' for (i in seq(nrow(obj$weights))) {'
    • In file R/colsum2.R:
      • at line 60 found ' for (j in seq_len(grid_ncol)) {'
      • at line 98 found ' for (key in names(group)) {'
    • In file R/dreamletCompareClusters.R:
      • at line 394 found ' for (i in seq(1, 100)) {'
    • In file R/dropRedundantTerms.R:
      • at line 68 found ' for (x in excludeVar) {'
    • In file R/removeConstantTerms.R:
      • at line 79 found ' for (x in excludeVar) {'
  • Important: Remove unused code. If you are not confident with the change, please try to add unit test for the changes.
    • In file R/aggregateToPseudoBulk.R:
      • at line 35 found ' # message(i)'
    • In file R/colsum2.R:
      • at line 16 found ' # grid <- DelayedArray:::normarg_grid(grid, x)'
      • at line 86 found ' # colsum(block, group2, reorder=FALSE, na.rm=na.rm)'
    • In file R/dreamlet.R:
      • at line 829 found ' # if (!quiet) message("\n")'
    • In file R/dropRedundantTerms.R:
      • at line 69 found ' # fterms_new = gsub(x, '1', fterms_new)'
      • at line 78 found ' # old: fterms_new = array(sapply(excludeVar, function(x) gsub(x, '1', fterms)))'
    • In file R/plotHeatmap.R:
      • at line 117 found ' # bquote(log[2]~CPM)'
    • In file R/processAssays.R:
      • at line 90 found ' # geneExpr <- tryCatch('
      • at line 91 found ' # voomWithDreamWeights(y[keep, ], formula, data, weights = w_cells, BPPARAM = BPPARAM, ..., save.plot = TRUE, quiet = quiet, span = span),'
      • at line 92 found ' # error = function(e) NULL'
      • at line 93 found ' # )'
    • In file R/removeConstantTerms.R:
      • at line 80 found ' # old: fterms_new = gsub(x, '1', fterms_new)'
      • at line 89 found ' # old: fterms_new = array(sapply(excludeVar, function(x) gsub(x, '1', fterms)))'
    • In file R/zenith_gsa.R:
  • NOTE: Avoid 'suppressWarnings'/'*Messages' if possible
    • In file R/processAssays.R:
      • at line 71 found ' y <- suppressMessages(DGEList(y, remove.zeros = TRUE))'
      • at line 85 found ' keep <- suppressWarnings(filterByExpr(y, min.count = min.count, min.prop = min.prop))'
  • NOTE: Functional programming: code repetition.
    • repetition in aggregateNonCountSignal and aggregateVar
      • in aggregateNonCountSignal
        • line 2: min.cells = 10, min.signal = 0.01, min.samples = 4, min.prop = 0.4,
        • line 3: verbose = TRUE, BPPARAM = SerialParam(progressbar = verbose))
        • line 4: {
        • line 5: pb <- aggregateToPseudoBulk(sce, assay = assay, cluster_id = cluster_id,
        • line 6: sample_id = sample_id, verbose = FALSE, fun = "mean",
        • line 7: BPPARAM = BPPARAM, checkValues = FALSE)
        • line 8: pb.sem <- aggregateToPseudoBulk(sce, assay = assay, cluster_id = cluster_id,
        • line 9: sample_id = sample_id, verbose = FALSE, fun = "sem",
        • line 10: BPPARAM = BPPARAM, checkValues = FALSE)
        • line 11: pb.number <- aggregateToPseudoBulk(sce, assay = assay,
        • line 12: cluster_id = cluster_id, sample_id = sample_id, verbose = FALSE,
        • line 13: fun = "number", BPPARAM = BPPARAM, checkValues = FALSE)
        • line 14: data_constant <- droplevels(as.data.frame(colData(pb)))
        • line 15: resList <- lapply(assayNames(pb), function(CT) {
        • line 18: number <- assay(pb.number, CT)
        • line 19: obj <- new("EList", list(E = as.matrix(signal), weights = as.matrix(w)))
        • line 20: include <- (number[1, ] >= min.cells)
        • line 21: obj <- obj[, include, drop = FALSE]
        • line 22: keep <- apply(obj$E, 1, function(x) {
        • line 23: sum(x >= min.signal) >= min.prop * length(x)
        • line 24: })
        • line 25: obj <- obj[keep, , drop = FALSE]
        • line 26: if (any(!is.finite(obj$weights))) {
        • line 27: for (i in seq(nrow(obj$weights))) {
        • line 28: if (any(!is.finite(obj$weights[i, ]))) {
        • line 29: idx <- which(!is.finite(obj$weights[i, ]))
        • line 30: if (length(idx) > 0) {
        • line 31: obj$weights[i, idx] <- max(obj$weights[i,
        • line 32: -idx])
        • line 33: }
        • line 34: }
        • line 35: }
        • line 36: }
        • line 37: if (ncol(obj) < min.samples) {
        • line 38: return(NULL)
        • line 39: }
        • line 40: obj
        • line 41: })
        • line 42: names(resList) <- assayNames(pb)
        • line 43: resList <- resList[!vapply(resList, is.null, FUN.VALUE = logical(1))]
        • line 44: new("dreamletProcessedData", resList, data = data_constant,
        • line 45: metadata = metadata(pb)$aggr_means, by = metadata(pb)$agg_pars$by)
      • in aggregateVar
        • line 2: min.var = 0.01, min.samples = 4, min.prop = 0.4, verbose = TRUE,
        • line 3: BPPARAM = SerialParam(progressbar = verbose))
        • line 4:{
        • line 5: pb.sem <- aggregateToPseudoBulk(sce, assay = assay, cluster_id = cluster_id,
        • line 6: sample_id = sample_id, verbose = FALSE, fun = "sem",
        • line 7: BPPARAM = BPPARAM, checkValues = FALSE)
        • line 8: pb.number <- aggregateToPseudoBulk(sce, assay = assay, cluster_id = cluster_id,
        • line 9: sample_id = sample_id, verbose = FALSE, fun = "number",
        • line 10: BPPARAM = BPPARAM, checkValues = FALSE)
        • line 11: data_constant <- droplevels(as.data.frame(colData(pb.sem)))
        • line 12: resList <- lapply(assayNames(pb.sem), function(CT) {
        • line 15: w <- 1/assay(pb.sem, CT)^2
        • line 16: obj <- new("EList", list(E = as.matrix(var), weights = as.matrix(w)))
        • line 17: include <- (number[1, ] >= min.cells)
        • line 18: obj <- obj[, include, drop = FALSE]
        • line 19: keep <- apply(obj$E, 1, function(x) {
        • line 20: sum(x >= min.var) >= min.prop * length(x)
        • line 21: })
        • line 22: obj <- obj[keep, , drop = FALSE]
        • line 23: if (any(!is.finite(obj$weights))) {
        • line 24: for (i in seq(nrow(obj$weights))) {
        • line 25: if (any(!is.finite(obj$weights[i, ]))) {
        • line 26: idx <- which(!is.finite(obj$weights[i, ]))
        • line 27: if (length(idx) > 0) {
        • line 28: obj$weights[i, idx] <- max(obj$weights[i,
        • line 29: -idx])
        • line 30: }
        • line 31: }
        • line 32: }
        • line 33: }
        • line 34: if (ncol(obj) < min.samples) {
        • line 35: return(NULL)
        • line 36: }
        • line 37: obj
        • line 38: })
        • line 39: names(resList) <- assayNames(pb.sem)
        • line 40: resList <- resList[!vapply(resList, is.null, FUN.VALUE = logical(1))]
        • line 41: new("dreamletProcessedData", resList, data = data_constant,
        • line 42: metadata = metadata(pb.sem)$aggr_means, by = c(cluster_id,
    • repetition in dropRedundantTerms and removeConstantTerms
      • in dropRedundantTerms
        • line 1: data, tol = 0.001)
        • line 2:{
        • line 3: stopifnot(is(formula, "formula"))
        • line 4: stopifnot(is(data, "data.frame"))
        • line 5: data <- data[, colnames(data) %in% unique(all.vars(formula)),
        • line 6: drop = FALSE]
        • line 7: data <- droplevels(data)
        • line 8: checkFormula(formula, data)
        • line 9: trmf <- terms(formula)
        • line 10: intercept <- attr(trmf, "intercept")
        • line 11: fterms <- attr(trmf, "term.labels")
        • line 28: if (length(excludeVar) > 0) {
        • line 29: fterms_new <- fterms
        • line 30: for (x in excludeVar) {
        • line 31: fterms_new <- gsub(paste0(x, "$"), "1", fterms_new)
        • line 32: fterms_new <- gsub(paste0(x, "\)"), "1)", fterms_new)
        • line 33: }
        • line 34: fterms_new <- unique(fterms_new)
        • line 35: fterms_new <- fterms_new[fterms_new != ""]
        • line 36: fterms_new <- fterms_new[fterms_new != "1"]
        • line 37: }
        • line 38: else {
        • line 39: fterms_new <- fterms
        • line 40: }
        • line 41: exclude <- grep(":1|1:|\| 1", fterms_new)
        • line 42: if (length(exclude) > 0) {
        • line 43: fterms_new <- fterms_new[-exclude]
        • line 44: }
        • line 45: response <- all.vars(update.formula(formula, . ~ NULL))
        • line 46: if (attr(trmf, "response") == 0)
        • line 47: response <- NULL
        • line 48: if (length(fterms_new) > 0) {
        • line 49: form_new <- reformulate(fterms_new, response = response)
        • line 50: }
        • line 51: else {
        • line 52: form_new <- ~1
        • line 53: }
        • line 54: if (intercept == 0) {
        • line 55: form_new <- update.formula(form_new, ~. - 1)
        • line 56: }
        • line 57: environment(form_new) <- environment(formula)
        • line 58: form_new
      • in removeConstantTerms
        • line 1: data)
        • line 2:{
        • line 3: stopifnot(is(formula, "formula"))
        • line 4: stopifnot(is(data, "data.frame"))
        • line 5: data <- data[, colnames(data) %in% unique(all.vars(formula)),
        • line 6: drop = FALSE]
        • line 7: data <- droplevels(data)
        • line 8: checkFormula(formula, data)
        • line 9: trmf <- terms(formula)
        • line 10: intercept <- attr(trmf, "intercept")
        • line 11: fterms <- attr(trmf, "term.labels")
        • line 30: if (length(excludeVar) > 0) {
        • line 31: fterms_new <- fterms
        • line 32: for (x in excludeVar) {
        • line 33: fterms_new <- gsub(paste0(x, "$"), "1", fterms_new)
        • line 34: fterms_new <- gsub(paste0(x, "\)"), "1)", fterms_new)
        • line 35: }
        • line 36: fterms_new <- unique(fterms_new)
        • line 37: fterms_new <- fterms_new[fterms_new != ""]
        • line 38: }
        • line 39: else {
        • line 40: fterms_new <- fterms
        • line 41: }
        • line 42: exclude <- grep(":1|1:|\| 1", fterms_new)
        • line 43: if (length(exclude) > 0) {
        • line 44: fterms_new <- fterms_new[-exclude]
        • line 45: }
        • line 46: response <- all.vars(update.formula(formula, . ~ NULL))
        • line 47: if (attr(trmf, "response") == 0)
        • line 48: response <- NULL
        • line 49: if (length(fterms_new) > 0) {
        • line 50: form_new <- reformulate(fterms_new, response = response)
        • line 51: }
        • line 52: else {
        • line 53: form_new <- ~1
        • line 54: }
        • line 55: if (intercept == 0) {
        • line 56: form_new <- update.formula(form_new, ~. - 1)
        • line 57: }
        • line 58: environment(form_new) <- environment(formula)
        • line 59: form_new

Documentation

  • Important: remove unused file vignettes/mashr.Rmd.orig.

C and Fortran code

  • Important: remove unused code in the colsum_beachmat.cpp. You have test functions to validate the code.

Unit test

  • Important: remove unused code in the inst/unitTests/test\_pseudobulk.R
  • Important: move the library function to outside of the test\_functions. You may want to put all the library load into file tests/runTests.R

@bioc-issue-bot
Copy link
Collaborator

Received a valid push on git.bioconductor.org; starting a build for commit id: 870d92718b3e8c929fdcae959581bea7386f7015

@bioc-issue-bot
Copy link
Collaborator

Dear Package contributor,

This is the automated single package builder at bioconductor.org.

Your package has been built on the Bioconductor Build System.

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 Bioconductor Build
System:
Linux (Ubuntu 22.04.2 LTS): dreamlet_0.99.29.tar.gz
macOS 12.6.5 Monterey: dreamlet_0.99.29.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/dreamlet to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.

@GabrielHoffman
Copy link
Author

@jianhong I have addressed all the important issues. Confirm?

Gabriel

@GabrielHoffman
Copy link
Author

@jianhong Following up to finalize this submission

Best,
Gabriel

@jianhong jianhong added 3a. accepted will be ingested into Bioconductor daily builder for distribution and removed 2. review in progress assign a reviewer and a more thorough review of package code and documentation taking place labels Sep 18, 2023
@bioc-issue-bot
Copy link
Collaborator

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.

@lshep
Copy link
Contributor

lshep commented Sep 21, 2023

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/GabrielHoffman.keys is not empty), then no further steps are required. Otherwise, do the following:

  1. Add an SSH key to your github account
  2. Submit your SSH key to Bioconductor

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("dreamlet"). The package 'landing page' will be created at

https://bioconductor.org/packages/dreamlet

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.

@lshep lshep closed this as completed Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3a. accepted will be ingested into Bioconductor daily builder for distribution OK
Projects
None yet
Development

No branches or pull requests

6 participants