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

Revisions №57080

branch: master 「№57080」
Commited by: Labonte
GitHub commit link: 「f2edd736eb538366」
Difference from previous tested commit:  code diff
Commit date: 2014-07-19 00:08:02

ResidueType: Residue properties are now stored in a separate class. This push is first in a series of major refactorings of how proeprties for ResidueTypes are handled in Rosetta. I will be discussing more about WHY and what I did at the developer meeting, but the highlights are thus: * Properties, such as POLAR, TERMINUS, LIPID, METALBINDING, etc., are no longer stored in a vector of strings AND a series of is_foo_ bools in ResidueType; instead, they are stored in a ResidueProperties class, to which ResidueType has an OP. * Within ResidueProperties, the properties are stored in a vector of bools keyed by a ResidueProperty enum. * enum values are auto-generated by a script, found in core/chemical/ residue_properties. * The script auto-runs at compile (like update_options) and the generated code files are not tracked by git. (I modified Scons, cmake, & xcode.) * To add new properties, simply add a new line to the core/chemical/ residue_properties/general_properties.list file. * Any property can be accessed by ResidueType.properties().has_property( PROPERTY ). * Wrappers still exist in Residue and ResidueType to access current properties indirectly, (such as is_protein(),) but those could be deprecated if we decide on that. ---------------------------------------- Unit test status: Pass Integration test status: 2 changes rings & carbohydrates: intentional output changes

...