tschuelia / PyPythia

Lightweight python library for predicting the difficulty of alignments in phylogenetics
GNU General Public License v3.0
16 stars 0 forks source link

How to specify multiple threads #7

Closed singing-scientist closed 1 year ago

singing-scientist commented 1 year ago

Greetings, and thanks for the awesome tool! Is it possible to specify multiple threads? The documentation suggests that Pythia might be able to take advantage of multiple threads, but I cannot see how to specify it at the command line. (A particularly hard alignment of mine takes a few hours to finish.)

Thanks so much! Chase

tschuelia commented 1 year ago

Hi Chase!

Thanks for checking out Pythia :-) Unfortunately multithreading is not supported. The largest portion of runtime is spent to infer the maximum parsimony trees with RAxML-NG, and RAxML-NG does currently not implement parallelization for the maximum parsimony tree inference. I will raise this issue with my team members (who develop RAxML-NG) and see if we can implement parallelization, but I can't promise anything. I will keep this issue open as a reminder and I will report back if there are any updates :-)

Greetings, Julia

singing-scientist commented 1 year ago

Thank you so much, Julia! Totally understood — I wasn't sure if it supported multithreading or not, but wanted to ask to be sure. It's still lightning fast compared to the tree search, and ~2 hours is not prohibitive for a dataset that ends up being difficulty 0.83! Thanks a ton for the clarification, and the fabulous tool!

Sincerely, Chase

tschuelia commented 1 year ago

Hi Chase! With our new release 1.1.0 you can specify multiple threads using the --threads option for parallel parsimony inference. For this to work you need to update RAxML-NG to version >= 1.2.0.