Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::palette::PackerPalette Class Referenceabstract

The PackerPalette class gives instructions to the packer about the set of ResidueTypes and VariantTypes to use by default, in the absence of any TaskOperations that prune the list. More...

#include <PackerPalette.hh>

Inheritance diagram for core::pack::palette::PackerPalette:
Inheritance graph
[legend]

Public Member Functions

 PackerPalette ()
 Default constructor. More...
 
 ~PackerPalette () override
 Destructor. More...
 
virtual PackerPaletteOP clone () const =0
 Clone operator: make a copy and return an owning pointer to the copy. More...
 
PackerPaletteCOP get_self_ptr () const
 Self pointers (const). More...
 
PackerPaletteOP get_self_ptr ()
 Self pointers (non-const). More...
 
void initialize_residue_level_task (core::conformation::Residue const &existing_residue, core::chemical::ResidueTypeSetCOP restypeset, std::list< chemical::ResidueTypeCOP > &residue_type_list) const
 The initialize_residue_level_task ("apply") function – called during rotamer setup for the packer to get the list of all ResidueTypes that are allowed. More...
 
virtual void parse_my_tag (utility::tag::TagCOP const &tag, basic::datacache::DataMap const &datamap)
 Function to parse XML tags, implemented by derived classes. More...
 
virtual std::string const & name () const =0
 Get the name of this class. More...
 
void set_up_default_special_behaviours ()
 Set the special behaviours to their default values. More...
 
virtual bool packer_palette_provides_citation_info () const
 Does this packer palette 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 packer_palette_is_unpublished () const
 Does this packer palette 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...
 

Protected Member Functions

BaseTypeList const & get_base_residue_types_cached (core::chemical::ResidueTypeSetCOP const &restypeset) const
 Get a list of possible base residue types Will preferentially grab them from a cached list for the given ResidueTypeSet If we don't have a cached version, generate one (and cache it) using get_base_residue_types() More...
 
virtual BaseTypeList get_base_residue_types (core::chemical::ResidueTypeSetCOP const &restypeset) const =0
 Generate a list of possible base residue types. More...
 
void set_up_default_base_types (core::chemical::ResidueTypeSet const &restypeset, BaseTypeList &base_types) const
 Set up the default base types for a particular ResidueTypeSet. More...
 
void set_up_expanded_base_types (core::chemical::ResidueTypeSet const &restypeset, BaseTypeList &base_types) const
 Set up the default base types for a particular ResidueTypeSet. More...
 
void add_base_residue_type (std::string const &name, core::chemical::ResidueTypeSet const &restypeset, BaseTypeList &base_types) const
 Add a base residue type name to the list of base residue type names. More...
 
void add_base_residue_types_by_properties (utility::vector1< core::chemical::ResidueProperty > const &properties, core::chemical::ResidueTypeSet const &restypeset, BaseTypeList &base_types) const
 Add a group of base ResidueTypes and names to the PackerPalette from a particular ResidueTypeSet by properties. More...
 
void set_only_design_protein_peptoid_dna_saccharide (bool const setting)
 Set whether design is only limited to protein/peptoid/dna/saccharide positions, or can happen everywhere. More...
 
void set_force_existing_base_type (bool const setting)
 Set whether we're forcing the existing base type. More...
 
void set_only_design_polymer_residues (bool const setting)
 Set whether design is only limited to polymer positions, or can happen everywhere. More...
 
utility::vector1< std::string > get_base_names_by_properties (core::chemical::ResidueTypeSet const &restypeset, utility::vector1< core::chemical::ResidueProperty > const &properties) const
 Return a list of base ResidueType names to be added to the PackerPalette from a particular ResidueTypeSet by properties. More...
 

Private Member Functions

core::chemical::ResidueType const * get_base_type_raw_ptr (core::chemical::ResidueTypeCOP const &restype) const
 Given a residue type pointer, get a raw pointer to the base type. More...
 
core::chemical::ResidueTypeCOP get_residue_type_cop_with_variant_removed (core::chemical::ResidueTypeCOP const &restype, core::chemical::ResidueTypeSet const &restypeset, core::chemical::VariantType const vartype_to_remove) const
 Get a residue type with a variant removed. More...
 
void initialize_special_behaviours ()
 Set the special behaviours to be a map of each behaviour type to FALSE. More...
 
void decide_what_to_do_with_existing_type (core::conformation::Residue const &existing_residue, core::chemical::ResidueTypeSetCOP restypeset, std::list< core::chemical::ResidueTypeCOP > &residue_type_list) const
 Given the existing residue, decide what to do with its base type. More...
 
void decide_what_to_do_with_base_type (core::conformation::Residue const &existing_residue, core::chemical::ResidueTypeSetCOP restypeset, std::list< core::chemical::ResidueTypeCOP > &residue_type_list, core::chemical::ResidueTypeCOP const &candidate_base_type, bool &existing_type_processed) const
 Given the existing residue and a candidate base type in the base types list, decide what to do with the candidate base type. More...
 
void initialize_non_terminal_types ()
 Set up the list of variant types that don't modify termini. More...
 
void get_types_on_residue (core::conformation::Residue const &residue, utility::vector1< core::chemical::VariantType > const &types, utility::vector1< core::chemical::VariantType > &present_types, utility::vector1< std::string > &present_on_the_fly_types) const
 Given a list of VariantTypes and a residue, populate two new lists with the VariantTypes present on the residue and the custom VariantTypes present. More...
 
bool restore_pre_talaris_behaviour () const
 Has the user specified that pre-talaris behaviour should be restored? More...
 
bool icoor_05_2009 () const
 has the icoor_05_2009 option been used? More...
 
bool pH_mode () const
 Has the pH_mode option been used? More...
 
void add_residue_types_to_list (utility::vector1< core::chemical::ResidueTypeCOP > const &types_to_add, std::list< core::chemical::ResidueTypeCOP > &residue_type_list, core::Size const seqpos) const
 Given some ResidueTypes to add to the ResidueType list, add the ones that are not already in the list. More...
 
bool saccharide_backbones_are_compatible (chemical::ResidueType const &existing_type, chemical::ResidueType const &candidate_type) const
 Do these two ResidueTypes have compatible backbones? More...
 
bool aramid_backbones_are_compatible (core::chemical::ResidueType const &existing_type, core::chemical::ResidueType const &candidate_type) const
 Do these two ResidueTypes have compatible aramid backbones? More...
 

Private Attributes

bool restore_pre_talaris_behaviour_
 Has the user specified that pre-talaris behaviour should be restored? More...
 
bool icoor_05_2009_
 Has the icoor_05_2009 option been used? More...
 
bool pH_mode_
 Has the pH_mode option been used? More...
 
utility::vector1< std::string > variant_type_names_
 List of variant type names. More...
 
std::map
< SpecialPackerPaletteBehaviour,
bool
special_behaviours_
 Settings for special behaviours. More...
 
utility::vector1
< core::chemical::VariantType
terminal_types_
 List of all VariantTypes that exist that modify termini. More...
 
utility::vector1
< core::chemical::VariantType
non_terminal_types_
 List of all VariantTypes that exist that do not modify termini. More...
 
utility::thread::MutableCache
< core::chemical::ResidueTypeSet
const *, BaseTypeList
base_list_cache_
 A cached version of the BaseTypeList, to speed up lookup Note that caching by ResidueTypeSet pointer should likely be fine, as a GlobalRTS should be constant after generation, and the PoseRTS in a pose have copy-on-write semantics (so additions should result in a new object.) More...
 

Detailed Description

The PackerPalette class gives instructions to the packer about the set of ResidueTypes and VariantTypes to use by default, in the absence of any TaskOperations that prune the list.

Constructor & Destructor Documentation

core::pack::palette::PackerPalette::PackerPalette ( )
core::pack::palette::PackerPalette::~PackerPalette ( )
override

Destructor.

Member Function Documentation

void core::pack::palette::PackerPalette::add_base_residue_type ( std::string const &  name,
core::chemical::ResidueTypeSet const &  restypeset,
BaseTypeList base_types 
) const
protected
void core::pack::palette::PackerPalette::add_base_residue_types_by_properties ( utility::vector1< core::chemical::ResidueProperty > const &  properties,
core::chemical::ResidueTypeSet const &  restypeset,
BaseTypeList base_types 
) const
protected

Add a group of base ResidueTypes and names to the PackerPalette from a particular ResidueTypeSet by properties.

Add a group of base ResidueTypes and names to the PackerPalette by properties.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References add_base_residue_type(), protocols::vip::base_name(), and get_base_names_by_properties().

Referenced by set_up_default_base_types(), and set_up_expanded_base_types().

void core::pack::palette::PackerPalette::add_residue_types_to_list ( utility::vector1< core::chemical::ResidueTypeCOP > const &  types_to_add,
std::list< core::chemical::ResidueTypeCOP > &  residue_type_list,
core::Size const  seqpos 
) const
private

Given some ResidueTypes to add to the ResidueType list, add the ones that are not already in the list.

Determines equivalency by pointer address comparison.

References special_behaviours_, core::pack::palette::STRIP_VIRTUAL_SIDE_CHAIN, core::pack::palette::TR(), and core::chemical::VIRTUAL_SIDE_CHAIN.

Referenced by decide_what_to_do_with_base_type(), and decide_what_to_do_with_existing_type().

bool core::pack::palette::PackerPalette::aramid_backbones_are_compatible ( core::chemical::ResidueType const &  existing_type,
core::chemical::ResidueType const &  candidate_type 
) const
private
virtual PackerPaletteOP core::pack::palette::PackerPalette::clone ( ) const
pure virtual

Clone operator: make a copy and return an owning pointer to the copy.

Derived classes MUST implement this.

Implemented in core::pack::palette::DefaultPackerPalette, core::pack::palette::NoDesignPackerPalette, core::pack::palette::NCAADefaultPackerPalette, and core::pack::palette::CustomBaseTypePackerPalette.

void core::pack::palette::PackerPalette::decide_what_to_do_with_base_type ( core::conformation::Residue const &  existing_residue,
core::chemical::ResidueTypeSetCOP  restypeset,
std::list< core::chemical::ResidueTypeCOP > &  residue_type_list,
core::chemical::ResidueTypeCOP const &  candidate_base_type,
bool existing_type_processed 
) const
private

Given the existing residue and a candidate base type in the base types list, decide what to do with the candidate base type.

If the candidate type is the existing type, then this calls decide_what_to_do_with_existing_type() and marks existing_type_processed as true; otherwise, existing_type_processed is left unchanged.

Note
If we ever decide to allow design of one class/family of backbone to another, we will need to have this function overwritten by the child class.

References add_residue_types_to_list(), core::chemical::ADDUCT_VARIANT, core::pack::palette::ALLOW_ALTERNATE_BACKBONE_MATCHING, aramid_backbones_are_compatible(), core::chemical::ResidueTypeBase::base_name(), decide_what_to_do_with_existing_type(), core::pack::palette::END_OF_BEHAVIOUR_LIST, core::pack::palette::EXCLUDE_ADDUCT_VARIANT_AT_DNA_POSITIONS, get_base_type_raw_ptr(), get_types_on_residue(), core::chemical::ResidueTypeBase::has_variant_type(), icoor_05_2009(), core::chemical::ResidueType::is_alpha_aa(), core::chemical::ResidueType::is_aramid(), core::chemical::ResidueType::is_beta_aa(), core::chemical::ResidueType::is_carbohydrate(), core::chemical::ResidueType::is_disulfide_bonded(), core::chemical::ResidueTypeBase::is_DNA(), core::chemical::ResidueType::is_gamma_aa(), core::chemical::ResidueType::is_ligand(), core::chemical::ResidueType::is_oligourea(), core::chemical::ResidueTypeBase::is_peptoid(), core::chemical::ResidueTypeBase::is_polymer(), core::chemical::ResidueTypeBase::is_protein(), core::chemical::ResidueTypeBase::is_RNA(), core::pack::palette::KEEP_EXISTING_DISULFIDES, core::pack::palette::KEEP_EXISTING_NONTERMINAL_VARIANT_TYPES_AND_DISALLLOW_INCOMPATIBLE_BASE_TYPES, core::pack::palette::KEEP_EXISTING_TERMINAL_VARIANT_TYPES_AT_POSITIONS, core::pack::palette::NO_METAPATCHES, non_terminal_types_, core::pack::palette::ONLY_ALPHA_AA_AT_ALPHA_POSITIONS, core::pack::palette::ONLY_ARAMID_AT_ARAMID_POSITIONS, core::pack::palette::ONLY_BETA_AA_AT_BETA_POSITIONS, core::pack::palette::ONLY_DESIGN_POLYMER_RESIDUES, core::pack::palette::ONLY_DESIGN_PROTEIN_PEPTIOID_DNA_AND_SACCHARIDES, core::pack::palette::ONLY_DNA_AT_DNA_POSITIONS, core::pack::palette::ONLY_GAMMA_AA_AT_GAMMA_POSITIONS, core::pack::palette::ONLY_LIGAND_AT_LIGAND_POSITIONS, core::pack::palette::ONLY_MATCHING_LIGAND_NAMES, core::pack::palette::ONLY_OLIGOUREA_AT_OLIGOUREA_POSITIONS, core::pack::palette::ONLY_RNA_AT_RNA_POSITIONS, core::pack::palette::ONLY_SACCHARIDES_AT_SACCHARIDE_POSITIONS, pH_mode(), core::pack::palette::pH_MODE_EXCEPTIONS, core::chemical::pH_mode_exceptions(), restore_pre_talaris_behaviour(), saccharide_backbones_are_compatible(), core::conformation::Residue::seqpos(), special_behaviours_, core::pack::palette::STRIP_VIRTUAL_SIDE_CHAIN, terminal_types_, core::conformation::Residue::type(), core::conformation::Residue::type_ptr(), update_ResidueType_enum_files::variants, and core::chemical::VIRTUAL_SIDE_CHAIN.

Referenced by initialize_residue_level_task().

void core::pack::palette::PackerPalette::decide_what_to_do_with_existing_type ( core::conformation::Residue const &  existing_residue,
core::chemical::ResidueTypeSetCOP  restypeset,
std::list< core::chemical::ResidueTypeCOP > &  residue_type_list 
) const
private

Given the existing residue, decide what to do with its base type.

Depending on what's defined in the special_behaviours_ list, we might keep the base type, keep the base type with terminal variants, keep the base type with terminal and side-chain variants, etc.

References add_residue_types_to_list(), core::chemical::ADDUCT_VARIANT, core::pack::palette::ALL_DNA_TYPES_ON, core::pack::palette::ALLOW_ALTERNATE_BACKBONE_MATCHING, core::chemical::DNA, core::pack::palette::END_OF_BEHAVIOUR_LIST, core::pack::palette::EXCLUDE_ADDUCT_VARIANT_AT_DNA_POSITIONS, core::pack::palette::FORCE_EXISTING_BASE_TYPE, core::chemical::ResidueTypeFinder::get_all_possible_residue_types(), core::chemical::ResidueType::get_base_type_cop(), get_residue_type_cop_with_variant_removed(), get_types_on_residue(), core::chemical::ResidueTypeBase::has_variant_type(), core::chemical::ResidueType::is_base_type(), core::chemical::ResidueType::is_disulfide_bonded(), core::chemical::ResidueTypeBase::is_DNA(), core::chemical::ResidueTypeBase::is_peptoid(), core::chemical::ResidueTypeBase::is_polymer(), core::chemical::ResidueTypeBase::is_protein(), core::pack::palette::KEEP_EXISTING_BASE_TYPE, core::pack::palette::KEEP_EXISTING_DISULFIDES, core::pack::palette::KEEP_EXISTING_NONTERMINAL_VARIANT_TYPES_AND_DISALLLOW_INCOMPATIBLE_BASE_TYPES, core::pack::palette::KEEP_EXISTING_NONTERMINAL_VARIANT_TYPES_FOR_EXISTING_BASE_TYPE, core::pack::palette::KEEP_EXISTING_TERMINAL_VARIANT_TYPES_AT_POSITIONS, core::pack::palette::NO_METAPATCHES, non_terminal_types_, core::pack::palette::ONLY_DESIGN_POLYMER_RESIDUES, core::pack::palette::ONLY_DESIGN_PROTEIN_PEPTIOID_DNA_AND_SACCHARIDES, pH_mode(), core::pack::palette::pH_MODE_EXCEPTIONS, core::chemical::pH_mode_exceptions(), core::conformation::Residue::seqpos(), special_behaviours_, core::pack::palette::STRIP_VIRTUAL_SIDE_CHAIN, terminal_types_, core::conformation::Residue::type(), core::conformation::Residue::type_ptr(), core::chemical::ResidueTypeFinder::variant_exceptions(), core::chemical::ResidueTypeBase::variant_type_enums(), core::chemical::ResidueTypeFinder::variants(), update_ResidueType_enum_files::variants, and core::chemical::VIRTUAL_SIDE_CHAIN.

Referenced by decide_what_to_do_with_base_type(), and initialize_residue_level_task().

utility::vector1< std::string > core::pack::palette::PackerPalette::get_base_names_by_properties ( core::chemical::ResidueTypeSet const &  restypeset,
utility::vector1< core::chemical::ResidueProperty > const &  properties 
) const
protected

Return a list of base ResidueType names to be added to the PackerPalette from a particular ResidueTypeSet by properties.

Return a list of base ResidueType names to be added to the PackerPalette by properties.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References update_ResidueType_enum_files::properties.

Referenced by add_base_residue_types_by_properties().

virtual BaseTypeList core::pack::palette::PackerPalette::get_base_residue_types ( core::chemical::ResidueTypeSetCOP const &  restypeset) const
protectedpure virtual

Generate a list of possible base residue types.

Parameters
[in]restypesetThe ResidueTypeSet to use as a reference for related types.
Returns
A map of basename:base residue type pairs

Implemented in core::pack::palette::CustomBaseTypePackerPalette, core::pack::palette::DefaultPackerPalette, core::pack::palette::NCAADefaultPackerPalette, and core::pack::palette::NoDesignPackerPalette.

Referenced by get_base_residue_types_cached().

BaseTypeList const & core::pack::palette::PackerPalette::get_base_residue_types_cached ( core::chemical::ResidueTypeSetCOP const &  restypeset) const
protected

Get a list of possible base residue types Will preferentially grab them from a cached list for the given ResidueTypeSet If we don't have a cached version, generate one (and cache it) using get_base_residue_types()

References base_list_cache_, and get_base_residue_types().

Referenced by initialize_residue_level_task().

core::chemical::ResidueType const * core::pack::palette::PackerPalette::get_base_type_raw_ptr ( core::chemical::ResidueTypeCOP const &  restype) const
private

Given a residue type pointer, get a raw pointer to the base type.

Avoids calls to get_self_ptr().

References core::chemical::ResidueType::get_base_type_cop().

Referenced by decide_what_to_do_with_base_type().

core::chemical::ResidueTypeCOP core::pack::palette::PackerPalette::get_residue_type_cop_with_variant_removed ( core::chemical::ResidueTypeCOP const &  restype,
core::chemical::ResidueTypeSet const &  restypeset,
core::chemical::VariantType const  vartype_to_remove 
) const
private
PackerPaletteCOP core::pack::palette::PackerPalette::get_self_ptr ( ) const
inline

Self pointers (const).

PackerPaletteOP core::pack::palette::PackerPalette::get_self_ptr ( )
inline

Self pointers (non-const).

void core::pack::palette::PackerPalette::get_types_on_residue ( core::conformation::Residue const &  residue,
utility::vector1< core::chemical::VariantType > const &  types,
utility::vector1< core::chemical::VariantType > &  present_types,
utility::vector1< std::string > &  present_on_the_fly_types 
) const
private

Given a list of VariantTypes and a residue, populate two new lists with the VariantTypes present on the residue and the custom VariantTypes present.

present_types and present_on_the_fly_types are cleared and populated by this operation. The present_on_the_fly_types vector is a vector of strings representing types generated on the fly, for which enum don't exist. (The enzdes and metalloprotein code generate custom ResidueTypes in memory, for example.)

References core::chemical::ResidueTypeBase::custom_variant_types(), core::chemical::ResidueTypeBase::has_variant_type(), and core::conformation::Residue::type().

Referenced by decide_what_to_do_with_base_type(), and decide_what_to_do_with_existing_type().

bool core::pack::palette::PackerPalette::icoor_05_2009 ( ) const
inlineprivate

has the icoor_05_2009 option been used?

More backwarkwards-compatibility malarkey.

References icoor_05_2009_.

Referenced by decide_what_to_do_with_base_type(), and set_up_default_special_behaviours().

void core::pack::palette::PackerPalette::initialize_non_terminal_types ( )
private

Set up the list of variant types that don't modify termini.

This is just all of the VariantTypes that exist that are NOT in the terminal_types_ list.

References protocols::denovo_design::add_to_list(), core::chemical::N_VARIANTS, non_terminal_types_, and terminal_types_.

Referenced by PackerPalette().

void core::pack::palette::PackerPalette::initialize_residue_level_task ( core::conformation::Residue const &  existing_residue,
core::chemical::ResidueTypeSetCOP  restypeset,
std::list< chemical::ResidueTypeCOP > &  residue_type_list 
) const

The initialize_residue_level_task ("apply") function – called during rotamer setup for the packer to get the list of all ResidueTypes that are allowed.

Derived classes don't get to implement this to override the default behaviour (which is just to set up all allowed ResidueTypes that result from the combination of the base types listed and the VariantTypes listed), but specific variations on the default behaviour, provided by enum, are permitted. Note that the PackerPalette is not meant to be used for position-specific setup, despite having access to the pose residue. Use TaskOperations for that.

Parameters
[in]existing_residueThe existing residue, for reference (though this should be largely unneeded). It's largely only used for variant type matching.
[out]residue_type_listA std::list of ResidueTypeCOPs, which is cleared and populated by this function.

Derived classes don't get to implement this to override the default behaviour (which is just to set up all allowed ResidueTypes that result from the combination of the base types listed and the VariantTypes listed), but specific variations on the default behaviour, provided by enum, are permitted. Note that the PackerPalette is not meant to be used for position-specific setup, despite having access to the pose residue. Use TaskOperations for that.

Parameters
[in]existing_residueThe existing residue, for reference (though this should be largely unneeded). It's largely only used for variant type matching.
[in]restypesetThe ResidueTypeSet needed for finding "related" residue types
[out]residue_type_listA std::list of ResidueTypeCOPs, which is cleared and populated by this function.

References decide_what_to_do_with_base_type(), decide_what_to_do_with_existing_type(), core::pack::palette::FORCE_EXISTING_BASE_TYPE, get_base_residue_types_cached(), core::conformation::Residue::name3(), core::conformation::Residue::seqpos(), special_behaviours_, and core::pack::palette::TR().

void core::pack::palette::PackerPalette::initialize_special_behaviours ( )
private

Set the special behaviours to be a map of each behaviour type to FALSE.

All behaviours default to false, and must be explicitly set to true.

References core::pack::palette::END_OF_BEHAVIOUR_LIST, and special_behaviours_.

Referenced by PackerPalette(), and set_up_default_special_behaviours().

virtual std::string const& core::pack::palette::PackerPalette::name ( ) const
pure virtual
bool core::pack::palette::PackerPalette::packer_palette_is_unpublished ( ) const
virtual

Does this packer palette indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)?

Defaults to false. Derived classes may override this to provide authorship info. If set to true, the provide_authorship_info_for_unpublished() override should also be provided.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org)

Reimplemented in core::pack::palette::NCAADefaultPackerPalette.

bool core::pack::palette::PackerPalette::packer_palette_provides_citation_info ( ) const
virtual

Does this packer palette provide information about how to cite it?

Defaults to false. Derived classes may override this to provide citation info. If set to true, the provide_citation_info() override should also be provided.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org)

Reimplemented in core::pack::palette::CustomBaseTypePackerPalette, and core::pack::palette::DefaultPackerPalette.

void core::pack::palette::PackerPalette::parse_my_tag ( utility::tag::TagCOP const &  tag,
basic::datacache::DataMap const &  datamap 
)
virtual

Function to parse XML tags, implemented by derived classes.

Failure to implement this results in a warning message, but does not prevent compilation or program execution.

Reimplemented in core::pack::palette::NoDesignPackerPalette, core::pack::palette::DefaultPackerPalette, core::pack::palette::NCAADefaultPackerPalette, and core::pack::palette::CustomBaseTypePackerPalette.

References core::pack::palette::TR().

bool core::pack::palette::PackerPalette::pH_mode ( ) const
inlineprivate

Has the pH_mode option been used?

Still more backwarkwards-compatibility malarkey.

References pH_mode_.

Referenced by decide_what_to_do_with_base_type(), decide_what_to_do_with_existing_type(), set_up_default_base_types(), and set_up_default_special_behaviours().

utility::vector1< basic::citation_manager::UnpublishedModuleInfoCOP > core::pack::palette::PackerPalette::provide_authorship_info_for_unpublished ( ) const
virtual

Provide a list of authors and their e-mail addresses, as strings.

Returns
A list of pairs of (author, e-mail address). Empty list if not unpublished.
Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org)

Reimplemented in core::pack::palette::NCAADefaultPackerPalette.

utility::vector1< basic::citation_manager::CitationCollectionCOP > core::pack::palette::PackerPalette::provide_citation_info ( ) const
virtual

Provide the citation.

Returns
A vector of citation collections. This allows the packer palette to provide citations for itself and for any modules that it invokes.

The default implementation of this function provides an empty vector. It may be overriden by packer palettes wishing to provide citation information.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org)

Reimplemented in core::pack::palette::CustomBaseTypePackerPalette, and core::pack::palette::DefaultPackerPalette.

bool core::pack::palette::PackerPalette::restore_pre_talaris_behaviour ( ) const
inlineprivate

Has the user specified that pre-talaris behaviour should be restored?

Having to support this is a royal pain in the neck.

References restore_pre_talaris_behaviour_.

Referenced by decide_what_to_do_with_base_type(), and set_up_default_special_behaviours().

bool core::pack::palette::PackerPalette::saccharide_backbones_are_compatible ( chemical::ResidueType const &  existing_type,
chemical::ResidueType const &  candidate_type 
) const
private

Do these two ResidueTypes have compatible backbones?

Author
Jason W. Labonte

Two residues must have superimposable main chains for one to be a candidate for design for the other.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::pack::palette::ALLOW_ALTERNATE_BACKBONE_MATCHING, core::chemical::ResidueType::carbohydrate_info(), core::chemical::ResidueType::icoor(), core::chemical::ResidueType::is_upper_terminus(), core::chemical::ResidueType::mainchain_atoms(), and special_behaviours_.

Referenced by decide_what_to_do_with_base_type().

void core::pack::palette::PackerPalette::set_force_existing_base_type ( bool const  setting)
protected

Set whether we're forcing the existing base type.

Defaults to false. The NoDesignPackerPalette sets this to true.

References core::pack::palette::FORCE_EXISTING_BASE_TYPE, and special_behaviours_.

Referenced by core::pack::palette::NoDesignPackerPalette::set_up_behaviours().

void core::pack::palette::PackerPalette::set_only_design_polymer_residues ( bool const  setting)
protected

Set whether design is only limited to polymer positions, or can happen everywhere.

The DefaultPackerPalette has this set to true; everything else should set it to false.

References core::pack::palette::ONLY_DESIGN_POLYMER_RESIDUES, and special_behaviours_.

Referenced by core::pack::palette::CustomBaseTypePackerPalette::set_up_behaviours().

void core::pack::palette::PackerPalette::set_only_design_protein_peptoid_dna_saccharide ( bool const  setting)
protected

Set whether design is only limited to protein/peptoid/dna/saccharide positions, or can happen everywhere.

The DefaultPackerPalette has this set to true; everything else should set it to false.

References core::pack::palette::ONLY_DESIGN_PROTEIN_PEPTIOID_DNA_AND_SACCHARIDES, and special_behaviours_.

Referenced by core::pack::palette::CustomBaseTypePackerPalette::set_up_behaviours().

void core::pack::palette::PackerPalette::set_up_default_base_types ( core::chemical::ResidueTypeSet const &  restypeset,
BaseTypeList base_types 
) const
protected
void core::pack::palette::PackerPalette::set_up_default_special_behaviours ( )

Set the special behaviours to their default values.

Set the defaults for special behaviours.

References core::pack::palette::ALL_DNA_TYPES_ON, core::pack::palette::ALLOW_ALTERNATE_BACKBONE_MATCHING, core::pack::palette::END_OF_BEHAVIOUR_LIST, core::pack::palette::EXCLUDE_ADDUCT_VARIANT_AT_DNA_POSITIONS, core::pack::palette::FORCE_EXISTING_BASE_TYPE, icoor_05_2009(), initialize_special_behaviours(), core::pack::palette::KEEP_EXISTING_BASE_TYPE, core::pack::palette::KEEP_EXISTING_DISULFIDES, core::pack::palette::KEEP_EXISTING_NONTERMINAL_VARIANT_TYPES_AND_DISALLLOW_INCOMPATIBLE_BASE_TYPES, core::pack::palette::KEEP_EXISTING_NONTERMINAL_VARIANT_TYPES_FOR_EXISTING_BASE_TYPE, core::pack::palette::KEEP_EXISTING_TERMINAL_VARIANT_TYPES_AT_POSITIONS, core::pack::palette::NO_METAPATCHES, core::pack::palette::ONLY_ALPHA_AA_AT_ALPHA_POSITIONS, core::pack::palette::ONLY_ARAMID_AT_ARAMID_POSITIONS, core::pack::palette::ONLY_BETA_AA_AT_BETA_POSITIONS, core::pack::palette::ONLY_DESIGN_POLYMER_RESIDUES, core::pack::palette::ONLY_DESIGN_PROTEIN_PEPTIOID_DNA_AND_SACCHARIDES, core::pack::palette::ONLY_DNA_AT_DNA_POSITIONS, core::pack::palette::ONLY_GAMMA_AA_AT_GAMMA_POSITIONS, core::pack::palette::ONLY_LIGAND_AT_LIGAND_POSITIONS, core::pack::palette::ONLY_MATCHING_LIGAND_NAMES, core::pack::palette::ONLY_OLIGOUREA_AT_OLIGOUREA_POSITIONS, core::pack::palette::ONLY_RNA_AT_RNA_POSITIONS, core::pack::palette::ONLY_SACCHARIDES_AT_SACCHARIDE_POSITIONS, pH_mode(), core::pack::palette::pH_MODE_EXCEPTIONS, restore_pre_talaris_behaviour(), special_behaviours_, and core::pack::palette::STRIP_VIRTUAL_SIDE_CHAIN.

Referenced by core::pack::palette::NoDesignPackerPalette::set_up_behaviours(), core::pack::palette::NCAADefaultPackerPalette::set_up_behaviours(), core::pack::palette::DefaultPackerPalette::set_up_behaviours(), and core::pack::palette::CustomBaseTypePackerPalette::set_up_behaviours().

void core::pack::palette::PackerPalette::set_up_expanded_base_types ( core::chemical::ResidueTypeSet const &  restypeset,
BaseTypeList base_types 
) const
protected

Set up the default base types for a particular ResidueTypeSet.

Set up the 'expanded' NCBB default base types.

Author
Andy Watkins (amw57.nosp@m.9@st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u)

References add_base_residue_types_by_properties(), core::chemical::ARAMID, core::chemical::BETA_AA, core::chemical::OLIGOUREA, and set_up_default_base_types().

Referenced by core::pack::palette::NCAADefaultPackerPalette::get_base_residue_types().

Member Data Documentation

utility::thread::MutableCache< core::chemical::ResidueTypeSet const *, BaseTypeList > core::pack::palette::PackerPalette::base_list_cache_
mutableprivate

A cached version of the BaseTypeList, to speed up lookup Note that caching by ResidueTypeSet pointer should likely be fine, as a GlobalRTS should be constant after generation, and the PoseRTS in a pose have copy-on-write semantics (so additions should result in a new object.)

Referenced by get_base_residue_types_cached().

bool core::pack::palette::PackerPalette::icoor_05_2009_
private

Has the icoor_05_2009 option been used?

More backwarkwards-compatibility malarkey.

Referenced by icoor_05_2009(), and PackerPalette().

utility::vector1< core::chemical::VariantType > core::pack::palette::PackerPalette::non_terminal_types_
private

List of all VariantTypes that exist that do not modify termini.

Generated from terminal_types_ on PackerPalette creation.

Referenced by decide_what_to_do_with_base_type(), decide_what_to_do_with_existing_type(), and initialize_non_terminal_types().

bool core::pack::palette::PackerPalette::pH_mode_
private

Has the pH_mode option been used?

Still more backwarkwards-compatibility malarkey.

Referenced by PackerPalette(), and pH_mode().

bool core::pack::palette::PackerPalette::restore_pre_talaris_behaviour_
private

Has the user specified that pre-talaris behaviour should be restored?

Having to support this is a royal pain in the neck.

Referenced by PackerPalette(), and restore_pre_talaris_behaviour().

std::map< SpecialPackerPaletteBehaviour, bool > core::pack::palette::PackerPalette::special_behaviours_
private

Settings for special behaviours.

Uses the SpecialPackerPaletteBehaviour enum, defined in PackerPalette.hh. Certain enumerated position-specific behaviours are allowed (e.g. preserving special variant types, like phosphorylation, at a position), but generally, TaskOperations should be used for position-specific behaviour, not PackerPalettes.

Referenced by add_residue_types_to_list(), decide_what_to_do_with_base_type(), decide_what_to_do_with_existing_type(), initialize_residue_level_task(), initialize_special_behaviours(), saccharide_backbones_are_compatible(), set_force_existing_base_type(), set_only_design_polymer_residues(), set_only_design_protein_peptoid_dna_saccharide(), and set_up_default_special_behaviours().

utility::vector1< core::chemical::VariantType > core::pack::palette::PackerPalette::terminal_types_
private

List of all VariantTypes that exist that modify termini.

Loaded from core::chemical::get_terminal_types() on PackerPalette creation.

Referenced by decide_what_to_do_with_base_type(), decide_what_to_do_with_existing_type(), and initialize_non_terminal_types().

utility::vector1< std::string > core::pack::palette::PackerPalette::variant_type_names_
private

List of variant type names.


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