Rosetta 3.4
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
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]
Collaboration diagram for protocols::forge::build::SegmentInsert:
Collaboration graph
[legend]

List of all members.

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 Member Functions

 SegmentInsert ()
 default constructor
 SegmentInsert (Interval const &i, String const &ss, Pose const &insert, bool const keep_known_bb_torsions_at_junctions=false, SegmentInsertConnectionScheme::Enum connection_scheme=SegmentInsertConnectionScheme::RANDOM_SIDE)
 sec.struct only constructor (poly-ala for flanking regions)
 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=SegmentInsertConnectionScheme::RANDOM_SIDE)
 sec.struct + aa constructor
 SegmentInsert (SegmentInsert const &rval)
 copy constructor
virtual ~SegmentInsert ()
 default destructor
SegmentInsertoperator= (SegmentInsert const &rval)
 copy assignment
virtual BuildInstructionOP clone () const
 clone this object
bool performing_pure_insertion () const
 performing a pure insertion/extension?
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.
Pose const & insert_pose () const
 the pose to insert
String const & ss () const
 get secondary structure string (includes insertion point as '^')
String const & aa () const
 get annotated amino acid string (includes insertion point as '^')
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
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)
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!)
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!)
Size flanking_left_nres () const
 get the number of flanking residues to the left of the insertion point
Size flanking_right_nres () const
 get the number of flanking residues to the right of the insertion point
String flanking_left_ss () const
 get the ss string of the flanking residues to the left of the insertion point
String flanking_right_ss () const
 get the ss string of the flanking residues to the right of the insertion point
String flanking_left_aa () const
 get the annotated aa string of the flanking residues to the left of the insertion point
String flanking_right_aa () const
 get the annotated aa string of the flanking residues to the right of the insertion point
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.n_residue()]
virtual bool original_interval_valid () const
 is the original interval storing valid information, or is empty or being used for something else?
virtual Interval interval () const
 a copy of the working range of residues specifying the modified region
virtual Positions preexisting_positions () const
 return a copy of the set of positions within the new region that were pre-existing in the original Pose prior to modify()
virtual Positions new_positions () const
 return a copy of the set of positions that are "new" and did not exist in the original Pose.
virtual Positions defined_positions () const
 return a copy of the set of positions within the newly modified region that has a defined conformation. E.g. existing or copied residues.
virtual Positions undefined_positions () const
 return a copy of the set of positions within the newly modified region that has an undefined conformation. E.g. newly created residues.
virtual MoveMap movemap () const
 return a copy of the MoveMap that defines the moveable/fixed positions/dofs for this instruction
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.n_residue()]
virtual void on_residue_append (LengthEvent const &event)
 update indexing on residue append
virtual void on_residue_prepend (LengthEvent const &event)
 update indexing on residue prepend
virtual void on_residue_delete (LengthEvent const &event)
 update indexing on residue delete
virtual Positions original_kept_positions () const
 return the set of positions within the original interval that will be kept in this BuildInstruction
virtual Positions original_deleted_positions () const
 return set of positions within the original interval that will be deleted in this BuildInstruction
virtual Positions original_fixed_positions () const
 return set of any fixed positions necessary with respect to the original interval and original Pose numbering
virtual Positions original_mutable_positions () const
 return set of any mutable positions necessary with respect to the original interval and original Pose numbering
virtual bool creates_undefined_backbone () const
 does this object create undefined backbone in the modified region?

Static Public Member Functions

static char insertion_char ()
 the character representing the insertion point

Protected Member Functions

virtual bool dependencies_satisfied () const
 are dependencies satisfied so that modify_impl() can complete successfully?
virtual void modify_impl (Pose &pose)
 do the actual work of modifying the Pose
virtual void reset_accounting_impl ()
 do the actual reset of intervals, positions, etc to initial state

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

Referenced by clone().

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 = 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 insertion_char(), performing_pure_insertion(), 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 = 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 core::pose::annotated_to_oneletter_sequence(), insertion_char(), performing_pure_insertion(), and protocols::forge::build::TR().

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

copy constructor

protocols::forge::build::SegmentInsert::~SegmentInsert ( ) [virtual]

default destructor


Member Function Documentation

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

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

BuildInstructionOP protocols::forge::build::SegmentInsert::clone ( ) const [virtual]

clone this object

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

References SegmentInsert().

virtual bool protocols::forge::build::SegmentInsert::creates_undefined_backbone ( ) const [inline, virtual]

does this object create undefined backbone in the modified region?

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

SegmentInsert::Positions protocols::forge::build::SegmentInsert::defined_positions ( ) const [virtual]

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

virtual bool protocols::forge::build::SegmentInsert::dependencies_satisfied ( ) const [inline, protected, virtual]

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

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

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

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

Referenced by modify_impl().

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

Referenced by modify_impl().

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

the pose to insert

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.n_residue()]

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 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.n_residue()]

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, core::kinematics::MoveMap::movemap_torsion_id_begin(), core::kinematics::MoveMap::movemap_torsion_id_end(), core::pose::Pose::n_residue(), 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 ( ) [inline, static]
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 insertion_char(), interval(), protocols::forge::build::Interval::left, and core::pose::Pose::n_residue().

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

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

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

Interval protocols::forge::build::SegmentInsert::interval ( ) const [virtual]

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.

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.

void protocols::forge::build::SegmentInsert::modify_impl ( Pose pose) [protected, virtual]

do the actual work of modifying the Pose

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

References protocols::forge::build::SegmentInsertConnectionScheme::C, core::conformation::Residue::clone(), core::pose::Pose::conformation(), core::conformation::Conformation::delete_residue_range_slow(), core::kinematics::dir_jump, 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(), insert_connection_scheme(), core::conformation::Conformation::insert_ideal_geometry_at_polymer_bond(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_upper_terminus(), protocols::forge::build::Interval::left, protocols::forge::build::Interval::length(), protocols::forge::build::SegmentInsertConnectionScheme::N, core::pose::Pose::n_residue(), 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(), protocols::forge::build::RG(), protocols::forge::build::Interval::right, core::pose::Pose::secstruct(), core::pose::Pose::set_omega(), core::pose::Pose::set_phi(), core::pose::Pose::set_psi(), core::pose::Pose::set_secstruct(), and protocols::forge::methods::trans_omega().

SegmentInsert::MoveMap protocols::forge::build::SegmentInsert::movemap ( ) const [virtual]

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

Returns:
TO BE FILLED IN

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

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

References core::id::BB, insert_pose_torsion_override_movemap(), insertion_end_residue(), insertion_start_residue(), interval(), 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(), and core::kinematics::MoveMap::set_bb().

SegmentInsert::Positions protocols::forge::build::SegmentInsert::new_positions ( ) const [virtual]

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) [virtual]
void protocols::forge::build::SegmentInsert::on_residue_delete ( LengthEvent const &  event) [virtual]
void protocols::forge::build::SegmentInsert::on_residue_prepend ( LengthEvent const &  event) [virtual]
SegmentInsert & protocols::forge::build::SegmentInsert::operator= ( SegmentInsert const &  rval)
SegmentInsert::Positions protocols::forge::build::SegmentInsert::original_deleted_positions ( ) const [virtual]

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 [virtual]

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

virtual bool protocols::forge::build::SegmentInsert::original_interval_valid ( ) const [inline, virtual]

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 [virtual]

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 [virtual]

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 [virtual]

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 ( ) [protected, virtual]

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

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

References protocols::forge::build::BuildInstruction::original_interval().

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

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

SegmentInsert::Positions protocols::forge::build::SegmentInsert::undefined_positions ( ) const [virtual]

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines