![]() |
Rosetta
2021.16
|
Combine a set of ResidueSelectors and ResidueLevelTaskOperations concisely, using boolean logic to join selectors concisely. More...
#include <DesignRestrictions.hh>

Public Member Functions | |
| DesignRestrictions () | |
| DesignRestrictions (DesignRestrictions const &src) | |
| ~DesignRestrictions () override | |
| core::pack::task::operation::TaskOperationOP | clone () const override |
| Create another task operation of the type matching the most-derived version of the class. More... | |
| void | add_selector_rlto_pair (select::residue_selector::ResidueSelectorCOP selector, ResLvlTaskOperationCOP rlto) |
| void | parse_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &) override |
| Configure from a RosettaScripts XML tag. More... | |
| void | apply (core::pose::Pose const &pose, core::pack::task::PackerTask &task) const override |
| Change a packer task in some way. The input pose is the one to which the input task will be later applied. More... | |
Public Member Functions inherited from core::pack::task::operation::TaskOperation | |
| ~TaskOperation () override | |
| virtual void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
| Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Static Public Member Functions | |
| static std::string | keyname () |
| Return the name used to construct this TaskOperation from an XML file. More... | |
| static void | provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd) |
| Describe the format of XML file used to initialize this TaskOperation. More... | |
Private Types | |
| typedef std::pair < select::residue_selector::ResidueSelectorCOP, std::list < ResLvlTaskOperationCOP > > | action_pair |
Private Attributes | |
| std::list< action_pair > | actions_ |
Additional Inherited Members | |
Public Types inherited from core::pack::task::operation::TaskOperation | |
| typedef utility::tag::TagCOP | TagCOP |
| typedef basic::datacache::DataMap | DataMap |
| typedef pose::Pose | Pose |
Combine a set of ResidueSelectors and ResidueLevelTaskOperations concisely, using boolean logic to join selectors concisely.
Basically, we want to be able to encode layer design as follows: <RESIDUE_SELECTORS> <Layer name="surface" select_core="false" select_boundary="false" select_surface="true" use_sidechain_neighbors="true"> <Layer name="boundary" select_core="false" select_boundary="true" select_surface="false" use_sidechain_neighbors="true"> <Layer name="core" select_core="true" select_boundary="false" select_surface="false" use_sidechain_neighbors="true"> <SecondaryStructure name="helix" overlap="0" minh="3" include_terminal_loops="false" use_dssp="true" ss="H"> <SecondaryStructure name="sheet" overlap="0" mine="3" include_terminal_loops="false" use_dssp="true" ss="E"> <SecondaryStructure name="loop" overlap="0" minh="3" mine="3" include_terminal_loops="true" use_dssp="true" ss="L"> </RESIDUE_SELECTORS> <TASKOPERATIONS> <DesignRestrictions name="layer_design"> <Action selector_logic="surface AND ( helix OR sheet) " aas="DEHKNQRST"> <Action selector_logic="surface AND loop" aas="DEGHKNPQRST"> <Action selector_logic="boundary AND helix" aas="ADEIKLMNQRSTVWY"> <Action selector_logic="boundary AND sheet" aas="DEFIKLNQRSTVWY"> <Action selector_logic="boundary AND loop" aas="ADEFGIKLMNPQRSTVWY"> <Action selector_logic="core AND helix" aas="AFILMVWY"> <Action selector_logic="core AND sheet" aas="FILVWY"> <Action selector_logic="core AND loop" aas="AFILMPVWY"> </DesignRestrictions> </TASKOPERATIONS> So that it then becomes easy to adapt it to change the logic; e.g. if residues 19, 21, and 23 should keep their native amino acid, and still be allowed to pack, then it will look like this
<RESIDUE_SELECTORS> ... the surface, boundary, core, helix, sheet and loop selectors listed above ... <ResidueIndexSelector name="special_res" resnums="19,21,23"> <RESIDUE_LEVEL_TASK_OPERATIONS> <RestrictToRepackingRLT name="rtr"> <RESIDUE_LEVEL_TASK_OPERATIONS> <TASKOPERATIONS> <DesignRestrictions name="custom_layer_design"> <Action residue_selector="special_res" residue_level_operations="rtr"> <Action selector_logic="!special_res AND surface AND ( helix OR sheet) " aas="DEHKNQRST"> <Action selector_logic="!special_res AND surface AND loop" aas="DEGHKNPQRST"> <Action selector_logic="!special_res AND boundary AND helix" aas="ADEIKLMNQRSTVWY"> <Action selector_logic="!special_res AND boundary AND sheet" aas="DEFIKLNQRSTVWY"> <Action selector_logic="!special_res AND boundary AND loop" aas="ADEFGIKLMNPQRSTVWY"> <Action selector_logic="!special_res AND core AND helix" aas="AFILMVWY"> <Action selector_logic="!special_res AND core AND sheet" aas="FILVWY"> <Action selector_logic="!special_res AND core AND loop" aas="AFILMPVWY"> </DesignRestrictions> </TASKOPERATIONS> Where the second "Action" above is saying "apply this to residues besides the special residues that are on surface loops"
|
private |
| core::pack::task::operation::DesignRestrictions::DesignRestrictions | ( | ) |
| core::pack::task::operation::DesignRestrictions::DesignRestrictions | ( | DesignRestrictions const & | src | ) |
|
override |
| void core::pack::task::operation::DesignRestrictions::add_selector_rlto_pair | ( | select::residue_selector::ResidueSelectorCOP | selector, |
| ResLvlTaskOperationCOP | rlto | ||
| ) |
References actions_.
|
overridevirtual |
Change a packer task in some way. The input pose is the one to which the input task will be later applied.
Implements core::pack::task::operation::TaskOperation.
References actions_, and core::pack::task::PackerTask::nonconst_residue_task().
|
overridevirtual |
Create another task operation of the type matching the most-derived version of the class.
Implements core::pack::task::operation::TaskOperation.
|
static |
Return the name used to construct this TaskOperation from an XML file.
Referenced by core::pack::task::operation::DesignRestrictionsCreator::keyname(), and provide_xml_schema().
|
overridevirtual |
Configure from a RosettaScripts XML tag.
Reimplemented from core::pack::task::operation::TaskOperation.
References protocols::cluster::calibur::aa, core::chemical::aa_from_oneletter_code(), actions_, core::chemical::is_canonical_L_aa_or_gly(), core::chemical::oneletter_code_specifies_aa(), core::pack::task::operation::parse_residue_level_task_operations(), core::select::residue_selector::parse_residue_selector(), and core::select::residue_selector::parse_residue_selector_logic_string().
|
static |
Describe the format of XML file used to initialize this TaskOperation.
References core::pack::task::operation::attributes_for_parse_residue_level_operations(), core::select::residue_selector::attributes_for_parse_residue_selector_default_option_name(), core::select::residue_selector::attributes_for_parse_residue_selector_logic_string(), core::pack::task::operation::complex_type_name_for_task_op(), and keyname().
Referenced by core::pack::task::operation::DesignRestrictionsCreator::provide_xml_schema().
|
private |
Referenced by add_selector_rlto_pair(), apply(), and parse_tag().
1.8.7