Why is GTDB-Tk hard coded to use FastTree with 1 CPU?

Hi all. I’ve noticed when inferring the phylogeny of input MAGs, GTDB-Tk invokes FastTree with only 1 CPU. Looking at the GTDB-Tk external module for FastTree, the fasttree.run() method has the CPU argument hard-coded to “1” on line 50. Is there a particular reason for this? If I changed this in my local installation to a larger integer to speed up this step, would I encounter problems when building my tree? Thanks in advance for any insight you can offer.

Cheers,
James

Hi James,

The argument cpus=1 is the default value if the user doesn’t supply a value for cpus. FastTree is called during the infer step, or de_novo_wf pipeline with cpus=options.cpus from the user supplied arguments. To use more than one CPU the workflow needs to be called with --cpus=x where x is the number of CPUs to use.

Cheers,
Aaron

Bah! Of course! :man_facepalming:

It still does look like FastTree is only using 1 CPU even though I set --cpus=16. I’m going to see if this is an issue with the environment I’m running it with…

Thank you,
James