Rosetta
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
protocols::legacy_sewing::Assembly Class Referenceabstract

An Assembly is a collection of SewSegments. Assemblies are created using the geometric "compatibility" data generated by the Hasher. More...

#include <Assembly.hh>

Inheritance diagram for protocols::legacy_sewing::Assembly:
Inheritance graph
[legend]

Public Member Functions

 Assembly ()
 
virtual AssemblyOP clone ()=0
 
void add_model (SewGraphCOP graph, Model const &model, bool available=true)
 Add a model to the Assembly. Only used for first node and special cases. More...
 
void update_coords_from_pose (core::pose::Pose const &pose)
 
std::map< SewSegment, SewSegmentget_matching_model_segments (Model const &model, ScoreResult const &edge_score) const
 
ScoreResult get_score_result (ModelNode const *model_1_node, HashEdge const *const cur_edge, SewGraphCOP graph) const
 
ModelNode const * starting_node () const
 
ModelNode const * ending_node () const
 
utility::vector1< boost::tuple< ModelNode const *, ModelNode const *, HashEdge const * > > edges () const
 
core::Size get_next_reference_node (SewGraphOP graph) const
 Pick which model to use as the reference model for the next node additon. More...
 
utility::vector1< SewSegmentget_chimera_segments (std::map< SewSegment, SewSegment > const &matching_segments, std::map< SegmentPair, AtomMap > const &segment_matches, Model const &mobile_model)
 
SewSegment create_chimera_segment (SewSegment const &reference_segment, SewSegment const &mobile_segment, AtomMap const &atom_map, bool reference_is_nter) const
 
utility::vector1< SewSegmentsegments () const
 
utility::vector1< utility::vector1< SewSegment > > all_segments () const
 
utility::vector1< SewSegmentget_model_segments (int model_id) const
 
std::set< core::Sizemodel_ids () const
 
Model regenerate_model (int model_id) const
 
virtual void append_model (Model const &model, ScoreResult const &edge_score)=0
 append the given model to the end of the assembly More...
 
void add_loop_segment (core::pose::Pose const &pose, protocols::loops::Loop loop, core::Size segment)
 
AtomMap atom_map_from_score_result (ScoreResult const &alignment_scores) const
 
void follow_edge (SewGraphCOP graph, HashEdge const *const edge, core::Size source_index)
 
void align_model (Model &mobile_model, AtomMap const &atom_alignments, int reference_model_id) const
 
void map_residues (int reference_model_id, Model mobile_model, AtomMap const &atom_alignments)
 create mappings between SewResidues in the Assembly that map to the same pose number More...
 
NativeRotamersMap generate_native_rotamers_map () const
 
void prepare_for_packing (core::pose::Pose &pose, core::pack::task::TaskFactoryOP task_factory, core::Real base_native_bonus, core::Size neighbor_cutoff) const
 Update the task factory such that the 'native' rotamers are added to the rotamer set, and the native residues are favored. More...
 
core::pose::Pose to_pose (std::string residue_type_set, bool create_cuts=true) const
 
core::pose::Pose to_multichain_pose (std::string residue_type_set) const
 
bool reorder_randomly (core::Real max_loop_distance)
 reorder segments in a random fashion that satisfies the maximum loop distance cutoff If this is not possible then return false, otherwise true More...
 
void reorder (utility::vector1< core::Size > new_order)
 
utility::vector1< utility::vector1< core::Size > > find_possible_orders (core::Real max_loop_distance) const
 
core::Size pose_num (int model_id, core::Size resnum) const
 
core::Size total_residue () const
 
utility::vector1< core::Sizepose_loop_anchors () const
 
utility::vector1< core::Sizedisconnected_segments () const
 
std::set< core::Sizenative_positions (core::pose::Pose const &pose) const
 Records which positions in the given pose match the sequence identify of at least one of the amino acids from the underlying models at that position. More...
 
core::Real percent_native (core::pose::Pose const &pose) const
 count the amount of 'native' residues retained in the pose More...
 
std::string natives_select (core::pose::Pose const &pose, std::string object_name="") const
 print pymol selection of "native" positions More...
 
utility::vector1< std::pair< core::Size, core::Size > > path () const
 
std::string string_path () const
 
std::string string_blosum (utility::vector1< std::pair< core::Real, core::Size > > blosum_history) const
 
void set_partner (core::pose::PoseOP partner_pose)
 
core::pose::PoseOP get_partner () const
 
void append_segments (utility::vector1< SewSegment > const &segments)
 append the segments to the given assembly. This should be used very infrequently. The normal way to add segments is to follow an edge More...
 
void delete_segments (core::Size seg_index)
 delete segments at the given index. This should be used very infrequently More...
 
ModelConstIterator< SewSegmentassembly_begin () const
 
ModelIterator< SewSegmentassembly_begin ()
 
ModelConstIterator< SewSegmentassembly_end () const
 
ModelIterator< SewSegmentassembly_end ()
 

Public Attributes

utility::vector1< std::pair< core::Real, core::Size > > blosum_history_
 

Protected Attributes

SegmentGraph segments_
 
core::pose::PoseOP partner_pose_
 
std::set< core::Sizeavailable_nodes_
 
utility::vector1< utility::vector1< SewSegment > > all_segments_
 
utility::vector1< boost::tuple< ModelNode const *, ModelNode const *, HashEdge const * > > edge_path_
 
utility::vector1< std::pair< core::Size, core::Size > > path_
 

Friends

std::ostream & operator<< (std::ostream &out, Assembly const &atom)
 

Detailed Description

An Assembly is a collection of SewSegments. Assemblies are created using the geometric "compatibility" data generated by the Hasher.

Constructor & Destructor Documentation

◆ Assembly()

protocols::legacy_sewing::Assembly::Assembly ( )
default

Member Function Documentation

◆ add_loop_segment()

void protocols::legacy_sewing::Assembly::add_loop_segment ( core::pose::Pose const &  pose,
protocols::loops::Loop  loop,
core::Size  segment 
)

◆ add_model()

void protocols::legacy_sewing::Assembly::add_model ( SewGraphCOP  graph,
Model const &  model,
bool  available = true 
)

Add a model to the Assembly. Only used for first node and special cases.

Only used to add the first model to the Assembly, subsequent models should be added using the follow_edge function.

References protocols::legacy_sewing::SegmentGraph::add_connection(), all_segments_, available_nodes_, protocols::legacy_sewing::SegmentGraph::forward_connections(), protocols::legacy_sewing::Model::model_id_, segments_, and protocols::legacy_sewing::Model::segments_.

◆ align_model()

void protocols::legacy_sewing::Assembly::align_model ( Model mobile_model,
AtomMap const &  atom_alignments,
int  reference_model_id 
) const

◆ all_segments()

utility::vector1< utility::vector1< SewSegment > > protocols::legacy_sewing::Assembly::all_segments ( ) const

References all_segments_.

◆ append_model()

virtual void protocols::legacy_sewing::Assembly::append_model ( Model const &  model,
ScoreResult const &  edge_score 
)
pure virtual

append the given model to the end of the assembly

Implemented in protocols::legacy_sewing::DisembodiedAssembly, and protocols::legacy_sewing::ContinuousAssembly.

Referenced by follow_edge().

◆ append_segments()

void protocols::legacy_sewing::Assembly::append_segments ( utility::vector1< SewSegment > const &  segments)

append the segments to the given assembly. This should be used very infrequently. The normal way to add segments is to follow an edge

References all_segments_, segments(), and segments_.

◆ assembly_begin() [1/2]

ModelIterator< SewSegment > protocols::legacy_sewing::Assembly::assembly_begin ( )

References segments_.

◆ assembly_begin() [2/2]

ModelConstIterator< SewSegment > protocols::legacy_sewing::Assembly::assembly_begin ( ) const

References segments_.

Referenced by update_coords_from_pose().

◆ assembly_end() [1/2]

ModelIterator< SewSegment > protocols::legacy_sewing::Assembly::assembly_end ( )

References segments_.

◆ assembly_end() [2/2]

ModelConstIterator< SewSegment > protocols::legacy_sewing::Assembly::assembly_end ( ) const

References segments_.

Referenced by update_coords_from_pose().

◆ atom_map_from_score_result()

AtomMap protocols::legacy_sewing::Assembly::atom_map_from_score_result ( ScoreResult const &  alignment_scores) const

Referenced by follow_edge().

◆ clone()

virtual AssemblyOP protocols::legacy_sewing::Assembly::clone ( )
pure virtual

◆ create_chimera_segment()

SewSegment protocols::legacy_sewing::Assembly::create_chimera_segment ( SewSegment const &  reference_segment,
SewSegment const &  mobile_segment,
AtomMap const &  atom_map,
bool  reference_is_nter 
) const

◆ delete_segments()

void protocols::legacy_sewing::Assembly::delete_segments ( core::Size  seg_index)

delete segments at the given index. This should be used very infrequently

References all_segments_, and segments_.

◆ disconnected_segments()

utility::vector1< core::Size > protocols::legacy_sewing::Assembly::disconnected_segments ( ) const

◆ edges()

utility::vector1< boost::tuple< ModelNode const *, ModelNode const *, HashEdge const * > > protocols::legacy_sewing::Assembly::edges ( ) const

References edge_path_.

◆ ending_node()

ModelNode const * protocols::legacy_sewing::Assembly::ending_node ( ) const

References edge_path_.

◆ find_possible_orders()

utility::vector1< utility::vector1< core::Size > > protocols::legacy_sewing::Assembly::find_possible_orders ( core::Real  max_loop_distance) const

◆ follow_edge()

void protocols::legacy_sewing::Assembly::follow_edge ( SewGraphCOP  graph,
HashEdge const *const  edge,
core::Size  source_index 
)

◆ generate_native_rotamers_map()

NativeRotamersMap protocols::legacy_sewing::Assembly::generate_native_rotamers_map ( ) const

create a map of sequence positions to ResidueOP objects for each of the 'natives' seen during the Assembly process. Ensure that if a residue is the first or last in the Assembly then we create lower and upper terminus types for that residues at tha position.

References core::conformation::ResidueFactory::create_residue(), core::chemical::FA_STANDARD, core::chemical::LOWER_TERMINUS_VARIANT, segments_, total_residue(), and core::chemical::UPPER_TERMINUS_VARIANT.

Referenced by prepare_for_packing().

◆ get_chimera_segments()

utility::vector1< SewSegment > protocols::legacy_sewing::Assembly::get_chimera_segments ( std::map< SewSegment, SewSegment > const &  matching_segments,
std::map< SegmentPair, AtomMap > const &  segment_matches,
Model const &  mobile_model 
)

◆ get_matching_model_segments()

std::map< SewSegment, SewSegment > protocols::legacy_sewing::Assembly::get_matching_model_segments ( Model const &  model,
ScoreResult const &  edge_score 
) const

◆ get_model_segments()

utility::vector1< SewSegment > protocols::legacy_sewing::Assembly::get_model_segments ( int  model_id) const

References all_segments_.

Referenced by regenerate_model(), and to_multichain_pose().

◆ get_next_reference_node()

core::Size protocols::legacy_sewing::Assembly::get_next_reference_node ( SewGraphOP  graph) const

Pick which model to use as the reference model for the next node additon.

TODO remove logic for picking nodes and just return available nodes! we are convoluting sampling and the conformation itself by not doing that

References available_nodes_.

◆ get_partner()

core::pose::PoseOP protocols::legacy_sewing::Assembly::get_partner ( ) const

References partner_pose_.

◆ get_score_result()

ScoreResult protocols::legacy_sewing::Assembly::get_score_result ( ModelNode const *  model_1_node,
HashEdge const *const  cur_edge,
SewGraphCOP  graph 
) const

◆ map_residues()

void protocols::legacy_sewing::Assembly::map_residues ( int  reference_model_id,
Model  mobile_model,
AtomMap const &  atom_alignments 
)

create mappings between SewResidues in the Assembly that map to the same pose number

Use the given atom alignments to create mappings between SewResidues in the Assembly. These mappings will be used to generate 'Native' Rotamers for positions in the final Pose

References all_segments_, protocols::legacy_sewing::SewAtom::atomno_, protocols::legacy_sewing::SewResidue::basis_atoms_, protocols::legacy_sewing::SewResidue::matched_residues_, protocols::legacy_sewing::SewSegment::model_id_, protocols::legacy_sewing::SewSegment::residues_, protocols::legacy_sewing::SewResidue::resnum_, protocols::legacy_sewing::Model::segments_, and protocols::legacy_sewing::TR().

◆ model_ids()

std::set< core::Size > protocols::legacy_sewing::Assembly::model_ids ( ) const

References all_segments_.

Referenced by to_multichain_pose().

◆ native_positions()

std::set< core::Size > protocols::legacy_sewing::Assembly::native_positions ( core::pose::Pose const &  pose) const

Records which positions in the given pose match the sequence identify of at least one of the amino acids from the underlying models at that position.

References core::chemical::CENTROID, core::chemical::FA_STANDARD, core::pose::Pose::is_centroid(), core::pose::Pose::is_fullatom(), core::chemical::ResidueTypeBase::name3(), core::pose::Pose::residue(), segments_, protocols::legacy_sewing::TR(), and core::conformation::Residue::type().

Referenced by natives_select(), and percent_native().

◆ natives_select()

std::string protocols::legacy_sewing::Assembly::natives_select ( core::pose::Pose const &  pose,
std::string  object_name = "" 
) const

print pymol selection of "native" positions

References native_positions().

◆ path()

utility::vector1< std::pair< core::Size, core::Size > > protocols::legacy_sewing::Assembly::path ( ) const

References path_.

◆ percent_native()

core::Real protocols::legacy_sewing::Assembly::percent_native ( core::pose::Pose const &  pose) const

count the amount of 'native' residues retained in the pose

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

◆ pose_loop_anchors()

utility::vector1< core::Size > protocols::legacy_sewing::Assembly::pose_loop_anchors ( ) const

◆ pose_num()

core::Size protocols::legacy_sewing::Assembly::pose_num ( int  model_id,
core::Size  resnum 
) const

◆ prepare_for_packing()

void protocols::legacy_sewing::Assembly::prepare_for_packing ( core::pose::Pose pose,
core::pack::task::TaskFactoryOP  task_factory,
core::Real  base_native_bonus,
core::Size  neighbor_cutoff 
) const

Update the task factory such that the 'native' rotamers are added to the rotamer set, and the native residues are favored.

prepare the pose for packing by adding all the rotmaers defined by the chi-angles in SewResidue. Also, add residue type constraints to the Pose for each of the 'native' residue types for each position in the pose.

References core::chemical::FA_STANDARD, generate_native_rotamers_map(), and core::pose::Pose::update_residue_neighbors().

◆ regenerate_model()

Model protocols::legacy_sewing::Assembly::regenerate_model ( int  model_id) const

◆ reorder()

void protocols::legacy_sewing::Assembly::reorder ( utility::vector1< core::Size new_order)

◆ reorder_randomly()

bool protocols::legacy_sewing::Assembly::reorder_randomly ( core::Real  max_loop_distance)

reorder segments in a random fashion that satisfies the maximum loop distance cutoff If this is not possible then return false, otherwise true

References find_possible_orders(), protocols::legacy_sewing::SegmentGraph::reorder(), and segments_.

◆ segments()

utility::vector1< SewSegment > protocols::legacy_sewing::Assembly::segments ( ) const

References segments_.

Referenced by append_segments().

◆ set_partner()

void protocols::legacy_sewing::Assembly::set_partner ( core::pose::PoseOP  partner_pose)

References partner_pose_.

◆ starting_node()

ModelNode const * protocols::legacy_sewing::Assembly::starting_node ( ) const

References edge_path_.

◆ string_blosum()

std::string protocols::legacy_sewing::Assembly::string_blosum ( utility::vector1< std::pair< core::Real, core::Size > >  blosum_history) const

◆ string_path()

std::string protocols::legacy_sewing::Assembly::string_path ( ) const

References path_.

◆ to_multichain_pose()

core::pose::Pose protocols::legacy_sewing::Assembly::to_multichain_pose ( std::string  residue_type_set) const

◆ to_pose()

core::pose::Pose protocols::legacy_sewing::Assembly::to_pose ( std::string  residue_type_set,
bool  create_cuts = true 
) const

◆ total_residue()

core::Size protocols::legacy_sewing::Assembly::total_residue ( ) const

◆ update_coords_from_pose()

void protocols::legacy_sewing::Assembly::update_coords_from_pose ( core::pose::Pose const &  pose)

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
Assembly const &  atom 
)
friend

Member Data Documentation

◆ all_segments_

utility::vector1< utility::vector1<SewSegment> > protocols::legacy_sewing::Assembly::all_segments_
protected

◆ available_nodes_

std::set<core::Size> protocols::legacy_sewing::Assembly::available_nodes_
protected

◆ blosum_history_

utility::vector1< std::pair<core::Real, core::Size> > protocols::legacy_sewing::Assembly::blosum_history_

◆ edge_path_

utility::vector1< boost::tuple<ModelNode const *, ModelNode const *, HashEdge const *> > protocols::legacy_sewing::Assembly::edge_path_
protected

◆ partner_pose_

core::pose::PoseOP protocols::legacy_sewing::Assembly::partner_pose_
protected

Referenced by get_partner(), set_partner(), and to_pose().

◆ path_

utility::vector1< std::pair<core::Size, core::Size> > protocols::legacy_sewing::Assembly::path_
protected

Referenced by follow_edge(), path(), and string_path().

◆ segments_

SegmentGraph protocols::legacy_sewing::Assembly::segments_
protected

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