ihmwg / python-ihm

Python package for handling IHM mmCIF and BinaryCIF files
MIT License
14 stars 7 forks source link

Include _ihm_modeling_protocol_details.ensemble_flag in _ProtocolDumper #83

Closed brindakv closed 2 years ago

brindakv commented 2 years ago

_ihm_modeling_protocol_details.ensemble_flag is not included in the _ProtocolDumper class and it would be good to have that data item. The flag should be set to YES if multiple models are submitted (ihm_model_list) and/or if ihm_ensemble_info is populated.

benmwebb commented 2 years ago

That doesn't seem very reliable - I could imagine generating multiple models in ihm_model_list that are not ensembles (e.g. one model for each of several states). Or a protocol could consist of multiple steps, some of which (e.g. preprocessing, alignment) act on 0 or 1 models (i.e. not an ensemble) and some of which (e.g. modeling, filtering) generate or act on an ensemble. What about taking a user-provided flag to protocol.Step (as is done for ordered/multi_scale/multi_state already)?

brindakv commented 2 years ago

If user provides the flag, then that gets priority. I was talking about cases where user doesn't provide the input and seeing if it can be inferred from other information. I see your point about multiple models not necessarily corresponding to an ensemble. So perhaps use ihm_ensemble_info if user doesn't provide it?