「view this page in B3 βῆτα server」

Revisions №61360

branch: master 「№61360」
Commited by: Jared Adolf-Bryfogle
GitHub commit link: 「b94bdb1f6b567f39」 「№4667」
Difference from previous tested commit:  code diff
Commit date: 2020-08-13 18:45:54

Merge pull request #4667 from RosettaCommons/jadolfbr/parser_logic Enable Residue Selector logic across RosettaScripts This PR does one main thing, it allows most classes to use selector logic through their `selector=` option in a tag. It does this through using the logic in `parse_residue_selector` and `get_residue_selector` after checking if the selector exists in the DataMap first. (I was going to roll my own parsing logic/etc. before @ajasja pointed me to use the already-present logic - so thank you @ajasja for that - saved a lot of time!) A lot of selectors have been updated to use the util - I was frankly shocked at how much pure copy-paste happened in getting selectors. **This functionality has been extensively tested, has a unit test, and we have a few bonuses.** 1) You no longer need to use `!` and can use the actual word not. Why not eh? (courtesy goes to @ajasja for this) 2) You no longer have to have everything caps. 3) A disulfide container crash has been properly wrapped in an exit instead of a vector segfault 4) The `SelectedResiduesPyMOLMetric` now uses the custom type IN the selection. I Should have done that a long time ago. 5) Logic works when doing `selectors=` for each selector in between commas I hope this will be as beneficial to everyone as it has to me the past week. My 150 lines of selectors have been cut to only a select important few. **The caveat to this is as follows**: I tried to find all the classes where selectors were being pulled straight from the `DataMap` (which, honestly, I didn't know people actually did when I started this) and fixed as many as I could through a few searches. I may have missed some. Due to the inconsistent use of the `residue_selector` name and inconsistencies when using multiple selectors, I cannot envision a way to test this exhaustively. If you have ideas, please let me know!

...