Automatically detect multimer and monomer mode
Description of feature
AlphaFold2 and ESMFold modules have different behaviour for monomer and multimer mode. Currently this is controlled by a CLI flag that the user must provide at run time.
From a usability perspective, it would be more convenient to have a small utility to check the number of molecular entities in the input fasta:
- if multiple entities are provided then automatically use multimer mode.
- if a single entity is detected then automatically use monomer mode.
Similar behaviour is supported by colabfold with the 'auto' option.
Can retain the option to manually set mode to support any edge cases.
One relatively common edge case is when all monomers are gathered in a single .FASTA file. That's how I handled using ESMFold since it treats that input nicely.
I do think it's not too much to ask a user to specify 'monomer' in such cases, and maybe there can be a sensible #input_lines check that if there are lots of entries just assume its a monomer list not a mega-multimer that won't fit on a GPU anyway.
There is also the --split_fasta flag to capture this explicitly.
There is also the --split_fasta flag to capture this explicitly.
Whoa, you're right, late last year in the utils subworkflow. I need to familiarise myself with all the params.
Sounds sensible to have it off by default (as is the config) and then force the user to turn it on through the GUI? They'll burn at most one job for a far-too-big multimer and then realise to turn on split fasta?