MonashBioinformaticsPlatform / RNAsik-pipe

RNAsik - more than just a pipeline
https://monashbioinformaticsplatform.github.io/RNAsik-pipe/
Apache License 2.0
13 stars 5 forks source link

Pass JVM memory settings to Picard #36

Open pansapiens opened 5 years ago

pansapiens commented 5 years ago

The various picard*Mem settings in sik.config should be passed as JVM -Xmx commandline options to picard. Assuming the supported dependency installation method is now conda, the picard wrapper script included as part of the bioconda package accepts -Xmx as an argument and passes it to the JVM (eg if picardMarkDupsMem=6000000000 in sik.config, the commandline option -Xmx6000000000 should be added when calling picard). This is a distinct setting from HPC queue (eg SLURM) memory allocations which should already be handled by BDS tasks in most cases - we can probably get away with passing the same number sbatch --mem and picard -Xmx.

We need to do this, since the default -Xmx setting in bioconda's picard wrapper is too low (1 Gb) and will fail with out of memory errors (java.lang.OutOfMemoryError: Java heap space) on some typical human samples running CreateSequenceDictionary (eg samples in PRJNA319553, if you want a test case to prove it).

serine commented 5 years ago

yes, this is an issue we've talked about. I need to get to it. I've made extra notes about this here