This is a test version of Biostars. For the public version, visit https://www.biostars.org.
can picard use multiple threads?

Is there an argument can make Picard multiple threads?

In the picard home page, I didn't find it.

picard

I think it's implemented only for very few functions (like IlluminaBasecallsToFastq). which tool do you want to use?

3 answers

yes, but not all:

I have the same problem. And finally found solutions in picard faq.

You can not set number of threads for some picard packages, but you can set threads number for java

Try to the code below:

java -XX:ParallelGCThreads=<num of  threads> -jar <picard-package-name>.jar

I hope this will help.

It seems the Elapsed times have no difference.

I don't think this option turns on multithreading for picard. In fact, -XX:ParallelGCThreads is just about how JVM implements the garbage collection. It may have some impact on the overall performance, but the argument itself by no means has anything to do with picard multithreading.

Here's an in-depth introduction to parallel GC in JVM: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html

You can use for example GNU parallel. Something like this:

ls *.bam | sed 's/.bam.*//' | parallel --eta -j <num of threads> "java -jar picard <package> I={}.bam O={}_out.bam"

bash shows "parallel: command not found"

Log in to answer this question.