IsoformSwitchAnalyzeR icon indicating copy to clipboard operation
IsoformSwitchAnalyzeR copied to clipboard

Multi-threaded analysis support request

Open crj32 opened this issue 5 years ago • 5 comments

Hi

Isoformswitchanalyser is fine, unless I want all the genes analysed in which case it seems to get very slow. It is possible to get a multi-core option for this excellent tool?

Best wishes,

Chris

crj32 avatar Apr 12 '19 08:04 crj32

Although it is possible it is not a high priority since analyzing all genes is are rare usage and the majority of the runtime will be form the external analysis tools. Is there any particular part of the pipeline you are thinking about?

kvittingseerup avatar Apr 12 '19 10:04 kvittingseerup

Yeah so when, I added the extra flag to get p values for all genes as you suggested previously, I seemed to experience a major increase in runtime, is this correct? Since, we want all the data, I was wondering if this could be split over different threads for different genes, then put back together.

I'm mainly using DRIMseq because we have 94 samples and it is faster than DEXSEQ, but it is still pretty slow.

Thanks.

exampleSwitchListAnalyzed <- isoformSwitchTestDEXSeq( switchAnalyzeRlist = exampleSwitchListFilteredStrict#, #reduceToSwitchingGenes=FALSE ## this line means to add all genes, very slow

crj32 avatar Apr 12 '19 10:04 crj32

Yes and no (best answer ever!) - let me elaborate:

No: the runtime of isoformSwitchTestDRIMSeq() is not increased (it still need to test all isoforms). Yes: the runtime of all downstream analysis is increased a lot since many more isoforms needs to be annotated and compared.

Unfortunately it is a known problem that DEXSeq scales poorly - but aside from using DRIMseq there are currently no other options.

Btw if you are only interested in a few isoforms you can use subsetSwitchAnalyzeRlist() before testing and save a lot of time.

kvittingseerup avatar Apr 12 '19 14:04 kvittingseerup

DEXSeq allows for a parallel parameter to be passed with BPPARAM, any plans to add this parameter to the isoformSwitchTestDEXSeq() function?

KrollBio avatar Jun 23 '19 12:06 KrollBio

Thanks guys for the super cool package you make. I really enjoy it! Maybe you can just create yourself a copy of the isoformSwitchTestDEXSeq() function. Then you can add ",BPPARAM=MulticoreParam(workers = CORE_NUMBER_HERE)" in the estimateDispersions() and testForDEU() (around line 274 of the function definition). This did the trick for me. Maybe good to include this as a hidden function? Thanks again for the good work!

BenNicolet avatar May 01 '20 13:05 BenNicolet