Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::kinematics::FoldTree Class Reference

The FoldTree is a residue-based treelike representation of a molecule. More...

#include <FoldTree.hh>

Inheritance diagram for core::kinematics::FoldTree:
Inheritance graph
[legend]
Collaboration diagram for core::kinematics::FoldTree:
Collaboration graph
[legend]

Public Types

typedef std::vector< EdgeEdgeList
 
typedef EdgeList::iterator iterator
 
typedef EdgeList::const_iterator const_iterator
 

Public Member Functions

virtual ~FoldTree ()
 
 FoldTree ()
 constructor More...
 
 FoldTree (int const nres_in)
 Constructs a simple FoldTree. More...
 
FoldTreeoperator= (FoldTree const &src)
 operator= More...
 
Size boundary_left (Size res) const
 Returns the starting residue of the kinematic chunk to which res belongs. More...
 
Size boundary_right (Size res) const
 Returns the ending residue of the kinematic chunk to which res belongs. More...
 
int size () const
 Returns the number of edges in the FoldTree. More...
 
const_iterator begin () const
 begin iterator of the edge_list More...
 
const_iterator end () const
 end iterator of the edge_list More...
 
void show (std::ostream &out) const
 Displays the FoldTree information. More...
 
void add_edge (int const start, int const stop, int const label)
 Adds an edge from <start> to <stop> More...
 
void add_edge (int const start, int const stop, std::string const &start_atom, std::string const &stop_atom)
 Especially useful version of add_edge for chemical edge construction. More...
 
void add_edge (Edge const &new_edge)
 Add the edge <new_edge> More...
 
void delete_edge (iterator edge)
 Deletes the edge <edge> in the FoldTree by iterator. More...
 
void delete_edge (Edge const &edge)
 Delete the edge <edge> in the fold tree by example edge. More...
 
void delete_unordered_edge (int const start, int const stop, int const label)
 Find an edge in fold tree and delete it. More...
 
void update_edge_label (int const start, int const stop, int const old_label, int const new_label)
 Changes the label of an edge in fold tree. More...
 
int edge_label (int const start, int const stop)
 Returns the edge label of the edge from <start> to <stop> More...
 
void clear ()
 Deletes all edge in the FoldTree. More...
 
void renumber_jumps ()
 Renumbers the jump edges in the FoldTree How? More...
 
void delete_self_edges ()
 Deletes edges with start==stop allowable 1->1 edge for single residue FoldTree. More...
 
void delete_extra_vertices ()
 Delete vertices that are no longer necessary any more How is this determined? More...
 
void delete_segment (int const seg_begin, int const seg_end)
 Deletes a continuous segment from <seq_begin> to <seq_end> More...
 
void delete_seqpos (int const seqpos)
 Deletes the residue <seqpos> from the FoldTree. Will rearrange topology if necessary. More...
 
void insert_polymer_residue (int const seqpos, bool const join_lower, bool const join_upper)
 Inserts a polymer residue at position <seqpos> How? More...
 
void insert_residue_by_jump (int const seqpos, int anchor_pos, std::string const &anchor_atom="", std::string const &root_atomno="")
 Inserts a residue attached only by a jump. precondition is that seqpos-1 is a cutpoint. More...
 
void insert_fold_tree_by_jump (FoldTree const &subtree, int const insert_seqpos, int const insert_jumppos, int const anchor_pos, int anchor_jump_number=0, std::string const &anchor_atom="", std::string const &root_atom="")
 Inserts a fold_tree as a subtree. More...
 
void apply_sequence_mapping (id::SequenceMapping const &old2new)
 Renumber all vertices according to an input sequence mapping. More...
 
int new_jump (int const jump_pos1, int const jump_pos2, int const cutpoint)
 Adds a new jump edge from <pos1> to <pos2> with cutpoint <cutpoint> More...
 
void new_chemical_bond (int const anchor_pos, int const root_pos, std::string const &anchor_atom, std::string const &root_atom, int const new_cutpoint)
 
void simple_tree (int const nres_in)
 Produces a 1-edge FoldTree that is <nres_in> long No jumps or extraneous features. More...
 
bool is_simple_tree () const
 Returns true if the FoldTree has 1-edge (non-jump) More...
 
bool random_tree_from_jump_points (int const nres_in, int const num_jump_in, ObjexxFCL::FArray2D_int const &jump_point, ObjexxFCL::FArray1D_float const &cut_bias, int const root_in=1, bool const allow_jump_at_1_or_NRES=false)
 Builds a FoldTree from a list of <jump_points> and random cut points based on some biased probability Returns bool about success. More...
 
bool random_tree_from_jump_points (int const nres_in, int const num_jump_in, ObjexxFCL::FArray2D_int const &jump_point, std::vector< int > const &obligate_cut_points, ObjexxFCL::FArray1D_float const &cut_bias, int const root_in=1, bool const allow_jump_at_1_or_NRES=false)
 Builds a FoldTree from a list of <jump_points> and random cut points based on some biased probability and any user-defined obligate cutpoints Returns bool about success. More...
 
bool tree_from_jumps_and_cuts (int const nres_in, int const num_jump_in, ObjexxFCL::FArray2D_int const &jump_point, ObjexxFCL::FArray1D_int const &cuts, int const root_in=1, bool const verbose=false)
 Constructs a FoldTree from listed <jump point>=""> and <cuts> Returns bool about success. More...
 
void append_residue (bool const attach_by_jump=false, int const jump_anchor_residue=0, std::string const &jump_upstream_atom="", std::string const &jump_downstream_atom="")
 Appends a new residue to the tree, either by a jump or as a continuation of a peptide segment. More...
 
void append_residue_by_chemical_bond (int const anchor_residue, std::string const &anchor_atom, std::string const &root_atom)
 Appends a new residue to the tree using a chemical (APL-style) connection. More...
 
bool reorder (int const start_residue)
 Reorders the FoldTree to start at residue <start_residue> More...
 
bool check_fold_tree () const
 Returns true if this is a valid FoldTree. More...
 
bool connected () const
 Returns true if the FoldTree is connected. More...
 
bool check_edges_for_atom_info () const
 chemical edges should have atom info More...
 
int upstream_jump_residue (int const jump_number) const
 the staring residue for this jump More...
 
int downstream_jump_residue (int const jump_number) const
 the stopping residue for this jump More...
 
void partition_by_jump (int const jump_number, FoldTree &f1, FoldTree &f2) const
 partition into two foldtrees by cutting at jump= jump_number More...
 
void partition_by_jump (int const jump_number, ObjexxFCL::FArray1D_bool &partner1) const
 partition the fold tree in two parts if the jump is disconnected. More...
 
void partition_by_residue (int const seqpos, ObjexxFCL::FArray1D_bool &partner1) const
 partition the fold tree in two parts if a cut would be introduced between seqpos and seqpos+1 More...
 
int cutpoint_by_jump (int const jump_number) const
 Returns the corresponding cutpoint position for jump <jump_number> WARNING: if you look for all cutpoints by cycling thru jump_numbers you may be dissapointed you will get most likely the same cutpoint for several different jump_numbers however: the method cutpoint( nr ) will give you the number you are looking for. More...
 
std::string upstream_atom (int const jump_number) const
 the jump atom on the staring side More...
 
std::string downstream_atom (int const jump_number) const
 the jump atom on the stopping side More...
 
int get_polymer_residue_direction (int const seqpos) const
 Returns the direction (n2c, c2n) in which the given (peptide) residue is built during folding. More...
 
Edge const & get_residue_edge (int const seqpos) const
 Returns the edge that builds the residue <seqpos> Does not work for root atom (will fail) More...
 
utility::vector1< Edgeget_outgoing_edges (int const seqpos) const
 Returns all edges that build a residue directly off of <seqpos> More...
 
int get_jump_that_builds_residue (int const seqpos) const
 Get the number of the jump that builds (connects to) a given residue. More...
 
void set_jump_atoms (int const jump_number, std::string const &upstream_atom, std::string const &downstream_atom, bool bKeepStubInResidue=false)
 define the specific atoms that should be connected by this jump More...
 
void set_jump_atoms (int const jump_number, core::Size res1, std::string const &atom1, core::Size res2, std::string const &atom2, bool bKeepStubInResidue=false)
 
void put_jump_stubs_intra_residue ()
 this reorganizes upstream/downstream atoms of all jumps such that stubs are N-CA-C More...
 
void reassign_atoms_for_intra_residue_stubs ()
 this reorganizes upstream/downstream atoms of jumps that have flag keep_stub_in_resiue = true such that stubs are N-CA-C More...
 
size_t hash_value () const
 
Size nres () const
 Returns the number of residues in the FoldTree. More...
 
Size num_jump () const
 Returns the number of jumps in the FoldTree. More...
 
int jump_point (int const lower_higher, int const jump_number) const
 starting or stopping residue of a jump edge More...
 
bool is_jump_point (int const seqpos) const
 Returns true if <seqpos> is a starting or stopping residue of a jump edge. More...
 
int cutpoint (int const cut) const
 Returns the cutpoint position of jump number <cut> More...
 
int num_cutpoint () const
 Returns the number of cutpoints in the FoldTree. More...
 
bool is_cutpoint (int const seqpos) const
 Returns true is position <seqpos> is a cutpoint. More...
 
int cutpoint_map (int const seqpos) const
 cutpoint number for this residue More...
 
Edge const & jump_edge (int const jump_number) const
 Returns the jump edge with jump number <jump_number> (const) More...
 
Edgejump_edge (int const jump_number)
 Returns the jump edge with jump number <jump_number> (non-const) More...
 
core::Size jump_nr (core::Size upstream_res, core::Size downstream_res) const
 get the jump_nr connected to jump upstream->downstream, returns 0 if not found More...
 
bool empty () const
 Returns true if the FoldTree is empty. More...
 
bool is_root (int const seqpos) const
 Returns true if <seqpos> the the root. More...
 
int root () const
 Returns the root vertex position of the FoldTree. More...
 
bool jump_exists (int const pos1, int const pos2) const
 Return true if a jump exists between <pos1> and <pos2> More...
 
Size count_fixed_residues (Size const begin_res, Size const size, Size &min_edge_count_out) const
 
utility::vector1< intcutpoints () const
 get all cutpoints More...
 
void slide_cutpoint (Size const current_cut, Size const target_cut)
 Slide a polymer cutpoint from one location to another. More...
 
void slide_jump (Size const jump_number, Size const new_res1, Size const new_res2)
 change an existing jump to start and end in new positions More...
 
void delete_jump_and_intervening_cutpoint (int jump_begin, int jump_end)
 Useful for removing a loop modeling jump+cut. More...
 
void delete_jump_and_intervening_cutpoint (int const jump_number)
 Useful for removing a loop modeling jump+cut. More...
 

Private Member Functions

void delete_seqpos_simple (int const seqpos)
 delete a polymer residue (non-jump,non-root) More...
 
void delete_jump_seqpos (int const seqpos)
 delete a root/jump_point residue More...
 
iterator begin ()
 non-const begin iterator of edge_list More...
 
iterator end ()
 non-const end iterator of edge_list More...
 
void add_vertex (int const v)
 Helper function. More...
 
bool check_topology () const
 update fold tree topology (when edges are changed) if necessary More...
 
bool check_order () const
 update fold tree order (when edges are same but the order in the edge_list is changed) if necessary More...
 
void update_nres () const
 update total number residues in the fold tree More...
 
void update_num_jump () const
 update number of jumps in the fold tree More...
 
void update_jump_points () const
 update jump residues list More...
 
void update_jump_edge () const
 update the index of jump edges in the edge list More...
 
void update_cutpoints () const
 update cutpoints info in the fold tree More...
 
void setup_edge_counts () const
 update edge counts info More...
 
void update_edge_labels ()
 update edge labels based on whether edges are separating or not. More...
 
bool cut_edge (int const cut_point)
 helper function to try cutting an edge in a tree. More...
 
bool cut_random_edge (ObjexxFCL::FArray1D_float const &cut_bias_sum, int const nres_in)
 cut an edge randomly based on probability without disconnecting fold tree More...
 

Private Attributes

EdgeList edge_list_
 
bool new_topology
 edges in the edge_list_ have been changed. More...
 
bool new_order
 edges in the edge_list_ have been reorderd. More...
 
int nres_
 just the largest vertex in edge_list_ More...
 
int num_jump_
 number of jump edges (edges in edge_list_ with label>0) More...
 
int num_cutpoint_
 number of cutpoints in the fold tree. More...
 
utility::vector1< std::pair
< int, int > > 
jump_point_
 jump number to jump residue number. dimensioned as (2,num_jump_) More...
 
utility::vector1< boolis_jump_point_
 whehter a residue is a jump_point, dimensioned as nres_ More...
 
utility::vector1< intcutpoint_
 cutpoint number to cutpoint residue number, dimesioned as num_cutpoint_. More...
 
utility::vector1< intcutpoint_map_
 residue number of cutpoint number, 0 if it is not a cutpoint. dimensioned as nres_. More...
 
ObjexxFCL::FArray1D_bool is_cutpoint_
 whether a residue is a cutpoint, dimensioned as nres_ More...
 
utility::vector1< intjump_edge_
 jump number to edge index number in the edge_list_, dimensioned as num_jump_. More...
 
utility::vector1< intedge_count
 dimensioned as nres_, see setup_edge_counts for more info More...
 
int min_edge_count
 the minimum number in edge_count and jump_edge_count. More...
 
utility::vector1< intjump_edge_count
 dimensioned as num_jump, see setup_edge_counts for more info More...
 
boost::hash< std::string > hasher
 

Friends

std::istream & operator>> (std::istream &is, FoldTree &t)
 input operator More...
 
std::ostream & operator<< (std::ostream &os, FoldTree const &t)
 output operator More...
 
bool operator== (FoldTree const &a, FoldTree const &b)
 equal to operator More...
 
bool operator!= (const FoldTree &a, const FoldTree &b)
 Not equal to operator. More...
 

Detailed Description

The FoldTree is a residue-based treelike representation of a molecule.

Note
all the derived data is "mutable", so that we can update them as needed on the fly inside "const" member functions this emphasizes that the core data is just the edge_list_
see FoldTree overview and concepts for details

Common Methods: FoldTree.check_fold_tree FoldTree.clear FoldTree.new_jump FoldTree.nres FoldTree.num_jump FoldTree.simple_tree Foldtree.size

Member Typedef Documentation

typedef EdgeList::const_iterator core::kinematics::FoldTree::const_iterator
typedef EdgeList::iterator core::kinematics::FoldTree::iterator

Constructor & Destructor Documentation

core::kinematics::FoldTree::~FoldTree ( )
virtual
core::kinematics::FoldTree::FoldTree ( )
inline

constructor

core::kinematics::FoldTree::FoldTree ( int const  nres_in)
inline

Constructs a simple FoldTree.

ft = FoldTree( nres_in )

int nres_in /the number of residues in this simple tree

References simple_tree().

Member Function Documentation

void core::kinematics::FoldTree::add_edge ( int const  start,
int const  stop,
int const  label 
)

Adds an edge from <start> to <stop>

do not allow self edge and do not order the edge list here

Referenced by protocols::forge::methods::add_edges(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::star::Extender::extend_unaligned(), protocols::loophash::LoopHashLibrary::extract_data_from_pose(), protocols::protein_interface_design::movers::Splice::fold_tree(), protocols::loops::fold_tree_from_loops(), protocols::simple_moves::CutChainMover::foldTree(), core::conformation::symmetry::get_asymm_unit_fold_tree(), protocols::loophash::get_rt_over_leap(), protocols::loophash::get_rt_over_leap_fast(), core::kinematics::linearize_fold_tree(), protocols::features::PoseConformationFeatures::load_fold_tree(), protocols::enzdes::EnzdesFlexibleRegion::minimize_region(), MinimizeInterface(), partition_by_jump(), protocols::protein_interface_design::movers::PlaceStubMover::place_stub(), core::kinematics::remodel_fold_tree_to_account_for_insertion(), protocols::ligand_docking::LigandBaseProtocol::reorder_foldtree_around_mobile_regions(), protocols::anchored_design::AnchoredDesignMover::set_fold_tree_and_cutpoints(), protocols::toolbox::match_enzdes_util::AlignPoseToInvrotTreeMover::setup_foldtree_around_anchor_invrot(), protocols::protein_interface_design::star_fold_tree(), protocols::comparative_modeling::steal_ligands(), protocols::loophash::LoopHashLibrary::test_loop_sample(), and protocols::hybridization::HybridizeFoldtreeDynamic::update().

void core::kinematics::FoldTree::add_edge ( int const  start,
int const  stop,
std::string const &  start_atom,
std::string const &  stop_atom 
)

Especially useful version of add_edge for chemical edge construction.

void core::kinematics::FoldTree::add_edge ( Edge const &  new_edge)

Add the edge <new_edge>

example(s): ft.add_edge(edge1) See also: FoldTree FoldTree.check_fold_tree FoldTree.delete_edge FoldTree.jump_edge FoldTree.nres FoldTree.num_jump

Does not ensure proper folding order

void core::kinematics::FoldTree::add_vertex ( int const  v)
private

Helper function.

After this call you're guaranteed that v is a vertex of the tree, ie not contained in the interior of a peptide edge

References protocols::loops::start, and protocols::loops::stop.

void core::kinematics::FoldTree::append_residue ( bool const  attach_by_jump = false,
int const  jump_anchor_residue = 0,
std::string const &  jump_upstream_atom = "",
std::string const &  jump_downstream_atom = "" 
)

Appends a new residue to the tree, either by a jump or as a continuation of a peptide segment.

Add a new residue – either polymer or jump – to the end of the tree if the new residue is appended by polymer connection, add it at the end of polymer. if the new residue is appended by jump connection, the cutpoint is the original polymer end

void core::kinematics::FoldTree::append_residue_by_chemical_bond ( int const  anchor_residue,
std::string const &  anchor_atom,
std::string const &  root_atom 
)

Appends a new residue to the tree using a chemical (APL-style) connection.

void core::kinematics::FoldTree::apply_sequence_mapping ( id::SequenceMapping const &  old2new)

Renumber all vertices according to an input sequence mapping.

Renumber all vertices according to an input sequence mapping

References core::sequence::end.

const_iterator core::kinematics::FoldTree::begin ( ) const
inline

begin iterator of the edge_list

References edge_list_.

Referenced by core::kinematics::ShortestPathInFoldTree::build_peptide_table(), core::conformation::build_tree(), protocols::forge::methods::closest_larger_peptide_vertex(), protocols::forge::methods::closest_smaller_peptide_vertex(), core::kinematics::ShortestPathInFoldTree::compute_dist_map(), protocols::viewer::dump_foldtree_kinemage(), protocols::forge::methods::find_connecting_jump(), core::conformation::symmetry::get_asymm_unit_fold_tree(), insert_fold_tree_by_jump(), is_root(), protocols::forge::methods::jumps_connected_to_position(), core::kinematics::linearize_fold_tree(), core::scoring::dssp::StrandPairingSet::merge(), protocols::forge::methods::merge(), protocols::enzdes::EnzdesFlexibleRegion::minimize_region(), protocols::forge::build::SegmentRebuild::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), core::kinematics::operator<<(), core::pose::symmetry::partition_by_symm_jumps(), core::kinematics::remodel_fold_tree_to_account_for_insertion(), protocols::ligand_docking::LigandBaseProtocol::reorder_foldtree_around_mobile_regions(), protocols::forge::methods::replace(), core::scoring::electron_density::PattersonCorrEnergy::setup_for_scoring(), core::scoring::electron_density::ElecDensEnergy::setup_for_scoring(), core::scoring::electron_density::FastDensEnergy::setup_for_scoring(), core::scoring::electron_density::ElecDensAllAtomCenEnergy::setup_for_scoring(), core::scoring::electron_density::ElecDensCenEnergy::setup_for_scoring(), core::scoring::electron_density_atomwise::ElecDensAtomwiseEnergy::setup_for_scoring(), protocols::forge::methods::shift_jumps(), protocols::hybridization::HybridizeFoldtreeDynamic::update(), and protocols::forge::methods::vertex_exists().

iterator core::kinematics::FoldTree::begin ( )
inlineprivate

non-const begin iterator of edge_list

References edge_list_.

Size core::kinematics::FoldTree::boundary_left ( Size  res) const
inline

Returns the starting residue of the kinematic chunk to which res belongs.

References get_residue_edge(), is_root(), nres(), and core::kinematics::Edge::start().

Size core::kinematics::FoldTree::boundary_right ( Size  res) const
inline

Returns the ending residue of the kinematic chunk to which res belongs.

References get_residue_edge(), is_root(), nres(), and core::kinematics::Edge::stop().

bool core::kinematics::FoldTree::check_edges_for_atom_info ( ) const
bool core::kinematics::FoldTree::check_fold_tree ( ) const

Returns true if this is a valid FoldTree.

example(s): ft.check_fold_tree() See also: FoldTree FoldTree.check_fold_tree FoldTree.clear FoldTree.is_simple_tree FoldTree.new_jump FoldTree.nres FoldTree.num_jump FoldTree.simple_tree

Check to see if a foldtree is in valid folding order. To be valid, a fold tree needs to be connected, but not cyclic. So the tree is traversed from the root residue and if any residue has not been visited or has been visited multiple times, the fold tree is bad.

References protocols::loops::start, protocols::loops::stop, and TR().

Referenced by protocols::frag_picker::nonlocal::NonlocalFrags::apply(), protocols::nonlocal::SingleFragmentMover::apply(), protocols::loops::apply_sequence_mapping(), protocols::jumping::JumpSample::apply_to(), core::fragment::make_pose_from_frags(), protocols::enzdes::EnzdesFlexibleRegion::minimize_region(), core::kinematics::operator>>(), and protocols::rigid::RigidBodyMotionMover::set_fold_tree().

bool core::kinematics::FoldTree::check_order ( ) const
inlineprivate

update fold tree order (when edges are same but the order in the edge_list is changed) if necessary

see details for check_topology

References check_topology(), new_order, and update_jump_edge().

bool core::kinematics::FoldTree::check_topology ( ) const
inlineprivate

update fold tree topology (when edges are changed) if necessary

check_topology and check_order handle the updating of data that depends on tree topology and/or tree order.

any routine that depends on the stored derived data (eg any of the access methods ) should call check_topology() or check_order() at the beginning.

Note
also, any method function that changes the tree topology or order should set the private data members new_topology and/or new_topology to true.

References new_order, new_topology, setup_edge_counts(), update_cutpoints(), update_jump_points(), update_nres(), and update_num_jump().

Referenced by check_order(), cutpoint(), cutpoint_map(), is_cutpoint(), is_jump_point(), nres(), num_cutpoint(), and num_jump().

void core::kinematics::FoldTree::clear ( )
inline

Deletes all edge in the FoldTree.

example(s): ft.clear() See also: FoldTree FoldTree.add_edge FoldTree.check_fold_tree FoldTree.delete_edge FoldTree.new_jump FoldTree.nres FoldTree.num_jump FoldTree.simple_tree FoldTree.size

References edge_list_, and new_topology.

Referenced by protocols::antibody::Antibody::all_cdr_fold_tree(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::analysis::LoopAnalyzerMover::calculate_all_chainbreaks(), protocols::protein_interface_design::movers::copy_hotspot_to_pose(), protocols::protein_interface_design::movers::Splice::fold_tree(), protocols::loops::fold_tree_from_loops(), protocols::simple_moves::CutChainMover::foldTree(), protocols::topology_broker::AsymFoldandDockClaimer::initialize_dofs(), protocols::grafting::insert_pose_into_pose(), protocols::protein_interface_design::movers::HotspotDisjointedFoldTreeMover::make_disjointed_foldtree(), protocols::protein_interface_design::make_hotspot_foldtree(), MinimizeInterface(), partition_by_jump(), protocols::protein_interface_design::movers::PlaceStubMover::place_stub(), core::import_pose::atom_tree_diffs::pose_from_atom_tree_diff(), protocols::protein_interface_design::movers::PlacementMinimizationMover::refresh_bbstub_constraints(), protocols::grafting::return_region(), core::pose::symmetry::sealed_symmetric_fold_tree(), core::conformation::symmetry::set_fold_tree_from_symm_data(), protocols::seeded_abinitio::SeedFoldTree::set_foldtree(), protocols::flexpep_docking::FlexPepDockingProtocol::setup_foldtree(), protocols::grafting::GraftMoverBase::setup_single_loop_double_arm_remodeling_foldtree(), protocols::grafting::GraftMoverBase::setup_single_loop_single_arm_remodeling_foldtree(), protocols::protein_interface_design::star_fold_tree(), protocols::swa::rna::StepWiseRNA_JobParameters::StepWiseRNA_JobParameters(), core::conformation::symmetry::symmetrize_fold_tree(), and protocols::hybridization::HybridizeFoldtreeDynamic::update().

bool core::kinematics::FoldTree::connected ( ) const

Returns true if the FoldTree is connected.

Is the tree connected? returns true if fold_tree is connected doesnt assume that the fold_tree is in valid folding order, or even a tree

Size core::kinematics::FoldTree::count_fixed_residues ( Size const  begin_res,
Size const  size,
Size min_edge_count_out 
) const
bool core::kinematics::FoldTree::cut_edge ( int const  cut_point)
private

helper function to try cutting an edge in a tree.

References protocols::loops::start, protocols::loops::stop, and TR().

bool core::kinematics::FoldTree::cut_random_edge ( ObjexxFCL::FArray1D_float const &  cut_bias_sum,
int const  nres_in 
)
private

cut an edge randomly based on probability without disconnecting fold tree

Cuts a random edge chosen with per-rsd frequency given by cut_bias_sum. private: returns true if success, false if failure. operates on the edge_list_. doesnt assume any derived data is up-to-date. only an non-separating edge (label==-2) can be cut, otherwise fold tree will not be valid.

References protocols::loops::cut_point, core::kinematics::pick_loopy_cutpoint(), and TR().

int core::kinematics::FoldTree::cutpoint ( int const  cut) const
inline

Returns the cutpoint position of jump number <cut>

example(s): ft.cutpoint(1) See also: FoldTree FoldTree.jump_edge FoldTree.is_cutpoint FoldTree.is_jump_point FoldTree.num_cutpoint FoldTree.num_jump

References check_topology(), and cutpoint_.

Referenced by protocols::toolbox::pose_manipulation::add_chainbreaks_according_to_jumps(), protocols::loops::add_cutpoint_variants(), protocols::RBSegmentRelaxImpl::apply(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::apply(), protocols::topology_broker::TopologyBroker::apply(), protocols::loops::apply_sequence_mapping(), protocols::jumping::JumpSample::apply_to(), protocols::jumping::close_chainbreaks(), protocols::abinitio::AbrelaxMover::close_with_idealization(), protocols::medal::cutpoint_probabilities(), core::scoring::methods::ChainbreakEnergy::finalize_total_energy(), core::scoring::methods::DistanceChainbreakEnergy::finalize_total_energy(), protocols::abinitio::find_sampling_cuts(), core::fragment::FindBoundaries(), protocols::swa::rna::floating_base_chain_closure_setup(), protocols::abinitio::AbrelaxApplication::fold(), core::conformation::symmetry::get_component_contiguous_foldtree(), protocols::topology_broker::TopologyBroker::initialize_cuts(), protocols::medal::invalidate_residues_spanning_cuts(), protocols::swa::rna::Output_fold_tree_info(), protocols::toolbox::pose_manipulation::remove_chainbreaks_according_to_jumps(), protocols::loops::remove_cutpoint_variants(), protocols::jumping::MembraneJump::setup_fold_tree(), core::fragment::steal_constant_length_frag_set_from_pose(), protocols::rigid::RigidBodyMotionMover::update_chunks(), and protocols::nonlocal::BiasedFragmentMover::verify_probabilities_or_die().

int core::kinematics::FoldTree::cutpoint_by_jump ( int const  jump_number) const

Returns the corresponding cutpoint position for jump <jump_number> WARNING: if you look for all cutpoints by cycling thru jump_numbers you may be dissapointed you will get most likely the same cutpoint for several different jump_numbers however: the method cutpoint( nr ) will give you the number you are looking for.

To keep the fold tree non-cyclic, for each jump added, there should be a corresponding cutpoint. First call partition_by_jump() and the cutpoint for this jump would be those two sequentially adjacent residues which are not connected any more if the jump is disconnected.

Note
This cutpoint is not necessarily unique if the foldtree is sufficiently complex. Chooses the first cutpoint with the desired property, starting at the N-terminus. Will be unique eg if the jump is the intra-template jump used to support a single loop region during loop modeling.

References TR().

Referenced by core::pack::task::operation::DockingNoRepack1::apply(), core::pack::task::operation::DockingNoRepack2::apply(), protocols::docking::InterfaceSidechainMinMover::apply(), protocols::docking::DockTaskFactory::create_and_attach_task_factory(), protocols::docking::DockingEnsemblePrepackProtocol::finalize_setup(), protocols::docking::DockingProtocol::finalize_setup(), protocols::scoring::Interface::set_pack(), and protocols::docking::DockingHighResLegacy::setup_packing().

int core::kinematics::FoldTree::cutpoint_map ( int const  seqpos) const
inline

cutpoint number for this residue

cutpoint_map is the inverse of cutpoint_, ie it assigns each sequence position that is a cutpoint to the cutpoint number associated with that cutpoint (cutpoints are numbered in increasing residue number from the beginning of the chain)

References check_topology(), cutpoint_, cutpoint_map_, and is_cutpoint_.

Referenced by protocols::topology_broker::TopologyBroker::initialize_cuts().

utility::vector1< int > core::kinematics::FoldTree::cutpoints ( ) const
void core::kinematics::FoldTree::delete_edge ( FoldTree::iterator  edge)

Deletes the edge <edge> in the FoldTree by iterator.

die if the iterator is out of range

References TR().

Referenced by protocols::anchored_design::AnchoredDesignMover::set_fold_tree_and_cutpoints().

void core::kinematics::FoldTree::delete_edge ( Edge const &  edge)

Delete the edge <edge> in the fold tree by example edge.

example(s): ft.delete_edge(edge1) See also: FoldTree FoldTree.add_edge FoldTree.check_fold_tree FoldTree.jump_edge FoldTree.nres FoldTree.num_jump

References core::kinematics::Edge::label(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

void core::kinematics::FoldTree::delete_extra_vertices ( )

Delete vertices that are no longer necessary any more How is this determined?

after deleting a jump, there may be vertices of the tree which are neither jumps nor cutpoints. So delete them! this will combine two adjacent short edges into a long one

Referenced by protocols::enzdes::EnzdesFlexibleRegion::minimize_region(), and protocols::ligand_docking::LigandBaseProtocol::reorder_foldtree_around_mobile_regions().

void core::kinematics::FoldTree::delete_jump_and_intervening_cutpoint ( int  jump_begin,
int  jump_end 
)

Useful for removing a loop modeling jump+cut.

Useful for removing a loop modeling jump+cut

Note
This will trigger a renumbering of the jumps if jump number < num_jump()

References core::sequence::end, and TR().

Referenced by protocols::forge::methods::remove_cutpoint(), and protocols::forge::methods::remove_cutpoints().

void core::kinematics::FoldTree::delete_jump_and_intervening_cutpoint ( int const  jump_number)

Useful for removing a loop modeling jump+cut.

Useful for removing a loop modeling jump+cut

Note
This will trigger a renumbering of the jumps if jump_number < num_jump()
void core::kinematics::FoldTree::delete_jump_seqpos ( int const  seqpos)
private

delete a root/jump_point residue

Delete a position from the foldtree that is either a jump_point or the root. Will require some rearranging of the topology. LOGIC: note that there are 0 or 1 incoming edges to this vertex need a replacement vertex for edges involving this guy: (note that this number will have to be adjusted) I. if seqpos is polymer residue (ie contained in a polymer edge)

  1. if there's an incoming polymer segment, choose the previous rsd in this segment
  2. choose the next residue in the first outgoing polymer edge II. if there's an incoming edge, choose the start of this edge III. (non-polymer root residue) choose stop of first edge in foldtree

References protocols::loops::apply_sequence_mapping(), core::id::SequenceMapping::delete_target_residue(), core::sequence::end, core::kinematics::Edge::is_jump(), core::kinematics::Edge::is_polymer(), core::kinematics::Edge::label(), core::kinematics::Edge::polymer_direction(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), TR(), and core::kinematics::Edge::valid().

void core::kinematics::FoldTree::delete_segment ( int const  seg_begin,
int const  seg_end 
)

Deletes a continuous segment from <seq_begin> to <seq_end>

example(s): ft.delete_segment(13,37) See also: FoldTree FoldTree.check_fold_tree FoldTree.delete_edge FoldTree.new_jump FoldTree.nres FoldTree.simple_tree

it assumes that the segment is completely contained in a single edge of the tree. Only edge_list is updated and new topology is set true. No derived data is updated.

References protocols::rigid::c2n, protocols::rigid::n2c, core::io::serialization::size(), and TR().

void core::kinematics::FoldTree::delete_self_edges ( )

Deletes edges with start==stop allowable 1->1 edge for single residue FoldTree.

Delete self-edges in the foldtree, allowing the edge 1->1 for a single residue tree

void core::kinematics::FoldTree::delete_seqpos ( int const  seqpos)

Deletes the residue <seqpos> from the FoldTree. Will rearrange topology if necessary.

example(s): ft.delete_seqpos(3) See also: FoldTree FoldTree.check_fold_tree FoldTree.clear FoldTree.new_jump FoldTree.nres FoldTree.num_jump FoldTree.simple_tree

Delete a sequence position from a foldtree. If the residue is a jump point or the root of the tree, we will have to rearrange the topology.

Referenced by protocols::forge::methods::replace().

void core::kinematics::FoldTree::delete_seqpos_simple ( int const  seqpos)
private

delete a polymer residue (non-jump,non-root)

Delete a sequence position from a foldtree. This will not work at positions that are jump points, ie start or stop vertices for jump edges. (or the root of the tree!) So basically only works for polymer residues.

References protocols::loops::apply_sequence_mapping(), core::id::SequenceMapping::delete_target_residue(), core::sequence::end, and TR().

void core::kinematics::FoldTree::delete_unordered_edge ( int const  start,
int const  stop,
int const  label 
)

Find an edge in fold tree and delete it.

needs to match start residue number, end residue number and label index. abort if the edge is not found.

References protocols::loops::start, protocols::loops::stop, and TR().

std::string core::kinematics::FoldTree::downstream_atom ( int const  jump_number) const

the jump atom on the stopping side

Get the downstream connection atomno (connection atom # at the "stop" vertex) If it hasn't been set return 0. Also see set_jump_atoms, which sets this data.

References core::kinematics::Edge::downstream_atom(), and core::kinematics::Edge::has_atom_info().

Referenced by core::conformation::symmetry::get_component_contiguous_foldtree(), protocols::swa::rna::Output_fold_tree_info(), and protocols::rna::RNA_Minimizer::setup_movemap().

int core::kinematics::FoldTree::downstream_jump_residue ( int const  jump_number) const

the stopping residue for this jump

Get the sequence position of the downstream vertex of the jump indicated by the jump_number argument. Downstream means that if we traverse the tree starting at the root then we hit that vertex second.

return 0 if failed

Referenced by protocols::abinitio::MembraneAbinitio::add_spanning_region(), protocols::ligand_docking::append_multi_residue_ligand_RMSD(), protocols::enzdes::DetectProteinLigandInterface::apply(), protocols::jumping::JumpSample::apply_to(), core::optimization::symmetry::atom_tree_get_atompairE_deriv(), protocols::rna::RNA_ChunkLibrary::check_connections(), protocols::rna::ChunkSet::check_fold_tree_OK(), protocols::rna::RNA_ChunkLibrary::check_jump_match(), protocols::enzdes::EnzdesBaseProtocol::create_enzdes_movemap(), protocols::ligand_docking::MinimizeBackbone::create_fold_tree_with_ligand_jumps_from_attach_pts(), core::conformation::symmetry::SymmetryInfo::dependent_dofs(), protocols::swa::rna::StepWiseRNA_Minimizer::Figure_out_moving_residues(), protocols::swa::Figure_out_moving_residues(), protocols::rna::RNA_StructureParameters::fill_in_default_jump_atoms(), protocols::enzdes::SecondaryMatchProtocol::find_all_allowed_positions(), protocols::ligand_docking::find_attach_pt(), core::pose::symmetry::find_symmetric_basejump_anchor(), protocols::swa::rna::floating_base_chain_closure_setup(), core::conformation::symmetry::fold_tree_entry_point(), protocols::jumping::JumpSample::generate_jump_frags(), protocols::jumping::JumpSample::generate_jump_frames(), core::pose::get_chain_id_from_jump_id(), core::pose::get_jump_id_from_chain_id(), protocols::ligand_docking::LigandBaseProtocol::get_ligand_id(), protocols::hybridization::InsertChunkMover::get_local_sequence_mapping(), protocols::rna::get_rigid_body_jumps(), protocols::rna::RNA_StructureParameters::insert_base_pair_jumps(), protocols::hybridization::HybridizeFoldtreeDynamic::jumps_and_cuts_from_foldtree(), protocols::forge::methods::jumps_and_cuts_from_pose(), protocols::swa::rna::make_cut_at_moving_suite(), core::pose::symmetry::make_symmetric_movemap(), protocols::swa::rna::move_jump_atom_to_base(), protocols::swa::rna::Output_movemap(), protocols::enzdes::PredesignPerturbMover::parse_my_tag(), protocols::hybridization::ChunkTrialMover::pick_random_chunk(), protocols::rna::remove_cutpoint_closed(), protocols::simple_filters::AlaScan::report(), core::pose::symmetry::sealed_symmetric_fold_tree(), protocols::hybridization::InsertChunkMover::set_bb_xyz_aligned(), core::conformation::symmetry::SymmetricConformation::set_dof(), protocols::analysis::InterfaceAnalyzerMover::set_pose_info(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::setup_fold_tree(), protocols::rna::MultipleDomainMover::setup_jump_numbers_and_partner(), protocols::rna::RNA_Minimizer::setup_movemap(), core::pose::swap_transform(), core::conformation::symmetry::symmetrize_fold_tree(), protocols::rna::translate_virtual_anchor_to_first_rigid_body(), protocols::rna::MultipleDomainMover::try_to_slide_into_contact(), and core::kinematics::visualize_fold_tree().

int core::kinematics::FoldTree::edge_label ( int const  start,
int const  stop 
)

Returns the edge label of the edge from <start> to <stop>

this is an internal function, used for testing if an edge is separating

References protocols::loops::start, protocols::loops::stop, and TR().

bool core::kinematics::FoldTree::empty ( ) const
inline

Returns true if the FoldTree is empty.

example(s): ft.empty() See also: FoldTree FoldTree.check_fold_tree FoldTree.clear FoldTree.nres FoldTree.simple_tree FoldTree.size

References edge_list_.

Referenced by root().

const_iterator core::kinematics::FoldTree::end ( ) const
inline
iterator core::kinematics::FoldTree::end ( )
inlineprivate

non-const end iterator of edge_list

References edge_list_.

int core::kinematics::FoldTree::get_jump_that_builds_residue ( int const  seqpos) const
utility::vector1< Edge > core::kinematics::FoldTree::get_outgoing_edges ( int const  seqpos) const
int core::kinematics::FoldTree::get_polymer_residue_direction ( int const  seqpos) const

Returns the direction (n2c, c2n) in which the given (peptide) residue is built during folding.

Returns the folding direction of a given polymer (peptide) residue. If the residue is in a peptide edge this is the direction in which that edge is traveled if we traverse the tree starting at the root. Will die if residue is root or if residue is built by jump or chemical bond.

References core::sequence::end, and protocols::loops::start.

Edge const & core::kinematics::FoldTree::get_residue_edge ( int const  seqpos) const
size_t core::kinematics::FoldTree::hash_value ( ) const
void core::kinematics::FoldTree::insert_fold_tree_by_jump ( FoldTree const &  subtree,
int const  insert_seqpos,
int const  insert_jumppos,
int const  anchor_pos,
int  anchor_jump_number = 0,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "" 
)

Inserts a fold_tree as a subtree.

Insert another fold_tree as a subtree. Residues are inserted as a contiguous block beginning at insert_seqpos. Jumps are inserted as a contiguous block beginning at insert_jumppos. Note that insert_seqpos could be equal to nres()+1, ie subtree is being appended at the end. The jump anchoring subtree runs from the residue currently numbered "anchor_pos" to the residue insert_seqpos + subtree.root() - 1, and has label/number anchor_jump_number

References protocols::forge::methods::add_vertex(), begin(), end(), core::kinematics::Edge::is_jump(), core::kinematics::Edge::label(), nres(), num_jump(), root(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), and TR().

void core::kinematics::FoldTree::insert_polymer_residue ( int const  seqpos,
bool const  join_lower,
bool const  join_upper 
)

Inserts a polymer residue at position <seqpos> How?

(ie between current rsds seqpos-1 and seqpos, so that the sequence position of the new residue is seqpos) if seqpos-1 is a cutpoint in the current fold_tree – we have a choice about how to connect the new residue: it could be joined to the preceding peptide segment (join to seqpos-1) or to the following segment (joined to the residue currently at seqpos). join_upper and join_lower control the behavior in this case.

Note
seqpos may be greater than current nres, ie we may be "inserting" at end
void core::kinematics::FoldTree::insert_residue_by_jump ( int const  seqpos,
int  anchor_pos,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "" 
)

Inserts a residue attached only by a jump. precondition is that seqpos-1 is a cutpoint.

Note
that anchor_pos is wrt the current numbering system (ie before insertion)

Insert a new residue into the tree at position seqpos, anchoring it to the rest of the tree by a jump

the residue at position seqpos moves to position seqpos+1

vertices remapped, only question is cutpoint at seqpos-1, should it move to seqpos?

bool core::kinematics::FoldTree::is_cutpoint ( int const  seqpos) const
inline

Returns true is position <seqpos> is a cutpoint.

example(s): ft.is_cutpoint(37) See also: FoldTree FoldTree.cutpoint FoldTree.new_jump FoldTree.nres FoldTree.num_cutpoint FoldTree.num_jump

References check_topology(), cutpoint_, cutpoint_map_, is_cutpoint_, and nres_.

Referenced by protocols::topology_broker::TopologyBroker::add_chainbreak_variants(), protocols::forge::methods::add_cutpoint_variants(), protocols::simple_moves::MissingDensityToJumpMover::apply(), protocols::rbsegment_relax::RBSegmentRelax::apply(), protocols::hybridization::CartesianHybridize::apply(), protocols::hybridization::CartesianSampler::apply_frame(), protocols::loops::apply_sequence_mapping(), protocols::swa::rna::apply_virtual_rna_residue_variant_type(), protocols::toolbox::AllowInsert::calculate_atom_id_map(), protocols::topology_broker::TopologyBroker::check_chainbreak_variants(), protocols::jumping::close_chainbreaks(), protocols::topology_broker::copy_internal_coords(), protocols::hybridization::create_fragment_set(), protocols::rna::create_rna_vall_torsions(), protocols::anchored_design::dump_cutpoint_info(), core::scoring::methods::ChainbreakEnergy::eval_atom_derivative(), core::scoring::methods::CartesianBondedEnergy::eval_intraresidue_dof_derivative(), core::scoring::methods::CartesianBondedEnergy::eval_residue_pair_derivatives(), protocols::coarse_rna::CoarseRNA_LoopCloser::figure_out_dof_ids_and_offsets(), protocols::swa::protein::StepWiseProteinLoopBridger::figure_out_loop(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::figure_out_partition_definition(), protocols::swa::StepWisePoseSetup::figure_out_Prepend_Internal(), protocols::coarse_rna::CoarseRNA_LoopCloser::figure_out_which_cutpoints_were_affected(), protocols::electron_density::findLoopFromDensity(), protocols::electron_density::findLoopFromPatterson(), protocols::rna::RNA_ChunkLibrary::get_component_sequences(), protocols::swa::rna::get_default_allowed_bulge_res(), protocols::seeded_abinitio::GrowPeptides::grow_from_verteces(), protocols::loops::Loops::grow_loop(), protocols::loops::Loops::grow_loop_away_from_sheets(), protocols::seeded_abinitio::SegmentHybridizer::hybridize(), core::conformation::idealize_position(), protocols::nonlocal::SingleFragmentMover::initialize_chunks(), core::conformation::insert_ideal_bonds_at_polymer_junction(), core::scoring::rna::is_cutpoint_open(), core::conformation::is_ideal_position(), core::scoring::methods::is_lower_cutpoint(), core::scoring::methods::is_upper_cutpoint(), protocols::forge::methods::linear_chainbreak(), protocols::forge::methods::make_star_foldtree(), core::scoring::electron_density::ElectronDensity::matchRes(), protocols::loops::loop_mover::perturb::LoopMover_Perturb_CCD::model_loop(), protocols::loops::loop_mover::perturb::LoopMover_Perturb_KIC::model_loop(), protocols::forge::build::Bridge::modify_impl(), protocols::forge::build::SegmentRebuild::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), protocols::swa::monte_carlo::RNA_SWA_MonteCarloMover::output_silent_file(), protocols::forge::methods::overlap_chainbreak(), protocols::swa::pdbslice(), protocols::swa::rna::possible_root(), protocols::rna::possible_root(), protocols::forge::methods::quadratic_chainbreak(), protocols::forge::methods::remove_cutpoint(), protocols::forge::methods::remove_cutpoint_variants(), protocols::rna::remove_cutpoints_closed(), protocols::features::ProteinBondGeometryFeatures::report_interres_angles(), protocols::features::ProteinBondGeometryFeatures::report_interres_lengths(), core::scoring::methods::CartesianBondedEnergy::residue_pair_energy_sorted(), protocols::rna::RNA_StructureParameters::setup_chainbreak_variants(), protocols::rna::RNA_StructureParameters::setup_virtual_phosphate_variants_OLD(), core::kinematics::simple_visualize_fold_tree(), core::kinematics::simple_visualize_fold_tree_and_movemap(), core::kinematics::simple_visualize_fold_tree_and_movemap_bb_chi(), protocols::rna::RNA_Minimizer::update_allow_insert_with_extra_minimize_res(), and protocols::rna::virtualize_5prime_phosphates().

bool core::kinematics::FoldTree::is_jump_point ( int const  seqpos) const
inline
bool core::kinematics::FoldTree::is_root ( int const  seqpos) const
inline
bool core::kinematics::FoldTree::is_simple_tree ( ) const
Edge const & core::kinematics::FoldTree::jump_edge ( int const  jump_number) const
Edge & core::kinematics::FoldTree::jump_edge ( int const  jump_number)

Returns the jump edge with jump number <jump_number> (non-const)

bool core::kinematics::FoldTree::jump_exists ( int const  pos1,
int const  pos2 
) const
inline

Return true if a jump exists between <pos1> and <pos2>

example(s): ft.empty() See also: FoldTree FoldTree.check_fold_tree FoldTree.jump_edge FoldTree.new_jump FoldTree.nres

References jump_point(), and num_jump().

core::Size core::kinematics::FoldTree::jump_nr ( core::Size  upstream_res,
core::Size  downstream_res 
) const
inline

get the jump_nr connected to jump upstream->downstream, returns 0 if not found

whether a jump exists between these residues

References jump_point(), and num_jump().

Referenced by protocols::topology_broker::TopologyBroker::initialize_dofs(), and core::pose::transfer_jumps().

int core::kinematics::FoldTree::jump_point ( int const  lower_higher,
int const  jump_number 
) const

starting or stopping residue of a jump edge

Referenced by jump_exists(), jump_nr(), and protocols::swa::rna::Output_fold_tree_info().

void core::kinematics::FoldTree::new_chemical_bond ( int const  anchor_pos,
int const  root_pos,
std::string const &  anchor_atom,
std::string const &  root_atom,
int const  new_cutpoint 
)

Add a new jump to an existing fold tree, returns the jump_number of the new jump.

References protocols::forge::methods::add_vertex(), and core::kinematics::Edge::is_chemical_bond().

int core::kinematics::FoldTree::new_jump ( int const  jump_pos1,
int const  jump_pos2,
int const  new_cutpoint 
)
Size core::kinematics::FoldTree::nres ( ) const
inline

Returns the number of residues in the FoldTree.

routines for retrieving the derived data will call check_topology and/or check_order first

example(s): ft.nres() See also: FoldTree FoldTree.check_fold_tree FoldTree.num_jump FoldTree.simple_tree FoldTree.size

References check_topology(), and nres_.

Referenced by protocols::jumping::JumpSample::apply_to(), boundary_left(), boundary_right(), core::kinematics::ShortestPathInFoldTree::build_peptide_table(), protocols::jumping::close_chainbreaks(), core::pose::create_subpose(), protocols::forge::methods::find_connecting_jump(), core::fragment::FindBoundaries(), core::conformation::Conformation::fold_tree(), core::conformation::symmetry::fold_tree_entry_point(), protocols::loops::fold_tree_from_loops(), core::conformation::symmetry::get_component_contiguous_foldtree(), insert_fold_tree_by_jump(), core::conformation::insert_residue_into_atom_tree(), protocols::forge::methods::merge(), protocols::swa::rna::possible_root(), protocols::rna::possible_root(), protocols::forge::methods::remove_cutpoint(), protocols::forge::methods::remove_cutpoints(), protocols::forge::methods::replace(), protocols::loops::set_single_loop_fold_tree(), protocols::forge::methods::shift_jumps(), core::kinematics::simple_visualize_fold_tree(), core::kinematics::simple_visualize_fold_tree_and_movemap(), core::kinematics::simple_visualize_fold_tree_and_movemap_bb_chi(), protocols::hybridization::HybridizeFoldtreeDynamic::update(), and core::kinematics::visualize_fold_tree().

int core::kinematics::FoldTree::num_cutpoint ( ) const
inline

Returns the number of cutpoints in the FoldTree.

example(s): ft.num_cutpoint() See also: FoldTree FoldTree.cutpoint FoldTree.is_cutpoint FoldTree.nres FoldTree.num_jump

References check_topology(), and num_cutpoint_.

Referenced by protocols::loops::add_cutpoint_variants(), protocols::abinitio::MembraneAbinitio::add_spanning_region(), protocols::RBSegmentRelaxImpl::apply(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::apply(), protocols::topology_broker::TopologyBroker::apply(), protocols::loops::apply_sequence_mapping(), protocols::forge::remodel::RemodelLoopMover::boost_closure_stage(), protocols::jumping::close_chainbreaks(), protocols::abinitio::AbrelaxMover::close_with_idealization(), protocols::medal::cutpoint_probabilities(), core::scoring::methods::ChainbreakEnergy::finalize_total_energy(), core::scoring::methods::DistanceChainbreakEnergy::finalize_total_energy(), protocols::abinitio::find_sampling_cuts(), core::fragment::FindBoundaries(), protocols::abinitio::AbrelaxApplication::fold(), core::conformation::symmetry::get_component_contiguous_foldtree(), protocols::forge::remodel::RemodelLoopMover::independent_stage(), protocols::medal::invalidate_residues_spanning_cuts(), protocols::forge::methods::linear_chainbreak(), protocols::swa::rna::move_jump_atom_to_base(), protocols::swa::rna::Output_fold_tree_info(), protocols::forge::methods::overlap_chainbreak(), protocols::forge::methods::quadratic_chainbreak(), protocols::loops::remove_cutpoint_variants(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::setup_fold_tree(), protocols::forge::remodel::RemodelLoopMover::simultaneous_stage(), core::fragment::steal_constant_length_frag_set_from_pose(), protocols::rigid::RigidBodyMotionMover::update_chunks(), and protocols::nonlocal::BiasedFragmentMover::verify_probabilities_or_die().

Size core::kinematics::FoldTree::num_jump ( ) const
inline

Returns the number of jumps in the FoldTree.

example(s): ft.num_jump() See also: FoldTree FoldTree.check_fold_tree FoldTree.jump_edge FoldTree.new_jump FoldTree.nres

References check_topology(), and num_jump_.

Referenced by protocols::toolbox::pose_manipulation::add_chainbreaks_according_to_jumps(), protocols::toolbox::pose_metric_calculators::append_rsd_by_jump_near_atom(), protocols::enzdes::DetectProteinLigandInterface::apply(), protocols::jumping::JumpSample::apply_to(), core::kinematics::ShortestPathInFoldTree::build_jumpres_distmap(), protocols::toolbox::pose_metric_calculators::dock_waters_to_atom(), protocols::abinitio::KinematicAbinitio::dump_jump_log(), protocols::swa::rna::StepWiseRNA_Minimizer::Figure_out_moving_residues(), protocols::swa::Figure_out_moving_residues(), protocols::rna::RNA_StructureParameters::fill_in_default_jump_atoms(), core::io::silent::BinaryProteinSilentStruct::fill_pose(), core::io::silent::RNA_SilentStruct::fill_pose(), core::io::silent::BinaryRNASilentStruct::fill_struct(), core::io::silent::BinaryProteinSilentStruct::fill_struct(), core::io::silent::RNA_SilentStruct::fill_struct(), protocols::forge::methods::find_connecting_jump(), core::pose::symmetry::find_symmetric_basejump_anchor(), protocols::swa::rna::floating_base_chain_closure_setup(), core::conformation::symmetry::SymmetricConformation::fold_tree(), core::conformation::symmetry::fold_tree_entry_point(), protocols::loops::fold_tree_from_loops(), core::conformation::symmetry::get_component_contiguous_foldtree(), protocols::rna::get_rigid_body_jumps(), core::conformation::get_root_residue_root_atomno(), core::io::silent::BinaryRNASilentStruct::init_from_lines(), core::io::silent::BinaryProteinSilentStruct::init_from_lines(), protocols::topology_broker::AsymFoldandDockClaimer::initialize_dofs(), core::conformation::symmetry::SymmetricConformation::insert_conformation_by_jump(), insert_fold_tree_by_jump(), jump_exists(), jump_nr(), protocols::hybridization::HybridizeFoldtreeDynamic::jumps_and_cuts_from_foldtree(), protocols::forge::methods::jumps_and_cuts_from_pose(), core::optimization::symmetry::SymAtomTreeMinimizer::make_assymetric_movemap(), protocols::swa::rna::make_cut_at_moving_suite(), core::optimization::symmetry::SymAtomTreeMinimizer::make_semisymmetric_movemap(), protocols::forge::methods::merge(), protocols::enzdes::EnzdesFlexibleRegion::minimize_region(), protocols::swa::rna::Output_movemap(), core::io::silent::BinaryRNASilentStruct::print_conformation(), core::io::silent::BinaryProteinSilentStruct::print_conformation(), core::io::silent::RNA_SilentStruct::print_conformation(), protocols::toolbox::pose_manipulation::remove_chainbreaks_according_to_jumps(), protocols::rna::remove_cutpoint_closed(), protocols::ligand_docking::LigandBaseProtocol::reorder_foldtree_around_mobile_regions(), core::pose::symmetry::sealed_symmetric_fold_tree(), protocols::toolbox::pose_metric_calculators::SemiExplicitWaterUnsatisfiedPolarsCalculator::semiexpl_water_hbgeom_score(), protocols::rna::MultipleDomainMover::setup_jump_numbers_and_partner(), protocols::rna::RNA_Minimizer::setup_movemap(), core::conformation::symmetry::setup_symmetric_conformation(), core::kinematics::ShortestPathInFoldTree::ShortestPathInFoldTree(), core::kinematics::simple_visualize_fold_tree(), core::kinematics::simple_visualize_fold_tree_and_movemap(), core::kinematics::simple_visualize_fold_tree_and_movemap_bb_chi(), core::conformation::symmetry::symmetrize_fold_tree(), and core::kinematics::visualize_fold_tree().

FoldTree& core::kinematics::FoldTree::operator= ( FoldTree const &  src)
inline

operator=

Note
this version doesnt copy any of the derived data! will this be too slow? it will trigger re-calculating of everything every time we reject a move....

References edge_list_, and new_topology.

void core::kinematics::FoldTree::partition_by_jump ( int const  jump_number,
FoldTree f1,
FoldTree f2 
) const

partition into two foldtrees by cutting at jump= jump_number

Create two new foldtrees f1 and f2 by splitting myself at jump jump_number Uses the following routine to figure out which vertices should be in each tree.

Note
The N-terminal vertex of jump "jump_number" goes to tree f1

References add_edge(), clear(), core::kinematics::Edge::is_jump(), core::kinematics::Edge::label(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

Referenced by protocols::ligand_docking::LigandDockProtocol::append_ligand_docking_scores(), protocols::ligand_docking::append_radius_of_gyration(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::protein_interface_design::movers::DesignMinimizeHbonds::apply(), protocols::coarse_rna::CoarseRNA_LoopCloser::apply_after_jump_change(), core::scoring::sc::MolecularSurfaceCalculator::Calc(), protocols::docking::calc_Fnat(), protocols::docking::calc_Lrmsd(), protocols::geometry::centroids_by_jump(), protocols::geometry::centroids_by_jump_int(), protocols::protein_interface_design::filters::AtomicContactCountFilter::compute(), protocols::optimize_weights::IterativeOptEDriver::compute_rotamers_around_ligands(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::figure_out_partition_definition(), protocols::ligand_docking::LigandBaseProtocol::find_interface_backbone(), protocols::ligand_docking::LigandBaseProtocol::find_interface_rsds(), core::pack::task::operation::util::find_jump_partners_within_CB_cutoff(), protocols::ligand_docking::LigandBaseProtocol::get_ligand_id(), core::pose::symmetry::get_symdof_subunits(), core::pose::partition_pose_by_jump(), protocols::rna::remove_cutpoint_closed(), protocols::simple_filters::EnergyPerResidueFilter::report(), protocols::enzdes::LigInterfaceEnergyFilter::report(), and protocols::simple_moves::DesignRepackMover::setup_packer_and_movemap().

void core::kinematics::FoldTree::partition_by_jump ( int const  jump_number,
ObjexxFCL::FArray1D_bool &  partner1 
) const

partition the fold tree in two parts if the jump is disconnected.

void core::kinematics::FoldTree::partition_by_residue ( int const  seqpos,
ObjexxFCL::FArray1D_bool &  partner1 
) const

partition the fold tree in two parts if a cut would be introduced between seqpos and seqpos+1

partition the fold tree in two parts if a cut would be introduced between seqpos and seqpos+1. Function is an analog to partition_by_jump() – its goal to find all residues connecting to the jump starting residue and flag them in the partner1(n_res) array as true. The residues on the other side are flagged as false. Useful to distinguish two docking partners when fold tree is properly set up.void

References core::sequence::end, core::kinematics::Edge::start(), protocols::loops::start, core::kinematics::Edge::stop(), and protocols::loops::stop.

Referenced by protocols::coarse_rna::CoarseRNA_LoopCloser::apply(), and protocols::swa::StepWisePoseSetup::figure_out_partition_definition().

void core::kinematics::FoldTree::put_jump_stubs_intra_residue ( )
bool core::kinematics::FoldTree::random_tree_from_jump_points ( int const  nres_in,
int const  num_jump_in,
ObjexxFCL::FArray2D_int const &  jump_point,
ObjexxFCL::FArray1D_float const &  cut_bias,
int const  root_in = 1,
bool const  allow_jump_at_1_or_NRES = false 
)

Builds a FoldTree from a list of <jump_points> and random cut points based on some biased probability Returns bool about success.

Referenced by protocols::abinitio::LoopJumpFoldCst::add_rigidity_jumps(), protocols::jumping::MembraneJump::setup_fold_tree(), and protocols::rna::RNA_StructureParameters::setup_jumps().

bool core::kinematics::FoldTree::random_tree_from_jump_points ( int const  nres_in,
int const  num_jump_in,
ObjexxFCL::FArray2D_int const &  jump_point,
std::vector< int > const &  obligate_cut_points,
ObjexxFCL::FArray1D_float const &  cut_bias,
int const  root_in = 1,
bool const  allow_jump_at_1_or_NRES = false 
)

Builds a FoldTree from a list of <jump_points> and random cut points based on some biased probability and any user-defined obligate cutpoints Returns bool about success.

void core::kinematics::FoldTree::reassign_atoms_for_intra_residue_stubs ( )

this reorganizes upstream/downstream atoms of jumps that have flag keep_stub_in_resiue = true such that stubs are N-CA-C

References core::kinematics::Edge::is_jump(), core::kinematics::Edge::start(), protocols::loops::start, core::kinematics::Edge::stop(), strip_whitespace(), and TR().

void core::kinematics::FoldTree::renumber_jumps ( )

Renumbers the jump edges in the FoldTree How?

Assign new numbers to the jumps. after we delete a jump, we may want to re-number the others. note of course this will invalidate the jump_transform array of any pose with this fold_tree, so be sure to call jumps_from_positions or something

References TR().

Referenced by core::conformation::symmetry::get_asymm_unit_fold_tree(), and protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue().

bool core::kinematics::FoldTree::reorder ( int const  start_residue)

Reorders the FoldTree to start at residue <start_residue>

Reorder the tree so that start_residue is the new root. returns false if no re-ordering allowed! To reorder successfully, start_residue needs to be a vertex in the original fold tree.

References core::kinematics::Edge::start(), core::kinematics::Edge::start_atom(), core::kinematics::Edge::stop(), core::kinematics::Edge::stop_atom(), and TR().

Referenced by protocols::swa::rna::StepWiseRNA_PoseSetup::add_aa_virt_rsd_as_root(), protocols::abinitio::LoopJumpFoldCst::add_rigidity_jumps(), core::pose::addVirtualResAsRoot(), protocols::topology_broker::MembraneTopologyClaimer::addVirtualResAsRootMembrane(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::idealize::IdealizeMover::apply(), protocols::forge::remodel::RemodelMover::apply(), protocols::loops::apply_sequence_mapping(), protocols::loops::fold_tree_from_loops(), core::conformation::symmetry::get_component_contiguous_foldtree(), protocols::rna::RNA_HelixAssembler::get_rid_of_capping_base_pairs(), MinimizeInterface(), protocols::forge::build::SegmentRebuild::modify_impl(), core::kinematics::operator>>(), protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::reroot_fold_tree(), protocols::swa::StepWisePoseSetup::reroot_fold_tree(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::reroot_fold_tree_simple(), protocols::rbsegment_relax::restore_pose_from_rbsegs(), protocols::anchored_design::AnchoredDesignMover::set_fold_tree_and_cutpoints(), protocols::rna::RNA_StructureParameters::setup_jumps(), and protocols::protein_interface_design::star_fold_tree().

int core::kinematics::FoldTree::root ( ) const
inline

Returns the root vertex position of the FoldTree.

example(s): ft.empty() See also: FoldTree FoldTree.is_root FoldTree.clear FoldTree.simple_tree

References edge_list_, and empty().

Referenced by protocols::swa::rna::StepWiseRNA_PoseSetup::add_aa_virt_rsd_as_root(), protocols::relax::add_coordinate_constraints_to_pose(), protocols::loops::add_coordinate_constraints_to_pose(), protocols::swa::rna::StepWiseRNA_PoseSetup::add_terminal_res_repulsion(), protocols::swa::StepWisePoseSetup::add_terminal_res_repulsion(), core::pose::addVirtualResAsRoot(), protocols::hybridization::HybridizeProtocol::apply(), protocols::comparative_modeling::LoopRelaxMover::apply(), protocols::forge::remodel::RemodelLoopMover::apply(), protocols::forge::components::VarLengthBuild::apply(), protocols::loophash::BackboneSegment::apply_to_pose(), core::kinematics::ShortestPathInFoldTree::build_jumpres_distmap(), core::conformation::build_residue_tree(), core::conformation::build_tree(), protocols::swa::StepWisePoseSetup::check_superimpose_res(), protocols::electron_density::dockPoseIntoMap(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::figure_out_best_working_alignment(), core::conformation::symmetry::fold_tree_entry_point(), protocols::forge::methods::fold_tree_from_loops(), protocols::loops::fold_tree_from_loops(), core::conformation::get_anchor_atomno(), core::conformation::get_root_residue_root_atomno(), protocols::loophash::get_rt_over_leap(), protocols::loophash::get_rt_over_leap_fast(), protocols::swa::rna::StepWiseRNA_ResidueSampler::initialize_o2star_green_packer(), insert_fold_tree_by_jump(), protocols::forge::methods::linear_chainbreak(), protocols::forge::methods::merge(), protocols::forge::build::SegmentRebuild::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), protocols::forge::methods::overlap_chainbreak(), protocols::forge::methods::quadratic_chainbreak(), protocols::forge::methods::replace(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::reroot_fold_tree(), protocols::swa::StepWisePoseSetup::reroot_fold_tree(), core::pose::symmetry::sealed_symmetric_fold_tree(), protocols::loops::set_single_loop_fold_tree(), protocols::relax::RelaxProtocolBase::set_up_constraints(), protocols::swa::rna::StepWiseRNA_VDW_Bin_Screener::setup_using_user_input_VDW_pose(), protocols::forge::methods::shift_jumps(), protocols::fldsgn::CircularPermutation::split_chains(), and core::conformation::symmetry::symmetrize_fold_tree().

void core::kinematics::FoldTree::set_jump_atoms ( int const  jump_number,
std::string const &  upstream_atom,
std::string const &  downstream_atom,
bool  bKeepStubInResidue = false 
)
void core::kinematics::FoldTree::set_jump_atoms ( int const  jump_number,
core::Size  res1,
std::string const &  atom1,
core::Size  res2,
std::string const &  atom2,
bool  bKeepStubInResidue = false 
)
void core::kinematics::FoldTree::setup_edge_counts ( ) const
private

update edge counts info

  • edge_count(i): delete the edge (i-1,i), how many residues are in the component of the graph containing i-1?
  • jump_edge_count(i): delete jump_number i. How many residues are in the component of the graph containing the jump point on the N-terminal side of the jump.
Note
edge_count(cutpoint+1) doesn't really make sense currently set to 0 but routines should avoid looking at this value (see eg refold_reorder(...) )
Not checked out for chemical links

References protocols::loops::start, and protocols::loops::stop.

Referenced by check_topology().

void core::kinematics::FoldTree::show ( std::ostream &  out) const

Displays the FoldTree information.

example(s): ft.show() See Also: Pose

References core::sequence::end.

Referenced by protocols::simple_filters::PoseInfoFilter::report().

void core::kinematics::FoldTree::simple_tree ( int const  nres_in)
int core::kinematics::FoldTree::size ( ) const
inline
void core::kinematics::FoldTree::slide_cutpoint ( Size const  current_cut,
Size const  target_cut 
)

Slide a polymer cutpoint from one location to another.

Slide a cutpoint from one position to another.

References protocols::forge::methods::add_vertex(), and TR().

void core::kinematics::FoldTree::slide_jump ( Size const  jump_number,
Size const  new_res1,
Size const  new_res2 
)

change an existing jump to start and end in new positions

Switches a given jump to connect two different residues.

References core::sequence::end, protocols::loops::start, protocols::loops::stop, and TR().

Referenced by protocols::flexpep_docking::FlexPepDockingProtocol::randomlySlidePeptideJump(), and protocols::hotspot_hashing::HotspotStubSet::setup_hotspot_foldtree_().

bool core::kinematics::FoldTree::tree_from_jumps_and_cuts ( int const  nres_in,
int const  num_jump_in,
ObjexxFCL::FArray2D_int const &  jump_point,
ObjexxFCL::FArray1D_int const &  cuts,
int const  root_in = 1,
bool const  verbose = false 
)
void core::kinematics::FoldTree::update_cutpoints ( ) const
private

update cutpoints info in the fold tree

Internal routine for updating data that is derived from the edge list (which is the only primary data).

Referenced by check_topology().

void core::kinematics::FoldTree::update_edge_label ( int const  start,
int const  stop,
int const  old_label,
int const  new_label 
)

Changes the label of an edge in fold tree.

this is an internal function, used for testing if an edge is separating

References protocols::loops::start, protocols::loops::stop, and TR().

void core::kinematics::FoldTree::update_edge_labels ( )
private

update edge labels based on whether edges are separating or not.

this routine assigns labels to the edges of a graph based on whether or not those edges are separating – ie whether they can be cut without disconnecting the graph. we know we have a tree when all the edges are separating

edge labels:

  • +N means that the edge corresponds to jump #N (=> uncuttable)
  • -2 means cuttable
  • -1 means separating == PEPTIDE
  • 0 means cut

we assume that the only possible change in edge labelling that we need to make is from a -2 to a -1 ie, the -1's are still correct also, there shouldn't be any 0's before this is called 0's are for communicating between this function and the logical function connected_graph(g)

References TR().

void core::kinematics::FoldTree::update_jump_edge ( ) const
private

update the index of jump edges in the edge list

fills jump_edge routines that use jump_edge should call check_order to ensure that its up to date

Note
that this is sensitive to the order of the tree so it's updated in check_order()

Internal routine for updating data that is derived from the edge list (which is the only primary data).

Referenced by check_order().

void core::kinematics::FoldTree::update_jump_points ( ) const
private

update jump residues list

Internal routine for updating data that is derived from the edge list (which is the only primary data). fills is_jump_point, jump_point

Referenced by check_topology().

void core::kinematics::FoldTree::update_nres ( ) const
private

update total number residues in the fold tree

Internal routine for updating data that is derived from the edge list (which is the only primary data).

Referenced by check_topology().

void core::kinematics::FoldTree::update_num_jump ( ) const
private

update number of jumps in the fold tree

Internal routine for updating data that is derived from the edge list (which is the only primary data).

References TR().

Referenced by check_topology().

std::string core::kinematics::FoldTree::upstream_atom ( int const  jump_number) const

the jump atom on the staring side

Get the upstream connection resid (connection atom # at the "start" vertex) If it hasn't been set return 0. Also see set_jump_atoms, which sets this data.

References core::kinematics::Edge::has_atom_info(), and core::kinematics::Edge::upstream_atom().

Referenced by protocols::swa::rna::Output_fold_tree_info(), and protocols::rna::RNA_Minimizer::setup_movemap().

int core::kinematics::FoldTree::upstream_jump_residue ( int const  jump_number) const

the staring residue for this jump

Get the sequence position of the upstream vertex of the jump indicated by the jump_number argument. Upstream means that if we traverse the tree starting at the root then we hit that vertex first.

return 0 if failed

Referenced by protocols::abinitio::MembraneAbinitio::add_spanning_region(), protocols::jumping::JumpSample::apply_to(), protocols::idealize::basic_idealize(), protocols::rna::RNA_ChunkLibrary::check_connections(), protocols::rna::ChunkSet::check_fold_tree_OK(), protocols::rna::RNA_ChunkLibrary::check_jump_match(), protocols::enzdes::EnzdesBaseProtocol::create_enzdes_movemap(), protocols::swa::rna::StepWiseRNA_Minimizer::Figure_out_moving_residues(), protocols::swa::Figure_out_moving_residues(), protocols::rna::RNA_StructureParameters::fill_in_default_jump_atoms(), core::pose::symmetry::find_symmetric_basejump_anchor(), protocols::swa::rna::floating_base_chain_closure_setup(), core::conformation::symmetry::fold_tree_entry_point(), protocols::jumping::JumpSample::generate_jump_frags(), protocols::jumping::JumpSample::generate_jump_frames(), protocols::rna::get_rigid_body_jumps(), protocols::rna::RNA_StructureParameters::insert_base_pair_jumps(), protocols::hybridization::HybridizeFoldtreeDynamic::jumps_and_cuts_from_foldtree(), protocols::forge::methods::jumps_and_cuts_from_pose(), protocols::swa::rna::make_cut_at_moving_suite(), core::pose::symmetry::make_symmetric_movemap(), protocols::swa::rna::move_jump_atom_to_base(), protocols::swa::rna::Output_movemap(), protocols::rna::RNA_StructureParameters::random_jump_change(), protocols::rna::remove_cutpoint_closed(), protocols::simple_filters::AlaScan::report(), core::pose::symmetry::sealed_symmetric_fold_tree(), protocols::analysis::InterfaceAnalyzerMover::set_pose_info(), protocols::swa::rna::StepWiseRNA_JobParameters_Setup::setup_fold_tree(), protocols::rna::MultipleDomainMover::setup_jump_numbers_and_partner(), protocols::rna::RNA_StructureParameters::setup_jumps(), protocols::rna::RNA_Minimizer::setup_movemap(), core::pose::swap_transform(), core::conformation::symmetry::symmetrize_fold_tree(), protocols::rna::translate_virtual_anchor_to_first_rigid_body(), protocols::rna::MultipleDomainMover::try_to_slide_into_contact(), and core::kinematics::visualize_fold_tree().

Friends And Related Function Documentation

bool operator!= ( const FoldTree a,
const FoldTree b 
)
friend

Not equal to operator.

std::ostream& operator<< ( std::ostream &  os,
FoldTree const &  t 
)
friend

output operator

Foldtree output to stream

bool operator== ( FoldTree const &  a,
FoldTree const &  b 
)
friend

equal to operator

Checks that edges are in the same order and are equal

std::istream& operator>> ( std::istream &  is,
FoldTree t 
)
friend

input operator

Foldtree input from stream

Member Data Documentation

utility::vector1<int> core::kinematics::FoldTree::cutpoint_
mutableprivate

cutpoint number to cutpoint residue number, dimesioned as num_cutpoint_.

Referenced by cutpoint(), cutpoint_map(), and is_cutpoint().

utility::vector1<int> core::kinematics::FoldTree::cutpoint_map_
mutableprivate

residue number of cutpoint number, 0 if it is not a cutpoint. dimensioned as nres_.

Referenced by cutpoint_map(), and is_cutpoint().

utility::vector1<int> core::kinematics::FoldTree::edge_count
mutableprivate

dimensioned as nres_, see setup_edge_counts for more info

EdgeList core::kinematics::FoldTree::edge_list_
private

the list of edges.

Note
vector for fast traversal, but re-ordering, deleting are slow.

Referenced by begin(), clear(), empty(), end(), is_root(), operator=(), core::kinematics::operator==(), core::kinematics::operator>>(), root(), and size().

boost::hash<std::string> core::kinematics::FoldTree::hasher
private
ObjexxFCL::FArray1D_bool core::kinematics::FoldTree::is_cutpoint_
mutableprivate

whether a residue is a cutpoint, dimensioned as nres_

Referenced by cutpoint_map(), and is_cutpoint().

utility::vector1<bool> core::kinematics::FoldTree::is_jump_point_
mutableprivate

whehter a residue is a jump_point, dimensioned as nres_

Referenced by is_jump_point().

utility::vector1<int> core::kinematics::FoldTree::jump_edge_
mutableprivate

jump number to edge index number in the edge_list_, dimensioned as num_jump_.

utility::vector1<int> core::kinematics::FoldTree::jump_edge_count
mutableprivate

dimensioned as num_jump, see setup_edge_counts for more info

utility::vector1< std::pair< int, int > > core::kinematics::FoldTree::jump_point_
mutableprivate

jump number to jump residue number. dimensioned as (2,num_jump_)

int core::kinematics::FoldTree::min_edge_count
mutableprivate

the minimum number in edge_count and jump_edge_count.

bool core::kinematics::FoldTree::new_order
mutableprivate

edges in the edge_list_ have been reorderd.

Referenced by check_order(), and check_topology().

bool core::kinematics::FoldTree::new_topology
mutableprivate

edges in the edge_list_ have been changed.

Referenced by check_topology(), clear(), operator=(), and core::kinematics::operator>>().

int core::kinematics::FoldTree::nres_
mutableprivate

just the largest vertex in edge_list_

Referenced by is_cutpoint(), and nres().

int core::kinematics::FoldTree::num_cutpoint_
mutableprivate

number of cutpoints in the fold tree.

Note
number_cutpoint_ == num_jump_ (if a connected tree)

Referenced by num_cutpoint().

int core::kinematics::FoldTree::num_jump_
mutableprivate

number of jump edges (edges in edge_list_ with label>0)

Referenced by num_jump().


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