Rosetta
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
protocols::forge::build::SegmentRebuild Class Reference

instruction to rebuild a segment More...

#include <SegmentRebuild.hh>

Inheritance diagram for protocols::forge::build::SegmentRebuild:
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< BuildInstructionCAPBuildInstructionCAPs
 
typedef utility::signals::Link Link
 
typedef std::set< core::SizePositions
 
typedef std::string String
 

Public Member Functions

 SegmentRebuild ()
 default constructor More...
 
 SegmentRebuild (Interval const &i, String const &ss, ResidueTypeSetCAP rts=core::chemical::ChemicalManager::get_instance() ->residue_type_set(core::chemical::FA_STANDARD), bool const keep_known_bb_torsions_at_junctions=false)
 sec.struct only constructor (poly-alanine for new region) More...
 
 SegmentRebuild (Interval const &i, String const &ss, String const &aa, ResidueTypeSetCAP rts=core::chemical::ChemicalManager::get_instance() ->residue_type_set(core::chemical::FA_STANDARD), bool const keep_known_bb_torsions_at_junctions=false)
 full constructor More...
 
 SegmentRebuild (SegmentRebuild const &rval)
 copy constructor More...
 
 ~SegmentRebuild () override
 default destructor More...
 
SegmentRebuildoperator= (SegmentRebuild const &rval)
 copy assignment More...
 
BuildInstructionOP clone () const override
 clone this object More...
 
String const & ss () const
 get secondary structure string More...
 
String const & aa () const
 get annotated amino acid string More...
 
bool keep_known_bb_torsions_at_junctions () const
 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? Default False. 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 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...
 

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 Attributes

Interval interval_
 the working range of residues More...
 
String ss_
 secondary structure string, also defines length of extension More...
 
String aa_
 annotated amino acid string, length of the one-letter version must be equal to length of ss 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? More...
 

Detailed Description

instruction to rebuild a segment

Remarks
Handles both cut based rebuilding (i.e. loops) and continuous rebuilding adjacent to the boundary of a chain, such as n-term/c-term extensions.

Member Typedef Documentation

◆ LengthEvent

◆ MoveMap

◆ Pose

◆ Positions

◆ Real

◆ ResidueTypeSetCAP

◆ Size

◆ String

◆ Super

Constructor & Destructor Documentation

◆ SegmentRebuild() [1/4]

protocols::forge::build::SegmentRebuild::SegmentRebuild ( )

default constructor

◆ SegmentRebuild() [2/4]

protocols::forge::build::SegmentRebuild::SegmentRebuild ( Interval const &  i,
String const &  ss,
ResidueTypeSetCAP  rts = core::chemical::ChemicalManager::get_instance()->residue_type_setcore::chemical::FA_STANDARD ),
bool const  keep_known_bb_torsions_at_junctions = false 
)

sec.struct only constructor (poly-alanine for new region)

Parameters
[in]intervalrebuild this range of residues
[in]ssthe secondary structure desired, also defines length of new build region
[in]rtsthe residue type set to use, default FA_STANDARD
[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.
Remarks
length of the one-letter aa must equal the length of ss

References aa_, core::pose::annotated_to_oneletter_sequence(), and ss_.

◆ SegmentRebuild() [3/4]

protocols::forge::build::SegmentRebuild::SegmentRebuild ( Interval const &  i,
String const &  ss,
String const &  aa,
ResidueTypeSetCAP  rts = core::chemical::ChemicalManager::get_instance()->residue_type_setcore::chemical::FA_STANDARD ),
bool const  keep_known_bb_torsions_at_junctions = false 
)

full constructor

Parameters
[in]intervalrebuild this range of residues
[in]ssthe secondary structure desired, also defines length of new build region
[in]aathe annotated amino acid sequence desired, default is poly-alanine
[in]rtsthe residue type set to use, default FA_STANDARD
[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.
Remarks
length of the one-letter aa must equal the length of ss

References aa_, core::pose::annotated_to_oneletter_sequence(), and ss_.

◆ SegmentRebuild() [4/4]

protocols::forge::build::SegmentRebuild::SegmentRebuild ( SegmentRebuild const &  rval)
default

copy constructor

◆ ~SegmentRebuild()

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

default destructor

Member Function Documentation

◆ aa()

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

get annotated amino acid string

References aa_.

◆ clone()

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

clone this object

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

◆ creates_undefined_backbone()

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

does this object create undefined backbone in the modified region?

Returns
true

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

◆ defined_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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.

Returns
An empty set – no positions are defined.

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

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

◆ dependencies_satisfied()

bool protocols::forge::build::SegmentRebuild::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.

◆ interval()

Interval protocols::forge::build::SegmentRebuild::interval ( ) const
inlineoverridevirtual

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

Remarks
this can change if listening to Conformation LengthEvents

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

References interval_.

Referenced by movemap(), and new_positions().

◆ keep_known_bb_torsions_at_junctions()

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

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? Default False.

References keep_known_bb_torsions_at_junctions_.

◆ modify_impl()

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

do the actual work of modifying the Pose

There are two cases:

  • internal rebuild where no residue of the segment is a terminus
  • boundary rebuild where one residue of the segment is a terminus

In the case of an internal rebuild, the old segment will be removed and a new segment containing a random cutpoint will be inserted. The new jump will be created between (left-1) and (right+1) of the new segment.

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

References core::conformation::Residue::aa(), aa_, core::chemical::aa_vrt, core::kinematics::FoldTree::add_edge(), core::pose::add_lower_terminus_type_to_pose_residue(), core::pose::add_upper_terminus_type_to_pose_residue(), core::conformation::Residue::atom_name(), protocols::forge::build::BuildInstruction::attach_to(), core::kinematics::FoldTree::begin(), core::conformation::Conformation::chain_endings(), core::pose::Pose::clear(), protocols::forge::methods::closest_larger_peptide_vertex(), protocols::forge::methods::closest_smaller_peptide_vertex(), core::pose::Pose::conformation(), protocols::sparta::contains(), core::conformation::Conformation::delete_chain_ending(), core::kinematics::FoldTree::delete_edge(), core::conformation::Conformation::delete_residue_range_slow(), core::kinematics::dir_jump, core::kinematics::FoldTree::end(), protocols::forge::methods::find_connecting_jump(), core::pose::Pose::fold_tree(), core::conformation::get_anchor_atomno(), protocols::forge::methods::grow_left_rtype(), protocols::forge::methods::grow_right_rtype(), core::conformation::idealize_position(), interval_, core::kinematics::FoldTree::is_cutpoint(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_upper_terminus(), core::kinematics::FoldTree::jump_edge(), protocols::forge::methods::jumps_and_cuts_from_pose(), protocols::forge::methods::jumps_connected_to_position(), keep_known_bb_torsions_at_junctions_, protocols::forge::build::Interval::left, protocols::forge::build::BuildInstruction::length_obs_link(), protocols::mean_field::max(), protocols::mean_field::min(), core::kinematics::FoldTree::new_jump(), core::conformation::Conformation::num_chains(), core::pose::Pose::num_jump(), core::pose::Pose::omega(), protocols::forge::methods::order(), protocols::forge::build::BuildInstruction::original_interval(), core::pose::Pose::pdb_info(), core::pose::Pose::phi(), core::pose::Pose::psi(), protocols::forge::methods::remove_cutpoint_variants(), core::kinematics::FoldTree::reorder(), 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::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), core::pose::Pose::set_secstruct(), core::pose::Pose::size(), ss_, core::kinematics::Edge::start(), core::kinematics::Edge::start_atom(), core::kinematics::Edge::stop(), core::kinematics::Edge::stop_atom(), protocols::forge::methods::trans_omega(), and core::kinematics::FoldTree::tree_from_jumps_and_cuts().

◆ movemap()

SegmentRebuild::MoveMap protocols::forge::build::SegmentRebuild::movemap ( ) const
overridevirtual

return a copy of the MoveMap that defines the moveable/fixed positions/dofs for this instruction

Returns
a MoveMap with [interval.left, interval.right] bb & chi set to true at the MoveMapTorsionID level

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

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

References core::id::BB, core::sequence::end, interval(), keep_known_bb_torsions_at_junctions_, protocols::forge::build::Interval::left, core::id::omega_torsion(), core::id::phi_torsion(), core::id::psi_torsion(), protocols::forge::build::Interval::right, core::kinematics::MoveMap::set(), core::kinematics::MoveMap::set_bb(), and core::kinematics::MoveMap::set_chi().

◆ new_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::new_positions ( ) const
overridevirtual

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

Returns
A set of positions spanning the entire modified interval – all positions are undefined.

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

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

Referenced by undefined_positions().

◆ on_residue_append()

void protocols::forge::build::SegmentRebuild::on_residue_append ( LengthEvent const &  event)
overridevirtual

update indexing on residue append

Remarks
left and right endpoints of the interval can travel independently

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

References interval_, protocols::forge::build::Interval::left, core::conformation::signals::LengthEvent::position, and protocols::forge::build::Interval::right.

◆ on_residue_delete()

void protocols::forge::build::SegmentRebuild::on_residue_delete ( LengthEvent const &  event)
overridevirtual

◆ on_residue_prepend()

void protocols::forge::build::SegmentRebuild::on_residue_prepend ( LengthEvent const &  event)
overridevirtual

update indexing on residue prepend

Remarks
left and right endpoints of the interval can travel independently

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

References interval_, protocols::forge::build::Interval::left, core::conformation::signals::LengthEvent::position, and protocols::forge::build::Interval::right.

◆ operator=()

SegmentRebuild & protocols::forge::build::SegmentRebuild::operator= ( SegmentRebuild const &  rval)

◆ original_deleted_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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 original interval.

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

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

◆ original_fixed_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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. If SegmentRebuild has dependencies, the set of positions shrinks from the endpoints of [original_left - 1, original_right + 1] down to an empty set in the assumption that the user is requesting an advanced feature and knows what they're doing around the endpoints, e.g. rebuilding directly adjacent to a swapped out section.
Returns
empty set if no fixed positions
Remarks
Used for ensuring build regions for instructions do not overlap and so that jumps may be placed correctly. If SegmentRebuild has dependencies, the set of positions shrinks from the endpoints of [original_left - 1, original_right + 1] down to an empty set in the assumption that the user is requesting an advanced feature and knows what they're doing around the endpoints, e.g. rebuilding directly adjacent to a swapped out section.
Returns
empty set if no fixed positions necessary

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

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

◆ original_interval_valid()

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

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

Returns
true, stores valid interval

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

◆ original_kept_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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.

◆ original_mutable_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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.
Returns
empty set if no mutable positions

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

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

◆ preexisting_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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 – no positions are pre-existing.

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

◆ reset_accounting_impl()

void protocols::forge::build::SegmentRebuild::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().

◆ ss()

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

get secondary structure string

References ss_.

◆ undefined_positions()

SegmentRebuild::Positions protocols::forge::build::SegmentRebuild::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.

Returns
A set of positions spanning the entire modified interval – all positions are undefined.

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

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

References new_positions().

Member Data Documentation

◆ aa_

String protocols::forge::build::SegmentRebuild::aa_
private

annotated amino acid string, length of the one-letter version must be equal to length of ss

Referenced by aa(), modify_impl(), operator=(), and SegmentRebuild().

◆ interval_

Interval protocols::forge::build::SegmentRebuild::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().

◆ keep_known_bb_torsions_at_junctions_

bool protocols::forge::build::SegmentRebuild::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?

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 operator=().

◆ ss_

String protocols::forge::build::SegmentRebuild::ss_
private

secondary structure string, also defines length of extension

Referenced by modify_impl(), operator=(), SegmentRebuild(), and ss().


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