Rosetta  2016.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::conformation::Conformation Class Reference

A container of Residues and the kinematics to manage them. More...

#include <Conformation.hh>

Inheritance diagram for core::conformation::Conformation:
Inheritance graph
[legend]

Public Types

typedef kinematics::Jump Jump
 
typedef kinematics::FoldTree FoldTree
 
typedef kinematics::FoldTreeOP FoldTreeOP
 
typedef kinematics::AtomTree AtomTree
 
typedef kinematics::AtomTreeOP AtomTreeOP
 
typedef id::AtomID AtomID
 
typedef
core::conformation::parametric::ParametersSet 
ParametersSet
 
typedef
core::conformation::parametric::ParametersSetOP 
ParametersSetOP
 
typedef
core::conformation::parametric::ParametersSetCOP 
ParametersSetCOP
 
typedef
core::conformation::parametric::Parameters 
Parameters
 
typedef
core::conformation::parametric::ParametersOP 
ParametersOP
 
typedef
core::conformation::parametric::ParametersOP 
ParametersCOP
 
typedef id::AtomID_Mask AtomID_Mask
 
typedef id::DOF_ID DOF_ID
 
typedef id::TorsionID TorsionID
 
typedef kinematics::DomainMap DomainMap
 
typedef
core::conformation::signals::ConnectionEvent 
ConnectionEvent
 
typedef
core::conformation::signals::GeneralEvent 
GeneralEvent
 
typedef
core::conformation::signals::IdentityEvent 
IdentityEvent
 
typedef
core::conformation::signals::LengthEvent 
LengthEvent
 
typedef
core::conformation::signals::XYZEvent 
XYZEvent
 
typedef std::map< id::AtomID,
Vector
FragXYZ
 
typedef std::map< id::StubID,
kinematics::RT
FragRT
 

Public Member Functions

 Conformation ()
 constructor More...
 
virtual ~Conformation ()
 default destructor More...
 
 Conformation (Conformation const &src)
 copy constructor More...
 
virtual Conformationoperator= (Conformation const &src)
 equals operator More...
 
virtual void detached_copy (Conformation const &src)
 copy the other conformation into this, but make sure that the two share no possibly-non-bitwise-const data nor do they refer to each other (as the AtomTree does with its topological observer system). More...
 
virtual ConformationOP clone () const
 clone the conformation More...
 
void clear ()
 clear data More...
 
ConformationCOP get_self_ptr () const
 self pointers More...
 
ConformationOP get_self_ptr ()
 
ConformationCAP get_self_weak_ptr () const
 
ConformationAP get_self_weak_ptr ()
 
void debug_residue_torsions (bool verbose=false) const
 debugging More...
 
void show_residue_connections () const
 Show residue connections for debugging purposes. More...
 
void show_residue_connections (std::ostream &os) const
 Show residue connections for debugging purposes. More...
 
virtual bool same_type_as_me (Conformation const &other, bool recurse=true) const
 determine the type of the ConformationOP More...
 
bool sequence_matches (Conformation const &other) const
 do the names of all residues in this and src match? More...
 
Size size () const
 Returns the number of residues in the Conformation. More...
 
bool empty () const
 Returns true if this conformation does not have any residues. More...
 
bool is_residue_typeset (std::string tag) const
 convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos ) More...
 
bool is_fullatom () const
 convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos ) More...
 
bool is_centroid () const
 convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos ) More...
 
bool is_membrane () const
 convenience test for if the conformation contains information for a membrane protein More...
 
bool contains_carbohydrate_residues () const
 Return true if this conformation contains any carbohydrate residues. More...
 
void contains_carbohydrate_residues (bool setting)
 Set whether this conformation contains any carbohydrate residues. More...
 
Size chain_end (Size chain) const
 Returns the position number of the last residue in <chain> More...
 
Size chain_begin (Size chain) const
 Returns the position number of the first residue in <chain> More...
 
Size num_chains () const
 Returns the number of chains. More...
 
utility::vector1< Size > const & chain_endings () const
 Returns the list of chain endings. More...
 
void chain_endings (utility::vector1< Size > const &endings)
 Sets the list of chain endings. More...
 
void insert_chain_ending (Size seqpos)
 Marks <seqpos> as the end of a new chain. More...
 
void delete_chain_ending (Size seqpos)
 Deletes <seqpos> from the list of chain endings. More...
 
void reset_chain_endings ()
 Resets chain data so that the Conformation is marked as a single chain. More...
 
void chains_from_termini ()
 Rederive the chains from the termini/polymer status. More...
 
char secstruct (Size seqpos) const
 Returns the secondary structure the position <seqpos> More...
 
virtual void set_secstruct (Size seqpos, char setting)
 Sets the secondary structure of the position <seqpos> to <setting> More...
 
void set_membrane_info (membrane::MembraneInfoOP mem_info)
 Setup a Membrane Info object in Conformation - pos & topology. More...
 
membrane::MembraneInfoOP membrane_info ()
 Returns the const MembraneInfo object in conformation. More...
 
membrane::MembraneInfoOP membrane_info () const
 Returns the const MembraneInfo object in conformation. More...
 
void update_membrane_position (Vector center, Vector normal)
 Update Normal, Center in the Membrane. More...
 
void check_valid_membrane () const
 Check that a new membrane position is valid. More...
 
virtual FoldTree const & fold_tree () const
 Returns the conformation's FoldTree. More...
 
virtual void fold_tree (FoldTree const &fold_tree_in)
 Sets the FoldTree to <fold_tree_in> More...
 
AtomTree const & atom_tree () const
 Returns the conformation's AtomTree. More...
 
chemical::AA const & aa (Size seqpos) const
 Returns the AA enum for position <seqpos> More...
 
std::string annotated_sequence (bool show_all_variants) const
 Returns the variant-tagged string representing the residue types that make up a conformation; e.g. M[MET:N-Terminus-Variant]CDH[HIS_D]LLR[ARG:C-Terminus-Variant]. More...
 
Residue const & residue (Size seqpos) const
 access one of the residues More...
 
ResidueOP residue_op (Size seqpos)
 Access one of the residues, using OP. More...
 
ResidueCOP residue_cop (Size seqpos) const
 access one of the residues, using COP More...
 
chemical::ResidueType const & residue_type (Size seqpos) const
 access one of the residue's types – avoids coord/torsion update More...
 
ResidueCOPs const_residues () const
 Inefficient – constructs copy of residues_. More...
 
virtual void append_residue_by_jump (conformation::Residue const &new_rsd, Size anchor_residue, std::string const &anchor_atom="", std::string const &root_atom="", bool start_new_chain=false)
 Append a new residue by a jump. More...
 
void insert_residue_by_jump (Residue const &new_rsd_in, Size seqpos, Size anchor_pos, std::string const &anchor_atom="", std::string const &root_atom="", bool new_chain=false)
 Insert a new residue by jump. If new_chain is "true", then seqpos must be the last residue of one chain (i.e. residue(seqpos).chain() != residue(seqpos+1).chain() ) More...
 
void insert_residue_by_bond (Residue const &new_rsd_in, Size seqpos, Size anchor_pos, bool build_ideal_geometry=false, std::string const &anchor_atom="", std::string const &root_atom="", bool new_chain=false, bool lookup_bond_length=false)
 Insert a new residue by jump. If new_chain is "true", then seqpos must be the last residue of one chain (i.e. residue(seqpos).chain() != residue(seqpos+1).chain() ) More...
 
void append_residue_by_bond (conformation::Residue const &new_rsd, bool build_ideal_geometry=false, int connection_index=0, Size anchor_residue=0, int anchor_connection_index=0, bool start_new_chain=false, bool lookup_bond_length=false)
 Append a new residue by a bond. More...
 
void append_polymer_residue_after_seqpos (Residue const &new_rsd, Size seqpos, bool build_ideal_geometry)
 glues to seqpos and perhaps also seqpos+1 More...
 
void safely_append_polymer_residue_after_seqpos (Residue const &new_rsd, Size seqpos, bool build_ideal_geometry)
 glues to seqpos and perhaps also seqpos+1, removes termini variants if necessary More...
 
void prepend_polymer_residue_before_seqpos (Residue const &new_rsd, Size seqpos, bool build_ideal_geometry)
 glues to seqpos and perhaps also seqpos-1 More...
 
void safely_prepend_polymer_residue_before_seqpos (Residue const &new_rsd, Size seqpos, bool build_ideal_geometry)
 glues to seqpos and perhaps also seqpos-1, removes termini variants if necessary More...
 
virtual void replace_residue (Size seqpos, Residue const &new_rsd, bool orient_backbone)
 replace residue More...
 
virtual void replace_residue (Size seqpos, Residue const &new_rsd, utility::vector1< std::pair< std::string, std::string > > const &atom_pairs)
 function to replace a residue based on superposition on the specified input atom pairs More...
 
void delete_polymer_residue (Size seqpos)
 Delete polymer residue at the given sequence position. More...
 
void delete_residue_slow (Size seqpos)
 Slow method that relies on FoldTree::delete_seqpos, rebuilds atomtree, can handle jumps/root residue. More...
 
void delete_residue_range_slow (Size range_begin, Size range_end)
 Slow method that relies on FoldTree::delete_seqpos, rebuilds atomtree, can handle jumps/root residue. More...
 
virtual utility::vector1< boolget_residue_mask () const
 returns a mask of residues to be used in scoring More...
 
virtual Real get_residue_weight (core::Size, core::Size) const
 returns a residue-pair weight More...
 
void detect_bonds ()
 
void detect_pseudobonds ()
 
virtual void declare_chemical_bond (Size seqpos1, std::string const &atom_name1, Size seqpos2, std::string const &atom_name2)
 Declare that a chemical bond exists between two residues. More...
 
void rebuild_polymer_bond_dependent_atoms_this_residue_only (Size seqpos)
 Rebuilds the atoms that are depenent on polymer bonds for the specified residue only. More...
 
void rebuild_polymer_bond_dependent_atoms (Size seqpos)
 Rebuild the atoms ( like HN(seqpos), OC(seqpos+1) ) that are dependent on the polymer bond between seqpos and seqpos+1. More...
 
void rebuild_residue_connection_dependent_atoms (Size seqpos, Size connid)
 
AtomID inter_residue_connection_partner (Size seqpos, int connection_index) const
 This returns the AtomID of the atom in the other residue to which the "connection_index"-th connection of residue seqpos is connected to. More...
 
utility::vector1
< core::id::AtomID
bonded_neighbor_all_res (core::id::AtomID atomid, bool virt=false) const
 get all atoms bonded to another More...
 
void fill_missing_atoms (id::AtomID_Mask missing)
 
bool atom_is_backbone_norefold (Size pos, Size atomno) const
 returns true if atom is part of backbone. More...
 
void set_stub_transform (id::StubID const &stub_id1, id::StubID const &stub_id2, kinematics::RT const &target_rt)
 Set the transform between two stubs – only works if there's a jump between the two sets of stubatoms. More...
 
kinematics::RT get_stub_transform (id::StubID const &stub_id1, id::StubID const &stub_id2) const
 get the transform between two stubs More...
 
void set_jump_atom_stub_id (id::StubID const &id)
 
kinematics::Stub stub_from_id (id::StubID const &id) const
 
kinematics::Stub upstream_jump_stub (int jump_number) const
 The upstream and downstream Stubs are the coordinate frames between which this jump is transforming. More...
 
kinematics::Stub downstream_jump_stub (int jump_number) const
 The upstream and downstream Stubs are the coordinate frames between which this jump is transforming. More...
 
void set_polymeric_connection (Size res_id_lower, Size res_id_upper)
 identify polymeric connections More...
 
void set_noncanonical_connection (Size res_id_lower, Size lr_conn_id, Size res_id_upper, Size ur_conn_id)
 Create an arbitrary covalent connection between two residues. More...
 
void update_polymeric_connection (Size lower_seqpos, bool update_connection_dep_atoms=false)
 Update the polymer connection status between lower_seqpos and lower_seqpos+1 based on chainID's and termini. If update_connection_dep_atoms is true, positions of atoms dependent on the polymer connection are updated. More...
 
void update_noncanonical_connection (Size lower_seqpos, Size lr_conn_id, Size upper_seqpos, Size ur_conn_id)
 Update the connection status between the lower_seqpos residue's lr_conn_id connection ID and the upper_seqpos residue's ur_conn_id connection ID. More...
 
virtual void detect_disulfides (utility::vector1< Size > const &disulf_one=utility::vector1< Size >(), utility::vector1< Size > const &disulf_two=utility::vector1< Size >())
 Detect existing disulfides from the protein structure using suggestions from the FileData (or not!) More...
 
void fix_disulfides (utility::vector1< std::pair< Size, Size > > disulf_bonds)
 Assigns disulfide bonds based on a pre-determined list. More...
 
virtual void create_new_parameters_set ()
 Create a new (empty) ParametersSet object and add its owning pointer to the current Conformation object. More...
 
virtual void add_parameters_set (ParametersSetOP newset)
 Add a (predefined) ParametersSet object (via its owning pointer) to the current Conformation object. More...
 
virtual core::Size n_parameters_sets () const
 Get the number of parameters sets defined for this Conformation. More...
 
virtual void clear_parameters_set_list ()
 Delete the list of ParametersSetOP objects. More...
 
virtual ParametersSetOP parameters_set (core::Size const index)
 Access one of the ParametersSets objects linked to this Conformation. More...
 
virtual ParametersSetCOP parameters_set (core::Size const index) const
 Const access to one of the ParametersSets objects linked to this Conformation. More...
 
virtual void insert_conformation_by_jump (Conformation const &conf, Size insert_seqpos, Size insert_jumppos, Size anchor_pos, Size anchor_jump_number=0, std::string const &anchor_atom="", std::string const &root_atom="")
 Insert one conformation into another. See FoldTree::insert_fold_tree_by_jump. More...
 
void copy_segment (Size size, Conformation const &src, Size begin, Size src_begin)
 copy a stretch of coordinates/torsions from another Conformation More...
 
void insert_fragment (id::StubID const &instub_id, FragRT const &outstub_transforms, FragXYZ const &frag_xyz)
 
Real dof (DOF_ID const &id) const
 Returns the AtomTree degree of freedom (DOF) <id> More...
 
virtual void set_dof (DOF_ID const &id, Real setting)
 Sets the AtomTree degree of freedom (DOF) <id> to <setting> More...
 
Real torsion (TorsionID const &id) const
 Return the torsion angle OR rigid-body offset for <id> More...
 
virtual void set_torsion (TorsionID const &id, Real setting)
 Sets the AtomTree DOF and the torsion OR rigid-body offset in the corresponding Residue or Jump. More...
 
Real torsion_angle (AtomID const &atom1, AtomID const &atom2, AtomID const &atom3, AtomID const &atom4) const
 Returns the torsion angle defined by <atom[1-4]> More...
 
virtual void set_torsion_angle (AtomID const &atom1, AtomID const &atom2, AtomID const &atom3, AtomID const &atom4, Real setting, bool quiet=false)
 Sets the torsion angle defined by <atom[1-4]> to <setting> More...
 
Real bond_angle (AtomID const &atom1, AtomID const &atom2, AtomID const &atom3) const
 Returns the bond angle defined by <atom[1-3]> through the AtomTree. More...
 
virtual void set_bond_angle (AtomID const &atom1, AtomID const &atom2, AtomID const &atom3, Real setting)
 Sets the bond angle defined by <atom[1-3]> to <setting> More...
 
Real bond_length (AtomID const &atom1, AtomID const &atom2) const
 Returns the bond length between <atom1> and <atom2> through the AtomTree. More...
 
virtual void set_bond_length (AtomID const &atom1, AtomID const &atom2, Real setting)
 Sets the cond length between <atom1> and <atom2> to <setting> More...
 
const Jumpjump (int jump_number) const
 Returns the Jump with jump number <jump_number> More...
 
const Jumpjump (AtomID const &id) const
 access a jump More...
 
virtual void set_jump (int jump_number, Jump const &new_jump)
 Sets the jump <jump_number> to <new_jump> More...
 
virtual void set_jump (AtomID const &id, Jump const &new_jump)
 set a jump More...
 
PointPosition const & xyz (AtomID const &id) const
 access xyz coordinates of an atom More...
 
virtual void set_xyz (AtomID const &id, PointPosition const &position)
 
virtual void batch_set_xyz (utility::vector1< AtomID > const &id, utility::vector1< PointPosition > const &position)
 
virtual void batch_get_xyz (utility::vector1< AtomID > const &id, utility::vector1< PointPosition > &position) const
 
void insert_ideal_geometry_at_polymer_bond (Size seqpos)
 
void insert_ideal_geometry_at_residue_connection (Size pos1, Size connid1)
 
void update_actcoords ()
 
void update_actcoord (Size resid)
 
void update_orbital_coords (Residue &rsd) const
 
void update_orbital_coords (Size resid)
 
DOF_ID dof_id_from_torsion_id (TorsionID const &id) const
 
id::AtomID jump_atom_id (int jump_number) const
 
bool get_torsion_angle_atom_ids (TorsionID const &tor_id, AtomID &id1, AtomID &id2, AtomID &id3, AtomID &id4) const
 get four atoms which defined this torsion More...
 
bool get_jump_atom_ids (core::Size jump_number, AtomID &upstream_id, AtomID &downstream_id) const
 get two atoms connect by jump More...
 
void update_domain_map (DomainMap &domain_map) const
 Generate a domain_map from the current dof/xyz moved data. More...
 
bool structure_moved () const
 has the structure moved since the last call to reset_move_data or reset_structure_moved More...
 
void reset_structure_moved () const
 reset the structure_moved_ bool More...
 
void reset_move_data ()
 forget all the structure modifications More...
 
virtual void push_passport (core::environment::DofPassportCOP)
 
virtual
core::environment::DofPassportCOP 
pop_passport ()
 
virtual bool has_passport () const
 
virtual bool is_protected () const
 
template<typename MemFn , typename Ptr >
utility::signals::Link attach_connection_obs (MemFn fn, Ptr ptr) const
 attach ConnectionEvent observer function More...
 
template<typename MemFn , typename Ptr >
bool detach_connection_obs (MemFn fn, Ptr ptr) const
 detach ConnectionEvent observer function More...
 
template<typename MemFn , typename Ptr >
utility::signals::Link attach_general_obs (MemFn fn, Ptr ptr) const
 attach GeneralEvent observer function More...
 
template<typename MemFn , typename Ptr >
bool detach_general_obs (MemFn fn, Ptr ptr) const
 detach GeneralEvent observer function More...
 
template<typename MemFn , typename Ptr >
utility::signals::Link attach_identity_obs (MemFn fn, Ptr ptr) const
 attach IdentityEvent observer function More...
 
template<typename MemFn , typename Ptr >
bool detach_identity_obs (MemFn fn, Ptr ptr) const
 detach IdentityEvent observer function More...
 
template<typename MemFn , typename Ptr >
utility::signals::Link attach_length_obs (MemFn fn, Ptr ptr) const
 attach LengthEvent observer function More...
 
template<typename MemFn , typename Ptr >
bool detach_length_obs (MemFn fn, Ptr ptr) const
 detach LengthEvent observer function More...
 
template<typename MemFn , typename Ptr >
utility::signals::Link attach_xyz_obs (MemFn fn, Ptr ptr) const
 attach XYZEvent observer function More...
 
template<typename MemFn , typename Ptr >
bool detach_xyz_obs (MemFn fn, Ptr ptr) const
 detach XYZEvent observer function More...
 
void clear_observers ()
 clear all observers More...
 
void receive_observers_from (Conformation const &src)
 fire a ConnectionEvent::TRANSFER to transfer observers from some source Conformation More...
 
void debug_pause (bool flag) const
 wait for stdin after sending a GeneralEvent signal More...
 
bool debug_pause () const
 waiting for stdin after sending a GeneralEvent signal? More...
 
void buffer_signals ()
 block signals from being sent and buffer them to be sent after unblocking More...
 
void block_signals ()
 block signals from being sent More...
 
void unblock_signals ()
 allow signals to be sent More...
 
bool buffering_signals () const
 are signals being blocked and buffered? More...
 
bool blocking_signals () const
 are signals being blocked? More...
 

Protected Member Functions

Residue const & const_residue_ (Size seqpos) const
 Returns a constant residue reference without triggering coordinate/torsion update. More...
 
void force_update_residue_torsions () const
 Force updating of residue torsions. More...
 
void force_update_residue_coordinates () const
 Force updating of residue coordinates. More...
 

Private Member Functions

Residueresidue_ (Size seqpos)
 Returns a non-constant residue reference without triggering coordinate/torsion update. More...
 
void update_sequence_numbering (Size new_size, utility::vector1< Size > const &old2new)
 remap *_moved arrays, sequence numbering in the residues_ arrays, etc, after insertion or deletion of rsds More...
 
void rebuild_polymer_bond_dependent_atoms (Size seqpos, int upper_lower)
 rebuild atoms in residue seqpos dependent on either the lower (-1) or upper(1) polymer residue More...
 
void insert_polymer_residue (Residue const &new_rsd_in, Size seqpos, bool join_lower, bool join_upper)
 
void append_residue (Residue const &new_rsd_in, bool attach_by_jump, std::string const &root_atom, id::NamedAtomID anchor_id, bool start_new_chain)
 Now a private method public interface: append_residue_by_bond or append_residue_by_jump. More...
 
void residues_replace (Size seqpos, Residue const &new_rsd)
 wrap direct access to the Residues container More...
 
void residues_insert (Size seqpos, Residue const &new_rsd, bool use_lower_chain=false, bool new_chain=false)
 
void residues_append (Residue const &new_rsd, bool start_new_chain, bool by_jump=false, std::string const &root_atom="", id::NamedAtomID anchor_id=id::BOGUS_NAMED_ATOM_ID)
 
void residues_delete (Size seqpos)
 
void setup_atom_tree ()
 (re-)builds the AtomTree using the FoldTree and the Residues More...
 
Real atom_tree_torsion (TorsionID const &tor_id) const
 access a torsion from the atom_tree More...
 
bool backbone_torsion_angle_atoms (TorsionID const &id, AtomID &id1, AtomID &id2, AtomID &id3, AtomID &id4) const
 get four backbone atoms which define this backbone torsion More...
 
bool branch_connection_torsion_angle_atoms (TorsionID const &torsion, AtomID &id1, AtomID &id2, AtomID &id3, AtomID &id4) const
 Find the four atoms that define the torsion angle of this branch connection. More...
 
bool atoms_are_bonded (AtomID const &id1, AtomID const &id2) const
 Helper method to determine whether two atoms have a chemical bond linking them. More...
 
void set_xyz_moved (AtomID const &id)
 notify of xyz-change More...
 
void set_xyz_moved (utility::vector1< AtomID > const &ids)
 notify of mutiple-xyz-change More...
 
void set_dof_moved (AtomID const &id)
 notify of dof-change More...
 
void set_dof_moved (DOF_ID const &id)
 notify of dof-change More...
 
void update_residue_coordinates () const
 Will (if necessary) copy the xyz coordinates from the AtomTree to the Residues being managed. More...
 
void update_residue_coordinates (Size seqpos, bool fire_signal=true) const
 
void rederive_chain_endings ()
 
void rederive_chain_ids ()
 
void update_residue_torsions () const
 Will (if necessary) copy the torsion angles (mainchain/chi) from the AtomTree to the Residues being managed. More...
 
void update_residue_torsions (Size seqpos, bool fire_signal=true) const
 
void add_pseudobond (Size lr, Size lr_connid, Size ur, Size ur_connid, Size nbonds)
 
void in_place_copy (Conformation const &src)
 Optimizing the common case of assigning a conformation to another with the same sequence. More...
 
void pre_nresidue_change ()
 The Conformation must transfer lazily accumulated "moved" data from the AtomTree before changing the number of residues. More...
 
void notify_connection_obs (ConnectionEvent const &e) const
 notify ConnectionEvent observers More...
 
void notify_general_obs (GeneralEvent const &e) const
 notify GeneralEvent observers More...
 
void notify_identity_obs (IdentityEvent const &e, bool fire_general=true) const
 notify IdentityEvent observers More...
 
void notify_length_obs (LengthEvent const &e, bool fire_general=true) const
 notify LengthEvent observers More...
 
void notify_xyz_obs (XYZEvent const &e, bool fire_general=true) const
 notify XYZEvent observers More...
 

Private Attributes

ResidueOPs residues_
 container of Residues More...
 
utility::vector1< Sizechain_endings_
 chain number for each position More...
 
membrane::MembraneInfoOP membrane_info_
 Membrane Info object. More...
 
FoldTreeOP fold_tree_
 fold tree for the kinematics More...
 
AtomTreeOP atom_tree_
 atom tree for the kinematics More...
 
utility::vector1< ParametersSetOPparameters_set_
 Parameter sets for parametric conformation generation. More...
 
bool contains_carbohydrate_residues_
 
bool residue_coordinates_need_updating_
 do we need to update the coordinates in the Residues? More...
 
bool residue_torsions_need_updating_
 do we need to update the torsion angles in the Residues? More...
 
AtomID_Mask dof_moved_
 book-keeping array for energy evaluations More...
 
AtomID_Mask xyz_moved_
 book-keeping array for energy evaluations More...
 
bool structure_moved_
 has the structure moved since the last call to reset_move_data? More...
 
utility::vector1< char > secstruct_
 
utility::signals::BufferedSignalHub
< void, ConnectionEvent
connection_obs_hub_
 ConnectionEvent observers. More...
 
utility::signals::PausableSignalHub
< void, GeneralEvent
general_obs_hub_
 GeneralEvent observers. More...
 
utility::signals::BufferedSignalHub
< void, IdentityEvent
identity_obs_hub_
 IdentityEvent observers. More...
 
utility::signals::BufferedSignalHub
< void, LengthEvent
length_obs_hub_
 LengthEvent observers. More...
 
utility::signals::BufferedSignalHub
< void, XYZEvent
xyz_obs_hub_
 LengthEvent observers. More...
 

Detailed Description

A container of Residues and the kinematics to manage them.

Member Typedef Documentation

Constructor & Destructor Documentation

core::conformation::Conformation::Conformation ( )

constructor

Note
If you are using PyRosetta, you should NOT BE HERE!

References atom_tree_.

Referenced by clone().

core::conformation::Conformation::~Conformation ( )
virtual

default destructor

core::conformation::Conformation::Conformation ( Conformation const &  src)

Member Function Documentation

chemical::AA const& core::conformation::Conformation::aa ( Size  seqpos) const
inline
virtual void core::conformation::Conformation::add_parameters_set ( ParametersSetOP  newset)
inlinevirtual

Add a (predefined) ParametersSet object (via its owning pointer) to the current Conformation object.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References parameters_set_.

Referenced by protocols::helical_bundle::MakeBundle::apply(), and insert_conformation_by_jump().

void core::conformation::Conformation::add_pseudobond ( Size  lr,
Size  lr_connid,
Size  ur,
Size  ur_connid,
Size  nbonds 
)
private
std::string core::conformation::Conformation::annotated_sequence ( bool  show_all_variants) const

Returns the variant-tagged string representing the residue types that make up a conformation; e.g. M[MET:N-Terminus-Variant]CDH[HIS_D]LLR[ARG:C-Terminus-Variant].

References core::chemical::aa_from_oneletter_code(), core::pack::dunbrack::c, core::conformation::Residue::name(), core::conformation::Residue::name1(), core::chemical::name_from_aa(), core::chemical::oneletter_code_specifies_aa(), residue(), and size().

Referenced by fold_tree().

void core::conformation::Conformation::append_polymer_residue_after_seqpos ( Residue const &  new_rsd,
Size  seqpos,
bool  build_ideal_geometry 
)
void core::conformation::Conformation::append_residue ( conformation::Residue const &  new_rsd_in,
bool  attach_by_jump,
std::string const &  root_atom,
id::NamedAtomID  anchor_id,
bool  start_new_chain 
)
private

Now a private method public interface: append_residue_by_bond or append_residue_by_jump.

add a residue into residues_ container, update its seqpos, chainid as well fold tree and atoms. private now – this is our internal routine with everything determined ahead of time root_atomno and anchor_id.atomno() may not be filled in yet Fires a LengthEvent::RESIDUE_APPEND signal.

References core::id::NamedAtomID::atom(), core::conformation::Residue::atom_index(), atom_tree_, const_residues(), fold_tree_, core::conformation::insert_residue_into_atom_tree(), core::conformation::Residue::is_ligand(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::lower_connect_atom(), core::conformation::Residue::name(), notify_length_obs(), pre_nresidue_change(), core::conformation::signals::LengthEvent::RESIDUE_APPEND, residue_torsions_need_updating_, residues_, residues_append(), core::id::NamedAtomID::rsd(), setup_atom_tree(), size(), and core::conformation::TR().

Referenced by append_residue_by_bond(), and append_residue_by_jump().

void core::conformation::Conformation::append_residue_by_bond ( conformation::Residue const &  new_rsd,
bool  build_ideal_geometry = false,
int  residue_connection_index = 0,
Size  anchor_pos = 0,
int  anchor_residue_connection_index = 0,
bool  start_new_chain = false,
bool  lookup_bond_length = false 
)

Append a new residue by a bond.

The default behavior is to append by a polymeric connection to the preceding residue If we want to connect via a non-polymer connection, we give the connection number, anchor residue and the connection number for the anchor residue. These connection numbers are wrt the connections_ arrays in Residue and ResidueType If build_ideal_bond is TRUE it will transform the coordinates of the new residue so that the bond geometry of the new bond is ideal according to the icoor_internal data in the residues. Otherwise the incoming coordinates of new_rsd are preserved. Fires a LengthEvent::RESIDUE_APPEND signal.

References append_residue(), core::conformation::atom_id_to_named_atom_id(), core::conformation::Residue::atom_name(), core::id::AtomID::atomno(), core::chemical::ResidueConnection::atomno(), core::id::BOGUS_NAMED_ATOM_ID, core::conformation::Residue::clone(), core::conformation::Residue::is_polymer(), core::conformation::Residue::lower_connect(), core::conformation::Residue::lower_connect_atom(), core::chemical::ResidueType::lower_connect_id(), core::chemical::ResidueType::name(), core::conformation::orient_residue_for_ideal_bond(), pre_nresidue_change(), rebuild_polymer_bond_dependent_atoms(), residue_(), core::conformation::Residue::residue_connection(), residue_coordinates_need_updating_, residues_, size(), core::conformation::Residue::type(), update_residue_coordinates(), core::conformation::Residue::upper_connect(), core::conformation::Residue::upper_connect_atom(), and core::chemical::ResidueType::upper_connect_id().

Referenced by protocols::comparative_modeling::ExtraThreadingMover::apply(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::apply(), and core::conformation::is_ideal_position().

void core::conformation::Conformation::append_residue_by_jump ( conformation::Residue const &  new_rsd,
Size  anchor_residue,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "",
bool  start_new_chain = false 
)
virtual
bool core::conformation::Conformation::atom_is_backbone_norefold ( Size  pos,
Size  atomno 
) const

returns true if atom is part of backbone.

There is a version of this in Residue.hh. The problem with that function is that accessing a residue in the pose triggers a refold which is really slow. We do not need a correctly folded residue to makethis check

References residues_.

Referenced by core::conformation::symmetry::guess_torsion_type_of_dof_id().

AtomTree const& core::conformation::Conformation::atom_tree ( ) const
inline
Real core::conformation::Conformation::atom_tree_torsion ( TorsionID const &  tor_id) const
private

access a torsion from the atom_tree

used when we want to copy torsions from the atomtree to the residues used when updating the torsion angles stashed in the Residues other torsion access calls look inside the residues since this will be faster than getting from the atomtree, at least in the current implementation of this routine

References atom_tree_, core::id::AtomID::atomno(), atoms_are_bonded(), const_residue_(), dof_id_from_torsion_id(), get_torsion_angle_atom_ids(), core::id::JUMP, core::id::AtomID::rsd(), core::id::TorsionID::type(), and xyz().

Referenced by debug_residue_torsions(), and update_residue_torsions().

bool core::conformation::Conformation::atoms_are_bonded ( AtomID const &  id1,
AtomID const &  id2 
) const
private

Helper method to determine whether two atoms have a chemical bond linking them.

Helper function to determine whether two atoms have a chemical bond linking them.

Intended for internal use, but there's really no reason not to make this a public method. This works for atoms within the same residue or in different residues.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References core::id::AtomID::atomno(), const_residue_(), and core::id::AtomID::rsd().

Referenced by atom_tree_torsion().

template<typename MemFn , typename Ptr >
utility::signals::Link core::conformation::Conformation::attach_connection_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

attach ConnectionEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( ConnectionEvent const & )
ptrRAW pointer to observer object
Returns
Link that can be used to manage the connection
Remarks
ConnectionEvent observers will only be notified upon a change in the state of the connection with the Conformation, e.g. if the Conformation is destroyed or if the connection is being transferred. SUGGESTION: Try to use the Link objects that are returned when attaching observers instead of attaching via this function and watching for ConnectionEvents, as it typically makes connection management easier.

References connection_obs_hub_.

Referenced by core::pose::PDBInfo::attach_to().

template<typename MemFn , typename Ptr >
utility::signals::Link core::conformation::Conformation::attach_general_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

attach GeneralEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( GeneralEvent const & )
ptrRAW pointer to observer object
Returns
Link that can be used to manage the connection
Remarks
GeneralEvent observers will be notified whenever any signal derived from GeneralEvent occurs.

References general_obs_hub_.

template<typename MemFn , typename Ptr >
utility::signals::Link core::conformation::Conformation::attach_identity_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

attach IdentityEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( IdentityEvent const & )
ptrRAW pointer to observer object
Returns
Link that can be used to manage the connection

References identity_obs_hub_.

Referenced by core::pose::PDBInfo::attach_to().

template<typename MemFn , typename Ptr >
utility::signals::Link core::conformation::Conformation::attach_length_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

attach LengthEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( LengthEvent const & )
ptrRAW pointer to observer object
Returns
Link that can be used to manage the connection

References length_obs_hub_.

Referenced by protocols::toolbox::match_enzdes_util::EnzdesCacheableObserver::attach_impl(), core::pose::datacache::LengthEventCollector::attach_impl(), core::pose::datacache::SpecialSegmentsObserver::attach_impl(), protocols::forge::build::BuildInstruction::attach_to(), and core::pose::PDBInfo::attach_to().

template<typename MemFn , typename Ptr >
utility::signals::Link core::conformation::Conformation::attach_xyz_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

attach XYZEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( XYZEvent const & )
ptrRAW pointer to observer object
Returns
Link that can be used to manage the connection

References xyz_obs_hub_.

bool core::conformation::Conformation::backbone_torsion_angle_atoms ( TorsionID const &  id,
AtomID id1,
AtomID id2,
AtomID id3,
AtomID id4 
) const
private
void core::conformation::Conformation::batch_get_xyz ( utility::vector1< AtomID > const &  id,
utility::vector1< PointPosition > &  position 
) const
virtual

References xyz().

void core::conformation::Conformation::batch_set_xyz ( utility::vector1< AtomID > const &  id,
utility::vector1< PointPosition > const &  position 
)
virtual
void core::conformation::Conformation::block_signals ( )

block signals from being sent

Warning
for safety, ConnectionEvents are never blocked

References general_obs_hub_, identity_obs_hub_, length_obs_hub_, and xyz_obs_hub_.

bool core::conformation::Conformation::blocking_signals ( ) const

are signals being blocked?

References general_obs_hub_.

Real core::conformation::Conformation::bond_angle ( AtomID const &  atom1,
AtomID const &  atom2,
AtomID const &  atom3 
) const
Real core::conformation::Conformation::bond_length ( AtomID const &  atom1,
AtomID const &  atom2 
) const
utility::vector1< id::AtomID > core::conformation::Conformation::bonded_neighbor_all_res ( core::id::AtomID  atomid,
bool  virt = false 
) const
bool core::conformation::Conformation::branch_connection_torsion_angle_atoms ( TorsionID const &  torsion,
AtomID id1,
AtomID id2,
AtomID id3,
AtomID id4 
) const
private

Find the four atoms that define the torsion angle of this branch connection.

This method figures out which four atoms define the torsion angle about the given branch connection point and sets the four AtomIDs passed to it.

Parameters
<torsion>the TorsionID for this branch connection, which must have the BRANCH TorsionType
<id1>through <id2>: AtomID variables that will be filled with the found atoms
Returns
TRUE to signal FAILURE. (That wasn't my idea! ~Labonte)
Note
This method was written to model the behavior of the backbone_torsion_angle_atoms() method and is used like it within the more general get_torsion_angle_atom_ids() method.
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::id::BRANCH, core::conformation::Residue::connect_atom(), core::conformation::Residue::first_adjacent_heavy_atom(), core::conformation::Residue::is_branch_point(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::n_polymeric_residue_connections(), core::conformation::Residue::residue_connection_partner(), residues_, core::id::TorsionID::rsd(), core::id::TorsionID::torsion(), core::conformation::TR(), and core::id::TorsionID::type().

Referenced by get_torsion_angle_atom_ids().

void core::conformation::Conformation::buffer_signals ( )

block signals from being sent and buffer them to be sent after unblocking

References general_obs_hub_, identity_obs_hub_, length_obs_hub_, and xyz_obs_hub_.

bool core::conformation::Conformation::buffering_signals ( ) const

are signals being blocked and buffered?

References general_obs_hub_.

Size core::conformation::Conformation::chain_begin ( Size  chain) const
inline

Returns the position number of the first residue in <chain>

References chain_endings_.

Referenced by protocols::anchored_design::AnchorMoversData::anchor_noise_constraints_setup(), protocols::ligand_docking::append_ligand_RMSD(), protocols::simple_moves::AddJobPairData::apply(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::apply(), protocols::simple_moves::AlignChainMover::apply(), protocols::seeded_abinitio::DefineMovableLoops::apply(), protocols::seeded_abinitio::SwapSegment::apply(), protocols::qsar::qsarMover::apply(), protocols::seeded_abinitio::CAcstGenerator::apply(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::protein_interface_design::movers::TopologyBrokerMover::apply(), protocols::seeded_abinitio::CloseFold::apply(), protocols::ligand_docking::WriteLigandMolFile::apply(), protocols::ligand_docking::AddHydrogens::apply(), protocols::seeded_abinitio::SegmentHybridizer::apply(), protocols::ligand_docking::LigandDesign::apply(), protocols::ligand_docking::GrowLigand::apply(), protocols::ligand_docking::MinimizeLigand::apply(), protocols::ligand_docking::RandomConformers::apply(), protocols::ligand_docking::TetherLigand::apply(), protocols::metal_interface::ZincHeterodimerMover::apply(), protocols::simple_moves::CyclizationMover::apply(), protocols::toolbox::task_operations::SelectResiduesWithinChainOperation::apply(), protocols::ligand_docking::CompleteConnectionsFilter::apply(), protocols::simple_moves::FavorSequenceProfile::apply(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::ligand_docking::HBondDonorFilter::apply(), protocols::toolbox::task_operations::RestrictToAlignedSegmentsOperation::apply(), protocols::protein_interface_design::movers::PlacementAuctionMover::apply(), protocols::toolbox::task_operations::PreventChainFromRepackingOperation::apply(), protocols::toolbox::task_operations::RestrictChainToRepackingOperation::apply(), protocols::ligand_docking::AtomCountFilter::apply(), protocols::ligand_docking::HBondAcceptorFilter::apply(), protocols::ligand_docking::HeavyAtomFilter::apply(), protocols::ligand_docking::MolarMassFilter::apply(), protocols::ligand_docking::MolecularMassFilter::apply(), protocols::simple_moves::DeleteChainsMover::apply(), protocols::toolbox::task_operations::RestrictToTerminiOperation::apply(), protocols::matdes::SymDofMover::apply(), protocols::simple_moves::SetTorsion::apply(), protocols::simple_moves::DisulfideInsertionMover::apply(), protocols::denovo_design::connection::BridgeChains::apply(), protocols::toolbox::task_operations::JointSequenceOperation::apply(), protocols::ligand_docking::Translate::apply(), protocols::toolbox::task_operations::SeqprofConsensusOperation::apply(), protocols::ncbb::NcbbDockDesignProtocol::apply(), protocols::ncbb::oop::OopDockDesignProtocol::apply(), protocols::ligand_docking::Transform::apply(), protocols::ncbb::oop::OopCreatorMover::apply(), protocols::protein_interface_design::movers::PlaceStubMover::apply(), protocols::fldsgn::CircularPermutation::apply(), backbone_torsion_angle_atoms(), protocols::anchored_design::AnchoredDesignMover::calculate_rmsd(), protocols::simple_moves::CutChainMover::chain_cut(), protocols::simple_filters::ResidueBurialFilter::compute(), protocols::simple_filters::AngleToVector::compute(), protocols::simple_filters::NeighborTypeFilter::compute(), protocols::simple_filters::TerminusDistanceFilter::compute(), protocols::protein_interface_design::filters::AverageDegreeFilter::compute(), protocols::protein_interface_design::filters::AtomicContactCountFilter::compute(), protocols::protein_interface_design::filters::HbondsToAtomFilter::compute(), protocols::protein_interface_design::movers::SetAtomTree::create_atom_tree(), protocols::floppy_tail::create_extra_output(), protocols::simple_moves::CutChainMover::create_subpose(), protocols::seeded_abinitio::define_movemap_chains(), protocols::analysis::PeptideDeriverFilter::derive_peptide(), protocols::ligand_docking::InterfaceBuilder::enforce_minimum_length(), core::pose::metrics::simple_calculators::InterfaceDefinitionCalculator::fill_in_chain_terminii(), protocols::ligand_docking::InterfaceBuilder::find_interface_residues(), protocols::protein_interface_design::find_lowest_constraint_energy_residue(), protocols::protein_interface_design::find_nearest_residue(), protocols::protein_interface_design::movers::find_nearest_residue_to_coord(), core::select::util::find_neighbors_within_CB_cutoff(), protocols::forge::methods::fold_tree_from_loops(), protocols::forge::methods::fold_tree_from_pose(), protocols::rosetta_scripts::foreach_movemap_tag(), protocols::protein_interface_design::movers::MapHotspot::GenerateMap(), core::conformation::symmetry::get_chain2range(), core::pose::get_chain_from_chain_id(), core::pose::get_chain_residues(), protocols::antibody::AntibodyInfo::get_FoldTree_LH_A(), core::pose::get_hash_from_chain(), protocols::hotspot_hashing::HotspotStub::get_nearest_residue(), core::pack::rotamers::RotamericSingleResiduePeptoidLibrary< T, N >::get_psi_from_rsd(), core::scoring::methods::NMerSVMEnergy::get_residue_energy_by_svm(), protocols::ligand_docking::ComputeLigandRDF::ligand_protein_rdf(), protocols::loops::loopfinder(), protocols::protein_interface_design::movers::HotspotDisjointedFoldTreeMover::make_disjointed_foldtree(), protocols::protein_interface_design::make_hotspot_foldtree(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimize_all(), MinimizeInterface(), protocols::protein_interface_design::movers::MapHotspot::output_pose(), protocols::protein_interface_design::movers::TopologyBrokerMover::parse_my_tag(), protocols::protein_interface_design::movers::PlaceOnLoop::parse_my_tag(), protocols::simple_moves::DesignRepackMover::parse_my_tag(), protocols::rigid::RollMover::parse_my_tag(), protocols::ligand_docking::Rotate::parse_my_tag(), protocols::protein_interface_design::movers::PlaceStubMover::parse_my_tag(), protocols::contact_map::ContactMap::parse_region_string(), protocols::protein_interface_design::movers::PlaceStubMover::place_stub(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::place_stubs(), protocols::hotspot_hashing::HotspotStubSet::prepare_hashing_packer_task_(), protocols::ligand_docking::ComputeLigandRDF::protein_protein_rdf(), protocols::analysis::PeptideDeriverFilter::push_chain_residue_indices(), protocols::protein_interface_design::movers::PlacementMinimizationMover::refresh_bbstub_constraints(), protocols::analysis::InterfaceAnalyzerMover::reorder_foldtree_find_jump(), protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue(), protocols::forge::remodel::RemodelLoopMover::repeat_propagation(), protocols::features::ScreeningFeatures::report_features(), protocols::features::ResidueGridScoresFeatures::report_features(), core::scoring::methods::NMerPSSMEnergy::residue_energy(), core::scoring::membrane::MPNonHelixPenalty::residue_energy(), protocols::simple_filters::NonSequentialNeighborsFilter::residue_neighbors(), protocols::ligand_docking::Rotate::rotate_ligand(), core::select::residue_selector::ChainSelector::select_chain_by_index(), protocols::ligand_docking::MoveMapBuilder::set_all_chi(), protocols::seeded_abinitio::SeedSetupMover::set_packerTasks_target_and_seeds(), protocols::qsar::scoring_grid::ChargeGrid::setup_charge_atoms(), core::scoring::constraints::SiteConstraint::setup_csts(), core::scoring::constraints::FabConstraint::setup_csts(), protocols::antibody::AntibodyInfo::setup_FrameWorkInfo(), protocols::simple_moves::CyclizationMover::setup_minimizer(), protocols::ncbb::setup_pert_foldtree(), protocols::relax::membrane::MPFastRelaxMover::setup_relax_foldtree(), core::conformation::symmetry::setup_symmetric_conformation(), protocols::fldsgn::CircularPermutation::split_chains(), protocols::protein_interface_design::star_fold_tree(), protocols::protein_interface_design::movers::PlaceStubMover::StubMinimize(), protocols::seeded_abinitio::SwapSegment::swap_chain(), protocols::protein_interface_design::PatchdockReader::transform_pose(), update_residue_torsions(), and protocols::fldsgn::CircularPermutation::which_chain().

Size core::conformation::Conformation::chain_end ( Size  chain) const
inline

Returns the position number of the last residue in <chain>

References chain_endings_, and size().

Referenced by protocols::anchored_design::AnchorMoversData::anchor_noise_constraints_setup(), protocols::ligand_docking::append_ligand_RMSD(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::apply(), protocols::simple_moves::AlignChainMover::apply(), protocols::seeded_abinitio::DefineMovableLoops::apply(), protocols::seeded_abinitio::CAcstGenerator::apply(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::protein_interface_design::movers::TopologyBrokerMover::apply(), protocols::seeded_abinitio::CloseFold::apply(), protocols::ligand_docking::AddHydrogens::apply(), protocols::ligand_docking::LigandDesign::apply(), protocols::ligand_docking::RandomConformers::apply(), protocols::ligand_docking::GrowLigand::apply(), protocols::ligand_docking::MinimizeLigand::apply(), protocols::metal_interface::ZincHeterodimerMover::apply(), protocols::simple_moves::CyclizationMover::apply(), protocols::ligand_docking::CompleteConnectionsFilter::apply(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::ligand_docking::HBondDonorFilter::apply(), protocols::protein_interface_design::movers::PlacementAuctionMover::apply(), protocols::toolbox::task_operations::RestrictToAlignedSegmentsOperation::apply(), protocols::ligand_docking::MolecularMassFilter::apply(), protocols::ligand_docking::MolarMassFilter::apply(), protocols::ligand_docking::AtomCountFilter::apply(), protocols::ligand_docking::HBondAcceptorFilter::apply(), protocols::ligand_docking::HeavyAtomFilter::apply(), protocols::toolbox::task_operations::PreventChainFromRepackingOperation::apply(), protocols::toolbox::task_operations::RestrictChainToRepackingOperation::apply(), protocols::simple_moves::DeleteChainsMover::apply(), protocols::toolbox::task_operations::RestrictToTerminiOperation::apply(), protocols::matdes::SymDofMover::apply(), protocols::simple_moves::SetTorsion::apply(), protocols::simple_moves::DisulfideInsertionMover::apply(), protocols::toolbox::task_operations::ProteinInterfaceDesignOperation::apply(), protocols::denovo_design::connection::BridgeChains::apply(), protocols::toolbox::task_operations::JointSequenceOperation::apply(), protocols::toolbox::task_operations::SeqprofConsensusOperation::apply(), protocols::ncbb::oop::OopCreatorMover::apply(), protocols::protein_interface_design::movers::PlaceStubMover::apply(), protocols::fldsgn::CircularPermutation::apply(), backbone_torsion_angle_atoms(), protocols::anchored_design::AnchoredDesignMover::calculate_rmsd(), protocols::simple_moves::CutChainMover::chain_cut(), protocols::simple_filters::ResidueBurialFilter::compute(), protocols::simple_filters::TerminusDistanceFilter::compute(), protocols::protein_interface_design::filters::AverageDegreeFilter::compute(), protocols::protein_interface_design::filters::AtomicContactCountFilter::compute(), protocols::protein_interface_design::movers::SetAtomTree::create_atom_tree(), protocols::ligand_docking::Rotate::create_random_rotations(), protocols::simple_moves::CutChainMover::create_subpose(), protocols::seeded_abinitio::define_movemap_chains(), protocols::analysis::PeptideDeriverFilter::derive_peptide(), protocols::ligand_docking::InterfaceBuilder::enforce_minimum_length(), core::pose::metrics::simple_calculators::InterfaceDefinitionCalculator::fill_in_chain_terminii(), protocols::ligand_docking::InterfaceBuilder::find_interface_residues(), protocols::protein_interface_design::find_lowest_constraint_energy_residue(), protocols::protein_interface_design::find_nearest_residue(), protocols::protein_interface_design::movers::find_nearest_residue_to_coord(), core::select::util::find_neighbors_within_CB_cutoff(), protocols::forge::methods::fold_tree_from_loops(), protocols::forge::methods::fold_tree_from_pose(), protocols::simple_moves::CutChainMover::foldTree(), protocols::rosetta_scripts::foreach_movemap_tag(), core::conformation::symmetry::get_chain2range(), core::pose::get_chain_residues(), protocols::antibody::AntibodyInfo::get_FoldTree_AllCDRs_LHDock(), protocols::antibody::AntibodyInfo::get_FoldTree_L_HA(), protocols::antibody::AntibodyInfo::get_FoldTree_LA_H(), protocols::antibody::AntibodyInfo::get_FoldTree_LH_A(), core::indexed_structure_store::FragmentLookup::get_fragment_residue_spans(), core::pose::get_hash_from_chain(), protocols::hotspot_hashing::HotspotStub::get_nearest_residue(), core::pack::rotamers::RotamericSingleResiduePeptoidLibrary< T, N >::get_omg_from_rsd(), core::pack::rotamers::RotamericSingleResiduePeptoidLibrary< T, N >::get_phi_from_rsd(), core::scoring::methods::NMerSVMEnergy::get_residue_energy_by_svm(), insert_conformation_by_jump(), protocols::ligand_docking::ComputeLigandRDF::ligand_protein_rdf(), protocols::loops::loopfinder(), protocols::protein_interface_design::movers::HotspotDisjointedFoldTreeMover::make_disjointed_foldtree(), protocols::protein_interface_design::make_hotspot_foldtree(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::minimize_all(), MinimizeInterface(), core::conformation::Residue::orient_onto_residue_peptoid(), protocols::protein_interface_design::movers::TopologyBrokerMover::parse_my_tag(), protocols::protein_interface_design::movers::PlaceOnLoop::parse_my_tag(), protocols::simple_moves::DesignRepackMover::parse_my_tag(), protocols::rigid::RollMover::parse_my_tag(), protocols::ligand_docking::Rotate::parse_my_tag(), protocols::protein_interface_design::movers::PlaceStubMover::parse_my_tag(), protocols::contact_map::ContactMap::parse_region_string(), protocols::protein_interface_design::movers::PlaceStubMover::place_stub(), protocols::protein_interface_design::movers::PlaceSimultaneouslyMover::place_stubs(), protocols::hotspot_hashing::HotspotStubSet::prepare_hashing_packer_task_(), protocols::ligand_docking::ComputeLigandRDF::protein_protein_rdf(), protocols::analysis::PeptideDeriverFilter::push_chain_residue_indices(), protocols::protein_interface_design::movers::PlacementMinimizationMover::refresh_bbstub_constraints(), protocols::analysis::InterfaceAnalyzerMover::reorder_foldtree_find_jump(), protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue(), protocols::forge::remodel::RemodelLoopMover::repeat_propagation(), protocols::features::ScreeningFeatures::report_features(), protocols::features::ResidueGridScoresFeatures::report_features(), core::scoring::methods::NMerPSSMEnergy::residue_energy(), protocols::simple_filters::NonSequentialNeighborsFilter::residue_neighbors(), core::select::residue_selector::ChainSelector::select_chain_by_index(), protocols::ligand_docking::MoveMapBuilder::set_all_chi(), protocols::anchored_design::AnchoredDesignMover::set_fold_tree_and_cutpoints(), protocols::qsar::scoring_grid::ChargeGrid::setup_charge_atoms(), core::scoring::constraints::SiteConstraint::setup_csts(), core::scoring::constraints::FabConstraint::setup_csts(), protocols::docking::setup_foldtree(), protocols::antibody::AntibodyInfo::setup_FrameWorkInfo(), protocols::simple_moves::CyclizationMover::setup_minimizer(), protocols::ncbb::setup_pert_foldtree(), protocols::relax::membrane::MPFastRelaxMover::setup_relax_foldtree(), core::conformation::symmetry::setup_symmetric_conformation(), protocols::fldsgn::CircularPermutation::split_chains(), protocols::protein_interface_design::star_fold_tree(), protocols::protein_interface_design::movers::PlaceStubMover::StubMinimize(), protocols::seeded_abinitio::SwapSegment::swap_chain(), protocols::protein_interface_design::PatchdockReader::transform_pose(), update_residue_torsions(), and protocols::fldsgn::CircularPermutation::which_chain().

utility::vector1< Size > const & core::conformation::Conformation::chain_endings ( ) const
void core::conformation::Conformation::chain_endings ( utility::vector1< Size > const &  endings)

Sets the list of chain endings.

Remarks
All positions must be strictly less than the number of residues in the Conformation, otherwise the routine will fail fast. Note that the last residue position is not counted as a chain end.

References chain_endings_, rederive_chain_ids(), and size().

void core::conformation::Conformation::chains_from_termini ( )

Rederive the chains from the termini/polymer status.

References chain_endings_, rederive_chain_ids(), residues_, and size().

void core::conformation::Conformation::check_valid_membrane ( ) const

Check that a new membrane position is valid.

Given a new membrane normal/center pair, check that the newly constructed stub represents an orthogonal coordinate frame

References downstream_jump_stub(), jump(), and membrane_info_.

Referenced by update_membrane_position().

void core::conformation::Conformation::clear ( )
void core::conformation::Conformation::clear_observers ( )
virtual void core::conformation::Conformation::clear_parameters_set_list ( )
inlinevirtual

Delete the list of ParametersSetOP objects.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References parameters_set_.

Referenced by protocols::helical_bundle::MakeBundle::apply().

ConformationOP core::conformation::Conformation::clone ( ) const
virtual
Residue const& core::conformation::Conformation::const_residue_ ( Size  seqpos) const
inlineprotected

Returns a constant residue reference without triggering coordinate/torsion update.

Use with care. Useful inside torsion/coordinate setters where we want chemical info about a given residue but don't want to trigger the coordinate/torsion updates that go along with a call to residue(seqpos).

References residues_, and size().

Referenced by atom_tree_torsion(), atoms_are_bonded(), backbone_torsion_angle_atoms(), core::conformation::symmetry::SymmetricConformation::detect_disulfides(), get_torsion_angle_atom_ids(), and jump_atom_id().

ResidueCOPs core::conformation::Conformation::const_residues ( ) const

Inefficient – constructs copy of residues_.

References residues_, and size().

Referenced by append_residue(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), replace_residue(), and setup_atom_tree().

bool core::conformation::Conformation::contains_carbohydrate_residues ( ) const
inline
void core::conformation::Conformation::contains_carbohydrate_residues ( bool  setting)
inline

Set whether this conformation contains any carbohydrate residues.

References contains_carbohydrate_residues_.

void core::conformation::Conformation::copy_segment ( Size  size,
Conformation const &  src,
Size  begin,
Size  src_begin 
)

copy a stretch of coordinates/torsions from another Conformation

copy a stretch of coordinates/torsions from another pose Fires IdentityEvent signals as residues are replaced.

References replace_residue(), residue(), and size().

virtual void core::conformation::Conformation::create_new_parameters_set ( )
inlinevirtual

Create a new (empty) ParametersSet object and add its owning pointer to the current Conformation object.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References parameters_set_.

Referenced by protocols::helical_bundle::MakeBundleHelix::add_parameter_info_to_pose().

void core::conformation::Conformation::debug_pause ( bool  flag) const

wait for stdin after sending a GeneralEvent signal

References general_obs_hub_.

bool core::conformation::Conformation::debug_pause ( ) const

waiting for stdin after sending a GeneralEvent signal?

References general_obs_hub_.

void core::conformation::Conformation::debug_residue_torsions ( bool  verbose = false) const
void core::conformation::Conformation::declare_chemical_bond ( Size  seqpos1,
std::string const &  atom_name1,
Size  seqpos2,
std::string const &  atom_name2 
)
virtual
void core::conformation::Conformation::delete_chain_ending ( Size  seqpos)

Deletes <seqpos> from the list of chain endings.

Remarks
The last residue position is not counted as a chain ending.

References chain_endings_, and rederive_chain_ids().

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

void core::conformation::Conformation::delete_polymer_residue ( Size  seqpos)
void core::conformation::Conformation::delete_residue_range_slow ( Size  range_begin,
Size  range_end 
)
void core::conformation::Conformation::delete_residue_slow ( Size  seqpos)

Slow method that relies on FoldTree::delete_seqpos, rebuilds atomtree, can handle jumps/root residue.

Delete a residue from the Conformation the slow way – triggers a rebuild of the atomtree Fires a LengthEvent::RESIDUE_DELETE signal.

Note
Could be upstream and/or downstream of a jump or chemical edge, or the root of the tree
Not well-tested. Expect funny behavior in new or different situations (email pbrad.nosp@m.ley@.nosp@m.fhcrc.nosp@m..org)

LOGIC: uses fold_tree.delete_seqpos to handle shifting the topology around if necessary, then calls setup_atom_tree

References atom_tree_, fold_tree_, notify_length_obs(), pre_nresidue_change(), core::conformation::signals::LengthEvent::RESIDUE_DELETE, residue_torsions_need_updating_, residues_delete(), setup_atom_tree(), and size().

Referenced by protocols::simple_moves::VirtualRootMover::apply(), protocols::comparative_modeling::PartialThreadingMover::apply(), protocols::toolbox::task_operations::RestrictNativeResiduesOperation::apply(), protocols::cryst::UpdateCrystInfo::apply(), protocols::simple_moves::PeriodicBoxMover::apply(), protocols::enzdes::RepackLigandSiteWithoutLigandMover::apply(), protocols::forge::remodel::RemodelMover::apply(), protocols::forge::components::VarLengthBuild::apply(), protocols::loops::apply_sequence_mapping(), protocols::sic_dock::auto_trim_floppy_termini(), protocols::simple_filters::MutationsFilter::compute(), protocols::protein_interface_design::filters::SequenceRecoveryFilter::compute(), protocols::grafting::delete_overhang_residues(), protocols::relax::delete_virtual_residues(), protocols::features::ReportToDB::initialize_pose(), protocols::match::MatcherMover::process_pose(), core::pose::remove_ligand_canonical_residues(), protocols::toolbox::pose_manipulation::remove_non_protein_residues(), core::pose::remove_nonprotein_residues(), protocols::hybridization::remove_residues(), core::pose::remove_virtual_residues(), protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue(), protocols::nonlocal::StarTreeBuilder::tear_down(), protocols::star::StarAbinitio::tear_down_kinematics(), protocols::sewing::Model::trim_db_pose(), and protocols::features::ModelFeatures::trim_pose().

template<typename MemFn , typename Ptr >
bool core::conformation::Conformation::detach_connection_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

detach ConnectionEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( ConnectionEvent const & )
ptrRAW pointer to observer object
Returns
true if disconnect successful, false if connection does not exist
Remarks
ConnectionEvent observers will only be notified upon a change in the state of the connection with the Conformation, e.g. if the Conformation is destroyed or if the connection is being transferred. SUGGESTION: Try to use the Link objects that are returned when attaching observers instead of attaching via this function and watching for ConnectionEvents, as it typically makes connection management easier.

References connection_obs_hub_.

template<typename MemFn , typename Ptr >
bool core::conformation::Conformation::detach_general_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

detach GeneralEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( GeneralEvent const & )
ptrRAW pointer to observer object
Returns
true if disconnect successful, false if connection does not exist
Remarks
GeneralEvent observers will be notified whenever any signal derived from GeneralEvent occurs.

References general_obs_hub_.

template<typename MemFn , typename Ptr >
bool core::conformation::Conformation::detach_identity_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

detach IdentityEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( IdentityEvent const & )
ptrRAW pointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References identity_obs_hub_.

template<typename MemFn , typename Ptr >
bool core::conformation::Conformation::detach_length_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

detach LengthEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( LengthEvent const & )
ptrRAW pointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References length_obs_hub_.

template<typename MemFn , typename Ptr >
bool core::conformation::Conformation::detach_xyz_obs ( MemFn  fn,
Ptr  ptr 
) const
inline

detach XYZEvent observer function

Parameters
fnpointer to observer's unary member function with signature void( XYZEvent const & )
ptrRAW pointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References xyz_obs_hub_.

void core::conformation::Conformation::detached_copy ( Conformation const &  src)
virtual

copy the other conformation into this, but make sure that the two share no possibly-non-bitwise-const data nor do they refer to each other (as the AtomTree does with its topological observer system).

Reimplemented in core::conformation::symmetry::SymmetricConformation, and core::conformation::symmetry::MirrorSymmetricConformation.

References atom_tree_.

Referenced by core::conformation::symmetry::SymmetricConformation::detached_copy().

void core::conformation::Conformation::detect_bonds ( )

References core::conformation::Residue::atom(), core::chemical::ResidueType::atom_name(), core::chemical::ResidueConnection::atomno(), core::conformation::Residue::atoms(), core::chemical::AtomICoor::build(), core::conformation::Residue::connection_distance(), core::conformation::Residue::connection_incomplete(), core::chemical::AtomICoor::d(), core::conformation::Residue::has_incomplete_connection(), core::chemical::ResidueConnection::icoor(), core::chemical::ResidueType::n_possible_residue_connections(), core::chemical::ResidueType::n_residue_connections_for_atom(), core::conformation::Residue::name(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), residue(), core::chemical::ResidueType::residue_connection(), core::conformation::Residue::residue_connection(), residues_, size(), core::conformation::TR(), core::conformation::Residue::type(), core::conformation::Atom::xyz(), and core::conformation::Residue::xyz().

Referenced by protocols::simple_moves::PeptideStapleMover::apply(), protocols::abinitio::ResolutionSwitcher::apply(), protocols::simple_moves::DeleteChainsMover::apply(), protocols::ncbb::oop::OopCreatorMover::apply(), protocols::comparative_modeling::LoopRelaxMover::apply(), core::pose::symmetry::make_symmetric_pose(), protocols::frag_picker::FragmentCandidate::output_silent(), core::io::pose_from_sfr::PoseFromSFRBuilder::refine_pose(), protocols::simple_moves::CyclizationMover::setup_connections(), and protocols::topology_broker::TopologyBroker::switch_to_fullatom().

void core::conformation::Conformation::detect_disulfides ( utility::vector1< Size > const &  disulf_one = utility::vector1< Size >(),
utility::vector1< Size > const &  disulf_two = utility::vector1< Size >() 
)
virtual

Detect existing disulfides from the protein structure using suggestions from the FileData (or not!)

For full atom confomations, looks at SG-SG distance. If the SG-SG are about 2.02 A apart, calls it a disulfide bond. For centroid and other conformations, the less accurate CB-CB distance is used instead. In this case a CB-CB distance of 3.72 A is optimal.

Note
Assumes full atom

Reimplemented in core::conformation::symmetry::SymmetricConformation, and core::conformation::symmetry::MirrorSymmetricConformation.

References core::conformation::Residue::atom(), core::conformation::Residue::atom_index(), core::chemical::ResidueType::atom_index(), core::conformation::Residue::atoms(), core::conformation::change_cys_state(), core::chemical::DISULFIDE, core::chemical::FA_STANDARD, core::conformation::find_neighbors(), core::chemical::ResidueType::get_disulfide_atom_name(), core::conformation::Residue::has_variant_type(), core::chemical::ResidueType::is_disulfide_bonded(), core::chemical::ResidueType::is_sidechain_thiol(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), residue(), core::chemical::ResidueType::residue_connection_id_for_atom(), residue_type(), residues_, size(), core::conformation::TR(), core::conformation::Residue::type(), and core::conformation::Atom::xyz().

Referenced by protocols::simple_moves::AddChainMover::add_new_chain(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::hybridization::MRMover::apply(), protocols::indel::IndelOptimizationMover::apply(), protocols::simple_moves::DeleteChainsMover::apply(), protocols::protein_interface_design::movers::LoopMoverFromCommandLine::apply(), protocols::hybridization::BackboneTorsionSampler::apply(), protocols::hybridization::BackboneTorsionPerturbation::apply(), protocols::comparative_modeling::LoopRelaxMover::apply(), protocols::hybridization::HybridizeProtocol::apply(), protocols::cryst::MakeLayerMover::apply(), protocols::cryst::MakeLatticeMover::apply(), protocols::analysis::InterfaceAnalyzerMover::apply_const(), protocols::environment::EnvClaimBroker::broker_dofs(), protocols::stepwise::setup::cleanup(), protocols::grafting::delete_region(), protocols::loop_modeling::utilities::PrepareForFullatom::do_apply(), core::pose::symmetry::extract_asymmetric_unit(), protocols::abinitio::AbrelaxApplication::fold(), protocols::simple_moves::CutChainMover::foldTree(), core::pose::initialize_disulfide_bonds(), core::pose::symmetry::make_symmetric_pose(), protocols::frag_picker::FragmentCandidate::output_silent(), protocols::hybridization::BackboneTorsionSampler::perturb(), protocols::hybridization::BackboneTorsionPerturbation::perturb(), protocols::analysis::PeptideDeriverFilter::prepare_pose(), protocols::sic_dock::read_biounit(), protocols::grafting::replace_region(), protocols::forge::methods::restore_residues(), protocols::grafting::return_region(), protocols::simple_moves::AddChainMover::swap_chain(), protocols::topology_broker::TopologyBroker::switch_to_fullatom(), and protocols::protein_interface_design::PatchdockReader::transform_pose().

void core::conformation::Conformation::detect_pseudobonds ( )
Real core::conformation::Conformation::dof ( DOF_ID const &  id) const
id::DOF_ID core::conformation::Conformation::dof_id_from_torsion_id ( TorsionID const &  id) const
kinematics::Stub core::conformation::Conformation::downstream_jump_stub ( int  jump_number) const
bool core::conformation::Conformation::empty ( ) const
inline

Returns true if this conformation does not have any residues.

References residues_.

void core::conformation::Conformation::fill_missing_atoms ( id::AtomID_Mask  missing)
void core::conformation::Conformation::fix_disulfides ( utility::vector1< std::pair< Size, Size > >  disulf_bonds)
virtual FoldTree const& core::conformation::Conformation::fold_tree ( ) const
inlinevirtual

Returns the conformation's FoldTree.

Reimplemented in core::conformation::symmetry::SymmetricConformation.

References fold_tree_.

Referenced by protocols::environment::EnvClaimBroker::add_chainbreak_variants(), core::optimization::symmetry::SymMinimizerMap::asymmetric_dof(), protocols::environment::EnvClaimBroker::broker_fold_tree(), core::conformation::symmetry::SymmetryInfo::dependent_dofs(), core::conformation::symmetry::SymmetryInfo::dof_is_independent(), core::conformation::Residue::fill_missing_atoms(), protocols::simple_moves::asym_fold_and_dock::AsymFoldandDockMoveRbJumpMover::find_new_jump_residue(), core::pose::symmetry::find_new_symmetric_jump_residues(), core::pose::symmetry::find_symmetric_basejump_anchor(), core::conformation::symmetry::SymmetricConformation::fold_tree(), protocols::topology_broker::FoldandDockClaimer::generate_claims(), protocols::topology_broker::AsymFoldandDockClaimer::generate_claims(), protocols::topology_broker::FibrilModelingClaimer::generate_claims(), core::conformation::symmetry::get_asymm_unit_fold_tree(), core::conformation::symmetry::SymmetryInfo::get_dof_derivative_weight(), core::conformation::idealize_position(), protocols::hybridization::HybridizeFoldtreeDynamic::initialize(), core::conformation::symmetry::MirrorSymmetricConformation::insert_conformation_by_jump(), core::conformation::symmetry::SymmetricConformation::insert_conformation_by_jump(), insert_conformation_by_jump(), core::conformation::insert_ideal_bonds_at_polymer_junction(), core::conformation::is_ideal_position(), protocols::membrane::is_membrane_fixed(), protocols::membrane::is_membrane_moveable_by_itself(), core::optimization::symmetry::SymAtomTreeMinimizer::make_semisymmetric_movemap(), core::conformation::symmetry::process_residue_request(), protocols::environment::EnvClaimBroker::render_fold_tree(), protocols::fibril::reorient_extended_fibril(), protocols::simple_filters::AlaScan::report(), protocols::features::PoseConformationFeatures::report_features_implementation(), protocols::hybridization::HybridizeFoldtreeDynamic::reset(), protocols::environment::ClientMover::sandboxed_copy(), core::conformation::symmetry::set_asymm_unit_fold_tree(), core::conformation::symmetry::set_fold_tree_from_symm_data(), core::conformation::symmetry::MirrorSymmetricConformation::set_jump(), core::conformation::symmetry::setup_symmetric_conformation(), core::conformation::symmetry::symmetrize_fold_tree(), core::conformation::symmetry::MirrorSymmetricConformation::synch_mirror_jumps_with_atomtree(), core::conformation::symmetry::MirrorSymmetricConformation::update_njumps_nres(), and protocols::environment::claims::VirtResClaim::yield_elements().

void core::conformation::Conformation::fold_tree ( FoldTree const &  fold_tree_in)
virtual
void core::conformation::Conformation::force_update_residue_coordinates ( ) const
protected

Force updating of residue coordinates.

Needed by derived classes (particularly MirrorSymmetricConformation).

References residue_coordinates_need_updating_, and update_residue_coordinates().

void core::conformation::Conformation::force_update_residue_torsions ( ) const
protected

Force updating of residue torsions.

Needed by derived classes (particularly MirrorSymmetricConformation).

References residue_torsions_need_updating_, and update_residue_torsions().

bool core::conformation::Conformation::get_jump_atom_ids ( core::Size  jump_number,
AtomID upstream_id,
AtomID downstream_id 
) const

get two atoms connect by jump

References atom_tree_, and jump_atom_id().

Referenced by protocols::toolbox::AtomLevelDomainMap::get_jump().

utility::vector1< bool > core::conformation::Conformation::get_residue_mask ( ) const
virtual

returns a mask of residues to be used in scoring

Returns a mask of residues over which scoring is restricted. Only these residues will be used in constructing the neighbor list.

Reimplemented in core::conformation::symmetry::SymmetricConformation.

References residues_.

Referenced by core::scoring::NeighborList::setup().

Real core::conformation::Conformation::get_residue_weight ( core::Size  ,
core::Size   
) const
virtual

returns a residue-pair weight

Returns a weight to be used when scoring this residue.

Reimplemented in core::conformation::symmetry::SymmetricConformation, and core::conformation::symmetry::MirrorSymmetricConformation.

Referenced by core::scoring::NeighborList::setup().

ConformationCOP core::conformation::Conformation::get_self_ptr ( ) const
inline
ConformationOP core::conformation::Conformation::get_self_ptr ( )
inline
ConformationCAP core::conformation::Conformation::get_self_weak_ptr ( ) const
inline
ConformationAP core::conformation::Conformation::get_self_weak_ptr ( )
inline
kinematics::RT core::conformation::Conformation::get_stub_transform ( id::StubID const &  stub_id1,
id::StubID const &  stub_id2 
) const
bool core::conformation::Conformation::get_torsion_angle_atom_ids ( TorsionID const &  tor_id,
AtomID id1,
AtomID id2,
AtomID id3,
AtomID id4 
) const
virtual bool core::conformation::Conformation::has_passport ( ) const
inlinevirtual
void core::conformation::Conformation::in_place_copy ( Conformation const &  src)
private

Optimizing the common case of assigning a conformation to another with the same sequence.

References atom_tree_, chain_endings_, dof_moved_, fold_tree_, parameters_set_, residue_coordinates_need_updating_, residue_torsions_need_updating_, residues_, secstruct_, size(), structure_moved_, and xyz_moved_.

Referenced by operator=().

void core::conformation::Conformation::insert_chain_ending ( Size  seqpos)
void core::conformation::Conformation::insert_conformation_by_jump ( Conformation const &  conf,
Size  insert_seqpos,
Size  insert_jumppos,
Size  anchor_pos,
Size  anchor_jump_number = 0,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "" 
)
virtual

Insert one conformation into another. See FoldTree::insert_fold_tree_by_jump.

Insert one conformation into another. Some tricky issues: (1) residue connections: assume all residue connections within conf carry over, after renumbering residues positions (2) jump numbers: see FoldTree::insert_fold_tree_by_jump (3) chains: chain endings are inserted before insert_seqpos, and after insert_seqpos+conf.size()-1 ie. at the beginning and ending of the inserted conformation; all internal chain endings from conf are used (4) atom_tree: setup_atom_tree is called to rebuild from scratch using the fold_tree

Reimplemented in core::conformation::symmetry::SymmetricConformation, core::conformation::symmetry::MirrorSymmetricConformation, and protocols::environment::ProtectedConformation.

References add_parameters_set(), chain_end(), chain_endings_, core::id::AtomID_Map< T >::clear(), core::conformation::Residue::clone(), dof_moved_, fold_tree(), fold_tree_, n_parameters_sets(), notify_length_obs(), num_chains(), parameters_set(), pre_nresidue_change(), rederive_chain_ids(), residue(), core::conformation::signals::LengthEvent::RESIDUE_APPEND, residue_op(), residue_torsions_need_updating_, residues_, core::id::AtomID_Map< T >::resize(), secstruct_, setup_atom_tree(), size(), update_sequence_numbering(), and xyz_moved_.

Referenced by core::pose::Pose::append_pose_by_jump(), core::conformation::symmetry::MirrorSymmetricConformation::insert_conformation_by_jump(), core::conformation::symmetry::SymmetricConformation::insert_conformation_by_jump(), protocols::motif_grafting::movers::MotifGraftMover::join_two_poses_by_jump(), and core::conformation::symmetry::setup_symmetric_conformation().

void core::conformation::Conformation::insert_fragment ( id::StubID const &  instub_id,
FragRT const &  outstub_transforms,
FragXYZ const &  frag_xyz 
)

References atom_tree_, and set_dof_moved().

void core::conformation::Conformation::insert_ideal_geometry_at_polymer_bond ( Size  seqpos)
void core::conformation::Conformation::insert_ideal_geometry_at_residue_connection ( Size  pos1,
Size  connid1 
)

Set two bond angles and a bond length. DOES NOT DO ANY DIHEDRALS – NOT EVEN OMEGA IF IT'S A PROTEIN

References rebuild_residue_connection_dependent_atoms(), residues_, set_bond_angle(), and set_bond_length().

void core::conformation::Conformation::insert_polymer_residue ( Residue const &  new_rsd_in,
Size  seqpos,
bool  join_lower,
bool  join_upper 
)
private
void core::conformation::Conformation::insert_residue_by_bond ( Residue const &  new_rsd_in,
Size  seqpos,
Size  anchor_pos,
bool  build_ideal_geometry = false,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "",
bool  new_chain = false,
bool  lookup_bond_length = false 
)
void core::conformation::Conformation::insert_residue_by_jump ( Residue const &  new_rsd_in,
Size  seqpos,
Size  anchor_pos,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "",
bool  new_chain = false 
)
id::AtomID core::conformation::Conformation::inter_residue_connection_partner ( Size  seqpos,
int  connection_index 
) const

This returns the AtomID of the atom in the other residue to which the "connection_index"-th connection of residue seqpos is connected to.

References core::chemical::ResidueConnection::atomno(), core::conformation::Residue::residue_connection(), core::conformation::Residue::residue_connection_partner(), and residues_.

Referenced by core::chemical::ICoorAtomID::atom_id().

bool core::conformation::Conformation::is_centroid ( ) const

convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos )

Note
this is not a good test –Doug

References core::chemical::CENTROID, and is_residue_typeset().

Referenced by protocols::environment::EnvClaimBroker::broker_dofs().

bool core::conformation::Conformation::is_fullatom ( ) const

convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos )

Note
this is not a good test –Doug

References core::chemical::FA_STANDARD, and is_residue_typeset().

Referenced by core::conformation::form_disulfide().

bool core::conformation::Conformation::is_membrane ( ) const
inline

convenience test for if the conformation contains information for a membrane protein

References membrane_info_.

Referenced by core::select::residue_selector::MembraneResidueSelector::apply(), core::select::residue_selector::ByMembraneDepthSelector::apply(), core::select::residue_selector::TMSpanSelector::apply(), protocols::membrane::SetMembranePositionMover::apply(), protocols::membrane::RandomPositionRotationMover::apply(), protocols::membrane::OptimizeProteinEmbeddingMover::apply(), protocols::membrane::visualize::VisualizeEmbeddingMover::apply(), protocols::membrane::MembranePositionFromTopologyMover::apply(), protocols::relax::membrane::MPFastRelaxMover::apply(), protocols::membrane::AddMPLigandMover::apply(), protocols::membrane::visualize::VisualizeMembraneMover::apply(), protocols::symmetric_docking::membrane::MPSymDockMover::apply(), protocols::relax::RangeRelaxMover::apply(), protocols::membrane::TransformIntoMembraneMover::apply(), protocols::membrane::TranslationMover::apply(), protocols::membrane::RandomPositionTranslationMover::apply(), protocols::membrane::SetMembraneNormalMover::apply(), protocols::docking::DockingSlideIntoContact::apply(), protocols::membrane::SetMembraneCenterMover::apply(), protocols::membrane::RotationMover::apply(), protocols::moves::PyMolMover::apply(), protocols::membrane::TranslationRotationMover::apply(), core::scoring::hbonds::HBondEnergy::backbone_backbone_energy(), core::scoring::hbonds::HBondEnergy::backbone_sidechain_energy(), protocols::ligand_docking::MinimizeBackbone::create_fold_tree_with_cutpoints(), protocols::ligand_docking::MinimizeBackbone::create_fold_tree_with_ligand_jumps_from_attach_pts(), protocols::membrane::create_membrane_foldtree_anchor_com(), protocols::membrane::create_membrane_foldtree_anchor_pose_tmcom(), protocols::membrane::create_membrane_foldtree_anchor_tmcom(), protocols::membrane::create_membrane_foldtree_from_anchors(), protocols::membrane::create_specific_membrane_foldtree(), protocols::relax::FastRelax::do_minimize(), core::scoring::hbonds::fill_hbond_set(), protocols::relax::RangeRelaxMover::finalize_setup(), core::scoring::membrane::MPLipoEnergy::finalize_total_energy(), core::scoring::hbonds::get_membrane_depth_dependent_weight(), core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_membrane_info(), protocols::membrane::is_membrane_fixed(), protocols::membrane::is_membrane_moveable_by_itself(), protocols::membrane::mem_all_atom_rmsd_no_super(), protocols::membrane::mem_all_atom_rmsd_with_super(), protocols::membrane::mem_bb_rmsd_no_super(), protocols::membrane::mem_bb_rmsd_with_super(), core::pose::operator<<(), core::scoring::membrane::MPCbetaEnergy::residue_energy(), core::scoring::membrane::MPTerminiPenalty::residue_energy(), core::scoring::membrane::MPNonHelixPenalty::residue_energy(), core::scoring::membrane::MPEnvEnergy::residue_energy(), core::scoring::membrane::MPPairEnergy::residue_pair_energy(), core::scoring::hbonds::HBondEnergy::residue_pair_energy(), core::scoring::hbonds::HBondEnergy::residue_pair_energy_ext(), protocols::moves::PyMolMover::send_membrane_planes(), protocols::membrane::setup_foldtree_from_anchors(), protocols::membrane::setup_foldtree_pose_com(), core::scoring::hbonds::HBondEnergy::setup_for_packing(), core::scoring::hbonds::HBondEnergy::setup_for_scoring(), protocols::relax::membrane::MPFastRelaxMover::setup_relax_foldtree(), and core::scoring::hbonds::HBondEnergy::sidechain_sidechain_energy().

virtual bool core::conformation::Conformation::is_protected ( ) const
inlinevirtual
bool core::conformation::Conformation::is_residue_typeset ( std::string  tag) const

convenience test for residue_type_set ( based on two middle residue – to avoid hitting on ligands or pseudos )

Note
this is not a good test –Doug

References residue_type(), core::chemical::ResidueType::residue_type_set(), size(), and core::conformation::TR().

Referenced by is_centroid(), and is_fullatom().

Conformation::Jump const & core::conformation::Conformation::jump ( int  jump_number) const
Conformation::Jump const & core::conformation::Conformation::jump ( AtomID const &  id) const

access a jump

References atom_tree_.

id::AtomID core::conformation::Conformation::jump_atom_id ( int  jump_number) const
membrane::MembraneInfoOP core::conformation::Conformation::membrane_info ( )

Returns the const MembraneInfo object in conformation.

Returns the MembraneInfo object in conformation.

Membrane Info contains information describing location of the membrane virtual residue in the pose sequence, membrane spanning region definitions and lipid exposure/burial data

References membrane_info_.

Referenced by core::select::residue_selector::MembraneResidueSelector::apply(), core::select::residue_selector::TMSpanSelector::apply(), protocols::membrane::benchmark::SampleTiltAngles::apply(), protocols::membrane::RandomPositionRotationMover::apply(), protocols::membrane::OptimizeProteinEmbeddingMover::apply(), protocols::membrane::visualize::VisualizeEmbeddingMover::apply(), protocols::membrane::MembranePositionFromTopologyMover::apply(), protocols::relax::membrane::MPFastRelaxMover::apply(), protocols::relax::membrane::MPRangeRelaxMover::apply(), protocols::membrane::AddMPLigandMover::apply(), protocols::docking::membrane::MPFindInterfaceMover::apply(), protocols::membrane::SpinAroundPartnerMover::apply(), protocols::membrane::TiltMover::apply(), protocols::membrane::FlipMover::apply(), protocols::membrane::TransformIntoMembraneMover::apply(), protocols::membrane::AddMembraneMover::apply(), protocols::membrane::TranslationMover::apply(), protocols::membrane::RandomPositionTranslationMover::apply(), protocols::docking::membrane::MPDockingMover::apply(), protocols::membrane::SetMembraneCenterMover::apply(), protocols::membrane::RotationMover::apply(), protocols::membrane::TranslationRotationMover::apply(), core::scoring::membrane::FaMPEnvSmoothEnergy::calc_energy(), protocols::membrane::calc_helix_axis(), protocols::membrane::calc_helix_tilt_angle(), protocols::membrane::chain_tm_com(), core::select::residue_selector::TMSpanSelector::check_valid_tm_selection(), protocols::membrane::compute_embeddings_by_chain(), protocols::membrane::compute_structure_based_embedding(), protocols::membrane::create_membrane_docking_foldtree_from_partners(), protocols::membrane::create_membrane_foldtree_from_anchors(), protocols::membrane::create_membrane_multi_partner_foldtree_anchor_tmcom(), protocols::membrane::create_specific_membrane_foldtree(), protocols::docking::membrane::QuickRelaxPartnersSeparately::finalize_setup(), protocols::docking::membrane::MPFindInterfaceMover::finalize_setup(), core::scoring::membrane::MPLipoEnergy::finalize_total_energy(), core::scoring::hbonds::get_membrane_depth_dependent_weight(), core::io::pose_to_sfr::PoseToStructFileRepConverter::grab_membrane_info(), core::scoring::membrane::FaMPSolvEnergy::init(), protocols::membrane::is_membrane_fixed(), protocols::membrane::is_membrane_moveable_by_itself(), protocols::membrane::mem_all_atom_rmsd_no_super(), protocols::membrane::mem_all_atom_rmsd_with_super(), protocols::membrane::mem_bb_rmsd_no_super(), protocols::membrane::mem_bb_rmsd_with_super(), protocols::membrane::membrane_axis(), core::pose::operator<<(), protocols::membrane::OptimizeMembranePositionMover::optimize_membrane_center(), protocols::membrane::OptimizeMembranePositionMover::optimize_membrane_normal(), protocols::membrane::pose_tilt_angle_and_center_distance(), protocols::membrane::pose_tm_com(), protocols::symmetric_docking::membrane::MPSymDockMover::position_membrane_at_topology_com(), protocols::membrane::reorder_membrane_foldtree(), core::scoring::membrane::MPCbetaEnergy::residue_energy(), core::scoring::membrane::MPTerminiPenalty::residue_energy(), core::scoring::membrane::MPNonHelixPenalty::residue_energy(), core::scoring::membrane::MPEnvEnergy::residue_energy(), core::select::residue_selector::ByMembraneDepthSelector::residue_within_depth(), protocols::membrane::rsd_closest_to_chain_com(), protocols::membrane::rsd_closest_to_chain_tm_com(), core::scoring::hbonds::HBondEnergy::setup_for_packing(), core::scoring::hbonds::HBondEnergy::setup_for_scoring(), protocols::relax::membrane::MPFastRelaxMover::setup_relax_foldtree(), protocols::relax::membrane::MPFastRelaxMover::show_protocol(), protocols::membrane::split_topology_by_jump(), protocols::membrane::split_topology_by_jump_noshift(), and protocols::membrane::update_partner_embeddings().

membrane::MembraneInfoOP core::conformation::Conformation::membrane_info ( ) const

Returns the const MembraneInfo object in conformation.

Returns a Membrane Info Object in the conformation.

Membrane Info contains information describing location of the membrane virtual residue in the pose sequence, membrane spanning region definitions and lipid exposure/burial data

Membrane Info contains information regarding membrane residues, foldtree modifications, fullatom vs. centroid embedding parameters for scoring and the spanning topology/lipids accessibility data

References membrane_info_.

virtual core::Size core::conformation::Conformation::n_parameters_sets ( ) const
inlinevirtual
void core::conformation::Conformation::notify_connection_obs ( ConnectionEvent const &  e) const
private

notify ConnectionEvent observers

work in progress void insert_chemical_chainbreak_between_polymer_residues( Size const lower_seqpos ) { ResidueOP lower_rsd( residues_[ lower_seqpos ] );

the type of the desired variant residue ResidueTypeSet const & rsd_set( lower_rsd->residue_type_set() );

ResidueType const & new_lower_rsd_type ( rsd_set.get_residue_type_with_variant_removed( lower_rsd.type(), UPPER_TERMINUS ) ); ResidueOP new_lower_rsd( ResidueFactory::create_residue( new_lower_rsd_type ) ); }

Remarks
called upon a change in the state of connection between the Conformation and the observer (e.g. destruction of Conformation or transfer of connection)

References connection_obs_hub_.

Referenced by clear_observers(), and receive_observers_from().

void core::conformation::Conformation::notify_general_obs ( GeneralEvent const &  e) const
private

notify GeneralEvent observers

Remarks
should only be called when there are no other suitable event types since specific event notifications will automatically fire a GeneralEvent signal

References general_obs_hub_.

Referenced by notify_identity_obs(), notify_length_obs(), and notify_xyz_obs().

void core::conformation::Conformation::notify_identity_obs ( IdentityEvent const &  e,
bool  fire_general = true 
) const
private

notify IdentityEvent observers

Parameters
ethe event
fire_generalfire a GeneralEvent afterwards? default true

References identity_obs_hub_, and notify_general_obs().

Referenced by operator=(), and replace_residue().

void core::conformation::Conformation::notify_length_obs ( LengthEvent const &  e,
bool  fire_general = true 
) const
private

notify LengthEvent observers

Parameters
ethe event
fire_generalfire a GeneralEvent afterwards? default true

References length_obs_hub_, and notify_general_obs().

Referenced by append_residue(), delete_polymer_residue(), delete_residue_range_slow(), delete_residue_slow(), insert_conformation_by_jump(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), and operator=().

void core::conformation::Conformation::notify_xyz_obs ( XYZEvent const &  e,
bool  fire_general = true 
) const
private

notify XYZEvent observers

Parameters
ethe event
fire_generalfire a GeneralEvent afterwards? default true

References notify_general_obs(), and xyz_obs_hub_.

Referenced by operator=(), update_residue_coordinates(), and update_residue_torsions().

Size core::conformation::Conformation::num_chains ( ) const
inline

Returns the number of chains.

References chain_endings_.

Referenced by protocols::matdes::SymDofMover::add_components_to_pose_if_necessary(), protocols::anchored_design::AnchorMoversData::anchor_noise_constraints_setup(), protocols::seeded_abinitio::SwapSegment::apply(), protocols::simple_moves::SwitchChainOrderMover::apply(), protocols::protein_interface_design::movers::SetAtomTree::apply(), protocols::protein_interface_design::movers::PrepackMover::apply(), protocols::seeded_abinitio::SeedFoldTree::apply(), protocols::seeded_abinitio::SegmentHybridizer::apply(), protocols::toolbox::task_operations::SelectBySASAOperation::apply(), protocols::simple_moves::CyclizationMover::apply(), protocols::metal_interface::ZincHeterodimerMover::apply(), protocols::toolbox::task_operations::SelectResiduesWithinChainOperation::apply(), protocols::protein_interface_design::movers::BackrubDDMover::apply(), protocols::indel::IndelOptimizationMover::apply(), protocols::toolbox::task_operations::RestrictChainToRepackingOperation::apply(), protocols::toolbox::task_operations::PreventChainFromRepackingOperation::apply(), protocols::toolbox::task_operations::RestrictToTerminiOperation::apply(), protocols::simple_moves::SetTorsion::apply(), protocols::toolbox::task_operations::ProteinInterfaceDesignOperation::apply(), protocols::denovo_design::connection::BridgeChains::apply(), protocols::toolbox::task_operations::RestrictToInterfaceVectorOperation::apply(), protocols::enzdes::LigInterfaceEnergyFilter::apply(), protocols::analysis::InterfaceAnalyzerMover::apply_const(), protocols::analysis::PeptideDeriverMarkdownStreamOutputter::begin_structure(), protocols::simple_moves::GenericMonteCarloMover::boltzmann(), protocols::simple_filters::ResidueBurialFilter::compute(), protocols::protein_interface_design::filters::AverageDegreeFilter::compute(), protocols::protein_interface_design::filters::RmsdSimpleFilter::compute(), protocols::protein_interface_design::filters::SSamountFilter::compute(), protocols::protein_interface_design::filters::SpecificResiduesNearInterfaceFilter::compute(), protocols::protein_interface_design::filters::AtomicContactCountFilter::compute(), protocols::indexed_structure_store::filters::FragmentLookupFilter::compute(), protocols::simple_filters::SSMotifFinder::compute_jump(), protocols::simple_filters::ResidueIEFilter::compute_resnums(), core::pose::conf2pdb_chain(), core::pose::conf2pdb_chain_default_map(), protocols::floppy_tail::create_extra_output(), protocols::denovo_design::connection::BridgeChains::create_remodel_mover(), protocols::seeded_abinitio::define_movemap_chains(), protocols::ligand_docking::InterfaceBuilder::enforce_minimum_length(), protocols::forge::methods::fold_tree_from_loops(), protocols::forge::methods::fold_tree_from_pose(), protocols::motif_grafting::movers::MotifGraftMover::generate_scaffold_matches(), protocols::features::InterfaceFeatures::get_all_pose_chains(), core::conformation::symmetry::get_chain2range(), core::pose::get_chain_ids_from_chain(), protocols::analysis::PeptideDeriverFilter::get_chain_indices(), core::indexed_structure_store::FragmentLookup::get_fragment_residue_spans(), core::pack::rotamers::RotamericSingleResiduePeptoidLibrary< T, N >::get_omg_from_rsd(), core::pose::has_chain(), protocols::antibody::AntibodyInfo::identify_antibody(), protocols::denovo_design::components::StructureData::infer_from_pose(), insert_conformation_by_jump(), protocols::forge::build::SegmentRebuild::modify_impl(), core::conformation::Residue::orient_onto_residue_peptoid(), protocols::seeded_abinitio::DefineMovableLoops::parse_my_tag(), protocols::protein_interface_design::movers::TopologyBrokerMover::parse_my_tag(), protocols::seeded_abinitio::CloseFold::parse_my_tag(), protocols::simple_moves::SwitchChainOrderMover::parse_my_tag(), protocols::simple_filters::EnergyPerResidueFilter::parse_my_tag(), protocols::rigid::RollMover::parse_my_tag(), protocols::simple_moves::ddG::parse_my_tag(), protocols::analysis::PeptideDeriverFilter::prepare_pose(), protocols::toolbox::pose_metric_calculators::ResidueDecompositionByChainCalculator::recompute(), protocols::analysis::InterfaceAnalyzerMover::reorder_foldtree_find_jump(), protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue(), protocols::forge::remodel::RemodelLoopMover::repeat_propagation(), core::io::external::PsiPredInterface::run_psipred(), protocols::pmut_scan::AlterSpecDisruptionDriver::score(), core::select::residue_selector::ChainSelector::select_chain_by_index(), protocols::ligand_docking::MoveMapBuilder::set_all_chi(), protocols::anchored_design::AnchoredDesignMover::set_fold_tree_and_cutpoints(), protocols::seeded_abinitio::SeedSetupMover::set_packerTasks_target_and_seeds(), protocols::analysis::InterfaceAnalyzerMover::setup_for_dock_chains(), protocols::relax::membrane::MPFastRelaxMover::setup_relax_foldtree(), core::conformation::symmetry::setup_symmetric_conformation(), protocols::fldsgn::CircularPermutation::split_chains(), protocols::protein_interface_design::star_fold_tree(), and protocols::fldsgn::CircularPermutation::which_chain().

Conformation & core::conformation::Conformation::operator= ( Conformation const &  src)
virtual
virtual ParametersSetOP core::conformation::Conformation::parameters_set ( core::Size const  index)
inlinevirtual
virtual ParametersSetCOP core::conformation::Conformation::parameters_set ( core::Size const  index) const
inlinevirtual

Const access to one of the ParametersSets objects linked to this Conformation.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References parameters_set_.

virtual core::environment::DofPassportCOP core::conformation::Conformation::pop_passport ( )
inlinevirtual
void core::conformation::Conformation::pre_nresidue_change ( )
private

The Conformation must transfer lazily accumulated "moved" data from the AtomTree before changing the number of residues.

Copy any un-registered coordinate or DOF changes into the existing residues. For now, the AtomTree only tracks which Residues need external coordinate changes, and not internal coordinate changes. When internal coordinates go out-of-date in the atom tree, the "update_internal_coordinates" recursion begins at the root. Moreover, the Conformation updates internal coordinates for all residues when it updates. However, when this changes and the AtomTree starts tracking which residues need to have their internal coordinates updated, then it will be necessary to add a call to update_residue_torsions() here.

References update_residue_coordinates().

Referenced by append_polymer_residue_after_seqpos(), append_residue(), append_residue_by_bond(), append_residue_by_jump(), clear(), delete_polymer_residue(), delete_residue_range_slow(), delete_residue_slow(), insert_conformation_by_jump(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), prepend_polymer_residue_before_seqpos(), and safely_append_polymer_residue_after_seqpos().

void core::conformation::Conformation::prepend_polymer_residue_before_seqpos ( Residue const &  new_rsd,
Size  seqpos,
bool  build_ideal_geometry 
)
virtual void core::conformation::Conformation::push_passport ( core::environment::DofPassportCOP  )
inlinevirtual
void core::conformation::Conformation::rebuild_polymer_bond_dependent_atoms ( Size  seqpos)

Rebuild the atoms ( like HN(seqpos), OC(seqpos+1) ) that are dependent on the polymer bond between seqpos and seqpos+1.

rebuilds the atoms that are dependent on the bond between seqpos and seqpos+1 for their torsion offset

Referenced by append_polymer_residue_after_seqpos(), append_residue_by_bond(), core::conformation::insert_ideal_bonds_at_polymer_junction(), insert_ideal_geometry_at_polymer_bond(), prepend_polymer_residue_before_seqpos(), rebuild_polymer_bond_dependent_atoms_this_residue_only(), and update_polymeric_connection().

void core::conformation::Conformation::rebuild_polymer_bond_dependent_atoms ( Size  seqpos,
int  upper_lower 
)
private
void core::conformation::Conformation::rebuild_polymer_bond_dependent_atoms_this_residue_only ( Size  seqpos)

Rebuilds the atoms that are depenent on polymer bonds for the specified residue only.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References rebuild_polymer_bond_dependent_atoms().

Referenced by protocols::cyclic_peptide::DeclareBond::apply(), and protocols::relax::fixH().

void core::conformation::Conformation::rebuild_residue_connection_dependent_atoms ( Size  seqpos,
Size  connid 
)
void core::conformation::Conformation::receive_observers_from ( Conformation const &  src)

fire a ConnectionEvent::TRANSFER to transfer observers from some source Conformation

Parameters
srcTake observers from this source Conformation.
Remarks
Only observers that properly honor the TRANSFER event by re-attaching themselves to 'this' Conformation will be transferred.

References notify_connection_obs(), and core::conformation::signals::ConnectionEvent::TRANSFER.

void core::conformation::Conformation::rederive_chain_endings ( )
private
void core::conformation::Conformation::rederive_chain_ids ( )
private
void core::conformation::Conformation::replace_residue ( Size  seqpos,
Residue const &  new_rsd_in,
bool  orient_backbone 
)
virtual
void core::conformation::Conformation::replace_residue ( Size  seqpos,
Residue const &  new_rsd_in,
utility::vector1< std::pair< std::string, std::string > > const &  atom_pairs 
)
virtual

function to replace a residue based on superposition on the specified input atom pairs

Note
NOTE: at the moment, only superposition on 3 atoms works Fires an IdentityEvent signal.

Reimplemented in core::conformation::symmetry::SymmetricConformation, core::conformation::symmetry::MirrorSymmetricConformation, and protocols::environment::ProtectedConformation.

References core::conformation::Residue::orient_onto_residue(), replace_residue(), and residues_.

void core::conformation::Conformation::reset_chain_endings ( )

Resets chain data so that the Conformation is marked as a single chain.

References chain_endings_, and rederive_chain_ids().

Referenced by protocols::domain_assembly::AssembleLinkerMover::apply(), and protocols::fldsgn::CircularPermutation::apply().

void core::conformation::Conformation::reset_move_data ( )

forget all the structure modifications

called after domain map information is transferred to the Energies class

References dof_moved_, core::id::AtomID_Map< T >::fill_with(), structure_moved_, and xyz_moved_.

void core::conformation::Conformation::reset_structure_moved ( ) const
inline

reset the structure_moved_ bool

References structure_moved_.

Residue const& core::conformation::Conformation::residue ( Size  seqpos) const
inline

access one of the residues

Note
this access is inlined, since otherwise it shows up in the profiler. This will call non-inlined refold methods if necessary.

update coordinates and torsions for this and all other residues before allowing read access

References residue_coordinates_need_updating_, residue_torsions_need_updating_, residues_, size(), update_residue_coordinates(), and update_residue_torsions().

Referenced by protocols::environment::EnvClaimBroker::add_chainbreak_variants(), core::conformation::add_variant_type_to_conformation_residue(), core::pose::add_variant_type_to_pose_residue(), protocols::environment::EnvClaimBroker::add_virtual_residues(), core::pose::carbohydrates::align_virtual_atoms_in_carbohydrate_residue(), core::conformation::annotated_atom_graph_from_conformation(), annotated_sequence(), protocols::protein_interface_design::movers::AddSidechainConstraintsToHotspots::apply(), protocols::simple_filters::SSMotifFinder::apply(), protocols::ligand_docking::WriteLigandMolFile::apply(), protocols::protein_interface_design::filters::FilterScanFilter::apply(), protocols::protein_interface_design::movers::PlacementAuctionMover::apply(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::apply(), protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_perturb_backbone_by_bins(), protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_randomize_backbone_by_bins(), protocols::pockets::PlaidFingerprint::apply_rotation_offset_to_pose_(), protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_set_backbone_bin(), protocols::pockets::ElectrostaticpotentialGrid::assign_esp_for_protein_grid_points(), protocols::simple_filters::atom_distance(), core::conformation::atom_graph_from_conformation(), core::conformation::membrane::MembraneInfo::atom_z_position(), protocols::pockets::PocketGrid::autoexpanding_pocket_eval(), bonded_neighbor_all_res(), core::conformation::break_disulfide(), protocols::pockets::PlaidFingerprint::calculate_ligand_CoM(), core::conformation::change_cys_state(), protocols::environment::collect_dofs(), protocols::simple_filters::ResidueBurialFilter::compute(), protocols::simple_filters::SidechainRmsdFilter::compute(), protocols::simple_filters::ResidueDistanceFilter::compute(), protocols::simple_filters::AngleToVector::compute(), protocols::protein_interface_design::filters::AverageDegreeFilter::compute(), protocols::enzdes::LigBurialFilter::compute(), protocols::matdes::OligomericAverageDegreeFilter::compute(), protocols::simple_filters::SSMotifFinder::compute_jump(), protocols::pockets::PlaidFingerprint::compute_ligand_natoms(), protocols::pockets::PlaidFingerprint::compute_ligand_natoms_with_hydrogens(), protocols::ligand_docking::ComputeLigandRDF::compute_rdf(), protocols::star::copy_residues(), copy_segment(), debug_residue_torsions(), core::conformation::symmetry::SymmetricConformation::declare_chemical_bond(), detect_bonds(), core::conformation::symmetry::SymmetricConformation::detect_disulfides(), detect_disulfides(), detect_pseudobonds(), core::scoring::constraints::AtomPairConstraint::dist(), core::conformation::disulfide_bonds(), protocols::environment::dof_id_to_string(), protocols::pockets::PlaidFingerprint::dump_oriented_pose_and_fp_to_pdb(), protocols::viewer::dump_residue_kinemage(), protocols::viewer::dump_structure_kinemage(), protocols::pockets::EggshellGrid::EggshellGrid(), protocols::environment::EXCN_Env_Security_Exception::EXCN_Env_Security_Exception(), protocols::environment::find_implied_cut(), protocols::pockets::PocketGrid::findExemplars(), fix_disulfides(), core::conformation::form_disulfide(), core::conformation::form_disulfide_helper(), core::pack::task::residue_selector::ClashBasedRepackShellSelector::get_clashing_positions(), core::conformation::get_disulf_partner(), core::scoring::orbitals::OrbitalsScore::get_E_haro_one_way(), core::scoring::orbitals::OrbitalsScore::get_E_hpol_one_way(), core::pose::get_hash_excluding_chain(), core::pose::get_hash_from_chain(), protocols::pockets::GenPharmacophore::get_ideal_hydrogenBond_atoms(), core::scoring::orbitals::OrbitalsScore::get_orb_orb_E(), core::pose::get_sha1_hash_excluding_chain(), core::conformation::symmetry::SymmetricConformation::get_upstream_vrt(), protocols::pockets::PocketGrid::getRelaxResidues(), core::conformation::idealize_position(), protocols::pockets::NonPlaidFingerprint::include_eggshell_points_based_on_known_ligand(), protocols::membrane::AddMembraneMover::initialize_membrane_residue(), core::conformation::symmetry::MirrorSymmetricConformation::insert_conformation_by_jump(), core::conformation::symmetry::SymmetricConformation::insert_conformation_by_jump(), insert_conformation_by_jump(), core::conformation::insert_ideal_bonds_at_polymer_junction(), core::conformation::insert_ideal_mainchain_bonds(), core::conformation::is_disulfide_bond(), core::conformation::is_ideal_position(), protocols::ligand_docking::ComputeLigandRDF::ligand_protein_rdf(), core::scoring::mm::MMBondAngleResidueTypeParamSet::lookup(), protocols::pockets::ElectrostaticpotentialGrid::mark_protein_espGrid_points(), core::conformation::membrane::MembraneInfo::membrane_center(), core::conformation::membrane::MembraneInfo::membrane_normal(), protocols::make_rot_lib::MakeRotLibMover::minimize_rotamer(), protocols::pockets::PocketGrid::move_pose_to_standard_orie(), core::conformation::Residue::orient_onto_residue_peptoid(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::perform_bump_check(), protocols::pockets::PlaidFingerprint::PlaidFingerprint(), protocols::pockets::PocketConstraint::PocketConstraint(), core::conformation::print_atom(), protocols::viewer::print_node(), protocols::ligand_docking::ComputeLigandRDF::protein_protein_rdf(), core::scoring::bin_transitions::BinTransitionCalculator::random_bin_based_on_prev_and_next(), core::scoring::bin_transitions::BinTransitionCalculator::random_mainchain_torsions_from_bin(), core::scoring::bin_transitions::BinTransitionCalculator::random_mainchain_torsions_from_bins(), core::conformation::symmetry::SymmetricConformation::recalculate_transforms(), core::conformation::symmetry::recenter(), core::conformation::remove_variant_type_from_conformation_residue(), core::pose::remove_variant_type_from_pose_residue(), core::conformation::replace_conformation_residue_copying_existing_coordinates(), protocols::simple_filters::res_res_min_distance(), protocols::simple_filters::res_rmsd(), protocols::protein_interface_design::filters::res_rmsd(), core::scoring::func::ConformationXYZ::residue(), core::conformation::symmetry::residue_center_of_mass(), core::conformation::residue_point_graph_from_conformation(), core::conformation::membrane::MembraneInfo::residue_z_position(), core::conformation::symmetry::return_nearest_residue(), protocols::pockets::PlaidFingerprint::rmsd(), protocols::environment::ClientMover::sandboxed_copy(), core::pose::symmetry::sealed_symmetric_fold_tree(), sequence_matches(), core::conformation::symmetry::set_fold_tree_from_symm_data(), protocols::pockets::PocketConstraint::set_target_res(), protocols::pockets::PocketConstraint::set_target_res_pdb(), protocols::star::setup_constraints(), protocols::medal::setup_coordinate_constraints(), core::conformation::symmetry::setup_symmetric_conformation(), protocols::protein_interface_design::movers::PlaceStubMover::StubMinimize(), protocols::topology_broker::SymmetryClaimer::symmetry_duplicate(), protocols::simple_filters::RelativePoseFilter::thread_seq(), torsion(), core::conformation::symmetry::MirrorSymmetricConformation::update_residue_identities(), core::conformation::ConformationKinWriter::write_coords(), and protocols::environment::claims::XYZClaim::yield_elements().

Residue& core::conformation::Conformation::residue_ ( Size  seqpos)
inlineprivate

Returns a non-constant residue reference without triggering coordinate/torsion update.

Use with care. Useful inside torsion/coordinate setters where we want chemical info about a given residue but don't want to trigger the coordinate/torsion updates that go along with a call to residue(seqpos).

Note
APL – Conformation should not give out non-const access to its residues even to derived classes. This function should not be called by derived classes.

References residues_, and size().

Referenced by append_polymer_residue_after_seqpos(), append_residue_by_bond(), detect_pseudobonds(), fill_missing_atoms(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), prepend_polymer_residue_before_seqpos(), rebuild_polymer_bond_dependent_atoms(), rebuild_residue_connection_dependent_atoms(), and set_polymeric_connection().

ResidueCOP core::conformation::Conformation::residue_cop ( Size  seqpos) const
inline
ResidueOP core::conformation::Conformation::residue_op ( Size  seqpos)
inline
chemical::ResidueType const& core::conformation::Conformation::residue_type ( Size  seqpos) const
inline
void core::conformation::Conformation::residues_append ( Residue const &  new_rsd,
bool  start_new_chain,
bool  by_jump = false,
std::string const &  root_atom = "",
id::NamedAtomID  anchor_id = id::BOGUS_NAMED_ATOM_ID 
)
private

PRIVATE: wrap direct access to the Residues container for appending

Warning
Since this is the innermost routine when replacing a residue, it does not fire any signals to ensure that observer access to the residues container does not trigger an atom tree refold prematurely.

References core::id::NamedAtomID::atom(), core::id::BOGUS_NAMED_ATOM_ID, core::conformation::Residue::clone(), dof_moved_, core::conformation::Residue::natoms(), rederive_chain_endings(), rederive_chain_ids(), residues_, core::id::AtomID_Map< T >::resize(), core::id::NamedAtomID::rsd(), secstruct_, structure_moved_, core::conformation::TR(), update_noncanonical_connection(), update_polymeric_connection(), and xyz_moved_.

Referenced by append_residue().

void core::conformation::Conformation::residues_delete ( Size  seqpos)
private

PRIVATE: wrap direct access to the Residues container for replacement also handles redimensioning and setting of the _moved arrays and updating of sequence numbers

Warning
Since this is the innermost routine when replacing a residue, it does not fire any signals to ensure that observer access to the residues container does not trigger an atom tree refold prematurely.

References rederive_chain_endings(), rederive_chain_ids(), residues_, secstruct_, update_polymeric_connection(), and update_sequence_numbering().

Referenced by delete_polymer_residue(), delete_residue_range_slow(), and delete_residue_slow().

void core::conformation::Conformation::residues_insert ( Size  seqpos,
Residue const &  new_rsd,
bool  use_lower_chain = false,
bool  new_chain = false 
)
private

PRIVATE: wrap direct access to the Residues container for replacement also handles redimensioning and setting of the _moved arrays and updating of sequence numbers

Warning
Since this is the innermost routine when replacing a residue, it does not fire any signals to ensure that observer access to the residues container does not trigger an atom tree refold prematurely.

References core::conformation::Residue::clone(), dof_moved_, core::conformation::Residue::name(), core::conformation::Residue::natoms(), rederive_chain_endings(), residues_, secstruct_, structure_moved_, update_polymeric_connection(), update_sequence_numbering(), and xyz_moved_.

Referenced by insert_polymer_residue(), insert_residue_by_bond(), and insert_residue_by_jump().

void core::conformation::Conformation::residues_replace ( Size  seqpos,
Residue const &  new_rsd 
)
private

wrap direct access to the Residues container

PRIVATE: wrap direct access to the Residues container for replacement also handles redimensioning and setting of the _moved arrays

Warning
Since this is the innermost routine when replacing a residue, it does not fire any signals to ensure that observer access to the residues container does not trigger an atom tree refold prematurely.

References core::conformation::Residue::clone(), dof_moved_, core::conformation::Residue::natoms(), residues_, structure_moved_, and xyz_moved_.

Referenced by replace_residue().

void core::conformation::Conformation::safely_append_polymer_residue_after_seqpos ( Residue const &  new_rsd,
Size  seqpos,
bool  build_ideal_geometry 
)
void core::conformation::Conformation::safely_prepend_polymer_residue_before_seqpos ( Residue const &  new_rsd,
Size  seqpos,
bool  build_ideal_geometry 
)
bool core::conformation::Conformation::same_type_as_me ( Conformation const &  other,
bool  recurse = true 
) const
virtual
char core::conformation::Conformation::secstruct ( Size  seqpos) const
inline
bool core::conformation::Conformation::sequence_matches ( Conformation const &  other) const

do the names of all residues in this and src match?

Am I composed of the same sequence of ResidueType objects as other? DANGER! Fails, unexpectedly, if a histidine pair has a different tautomerization. tex, 9/12/08 The above comment points out that this method isn't a clearly defined idea, because there are many ways that someone could imagine comparing the a sequence, including:

  • cutpoint variants
  • tautomers
  • disulfides For some applications, it's probably to get strings of the one-letter names of the sequence and compare those instead.

References core::conformation::Residue::chain(), core::conformation::Residue::connections_match(), residue(), size(), and core::conformation::Residue::type().

Referenced by operator=(), protocols::design_opt::GreedyOptMutationMover::pose_coords_are_same(), and protocols::matdes::MatDesGreedyOptMutationMover::pose_coords_are_same().

void core::conformation::Conformation::set_bond_angle ( AtomID const &  atom1,
AtomID const &  atom2,
AtomID const &  atom3,
Real  setting 
)
virtual
void core::conformation::Conformation::set_bond_length ( AtomID const &  atom1,
AtomID const &  atom2,
Real  setting 
)
virtual
void core::conformation::Conformation::set_dof ( DOF_ID const &  id,
Real  setting 
)
virtual
void core::conformation::Conformation::set_dof_moved ( AtomID const &  id)
inlineprivate
void core::conformation::Conformation::set_dof_moved ( DOF_ID const &  id)
inlineprivate

notify of dof-change

References dof_moved_, residue_coordinates_need_updating_, and structure_moved_.

void core::conformation::Conformation::set_jump ( int  jump_number,
Jump const &  new_jump 
)
virtual
void core::conformation::Conformation::set_jump ( AtomID const &  id,
Jump const &  new_jump 
)
virtual
void core::conformation::Conformation::set_jump_atom_stub_id ( id::StubID const &  id)

References atom_tree_.

void core::conformation::Conformation::set_membrane_info ( membrane::MembraneInfoOP  mem_info)

Setup a Membrane Info object in Conformation - pos & topology.

Rosetta Membrane Framework /// Core data for interacting with membrane proteins in Rosetta /// /// Authors: ///

Add a MembraneInfo object - describes the position of the membrane virtual residue, information on membrane spanning regions, lipid exposure/burial of residues in the pose, and fullatom steepness and thickness parameters. At construction, specify membrane position and list of spanning topology objects by chain.

Add a MembraneInfo object - describes the position of the membrane virtual residue, information on membrane spanning regions, lipid exposure/burial of residues in the pose, and fullatom steepness and thickness parameters. At construction, specify membrane position and list of spanning topology objects by chain.

References membrane_info_.

Referenced by protocols::membrane::AddMembraneMover::apply().

void core::conformation::Conformation::set_noncanonical_connection ( Size  res_id_lower,
Size  lr_conn_id,
Size  res_id_upper,
Size  ur_conn_id 
)

Create an arbitrary covalent connection between two residues.

References residues_.

Referenced by protocols::cyclic_peptide::DeclareBond::apply(), and update_noncanonical_connection().

void core::conformation::Conformation::set_polymeric_connection ( Size  res_id_lower,
Size  res_id_upper 
)

identify polymeric connections

The lower residue connects to the upper residue through its upper_connect connection The upper residue connects to the lower residue through its lower_connect connection

References residue_(), and residues_.

Referenced by update_polymeric_connection().

virtual void core::conformation::Conformation::set_secstruct ( Size  seqpos,
char  setting 
)
inlinevirtual

Sets the secondary structure of the position <seqpos> to <setting>

Sets secondary structure character of a sequence position. Will resize the secondary structure array if the requested sequence position is larger than the length of the array.

Reimplemented in core::conformation::symmetry::SymmetricConformation, and protocols::environment::ProtectedConformation.

References secstruct_.

Referenced by protocols::environment::ProtectedConformation::set_secstruct(), and core::conformation::symmetry::SymmetricConformation::set_secstruct().

void core::conformation::Conformation::set_stub_transform ( id::StubID const &  stub_id1,
id::StubID const &  stub_id2,
kinematics::RT const &  target_rt 
)
void core::conformation::Conformation::set_torsion ( TorsionID const &  tor_id,
Real  setting 
)
virtual
void core::conformation::Conformation::set_torsion_angle ( AtomID const &  atom1,
AtomID const &  atom2,
AtomID const &  atom3,
AtomID const &  atom4,
Real  setting,
bool  quiet = false 
)
virtual
void core::conformation::Conformation::set_xyz ( AtomID const &  id,
PointPosition const &  position 
)
virtual
void core::conformation::Conformation::set_xyz_moved ( AtomID const &  id)
inlineprivate

notify of xyz-change

References residue_torsions_need_updating_, structure_moved_, and xyz_moved_.

Referenced by batch_set_xyz(), and set_xyz().

void core::conformation::Conformation::set_xyz_moved ( utility::vector1< AtomID > const &  ids)
inlineprivate

notify of mutiple-xyz-change

References residue_torsions_need_updating_, structure_moved_, and xyz_moved_.

void core::conformation::Conformation::setup_atom_tree ( )
private
void core::conformation::Conformation::show_residue_connections ( ) const

Show residue connections for debugging purposes.

References core::conformation::TR().

Referenced by core::conformation::operator<<().

void core::conformation::Conformation::show_residue_connections ( std::ostream &  os) const

Show residue connections for debugging purposes.

Note
This method is a rewrite of an earlier version to include an argument for desired output stream. This is to be more consistent with typical show() methods and allows for simple << operator overloading for use in PyRosetta. ~ Labonte

References core::conformation::Residue::connect_map(), core::chemical::ResConnID::connid(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::n_polymeric_residue_connections(), core::conformation::Residue::n_possible_residue_connections(), core::conformation::Residue::name(), core::chemical::ResConnID::resid(), core::conformation::Residue::residue_connect_atom_index(), residues_, and size().

Size core::conformation::Conformation::size ( ) const
inline

Returns the number of residues in the Conformation.

References residues_.

Referenced by aa(), protocols::environment::EnvClaimBroker::add_virtual_residues(), core::conformation::annotated_atom_graph_from_conformation(), annotated_sequence(), append_polymer_residue_after_seqpos(), append_residue(), append_residue_by_bond(), append_residue_by_jump(), core::conformation::atom_graph_from_conformation(), protocols::idealize::basic_idealize(), core::conformation::break_disulfide(), protocols::environment::EnvClaimBroker::broker_fold_tree(), chain_end(), chain_endings(), chains_from_termini(), protocols::environment::collect_dofs(), Conformation(), const_residue_(), const_residues(), copy_segment(), debug_residue_torsions(), delete_polymer_residue(), delete_residue_range_slow(), delete_residue_slow(), detect_bonds(), core::conformation::symmetry::SymmetricConformation::detect_disulfides(), detect_disulfides(), detect_pseudobonds(), core::conformation::disulfide_bonds(), protocols::viewer::dump_residue_kinemage(), protocols::viewer::dump_structure_kinemage(), core::scoring::disulfides::FullatomDisulfideEnergy::ensure_lrenergy_container_is_up_to_date(), fill_missing_atoms(), core::conformation::Residue::fill_missing_atoms(), protocols::environment::find_implied_cut(), protocols::simple_moves::asym_fold_and_dock::AsymFoldandDockMoveRbJumpMover::find_new_jump_residue(), core::pose::symmetry::find_new_symmetric_jump_residues(), fix_disulfides(), fold_tree(), core::conformation::get_disulf_partner(), core::conformation::idealize_position(), in_place_copy(), core::pose::initialize_atomid_map(), core::pose::initialize_atomid_map_heavy_only(), insert_chain_ending(), core::conformation::symmetry::MirrorSymmetricConformation::insert_conformation_by_jump(), core::conformation::symmetry::SymmetricConformation::insert_conformation_by_jump(), insert_conformation_by_jump(), core::conformation::insert_ideal_bonds_at_polymer_junction(), core::conformation::insert_ideal_mainchain_bonds(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), core::conformation::is_ideal_position(), is_residue_typeset(), core::conformation::signals::LengthEvent::LengthEvent(), core::pose::symmetry::make_symmetric_movemap(), operator=(), core::conformation::Residue::orient_onto_residue_peptoid(), prepend_polymer_residue_before_seqpos(), core::conformation::symmetry::process_residue_request(), core::scoring::bin_transitions::BinTransitionCalculator::random_bin_based_on_prev_and_next(), core::conformation::symmetry::SymmetricConformation::recalculate_transforms(), core::conformation::symmetry::recenter(), rederive_chain_endings(), rederive_chain_ids(), protocols::fibril::reorient_extended_fibril(), residue(), residue_(), residue_cop(), residue_op(), core::conformation::residue_point_graph_from_conformation(), residue_type(), sequence_matches(), core::conformation::symmetry::set_fold_tree_from_symm_data(), core::conformation::symmetry::setup_symmetric_conformation(), show_residue_connections(), protocols::environment::Environment::start(), core::conformation::symmetry::symmetrize_fold_tree(), update_actcoords(), update_domain_map(), update_noncanonical_connection(), update_polymeric_connection(), core::conformation::parametric::ParametersSet::update_residue_links(), update_residue_torsions(), update_sequence_numbering(), core::conformation::ConformationKinWriter::write_coords(), and core::chemical::ICoorAtomID::xyz().

bool core::conformation::Conformation::structure_moved ( ) const
inline
kinematics::Stub core::conformation::Conformation::stub_from_id ( id::StubID const &  id) const

References atom_tree_.

Real core::conformation::Conformation::torsion ( TorsionID const &  tor_id) const
Real core::conformation::Conformation::torsion_angle ( AtomID const &  atom1,
AtomID const &  atom2,
AtomID const &  atom3,
AtomID const &  atom4 
) const
void core::conformation::Conformation::unblock_signals ( )

allow signals to be sent

If unblocking after buffering, buffered/held signals will be sent.

References general_obs_hub_, identity_obs_hub_, length_obs_hub_, and xyz_obs_hub_.

void core::conformation::Conformation::update_actcoord ( Size  resid)

References residues_.

void core::conformation::Conformation::update_actcoords ( )

References residues_, and size().

void core::conformation::Conformation::update_domain_map ( DomainMap domain_map) const

Generate a domain_map from the current dof/xyz moved data.

References atom_tree_, dof_moved_, size(), and xyz_moved_.

Referenced by protocols::farna::movers::RNA_LoopCloser::passes_fast_scan().

void core::conformation::Conformation::update_membrane_position ( Vector  center,
Vector  normal 
)
void core::conformation::Conformation::update_noncanonical_connection ( Size  lower_seqpos,
Size  lr_conn_id,
Size  upper_seqpos,
Size  ur_conn_id 
)

Update the connection status between the lower_seqpos residue's lr_conn_id connection ID and the upper_seqpos residue's ur_conn_id connection ID.

References set_noncanonical_connection(), and size().

Referenced by core::pose::add_variant_type_to_pose_residue(), core::pose::remove_variant_type_from_pose_residue(), and residues_append().

void core::conformation::Conformation::update_orbital_coords ( Residue rsd) const
void core::conformation::Conformation::update_orbital_coords ( Size  resid)

References residues_.

void core::conformation::Conformation::update_polymeric_connection ( Size  lower_seqpos,
bool  update_connection_dep_atoms = false 
)
void core::conformation::Conformation::update_residue_coordinates ( ) const
private

Will (if necessary) copy the xyz coordinates from the AtomTree to the Residues being managed.

The AtomTree is responsible for tracking the set of residues whose coordinates need updating, and informs the Conformation object of these residues. The Conformation only updates coordinates for this subset of residues.

Note
Always safe to call. Nothing will happen unless coords_need_updating_ is true.

References atom_tree_, notify_xyz_obs(), and residue_coordinates_need_updating_.

Referenced by append_polymer_residue_after_seqpos(), append_residue_by_bond(), debug_residue_torsions(), fill_missing_atoms(), fold_tree(), force_update_residue_coordinates(), insert_residue_by_bond(), pre_nresidue_change(), prepend_polymer_residue_before_seqpos(), rebuild_polymer_bond_dependent_atoms(), rebuild_residue_connection_dependent_atoms(), residue(), residue_cop(), and residue_op().

void core::conformation::Conformation::update_residue_coordinates ( Size  seqpos,
bool  fire_signal = true 
) const
private
void core::conformation::Conformation::update_residue_torsions ( ) const
private

Will (if necessary) copy the torsion angles (mainchain/chi) from the AtomTree to the Residues being managed.

Note
Always safe to call. Nothing will happen unless torsions_need_updating_ is true.

References notify_xyz_obs(), residue_torsions_need_updating_, residues_, and size().

Referenced by debug_residue_torsions(), declare_chemical_bond(), force_update_residue_torsions(), residue(), residue_cop(), residue_op(), and setup_atom_tree().

void core::conformation::Conformation::update_residue_torsions ( Size  seqpos,
bool  fire_signal = true 
) const
private
void core::conformation::Conformation::update_sequence_numbering ( Size  new_size,
utility::vector1< Size > const &  old2new 
)
private

remap *_moved arrays, sequence numbering in the residues_ arrays, etc, after insertion or deletion of rsds

private need to update:

  1. seqpos of Residues, residue_connection_partners_ info in Residues
  2. xyz_moved, dof_moved

References dof_moved_, residues_, size(), core::id::AtomID_Map< T >::update_sequence_numbering(), and xyz_moved_.

Referenced by insert_conformation_by_jump(), residues_delete(), and residues_insert().

kinematics::Stub core::conformation::Conformation::upstream_jump_stub ( int  jump_number) const

The upstream and downstream Stubs are the coordinate frames between which this jump is transforming.

References atom_tree_, and jump_atom_id().

Referenced by protocols::protein_interface_design::movers::SpinMover::apply(), protocols::rigid::RotateJumpAxisMover::apply(), protocols::nonlocal::SheetTranslate::apply(), protocols::nonlocal::HelixRotate::apply(), protocols::docking::EllipsoidalRandomizationMover::apply(), protocols::rigid::WholeBodyTranslationMover::apply(), protocols::simple_moves::UniformRotationMover::apply(), protocols::rigid::WholeBodyRotationMover::apply(), protocols::membrane::TranslationMover::apply(), protocols::simple_moves::UniformTranslationMover::apply(), protocols::membrane::RotationMover::apply(), protocols::rigid::RigidBodyRandomizeMover::apply(), protocols::rigid::RigidBodySpinMover::apply(), protocols::rigid::RigidBodyDeterministicSpinMover::apply(), protocols::rigid::RigidBodyTiltMover::apply(), protocols::rigid::RigidBodyTransMover::apply(), protocols::toolbox::apply_superposition_transform_to_jump(), core::scoring::DockingScoreFunction::operator()(), protocols::ligand_docking::LigandDockProtocol::optimize_orientation3(), protocols::anchored_design::AnchoredDesignMover::perturb_anchor(), protocols::flexpep_docking::FlexPepDockingProtocol::place_peptide_on_binding_site(), protocols::hotspot_hashing::StubGenerator::placeResidueOnPose(), core::pose::symmetry::rotate_anchor_to_x_axis(), protocols::farna::MultipleDomainMover::slide_back_to_origin(), protocols::farna::MultipleDomainMover::try_to_slide_into_contact(), and protocols::environment::CoMTrackerCM::update_tracking_residue().

PointPosition const & core::conformation::Conformation::xyz ( AtomID const &  id) const

Member Data Documentation

AtomTreeOP core::conformation::Conformation::atom_tree_
private
utility::vector1< Size > core::conformation::Conformation::chain_endings_
private

chain number for each position

conformation is in charge of making sure that the Residue chain ID's and the chain_endings_ vector stay in sync.

Referenced by chain_begin(), chain_end(), chain_endings(), chains_from_termini(), clear(), Conformation(), delete_chain_ending(), in_place_copy(), insert_chain_ending(), insert_conformation_by_jump(), num_chains(), operator=(), rederive_chain_endings(), rederive_chain_ids(), and reset_chain_endings().

utility::signals::BufferedSignalHub< void, ConnectionEvent > core::conformation::Conformation::connection_obs_hub_
mutableprivate

ConnectionEvent observers.

Remarks
Notification only occurs when there is a change in the state of the connection between observers and the Conformation object, e.g. destruction or transfer of the connection.

Referenced by attach_connection_obs(), clear_observers(), detach_connection_obs(), and notify_connection_obs().

bool core::conformation::Conformation::contains_carbohydrate_residues_
private
AtomID_Mask core::conformation::Conformation::dof_moved_
private

book-keeping array for energy evaluations

store which DOF's have changed since the last call to reset_move_data note that we are not currently differentiating dof's from the same atom

Referenced by append_polymer_residue_after_seqpos(), clear(), Conformation(), in_place_copy(), insert_conformation_by_jump(), operator=(), prepend_polymer_residue_before_seqpos(), reset_move_data(), residues_append(), residues_insert(), residues_replace(), set_dof_moved(), update_domain_map(), and update_sequence_numbering().

FoldTreeOP core::conformation::Conformation::fold_tree_
private
utility::signals::PausableSignalHub< void, GeneralEvent > core::conformation::Conformation::general_obs_hub_
mutableprivate

GeneralEvent observers.

Remarks
GeneralEvent observers will be notified whenever any signal derived from GeneralEvent occurs.

Referenced by attach_general_obs(), block_signals(), blocking_signals(), buffer_signals(), buffering_signals(), clear_observers(), debug_pause(), detach_general_obs(), notify_general_obs(), and unblock_signals().

utility::signals::BufferedSignalHub< void, IdentityEvent > core::conformation::Conformation::identity_obs_hub_
mutableprivate
utility::signals::BufferedSignalHub< void, LengthEvent > core::conformation::Conformation::length_obs_hub_
mutableprivate
membrane::MembraneInfoOP core::conformation::Conformation::membrane_info_
private
utility::vector1< ParametersSetOP > core::conformation::Conformation::parameters_set_
private

Parameter sets for parametric conformation generation.

This is a list of pointers to parameter set objects. The list is empty by default; the list only contains anything if the conformation has parametrically-generated bits. Each ParametersSet is intended to describe an assemblage of secondary structure (e.g. a helical bundle); each Parameters object in a ParametersSet is intended to describe a single piece of (likely contiguous) structure (e.g. a single helix in a helical bundle).

Referenced by add_parameters_set(), clear(), clear_parameters_set_list(), Conformation(), create_new_parameters_set(), in_place_copy(), n_parameters_sets(), operator=(), and parameters_set().

bool core::conformation::Conformation::residue_coordinates_need_updating_
mutableprivate
bool core::conformation::Conformation::residue_torsions_need_updating_
mutableprivate
ResidueOPs core::conformation::Conformation::residues_
private
utility::vector1< char > core::conformation::Conformation::secstruct_
private
bool core::conformation::Conformation::structure_moved_
mutableprivate
AtomID_Mask core::conformation::Conformation::xyz_moved_
private
utility::signals::BufferedSignalHub< void, XYZEvent > core::conformation::Conformation::xyz_obs_hub_
mutableprivate

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