Bioconductor / Contributions

Contribute Packages to Bioconductor
131 stars 33 forks source link

MICSQTL #3023

Closed YuePan027 closed 1 year ago

YuePan027 commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Hi @YuePan027

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: MICSQTL
Type: Package
Title: MICSQTL (Multi-omic deconvolution, Integration and Cell-type-specific Quantitative Trait Loci)
Version: 0.99.2
Authors@R: c(person("Yue", "Pan", role = c("aut", "cre"),
           email = "Yue.Pan@STJUDE.ORG"),
   person("Qian", "Li", role = "aut",
           email = "Qian.Li@STJUDE.ORG"))
Description: Our pipeline, MICSQTL, utilizes scRNA-seq reference and bulk transcriptomes to estimate cellular composition in the matched bulk proteomes. The expression of genes and proteins at either bulk level or cell type level can be integrated by Angle-based Joint and Individual Variation Explained (AJIVE) framework. Meanwhile, MICSQTL can perform cell-type-specic quantitative trait loci (QTL) mapping to proteins or transcripts based on the input of bulk expression data and the estimated cellular composition per molecule type, without the need for single cell sequencing. We use matched transcriptome-proteome from human brain frontal cortex tissue samples to demonstrate the input and output of our tool.
License: GPL-3
Encoding: UTF-8
Suggests: 
    testthat,
    rmarkdown,
    knitr
VignetteBuilder: knitr
biocViews: GeneExpression, Genetics, Proteomics, RNASeq, Sequencing, SingleCell, Software, Visualization, CellBasedAssays
Imports: 
    TCA,
    nnls,
    e1071,
    preprocessCore,
    tidyverse,
    tibble,
    purrr,
    TOAST,
    magrittr,
    BiocParallel,
    ggplot2,
    ggpubr,
    ggridges,
    parallel,
    glue,
    methods
Depends: 
    R (>= 4.2.0),
    SummarizedExperiment,
    stats
RoxygenNote: 7.2.1
LazyData: false
bioc-issue-bot commented 1 year ago

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 commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

YuePan027 commented 1 year ago

@jianhong I would like to inquire about accessing the git@git.bioconductor.org as an upstream repository. I am currently working on pushing my package to incorporate the latest changes. Could you please provide some guidance? Thank you! upstream

lshep commented 1 year ago

Have you activated your Bioconductor Git Credentials Account as suggested in the comment above. Once you activate the account you can control ssh keys for access.

YuePan027 commented 1 year ago

I attempted to activate my account, but I received an error message stating that my email "is not associated with a maintainer of a Bioconductor package," despite having signed up previously. As per the feedback I received, a member of the Bioconductor Core Team will review the situation. Do you have any additional suggestions to help resolve this issue and proceed with the package review/activation process? Thanks!

lshep commented 1 year ago

there is a change that it is case sensitive as it most of Bioconductor -- are you trying with the email used in the DESCRIPTION Yue.Pan@STJUDE.ORG as I see the account in the app but that it has not been activated. Please also remember to check junk/spam folders as confirmation emails sent can often be marked as spam.

@jianhong I am investigating the support site registration as I do see the email registered but the api is returning false. So you can ignore the support site ERROR for now It looks like the mailing list was signed up for successfully and I expect this ERROR to be resolved on the next check.

YuePan027 commented 1 year ago

Yes I have tried with the email address I provided during the registration process and have thoroughly checked my inbox, including the deleted and spam folders. However, I have not received any activation email. Do you happen to know that if it is possible for the Bioconductor tech support team to manually activate my account? If I can not get my git credentials account activated in this case, what would be the appropriate way to submit my changes to Bioconductor site for review? Thank you! image

lshep commented 1 year ago

I can manually reset the account. I will contact you privately with additional log in information with a temp password.

YuePan027 commented 1 year ago

@lshep Thank you! I just activated my git credentials account successfully. I still failed to fetch all changes though. image

In addition, I have attempted to run BiocCheck::BiocCheck() to address the error regarding registration at the support site. However, I still encounter the same error message. Could you please confirm if there are any additional steps I need to take? Is there a waiting period before I can make any changes? Thank you for your assistance.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR, TIMEOUT, skipped". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR, TIMEOUT, skipped". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

YuePan027 commented 1 year ago

@jianhong @lshep We have addressed the issues based on the report from the last submission:

  1. "Error in .check_ncores(cores): 3 simultaneous processes spawned"

The error in the CIBERSORT function has been resolved.

  1. "LaTeX Error: Unicode character (U+2265) not set up for use with LaTeX."

The problematic character has been replaced, and the LaTeX manual will now be generated as expected.

  1. "* NOTE: Update R version dependency from 4.2.0 to 4.3.0."

The R version dependency has been updated to 4.3.0.

  1. "* NOTE: Consider adding these automatically suggested biocViews: Coverage."

The automatically suggested biocViews, including "Coverage," have been added.

  1. "* NOTE: Consider adding the maintainer's ORCID iD in 'Authors@R' with 'comment=c(ORCID="...")'."

The maintainer's ORCID iD has been added as suggested.

  1. "* NOTE: 'sessionInfo' not found in vignette(s)."

'sessionInfo' has been added to the vignette(s).

  1. " NOTE: Avoid 'suppressWarnings'/'Messages' if possible."

We have removed supressWarnings/Messages in the csQTL function by disabling messages from the imported package TOAST.

  1. "* NOTE: The recommended function length is 50 lines or less."

    We have made an effort to break down functions into shorter ones. However, some functions like deconv, and certain utility functions cannot be further reduced due to their inherent computational requirements.

  2. "* WARNING: Empty or missing \value sections found in man pages."

The output of the functions is stored in the parent slots, and this has been clarified in \value, although we do not use subsections.

  1. "* NOTE: Consider shorter lines; 26 lines (1%) are > 80 characters long.

          NOTE: Consider multiples of 4 spaces for line indents; 75 lines (3%) are not."  

    We have made the necessary changes to ensure most lines are less than 80 characters and have adjusted line indents. The remaining code has been checked using the styler package. For arguments of functions, the 4-space indents have been maintained.

  2. "* ERROR: Maintainer must subscribe to the bioc-devel mailing list."

I have subscribed to the bioc-devel mailing list, resolving this error.

  1. "ERROR: Maintainer must register at the support site."

I have registered at the support site with my maintainer email listed in the DESCRIPTION file (not my Github account email). Based on the reply from the core team (@lshep), there is an issue with the support site that fails to recognize my registered email. It will take some time to fix. Please disregard this error for now.

jianhong commented 1 year ago

Package 'MICSQTL' Review

Thank you for submitting your package to Bioconductor. The package passed check and build. It is in pretty good shape. 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 NAMESPACE file

General package development

R code

Documentation

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

YuePan027 commented 1 year ago

@jianhong Thank you for your feedbacks and insightful comments. We have made the following revisions:

  1. The NAMESPACE file • Important: Selective imports using importFrom instead of import all with import. o in line 9 import(SummarizedExperiment) o in line 10 import(TOAST) o in line 11 import(ggplot2) o in line 12 import(ggpubr) o in line 13 import(ggridges) In the case of TOAST and ggpubr, we selectively import only the necessary functions using importFrom. However, for the remaining packages, due to the extensive use of multiple functions, it is more convenient to import the entire packages.

  2. General package development • Important: Empty or missing \value sections found in man pages. o Found in files: man/se.Rd This documentation provides information about our example data file, which is saved as a SummarizedExperiment object. Since it is not a function with returned values, it does not include a \value section in the man pages.

• Important: Consider adding more unit tests. Current unit tests only covered 14.5%. The bottom line is 30%. We have added more unit tests and according to covr::report(), the coverage is 58.87% now.

  1. R code • 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 note that you need to manully double check the import items when you make any change in the DESCRIPTION file during development. My recommendation is to remove one or two repeats to force the dependency check. •
    We have removed some duplicated :: from each function.

• NOTE: Vectorize: for loops present, try to replace them by *apply funcitons. o In file R/deconv.R:  at line 131 found ' for (i in seq_len(max_iter)){'

We have updated the for loop to a while loop. This step is done in a recursive way, which makes *apply funcitons not appropriate since they are designed for independent processes.

o In file R/utils.R:  at line 69 found ' for (k in seq_len(K)) {'  at line 88 found ' for (k in seq_len(K)) {'  at line 153 found ' for (k in seq_len(K)) {'  at line 154 found ' for (j in seq_len(joint_rank_estimate)) {'  at line 329 found ' for (s in seq_len(num_samples)) {'  at line 331 found ' for (b in seq(n_blocks)) {'  at line 388 found ' for (s in seq_len(num_samples)) {'  at line 452 found ' for (k in seq_len(K)) {'  at line 480 found ' for (k in seq_len(K)) {'

These functions are implementations of code developed by other contributors, and we prefer not to modify their original code.

• Important: Remove unused code. o In file R/csQTL.R:  at line 73 found ' # data.frame(factor(t(SNP_dat)[, test_protein[i]]))'  at line 87 found ' #suppressWarnings() #%>%'  at line 88 found ' #suppressMessages()' o In file R/deconv.R:  at line 132 found ' #cat("iter", i, "\n")'  at line 140 found ' #cat("diff = ", max(diff), "\n")'  at line 142 found ' #cat("converged", "\n")'  at line 145 found ' #cat("reach max iter", "\n")'  at line 146 found ' #cat(colnames(diff)[col(diff)[diff==max(diff)]])' o In file R/feature_filter.R:  at line 102 found ' # se <- se[target_protein, ]'  at line 164 found ' # se <- se[idx3,]' o In file R/utils.R:  at line 265 found ' # SVD <- get_svd(X, rank=2)'  at line 443 found ' # if(center){'  at line 444 found ' # blocks <- lapply(blocks,function(X) scale(X, center=T, scale=FALSE))'  at line 445 found ' # }'  at line 474 found ' # dim(joint_scores)[2]'

We have removed all unused code.

• Important: Please consider to add drop=FALSE to avoid the reduction of dimension for matrices and arrays. Ignore this if using datatable. o In file R/ajive.R:  at line 62 found ' dat2 <- methods::slot(se, "metadata")[[test]][in_use, ]' o In file R/csQTL.R:  at line 77 found ' as.matrix(protein_tab[protein_name, ])'  at line 99 found ' return(res_df[, c("protein", "SNP", colnames(prop))])' o In file R/deconv.R:  at line 118 found ' ini_prop <- result[, seq_len(ncol(ref_gene))]'  at line 121 found ' X = assay(se)[mrk_prot, ],'  at line 134 found ' X = assay(se)[mrk_prot, ],' o In file R/feature_filter.R:  at line 101 found ' methods::slot(se, "metadata")$target_dat <- assay(se)[target_protein, ]'  at line 149 found ' target_protein[i]), ]'  at line 157 found ' anno_SNP$CHROM == df[1, 1])'  at line 166 found ' methods::slot(se, "metadata")$target_dat[idx3, ]'

We have added drop = FALSE to all main functions whenever a data set is subsetted.

o In file R/utils.R:  at line 25 found ' X = assay(se)[mrk_prot, ],'  at line 71 found ' block_svd[[k]][["u"]][, seq_len(initial_signal_ranks[k])]'  at line 89 found ' block_wedin_samples[k, ] <- get_wedin_bound_samples('  at line 155 found ' score <- t(blocks[[k]]) %*% joint_scores[, j]'  at line 353 found ' U_perp <- SVD[["u"]][, -(seq_len(signal_rank))]'  at line 361 found ' V_perp <- SVD[["v"]][, -(seq_len(signal_rank))]'  at line 396 found ' perp_resampled <- perp_basis[, sampled_col_index]'

These functions are implementations of code developed by other contributors, and we prefer not to modify their original code.

• Important: Could you check about the function S4vector::metadata vs. methods::slot(se, "metadata") in your codes?

We have replaced all methods::slot(se, "metadata") by S4vector::metadata.

  1. Documentation • Important: Vignette should have an Installation section. o rmd file vignettes/MICSQTL.Rmd • Important: Please include Bioconductor installation instructions using BiocManager.

We have added an Installation section using BiocManager.

o rmd file vignettes/MICSQTL.Rmd • Note: Vignette includes motivation for submitting to Bioconductor as part of the abstract/intro of the main vignette. o rmd file vignettes/MICSQTL.Rmd

We have added our motivation by including "This is a novel pipeline for multi-omic integrative data analysis. It performs bulk proteomics deconvolution using matched transcriptomes, enables cell-type-specific protein Quantitative Trait Loci mapping, and facilitates multi-modal data integration and dimension reduction."

We are still in the process of addressing the "ERROR: Maintainer must register at the support site." We have reached out to the core team, specifically @lshep, and are eagerly awaiting their response.

jianhong commented 1 year ago

Did you tried to put the your email address to lower case in the package?

YuePan027 commented 1 year ago

Thanks for your comments @jianhong ! I just checked locally, and the registration error has been resolved after using lowercase of my email address. I will submit the updated version to the Bioconductor upstream repository.

jianhong commented 1 year ago

Please try to put eval=FALSE in your setup section and put the library(MICSQTL) into next executable code section in MICSQTL.rmd to fix the error.

YuePan027 commented 1 year ago

Thank you @jianhong for your suggestions! The package passed local check and I will update the upstream soon.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

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

YuePan027 commented 1 year ago

@jianhong I just push the updates to the Bioconductor upstream repository. Both errors have been addressed. Thanks again for your comments and help!

YuePan027 commented 1 year ago

@jianhong May I ask if we have to address the warning and time-out issues?

The warning arises from a missing \value from "man/se.Rd", which serves as our package's documentation for example data and lacks a return value description. Can you please clarify if a \value return is required for example data documentation or suggest an alternative resolution?

Regarding the time-out issue, we must incorporate an adequate number of samples and biomarkers to ensure reasonable results presented in the vignette. Is there a possibility that these issues can be skipped during the review process?

We currently have a manuscript awaiting submission soon, and it would be greatly appreciated if we could have the package published before that. If these matters must be resolved, please let us know so that we can streamline the package review process. Thank you!

jianhong commented 1 year ago

@YuePan027 Please add code to avoid the time-out platform in your vignettes.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

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

YuePan027 commented 1 year ago

@jianhong Thank you for your comments! We have resolved the timeout issue by downsizing the data in the function's example code. Please let us know if we should address any other concerns.

jianhong commented 1 year ago

@YuePan027 Almost there! Please add @return in your data-se.R to remove the warning. Also please do not to forget to update your NEWS.md to describe the initial contents of your package. And then I think it is ready to be accepted.

bioc-issue-bot commented 1 year ago

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

bioc-issue-bot commented 1 year ago

Dear Package contributor,

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

Your package has been built on Linux, Mac, and Windows.

Congratulations! The package built without errors or warnings on all platforms.

Please see the build report for more details. This link will be active for 21 days.

Remember: if you submitted your package after July 7th, 2020, when making changes to your repository push to git@git.bioconductor.org:packages/MICSQTL to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

YuePan027 commented 1 year ago

@jianhong We have addressed the warning and also updated the NEWS.md. Please let us know if anything else need to be done before publication. Thank you!

bioc-issue-bot commented 1 year ago

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.

YuePan027 commented 1 year ago

@lshep Could you please help in checking the status of our package? We currently have a manuscript that is awaiting submission, and the deadline is rapidly approaching. It would be greatly appreciated if we could have the package published prior to that. Thank you!

lshep commented 1 year ago

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

https://bioconductor.org/packages/MICSQTL

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.