Rosetta
Functions
protocols::forge::methods Namespace Reference

Functions

core::Real linear_chainbreak (core::pose::Pose const &pose, core::Size const pos)
 evaluate linear chainbreak at a position More...
 
core::Real linear_chainbreak (core::pose::Pose &pose, core::Size const pos)
 evaluate linear chainbreak at a position More...
 
core::Real overlap_chainbreak (core::pose::Pose const &pose, core::Size const pos)
 evaluate overlap chainbreak at a position More...
 
core::Real overlap_chainbreak (core::pose::Pose &pose, core::Size const pos)
 evaluate overlap chainbreak at a position More...
 
core::Real quadratic_chainbreak (core::pose::Pose const &pose, core::Size const pos)
 evaluate quadratic chainbreak at a position More...
 
core::Real quadratic_chainbreak (core::pose::Pose &pose, core::Size const pos)
 evaluate quadratic chainbreak at a position More...
 
static basic::Tracer TR ("protocols.forge.methods.fold_tree_functions")
 
bool order (core::kinematics::Edge &e)
 enforce Edge has start <= stop (swap if necessary) More...
 
core::Size closest_larger_peptide_vertex (core::Size const v, core::kinematics::FoldTree const &ft, core::Size const k)
 find the k'th closest larger peptide vertex of given vertex in fold tree More...
 
core::Size closest_smaller_peptide_vertex (core::Size const v, core::kinematics::FoldTree const &ft, core::Size const k)
 find the k'th closest smaller peptide vertex of given vertex in fold tree More...
 
bool vertex_exists (core::Size const v, core::kinematics::FoldTree const &ft)
 query if vertex already exists in fold tree More...
 
utility::vector1< core::kinematics::Edgejumps_connected_to_position (core::Size const pos, core::kinematics::FoldTree const &ft)
 find all jump edges whose start or stop lands on the given position More...
 
core::Size find_connecting_jump (core::Size const u, core::Size const v, core::kinematics::FoldTree const &ft)
 find the jump connecting two continuous segments of a fold tree More...
 
bool remove_cutpoint (core::Size const v, core::kinematics::FoldTree &ft)
 remove a cutpoint, merging the two sections that are adjacent to the cut More...
 
void remove_cutpoints (utility::vector1< core::Size > const &cutpoints, core::kinematics::FoldTree &ft)
 seal a fold tree by removing all specified cutpoints More...
 
core::kinematics::FoldTree shift_jumps (core::kinematics::FoldTree const &ft, core::kinematics::MoveMap const &mm)
 attempt to shift jumps in a fold tree based on fixed positions in a MoveMap More...
 
core::kinematics::FoldTree fold_tree_from_pose (core::pose::Pose const &pose, core::Size const ft_root, core::kinematics::MoveMap const &mm)
 construct a fold tree from Pose wrt chain endings and residue types More...
 
core::kinematics::FoldTree merge (core::kinematics::FoldTree const &left_tree, core::kinematics::FoldTree const &right_tree)
 merge two fold trees by jump between their roots More...
 
core::kinematics::FoldTree merge (core::kinematics::FoldTree const &left_tree, core::Size const left_position, core::kinematics::FoldTree const &right_tree, core::Size const right_position)
 merge two fold trees connecting by jump via specified positions More...
 
core::kinematics::FoldTree merge (core::kinematics::FoldTree const &left_tree, core::Size const left_position, std::string const &left_jump_atom, core::kinematics::FoldTree const &right_tree, core::Size const right_position, std::string const &right_jump_atom, bool const keep_stub_in_residue)
 merge two fold trees connecting by jump via specified positions More...
 
core::kinematics::FoldTree replace (core::kinematics::FoldTree const &original_tree, core::Size const replace_begin, core::Size const replace_end, core::kinematics::MoveMap const &movemap, core::kinematics::FoldTree const &replacement_tree)
 replace a section of one fold tree with another fold tree, connecting by jump between their roots More...
 
void make_star_foldtree (core::pose::Pose &pose, protocols::loops::Loops loops)
 
void jumps_and_cuts_from_pose (core::pose::Pose &pose, utility::vector1< std::pair< core::Size, core::Size > > &jumps, utility::vector1< core::Size > &cuts)
 
template<typename EdgeIterator >
void add_edges (EdgeIterator begin, EdgeIterator end, core::kinematics::FoldTree &ft)
 add a set of Edges to a FoldTree More...
 
template<typename EdgeIterator >
EdgeIterator regular_facet_containing_position (core::Size const pos, EdgeIterator const begin, EdgeIterator const end)
 find regular facet (non-jump edge sans face vertices) that contains given position More...
 
template<typename EdgeList >
bool add_vertex (core::Size const v, EdgeList &edges)
 add a vertex, splitting edges if necessary More...
 
template<typename EdgeIterator >
EdgeIterator facet_containing_position (core::Size const pos, EdgeIterator const begin, EdgeIterator const end, int const label=core::kinematics::Edge::PEPTIDE)
 find facet (edge sans face vertices) that contains given position More...
 
template<typename EdgeIterator >
utility::vector1< core::kinematics::Edgeregular_edges_within_interval (core::Size const left, core::Size const right, EdgeIterator const begin, EdgeIterator const end)
 find regular (non-jump) edges contained within the interval [left, right] More...
 
template<typename EdgeIterator >
utility::vector1< core::kinematics::Edgeedges_within_interval (core::Size const left, core::Size const right, int const edge_type, EdgeIterator const begin, EdgeIterator const end)
 find specific type of edges contained within the interval [left, right] More...
 
core::fragment::ConstantLengthFragSetOP smallmer_from_largemer (core::fragment::ConstFrameIterator begin, core::fragment::ConstFrameIterator end, core::Size const smallmer_size, bool const all_possible_smallmers)
 create small-mers from large-mers More...
 
static basic::Tracer TR ("protocols.forge.methods.pose_mod")
 
bool add_cutpoint_variants (core::pose::Pose &pose, core::Size const pos)
 add cutpoint variants at a specific position More...
 
bool remove_cutpoint_variants (core::pose::Pose &pose, core::Size const pos)
 remove cutpoint variants at a specific position More...
 
void restore_residues (std::map< core::Size, core::Size > const &old2new, core::pose::Pose &archive_pose, core::pose::Pose &pose)
 restore residues (i.e. sidechains) More...
 
void restore_residues (core::pose::Pose &archive_pose, core::pose::Pose &pose)
 restore residues (i.e. sidechains) More...
 
template<typename ResidueOPIterator >
core::Size grow_left_r (core::pose::Pose &pose, core::Size anchor, ResidueOPIterator begin, ResidueOPIterator end, bool const correct_terminus=true, bool const use_existing_crd=false)
 grow a series of residues to the left of a position More...
 
template<typename ResidueTypeOPIterator >
core::Size grow_left_rtype (core::pose::Pose &pose, core::Size anchor, ResidueTypeOPIterator begin, ResidueTypeOPIterator end, bool const correct_terminus=true)
 grow a series of residues to the left of a position More...
 
template<typename ResidueOPIterator >
core::Size grow_right_r (core::pose::Pose &pose, core::Size anchor, ResidueOPIterator begin, ResidueOPIterator end, bool const correct_terminus=true, bool const use_existing_crd=false)
 grow a series of residues to the right of a position More...
 
template<typename ResidueTypeOPIterator >
core::Size grow_right_rtype (core::pose::Pose &pose, core::Size anchor, ResidueTypeOPIterator begin, ResidueTypeOPIterator end, bool const correct_terminus=true)
 grow a series of residues to the right of a position More...
 
static basic::Tracer TR ("protocols.forge.methods.util")
 
void union_interval (core::Size const root, core::Size const left, core::Size const right, utility::graph::DisjointSets &uf)
 perform union( root, i ) for all 'i' within the closed interval [left, right] More...
 
core::Size find_cutpoint (core::pose::Pose const &pose, core::Size left, core::Size right)
 moving left to right, find the first true cutpoint within specified extent More...
 
core::Size count_cutpoints (core::pose::Pose const &pose, core::Size left, core::Size right)
 moving left to right, count the number of true cutpoints within the specified extent More...
 
void trans_omega (core::Size const left, core::Size const right, core::pose::Pose &pose)
 set omega to 180 for a range of residues [left, right] More...
 
protocols::loops::Loop interval_to_loop (protocols::forge::build::Interval const &interval)
 create Loop object w/ random cutpoint from an Interval More...
 
core::kinematics::FoldTree fold_tree_from_loops (core::pose::Pose const &pose, protocols::loops::Loops const &loops)
 create fold tree from loops More...
 
void set_single_loop_fold_tree (core::pose::Pose &pose, protocols::loops::Loop const &loop)
 set a single loop fold tree More...
 
utility::vector1< bool > parse_resfile_string_with_no_lockdown (core::pose::Pose const &pose, core::pack::task::PackerTask &the_task, std::string const &resfile_string)
 
core::pack::task::TaskFactoryOP remodel_generic_taskfactory ()
 
void fill_non_loop_cst_set (core::pose::Pose &pose, protocols::loops::Loops loops)
 
utility::vector1< core::Real > const calc_rsd_sasa (core::pose::Pose const &pose)
 return accessible surface area for each residue More...
 
void apply_transformation (core::pose::Pose &mod_pose, std::list< core::Size > const &residue_list, numeric::xyzMatrix< core::Real > const &R, numeric::xyzVector< core::Real > const &preT, numeric::xyzVector< core::Real > const &postT)
 
template<typename T >
std::set< T > closed_range (T const left, T const right, T const increment=1)
 return a set containing values in the closed interval [left, right] filled by looping from left -> right with the given increment More...
 
template<typename T >
void insert_closed_range (T const left, T const right, std::set< T > &s, T const increment=1)
 add the values in the closed interval [left, right] to a set by looping from left -> right with the given increment More...
 
template<typename T >
std::set< T > half_open_range (T const left, T const right, T const increment=1)
 return a set containing values in the half-open interval [left, right) filled by looping from left -> right with the given increment More...
 
template<typename T >
void insert_half_open_range (T const left, T const right, std::set< T > &s, T const increment=1)
 add the values in the half-open interval [left, right) to a set by looping from left -> right with the given increment More...
 
template<typename IntervalIterator >
protocols::loops::Loops intervals_to_loops (IntervalIterator begin, IntervalIterator end)
 create Loops object w/ random cutpoints from a collection of Intervals More...
 
template<typename IntervalIterator >
protocols::loops::Loops intervals_to_confirmation_loops (IntervalIterator begin, IntervalIterator end, core::Size nres)
 create Loops object w/ random cutpoints from a collection of Intervals for KIC confirmation purpose More...
 

Function Documentation

◆ add_cutpoint_variants()

bool protocols::forge::methods::add_cutpoint_variants ( core::pose::Pose pose,
core::Size const  pos 
)

add cutpoint variants at a specific position

Parameters
[in,out]Poseto modify
[in]positionat which to add cutpoint variants
Returns
true if cutpoint variants added, false if position not a topological cutpoint or cutpoint variants already exist
Parameters
[in,out]Poseto modify
[in]positionat which to add cutpoint variants
Returns
true if cutpoint variants added, false if position not a topological cutpoint

References core::pose::add_variant_type_to_pose_residue(), core::conformation::Residue::atom_name(), core::pose::Pose::conformation(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::conformation::Conformation::declare_chemical_bond(), core::pose::Pose::fold_tree(), core::conformation::Residue::has_variant_type(), core::kinematics::FoldTree::is_cutpoint(), core::conformation::Residue::lower_connect_atom(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::conformation::Residue::upper_connect_atom().

Referenced by protocols::forge::remodel::RemodelLoopMover::abinitio_stage(), protocols::protein_interface_design::movers::LoopMoverFromCommandLine::apply(), protocols::protein_interface_design::movers::LoopRemodel::apply(), protocols::forge::remodel::RemodelLoopMover::boost_closure_stage(), protocols::forge::remodel::RemodelLoopMover::independent_stage(), linear_chainbreak(), protocols::denovo_design::linear_chainbreak(), protocols::forge::remodel::RemodelLoopMover::loophash_stage(), overlap_chainbreak(), quadratic_chainbreak(), protocols::forge::remodel::RemodelLoopMover::set_segment_stage(), protocols::forge::remodel::RemodelLoopMover::simultaneous_stage(), and protocols::forge::remodel::RemodelLoopMover::small_move_stage().

◆ add_edges()

template<typename EdgeIterator >
void protocols::forge::methods::add_edges ( EdgeIterator  begin,
EdgeIterator  end,
core::kinematics::FoldTree ft 
)

add a set of Edges to a FoldTree

Parameters
[in]beginiterator pointing to the first edge to add
[in]enditerator pointing just past the last edge to add
[outft the FoldTree to modify

References core::kinematics::FoldTree::add_edge(), and core::sequence::end.

◆ add_vertex()

template<typename EdgeList >
bool protocols::forge::methods::add_vertex ( core::Size const  v,
EdgeList &  edges 
)

◆ apply_transformation()

void protocols::forge::methods::apply_transformation ( core::pose::Pose mod_pose,
std::list< core::Size > const &  residue_list,
numeric::xyzMatrix< core::Real > const &  R,
numeric::xyzVector< core::Real > const &  preT,
numeric::xyzVector< core::Real > const &  postT 
)

◆ calc_rsd_sasa()

utility::vector1< core::Real > const protocols::forge::methods::calc_rsd_sasa ( core::pose::Pose const &  pose)

◆ closed_range()

template<typename T >
std::set< T > protocols::forge::methods::closed_range ( T const  left,
T const  right,
T const  increment = 1 
)

◆ closest_larger_peptide_vertex()

core::Size protocols::forge::methods::closest_larger_peptide_vertex ( core::Size const  v,
core::kinematics::FoldTree const &  ft,
core::Size const  k 
)

find the k'th closest larger peptide vertex of given vertex in fold tree

Parameters
[in]vthe given vertex
[in]ftfold tree to search
[in]kfind the k'th closest, must be > 0
Returns
0 if no such vertex

References core::kinematics::Edge::PEPTIDE.

Referenced by protocols::forge::build::SegmentRebuild::modify_impl().

◆ closest_smaller_peptide_vertex()

core::Size protocols::forge::methods::closest_smaller_peptide_vertex ( core::Size const  v,
core::kinematics::FoldTree const &  ft,
core::Size const  k 
)

find the k'th closest smaller peptide vertex of given vertex in fold tree

Parameters
[in]vthe given vertex
[in]ftfold tree to search
[in]kfind the k'th closest, must be > 0
Returns
0 if no such vertex

References core::kinematics::Edge::PEPTIDE.

Referenced by protocols::forge::build::SegmentRebuild::modify_impl().

◆ count_cutpoints()

core::Size protocols::forge::methods::count_cutpoints ( core::pose::Pose const &  pose,
core::Size  left,
core::Size  right 
)

moving left to right, count the number of true cutpoints within the specified extent

0, pose.size(), and any cutpoint with lower/upper terminus are not counted as cutpoints

References core::pose::Pose::fold_tree(), core::kinematics::FoldTree::is_cutpoint(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_upper_terminus(), core::sequence::left, core::pose::Pose::residue(), and core::pose::Pose::size().

Referenced by protocols::forge::components::VarLengthBuild::centroid_build().

◆ edges_within_interval()

template<typename EdgeIterator >
utility::vector1< core::kinematics::Edge > protocols::forge::methods::edges_within_interval ( core::Size const  left,
core::Size const  right,
int const  edge_type,
EdgeIterator const  begin,
EdgeIterator const  end 
)

find specific type of edges contained within the interval [left, right]

References core::sequence::end, core::sequence::left, order(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

◆ facet_containing_position()

template<typename EdgeIterator >
EdgeIterator protocols::forge::methods::facet_containing_position ( core::Size const  pos,
EdgeIterator const  begin,
EdgeIterator const  end,
int const  label = core::kinematics::Edge::PEPTIDE 
)

find facet (edge sans face vertices) that contains given position

Parameters
[in]posposition
[in]beginiterator pointing to the first edge to search
[in]enditerator pointing just past the last edge to search
[in]labelthe types of Edge to search, default PEPTIDE
Returns
iterator pointing to the Edge defining the facet that contains the position; if vertex lies on the face of an edge or vertex not found, returns 'end'

References core::sequence::end.

Referenced by merge(), and replace().

◆ fill_non_loop_cst_set()

void protocols::forge::methods::fill_non_loop_cst_set ( core::pose::Pose pose,
protocols::loops::Loops  loops 
)

◆ find_connecting_jump()

core::Size protocols::forge::methods::find_connecting_jump ( core::Size const  u,
core::Size const  v,
core::kinematics::FoldTree const &  ft 
)

find the jump connecting two continuous segments of a fold tree

Parameters
[in]uAny vertex on the first segment.
[in]vAny vertex on the second segment.
[in]ftThe fold tree to query.
Returns
the jump number connecting the two segments, 0 if no such jump

References core::kinematics::FoldTree::jump_edge(), core::kinematics::FoldTree::nres(), core::kinematics::FoldTree::num_jump(), order(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), protocols::hybridization::u, and union_interval().

Referenced by protocols::forge::build::SegmentInsert::modify_impl(), and protocols::forge::build::SegmentRebuild::modify_impl().

◆ find_cutpoint()

core::Size protocols::forge::methods::find_cutpoint ( core::pose::Pose const &  pose,
core::Size  left,
core::Size  right 
)

moving left to right, find the first true cutpoint within specified extent

moving left to right, find the first true cutpoint within the specified extent

Returns
the cutpoint position, otherwise 0 if not found

0, pose.size(), and any cutpoint with lower/upper terminus are not counted as cutpoints

Returns
the cutpoint position, otherwise 0 if not found

References core::pose::Pose::fold_tree(), core::kinematics::FoldTree::is_cutpoint(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_upper_terminus(), core::sequence::left, core::pose::Pose::residue(), and core::pose::Pose::size().

Referenced by protocols::forge::components::VarLengthBuild::centroid_build(), and protocols::forge::build::SegmentInsert::modify_impl().

◆ fold_tree_from_loops()

core::kinematics::FoldTree protocols::forge::methods::fold_tree_from_loops ( core::pose::Pose const &  pose,
protocols::loops::Loops const &  loops 
)

◆ fold_tree_from_pose()

core::kinematics::FoldTree protocols::forge::methods::fold_tree_from_pose ( core::pose::Pose const &  pose,
core::Size const  ft_root,
core::kinematics::MoveMap const &  mm 
)

construct a fold tree from Pose wrt chain endings and residue types

Remarks
Determines edge types from residues (polymer vs non-polymer). Each chain will end up as one edge in the fold tree. Jumps will be made from the new root to a random fixed backbone residue as specified by the movemap. If all residues in a chain are moveable, will choose any random residue.
Parameters
[in]posePose.
[in]ft_rootRoot of the new fold tree.
[in]mmMoveMap used to select jump positions.
Returns
fold tree wrt chain endings and residue types

References core::kinematics::FoldTree::add_edge(), core::conformation::Residue::atom_name(), core::conformation::Residue::chain(), core::conformation::Conformation::chain_begin(), core::conformation::Conformation::chain_end(), core::pose::Pose::conformation(), core::conformation::Residue::connect_atom(), core::conformation::Residue::connected_residue_at_resconn(), core::kinematics::MoveMap::get_bb(), core::conformation::Residue::is_polymer(), core::conformation::Residue::n_possible_residue_connections(), core::conformation::Conformation::num_chains(), core::kinematics::Edge::PEPTIDE, core::kinematics::FoldTree::reorder(), core::pose::Pose::residue(), core::scoring::rg, core::pose::Pose::size(), and TR().

Referenced by protocols::forge::components::VarLengthBuild::apply(), protocols::forge::remodel::RemodelLoopMover::apply(), fold_tree_from_loops(), linear_chainbreak(), overlap_chainbreak(), quadratic_chainbreak(), and protocols::fldsgn::CircularPermutation::split_chains().

◆ grow_left_r()

template<typename ResidueOPIterator >
core::Size protocols::forge::methods::grow_left_r ( core::pose::Pose pose,
core::Size  anchor,
ResidueOPIterator  begin,
ResidueOPIterator  end,
bool const  correct_terminus = true,
bool const  use_existing_crd = false 
)

grow a series of residues to the left of a position

Parameters
[in,out]posePose the pose to modify
[in]anchorthe anchor position
[in]beginiterator that points to the first ResidueOP
[in]enditerator that points just beyond the last ResidueOP
[in]correct_terminusre-add lower terminus if found, default true
[in]use_existing_crdNo idealization: place residues with existing coordinates, default false.
Returns
the left endpoint of the new growth or zero if nothing to do
Remarks
Use a reverse iterator to grow right -> left along vector containers.

References core::pose::add_lower_terminus_type_to_pose_residue(), core::pose::Pose::conformation(), core::sequence::end, core::conformation::Residue::is_lower_terminus(), core::pose::Pose::residue(), and core::conformation::Conformation::safely_prepend_polymer_residue_before_seqpos().

Referenced by grow_left_rtype(), and protocols::forge::build::SegmentInsert::modify_impl().

◆ grow_left_rtype()

template<typename ResidueTypeOPIterator >
core::Size protocols::forge::methods::grow_left_rtype ( core::pose::Pose pose,
core::Size  anchor,
ResidueTypeOPIterator  begin,
ResidueTypeOPIterator  end,
bool const  correct_terminus = true 
)

grow a series of residues to the left of a position

Parameters
[in,out]posePose the pose to modify
[in]anchorthe anchor position
[in]beginiterator that points to the first ResidueTypeOP
[in]enditerator that points just beyond the last ResidueTypeOP
[in]correct_terminusre-add lower terminus if found, default true
Returns
the left endpoint of the new growth or zero if nothing to do
Remarks
Use a reverse iterator to grow right -> left along vector containers.

References core::pose::Pose::begin(), core::conformation::ResidueFactory::create_residue(), core::sequence::end, and grow_left_r().

Referenced by protocols::forge::build::GrowLeft::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), and protocols::forge::build::SegmentRebuild::modify_impl().

◆ grow_right_r()

template<typename ResidueOPIterator >
core::Size protocols::forge::methods::grow_right_r ( core::pose::Pose pose,
core::Size  anchor,
ResidueOPIterator  begin,
ResidueOPIterator  end,
bool const  correct_terminus = true,
bool const  use_existing_crd = false 
)

grow a series of residues to the right of a position

Parameters
[in,out]posePose the pose to modify
[in]anchorthe anchor position, can be 0 if operating on empty Pose
[in]beginiterator that points to the first ResidueOP
[in]enditerator that points just beyond the last ResidueOP
[in]correct_terminusre-add upper terminus if found, default true
[in]use_existing_crdNo idealization: place residues with existing coordinates, default false.
Returns
the right endpoint of the new growth or zero if nothing to do

References core::pose::add_upper_terminus_type_to_pose_residue(), core::pose::Pose::append_residue_by_bond(), core::pose::Pose::conformation(), core::sequence::end, core::conformation::Residue::is_upper_terminus(), core::pose::Pose::residue(), and core::conformation::Conformation::safely_append_polymer_residue_after_seqpos().

Referenced by grow_right_rtype(), and protocols::forge::build::SegmentInsert::modify_impl().

◆ grow_right_rtype()

template<typename ResidueTypeOPIterator >
core::Size protocols::forge::methods::grow_right_rtype ( core::pose::Pose pose,
core::Size  anchor,
ResidueTypeOPIterator  begin,
ResidueTypeOPIterator  end,
bool const  correct_terminus = true 
)

grow a series of residues to the right of a position

Parameters
[in,out]posePose the pose to modify
[in]anchorthe anchor position, can be 0 if operating on empty Pose
[in]beginiterator that points to the first ResidueTypeOP
[in]enditerator that points just beyond the last ResidueTypeOP
[in]correct_terminusre-add upper terminus if found, default true
Returns
the right endpoint of the new growth or zero if nothing to do

References core::pose::Pose::begin(), core::conformation::ResidueFactory::create_residue(), core::sequence::end, and grow_right_r().

Referenced by protocols::forge::build::GrowRight::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), and protocols::forge::build::SegmentRebuild::modify_impl().

◆ half_open_range()

template<typename T >
std::set< T > protocols::forge::methods::half_open_range ( T const  left,
T const  right,
T const  increment = 1 
)

return a set containing values in the half-open interval [left, right) filled by looping from left -> right with the given increment

References core::sequence::left.

◆ insert_closed_range()

template<typename T >
void protocols::forge::methods::insert_closed_range ( T const  left,
T const  right,
std::set< T > &  s,
T const  increment = 1 
)

add the values in the closed interval [left, right] to a set by looping from left -> right with the given increment

References core::sequence::left.

Referenced by protocols::forge::build::BuildManager::positions(), protocols::forge::build::SegmentInsert::undefined_positions(), and protocols::forge::build::BuildManager::union_of_intervals_containing_undefined_positions().

◆ insert_half_open_range()

template<typename T >
void protocols::forge::methods::insert_half_open_range ( T const  left,
T const  right,
std::set< T > &  s,
T const  increment = 1 
)

add the values in the half-open interval [left, right) to a set by looping from left -> right with the given increment

References core::sequence::left.

◆ interval_to_loop()

protocols::loops::Loop protocols::forge::methods::interval_to_loop ( protocols::forge::build::Interval const &  interval)

create Loop object w/ random cutpoint from an Interval

References protocols::forge::build::Interval::left, core::scoring::rg, and protocols::forge::build::Interval::right.

Referenced by intervals_to_loops().

◆ intervals_to_confirmation_loops()

template<typename IntervalIterator >
protocols::loops::Loops protocols::forge::methods::intervals_to_confirmation_loops ( IntervalIterator  begin,
IntervalIterator  end,
core::Size  nres 
)

create Loops object w/ random cutpoints from a collection of Intervals for KIC confirmation purpose

References protocols::loops::Loops::add_loop(), and core::sequence::end.

Referenced by protocols::forge::remodel::RemodelMover::confirm_sequence().

◆ intervals_to_loops()

template<typename IntervalIterator >
protocols::loops::Loops protocols::forge::methods::intervals_to_loops ( IntervalIterator  begin,
IntervalIterator  end 
)

◆ jumps_and_cuts_from_pose()

void protocols::forge::methods::jumps_and_cuts_from_pose ( core::pose::Pose pose,
utility::vector1< std::pair< core::Size, core::Size > > &  jumps,
utility::vector1< core::Size > &  cuts 
)

◆ jumps_connected_to_position()

utility::vector1< core::kinematics::Edge > protocols::forge::methods::jumps_connected_to_position ( core::Size const  pos,
core::kinematics::FoldTree const &  ft 
)

find all jump edges whose start or stop lands on the given position

Parameters
[in]posThe position.
[in]ftThe fold tree.
Returns
a list of jump edges
Parameters
[in]posThe position.
[in]ftThe fold tree.
Returns
a list of jump edges
Remarks
jump edges start/stop will be ordered such that 'pos' will always be at 'start'.

Referenced by protocols::forge::build::SegmentRebuild::modify_impl().

◆ linear_chainbreak() [1/2]

core::Real protocols::forge::methods::linear_chainbreak ( core::pose::Pose pose,
core::Size const  pos 
)

evaluate linear chainbreak at a position

Remarks
If necessary, will evaluate using a copy of the Pose with a cut fold tree. If cutpoint variants are present at chainbreak, will use existing variants and not modify them. If cutpoint variants are not found will add them and then remove them once calculation is finished.
If necessary, will evaluate using a copy of the Pose with a cut fold tree.

References add_cutpoint_variants(), protocols::buns::energy, core::pose::Pose::fold_tree(), fold_tree_from_pose(), core::kinematics::FoldTree::is_cutpoint(), core::scoring::linear_chainbreak, core::kinematics::FoldTree::new_jump(), core::kinematics::FoldTree::num_cutpoint(), remove_cutpoint_variants(), core::kinematics::FoldTree::root(), and core::pose::Pose::size().

◆ linear_chainbreak() [2/2]

core::Real protocols::forge::methods::linear_chainbreak ( core::pose::Pose const &  pose,
core::Size const  pos 
)

◆ make_star_foldtree()

void protocols::forge::methods::make_star_foldtree ( core::pose::Pose pose,
protocols::loops::Loops  loops 
)

◆ merge() [1/3]

core::kinematics::FoldTree protocols::forge::methods::merge ( core::kinematics::FoldTree const &  left_tree,
core::kinematics::FoldTree const &  right_tree 
)

merge two fold trees by jump between their roots

Parameters
[in]left_tree
[in]right_tree
Returns
Merged FoldTree with all vertices of right_tree placed to the right of vertices in left_tree. Jump labels in right_tree will be renumbered += left_tree.num_jump(). New tree is rooted in the same place as left_tree.

References core::kinematics::FoldTree::root().

Referenced by merge(), and protocols::forge::build::ConnectRight::modify_impl().

◆ merge() [2/3]

core::kinematics::FoldTree protocols::forge::methods::merge ( core::kinematics::FoldTree const &  left_tree,
core::Size const  left_position,
core::kinematics::FoldTree const &  right_tree,
core::Size const  right_position 
)

merge two fold trees connecting by jump via specified positions

Parameters
[in]left_tree
[in]left_positionposition on left_tree to connect
[in]right_tree
[in]right_positionposition on right_tree to connect
Returns
Merged FoldTree with all vertices of right_tree placed to the right of vertices in left_tree. Jump labels in right_tree will be renumbered += left_tree.num_jump(). New tree is rooted in the same place as left_tree.

References merge().

◆ merge() [3/3]

core::kinematics::FoldTree protocols::forge::methods::merge ( core::kinematics::FoldTree const &  left_tree,
core::Size const  left_position,
std::string const &  left_jump_atom,
core::kinematics::FoldTree const &  right_tree,
core::Size const  right_position,
std::string const &  right_jump_atom,
bool const  keep_stub_in_residue 
)

merge two fold trees connecting by jump via specified positions

Parameters
[in]left_tree
[in]left_positionposition on left_tree to connect
[in]left_jump_atomUse this atom for the left side of the jump. Use empty string to indicate default setting.
[in]right_tree
[in]right_positionposition on right_tree to connect
[in]right_jump_atomUse this atom for the right set of the jump. Use empty string to indicate default setting.
[in]keep_stub_in_residueAttempt to keep generated stubs of the jump within their respective residues. default False
Returns
Merged FoldTree with all vertices of right_tree placed to the right of vertices in left_tree. Jump labels in right_tree will be renumbered += left_tree.num_jump(). New tree is rooted in the same place as left_tree.

References core::kinematics::FoldTree::add_edge(), core::kinematics::FoldTree::delete_edge(), core::sequence::end, facet_containing_position(), core::kinematics::Edge::label(), core::kinematics::FoldTree::nres(), core::kinematics::FoldTree::num_jump(), core::kinematics::Edge::PEPTIDE, core::kinematics::FoldTree::reorder(), core::kinematics::FoldTree::root(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), and vertex_exists().

◆ order()

bool protocols::forge::methods::order ( core::kinematics::Edge e)

enforce Edge has start <= stop (swap if necessary)

Returns
true if start and stop were swapped

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

Referenced by add_vertex(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::apply(), protocols::simple_moves::PSSM2BfactorMover::apply(), protocols::stepwise::legacy::modeler::rna::RNA_AnalyticLoopCloser::close_at_cutpoint(), protocols::rna::denovo::coarse::CoarseRNA_LoopCloser::close_the_loop(), protocols::generalized_kinematic_closure::GeneralizedKIC::doKIC(), edges_within_interval(), find_connecting_jump(), protocols::generalized_kinematic_closure::GeneralizedKIC::generate_bridgeobjects_data_from_atomlist(), protocols::fold_from_loops::utils::Nub::get_nub_pieces(), protocols::simple_filters::SheetFilter::ingo_find_dir(), protocols::simple_filters::SheetFilter::ingo_find_ord(), protocols::simple_filters::SheetFilter::ingo_hand(), protocols::simple_filters::SheetFilter::ingo_lnl(), protocols::simple_filters::SheetFilter::ingo_sheet_stuff(), protocols::stepwise::sampler::rna::RNA_KinematicCloser::init(), core::chemical::gasteiger::PossibleAtomTypesForAtom::IsUnsaturated(), protocols::stepwise::modeler::protein::loop_close::StepWiseProteinKIC_LoopBridger::KIC_loop_close(), protocols::forge::build::SegmentInsert::modify_impl(), protocols::forge::build::SegmentRebuild::modify_impl(), core::fragment::picking_old::vall::VallResidue::order_vector(), protocols::frag_picker::VallResidue::order_vector(), protocols::pose_selectors::TopNByProperty::parse_my_tag(), core::sequence::MatrixScoringScheme::read_data(), core::sequence::SequenceProfile::read_from_binary_chk(), core::sequence::SequenceProfile::read_from_checkpoint(), core::sequence::ChemicalShiftSequence::read_from_file(), core::sequence::SequenceProfile::read_from_file(), regular_edges_within_interval(), remove_cutpoint(), remove_cutpoints(), replace(), protocols::stepwise::modeler::protein::loop_close::StepWiseProteinKIC_LoopBridger::sample_omega_recursively(), protocols::fldsgn::topology::SheetSet::set_sheet_number(), shift_jumps(), and protocols::kinematic_closure::ClosureProblem::solve().

◆ overlap_chainbreak() [1/2]

core::Real protocols::forge::methods::overlap_chainbreak ( core::pose::Pose pose,
core::Size const  pos 
)

evaluate overlap chainbreak at a position

Remarks
If necessary, will evaluate using a copy of the Pose with a cut fold tree. If cutpoint variants are present at chainbreak, will use existing variants and not modify them. If cutpoint variants are not found will add them and then remove them once calculation is finished.
If necessary, will evaluate using a copy of the Pose with a cut fold tree.

References add_cutpoint_variants(), protocols::buns::energy, core::pose::Pose::fold_tree(), fold_tree_from_pose(), core::kinematics::FoldTree::is_cutpoint(), core::kinematics::FoldTree::new_jump(), core::kinematics::FoldTree::num_cutpoint(), core::scoring::overlap_chainbreak, remove_cutpoint_variants(), core::kinematics::FoldTree::root(), and core::pose::Pose::size().

◆ overlap_chainbreak() [2/2]

core::Real protocols::forge::methods::overlap_chainbreak ( core::pose::Pose const &  pose,
core::Size const  pos 
)

evaluate overlap chainbreak at a position

Remarks
Copies the Pose, if necessary swaps the Pose with a cut fold tree, then evaluates the chainbreak.

References core::pose::Pose::fold_tree(), fold_tree_from_pose(), core::kinematics::FoldTree::is_cutpoint(), core::kinematics::FoldTree::new_jump(), core::kinematics::FoldTree::num_cutpoint(), and core::kinematics::FoldTree::root().

◆ parse_resfile_string_with_no_lockdown()

utility::vector1< bool > protocols::forge::methods::parse_resfile_string_with_no_lockdown ( core::pose::Pose const &  pose,
core::pack::task::PackerTask the_task,
std::string const &  resfile_string 
)

◆ quadratic_chainbreak() [1/2]

core::Real protocols::forge::methods::quadratic_chainbreak ( core::pose::Pose pose,
core::Size const  pos 
)

evaluate quadratic chainbreak at a position

Remarks
If necessary, will evaluate using a copy of the Pose with a cut fold tree. If cutpoint variants are present at chainbreak, will use existing variants and not modify them. If cutpoint variants are not found will add them and then remove them once calculation is finished.
If necessary, will evaluate using a copy of the Pose with a cut fold tree.

References add_cutpoint_variants(), core::scoring::chainbreak, protocols::buns::energy, core::pose::Pose::fold_tree(), fold_tree_from_pose(), core::kinematics::FoldTree::is_cutpoint(), core::kinematics::FoldTree::new_jump(), core::kinematics::FoldTree::num_cutpoint(), remove_cutpoint_variants(), core::kinematics::FoldTree::root(), and core::pose::Pose::size().

◆ quadratic_chainbreak() [2/2]

core::Real protocols::forge::methods::quadratic_chainbreak ( core::pose::Pose const &  pose,
core::Size const  pos 
)

evaluate quadratic chainbreak at a position

Remarks
Copies the Pose, if necessary swaps the Pose with a cut fold tree, then evaluates the chainbreak.

References core::pose::Pose::fold_tree(), fold_tree_from_pose(), core::kinematics::FoldTree::is_cutpoint(), core::kinematics::FoldTree::new_jump(), core::kinematics::FoldTree::num_cutpoint(), and core::kinematics::FoldTree::root().

◆ regular_edges_within_interval()

template<typename EdgeIterator >
utility::vector1< core::kinematics::Edge > protocols::forge::methods::regular_edges_within_interval ( core::Size const  left,
core::Size const  right,
EdgeIterator const  begin,
EdgeIterator const  end 
)

find regular (non-jump) edges contained within the interval [left, right]

References core::sequence::end, core::sequence::left, order(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

◆ regular_facet_containing_position()

template<typename EdgeIterator >
EdgeIterator protocols::forge::methods::regular_facet_containing_position ( core::Size const  pos,
EdgeIterator const  begin,
EdgeIterator const  end 
)

find regular facet (non-jump edge sans face vertices) that contains given position

Parameters
[in]posposition
[in]beginiterator pointing to the first edge to search
[in]enditerator pointing just past the last edge to search
Returns
iterator pointing to the Edge defining the facet that contains the position; if vertex lies on the face of an edge or vertex not found, returns 'end'

References core::sequence::end.

Referenced by add_vertex().

◆ remodel_generic_taskfactory()

core::pack::task::TaskFactoryOP protocols::forge::methods::remodel_generic_taskfactory ( )

◆ remove_cutpoint()

bool protocols::forge::methods::remove_cutpoint ( core::Size const  v,
core::kinematics::FoldTree ft 
)

◆ remove_cutpoint_variants()

bool protocols::forge::methods::remove_cutpoint_variants ( core::pose::Pose pose,
core::Size const  pos 
)

remove cutpoint variants at a specific position

Parameters
[in,out]Poseto modify
[in]positionat which to remove cutpoint variants
Returns
true if cutpoint variants removed, false if no cutpoint variants found or position not a topological cutpoint

References core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::pose::Pose::fold_tree(), core::conformation::Residue::has_variant_type(), core::kinematics::FoldTree::is_cutpoint(), core::pose::remove_variant_type_from_pose_residue(), core::pose::Pose::residue(), and core::pose::Pose::size().

Referenced by linear_chainbreak(), protocols::forge::build::Bridge::modify_impl(), protocols::forge::build::SegmentRebuild::modify_impl(), overlap_chainbreak(), and quadratic_chainbreak().

◆ remove_cutpoints()

void protocols::forge::methods::remove_cutpoints ( utility::vector1< core::Size > const &  cutpoints,
core::kinematics::FoldTree ft 
)

seal a fold tree by removing all specified cutpoints

Parameters
[in]cutpointsCutpoints to remove.
[in,out]ftThe input tree.
Returns
A new tree with cutpoints removed and all other topology kept constant.

References core::kinematics::FoldTree::delete_jump_and_intervening_cutpoint(), core::kinematics::FoldTree::nres(), order(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), and union_interval().

◆ replace()

core::kinematics::FoldTree protocols::forge::methods::replace ( core::kinematics::FoldTree const &  original_tree,
core::Size const  replace_begin,
core::Size const  replace_end,
core::kinematics::MoveMap const &  movemap,
core::kinematics::FoldTree const &  replacement_tree 
)

replace a section of one fold tree with another fold tree, connecting by jump between their roots

Parameters
[in]original_tree
[in]replace_beginresidue starting the section of original_tree to replace
[in]replace_endresidue ending the section of original_tree to replace
[in]movemapMoveMap whose fixed backbone positions dictates where new jumps may be placed.
[in]replacement_tree
Returns
FoldTree with section replaced.
Remarks
The procedure will attempt to honor the MoveMap as much as it can. The caveat is that sequences of calls to some FoldTree routines may shift the jumps internally in a way that is not easily predictable. If the procedure cannot find an allowed residue for a jump, it will make a jump to the median residue in the disconnected fold tree interval.

References core::kinematics::FoldTree::add_edge(), core::kinematics::FoldTree::begin(), core::kinematics::FoldTree::delete_edge(), core::kinematics::FoldTree::delete_self_edges(), core::kinematics::FoldTree::delete_seqpos(), core::kinematics::FoldTree::end(), core::sequence::end, facet_containing_position(), core::kinematics::MoveMap::get_bb(), core::kinematics::Edge::label(), core::kinematics::FoldTree::nres(), core::kinematics::FoldTree::num_jump(), order(), core::kinematics::Edge::PEPTIDE, core::kinematics::FoldTree::reorder(), core::scoring::rg, core::kinematics::FoldTree::root(), core::kinematics::MoveMap::set_bb(), core::kinematics::MoveMap::set_bb_true_range(), core::kinematics::FoldTree::size(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), TR(), and union_interval().

Referenced by core::io::silent::SilentStruct::add_energy(), core::scoring::power_diagram::PowerDiagram::add_single_atom_to_power_diagram(), core::io::silent::SilentStruct::add_string_value(), protocols::medal::MedalExchangeMover::apply(), protocols::flxbb::LayerDesignOperation::apply(), core::conformation::symmetry::comma_strings_to_map(), core::conformation::symmetry::comma_strings_to_pair_map(), core::conformation::symmetry::comma_strings_to_vector(), core::conformation::symmetry::comma_strings_to_vector_map(), core::io::silent::SilentStruct::copy_scores(), protocols::frag_picker::FragmentPicker::fragment_contacts(), protocols::forge::build::SegmentSwap::modify_impl(), protocols::frag_picker::FragmentPicker::nonlocal_pairs(), protocols::frag_picker::FragmentPicker::output_pair_counts(), core::conformation::symmetry::SymDof::read(), core::chemical::carbohydrates::CarbohydrateInfo::read_and_set_properties(), core::chemical::carbohydrates::replace_underscores_with_spaces(), and protocols::pockets::GenPharmacophore::ReplaceString().

◆ restore_residues() [1/2]

void protocols::forge::methods::restore_residues ( core::pose::Pose archive_pose,
core::pose::Pose pose 
)

restore residues (i.e. sidechains)

Parameters
[in]archive_posethe original Pose to take residues from
[out]posethe altered Pose that needs residue restoration
Remarks
length between two poses must be equal

References restore_residues(), and core::pose::Pose::size().

◆ restore_residues() [2/2]

void protocols::forge::methods::restore_residues ( std::map< core::Size, core::Size > const &  old2new,
core::pose::Pose archive_pose,
core::pose::Pose pose 
)

◆ set_single_loop_fold_tree()

void protocols::forge::methods::set_single_loop_fold_tree ( core::pose::Pose pose,
protocols::loops::Loop const &  loop 
)

◆ shift_jumps()

core::kinematics::FoldTree protocols::forge::methods::shift_jumps ( core::kinematics::FoldTree const &  ft,
core::kinematics::MoveMap const &  mm 
)

attempt to shift jumps in a fold tree based on fixed positions in a MoveMap

Parameters
[in]ftFoldTree to alter
[in]movemapMoveMap to try and honor
Returns
FoldTree with jumps shifted, if possible
Remarks
Procedure will shift a jump position on a continuous segment to a randomly selected fixed position on that segment specified by the MoveMap. No changes will be made to a jump point if it is contained within a segment lacking valid fixed positions. This procedure has the side effect of collapsing all jump points to a single point within segments that have fixed positions.

References core::kinematics::FoldTree::add_edge(), add_vertex(), core::kinematics::MoveMap::get_bb(), core::kinematics::FoldTree::nres(), order(), core::kinematics::FoldTree::reorder(), core::scoring::rg, core::kinematics::FoldTree::root(), and union_interval().

◆ smallmer_from_largemer()

core::fragment::ConstantLengthFragSetOP protocols::forge::methods::smallmer_from_largemer ( core::fragment::ConstFrameIterator  begin,
core::fragment::ConstFrameIterator  end,
core::Size const  smallmer_size,
bool const  all_possible_smallmers 
)

create small-mers from large-mers

Parameters
[in]all_possible_smallmersDefault false. If true, grab all possible smallmers using every possible starting position in a largemer (you could end up with a lot of fragments per position). If false, grab smallmers using only the first position of a largemer as the starting position.

References core::sequence::end.

Referenced by protocols::forge::components::VarLengthBuild::pick_all_fragments(), and protocols::protein_interface_design::movers::LoopRemodel::pick_loop_frags().

◆ TR() [1/3]

static basic::Tracer protocols::forge::methods::TR ( "protocols.forge.methods.fold_tree_functions"  )
static

◆ TR() [2/3]

static basic::Tracer protocols::forge::methods::TR ( "protocols.forge.methods.pose_mod"  )
static

◆ TR() [3/3]

static basic::Tracer protocols::forge::methods::TR ( "protocols.forge.methods.util"  )
static

◆ trans_omega()

void protocols::forge::methods::trans_omega ( core::Size const  left,
core::Size const  right,
core::pose::Pose pose 
)

◆ union_interval()

void protocols::forge::methods::union_interval ( core::Size const  root,
core::Size const  left,
core::Size const  right,
utility::graph::DisjointSets &  uf 
)

perform union( root, i ) for all 'i' within the closed interval [left, right]

Parameters
[in]rootposition to union with; can be any number, does not have to be a true root of a set
[in]leftstart of the interval
[in]rightend of the interval
[in,out]uf

References core::sequence::left.

Referenced by find_connecting_jump(), remove_cutpoint(), remove_cutpoints(), replace(), and shift_jumps().

◆ vertex_exists()

bool protocols::forge::methods::vertex_exists ( core::Size const  v,
core::kinematics::FoldTree const &  ft 
)

query if vertex already exists in fold tree

Referenced by merge().