Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
core::pack::task::operation::DesignRestrictions Class Reference

Combine a set of ResidueSelectors and ResidueLevelTaskOperations concisely, using boolean logic to join selectors concisely. More...

#include <DesignRestrictions.hh>

Inheritance diagram for core::pack::task::operation::DesignRestrictions:
Inheritance graph
[legend]

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 bool task_operation_provides_citation_info () const
 Does this task operation provide information about how to cite it? More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 
virtual bool task_operation_is_unpublished () const
 Does this task_operation indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)? More...
 
virtual utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const
 Provide a list of authors and their e-mail addresses, as strings. 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_pairactions_
 

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
 

Detailed Description

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"

Member Typedef Documentation

Constructor & Destructor Documentation

core::pack::task::operation::DesignRestrictions::DesignRestrictions ( )
core::pack::task::operation::DesignRestrictions::DesignRestrictions ( DesignRestrictions const &  src)
core::pack::task::operation::DesignRestrictions::~DesignRestrictions ( )
override

Member Function Documentation

void core::pack::task::operation::DesignRestrictions::add_selector_rlto_pair ( select::residue_selector::ResidueSelectorCOP  selector,
ResLvlTaskOperationCOP  rlto 
)

References actions_.

void core::pack::task::operation::DesignRestrictions::apply ( core::pose::Pose const &  ,
core::pack::task::PackerTask  
) const
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().

TaskOperationOP core::pack::task::operation::DesignRestrictions::clone ( ) const
overridevirtual

Create another task operation of the type matching the most-derived version of the class.

Implements core::pack::task::operation::TaskOperation.

std::string core::pack::task::operation::DesignRestrictions::keyname ( )
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().

void core::pack::task::operation::DesignRestrictions::parse_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  dm 
)
overridevirtual
void core::pack::task::operation::DesignRestrictions::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

Member Data Documentation

std::list< action_pair > core::pack::task::operation::DesignRestrictions::actions_
private

The documentation for this class was generated from the following files: