Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
protocols::forge::build::SegmentInsert Class Reference

insert an external segment flanked by new regions More...

#include <SegmentInsert.hh>

Inheritance diagram for protocols::forge::build::SegmentInsert:
Inheritance graph
[legend]

Public Types

typedef Super::Size Size
 
typedef Super::Real Real
 
typedef Super::ResidueTypeSetCAP ResidueTypeSetCAP
 
typedef Super::LengthEvent LengthEvent
 
typedef Super::MoveMap MoveMap
 
typedef Super::Pose Pose
 
typedef Super::Positions Positions
 
typedef Super::String String
 
- Public Types inherited from protocols::forge::build::BuildInstruction
typedef core::Size Size
 
typedef core::Real Real
 
typedef
core::chemical::ResidueTypeSet 
ResidueTypeSet
 
typedef
core::chemical::ResidueTypeSetCAP 
ResidueTypeSetCAP
 
typedef
core::chemical::ResidueTypeSetCOP 
ResidueTypeSetCOP
 
typedef
core::conformation::signals::LengthEvent 
LengthEvent
 
typedef core::kinematics::MoveMap MoveMap
 
typedef core::pose::Pose Pose
 
typedef utility::vector1
< BuildInstructionCAP
BuildInstructionCAPs
 
typedef utility::signals::Link Link
 
typedef std::set< core::SizePositions
 
typedef std::string String
 

Public Member Functions

 SegmentInsert ()
 default constructor More...
 
 SegmentInsert (Interval const &i, String const &ss, Pose const &insert, bool const keep_known_bb_torsions_at_junctions=false, SegmentInsertConnectionScheme::Enum connection_scheme=protocols::forge::build::SegmentInsertConnectionScheme::RANDOM_SIDE)
 sec.struct only constructor (poly-ala for flanking regions) More...
 
 SegmentInsert (Interval const &i, String const &ss, String const &aa, Pose const &insert, bool const keep_known_bb_torsions_at_junctions=false, SegmentInsertConnectionScheme::Enum connection_scheme=protocols::forge::build::SegmentInsertConnectionScheme::RANDOM_SIDE)
 sec.struct + aa constructor More...
 
 SegmentInsert (SegmentInsert const &rval)
 copy constructor More...
 
 ~SegmentInsert () override
 default destructor More...
 
SegmentInsertoperator= (SegmentInsert const &rval)
 copy assignment More...
 
BuildInstructionOP clone () const override
 clone this object More...
 
bool performing_pure_insertion () const
 performing a pure insertion/extension? More...
 
bool keep_known_bb_torsions_at_junctions () const
 Attempt to keep the phi at original_interval().left and the psi+omega at original_interval().right present from the original Pose in the modified Pose? Not applicable for pure insertions. Default False. More...
 
Pose const & insert_pose () const
 the pose to insert More...
 
String const & ss () const
 get secondary structure string (includes insertion point as '^') More...
 
String const & aa () const
 get annotated amino acid string (includes insertion point as '^') More...
 
SegmentInsertConnectionScheme::Enum insert_connection_scheme () const
 get the insert connection scheme – whether the insertion will be glued on the N-side, C-side, or if SegmentInsert will pick randomly between the two More...
 
core::Size insertion_point_absolute_index () const
 get the absolute index of the insertion point with respect to the flanking regions (i.e. the index inside the ss string) More...
 
core::Size insertion_start_residue () const
 get the residue at the start of the insertion relative to the modified interval (flanking positions are not part of the insertion!) More...
 
core::Size insertion_end_residue () const
 get the residue at the end of the insertion relative to the modified interval (flanking positions are not part of the insertion!) More...
 
core::Size flanking_left_nres () const
 get the number of flanking residues to the left of the insertion point More...
 
core::Size flanking_right_nres () const
 get the number of flanking residues to the right of the insertion point More...
 
String flanking_left_ss () const
 get the ss string of the flanking residues to the left of the insertion point More...
 
String flanking_right_ss () const
 get the ss string of the flanking residues to the right of the insertion point More...
 
String flanking_left_aa () const
 get the annotated aa string of the flanking residues to the left of the insertion point More...
 
String flanking_right_aa () const
 get the annotated aa string of the flanking residues to the right of the insertion point More...
 
MoveMap const & insert_pose_torsion_override_movemap () const
 a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()] More...
 
bool original_interval_valid () const override
 is the original interval storing valid information, or is empty or being used for something else? More...
 
Interval interval () const override
 a copy of the working range of residues specifying the modified region More...
 
Positions preexisting_positions () const override
 return a copy of the set of positions within the new region that were pre-existing in the original Pose prior to modify() More...
 
Positions new_positions () const override
 return a copy of the set of positions that are "new" and did not exist in the original Pose. More...
 
Positions defined_positions () const override
 return a copy of the set of positions within the newly modified region that has a defined conformation. E.g. existing or copied residues. More...
 
Positions undefined_positions () const override
 return a copy of the set of positions within the newly modified region that has an undefined conformation. E.g. newly created residues. More...
 
MoveMap movemap () const override
 return a copy of the MoveMap that defines the moveable/fixed positions/dofs for this instruction More...
 
void insert_pose_torsion_override_movemap (MoveMap const &mm)
 set a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()] More...
 
void on_residue_append (LengthEvent const &event) override
 update indexing on residue append More...
 
void on_residue_prepend (LengthEvent const &event) override
 update indexing on residue prepend More...
 
void on_residue_delete (LengthEvent const &event) override
 update indexing on residue delete More...
 
Positions original_kept_positions () const override
 return the set of positions within the original interval that will be kept in this BuildInstruction More...
 
Positions original_deleted_positions () const override
 return set of positions within the original interval that will be deleted in this BuildInstruction More...
 
Positions original_fixed_positions () const override
 return set of any fixed positions necessary with respect to the original interval and original Pose numbering More...
 
Positions original_mutable_positions () const override
 return set of any mutable positions necessary with respect to the original interval and original Pose numbering More...
 
bool creates_undefined_backbone () const override
 does this object create undefined backbone in the modified region? More...
 
- Public Member Functions inherited from protocols::forge::build::BuildInstruction
 BuildInstruction ()
 default constructor More...
 
 BuildInstruction (Interval const &i, ResidueTypeSetCAP rts=core::chemical::ChemicalManager::get_instance() ->residue_type_set(core::chemical::FA_STANDARD))
 interval constructor More...
 
 BuildInstruction (BuildInstruction const &rval)
 copy constructor More...
 
 ~BuildInstruction () override
 default destructor More...
 
BuildInstructionoperator= (BuildInstruction const &rval)
 copy assignment More...
 
BuildInstructionState::Enum modify (Pose &pose)
 modify this pose More...
 
BuildInstructionState::Enum state () const
 return the state of this BuildInstruction More...
 
bool ready () const
 Is the BuildInstruction's state at READY? More...
 
bool waiting_on_dependencies () const
 Is the BuildInstruction's state at WAITING_ON_DEPENDENCIES? More...
 
bool modify_was_successful () const
 Is the BuildInstruction's state at MODIFY_WAS_SUCCESSFUL? More...
 
void attach_to (Pose &pose)
 attach to a Pose's conformation More...
 
void detach_from ()
 detach from a Pose's conformation More...
 
void on_length_change (LengthEvent const &event)
 update any indexing wrt length change to Pose/Conformation being watched More...
 
bool detach_after_modify () const
 detach after modify()? More...
 
Interval const & original_interval () const
 return original residue range of this instruction More...
 
ResidueTypeSet const & residue_type_set () const
 the residue type set being used More...
 
bool has_dependencies () const
 does this BuildInstruction have dependencies? More...
 
core::Size n_dependencies () const
 the number of dependencies this BuildInstruction has More...
 
BuildInstructionCAPs const & dependencies () const
 the list of instructions whose modify() must complete before the modify() for this instruction may be called successfully More...
 
void detach_after_modify (bool const flag)
 set detach after modify() More...
 
void reset_accounting ()
 reset intervals, positions, etc to initial state and drop observers. State set to READY. More...
 
virtual void add_dependency_to (BuildInstructionCAP i)
 add an instruction to this BuildInstruction's dependency list More...
 
virtual bool dependent_on (BuildInstructionCAP i) const
 is this instruction dependent upon the given instruction? More...
 
void clear_dependencies ()
 clear the list of dependencies More...
 
virtual bool compatible_with (BuildInstruction const &rval) const
 compares fixed and mutable positions to determine compatibility with another instruction More...
 

Static Public Member Functions

static char insertion_char ()
 the character representing the insertion point More...
 

Protected Member Functions

bool dependencies_satisfied () const override
 are dependencies satisfied so that modify_impl() can complete successfully? More...
 
void modify_impl (Pose &pose) override
 do the actual work of modifying the Pose More...
 
void reset_accounting_impl () override
 do the actual reset of intervals, positions, etc to initial state More...
 
- Protected Member Functions inherited from protocols::forge::build::BuildInstruction
Link const & length_obs_link () const
 access to the Conformation length observer link More...
 
void state (BuildInstructionState::Enum const s)
 set the BuildInstruction's current state More...
 

Private Types

typedef BuildInstruction Super
 

Private Member Functions

void init ()
 init to be called during non-default constructors More...
 

Private Attributes

Interval interval_
 the working range of residues More...
 
String ss_
 secondary structure string defining the flanking regions and the insertion point More...
 
String aa_
 annotated amino acid string including the insertion point More...
 
bool keep_known_bb_torsions_at_junctions_
 Attempt to keep the omega at original_interval().left-1, the phi at original_interval().left and the psi+omega at original_interval().right present from the original Pose in the modified Pose? This should be false for pure insertions. More...
 
SegmentInsertConnectionScheme::Enum insert_connection_scheme_
 connect insertion on its N-side, C-side, or decide randomly between the two (default RANDOM_SIDE) More...
 
Pose insert_pose_
 insert this Pose More...
 
MoveMap insert_pose_torsion_override_movemap_
 a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()] More...
 

Detailed Description

insert an external segment flanked by new regions

Remarks
Similar to SegmentRebuild, but with the addition of a defined segment located in the modified region.

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::forge::build::SegmentInsert::SegmentInsert ( )

default constructor

protocols::forge::build::SegmentInsert::SegmentInsert ( Interval const &  i,
String const &  ss,
Pose const &  insert,
bool const  keep_known_bb_torsions_at_junctions = false,
SegmentInsertConnectionScheme::Enum  connection_scheme = protocols::forge::build::SegmentInsertConnectionScheme::RANDOM_SIDE 
)

sec.struct only constructor (poly-ala for flanking regions)

Parameters
[in]intervalThe interval between which the insert will span. To perform a pure insertion without replacing any residues within a region, use an interval with a zero as the left endpoint, e.g. [0, insert_after_this_residue]. If inserting before the first residue of the Pose then interval = [0,0]. If inserting after the last residue of the Pose then interval = [0, last_residue].
[in]ssThe secondary structure specifying the flanking regions, with a character '^' specifying where the insert is to be placed.
[in]insertThe Pose to insert.
[in]keep_known_bb_torsions_at_junctionsAttempt to keep the omega at original_interval().left-1, the phi at original_interval().left, and the psi+omega at original_interval().right present from the original Pose in the modified Pose. This should be false for pure insertions.
[in]connection_schemeConnect insertion on its N-side, C-side, or decide randomly between the two (default RANDOM).

References aa_, init(), insertion_char(), keep_known_bb_torsions_at_junctions_, performing_pure_insertion(), ss_, and protocols::forge::build::TR().

protocols::forge::build::SegmentInsert::SegmentInsert ( Interval const &  i,
String const &  ss,
String const &  aa,
Pose const &  insert,
bool const  keep_known_bb_torsions_at_junctions = false,
SegmentInsertConnectionScheme::Enum  connection_scheme = protocols::forge::build::SegmentInsertConnectionScheme::RANDOM_SIDE 
)

sec.struct + aa constructor

Parameters
[in]intervalThe interval between which the insert will span. To perform a pure insertion without replacing any residues within a region, use an interval with a zero as the left endpoint, e.g. [0, insert_after_this_residue]. If inserting before the first residue of the Pose then interval = [0,0]. If inserting after the last residue of the Pose then interval = [0, last_residue].
[in]ssThe secondary structure specifying the flanking regions, with a character '^' specifying where the insert is to be placed.
[in]aaThe annotated amino acid string specifying the flanking regions, with a character '^' specifying where the insert is to be placed.
[in]insertThe Pose to insert.
[in]keep_known_bb_torsions_at_junctionsAttempt to keep the omega at original_interval().left-1, the phi at original_interval().left, and the psi+omega at original_interval().right present from the original Pose in the modified Pose. This should be false for pure insertions.
[in]connection_schemeConnect insertion on its N-side, C-side, or decide randomly between the two (default RANDOM).
Remarks
length of the one-letter aa must equal the length of ss

References aa_, core::pose::annotated_to_oneletter_sequence(), init(), insertion_char(), keep_known_bb_torsions_at_junctions_, performing_pure_insertion(), ss_, and protocols::forge::build::TR().

protocols::forge::build::SegmentInsert::SegmentInsert ( SegmentInsert const &  rval)

copy constructor

protocols::forge::build::SegmentInsert::~SegmentInsert ( )
overridedefault

default destructor

Member Function Documentation

String const& protocols::forge::build::SegmentInsert::aa ( ) const
inline

get annotated amino acid string (includes insertion point as '^')

References aa_.

BuildInstructionOP protocols::forge::build::SegmentInsert::clone ( ) const
overridevirtual

clone this object

Implements protocols::forge::build::BuildInstruction.

bool protocols::forge::build::SegmentInsert::creates_undefined_backbone ( ) const
inlineoverridevirtual

does this object create undefined backbone in the modified region?

Implements protocols::forge::build::BuildInstruction.

SegmentInsert::Positions protocols::forge::build::SegmentInsert::defined_positions ( ) const
overridevirtual

return a copy of the set of positions within the newly modified region that has a defined conformation. E.g. existing or copied residues.

This set can change wrt length changes in Pose/Conformation being watched.

Implements protocols::forge::build::BuildInstruction.

References protocols::forge::methods::closed_range(), insertion_end_residue(), and insertion_start_residue().

bool protocols::forge::build::SegmentInsert::dependencies_satisfied ( ) const
inlineoverrideprotectedvirtual

are dependencies satisfied so that modify_impl() can complete successfully?

Returns
always True, this BuildInstruction has no dependencies

Reimplemented from protocols::forge::build::BuildInstruction.

SegmentInsert::String protocols::forge::build::SegmentInsert::flanking_left_aa ( ) const

get the annotated aa string of the flanking residues to the left of the insertion point

References aa_, and insertion_char().

Referenced by modify_impl().

SegmentInsert::Size protocols::forge::build::SegmentInsert::flanking_left_nres ( ) const

get the number of flanking residues to the left of the insertion point

References insertion_char(), and ss_.

Referenced by modify_impl().

SegmentInsert::String protocols::forge::build::SegmentInsert::flanking_left_ss ( ) const

get the ss string of the flanking residues to the left of the insertion point

References insertion_char(), and ss_.

Referenced by modify_impl().

SegmentInsert::String protocols::forge::build::SegmentInsert::flanking_right_aa ( ) const

get the annotated aa string of the flanking residues to the right of the insertion point

References aa_, and insertion_char().

Referenced by modify_impl().

SegmentInsert::Size protocols::forge::build::SegmentInsert::flanking_right_nres ( ) const

get the number of flanking residues to the right of the insertion point

References insertion_char(), and ss_.

Referenced by modify_impl().

SegmentInsert::String protocols::forge::build::SegmentInsert::flanking_right_ss ( ) const

get the ss string of the flanking residues to the right of the insertion point

References insertion_char(), and ss_.

Referenced by modify_impl().

void protocols::forge::build::SegmentInsert::init ( void  )
private
SegmentInsertConnectionScheme::Enum protocols::forge::build::SegmentInsert::insert_connection_scheme ( ) const
inline

get the insert connection scheme – whether the insertion will be glued on the N-side, C-side, or if SegmentInsert will pick randomly between the two

References insert_connection_scheme_.

Referenced by modify_impl().

SegmentInsert::Pose const & protocols::forge::build::SegmentInsert::insert_pose ( ) const

the pose to insert

References insert_pose_.

MoveMap const& protocols::forge::build::SegmentInsert::insert_pose_torsion_override_movemap ( ) const
inline

a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()]

Remarks
When generating the movemap(), this torsion movemap will be enforced. Only explicit settings of TorsionType, MoveMapTorsionID, and TorsionID will be honored. Implicit false settings are ignored.

References insert_pose_torsion_override_movemap_.

Referenced by movemap().

void protocols::forge::build::SegmentInsert::insert_pose_torsion_override_movemap ( MoveMap const &  mm)

set a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()]

Remarks
When generating the movemap(), this torsion movemap will be enforced. Only explicit settings of TorsionType, MoveMapTorsionID, and TorsionID will be honored. Implicit false settings are ignored.

References core::id::BB, core::id::CHI, insert_pose_, insert_pose_torsion_override_movemap_, core::kinematics::MoveMap::movemap_torsion_id_begin(), core::kinematics::MoveMap::movemap_torsion_id_end(), core::pose::Pose::size(), core::kinematics::MoveMap::torsion_id_begin(), core::kinematics::MoveMap::torsion_id_end(), core::kinematics::MoveMap::torsion_type_begin(), core::kinematics::MoveMap::torsion_type_end(), and protocols::forge::build::TR().

static char protocols::forge::build::SegmentInsert::insertion_char ( )
inlinestatic
SegmentInsert::Size protocols::forge::build::SegmentInsert::insertion_end_residue ( ) const

get the residue at the end of the insertion relative to the modified interval (flanking positions are not part of the insertion!)

Returns
the residue position, otherwise 0 if not found

References insert_pose_, insertion_char(), interval(), protocols::forge::build::Interval::left, core::pose::Pose::size(), and ss_.

Referenced by defined_positions(), movemap(), and undefined_positions().

SegmentInsert::Size protocols::forge::build::SegmentInsert::insertion_point_absolute_index ( ) const

get the absolute index of the insertion point with respect to the flanking regions (i.e. the index inside the ss string)

Returns
the index, otherwise std::string::npos if not found

References insertion_char(), and ss_.

SegmentInsert::Size protocols::forge::build::SegmentInsert::insertion_start_residue ( ) const

get the residue at the start of the insertion relative to the modified interval (flanking positions are not part of the insertion!)

Returns
the residue position, otherwise 0 if not found

References insertion_char(), interval(), protocols::forge::build::Interval::left, and ss_.

Referenced by defined_positions(), movemap(), and undefined_positions().

Interval protocols::forge::build::SegmentInsert::interval ( ) const
overridevirtual

a copy of the working range of residues specifying the modified region

This residue range can change wrt length changes in Pose /Conformation being watched.

Implements protocols::forge::build::BuildInstruction.

References interval_.

Referenced by insertion_end_residue(), insertion_start_residue(), movemap(), new_positions(), and undefined_positions().

bool protocols::forge::build::SegmentInsert::keep_known_bb_torsions_at_junctions ( ) const
inline

Attempt to keep the phi at original_interval().left and the psi+omega at original_interval().right present from the original Pose in the modified Pose? Not applicable for pure insertions. Default False.

References keep_known_bb_torsions_at_junctions_.

void protocols::forge::build::SegmentInsert::modify_impl ( Pose pose)
overrideprotectedvirtual

do the actual work of modifying the Pose

Implements protocols::forge::build::BuildInstruction.

References core::kinematics::FoldTree::begin(), core::pose::Pose::begin(), protocols::forge::build::SegmentInsertConnectionScheme::C, core::chemical::element::C, core::conformation::Residue::clone(), core::pose::Pose::conformation(), core::conformation::Conformation::delete_residue_range_slow(), core::kinematics::dir_jump, core::kinematics::FoldTree::end(), protocols::forge::methods::find_connecting_jump(), protocols::forge::methods::find_cutpoint(), flanking_left_aa(), flanking_left_nres(), flanking_left_ss(), flanking_right_aa(), flanking_right_nres(), flanking_right_ss(), core::pose::Pose::fold_tree(), core::conformation::get_anchor_atomno(), protocols::forge::methods::grow_left_r(), protocols::forge::methods::grow_left_rtype(), protocols::forge::methods::grow_right_r(), protocols::forge::methods::grow_right_rtype(), core::conformation::idealize_position(), insert_connection_scheme(), insert_connection_scheme_, core::conformation::Conformation::insert_ideal_geometry_at_polymer_bond(), insert_pose_, interval_, core::kinematics::FoldTree::is_cutpoint(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_upper_terminus(), protocols::forge::methods::jumps_and_cuts_from_pose(), keep_known_bb_torsions_at_junctions_, protocols::forge::build::Interval::left, protocols::forge::build::Interval::length(), protocols::mean_field::max(), protocols::mean_field::min(), protocols::forge::build::SegmentInsertConnectionScheme::N, core::chemical::element::N, core::pose::Pose::num_jump(), core::pose::Pose::omega(), protocols::forge::methods::order(), protocols::forge::build::BuildInstruction::original_interval(), core::pose::Pose::pdb_info(), performing_pure_insertion(), core::pose::Pose::phi(), core::pose::Pose::psi(), protocols::forge::build::SegmentInsertConnectionScheme::RANDOM_SIDE, core::pose::Pose::residue(), protocols::forge::build::BuildInstruction::residue_type_set(), core::pose::residue_types_from_sequence(), core::scoring::rg, protocols::forge::build::Interval::right, core::kinematics::FoldTree::root(), core::pose::Pose::secstruct(), core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), core::pose::Pose::set_secstruct(), core::pose::Pose::size(), protocols::forge::build::TR(), and protocols::forge::methods::trans_omega().

SegmentInsert::MoveMap protocols::forge::build::SegmentInsert::movemap ( ) const
overridevirtual
SegmentInsert::Positions protocols::forge::build::SegmentInsert::new_positions ( ) const
overridevirtual

return a copy of the set of positions that are "new" and did not exist in the original Pose.

Implements protocols::forge::build::BuildInstruction.

References protocols::forge::methods::closed_range(), interval(), protocols::forge::build::Interval::left, and protocols::forge::build::Interval::right.

void protocols::forge::build::SegmentInsert::on_residue_append ( LengthEvent const &  event)
overridevirtual
void protocols::forge::build::SegmentInsert::on_residue_delete ( LengthEvent const &  event)
overridevirtual
void protocols::forge::build::SegmentInsert::on_residue_prepend ( LengthEvent const &  event)
overridevirtual
SegmentInsert & protocols::forge::build::SegmentInsert::operator= ( SegmentInsert const &  rval)
SegmentInsert::Positions protocols::forge::build::SegmentInsert::original_deleted_positions ( ) const
overridevirtual

return set of positions within the original interval that will be deleted in this BuildInstruction

Returns
A set containing all positions in the open interval (original.left, original.right)

Implements protocols::forge::build::BuildInstruction.

References protocols::forge::methods::closed_range(), core::sequence::left, and protocols::forge::build::BuildInstruction::original_interval().

Referenced by original_mutable_positions().

SegmentInsert::Positions protocols::forge::build::SegmentInsert::original_fixed_positions ( ) const
overridevirtual

return set of any fixed positions necessary with respect to the original interval and original Pose numbering

Remarks
Used for ensuring build regions for instructions do not overlap and so that jumps may be placed correctly.
Returns
empty set if no fixed positions necessary

Implements protocols::forge::build::BuildInstruction.

References core::sequence::left, and protocols::forge::build::BuildInstruction::original_interval().

bool protocols::forge::build::SegmentInsert::original_interval_valid ( ) const
inlineoverridevirtual

is the original interval storing valid information, or is empty or being used for something else?

Returns
always false, original interval invalid

Implements protocols::forge::build::BuildInstruction.

SegmentInsert::Positions protocols::forge::build::SegmentInsert::original_kept_positions ( ) const
overridevirtual

return the set of positions within the original interval that will be kept in this BuildInstruction

Returns
An empty set – no positions are kept.

Implements protocols::forge::build::BuildInstruction.

SegmentInsert::Positions protocols::forge::build::SegmentInsert::original_mutable_positions ( ) const
overridevirtual

return set of any mutable positions necessary with respect to the original interval and original Pose numbering

Remarks
Used for ensuring build regions for instructions do not overlap and so that jumps may be placed correctly.

Implements protocols::forge::build::BuildInstruction.

References original_deleted_positions().

bool protocols::forge::build::SegmentInsert::performing_pure_insertion ( ) const
inline

performing a pure insertion/extension?

Returns
True if SegmentInsert was initialized with an interval whose left endpoint == 0, False otherwise.

References protocols::forge::build::Interval::left, and protocols::forge::build::BuildInstruction::original_interval().

Referenced by modify_impl(), and SegmentInsert().

SegmentInsert::Positions protocols::forge::build::SegmentInsert::preexisting_positions ( ) const
overridevirtual

return a copy of the set of positions within the new region that were pre-existing in the original Pose prior to modify()

Returns
An empty set, there are no pre-existing positions.

Implements protocols::forge::build::BuildInstruction.

void protocols::forge::build::SegmentInsert::reset_accounting_impl ( )
overrideprotectedvirtual

do the actual reset of intervals, positions, etc to initial state

Implements protocols::forge::build::BuildInstruction.

References interval_, and protocols::forge::build::BuildInstruction::original_interval().

String const& protocols::forge::build::SegmentInsert::ss ( ) const
inline

get secondary structure string (includes insertion point as '^')

References ss_.

SegmentInsert::Positions protocols::forge::build::SegmentInsert::undefined_positions ( ) const
overridevirtual

return a copy of the set of positions within the newly modified region that has an undefined conformation. E.g. newly created residues.

This set can change wrt length changes in Pose/Conformation being watched.

Implements protocols::forge::build::BuildInstruction.

References protocols::forge::methods::insert_closed_range(), insertion_end_residue(), insertion_start_residue(), interval(), protocols::forge::build::Interval::left, and protocols::forge::build::Interval::right.

Member Data Documentation

String protocols::forge::build::SegmentInsert::aa_
private

annotated amino acid string including the insertion point

Length of the one-letter version must be equal to length of ss. The insertion point must exist in the same spot as the insertion point in secondary structure string.

Referenced by aa(), flanking_left_aa(), flanking_right_aa(), operator=(), and SegmentInsert().

SegmentInsertConnectionScheme::Enum protocols::forge::build::SegmentInsert::insert_connection_scheme_
private

connect insertion on its N-side, C-side, or decide randomly between the two (default RANDOM_SIDE)

Referenced by insert_connection_scheme(), modify_impl(), and operator=().

Pose protocols::forge::build::SegmentInsert::insert_pose_
private
MoveMap protocols::forge::build::SegmentInsert::insert_pose_torsion_override_movemap_
private

a torsion (bb/chi) specific override movemap indexed wrt the insert Pose (residue indices may only be within the range [1, insert_pose.size()]

Remarks
When generating the movemap(), this torsion movemap will be enforced. Only explicit settings of TorsionType, MoveMapTorsionID, and TorsionID will be honored. Implicit false settings are ignored.

Referenced by insert_pose_torsion_override_movemap(), and operator=().

Interval protocols::forge::build::SegmentInsert::interval_
private

the working range of residues

Remarks
this range can shift if listening to a Pose/Conformation and the number of residues changes

Referenced by interval(), modify_impl(), on_residue_append(), on_residue_delete(), on_residue_prepend(), operator=(), and reset_accounting_impl().

bool protocols::forge::build::SegmentInsert::keep_known_bb_torsions_at_junctions_
private

Attempt to keep the omega at original_interval().left-1, the phi at original_interval().left and the psi+omega at original_interval().right present from the original Pose in the modified Pose? This should be false for pure insertions.

If True, during modify(), will (1) set the omega of interval_.left-1 in the newly modified Pose equal to the omega of the original Pose at original_interval().left-1, (2) set the phi of interval_.left in the newly modified Pose equal to the phi of the original Pose in original_interval().right, and (3) set the psi+omega of interval_.right in the newly modified Pose equal to the original psi+omega of original_interval().right. Default False.

Referenced by keep_known_bb_torsions_at_junctions(), modify_impl(), movemap(), and SegmentInsert().

String protocols::forge::build::SegmentInsert::ss_
private

secondary structure string defining the flanking regions and the insertion point

The insertion point is marked as '^'. For instance, "L^LLL" means one residue to the left of the insertion point and three residues to the right of the insertion point.

Referenced by flanking_left_nres(), flanking_left_ss(), flanking_right_nres(), flanking_right_ss(), insertion_end_residue(), insertion_point_absolute_index(), insertion_start_residue(), operator=(), SegmentInsert(), and ss().


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