stuart-lab / signac

R toolkit for the analysis of single-cell chromatin data
https://stuartlab.org/signac/
Other
328 stars 88 forks source link

long running time of RunChromVAR #458

Closed linzhangTuesday closed 3 years ago

linzhangTuesday commented 3 years ago

Hi I am using RunChromVAR to compute motif activity on a scATAC-seq object of ~40k cells and 253k peaks.

It has not finished after running for nearly an hour. Is there any benchmarking or ETA for it?

Thanks in advance!

timoast commented 3 years ago

This is typical for chromVAR. Note that Signac only provides a wrapper for chromVAR functionality, if you have questions about chromVAR itself you should ask the chromVAR authors: https://github.com/GreenleafLab/chromVAR

Dena2021 commented 2 years ago

Hello, I have the same question. I am stuck on the step of chromvar, nothing is happening after computing deviations from background.

I have seen that you are sending to the authors but perhaps you can comment before I write them.

Thanks in advance

[1] "R version 4.1.1 (2021-08-10)"

[1] "Signac version 1.6.0"

[1] "Seurat version 4.1.0"

DefaultAssay(mySeurat) <- "macspeaks"

Get a list of motif position frequency matrices from the JASPAR database

pfm <- getMatrixSet(

  • x = JASPAR2020,
  • opts = list(collection = "CORE", tax_group = 'vertebrates', all_versions = FALSE)
  • )

    add motif information

    mySeurat <- AddMotifs(

  • object = mySeurat,
  • genome = BSgenome.Mmusculus.UCSC.mm10,
  • pfm = pfm
  • ) Building motif matrix Finding motif positions Creating Motif object View(pfm) register(MulticoreParam(10, progressbar = TRUE)) mySeurat <- RunChromVAR(
  • object = mySeurat,
  • genome = BSgenome.Mmusculus.UCSC.mm10,
  • verbose=TRUE
  • ) Computing GC bias per region Selecting background regions Computing deviations from background | | 0%
Fernandobec commented 2 years ago

Did you guys manage to solve this somehow? I have the same problem, with a dataset of 30K cells 250ishK peaks, I leave it running for up to 14 days and it's just stuck at Computing deviations from background. I'd be glad to hear if any of you managed to solve this and could share how.

Dena2021 commented 2 years ago

This what worked for me- Before chromvar command run register(SerialParam())

Fernandobec commented 2 years ago

Thanks a lot! :D Also worked for me

Xiangjun99 commented 3 months ago

hi,I met the same issue. do you remember how long it takes for this step? I tried to run register(SerialParam()) before chromvar command. looks like stucked in Computing deviations from background. Thanks.

library(BiocParallel) library(chromVAR) library(motifmatchr) library(BSgenome.Hsapiens.UCSC.hg38)

register(SerialParam())

pbmc.filter.H <- RunChromVAR(

  • object = pbmc.filter.H,
  • genome = BSgenome.Hsapiens.UCSC.hg38
  • ) Computing GC bias per region Selecting background regions Computing deviations from background
Dena2021 commented 2 months ago

This step did not take much time (seconds).

From: Xiangjun99 @.> Sent: Wednesday, August 7, 2024 5:30 PM To: stuart-lab/signac @.> Cc: Dena Leshkowitz @.>; Comment @.> Subject: Re: [stuart-lab/signac] long running time of RunChromVAR (#458)

Caution: External Sender. Do not click on links or open attachments unless you recognize the sender.

hi,I met the same issue. do you remember how long it takes for this step? I tried to run register(SerialParam()) before chromvar command. looks like stucked in Computing deviations from background. Thanks.

library(BiocParallel) library(chromVAR) library(motifmatchr) library(BSgenome.Hsapiens.UCSC.hg38)

register(SerialParam())

pbmc.filter.H <- RunChromVAR(

— Reply to this email directly, view it on GitHubhttps://github.com/stuart-lab/signac/issues/458#issuecomment-2273616488, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASREESERQXLIJK3QY5CO5IDZQIVOJAVCNFSM6AAAAABMERNTG2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTGYYTMNBYHA. You are receiving this because you commented.Message ID: @.**@.>>

sugiYag commented 2 months ago

@linzhangTuesday @Fernandobec

firstly, i wanna know whether you guys finished runchromvar command run or not;

if you successfully run chromvar, can you tell me how long it takes and how did you solve this problem?

and @Dena2021 said if we use register(SerialParam()) function, we can solve it but I wonder why we use register(SerialParam()) instead of register(MulticoreParam()) ?

HaikuoLi commented 2 weeks ago

Time significantly reduced with library(BiocParallel) register(SerialParam())

Thank you!