Bioconductor / Contributions

Contribute Packages to Bioconductor
135 stars 33 forks source link

(inactive) CytoTalk #2508

Closed tanlabcode closed 2 years ago

tanlabcode commented 2 years 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 2 years ago

Hi @tanlabcode

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: CytoTalk
Title: Signal Transduction Networks from scRNA-seq
Version: 0.99.0
Authors@R: c(
    person("Yuxuan", "Hu",
           role = c("aut"),
           comment = c(ORCID = "0000-0002-8830-6893")),
    person("Shane", "Drabing",
           role = c("aut")),
    person("Kai", "Tai",
           role = c("cre"),
           email = "tank1@chop.edu",
           comment = c(ORCID = "0000-0002-9104-5567")))
Description: Perform de novo construction of signal transduction networks using
    single-cell transcriptomic data (scRNA-seq). The CytoTalk process
    constructs an integrated network of intra- and inter-cellular functional
    gene interactions, generating useful graphical output for investigation of
    cell-cell communication within and between cell types. CytoTalk attempts to
    find the optimal subnetwork in the integrated network that includes genes
    with high levels of cell-type-specific expression and close connection to
    highly active ligand-receptor pairs. It takes into account metrics like as
    Preferential Expression Measure (PEM), mutual information between proteins,
    gene relevance, and non-self-talk score.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
Imports:
    DiagrammeR,
    DiagrammeRsvg,
    Matrix,
    corpcor,
    doParallel,
    foreach,
    infotheo,
    parmigene,
    reticulate,
    tibble,
    vroom
Suggests: 
    markdown,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
VignetteBuilder: knitr
biocViews: Software, SingleCell, GeneExpression, Network, Pathways
SystemRequirements:
    Cytoscape,
    Graphviz,
    pcst_fast
Config/testthat/edition: 3
vjcitn commented 2 years ago

see https://github.com/tanlabcode/CytoTalk/issues/4

shanedrabing commented 2 years ago

I have made changes regarding that issue.

vjcitn commented 2 years ago

Thank you. Very nice vignette. Now the question arises -- why is Bioconductor infrastructure for representation of single cell experiments not used? It seems that csv files are the main data representation. Please look at the SingleCellExperiment package and its vignettes for approaches to unifying data on features, samples and quantifications that are central to Bioconductor package/data interoperability.

shanedrabing commented 2 years ago

I have not yet seen the SingleCellExperiment class, although we did work on trying to use Seurat objects with the package, those ended up being overkill. The SingleCellExperiment class does appear to be more in line with what CytoTalk requires, which we simply use a named list where one item is a matrix and another item is a vector of the column names (cell types).

CytoTalk allows inputs beyond CSV, so the main data representation is rather the small named list mentioned above. Shall we convert that representation to the SingleCellExperiment?

For reference, if a user has a SingleCellExperiment, they would input data into CytoTalk as follows:

# extract list from SingleCellExperiment
lst_scrna <- CytoTalk:::new_named_list(logcounts(sce), colnames(sce))

# set required parameters
type_a <- "Fibroblasts"
type_b <- "LuminalEpithelialCells"

# run CytoTalk process
results <- CytoTalk::run_cytotalk(lst_scrna, type_a, type_b)
vjcitn commented 2 years ago

That's good. I'd be happy to give some more detailed recommendations but

> example(run_cytotalk)

rn_cyt> {
rn_cyt+ cell_type_a <- "Macrophages"
rn_cyt+ cell_type_b <- "LuminalEpithelialCells"
rn_cyt+ cutoff_a <- 0.8
rn_cyt+ cutoff_b <- 0.8
rn_cyt+ result <- CytoTalk::run_cytotalk(CytoTalk::scrna_cyto,
rn_cyt+                                  cell_type_a, cell_type_b,
rn_cyt+                                  cutoff_a, cutoff_b,
rn_cyt+                                  cores = 2)
rn_cyt+ }
[1 / 8] (13:27:52) Preprocessing...
Loading required package: Matrix
Error in expm1(mat_scrna) : non-numeric argument to mathematical function

with sessionInfo

> sessionInfo()
R Under development (unstable) (2021-11-29 r81258)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.3 LTS

Matrix products: default
BLAS:   /home/stvjc/R-dev-dist/lib/R/lib/libRblas.so
LAPACK: /home/stvjc/R-dev-dist/lib/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] Matrix_1.4-0    CytoTalk_0.99.0 rmarkdown_2.11 

loaded via a namespace (and not attached):
 [1] lattice_0.20-45   codetools_0.2-18  digest_0.6.29     foreach_1.5.1    
 [5] grid_4.2.0        evaluate_0.14     rlang_0.4.12      doParallel_1.0.16
 [9] startup_0.16.0    iterators_1.0.13  tools_4.2.0       xfun_0.29        
[13] parallel_4.2.0    fastmap_1.1.0     compiler_4.2.0    htmltools_0.5.2  
[17] knitr_1.37       
vjcitn commented 2 years ago

are you testing on R-devel?

vjcitn commented 2 years ago

I see I have a lot of out-of-date packages so hold off .... unless that looks like a genuine error ....

shanedrabing commented 2 years ago

are you testing on R-devel?

Not sure I know what this means. I'll try to run that example on my end.

shanedrabing commented 2 years ago

I see I have a lot of out-of-date packages so hold off .... unless that looks like a genuine error ....

Looks like a real error! I'll try patching it.

Edit: Uploaded a new test data sample, the example is working on my end now.

shanedrabing commented 2 years ago

@vjcitn Any updates on what to do now?

vjcitn commented 2 years ago

Please bump the version so the single package builder will test it. Be sure to use R 4.2 and BiocManager::valid() true because I am still seeing errors. Bump the version whenever you make any change. 0.99.1, 2, ...

shanedrabing commented 2 years ago

Okay I bumped the version in the DESCRIPTION file, ran BiocManager::valid and everything is up to date on my end.

vjcitn commented 2 years ago

We will initiate review. Did you introduce SingleCellExperiment? I do not see it in DESCRIPTION. You will probably be asked to do this.

bioc-issue-bot commented 2 years 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 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

shanedrabing commented 2 years ago

I've added an input option for SingleCellExperiment, changed the maintainer email address to match between the DESCRIPTION, Biocondutor support forum, and the Bioc-devel mailing list (Dr. Tan signed up for both).

As for following the version bump procedure, I am running into this error after adding the remotes:

> git fetch --all
Fetching origin
Fetching upstream
git@git.bioconductor.org: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Could not fetch upstream
vjcitn commented 2 years ago

Be sure you have followed guidelines for SSH key handling in git credentials app. @nturaga

lshep commented 2 years ago

The only person that has push access currently is the listed maintainer and associated github user id that the package was submitted under tank1@chop.edu / @tanlabcode -- @tanlabcode should activate the git credentials account, add any additional keys (there is already the github associated key added), and push changes.

lshep commented 2 years ago

For clarification this is because @tanlabcode submitted the package and is the listed maintainer of the package. We can grant access to @shanedrabing but would need @tanlabcode to request it; along with a valid email to set up a credentials account for @shanedrabing

shanedrabing commented 2 years ago

Thanks @vjcitn and @Ishep, I have one question regarding the git credentials activation. When we first submitted, we had the tank1 email in the DESCRIPTION file, but signed up for the forum and mailing list with the tanlabcode email address. So, we decided to change the DESCRIPTION file to match tanlabcode (shared email). While we could probably sign up with the tank1 email, it would be preferable to activate the git remote with the tanlabcode email:

Screenshot 2022-02-17 152255

Any suggestions?

lshep commented 2 years ago

I have updated the email in the git credentials app. You should now be able to activate tanlab4generegulation@gmail.com

tanlabcode commented 2 years ago

Hi, We have activated our git account. Thanks,

On Fri, Feb 18, 2022 at 6:59 AM lshep @.***> wrote:

I have updated the email in the git credentials app. You should now be able to activate @.***

— Reply to this email directly, view it on GitHub https://github.com/Bioconductor/Contributions/issues/2508#issuecomment-1044410265, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJKBBBFRC2ZTMQUDLGVD5HDU3YYAZANCNFSM5MIBRNRA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

shanedrabing commented 2 years ago

@lshep I'm on a terminal that is signed in with the tanlabcode account for git authorization, we have the credentials account activated, but I still get this error when trying to fetch:

> git fetch --all
Fetching origin
Fetching upstream
git@git.bioconductor.org: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Could not fetch upstream
nturaga commented 2 years ago

Hi,

Please check https://bioconductor.org/developers/how-to/git/faq/ #13 to #16 on the FAQ.

Let us know if any of those helped.

Best,

Nitesh Turaga Scientist II, Department of Data Science, Bioconductor Core Team Member Dana Farber Cancer Institute

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

shanedrabing commented 2 years ago

@nturaga Thanks so much! Was able to add a new public key to the account.

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

shanedrabing commented 2 years ago

On this newest error report, the Bioconductor environment does not have access to a Python module that is a required prerequisite for the package:

https://github.com/tanlabcode/CytoTalk#prerequisites

Since this environment doesn't have the module, these test will fail (including the test of a small sample for the overall process). How shall we proceed? I know that Bioconductor advises that all prereqs be installed by the user, not the devs automatically (and I agree!)

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

shanedrabing commented 2 years ago

@nturaga @vjcitn We have signed up for the bioc-devel mailing list with the tanlab4generegulation email address, but still getting an error from the check:

* Checking for bioc-devel mailing list subscription...
    * ERROR: Maintainer must subscribe to the bioc-devel mailing list.
      Subscribe here: https://stat.ethz.ch/mailman/listinfo/bioc-devel

Could this be because the mailing list is expecting the tank1 email address?

lshep commented 2 years ago

@shanedrabing No it uses whatever is currently listed as the maintainer in the DESCRIPTION for the check. Did you get a verification for the bioc-devel mailing list? There is often a confirmation email sent and it sometimes gets filtered as spam/trash? I just searched the mailing list registrations and do not see tanlab4generegulation@gmail.com as a valid registered email

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

bioc-issue-bot commented 2 years ago

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

bioc-issue-bot commented 2 years 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/CytoTalk to trigger a new build. A quick tutorial for setting up remotes and pushing to upstream can be found here.

PeteHaitch commented 2 years ago

Hi @tanlabcode and @shanedrabing,

Thank you for your submission to Bioconductor. There are a few Required points, as well as some Recommended points, that I would ask you to first please address before acceptance into Bioconductor.

Cheers, Pete

Required

Improvements to vignette

Python dependencies

BiocCheck::BiocCheck()

NAMESPACE

Data

Documentation

Unit tests

Recommended

PeteHaitch commented 2 years ago

Hi @tanlabcode and @shanedrabing,

How are you going with addressing the review comments? We like to see some activity on the issue within 3 weeks. It's no problem if it's taking longer, but we will close the issue and you can re-open it when you are ready. Please also bear in mind some upcoming deadlines for the potential inclusion of CytoTalk into Bioconductor 3.15 (https://bioconductor.org/developers/release-schedule/); (FYI you've met the April 1 deadline, it's the 'Wednesday April 20' I'm mostly drawing your attention to).

Cheers, Pete

bioc-issue-bot commented 2 years ago

This issue is being closed because there has been no progress for an extended period of time. You may reopen the issue when you have the time to actively participate in the review / submission process. Please also keep in mind that a package accepted to Bioconductor requires a commitment on your part to ongoing maintenance.

Thank you for your interest in Bioconductor.

PeteHaitch commented 2 years ago

When you are ready with changes, simply comment back here that you would like the issue reopened.