Rosetta  2018.48
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
core::conformation Namespace Reference

Namespaces

 carbohydrates
 
 membrane
 
 orbitals
 
 parametric
 
 residue_datacache
 
 RotamerSetCacheableDataType
 
 signals
 
 symmetry
 

Classes

class  AbstractRotamerTrie
 
struct  AddEdgeVisitor
 
class  Atom
 
class  AtomGraphEdgeData
 
class  AtomGraphVertexData
 
class  Conformation
 A container of Residues and the kinematics to manage them. More...
 
class  ConformationKinWriter
 
struct  DefaultCubeHash
 uses default boost::hash combine to hash Cubes More...
 
class  ExactResidueMatcher
 
class  PointGraphEdgeData
 
class  PointGraphVertexData
 
class  PseudoBond
 
class  PseudoBondCollection
 
class  Residue
 Instance Residue class, used for placed residues and rotamers. More...
 
class  ResidueFactory
 a collection of functions making a single residue More...
 
class  ResidueKinWriter
 
class  ResidueMatcher
 
class  RotamerSetBase
 
class  UltraLightResidue
 
class  WatsonCrickResidueMatcher
 

Typedefs

typedef
utility::pointer::shared_ptr
< AbstractRotamerTrie
AbstractRotamerTrieOP
 
typedef
utility::pointer::shared_ptr
< AbstractRotamerTrie const > 
AbstractRotamerTrieCOP
 
typedef utility::vector1< AtomAtoms
 
typedef
utility::graph::UpperEdgeGraph
< AtomGraphVertexData,
AtomGraphEdgeData
AtomGraph
 
typedef
utility::pointer::shared_ptr
< AtomGraph
AtomGraphOP
 
typedef
utility::pointer::shared_ptr
< Conformation
ConformationOP
 
typedef
utility::pointer::shared_ptr
< Conformation const > 
ConformationCOP
 
typedef
utility::pointer::weak_ptr
< Conformation
ConformationAP
 
typedef
utility::pointer::weak_ptr
< Conformation const > 
ConformationCAP
 
typedef numeric::xyzTriple
< core::Size
CubeKey
 
typedef numeric::xyzVector
< core::Real
PointPosition
 
typedef
utility::graph::UpperEdgeGraph
< PointGraphVertexData,
PointGraphEdgeData
PointGraph
 
typedef
utility::pointer::shared_ptr
< PointGraph
PointGraphOP
 
typedef utility::vector0
< ppo_torsion_bin
torsion_bin_string
 
typedef
utility::pointer::shared_ptr
< PseudoBondCollection
PseudoBondCollectionOP
 
typedef
utility::pointer::shared_ptr
< PseudoBondCollection const > 
PseudoBondCollectionCOP
 
typedef
utility::pointer::weak_ptr
< Residue
ResidueAP
 
typedef
utility::pointer::weak_ptr
< Residue const > 
ResidueCAP
 
typedef
utility::pointer::shared_ptr
< Residue
ResidueOP
 
typedef
utility::pointer::shared_ptr
< Residue const > 
ResidueCOP
 
typedef utility::vector1
< ResidueOP
ResidueOPs
 
typedef utility::vector1
< ResidueCOP
ResidueCOPs
 
typedef utility::vector1
< ResidueCAP
ResidueCAPs
 
typedef
utility::pointer::shared_ptr
< ResidueKinWriter
ResidueKinWriterOP
 
typedef
utility::pointer::shared_ptr
< ResidueKinWriter const > 
ResidueKinWriterCOP
 
typedef
utility::pointer::shared_ptr
< ConformationKinWriter
ConformationKinWriterOP
 
typedef
utility::pointer::shared_ptr
< ConformationKinWriter const > 
ConformationKinWriterCOP
 
typedef
utility::pointer::shared_ptr
< ResidueMatcher
ResidueMatcherOP
 
typedef
utility::pointer::shared_ptr
< ResidueMatcher const > 
ResidueMatcherCOP
 
typedef
utility::pointer::shared_ptr
< RotamerSetBase
RotamerSetBaseOP
 
typedef
utility::pointer::shared_ptr
< RotamerSetBase const > 
RotamerSetBaseCOP
 
typedef
utility::pointer::shared_ptr
< UltraLightResidue
UltraLightResidueOP
 

Enumerations

enum  Strategy {
  NAIVE, AUTOMATIC, OCTREE, THREEDGRID,
  STRIPEHASH
}
 
enum  ppo_torsion_bin {
  ppo_torbin_A = 1, ppo_torbin_B, ppo_torbin_E, ppo_torbin_G,
  ppo_torbin_a, ppo_torbin_b, ppo_torbin_e, ppo_torbin_g,
  ppo_torbin_X, ppo_torbin_U, n_ppo_torsion_bins = ppo_torbin_U
}
 Enumeration representing the different phi/psi/omega torsion bins. More...
 

Functions

std::ostream & operator<< (std::ostream &out, Atom const &atom)
 
void atom_graph_from_conformation (Conformation const &conformation, AtomGraph &atom_graph)
 
platform::Size annotated_atom_graph_from_conformation (Conformation const &conformation, AtomGraph &pg, PointPosition const &additional_point)
 create a pointgraph which consists of 1 node for every atom, plus 1 additional node which will be added as the last node. The index of the additional node is returned More...
 
std::ostream & operator<< (std::ostream &os, Conformation const &conf)
 
template<class Vertex , class Edge >
void find_neighbors_naive (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 
template<class Vertex , class Edge >
void find_neighbors_octree (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, Strategy strategy)
 Finds the residue neighbors efficiently using an octree-like spatial sort. More...
 
template<class Vertex , class Edge >
void find_neighbors_3dgrid (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation. More...
 
template<class Vertex , class Edge >
void find_neighbors_naive_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection)
 
template<class Vertex , class Edge >
void find_neighbors_octree_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection, Strategy strategy)
 Finds the residue neighbors efficiently using an octree-like spatial sort. More...
 
template<class Vertex , class Edge >
void find_neighbors_3dgrid_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection)
 Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation. More...
 
template<class Vertex , class Edge >
core::Size get_nearest_neighbor (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Size node_id, core::Real neighbor_cutoff, Strategy strategy=AUTOMATIC)
 
template<class Vertex , class Edge >
void find_neighbors (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, Strategy strategy=AUTOMATIC)
 
template<class Vertex , class Edge >
void find_neighbors_stripe (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff)
 
template<class Vertex , class Edge >
void find_neighbors_restricted (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< bool > const &residue_selection, Strategy strategy=AUTOMATIC)
 
template<class Vertex , class Edge >
void find_neighbors_naive_surface (utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > > point_graph, core::Real neighbor_cutoff, utility::vector1< std::pair< Size, Size > > const &non_surface_ranges, utility::vector1< bool > const &is_surface)
 
void residue_point_graph_from_conformation (Conformation const &conformation, PointGraph &pg)
 
ppo_torsion_bin get_torsion_bin (core::Real phi, core::Real psi, core::Real omega=180)
 determine the torsion bin for a given phi/psi/omega combination, assuming that omega is 180 if not specified More...
 
ppo_torsion_bin remap_cis_omega_torsion_bins_to_trans (ppo_torsion_bin torbin)
 
bool cis_omega_torsion_bin (ppo_torsion_bin torbin)
 
torsion_bin_string map_string_to_torsion_bin_string (std::string const &torstring)
 convert a string of characters into a vector of the internally recognized ppo_torsion_bin enumeration More...
 
bool char_valid_as_torsion_bin (char torbin)
 returns true if the input character represents a valid torsion bin More...
 
ppo_torsion_bin map_char_to_torsion_bin (char torbin)
 returns the torsion bin that the input character represents More...
 
char map_torsion_bin_to_char (ppo_torsion_bin torbin)
 convert a torsion bin to a character s.t. that character can be converted back to a torsion bin More...
 
static basic::Tracer TR ("core.conformation.Residue")
 
chemical::ResidueType const & reference_from_restype_ptr (chemical::ResidueTypeCOP rsd_type)
 This function enforces the fact that ResidueTypes must be constructed with non-null-pointer ResidueTypeCOPs. More...
 
bool missing_stubs_build (core::Size ii, Residue const &residue, utility::vector1< bool > const &missing, Vector &coordinate)
 
void improper_build (Residue const &residue, core::Size missing, core::Size parent, core::Size sibling1, core::Size sibling2, Vector &coordinate)
 Build. More...
 
std::ostream & operator<< (std::ostream &os, Residue const &res)
 
void idealize_hydrogens (Residue &res, Conformation const &conf)
 
void set_chi_according_to_coordinates (conformation::Residue &rotamer)
 rotamer chi-update from coords useful for building rotamers from coordinates More...
 
void write_kinemage_header (std::ostream &ostr, Size const kin_number, std::string const &title, Vector const &ctr)
 
void print_node (std::ostream &out, int residue_num, int atom_num, core::Vector const &atom_xyz, core::chemical::ResidueType const &res, std::string const &extras="")
 TWO FUNCTIONS STOLEN FROM IAN: and slightly modified. More...
 
void print_node (std::ostream &out, int residue_num, int atom_num, core::conformation::Residue const &res, std::string const &extras="")
 
void print_node (std::ostream &out, int residue_num, std::string atom_name, core::conformation::Residue const &res, std::string const &extras="")
 
void orient_residue_for_ideal_bond (Residue &moving_rsd, chemical::ResidueConnection const &moving_connection, Residue const &fixed_rsd, chemical::ResidueConnection const &fixed_connection, Conformation const &conformation, bool lookup_bond_length)
 
void insert_ideal_mainchain_bonds (Size const seqpos, Conformation &conformation)
 
void insert_ideal_bonds_at_polymer_junction (Size const seqpos, Conformation &conformation)
 Sets the two bond angles and the bond length across the junction, rebuilds dependent atoms (eg O,H) More...
 
void idealize_position (Size const seqpos, Conformation &conformation)
 Idealize backbone and sidechain at seqpos. More...
 
bool is_ideal_position (Size const seqpos, Conformation const &conformation, Real theta_epsilon=0.005,Real D_epsilon=0.02)
 Return true if position contains an ideal geometry up to some epsilon. More...
 
void copy_residue_coordinates_and_rebuild_missing_atoms (Residue const &source_rsd, Residue &target_rsd, Conformation const &conformation, bool const preserve_only_sidechain_dihedrals)
 Fills coords of target_rsd with coords from source_rsd of same atom_name, rebuilds others. More...
 
void copy_residue_coordinates_and_rebuild_missing_atoms (Residue const &source_rsd, Residue &target_rsd, Conformation const &conformation)
 Fills coords of target_rsd with coords from source_rsd of same atom_name, rebuilds others. More...
 
std::ostream & print_atom (id::AtomID const &id, Conformation const &conf, std::ostream &os)
 
void check_good_cutpoint_neighbour (core::conformation::Residue const &thisres, core::conformation::Residue const &other_res)
 Given two residues, check that they are compatible types to be connected via a cutpoint. More...
 
void update_cutpoint_virtual_atoms_if_connected (core::conformation::Conformation &conf, core::Size const cutpoint_res, bool recurse)
 Given a conformation and a position that may or may not be CUTPOINT_UPPER or CUTPOINT_LOWER, determine whether this position has either of these variant types, and if it does, determine whether it's connected to anything. If it is, update the C-OVL1-OVL2 bond lengths and bond angle (for CUTPOINT_LOWER) or OVU1-N bond length (for CUTPOINT_UPPER) to match any potentially non-ideal geometry in the residue to which it's bonded. More...
 
void show_atom_tree (kinematics::tree::Atom const &atom, Conformation const &conf, std::ostream &os)
 
void replace_conformation_residue_copying_existing_coordinates (conformation::Conformation &conformation, Size const seqpos, chemical::ResidueType const &new_rsd_type)
 
void add_variant_type_to_conformation_residue (conformation::Conformation &conformation, chemical::VariantType const variant_type, Size const seqpos)
 Construct a variant of an existing conformation residue. More...
 
void remove_variant_type_from_conformation_residue (conformation::Conformation &conformation, chemical::VariantType const variant_type, Size const seqpos)
 Construct a non-variant of an existing conformation residue. More...
 
void add_lower_terminus_type_to_conformation_residue (conformation::Conformation &conformation, Size const seqpos)
 
void remove_lower_terminus_type_from_conformation_residue (conformation::Conformation &conformation, Size const seqpos)
 
void add_upper_terminus_type_to_conformation_residue (conformation::Conformation &conformation, Size const seqpos)
 
void remove_upper_terminus_type_from_conformation_residue (conformation::Conformation &conformation, Size const seqpos)
 
void build_tree (kinematics::FoldTree const &fold_tree, conformation::ResidueCOPs const &residues, kinematics::AtomPointer2D &atom_pointer)
 
void build_jump_edge (kinematics::Edge const &edge, conformation::ResidueCOPs const &residues, kinematics::AtomPointer2D &atom_pointer)
 build a sub atom-tree for a jump edge and attach it to main atom-tree More...
 
void build_polymer_edge (kinematics::Edge const &edge, conformation::ResidueCOPs const &residues, kinematics::AtomPointer2D &atom_pointer)
 build a sub atom-tree for a polymer edge and attach it to main atom-tree More...
 
void build_chemical_edge (kinematics::Edge const &edge, conformation::ResidueCOPs const &residues, kinematics::AtomPointer2D &atom_pointer)
 build a sub atom-tree for a chemical edge and attach it to main atom-tree More...
 
int get_root_atomno (conformation::Residue const &rsd, int const dir)
 get the root atom for building residue atom-tree given the folding direction "dir" More...
 
Size get_root_residue_root_atomno (conformation::Residue const &rsd, kinematics::FoldTree const &fold_tree)
 
void build_residue_tree (conformation::ResidueCOPs const &residues, conformation::Residue const &rsd, kinematics::FoldTree const &fold_tree, kinematics::AtomPointer1D &atom_ptr)
 build_residue_tree function that uses the foldtree info More...
 
bool check_good_neighbor (Size const &atom_index, utility::vector1< Size > const &cut_nbrs)
 Check if this atom neighbor has been black-listed ("CUT_BOND" in params file). More...
 
bool chi_continuation (Size const atom1, Size const atom2, utility::vector1< utility::vector1< Size > > const &chi_atoms)
 is atom2 the last atom of our chi angle ? More...
 
bool chi_interruption (Size const atom1, Size const atom2, utility::vector1< utility::vector1< Size > > const &chi_atoms, utility::vector1< bool > const &is_done)
 would we be breaking into a chi angle by adding atom2 to the tree now? More...
 
void setup_links_simple (conformation::Residue const &rsd, kinematics::Links &links)
 simply fill the "links" by adding, for each atom, its bonded neighbors More...
 
void setup_atom_links (int const atom1, kinematics::Links const &full_links, utility::vector1< bool > &is_done, utility::vector1< bool > const &is_mainchain, utility::vector1< bool > const &is_chi, utility::vector1< bool > const &is_hydrogen, utility::vector1< utility::vector1< Size > > const &chi_atoms, kinematics::Links &new_links)
 set correct order for how atoms are linked to each other. More...
 
void setup_links (conformation::Residue const &rsd, int const root_atomno, kinematics::Links &links)
 given the root_atomno, set up rules for how other atoms are linked for this residue a wrapper function calling setup_atom_links recursively . More...
 
void build_residue_tree (int const root_atomno, conformation::Residue const &rsd, kinematics::AtomPointer1D &atom_ptr, bool const root_is_jump_atom)
 set up a local atom-tree for a residue from the defined root atom. More...
 
void get_residue_connections (conformation::Residue const &new_rsd, kinematics::FoldTree const &fold_tree, conformation::ResidueCOPs const &residues, id::BondID &new_rsd_in, utility::vector1< id::BondID > &new_rsd_out)
 
void replace_residue_in_atom_tree (conformation::Residue const &new_rsd, kinematics::FoldTree const &fold_tree, conformation::ResidueCOPs const &residues, kinematics::AtomTree &atom_tree)
 Helper function for conformation routines. More...
 
void insert_residue_into_atom_tree (conformation::Residue const &new_rsd, kinematics::FoldTree const &fold_tree, conformation::ResidueCOPs const &residues, kinematics::AtomTree &atom_tree)
 Inserts/ appends new residue subtree into an existing atomtree. More...
 
int get_anchor_atomno (conformation::Residue const &anchor_rsd, Size const seqpos, kinematics::FoldTree const &fold_tree)
 Get the atom-index of the atom to which the residue at position seqpos should be anchored. More...
 
int get_anchor_atomno (conformation::Residue const &rsd, int const dir)
 get anchor atom to which the atom-tree of next residue in the edge is attached. More...
 
void get_anchor_and_root_atoms (conformation::Residue const &anchor_rsd, conformation::Residue const &root_rsd, kinematics::Edge const &edge, Size &anchor_atomno, Size &root_atomno)
 Use this routine to deduce atom indices of connect atoms in the tree. More...
 
void promote_sameresidue_child_of_jump_atom (kinematics::Edge const &edge, conformation::ResidueCOPs const &residues, kinematics::AtomTree &atom_tree)
 Moves the first same-residue child of the jump atom corresponding to edge into first place in the child list. More...
 
void promote_sameresidue_child_of_jump_atom (kinematics::Edge const &edge, conformation::ResidueCOPs const &residues, kinematics::AtomPointer2D const &atom_pointer)
 Moves the first same-residue child of the jump atom corresponding to edge into first place in the child list. More...
 
void get_chemical_root_and_anchor_atomnos (conformation::Residue const &rsd_anchor, conformation::Residue const &rsd_root, Size &anchor_atom_no, Size &root_atom_no)
 
void setup_corresponding_atoms (id::AtomID_Map< id::AtomID > &atom_map, conformation::Residue const &rsd1, conformation::Residue const &rsd2)
 set up a map to match mainchain atoms from residue1 to residue2 More...
 
bool change_cys_state (Size const index, std::string const &cys_type_name3, Conformation &conf)
 Switch the disulfide state of a disulfide-forming residue (e.g. CYS->CYD or CYD->CYS or DCYD->DCYS or DCYS->DCYD or whatnot). More...
 
id::NamedAtomID atom_id_to_named_atom_id (id::AtomID const &atom_id, conformation::Residue const &rsd)
 
id::AtomID named_atom_id_to_atom_id (id::NamedAtomID const &named_atom_id, conformation::Residue const &rsd)
 
id::NamedStubID stub_id_to_named_stub_id (id::StubID const &stub_id, conformation::Residue const &rsd)
 
id::StubID named_stub_id_to_stub_id (id::NamedStubID const &named_stub_id, conformation::Residue const &rsd)
 
core::Size get_disulf_partner (core::conformation::Conformation const &conformation, core::Size const res_index)
 Gets a disulfide-forming residue's partner in the disulfide bond. More...
 
void break_disulfide (core::conformation::Conformation &conformation, core::Size const res1, core::Size const res2)
 Breaks a disulfide bond. More...
 
void form_disulfide (Conformation &conformation, Size lower_res, Size upper_res, bool const preserve_d_residues, bool const force_d_residues)
 Introduce cysteines at the specified location and define a disulfide bond between them. More...
 
void form_disulfide_helper (core::conformation::Conformation &conformation, core::Size const res_index, core::chemical::ResidueTypeSetCOP restype_set, bool const preserve_d_residues, bool const force_d_residues)
 Helper function for the form_disulfide function. More...
 
bool upper_is_symm_equivalent_of_lower (core::conformation::Conformation const &conformation, core::Size const lower_res, core::Size const upper_res)
 Another helper function for the form_disulfide function. More...
 
bool is_disulfide_bond (conformation::Conformation const &conformation, Size residueA_pos, Size residueB_pos)
 Find whether there is a disulfide defined between two residues. More...
 
void disulfide_bonds (conformation::Conformation const &conformation, utility::vector1< std::pair< Size, Size > > &disulfides)
 Generate a list of all disulfide bonds in the conformation. More...
 
core::id::TorsionID find_bond_torsion_with_nearest_orientation (core::conformation::Conformation const &conf, utility::vector1< core::id::TorsionID > const &torsions, core::id::TorsionID const &query_torsion)
 Return a nearby TorsionID with approximately the same 3D orientation, selected from the give TorsionIDs. More...
 
core::uint position_of_atom_on_ring (Residue const &residue, core::uint query_atom, utility::vector1< core::uint > const &ring_atoms)
 What is the attachment position of the query atom on the given ring? More...
 
chemical::rings::AxEqDesignation is_atom_axial_or_equatorial_to_ring (Residue const &residue, core::uint query_atom, utility::vector1< core::uint > const &ring_atoms)
 Is the query atom in this residue axial or equatorial to the given ring or neither? More...
 
chemical::rings::AxEqDesignation is_atom_axial_or_equatorial (Residue const &residue, core::uint query_atom)
 Is the query atom in this residue axial or equatorial or neither? More...
 
chemical::ResidueTypeCOP virtual_type_for_conf (core::conformation::Conformation const &conformation)
 Return the appropritate ResidueType for the virtual residue for the "mode" (fullatom, centroid ...) the conformation is in. More...
 
chemical::ResidueTypeCOP inv_virtual_type_for_conf (core::conformation::Conformation const &conformation)
 Return the appropritate ResidueType for the inverse virtual residue for the "mode" (fullatom, centroid ...) the conformation is in. More...
 
core::Vector all_atom_center (core::conformation::Residue const &residue)
 Get the center of the Residue. More...
 
bool get_second_atom_from_connection (core::Size &resno, core::Size &atomno, Residue const &rsd, Conformation const &conformation, core::Size const &conn_id)
 Given a residue and a connection id, get the heavyatom adjacent to the atom that makes that connection. More...
 
conformation::ResidueOP get_residue_from_name (std::string const &name, std::string const &residue_type_set="fa_standard")
 Returns a new residue based on a name. More...
 
conformation::ResidueOP get_residue_from_name1 (char name1, bool is_lower_terminus=false, bool is_upper_terminus=false, bool d_aa=false, std::string const &residue_type_set="fa_standard")
 Returns a new residue based on a name1. More...
 
core::kinematics::Stub get_stub_from_residue (core::conformation::Residue const &res)
 Get stub from orient_atoms. More...
 
core::kinematics::RT get_rt_from_residue_pair (core::conformation::Residue const &res1, core::conformation::Residue const &res2)
 Get stub mapping that maps residue 1 to residue 2. More...
 
void disulfide_bonds (core::conformation::Conformation const &conformation, utility::vector1< std::pair< core::Size, core::Size > > &disulfides)
 Generate a list of all disulfide bonds in the conformation. More...
 

Typedef Documentation

typedef utility::pointer::shared_ptr< AbstractRotamerTrie const > core::conformation::AbstractRotamerTrieCOP
typedef utility::pointer::shared_ptr< AbstractRotamerTrie > core::conformation::AbstractRotamerTrieOP
typedef utility::graph::UpperEdgeGraph<AtomGraphVertexData, AtomGraphEdgeData> core::conformation::AtomGraph
typedef utility::pointer::shared_ptr<AtomGraph > core::conformation::AtomGraphOP
typedef utility::vector1< Atom > core::conformation::Atoms
typedef utility::pointer::weak_ptr< Conformation > core::conformation::ConformationAP
typedef utility::pointer::weak_ptr< Conformation const > core::conformation::ConformationCAP
typedef utility::pointer::shared_ptr< Conformation const > core::conformation::ConformationCOP
typedef utility::pointer::shared_ptr< ConformationKinWriter const > core::conformation::ConformationKinWriterCOP
typedef utility::pointer::shared_ptr< ConformationKinWriter > core::conformation::ConformationKinWriterOP
typedef utility::pointer::shared_ptr< Conformation > core::conformation::ConformationOP
typedef numeric::xyzTriple< core::Size > core::conformation::CubeKey
typedef utility::graph::UpperEdgeGraph< PointGraphVertexData, PointGraphEdgeData > core::conformation::PointGraph
typedef utility::pointer::shared_ptr< PointGraph > core::conformation::PointGraphOP
typedef numeric::xyzVector< core::Real > core::conformation::PointPosition
typedef utility::pointer::shared_ptr< PseudoBondCollection const > core::conformation::PseudoBondCollectionCOP
typedef utility::pointer::shared_ptr< PseudoBondCollection > core::conformation::PseudoBondCollectionOP
typedef utility::pointer::weak_ptr< Residue > core::conformation::ResidueAP
typedef utility::pointer::weak_ptr< Residue const > core::conformation::ResidueCAP
typedef utility::vector1< ResidueCAP > core::conformation::ResidueCAPs
typedef utility::pointer::shared_ptr< Residue const > core::conformation::ResidueCOP
typedef utility::vector1< ResidueCOP > core::conformation::ResidueCOPs
typedef utility::pointer::shared_ptr< ResidueKinWriter const > core::conformation::ResidueKinWriterCOP
typedef utility::pointer::shared_ptr< ResidueKinWriter > core::conformation::ResidueKinWriterOP
typedef utility::pointer::shared_ptr< ResidueMatcher const > core::conformation::ResidueMatcherCOP
typedef utility::pointer::shared_ptr< ResidueMatcher > core::conformation::ResidueMatcherOP
typedef utility::pointer::shared_ptr< Residue > core::conformation::ResidueOP
typedef utility::vector1< ResidueOP > core::conformation::ResidueOPs
typedef utility::pointer::shared_ptr< RotamerSetBase const > core::conformation::RotamerSetBaseCOP
typedef utility::pointer::shared_ptr< RotamerSetBase > core::conformation::RotamerSetBaseOP
typedef utility::pointer::shared_ptr< UltraLightResidue > core::conformation::UltraLightResidueOP

Enumeration Type Documentation

Enumeration representing the different phi/psi/omega torsion bins.

Enumerator
ppo_torbin_A 
ppo_torbin_B 
ppo_torbin_E 
ppo_torbin_G 
ppo_torbin_a 
ppo_torbin_b 
ppo_torbin_e 
ppo_torbin_g 
ppo_torbin_X 
ppo_torbin_U 
n_ppo_torsion_bins 
Enumerator
NAIVE 
AUTOMATIC 
OCTREE 
THREEDGRID 
STRIPEHASH 

Function Documentation

void core::conformation::add_lower_terminus_type_to_conformation_residue ( conformation::Conformation conformation,
Size const  seqpos 
)
void core::conformation::add_upper_terminus_type_to_conformation_residue ( conformation::Conformation conformation,
Size const  seqpos 
)
void core::conformation::add_variant_type_to_conformation_residue ( conformation::Conformation conformation,
chemical::VariantType const  variant_type,
Size const  seqpos 
)

Construct a variant of an existing conformation residue.

E.g., make a terminus variant, and replace the original in pose.

Note
This copies any atoms in common between old and new residues, rebuilding the others.

References replace_conformation_residue_copying_existing_coordinates(), core::conformation::Conformation::residue(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by add_lower_terminus_type_to_conformation_residue(), and add_upper_terminus_type_to_conformation_residue().

core::Vector core::conformation::all_atom_center ( core::conformation::Residue const &  residue)

Get the center of the Residue.

This computes an equally-weighted, all-atom (including virtuals and hydrogens) center

References core::pose::center_of_mass(), protocols::splice::coords(), core::conformation::Residue::natoms(), and core::conformation::Residue::xyz().

Referenced by protocols::ligand_docking::get_ligand_travel_ensemble_best().

platform::Size core::conformation::annotated_atom_graph_from_conformation ( Conformation const &  conformation,
AtomGraph &  atom_graph,
PointPosition const &  additional_point 
)

create a pointgraph which consists of 1 node for every atom, plus 1 additional node which will be added as the last node. The index of the additional node is returned

References core::conformation::Residue::data(), core::chemical::ResidueType::natoms(), core::pose::num_atoms(), core::conformation::Conformation::residue(), core::conformation::Conformation::residue_type(), and core::conformation::Conformation::size().

void core::conformation::atom_graph_from_conformation ( Conformation const &  conformation,
AtomGraph &  atom_graph 
)
id::NamedAtomID core::conformation::atom_id_to_named_atom_id ( id::AtomID const &  atom_id,
conformation::Residue const &  rsd 
)
void core::conformation::break_disulfide ( core::conformation::Conformation conformation,
core::Size const  res1,
core::Size const  res2 
)
void core::conformation::build_chemical_edge ( kinematics::Edge const &  edge,
conformation::ResidueCOPs const &  residues,
kinematics::AtomPointer2D atom_pointer 
)

build a sub atom-tree for a chemical edge and attach it to main atom-tree

assumes that the start residue of edge has already been built. Traverse the chemical edge residue by residue and after building sub atom-tree for this residue, attaches the edge's subtree to the anchor_atom in the previous residue.

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

Referenced by build_tree().

void core::conformation::build_jump_edge ( kinematics::Edge const &  edge,
conformation::ResidueCOPs const &  residues,
kinematics::AtomPointer2D atom_pointer 
)

build a sub atom-tree for a jump edge and attach it to main atom-tree

root_atomno is the root for the sub atom-tree of this edge. anchor_atomno is the entry point of this sub atom-tree into the main atom-tree.

References build_residue_tree(), get_anchor_and_root_atoms(), core::kinematics::Edge::is_jump(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

Referenced by build_tree().

void core::conformation::build_polymer_edge ( kinematics::Edge const &  edge,
conformation::ResidueCOPs const &  residues,
kinematics::AtomPointer2D atom_pointer 
)

build a sub atom-tree for a polymer edge and attach it to main atom-tree

assumes that the start residue of edge has already been built. Traverse the polymer edge residue by residue and after building sub atom-tree for this residue, attaches the edge's subtree to the anchor_atom in the previous residue.

References build_residue_tree(), get_anchor_and_root_atoms(), core::kinematics::Edge::polymer_direction(), core::kinematics::Edge::start(), protocols::loops::start, core::kinematics::Edge::stop(), and protocols::loops::stop.

Referenced by build_tree().

void core::conformation::build_residue_tree ( conformation::ResidueCOPs const &  residues,
conformation::Residue const &  rsd,
kinematics::FoldTree const &  fold_tree,
kinematics::AtomPointer1D atom_ptr 
)

build_residue_tree function that uses the foldtree info

A wrapper function to build an atom-tree for a residue. Uses information from the foldtree to find the proper root atom if it is not defined, and determine the direction in which to build the residue. The goal of this function is to allow the Conformation to rebuild parts of the AtomTree in a way that is compatible with what would be built if we erased the entire atomtree and rebuilt it using the foldtree. Also used to build the atomtree for the root residue when we are building the atomtree from scratch.

also used in build_tree to build the residue tree for the root residue

References core::conformation::Residue::atom_index(), core::kinematics::dir_jump, get_anchor_and_root_atoms(), core::kinematics::FoldTree::get_residue_edge(), get_root_atomno(), get_root_residue_root_atomno(), core::kinematics::FoldTree::root(), and core::conformation::Residue::seqpos().

Referenced by build_chemical_edge(), build_jump_edge(), build_polymer_edge(), build_tree(), core::conformation::Conformation::fill_missing_atoms(), replace_residue_in_atom_tree(), and core::pack::scmin::ResidueAtomTreeCollection::ResidueAtomTreeCollection().

void core::conformation::build_residue_tree ( int const  root_atomno,
conformation::Residue const &  rsd,
kinematics::AtomPointer1D atom_ptr,
bool const  root_is_jump_atom 
)

set up a local atom-tree for a residue from the defined root atom.

build the tree of atoms for this residue, anchored at root_atomno

References core::kinematics::add_atom(), core::conformation::Residue::atom(), core::conformation::Residue::natoms(), core::conformation::Residue::seqpos(), setup_links(), and core::conformation::Atom::xyz().

void core::conformation::build_tree ( kinematics::FoldTree const &  fold_tree,
conformation::ResidueCOPs const &  residues,
kinematics::AtomPointer2D atom_pointer 
)

Build an atom-tree from a fold-tree and a set of residues atoms in the tree are allocated with new (on the heap) and held in owning pointers in atom_pointer

Note
atom_pointer is cleared at the beginning and then filled with AtomOPs to all the atoms

References build_chemical_edge(), build_jump_edge(), build_polymer_edge(), build_residue_tree(), core::kinematics::Edge::CHEMICAL, core::id::AtomID_Map< T >::clear(), core::kinematics::Edge::PEPTIDE, promote_sameresidue_child_of_jump_atom(), core::id::AtomID_Map< T >::resize(), core::kinematics::FoldTree::root(), and TR().

Referenced by core::conformation::Conformation::setup_atom_tree().

bool core::conformation::change_cys_state ( Size const  index,
std::string const &  cys_type_name3,
Conformation &  conf 
)

Switch the disulfide state of a disulfide-forming residue (e.g. CYS->CYD or CYD->CYS or DCYD->DCYS or DCYS->DCYD or whatnot).

Parameters
[in]indexPosition of the residue to replace.
[in]cys_type_name3The 3-letter name of the cys type to use: e.g. CYS or CYD. DEPRECATED and kept only for backward-compatibility.
[in,out]confThe conformation to modify

Substitutes a residue with the given cys type, keeping as many of the existing atom positions as possible. If the original residue has a disulfide variant it will be removed, otherwise a disulfide variant will be added. Should work with any ResidueTypeSet that has the proper disulfide variants. If the replacement fails for any reason a warning will be printed.

Returns
true if the replacement was successful, false otherwise.
Parameters
[in]indexPosition of the residue to replace.
[in]cys_type_name3The 3-letter name of the cys type to use: either CYS or CYD. DEPRECATED and kept only for backward-compatibility.
[in,out]confThe conformation to modify
Returns
true if the replacement was successful, false otherwise.

References copy_residue_coordinates_and_rebuild_missing_atoms(), core::conformation::ResidueFactory::create_residue(), core::chemical::DISULFIDE, core::conformation::Conformation::replace_residue(), core::conformation::Conformation::residue(), core::conformation::Conformation::residue_type_set_for_conf(), and TR().

Referenced by protocols::hybridization::HybridizeProtocol::apply(), protocols::hybridization::CartesianSampler::apply_frame(), break_disulfide(), protocols::peptide_deriver::PeptideDeriverFilter::build_receptor_peptide_pose(), protocols::features::ProteinResidueConformationFeatures::check_num_requested_atoms(), core::conformation::symmetry::SymmetricConformation::detect_disulfides(), core::conformation::Conformation::detect_disulfides(), core::conformation::Conformation::fix_disulfides(), and form_disulfide().

bool core::conformation::char_valid_as_torsion_bin ( char  torbin)

returns true if the input character represents a valid torsion bin

Referenced by map_string_to_torsion_bin_string().

void core::conformation::check_good_cutpoint_neighbour ( core::conformation::Residue const &  thisres,
core::conformation::Residue const &  other_res 
)
bool core::conformation::check_good_neighbor ( Size const &  atom_index,
utility::vector1< Size > const &  cut_nbrs 
)

Check if this atom neighbor has been black-listed ("CUT_BOND" in params file).

Referenced by setup_links_simple().

bool core::conformation::chi_continuation ( Size const  atom1,
Size const  atom2,
utility::vector1< utility::vector1< Size > > const &  chi_atoms 
)
inline

is atom2 the last atom of our chi angle ?

Referenced by setup_atom_links().

bool core::conformation::chi_interruption ( Size const  atom1,
Size const  atom2,
utility::vector1< utility::vector1< Size > > const &  chi_atoms,
utility::vector1< bool > const &  is_done 
)
inline

would we be breaking into a chi angle by adding atom2 to the tree now?

Referenced by setup_atom_links().

bool core::conformation::cis_omega_torsion_bin ( ppo_torsion_bin  torbin)
void core::conformation::copy_residue_coordinates_and_rebuild_missing_atoms ( Residue const &  source_rsd,
Residue &  target_rsd,
Conformation const &  conformation,
bool const  preserve_only_sidechain_dihedrals 
)

Fills coords of target_rsd with coords from source_rsd of same atom_name, rebuilds others.

If preserve_only_sidechain_dihedrals is true, then this function only copies mainchain coordinates, and rebuilds all sidechain coordinates from scratch, setting side-chain dihedrals based on the source residue. Otherwise, if false, it copies all the atoms that it can from the source residue, then rebuilds the rest.

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

References core::conformation::Residue::atom(), core::conformation::Residue::atom_name(), core::conformation::Residue::chain(), core::conformation::Residue::chi(), core::conformation::Residue::fill_missing_atoms(), core::chemical::ResidueType::first_sidechain_atom(), core::conformation::Residue::has(), protocols::mean_field::min(), core::conformation::Residue::n_mainchain_atoms(), core::conformation::Residue::name(), core::conformation::Residue::natoms(), core::chemical::ResidueType::natoms(), core::conformation::Residue::nchi(), core::conformation::Residue::seqpos(), core::conformation::Residue::set_chi(), TR(), core::conformation::Residue::type(), and core::conformation::Atom::xyz().

Referenced by protocols::environment::EnvClaimBroker::add_chainbreak_variants(), core::pose::add_variant_type_to_residue(), protocols::simple_moves::ReportEffectivePKA::apply(), protocols::indexed_structure_store::apply_residue_entries_to_pose(), change_cys_state(), protocols::simple_filters::SidechainRmsdFilter::compute(), form_disulfide_helper(), protocols::residue_optimization::MetapatchEnumeration::generate_derived_types(), protocols::simple_moves::MutateResidue::make_mutation(), protocols::rotamer_recovery::RRComparerAutomorphicRMSD::measure_rotamer_recovery(), core::pose::remove_variant_type_from_residue(), replace_conformation_residue_copying_existing_coordinates(), core::pose::replace_pose_residue_copying_existing_coordinates(), and core::util::switch_to_residue_type_set().

void core::conformation::copy_residue_coordinates_and_rebuild_missing_atoms ( Residue const &  source_rsd,
Residue &  target_rsd,
Conformation const &  conformation 
)

Fills coords of target_rsd with coords from source_rsd of same atom_name, rebuilds others.

For building variant residues, eg

Note
Need conformation for context in case we have to rebuild atoms, eg backbone H

References core::conformation::Residue::atom(), core::conformation::Residue::atom_name(), core::conformation::Residue::chain(), core::conformation::Residue::fill_missing_atoms(), core::conformation::Residue::has(), core::conformation::Residue::name(), core::conformation::Residue::natoms(), core::conformation::Residue::seqpos(), TR(), and core::conformation::Atom::xyz().

void core::conformation::disulfide_bonds ( core::conformation::Conformation const &  conformation,
utility::vector1< std::pair< core::Size, core::Size > > &  disulfides 
)
void core::conformation::disulfide_bonds ( conformation::Conformation const &  conformation,
utility::vector1< std::pair< Size, Size > > &  disulfides 
)
core::id::TorsionID core::conformation::find_bond_torsion_with_nearest_orientation ( core::conformation::Conformation const &  conf,
utility::vector1< core::id::TorsionID > const &  torsions,
core::id::TorsionID const &  query_torsion 
)

Return a nearby TorsionID with approximately the same 3D orientation, selected from the give TorsionIDs.

The downstream effects of a torsion move can be minimized by twisting a nearby torsion in the opposite direction with the same magnitude, resulting in a net "shearing" motion, if and only if the orientation of the two bonds are similar, that is, if the two bonds are approximately parallel. This function is useful for finding such a torsion from a supplied list of torsions.

Parameters
<conf>the Conformation
<torsions>a list of torsions to search
<query_torsion>the TorsionID to compare
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::conformation::Conformation::bond_orientation().

Referenced by protocols::simple_moves::ShearMover::setup_list().

template<class Vertex , class Edge >
void core::conformation::find_neighbors ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
Strategy  strategy = AUTOMATIC 
)
template<class Vertex , class Edge >
void core::conformation::find_neighbors_3dgrid ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff 
)

Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation.

Shameless code duplication below based on Stuart's stl-map-based-neighbor-detection code. Note that the FArray3D is an index-from-1 data structure.

References protocols::mean_field::max(), protocols::mean_field::min(), and core::scoring::electron_density::square().

Referenced by find_neighbors(), and find_neighbors_restricted().

template<class Vertex , class Edge >
void core::conformation::find_neighbors_3dgrid_restricted ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
utility::vector1< bool > const &  residue_selection 
)

Create a 3D grid of points. O(N^3). For "spherical" conformations, Theta(N). Speeds neighbor detection in abinitio by a factor of 2. Definition: Spherical = span of x,y and z all O(N**1/3). Note circularity. Adendum: if the 3D grid used a list of point indices instead of a vector, then this would be Theta(N) for spherical conformations; however, with a vector, this is O(NlgN). With the additional assumption that each cube contains O(1) points, then this implementation is O(N). Such an assumption is unneccessary in the list implementation.

References protocols::mean_field::max(), protocols::mean_field::min(), and core::scoring::electron_density::square().

template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff 
)

Referenced by find_neighbors().

template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive_restricted ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
utility::vector1< bool > const &  residue_selection 
)
template<class Vertex , class Edge >
void core::conformation::find_neighbors_naive_surface ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
utility::vector1< std::pair< Size, Size > > const &  non_surface_ranges,
utility::vector1< bool > const &  is_surface 
)
template<class Vertex , class Edge >
void core::conformation::find_neighbors_octree ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
Strategy  strategy 
)

Finds the residue neighbors efficiently using an octree-like spatial sort.

Remarks
  • The "octree" algorithm isn't a real octree since we don't want/need the tree structure: we are only interested in one distance cutoff criterion
  • The octree algorithm is O( R log R ) for R residues vs. O( R^2 ) for the naive algorithm
  • The octree algorithm seems to be faster for R >= 150 or so: this may come down as it gets refined
  • This is an initial implementation of a more scalable neighbor detection algorithm: it will be further tuned as more tests cases are run. This type of algorithm may be of greater benefit for atom neighbor detection because the numbers involved are greater and the neighbor regions encompass a smaller fraction of the other atoms in typical structures.
  • The spatial sorting is essentially an octree method but with the important distinction that is doesn't have full a full tree structure: That would change the log R search complexity to log C where C is the number of cubes in the whole bounding box, which could be as much O( R^3 ) ( O( log C ) == O( log R ) would still be true but the constant would be 3x worse). Instead we let the map build a tree of just the active cubes, keeping the depth minimal. If we needed to access the parent meta-cubes we would need the full octree, but we don't here.
  • The use of std::map to hold the octree should be compared against hash maps and other methods.

References protocols::mean_field::max(), protocols::mean_field::min(), OCTREE, and core::scoring::electron_density::square().

Referenced by find_neighbors().

template<class Vertex , class Edge >
void core::conformation::find_neighbors_octree_restricted ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
utility::vector1< bool > const &  residue_selection,
Strategy  strategy 
)

Finds the residue neighbors efficiently using an octree-like spatial sort.

References protocols::mean_field::max(), protocols::mean_field::min(), OCTREE, and core::scoring::electron_density::square().

template<class Vertex , class Edge >
void core::conformation::find_neighbors_restricted ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff,
utility::vector1< bool > const &  residue_selection,
Strategy  strategy = AUTOMATIC 
)
template<class Vertex , class Edge >
void core::conformation::find_neighbors_stripe ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Real  neighbor_cutoff 
)

Referenced by find_neighbors().

void core::conformation::form_disulfide ( Conformation &  conformation,
Size  lower_res,
Size  upper_res,
bool const  preserve_d_residues,
bool const  force_d_residues 
)

Introduce cysteines at the specified location and define a disulfide bond between them.

Does not do the repacking & minimization required to place the disulfide correctly.

References core::conformation::Residue::atom_index(), core::chemical::ResidueType::atom_name(), core::chemical::ResidueConnection::atomno(), change_cys_state(), core::conformation::Residue::connect_atom(), core::conformation::Residue::connect_map(), core::conformation::Conformation::declare_chemical_bond(), core::chemical::DISULFIDE, form_disulfide_helper(), core::chemical::FULL_ATOM_t, core::chemical::ResidueType::get_disulfide_atom_name(), core::conformation::Residue::has_variant_type(), core::conformation::Conformation::is_fullatom(), core::chemical::ResidueType::n_possible_residue_connections(), core::conformation::Residue::name3(), core::chemical::ResConnID::resid(), core::conformation::Conformation::residue(), core::chemical::ResidueType::residue_connection(), core::conformation::Conformation::residue_type(), core::conformation::Conformation::residue_type_set_for_conf(), TR(), core::conformation::Residue::type(), and upper_is_symm_equivalent_of_lower().

Referenced by protocols::simple_moves::DisulfideInsertionMover::apply(), protocols::minimization_packing::DisulfideOptimizationMover::break_repack_reform(), protocols::forge::remodel::build_and_score_disulfide(), core::pose::fix_up_residue_type_variants(), protocols::cyclic_peptide::TryDisulfPermutations::generate_disulfides(), protocols::forge::remodel::RemodelDesignMover::make_disulfide(), protocols::denovo_design::DisulfidizeMover::make_disulfide(), protocols::forge::remodel::RemodelDesignMover::make_disulfide_fast(), and protocols::cyclic_peptide_predict::SimpleCycpepPredictApplication::rebuild_disulfides().

void core::conformation::form_disulfide_helper ( core::conformation::Conformation conformation,
core::Size const  res_index,
core::chemical::ResidueTypeSetCOP  restype_set,
bool const  preserve_d_residues,
bool const  force_d_residues 
)
void core::conformation::get_anchor_and_root_atoms ( conformation::Residue const &  anchor_rsd,
conformation::Residue const &  root_rsd,
kinematics::Edge const &  edge,
Size anchor_atomno,
Size root_atomno 
)
int core::conformation::get_anchor_atomno ( conformation::Residue const &  anchor_rsd,
Size const  seqpos,
kinematics::FoldTree const &  fold_tree 
)

Get the atom-index of the atom to which the residue at position seqpos should be anchored.

Get the atom-index of the atom to which the residue at position seqpos should be anchored in constructing the atomtree.

References core::conformation::Residue::atom_index(), core::kinematics::dir_jump, core::kinematics::FoldTree::get_residue_edge(), core::kinematics::FoldTree::root(), and core::conformation::Residue::seqpos().

Referenced by get_anchor_and_root_atoms(), get_anchor_atomno(), protocols::forge::build::BuildManager::modify(), protocols::forge::build::SegmentRebuild::modify_impl(), and protocols::forge::build::SegmentInsert::modify_impl().

int core::conformation::get_anchor_atomno ( conformation::Residue const &  rsd,
int const  dir 
)
void core::conformation::get_chemical_root_and_anchor_atomnos ( conformation::Residue const &  rsd_anchor,
conformation::Residue const &  rsd_root,
Size anchor_atom_no,
Size root_atom_no 
)
core::Size core::conformation::get_disulf_partner ( core::conformation::Conformation const &  conformation,
core::Size const  res_index 
)
template<class Vertex , class Edge >
core::Size core::conformation::get_nearest_neighbor ( utility::pointer::shared_ptr< utility::graph::UpperEdgeGraph< Vertex, Edge > >  point_graph,
core::Size  node_id,
core::Real  neighbor_cutoff,
Strategy  strategy = AUTOMATIC 
)
void core::conformation::get_residue_connections ( conformation::Residue const &  new_rsd,
kinematics::FoldTree const &  fold_tree,
conformation::ResidueCOPs const &  residues,
id::BondID new_rsd_in,
utility::vector1< id::BondID > &  new_rsd_out 
)
core::conformation::ResidueOP core::conformation::get_residue_from_name ( std::string const &  name,
std::string const &  residue_type_set 
)

Returns a new residue based on a name.

References core::conformation::ResidueFactory::create_residue().

core::conformation::ResidueOP core::conformation::get_residue_from_name1 ( char  name1,
bool  is_lower_terminus,
bool  is_upper_terminus,
bool  d_aa,
std::string const &  residue_type_set 
)
int core::conformation::get_root_atomno ( conformation::Residue const &  rsd,
int const  dir 
)
Size core::conformation::get_root_residue_root_atomno ( conformation::Residue const &  rsd,
kinematics::FoldTree const &  fold_tree 
)

Determine which atom to use as the root of the root residue in the atomtree. It is sometimes useful to be able to control the atom chosen as the root of the atomtree, eg in graphics. The logic below uses atom_info stored in the foldtree for jump edges emanating from the root residue to override the default atom (if the root residue is a jump_point and said atom_info exists)

References core::conformation::Residue::atom_index(), core::kinematics::dir_jump, get_root_atomno(), core::kinematics::FoldTree::is_jump_point(), core::chemical::ResidueType::is_polymer(), core::kinematics::FoldTree::jump_edge(), core::chemical::ResidueType::name(), core::kinematics::FoldTree::num_jump(), core::kinematics::FoldTree::root(), core::conformation::Residue::seqpos(), and core::conformation::Residue::type().

Referenced by build_residue_tree(), get_residue_connections(), and protocols::stepwise::modeler::align::StepWisePoseAligner::get_root_triad_atom_id_map().

core::kinematics::RT core::conformation::get_rt_from_residue_pair ( core::conformation::Residue const &  res1,
core::conformation::Residue const &  res2 
)

Get stub mapping that maps residue 1 to residue 2.

Coordinate frames for each defined by orient_atoms which defaults to

References get_stub_from_residue().

bool core::conformation::get_second_atom_from_connection ( core::Size resno,
core::Size atomno,
Residue const &  rsd,
Conformation const &  conformation,
core::Size const &  conn_id 
)
core::kinematics::Stub core::conformation::get_stub_from_residue ( core::conformation::Residue const &  res)
ppo_torsion_bin core::conformation::get_torsion_bin ( core::Real  phi,
core::Real  psi,
core::Real  omega 
)

determine the torsion bin for a given phi/psi/omega combination, assuming that omega is 180 if not specified

placed here to make it accessible to a wide range of applications, but it's quite possible that placing this code elsewhere would be better bin boundaries are currently hard-coded – ideally in the future these can be read from external files, and thus adapted if desired

Author
Amelie Stein (ameli.nosp@m.e.st.nosp@m.ein@u.nosp@m.csf..nosp@m.edu)
Date
Wed May 2 11:18:29 PDT 2012

References ppo_torbin_A, ppo_torbin_a, ppo_torbin_B, ppo_torbin_b, ppo_torbin_E, ppo_torbin_e, ppo_torbin_G, ppo_torbin_g, and ppo_torbin_X.

Referenced by core::scoring::Ramachandran2B::init_rama_sampling_table(), core::scoring::Ramachandran::init_rama_sampling_table(), protocols::loops::loop_mover::LoopMover::torsion_features_string(), and protocols::loops::loop_closure::kinematic_closure::KinematicMover::torsion_features_string().

void core::conformation::idealize_hydrogens ( Residue &  res,
Conformation const &  conf 
)
void core::conformation::idealize_position ( Size const  seqpos,
Conformation &  conformation 
)

Idealize backbone and sidechain at seqpos.

References core::id::BB, core::chemical::rna::CHI, core::conformation::ResidueFactory::create_residue(), core::conformation::Conformation::fold_tree(), core::kinematics::FoldTree::is_cutpoint(), core::conformation::Conformation::replace_residue(), core::conformation::Conformation::residue(), core::conformation::Conformation::set_bond_angle(), core::conformation::Conformation::set_bond_length(), core::conformation::Conformation::size(), and core::conformation::Residue::type().

Referenced by protocols::simple_moves::hbs::HbsPatcher::apply(), protocols::simple_moves::oop::OopPatcher::apply(), protocols::simple_moves::a3b_hbs::A3BHbsPatcher::apply(), protocols::hybridization::MRMover::apply(), protocols::comparative_modeling::PartialThreadingMover::apply(), protocols::antibody::ModelCDRH3::apply(), protocols::rbsegment_relax::FragInsertAndAlignMover::apply(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::apply(), protocols::seeded_abinitio::SegmentHybridizer::apply_frame(), protocols::hybridization::CartesianHybridize::apply_frame(), protocols::hybridization::CartesianSampler::apply_frame(), protocols::idealize::basic_idealize(), protocols::star::Extender::extend_unaligned(), protocols::loops::idealize_loop(), protocols::relax::RangeRelaxMover::idealize_pose(), protocols::ub_e2c::ubi_e2c_modeler::initial_cter_perturbation(), core::fragment::make_pose_from_frags(), protocols::loops::loop_mover::perturb::LoopMover_Perturb_CCD::model_loop(), protocols::forge::build::Bridge::modify_impl(), protocols::forge::build::SegmentRebuild::modify_impl(), protocols::forge::build::SegmentInsert::modify_impl(), protocols::ub_e2c::ubi_e2c_modeler::monoub_initial_cter_perturbation(), protocols::jumping::remove_cut(), protocols::hybridization::InsertChunkMover::set_bb_xyz_aligned(), protocols::abinitio::KinematicTaskControl::set_extended_torsions_and_idealize_loops(), and protocols::loops::set_extended_torsions_and_idealize_loops().

void core::conformation::improper_build ( Residue const &  residue,
core::Size  missing,
core::Size  parent,
core::Size  sibling1,
core::Size  sibling2,
Vector coordinate 
)
void core::conformation::insert_ideal_bonds_at_polymer_junction ( Size const  seqpos,
Conformation &  conformation 
)
void core::conformation::insert_ideal_mainchain_bonds ( Size const  seqpos,
Conformation &  conformation 
)
void core::conformation::insert_residue_into_atom_tree ( conformation::Residue const &  new_rsd,
kinematics::FoldTree const &  fold_tree,
conformation::ResidueCOPs const &  residues,
kinematics::AtomTree atom_tree 
)

Inserts/ appends new residue subtree into an existing atomtree.

Note
The foldtree must already have been changed to reflect the new residue
The residues array should already have been inserted into
The sequence position of the new residue is deduced from new_rsd.seqpos()
This function handles renumbering of the atomtree if necessary
The foldtree must already have been changed to reflect the new residue
The sequence position of the new residue is deduced from new_rsd.seqpos()
This function handles renumbering of the atomtree if necessary

References core::kinematics::FoldTree::nres(), replace_residue_in_atom_tree(), core::conformation::Residue::seqpos(), core::kinematics::AtomTree::size(), and core::kinematics::AtomTree::update_sequence_numbering().

Referenced by core::conformation::Conformation::append_residue(), core::conformation::Conformation::insert_polymer_residue(), core::conformation::Conformation::insert_residue_by_bond(), and core::conformation::Conformation::insert_residue_by_jump().

chemical::ResidueTypeCOP core::conformation::inv_virtual_type_for_conf ( core::conformation::Conformation const &  conformation)

Return the appropritate ResidueType for the inverse virtual residue for the "mode" (fullatom, centroid ...) the conformation is in.

When at all possible, use core::pose::get_restype_for_pose() instead, as that can use more pose-specific residue type information, if any.

References core::chemical::FULL_ATOM_t, core::chemical::MIXED_t, core::conformation::Conformation::residue_type_set_for_conf(), core::conformation::Conformation::residue_typeset_mode(), and TR().

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

chemical::rings::AxEqDesignation core::conformation::is_atom_axial_or_equatorial ( Residue const &  residue,
uint  query_atom 
)

Is the query atom in this residue axial or equatorial or neither?

This function calculates an average plane and determines whether the coordinates of a given atom are axial or equatorial to it (or neither). The ring is requested from the Residue.

Parameters
<residue>The Residue containing the atoms in question, which must have exactly one ring.
<query_atom>The index of the atom in question.
Returns
An AxEqDesignation enum type value: AXIAL, EQUATORIAL, or NEITHER
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References is_atom_axial_or_equatorial_to_ring(), core::chemical::rings::NEITHER, TR(), and core::conformation::Residue::type().

chemical::rings::AxEqDesignation core::conformation::is_atom_axial_or_equatorial_to_ring ( Residue const &  residue,
core::uint  query_atom,
utility::vector1< core::uint > const &  ring_atoms 
)

Is the query atom in this residue axial or equatorial to the given ring or neither?

This function calculates an average plane and determines whether the coordinates of a given atom are axial or equatorial to it (or neither). The attachment atom is auto-detected.

Parameters
<residue>The Residue containing the atoms in question.
<query_atom>The index of the atom in question.
<ring_atoms>A list of indices for the atoms of a monocyclic ring system in sequence.
Returns
An AxEqDesignation enum type value: AXIAL, EQUATORIAL, or NEITHER
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::chemical::rings::is_atom_axial_or_equatorial_to_ring(), core::chemical::rings::NEITHER, position_of_atom_on_ring(), TR(), and core::conformation::Residue::xyz().

Referenced by is_atom_axial_or_equatorial(), core::pose::is_atom_axial_or_equatorial_to_ring(), and core::conformation::Residue::show().

bool core::conformation::is_disulfide_bond ( conformation::Conformation const &  conformation,
Size  residueA_pos,
Size  residueB_pos 
)
bool core::conformation::is_ideal_position ( Size const  seqpos,
Conformation const &  conformation,
Real  theta_epsilon = 0.005,
Real  D_epsilon = 0.02 
)
ppo_torsion_bin core::conformation::map_char_to_torsion_bin ( char  torbin)

returns the torsion bin that the input character represents

References ppo_torbin_A, ppo_torbin_a, ppo_torbin_B, ppo_torbin_b, ppo_torbin_E, ppo_torbin_e, ppo_torbin_G, ppo_torbin_g, ppo_torbin_U, and ppo_torbin_X.

Referenced by map_string_to_torsion_bin_string().

torsion_bin_string core::conformation::map_string_to_torsion_bin_string ( std::string const &  torstring)

convert a string of characters into a vector of the internally recognized ppo_torsion_bin enumeration

Exceptions
utility::excn::EXCN_MsgExceptionif any of the input characters in this string are invalid

References char_valid_as_torsion_bin(), map_char_to_torsion_bin(), and core::id::to_string().

Referenced by protocols::loops::loop_mover::refine::LoopMover_Refine_KIC::apply(), and protocols::loops::loop_mover::perturb::LoopMover_Perturb_KIC::model_loop().

char core::conformation::map_torsion_bin_to_char ( ppo_torsion_bin  torbin)

convert a torsion bin to a character s.t. that character can be converted back to a torsion bin

References ppo_torbin_A, ppo_torbin_a, ppo_torbin_B, ppo_torbin_b, ppo_torbin_E, ppo_torbin_e, ppo_torbin_G, ppo_torbin_g, and ppo_torbin_X.

bool core::conformation::missing_stubs_build ( core::Size  ii,
Residue const &  residue,
utility::vector1< bool > const &  missing,
Vector coordinate 
)
id::AtomID core::conformation::named_atom_id_to_atom_id ( id::NamedAtomID const &  named_atom_id,
conformation::Residue const &  rsd 
)
id::StubID core::conformation::named_stub_id_to_stub_id ( id::NamedStubID const &  named_stub_id,
conformation::Residue const &  rsd 
)
std::ostream & core::conformation::operator<< ( std::ostream &  out,
Atom const &  atom 
)
std::ostream & core::conformation::operator<< ( std::ostream &  os,
Residue const &  res 
)
std::ostream & core::conformation::operator<< ( std::ostream &  os,
Conformation const &  conf 
)
void core::conformation::orient_residue_for_ideal_bond ( Residue &  moving_rsd,
chemical::ResidueConnection const &  moving_connection,
Residue const &  fixed_rsd,
chemical::ResidueConnection const &  fixed_connection,
Conformation const &  conformation,
bool  lookup_bond_length 
)
core::uint core::conformation::position_of_atom_on_ring ( Residue const &  residue,
core::uint  query_atom,
utility::vector1< core::uint > const &  ring_atoms 
)

What is the attachment position of the query atom on the given ring?

Parameters
<residue>The Residue containing the atoms in question.
<query_atom>The index of the atom in question.
Returns
The position on the ring as an integer. 0 means that the query atom is not attached to the ring.
Note
If a member of the ring is selected as a query atom, its lower numbered neighbor in the ring will be returned as its "attachment position".
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References core::conformation::Residue::get_adjacent_heavy_atoms().

Referenced by core::scoring::carbohydrates::get_CHI_energy_function_linkage_type_for_psi_for_residue_in_pose(), and is_atom_axial_or_equatorial_to_ring().

std::ostream& core::conformation::print_atom ( id::AtomID const &  id,
Conformation const &  conf,
std::ostream &  os 
)
void core::conformation::print_node ( std::ostream &  out,
int  residue_num,
int  atom_num,
core::Vector const &  atom_xyz,
core::chemical::ResidueType const &  res,
std::string const &  extras = "" 
)
void core::conformation::print_node ( std::ostream &  out,
int  residue_num,
int  atom_num,
core::conformation::Residue const &  res,
std::string const &  extras = "" 
)
void core::conformation::print_node ( std::ostream &  out,
int  residue_num,
std::string  atom_name,
core::conformation::Residue const &  res,
std::string const &  extras = "" 
)
void core::conformation::promote_sameresidue_child_of_jump_atom ( kinematics::Edge const &  edge,
conformation::ResidueCOPs const &  residues,
kinematics::AtomTree atom_tree 
)

Moves the first same-residue child of the jump atom corresponding to edge into first place in the child list.

if ( debug ) { BondID old_rsd_in; vector1< BondID > old_rsd_out; get_residue_connections( old_rsd, fold_tree, residues, old_rsd_in, old_rsd_out ); debug_assert( new_rsd_in.atom1 == old_rsd_in.atom1 && new_rsd_out.size() == old_rsd_out.size() ); for ( Size i=1; i<= new_rsd_out.size(); ++i ) { debug_assert( new_rsd_out[i].atom2 == old_rsd_out[i].atom2 ); } }

References get_anchor_and_root_atoms(), core::kinematics::Edge::is_jump(), core::kinematics::AtomTree::promote_sameresidue_nonjump_child(), core::kinematics::Edge::start(), and core::kinematics::Edge::stop().

Referenced by build_tree(), and replace_residue_in_atom_tree().

void core::conformation::promote_sameresidue_child_of_jump_atom ( kinematics::Edge const &  edge,
conformation::ResidueCOPs const &  residues,
kinematics::AtomPointer2D const &  atom_pointer 
)

Moves the first same-residue child of the jump atom corresponding to edge into first place in the child list.

References get_anchor_and_root_atoms(), core::kinematics::Edge::is_jump(), core::kinematics::Edge::start(), core::kinematics::Edge::stop(), and TR().

chemical::ResidueType const& core::conformation::reference_from_restype_ptr ( chemical::ResidueTypeCOP  rsd_type)

This function enforces the fact that ResidueTypes must be constructed with non-null-pointer ResidueTypeCOPs.

This must be a function as the initialization of the Residue's rsd_type_ reference must occur in the constructor.

ppo_torsion_bin core::conformation::remap_cis_omega_torsion_bins_to_trans ( ppo_torsion_bin  torbin)
void core::conformation::remove_lower_terminus_type_from_conformation_residue ( conformation::Conformation conformation,
Size const  seqpos 
)
void core::conformation::remove_upper_terminus_type_from_conformation_residue ( conformation::Conformation conformation,
Size const  seqpos 
)
void core::conformation::remove_variant_type_from_conformation_residue ( conformation::Conformation conformation,
chemical::VariantType const  variant_type,
Size const  seqpos 
)

Construct a non-variant of an existing conformation residue.

E.g., remove a terminus variant, and replace the original in pose.

Note
This copies any atoms in common between old and new residues, rebuilding the others.

References replace_conformation_residue_copying_existing_coordinates(), core::conformation::Conformation::residue(), and core::conformation::Conformation::residue_type_set_for_conf().

Referenced by remove_lower_terminus_type_from_conformation_residue(), and remove_upper_terminus_type_from_conformation_residue().

void core::conformation::replace_conformation_residue_copying_existing_coordinates ( conformation::Conformation conformation,
Size const  seqpos,
chemical::ResidueType const &  new_rsd_type 
)

helper function for residue replacement/residuetype switching

Note
Will call new_rsd->fill_missing_atoms if the new residue has atoms that the old one doesn't

References copy_residue_coordinates_and_rebuild_missing_atoms(), core::conformation::ResidueFactory::create_residue(), core::conformation::Conformation::replace_residue(), and core::conformation::Conformation::residue().

Referenced by add_variant_type_to_conformation_residue(), and remove_variant_type_from_conformation_residue().

void core::conformation::replace_residue_in_atom_tree ( conformation::Residue const &  new_rsd,
kinematics::FoldTree const &  fold_tree,
conformation::ResidueCOPs const &  residues,
kinematics::AtomTree atom_tree 
)

Helper function for conformation routines.

Helper function for conformation routines. Uses fold_tree to deduce the incoming/outgoing connections for the new residue and the old residue We want it to be the case that the tree we get after this call is the same one that we would have gotten by calling build_tree

References build_residue_tree(), get_residue_connections(), core::kinematics::FoldTree::get_residue_edge(), core::kinematics::Edge::is_jump(), core::kinematics::FoldTree::is_jump_point(), core::kinematics::FoldTree::is_root(), core::kinematics::Edge::keep_stub_in_residue(), promote_sameresidue_child_of_jump_atom(), core::kinematics::AtomTree::replace_residue_subtree(), and core::conformation::Residue::seqpos().

Referenced by insert_residue_into_atom_tree(), and core::conformation::Conformation::replace_residue().

void core::conformation::residue_point_graph_from_conformation ( Conformation const &  conformation,
PointGraph &  pg 
)
void core::conformation::set_chi_according_to_coordinates ( conformation::Residue &  rotamer)

rotamer chi-update from coords useful for building rotamers from coordinates

hokey "update chi from coordinates" useful for when the coordinates are known for a rotamer (specifically, a residue living outside of a conformation object); after the coordinates are set, the chis have to be updated – that won't happen automatically.

References core::conformation::Residue::chi(), core::conformation::Residue::chi_atoms(), core::conformation::Residue::is_protein(), core::conformation::Residue::nchi(), and core::conformation::Residue::xyz().

Referenced by core::pack::rotamers::SingleLigandRotamerLibrary::build_base_rotamers(), core::pack::rotamer_set::RotamerSet_::build_optimize_H_rotamers(), and protocols::motifs::load_build_position_data().

void core::conformation::setup_atom_links ( int const  atom1,
kinematics::Links const &  full_links,
utility::vector1< bool > &  is_done,
utility::vector1< bool > const &  is_mainchain,
utility::vector1< bool > const &  is_chi,
utility::vector1< bool > const &  is_hydrogen,
utility::vector1< utility::vector1< Size > > const &  chi_atoms,
kinematics::Links new_links 
)

set correct order for how atoms are linked to each other.

this function is called recursively.

  • atom1 is the root of links at the current level.
  • full_links store information about UNORDERED bonded neighbors for each atom in this residue.
  • is_done indicates which atoms have already been linked.
  • is_mainchain, is_chi, is_hydrogen and chi atoms are self explanatory
  • new_links store information about ORDERED bonded neighbors (links) for each atom in this residue.

References chi_continuation(), chi_interruption(), and protocols::sic_dock::scores::nbr.

Referenced by setup_links().

void core::conformation::setup_corresponding_atoms ( id::AtomID_Map< id::AtomID > &  atom_map,
conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2 
)
void core::conformation::setup_links ( conformation::Residue const &  rsd,
int const  root_atomno,
kinematics::Links links 
)
void core::conformation::setup_links_simple ( conformation::Residue const &  rsd,
kinematics::Links links 
)

simply fill the "links" by adding, for each atom, its bonded neighbors

References check_good_neighbor(), core::conformation::Residue::cut_bond_neighbor(), core::conformation::Residue::natoms(), and core::conformation::Residue::nbrs().

Referenced by setup_links().

void core::conformation::show_atom_tree ( kinematics::tree::Atom const &  atom,
Conformation const &  conf,
std::ostream &  os 
)
id::NamedStubID core::conformation::stub_id_to_named_stub_id ( id::StubID const &  stub_id,
conformation::Residue const &  rsd 
)
static basic::Tracer core::conformation::TR ( "core.conformation.Residue"  )
static

Referenced by core::conformation::carbohydrates::align_virtual_atoms_in_carbohydrate_residue(), core::conformation::Conformation::align_virtual_atoms_in_carbohydrate_residue(), core::conformation::Conformation::append_residue(), protocols::simple_moves::hbs::HbsPatcher::apply(), protocols::simple_moves::oop::OopMover::apply(), protocols::simple_moves::oop::OopPatcher::apply(), protocols::simple_moves::triazolamer::TriazolamerMover::apply(), protocols::simple_moves::a3b_hbs::A3BHbsPatcher::apply(), protocols::simple_moves::oop::OopRandomPuckMover::apply(), protocols::simple_moves::oop::OopRandomSmallMover::apply(), protocols::simple_moves::triazolamer::TriazolamerRandomSmallMover::apply(), protocols::simple_moves::chiral::ChiralMover::apply(), core::conformation::Residue::apply_transform_downstream(), atom_id_to_named_atom_id(), core::conformation::Conformation::branch_connection_torsion_angle_atoms(), build_tree(), change_cys_state(), core::conformation::Residue::connect_atom(), core::conformation::Residue::connection_distance(), core::conformation::Residue::copy_residue_connections(), copy_residue_coordinates_and_rebuild_missing_atoms(), core::conformation::membrane::SpanningTopology::create_from_spanfile(), core::conformation::membrane::SpanningTopology::create_from_structure(), core::conformation::Conformation::detect_bonds(), core::conformation::Conformation::detect_disulfides(), core::conformation::Conformation::detect_pseudobonds(), disulfide_bonds(), core::conformation::membrane::SpanningTopology::fill_from_spanfile(), core::conformation::membrane::SpanningTopology::fill_from_structure(), core::conformation::Conformation::fill_missing_atoms(), core::conformation::Residue::fill_missing_atoms(), core::conformation::carbohydrates::find_seqpos_of_saccharides_child_residue_at(), core::conformation::carbohydrates::find_seqpos_of_saccharides_parent_residue(), core::conformation::Residue::first_adjacent_heavy_atom(), core::conformation::Conformation::fix_disulfides(), core::conformation::Conformation::fold_tree(), form_disulfide(), protocols::residue_optimization::MetapatchEnumeration::generate_derived_types(), protocols::residue_optimization::MetapatchEnumeration::generate_metapatched_variants(), core::conformation::carbohydrates::get_branching_residues(), core::conformation::carbohydrates::get_carbohydrate_residues_and_tips_of_branch(), protocols::simple_moves::chiral::get_chiral_residue_type(), get_disulf_partner(), core::conformation::carbohydrates::get_downstream_residue_that_this_torsion_moves(), core::conformation::carbohydrates::get_glycosidic_bond_residues(), core::conformation::carbohydrates::get_glycosidic_torsion(), core::conformation::carbohydrates::get_linkage_position_of_saccharide_residue(), core::conformation::carbohydrates::GlycanTree::get_node(), core::conformation::carbohydrates::GlycanTreeSet::get_node(), core::conformation::carbohydrates::get_non_NU_TorsionID_from_AtomIDs(), core::conformation::carbohydrates::get_reference_atoms_for_1st_omega(), core::conformation::carbohydrates::get_reference_atoms_for_2nd_omega(), core::conformation::carbohydrates::get_reference_atoms_for_phi(), core::conformation::carbohydrates::get_reference_atoms_for_psi(), core::conformation::Conformation::get_torsion_angle_atom_ids(), core::conformation::carbohydrates::GlycanTreeSet::get_tree(), core::conformation::carbohydrates::has_exocyclic_glycosidic_linkage(), insert_ideal_bonds_at_polymer_junction(), core::conformation::Residue::inter_residue_connection_partner(), inv_virtual_type_for_conf(), is_atom_axial_or_equatorial(), is_atom_axial_or_equatorial_to_ring(), is_ideal_position(), core::conformation::membrane::Span::is_valid(), core::conformation::membrane::SpanningTopology::is_valid(), missing_stubs_build(), core::conformation::Conformation::modifiable_residue_type_set_for_conf(), protocols::ncbb::ncbb_design_main_loop(), core::conformation::carbohydrates::GlycanTreeSet::on_length_change(), core::conformation::Residue::orient_onto_residue(), orient_residue_for_ideal_bond(), promote_sameresidue_child_of_jump_atom(), core::conformation::Conformation::reset_residue_type_set_for_conf(), core::conformation::Residue::Residue(), core::conformation::Conformation::residue_type_set_for_conf(), core::conformation::Conformation::residue_typeset_mode(), core::conformation::Conformation::residues_append(), core::conformation::membrane::MembraneInfo::set_membrane_jump(), core::conformation::Conformation::set_torsion(), core::conformation::Conformation::set_torsion_angle(), core::conformation::carbohydrates::GlycanTreeSet::setup_glycan_trees(), core::conformation::Conformation::setup_glycan_trees(), setup_links(), core::conformation::membrane::Span::show(), core::conformation::membrane::SpanningTopology::show(), core::conformation::Conformation::show_residue_connections(), protocols::residue_optimization::MetapatchEnumeration::tabooed(), core::conformation::Conformation::torsion_angle(), core::conformation::Residue::update_connections_to_other_residue(), core::conformation::Conformation::update_noncanonical_connection(), virtual_type_for_conf(), and core::conformation::membrane::SpanningTopology::write_spanfile().

void core::conformation::update_cutpoint_virtual_atoms_if_connected ( core::conformation::Conformation conf,
core::Size const  cutpoint_res,
bool  recurse 
)

Given a conformation and a position that may or may not be CUTPOINT_UPPER or CUTPOINT_LOWER, determine whether this position has either of these variant types, and if it does, determine whether it's connected to anything. If it is, update the C-OVL1-OVL2 bond lengths and bond angle (for CUTPOINT_LOWER) or OVU1-N bond length (for CUTPOINT_UPPER) to match any potentially non-ideal geometry in the residue to which it's bonded.

Requires a little bit of special-casing for gamma-amino acids. Throws an exception if the residue to which a CUTPOINT_LOWER is bonded does not have an "N" and a "CA" or "C4". Safe to call repeatedly, or if cutpoint variant types are absent; in these cases, the function does nothing.

Note
By default, this function calls itself again once on residues to which this residue is connected, to update their geometry. Set recurse=false to disable this.
Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

References core::chemical::ICoorAtomID::atomno(), check_good_cutpoint_neighbour(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, protocols::mpi_refinement::distance(), core::chemical::AtomICoor::phi(), core::conformation::Conformation::residue(), core::conformation::Conformation::set_xyz(), core::chemical::AtomICoor::stub_atom1(), core::chemical::AtomICoor::stub_atom2(), core::chemical::AtomICoor::stub_atom3(), and core::conformation::Conformation::update_actcoord().

Referenced by core::conformation::Conformation::declare_chemical_bond(), and core::pose::update_cutpoint_virtual_atoms_if_connected().

bool core::conformation::upper_is_symm_equivalent_of_lower ( core::conformation::Conformation const &  conformation,
core::Size const  lower_res,
core::Size const  upper_res 
)

Another helper function for the form_disulfide function.

Returns true if and only if the conformation is symmetric and upper_res is a symmetric copy of lower_res.

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

References core::conformation::Conformation::get_self_ptr().

Referenced by form_disulfide().

chemical::ResidueTypeCOP core::conformation::virtual_type_for_conf ( core::conformation::Conformation const &  conformation)

Return the appropritate ResidueType for the virtual residue for the "mode" (fullatom, centroid ...) the conformation is in.

When at all possible, use core::pose::virtual_type_for_pose() instead, as that can use more pose-specific residue type information, if any.

References core::chemical::FULL_ATOM_t, core::chemical::MIXED_t, core::conformation::Conformation::residue_type_set_for_conf(), core::conformation::Conformation::residue_typeset_mode(), and TR().

Referenced by protocols::environment::EnvClaimBroker::add_virtual_residues(), core::conformation::symmetry::SymmetricConformation::recalculate_transforms(), and core::conformation::symmetry::setup_symmetric_conformation().

void core::conformation::write_kinemage_header ( std::ostream &  ostr,
Size const  kin_number,
std::string const &  title,
Vector const &  ctr 
)