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).
The various
picard*Mem
settings insik.config
should be passed as JVM-Xmx
commandline options topicard
. Assuming the supported dependency installation method is now conda, thepicard
wrapper script included as part of the bioconda package accepts-Xmx
as an argument and passes it to the JVM (eg ifpicardMarkDupsMem=6000000000
insik.config
, the commandline option-Xmx6000000000
should be added when callingpicard
). 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 numbersbatch --mem
andpicard -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 runningCreateSequenceDictionary
(eg samples in PRJNA319553, if you want a test case to prove it).