rcedgar / muscle

Multiple sequence and structure alignment with top benchmark scores scalable to thousands of sequences. Generates replicate alignments, enabling assessment of downstream analyses such as trees and predicted structures.
https://drive5.com/muscle
GNU General Public License v3.0
186 stars 21 forks source link

Automatic optimal number of threads #64

Closed dreyes17 closed 10 months ago

dreyes17 commented 10 months ago

Hello,

I am integrating Muscle in a platform that is used by people that don't necessarily know how to program. In order to optimally use the server resources I normally calculate the number of threads necessary for each program automatically.

Reading your paper I guess that the parallelized part of the algorithm is the calculation of matrix M. If this is right the number of threads to optimally use resources should be a multiple of: * .

I have two doubts about this:

  1. It is very difficult to know what will be the length of the replicas MSA. Is it impossible to know in advance?
  2. All the MSA replicas might not have the same length. For this purpose I should select the largest?
rcedgar commented 10 months ago

I would not worry about trying to set the number of threads. By default, muscle uses minimum(20, number of CPU cores), this should work fine.

dreyes17 commented 10 months ago

I try always to use only the necessary ones because we have a limited number of CPUs for various users and also access to HPCs that have a cost of CPU/hour. But knowing that it doesn’t affect too much I will try to test the better way to adapt it.

Thank you very much