Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
protocols::denovo_design::components::IdealAbegoGenerator Class Reference

Logic for selection of abego values. More...

#include <IdealAbegoGenerator.hh>

Inheritance diagram for protocols::denovo_design::components::IdealAbegoGenerator:
Inheritance graph
[legend]

Public Types

typedef Segment Motif
 
typedef SegmentOP MotifOP
 
typedef utility::vector1< MotifOPMotifOPs
 
typedef std::set< core::SizeLengthSet
 
typedef std::string Abego
 
typedef utility::vector1
< std::string > 
Abegos
 
typedef std::map< std::string,
Abegos
SecstructAbegoMap
 

Public Member Functions

 IdealAbegoGenerator (std::string const &id_val)
 
 ~IdealAbegoGenerator () override
 
IdealAbegoGeneratorOP clone () const
 
MotifOPs generate (char abego1, char abego2, LengthSet const &lenset, LengthSet const &cutpoint_set) const
 Given desired lengths, compute a set of idealized loop motifs via Nobu/Rie/YuRu rules. More...
 
bool extend_ss (char const secstruct) const
 Returns true if the given SS type should be extended or not. More...
 
void set_extend_ss (std::string const &extend_ss)
 if true, secondary structure may be extended to close the loop. Overall size of the insert will not change. Therefore, a 4 residue loop might extend a helix by 2 residues and have a 2-residue ideal loop if extend_ss is true. If extend_ss is false, a 4 residue loop must have four loop residues. More...
 
void set_hh_rules_2021 (bool const use_hh_rules)
 if true, the connection rules from https://doi.org/10.1101/2021.03.10.434454 will be used.. If false, all possible abego combinations will be sampled More...
 
Abegos retrieve_loop_abegos (char const abego1, char const abego2) const
 

Private Member Functions

MotifOPs add_cutpoints (MotifOPs const &orig, LengthSet const &cutpoint_set) const
 takes a list of motifs without cutpoints and generates all permutations with cutpoints from cutpoint_set More...
 
MotifOPs extract_ideal_motifs (Abegos const &abegolist, LengthSet const &lenset) const
 
void note_fwd_element_extensions (Motif &motif, char const sschar, char const element_abego) const
 
void note_rev_element_extensions (Motif &motif, char const sschar, char const element_abego) const
 
 IdealAbegoGenerator ()
 

Static Private Member Functions

static Abegos generate_extended_abegos (Abegos const &no_extension_loops, char const abego_n, char const abego_c)
 

Private Attributes

std::string segment_name_
 
std::string extend_ss_ = "1"
 
bool match_ss_to_abego_ = false
 
bool use_hh_rules_2021_ = true
 
SecstructAbegoMap extended_abegos_
 

Static Private Attributes

static Abegos const ab_no_extension = { "GB", "GBA", "BAA", "GBB", "GBAB", "BAAB" }
 
static Abegos const ba_no_extension = { "AB", "GBB", "BAB" }
 
static Abegos const bb_no_extension = { "GG", "EA", "AA", "AAG" }
 
static Abegos const aa_no_extension
 
static Abegos const aa_no_extension_all
 
static std::map< char,
core::Size > const 
extension_lengths
 

Detailed Description

Logic for selection of abego values.

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::denovo_design::components::IdealAbegoGenerator::IdealAbegoGenerator ( std::string const &  id_val)
protocols::denovo_design::components::IdealAbegoGenerator::~IdealAbegoGenerator ( )
overridedefault
protocols::denovo_design::components::IdealAbegoGenerator::IdealAbegoGenerator ( )
inlineprivate

Member Function Documentation

IdealAbegoGenerator::MotifOPs protocols::denovo_design::components::IdealAbegoGenerator::add_cutpoints ( MotifOPs const &  orig,
LengthSet const &  cutpoint_set 
) const
private

takes a list of motifs without cutpoints and generates all permutations with cutpoints from cutpoint_set

Parameters
[in]origList of motifs without cutpoints
[in]cutpoint_setSet of loop-relative indices of cutpoint residues
Returns
MotifOPs of all motifs in orig with all possible cutpoints in cutpoint_set

References core::pack::dunbrack::c.

Referenced by generate().

IdealAbegoGeneratorOP protocols::denovo_design::components::IdealAbegoGenerator::clone ( ) const
bool protocols::denovo_design::components::IdealAbegoGenerator::extend_ss ( char const  secstruct) const

Returns true if the given SS type should be extended or not.

References extend_ss_.

Referenced by retrieve_loop_abegos(), and set_extend_ss().

IdealAbegoGenerator::MotifOPs protocols::denovo_design::components::IdealAbegoGenerator::extract_ideal_motifs ( Abegos const &  abegolist,
LengthSet const &  lenset 
) const
private
IdealAbegoGenerator::MotifOPs protocols::denovo_design::components::IdealAbegoGenerator::generate ( char  abego1,
char  abego2,
LengthSet const &  lenset,
LengthSet const &  cutpoint_set 
) const

Given desired lengths, compute a set of idealized loop motifs via Nobu/Rie/YuRu rules.

Given lengths and abegos to connect, generate a list of motifs.

Parameters
[in]abego1Abego of residue immediately before the loop
[in]abego2Abego of residue immediately after the loop
[in]lensetSet of allowed loop lengths
[in]cutpoint_setSet of allowed cutpoint residues. A value of N indicates the Nth residue of the loop is a LOWER_CUTPOINT and the (N+1)th residue is an UPPER_CUTPOINT
Returns
MotifOPs of all ideal loops with given lengths/cutpoints connecting two residues of the given abegos

If extend_ss is true, "extension" of SS elements by adding residues of the same abego type is allowed. For example, connecting A–>A, you might get a 4-residue loop of type A-ABGA-A. If false, only different abegos are allowed, and you might get a 4-residue loop of type A-BGAB-A

Parameters
[in]abego1Abego of residue immediately before the loop
[in]abego2Abego of residue immediately after the loop
[in]lensetSet of allowed loop lengths
Returns
MotifOPs of all ideal loops with given lengths/cutpoints connecting two residues of the given abegos Given desired lengths, compute a set of idealized loop motifs via Nobu/Rie/YuRu rules
Parameters
[in]abego1Abego of residue immediately before the loop
[in]abego2Abego of residue immediately after the loop
[in]lensetSet of allowed loop lengths
[in]cutpoint_setSet of allowed cutpoint residues. A value of N indicates the Nth residue of the loop is a LOWER_CUTPOINT and the (N+1)th residue is an UPPER_CUTPOINT
Returns
MotifOPs of all ideal loops with given lengths/cutpoints connecting two residues of the given abegos

If extend_ss is true, "extension" of SS elements by adding residues of the same abego type is allowed. For example, connecting A–>A, you might get a 4-residue loop of type A-ABGA-A. If false, only different abegos are allowed, and you might get a 4-residue loop of type A-BGAB-A

References core::scoring::abego, add_cutpoints(), extract_ideal_motifs(), protocols::denovo_design::components::get_secstruct_from_abego(), match_ss_to_abego_, note_fwd_element_extensions(), note_rev_element_extensions(), retrieve_loop_abegos(), protocols::TR(), and use_hh_rules_2021_.

IdealAbegoGenerator::Abegos protocols::denovo_design::components::IdealAbegoGenerator::generate_extended_abegos ( Abegos const &  no_extension_loops,
char const  abego_n,
char const  abego_c 
)
staticprivate

References extension_lengths.

Referenced by IdealAbegoGenerator().

void protocols::denovo_design::components::IdealAbegoGenerator::note_fwd_element_extensions ( Motif motif,
char const  sschar,
char const  element_abego 
) const
private
void protocols::denovo_design::components::IdealAbegoGenerator::note_rev_element_extensions ( Motif motif,
char const  sschar,
char const  element_abego 
) const
private
IdealAbegoGenerator::Abegos protocols::denovo_design::components::IdealAbegoGenerator::retrieve_loop_abegos ( char const  abego1,
char const  abego2 
) const

References extend_ss(), extended_abegos_, and protocols::TR().

Referenced by generate().

void protocols::denovo_design::components::IdealAbegoGenerator::set_extend_ss ( std::string const &  extend_ss)

if true, secondary structure may be extended to close the loop. Overall size of the insert will not change. Therefore, a 4 residue loop might extend a helix by 2 residues and have a 2-residue ideal loop if extend_ss is true. If extend_ss is false, a 4 residue loop must have four loop residues.

References extend_ss(), and extend_ss_.

void protocols::denovo_design::components::IdealAbegoGenerator::set_hh_rules_2021 ( bool const  use_hh_rules)
inline

if true, the connection rules from https://doi.org/10.1101/2021.03.10.434454 will be used.. If false, all possible abego combinations will be sampled

References use_hh_rules_2021_.

Member Data Documentation

IdealAbegoGenerator::Abegos const protocols::denovo_design::components::IdealAbegoGenerator::aa_no_extension
staticprivate
Initial value:
= {
"B", "G",
"BB", "GB",
"BAB", "GBB", "BBG",
"BAAB",
}

Referenced by IdealAbegoGenerator().

IdealAbegoGenerator::Abegos const protocols::denovo_design::components::IdealAbegoGenerator::aa_no_extension_all
staticprivate
Initial value:
= {
"B", "G",
"BB", "BG", "GB", "GG",
"BBB", "BBG", "BGB", "BGG", "BAB", "BAG",
"GBB", "GBG", "GGB", "GGG", "GAB", "GAG",
"BBBB", "BBBG", "BBGB", "BBGG", "BBAB", "BBAG",
"BGBB", "BGBG", "BGGB", "BGGG", "BGAB", "BGAG",
"BABB", "BABG", "BAGB", "BAGG", "BAAB", "BAAG",
"GBBB", "GBBG", "GBGB", "GBGG", "GBAB", "GBAG",
"GGBB", "GGBG", "GGGB", "GGGG", "GGAB", "GGAG",
"GABB", "GABG", "GAGB", "GAGG", "GAAB", "GAAG"
}

Referenced by IdealAbegoGenerator().

IdealAbegoGenerator::Abegos const protocols::denovo_design::components::IdealAbegoGenerator::ab_no_extension = { "GB", "GBA", "BAA", "GBB", "GBAB", "BAAB" }
staticprivate

Referenced by IdealAbegoGenerator().

IdealAbegoGenerator::Abegos const protocols::denovo_design::components::IdealAbegoGenerator::ba_no_extension = { "AB", "GBB", "BAB" }
staticprivate

Referenced by IdealAbegoGenerator().

IdealAbegoGenerator::Abegos const protocols::denovo_design::components::IdealAbegoGenerator::bb_no_extension = { "GG", "EA", "AA", "AAG" }
staticprivate

Referenced by IdealAbegoGenerator().

std::string protocols::denovo_design::components::IdealAbegoGenerator::extend_ss_ = "1"
private

Referenced by extend_ss(), and set_extend_ss().

SecstructAbegoMap protocols::denovo_design::components::IdealAbegoGenerator::extended_abegos_
private
std::map< char, core::Size > const protocols::denovo_design::components::IdealAbegoGenerator::extension_lengths
staticprivate
Initial value:
= boost::assign::map_list_of
( '-', 0 ) ( 'B', 1 ) ( 'A', 3 )

Referenced by generate_extended_abegos().

bool protocols::denovo_design::components::IdealAbegoGenerator::match_ss_to_abego_ = false
private

Referenced by generate().

std::string protocols::denovo_design::components::IdealAbegoGenerator::segment_name_
private

Referenced by extract_ideal_motifs().

bool protocols::denovo_design::components::IdealAbegoGenerator::use_hh_rules_2021_ = true
private

Referenced by generate(), and set_hh_rules_2021().


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