How to submit limma patch
1
3
Entering edit mode
@alexgutteridge-7451
Last seen 3.1 years ago
United States

I've made a couple of trivial modifications to the mroast function in limma to enable parallel processing (otherwise with a high rotation number and a big set of genesets it can take a while to run). I guess I am not the only one who would use this feature, so my question is what's the preferred process for submitting a patch?

limma • 1.5k views
ADD COMMENT
0
Entering edit mode

Out of curiosity, does you patch leverage the BiocParallel so that it's agnostic to the particular parallelization strategy utilized by the end user?

That would be cool :-)

ADD REPLY
1
Entering edit mode

It literally just wraps the mroast 'for' loop (that repeatedly calls out to the underlying roast function) in a call to bplapply, so yes it will utilise whatever infrastructure the user chooses to put in place via BiocParallel. I just use it on a single multicore machine, but I think you can do fancier things with multi-machine clusters...

ADD REPLY
1
Entering edit mode
@james-w-macdonald-5106
Last seen 1 day ago
United States

I suppose this depends on the person to whom you are giving the patch, and how extensive it is. In a general sense it is probably preferable for you to submit a patch based off of svn's diff function.

Assuming you have already checked out limma from the Bioc subversion server (if not, see here). And then made your changes, you can then create a patch by going to the top-level directory (Rpacks/limma) and doing

svn diff > my_sweet_roast_patch.diff

and sending that to Gordon Smyth.

ADD COMMENT
0
Entering edit mode

Thanks James - I'll give it a whirl.

ADD REPLY
0
Entering edit mode

I would be also interested in parallelizing mroast/romer at the level of the function itself. I have been running them usually with 9999 or 19998 rotations to get sufficiently low p-values for FDR. And have been churning through databases with 1000's of microarrays. I can of course parallelize things with Biocparallel (and have done so), but it would be more convenient, I think, to parallelize at the level of the rotations. I have each chemical in a separate eSet which is part of a fairly large eSet list and each eSet has a couple treatments in it. That is because using biocparallel one has to load all the data into an independent instance (so you have 6-8 copies of the data in your memory). And loading data can slow things down (as well as eats memory, although that is not really a problem). 

ADD REPLY
0
Entering edit mode

Take a look at fry to see if it fits your needs.

ADD REPLY

Login before adding your answer.

Traffic: 604 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6