Rosetta Core  2014.35
Public Types | Public Member Functions | Protected Attributes | 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>

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 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 ConformationOP clone () const
 clone the conformation More...
 
void clear ()
 clear data More...
 
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) 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 const setting)
 Set whether this conformation contains any carbohydrate residues. More...
 
Size chain_end (Size const chain) const
 Returns the position number of the last residue in <chain> More...
 
Size chain_begin (Size const 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 const seqpos)
 Marks <seqpos> as the end of a new chain. More...
 
void delete_chain_ending (Size const 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 const seqpos) const
 Returns the secondary structure the position <seqpos> More...
 
virtual void set_secstruct (Size const seqpos, char const 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 const seqpos) const
 Returns the AA enum for position <seqpos> More...
 
Residue const & residue (Size const seqpos) const
 access one of the residues More...
 
chemical::ResidueType const & residue_type (Size const seqpos) const
 access one of the residue's types – avoids coord/torsion update More...
 
ResidueCAPs const_residues () const
 Inefficient – constructs copy of residues_. More...
 
virtual void append_residue_by_jump (conformation::Residue const &new_rsd, Size const anchor_residue, std::string const &anchor_atom="", std::string const &root_atom="", bool const start_new_chain=false)
 Append a new residue by a jump. More...
 
void insert_residue_by_jump (Residue const &new_rsd_in, Size const 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 const seqpos, Size anchor_pos, bool const build_ideal_geometry=false, std::string const &anchor_atom="", std::string const &root_atom="", bool new_chain=false, bool const lookup_bond_length=false)
 Insert a new residue by jump. If new_chain is "true", then seqpos must be the last. More...
 
void append_residue_by_bond (conformation::Residue const &new_rsd, bool const build_ideal_geometry=false, int connection_index=0, Size anchor_residue=0, int anchor_connection_index=0, bool const start_new_chain=false, bool const lookup_bond_length=false)
 Append a new residue by a bond. More...
 
void append_polymer_residue_after_seqpos (Residue const &new_rsd, Size const seqpos, bool const build_ideal_geometry)
 glues to seqpos and perhaps also seqpos+1 More...
 
void safely_append_polymer_residue_after_seqpos (Residue const &new_rsd, Size const seqpos, bool const 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 const seqpos, bool const build_ideal_geometry)
 glues to seqpos and perhaps also seqpos-1 More...
 
void safely_prepend_polymer_residue_before_seqpos (Residue const &new_rsd, Size const seqpos, bool const build_ideal_geometry)
 glues to seqpos and perhaps also seqpos-1, removes termini variants if necessary More...
 
virtual void replace_residue (Size const seqpos, Residue const &new_rsd, bool const orient_backbone)
 replace residue More...
 
virtual void replace_residue (Size const 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 const seqpos)
 Delete polymer residue at the given sequence position. More...
 
void delete_residue_slow (Size const seqpos)
 Slow method that relies on FoldTree::delete_seqpos, rebuilds atomtree, can handle jumps/root residue. More...
 
void delete_residue_range_slow (Size const range_begin, Size const 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 ()
 
void declare_chemical_bond (Size const seqpos1, std::string const &atom_name1, Size const 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 const seqpos)
 Rebuilds the atoms that are depenent on polymer bonds for the specified residue only. More...
 
void rebuild_polymer_bond_dependent_atoms (Size const 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 const seqpos, Size const connid)
 
AtomID inter_residue_connection_partner (Size const seqpos, int const 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 const pos, Size const 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 const 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 const 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 const lower_seqpos, bool const 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 const lower_seqpos, Size const lr_conn_id, Size const upper_seqpos, Size const 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 ()
 Detect existing disulfides from the protein structure. More...
 
void fix_disulfides (utility::vector1< std::pair< Size, Size > > disulf_bonds)
 Assigns disulfide bonds based on a pre-determined list. More...
 
virtual void insert_conformation_by_jump (Conformation const &conf, Size const insert_seqpos, Size const insert_jumppos, Size const anchor_pos, Size const 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 const size, Conformation const &src, Size const begin, Size const 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 const setting)
 Sets the AtomTree degree of freedom (DOF) <id> to <setting> More...
 
Real torsion (TorsionID const &id) const
 Returns the torsion angle <id> More...
 
virtual void set_torsion (TorsionID const &id, Real const setting)
 Sets the AtomTree DOF and the torsion in the corresponding Residue. 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 const setting, bool const 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 const 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 const setting)
 Sets the cond length between <atom1> and <atom2> to <setting> More...
 
const Jumpjump (int const 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 const 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 const seqpos)
 
void insert_ideal_geometry_at_residue_connection (Size const pos1, Size const 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 const 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 const 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 const 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 Attributes

ResidueOPs residues_
 container of Residues More...
 

Private Member Functions

Residue const & residue_ (Size const seqpos) const
 Returns a residue without triggering coordinate/torsion update. More...
 
void update_sequence_numbering (Size const 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 const seqpos, int const 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 const seqpos, bool const join_lower, bool const join_upper)
 
void append_residue (Residue const &new_rsd_in, bool const attach_by_jump, std::string const &root_atom, id::NamedAtomID anchor_id, bool const start_new_chain)
 Now a private method public interface: append_residue_by_bond or append_residue_by_jump. More...
 
void residues_replace (Size const seqpos, Residue const &new_rsd)
 wrap direct access to the Residues container More...
 
void residues_insert (Size const seqpos, Residue const &new_rsd, bool const use_lower_chain=false, bool const new_chain=false)
 
void residues_append (Residue const &new_rsd, bool const start_new_chain, bool const by_jump=false, std::string const &root_atom="", id::NamedAtomID anchor_id=id::BOGUS_NAMED_ATOM_ID)
 
void residues_delete (Size const 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 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 const seqpos, bool const 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 const seqpos, bool const 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 const fire_general=true) const
 notify IdentityEvent observers More...
 
void notify_length_obs (LengthEvent const &e, bool const fire_general=true) const
 notify LengthEvent observers More...
 
void notify_xyz_obs (XYZEvent const &e, bool const fire_general=true) const
 notify XYZEvent observers More...
 

Private Attributes

utility::vector1< Sizechain_endings_
 ResidueCOPs const_residues_; // mirrors residues_ allowing const access – this will be reinstated soon. 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...
 
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 const  seqpos) const
inline
void core::conformation::Conformation::add_pseudobond ( Size  lr,
Size  lr_connid,
Size  ur,
Size  ur_connid,
Size  nbonds 
)
private
void core::conformation::Conformation::append_polymer_residue_after_seqpos ( Residue const &  new_rsd,
Size const  seqpos,
bool const  build_ideal_geometry 
)
void core::conformation::Conformation::append_residue ( conformation::Residue const &  new_rsd_in,
bool const  attach_by_jump,
std::string const &  root_atom,
id::NamedAtomID  anchor_id,
bool const  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 const  build_ideal_geometry = false,
int  residue_connection_index = 0,
Size  anchor_pos = 0,
int  anchor_residue_connection_index = 0,
bool const  start_new_chain = false,
bool const  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(), core::chemical::ResidueType::upper_connect_id(), and utility_exit_with_message.

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

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

Append a new residue by a jump.

add a residue into residues_ container, update its seqpos, chainid as well fold tree and atoms. Fires a LengthEvent::RESIDUE_APPEND signal.

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

References append_residue(), core::id::BOGUS_NAMED_ATOM_ID, pre_nresidue_change(), and size().

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

bool core::conformation::Conformation::atom_is_backbone_norefold ( Size const  pos,
Size const  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(), numeric::conversions::degrees(), degrees(), numeric::dihedral_degrees(), dof_id_from_torsion_id(), get_torsion_angle_atom_ids(), core::id::JUMP, residue_(), 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(), residue_(), core::id::AtomID::rsd(), and type.

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 & )
ptrpointer 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(), and core::scoring::constraints::ConstraintSet::attach_to_conformation().

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 & )
ptrpointer 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 & )
ptrpointer 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 & )
ptrpointer to observer object
Returns
Link that can be used to manage the connection

References length_obs_hub_.

Referenced by core::pose::datacache::LengthEventCollector::attach_impl(), core::pose::datacache::SpecialSegmentsObserver::attach_impl(), core::pose::PDBInfo::attach_to(), and core::scoring::constraints::ConstraintSet::attach_to_conformation().

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 & )
ptrpointer 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

Returns the bond angle defined by <atom[1-3]> through the AtomTree.

References atom_tree_.

Referenced by core::fragment::BBTorsionAndAnglesSRFD::steal().

Real core::conformation::Conformation::bond_length ( AtomID const &  atom1,
AtomID const &  atom2 
) const

Returns the bond length between <atom1> and <atom2> through the AtomTree.

References atom_tree_.

Referenced by core::io::pdb::FileData::init_from_pose().

utility::vector1< id::AtomID > core::conformation::Conformation::bonded_neighbor_all_res ( core::id::AtomID  atomid,
bool  virt = false 
) const
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 const  chain) const
inline
Size core::conformation::Conformation::chain_end ( Size const  chain) const
inline
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(), size(), and utility_exit_with_message.

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(), membrane_info_, core::conformation::membrane::MembraneInfo::membrane_jump(), and utility_exit_with_message.

Referenced by update_membrane_position().

void core::conformation::Conformation::clear ( )
void core::conformation::Conformation::clear_observers ( )
ConformationOP core::conformation::Conformation::clone ( ) const
virtual

clone the conformation

make a copy of this conformation( allocate actual memory for it )

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

References Conformation().

ResidueCAPs 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

Return true if this conformation contains any carbohydrate residues.

References contains_carbohydrate_residues_.

Referenced by core::io::pdb::build_pose_as_is1(), core::import_pose::build_pose_as_is2(), and core::pose::make_pose_from_saccharide_sequence().

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

Set whether this conformation contains any carbohydrate residues.

References contains_carbohydrate_residues_.

void core::conformation::Conformation::copy_segment ( Size const  size,
Conformation const &  src,
Size const  begin,
Size const  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().

void core::conformation::Conformation::debug_pause ( bool const  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 const  seqpos1,
std::string const &  atom_name1,
Size const  seqpos2,
std::string const &  atom_name2 
)
void core::conformation::Conformation::delete_chain_ending ( Size const  seqpos)

Deletes <seqpos> from the list of chain endings.

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

References chain_endings_, rederive_chain_ids(), and utility_exit_with_message.

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

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

Like above but only one call to setup_atom_tree Fires a LengthEvent::RESIDUE_DELETE signal.

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

void core::conformation::Conformation::delete_residue_slow ( Size const  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 core::pose::remove_ligand_canonical_residues(), core::pose::remove_nonprotein_residues(), and core::pose::remove_virtual_residues().

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 & )
ptrpointer 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_.

Referenced by core::pose::PDBInfo::detach_from(), and core::scoring::constraints::ConstraintSet::detach_from_conformation().

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 & )
ptrpointer 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 & )
ptrpointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References identity_obs_hub_.

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

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 & )
ptrpointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References length_obs_hub_.

Referenced by core::pose::PDBInfo::detach_from(), and core::scoring::constraints::ConstraintSet::detach_from_conformation().

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 & )
ptrpointer to observer object
Returns
true if disconnect successful, false if connection does not exist

References xyz_obs_hub_.

void core::conformation::Conformation::detect_bonds ( )
void core::conformation::Conformation::detect_disulfides ( )
virtual
void core::conformation::Conformation::detect_pseudobonds ( )
Real core::conformation::Conformation::dof ( DOF_ID const &  id) const

Returns the AtomTree degree of freedom (DOF) <id>

References atom_tree_.

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

id::DOF_ID core::conformation::Conformation::dof_id_from_torsion_id ( TorsionID const &  id) const
kinematics::Stub core::conformation::Conformation::downstream_jump_stub ( int const  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 check_valid_membrane().

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
void core::conformation::Conformation::fold_tree ( FoldTree const &  fold_tree_in)
virtual

Sets the FoldTree to <fold_tree_in>

setup atom tree as well from the fold tree

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

References core::kinematics::FoldTree::nres(), setup_atom_tree(), size(), update_residue_coordinates(), and utility_exit_with_message.

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

get two atoms connect by jump

References atom_tree_, and jump_atom_id().

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 nres, and 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.

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

kinematics::RT core::conformation::Conformation::get_stub_transform ( id::StubID const &  stub_id1,
id::StubID const &  stub_id2 
) const

get the transform between two stubs

References atom_tree_.

Referenced by core::fragment::DownJumpSRFD::steal().

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, chain_endings_, dof_moved_, fold_tree_, residue_coordinates_need_updating_, residue_torsions_need_updating_, residues_, runtime_assert, secstruct_, size(), structure_moved_, type, and xyz_moved_.

Referenced by operator=().

void core::conformation::Conformation::insert_chain_ending ( Size const  seqpos)

Marks <seqpos> as the end of a new chain.

Remarks
The last residue position is not counted as a chain ending. Also increases the chain ID number by 1 for all residues upstream from seqpos.

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

Referenced by core::io::pdb::build_pose_as_is1(), core::pose::create_subpose(), core::fragment::make_pose_from_frags(), and core::io::serialization::read_binary().

void core::conformation::Conformation::insert_conformation_by_jump ( Conformation const &  conf,
Size const  insert_seqpos,
Size const  insert_jumppos,
Size const  anchor_pos,
Size const  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.

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

Referenced by core::pose::Pose::append_pose_by_jump(), core::conformation::symmetry::SymmetricConformation::insert_conformation_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 const  seqpos)
void core::conformation::Conformation::insert_ideal_geometry_at_residue_connection ( Size const  pos1,
Size const  connid1 
)

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

References numeric::constants::d::pi, 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 const  seqpos,
bool const  join_lower,
bool const  join_upper 
)
private
void core::conformation::Conformation::insert_residue_by_bond ( Residue const &  new_rsd_in,
Size const  seqpos,
Size  anchor_pos,
bool const  build_ideal_geometry = false,
std::string const &  anchor_atom = "",
std::string const &  root_atom = "",
bool  new_chain = false,
bool const  lookup_bond_length = false 
)
void core::conformation::Conformation::insert_residue_by_jump ( Residue const &  new_rsd_in,
Size const  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 const  seqpos,
int const  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().

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
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 correct, core::chemical::ResidueTypeSet::name(), 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 const  jump_number) const

Returns the Jump with jump number <jump_number>

References atom_tree_, and jump_atom_id().

Referenced by check_valid_membrane(), and core::conformation::symmetry::setup_symmetric_conformation().

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 const  jump_number) const
membrane::MembraneInfoOP core::conformation::Conformation::membrane_info ( )
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_.

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 const  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 const  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 const  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
Conformation & core::conformation::Conformation::operator= ( Conformation const &  src)
virtual
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 const  seqpos,
bool const  build_ideal_geometry 
)
virtual void core::conformation::Conformation::push_passport ( core::environment::DofPassportCOP  )
inlinevirtual
void core::conformation::Conformation::rebuild_polymer_bond_dependent_atoms ( Size const  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 const  seqpos,
int const  upper_lower 
)
private
void core::conformation::Conformation::rebuild_polymer_bond_dependent_atoms_this_residue_only ( Size const  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().

void core::conformation::Conformation::rebuild_residue_connection_dependent_atoms ( Size const  seqpos,
Size const  connid 
)
Note
This could be rewritten to avoid a refold using set_bond_angle, etc might be safer since by-xyz ignores possibility of propagating dependencies from the moving atoms...

References core::chemical::AtomICoor::build(), core::chemical::AtomICoor::depends_on_residue_connection(), core::conformation::Residue::icoor(), core::conformation::Residue::natoms(), residue_(), set_xyz(), and update_residue_coordinates().

Referenced by insert_ideal_geometry_at_residue_connection().

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 const  seqpos,
Residue const &  new_rsd_in,
bool const  orient_backbone 
)
virtual
void core::conformation::Conformation::replace_residue ( Size const  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.

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

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 const  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_, runtime_assert, size(), update_residue_coordinates(), and update_residue_torsions().

Referenced by core::conformation::add_variant_type_to_conformation_residue(), core::pose::add_variant_type_to_pose_residue(), core::pose::carbohydrates::align_virtual_atoms_in_carbohydrate_residue(), core::conformation::annotated_atom_graph_from_conformation(), core::conformation::atom_graph_from_conformation(), core::conformation::membrane::MembraneInfo::atom_z_position(), bonded_neighbor_all_res(), core::conformation::change_cys_state(), copy_segment(), debug_residue_torsions(), detect_bonds(), core::conformation::symmetry::SymmetricConformation::detect_disulfides(), detect_disulfides(), detect_pseudobonds(), core::scoring::constraints::AtomPairConstraint::dist(), core::conformation::disulfide_bonds(), fix_disulfides(), core::conformation::form_disulfide(), 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(), core::scoring::orbitals::OrbitalsScore::get_orb_orb_E(), core::pose::get_sha1_hash_excluding_chain(), core::conformation::symmetry::SymmetricConformation::get_upstream_vrt(), core::conformation::idealize_position(), 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(), core::scoring::mm::MMBondAngleResidueTypeParamSet::lookup(), core::conformation::membrane::MembraneInfo::membrane_center(), core::conformation::membrane::MembraneInfo::membrane_normal(), core::conformation::Residue::orient_onto_residue_peptoid(), core::conformation::print_atom(), 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(), core::conformation::symmetry::SymmetricConformation::replace_residue(), 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(), sequence_matches(), core::conformation::symmetry::set_fold_tree_from_symm_data(), core::conformation::symmetry::setup_symmetric_conformation(), torsion(), and core::conformation::ConformationKinWriter::write_coords().

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

Returns a residue 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 append_polymer_residue_after_seqpos(), append_residue_by_bond(), atom_tree_torsion(), atoms_are_bonded(), backbone_torsion_angle_atoms(), detect_pseudobonds(), fill_missing_atoms(), get_torsion_angle_atom_ids(), insert_polymer_residue(), insert_residue_by_bond(), insert_residue_by_jump(), jump_atom_id(), prepend_polymer_residue_before_seqpos(), rebuild_polymer_bond_dependent_atoms(), rebuild_residue_connection_dependent_atoms(), and set_polymeric_connection().

chemical::ResidueType const& core::conformation::Conformation::residue_type ( Size const  seqpos) const
inline
void core::conformation::Conformation::residues_append ( Residue const &  new_rsd,
bool const  start_new_chain,
bool const  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, chain, core::conformation::Residue::clone(), dof_moved_, core::conformation::Residue::natoms(), nres, 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 const  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 const  seqpos,
Residue const &  new_rsd,
bool const  use_lower_chain = false,
bool const  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 chain, 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 const  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_, type, and xyz_moved_.

Referenced by replace_residue().

void core::conformation::Conformation::safely_append_polymer_residue_after_seqpos ( Residue const &  new_rsd,
Size const  seqpos,
bool const  build_ideal_geometry 
)

glues to seqpos and perhaps also seqpos+1, removes termini variants if necessary

References append_polymer_residue_after_seqpos(), pre_nresidue_change(), and core::conformation::remove_upper_terminus_type_from_conformation_residue().

void core::conformation::Conformation::safely_prepend_polymer_residue_before_seqpos ( Residue const &  new_rsd,
Size const  seqpos,
bool const  build_ideal_geometry 
)

glues to seqpos and perhaps also seqpos-1, removes termini variants if necessary

Fires a LengthEvent::RESIDUE_PREPEND signal.

References prepend_polymer_residue_before_seqpos(), and core::conformation::remove_lower_terminus_type_from_conformation_residue().

bool core::conformation::Conformation::same_type_as_me ( Conformation const &  other,
bool  recurse 
) const
virtual
char core::conformation::Conformation::secstruct ( Size const  seqpos) const
inline

Returns the secondary structure the position <seqpos>

Returns
character representing secondary structure; returns 'L' if the requested sequence position is larger than the length in the secondary structure array

References secstruct_.

Referenced by core::scoring::MembranePotential::non_helix_in_membrane_penalty(), core::scoring::methods::EnvEnergy::residue_energy(), core::scoring::membrane::MPNonHelixPenalty::residue_energy(), and core::scoring::methods::CenPairEnergy::residue_pair_energy().

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

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

Sets the AtomTree degree of freedom (DOF) <id> to <setting>

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

References atom_tree_, residue_torsions_need_updating_, and set_dof_moved().

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

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 const  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_.

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 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_(), residues_, and type.

Referenced by update_polymeric_connection().

virtual void core::conformation::Conformation::set_secstruct ( Size const  seqpos,
char const  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.

References secstruct_.

Referenced by 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 
)

Set the transform between two stubs – only works if there's a jump between the two sets of stubatoms.

References atom_tree_, and set_dof_moved().

Referenced by core::fragment::DownJumpSRFD::apply(), core::io::silent::BinarySilentStruct::fill_pose(), core::io::silent::ProteinSilentStruct_Template< T >::fill_pose(), and core::pose::swap_transform().

void core::conformation::Conformation::set_torsion ( TorsionID const &  id,
Real const  setting 
)
virtual
void core::conformation::Conformation::set_torsion_angle ( AtomID const &  atom1,
AtomID const &  atom2,
AtomID const &  atom3,
AtomID const &  atom4,
Real const  setting,
bool const  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_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(), core::conformation::annotated_atom_graph_from_conformation(), append_polymer_residue_after_seqpos(), append_residue(), append_residue_by_bond(), append_residue_by_jump(), core::conformation::atom_graph_from_conformation(), chain_end(), chain_endings(), chains_from_termini(), Conformation(), 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(), core::scoring::disulfides::FullatomDisulfideEnergy::ensure_lrenergy_container_is_up_to_date(), fill_missing_atoms(), core::conformation::Residue::fill_missing_atoms(), core::pose::symmetry::find_new_symmetric_jump_residues(), fix_disulfides(), fold_tree(), 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::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::optimization::symmetry::SymAtomTreeMinimizer::make_assymetric_movemap(), core::pose::symmetry::make_symmetric_movemap(), operator=(), prepend_polymer_residue_before_seqpos(), core::conformation::symmetry::process_residue_request(), core::conformation::symmetry::SymmetricConformation::recalculate_transforms(), core::conformation::symmetry::recenter(), rederive_chain_endings(), rederive_chain_ids(), residue(), residue_(), 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(), core::conformation::symmetry::symmetrize_fold_tree(), update_actcoords(), update_domain_map(), update_noncanonical_connection(), update_polymeric_connection(), update_residue_torsions(), update_sequence_numbering(), core::conformation::ConformationKinWriter::write_coords(), and core::chemical::ICoorAtomID::xyz().

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

has the structure moved since the last call to reset_move_data or reset_structure_moved

References structure_moved_.

Referenced by core::pack::create_packer_graph().

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

References atom_tree_.

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

Returns the torsion angle defined by <atom[1-4]>

References atom_tree_.

Referenced by core::pose::carbohydrates::get_glycosidic_torsion().

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_.

void core::conformation::Conformation::update_membrane_position ( Vector  center,
Vector  normal 
)

Update Normal, Center in the Membrane.

Sets the center and normal coordinates to the appropriate parameters and checks for a valid stub prior to returning.

References core::conformation::membrane::center, check_valid_membrane(), membrane_info_, core::conformation::membrane::MembraneInfo::membrane_rsd_num(), core::conformation::membrane::normal, and residues_.

Referenced by core::membrane::geometry::membrane_normal_to_length_15().

void core::conformation::Conformation::update_noncanonical_connection ( Size const  lower_seqpos,
Size const  lr_conn_id,
Size const  upper_seqpos,
Size const  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 const  lower_seqpos,
bool const  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.

References core::conformation::Residue::chain(), core::conformation::Residue::has_variant_type(), core::conformation::Residue::is_lower_terminus(), core::conformation::Residue::is_polymer(), rebuild_polymer_bond_dependent_atoms(), residues_, set_polymeric_connection(), and size().

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

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(), PROF_START, PROF_STOP, residue_coordinates_need_updating_, and basic::UPDATE_RESIDUE_COORDINATES.

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

void core::conformation::Conformation::update_residue_coordinates ( Size const  seqpos,
bool const  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(), PROF_START, PROF_STOP, residue_torsions_need_updating_, residues_, size(), and basic::UPDATE_RESIDUE_TORSIONS.

Referenced by debug_residue_torsions(), declare_chemical_bond(), residue(), and setup_atom_tree().

void core::conformation::Conformation::update_residue_torsions ( Size const  seqpos,
bool const  fire_signal = true 
) const
private
void core::conformation::Conformation::update_sequence_numbering ( Size const  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 const  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 core::scoring::DockingScoreFunction::operator()(), and core::pose::symmetry::rotate_anchor_to_x_axis().

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

ResidueCOPs const_residues_; // mirrors residues_ allowing const access – this will be reinstated soon.

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
bool core::conformation::Conformation::residue_coordinates_need_updating_
mutableprivate
bool core::conformation::Conformation::residue_torsions_need_updating_
mutableprivate
ResidueOPs core::conformation::Conformation::residues_
protected
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: