Merge pull request #2141 from RosettaCommons/vmullig/xsd_types_for_taskoperations
Add an XSD type for comma-separated task operation lists
It is useful for a potential GUI to be able to differentiate between a Rosetta module that takes a general string and a Rosetta module that takes a comma-separated list of pre-defined task operations. This adds an XSD type for task operation lists separated by commas.
Tasks:
- [x] Add the type (xsct_task_operation_comma_separated_list).
- [x] Update the utility functions in protocols/rosetta_scripts that parse task operations lists to use xsct_task_operation_comma_separated_list instead of xs_string.
- [x] Find and update any additional movers, filters, etc. that take comma-separated task operations lists, being mindful of those that might take multiple lists.
- [x] Check in core.
- [x] Check in protocols.
- [x] Check in devel.
- [x] Check in apps.
- [x] Check tests.
- [x] Think about the case of something that might take a _single_ task operation.
- ~~Think about the case of things that take task factories.~~ --> Put off for a future pull request.
- [x] Also: cherry-pick in some more utility functions in utility/xsd_util/.
- [x] Beauty.
Ultimately, I'll do this for things that take residue selectors, score functions, movers, filters, etc.
**Note:** This does _not_ add any GUI elements to the Rosetta codebase. This is just utility code that will make GUI development easier down the road.