Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
core::chemical::MutableResidueType Class Reference

A class for defining a type of residue, modifiable version. More...

#include <MutableResidueType.hh>

Inheritance diagram for core::chemical::MutableResidueType:
Inheritance graph
[legend]

Public Member Functions

 MutableResidueType (AtomTypeSetCOP atom_types, ElementSetCOP element_types, MMAtomTypeSetCOP mm_atom_types, orbitals::OrbitalTypeSetCOP orbital_types)
 constructor More...
 
 MutableResidueType (MutableResidueType const &residue_type)
 Make a copy of a MutableResidueType. More...
 
 MutableResidueType (ResidueType const &residue_type)
 Make a modifiable residue type from a standard one. More...
 
MutableResidueTypeOP clone () const
 make a copy More...
 
MutableResidueTypeOP placeholder_clone () const
 make a copy More...
 
 MutableResidueType (MutableResidueType &&residue_type)=default
 Move constructor, for rule of 5. More...
 
 ~MutableResidueType () override
 destructor, for rule of 5 More...
 
MutableResidueTypeoperator= (MutableResidueType const &src)
 Copies <src> into the MutableResidueType. More...
 
MutableResidueTypeoperator= (MutableResidueType &&)=default
 Move assignment, for rule of 5. More...
 
Size natoms () const override
 number of atoms Note: Don't use this to iterate over atoms – use the vector returned by all_atoms() instead. More...
 
Size nheavyatoms () const override
 number of heavy atoms More...
 
Size nbonds () const override
 number of bonds More...
 
Size nbonds (VD atom) const
 number of bonds for given atom More...
 
Size n_virtual_atoms () const override
 Counts the number of virtual atoms and returns the count. More...
 
ResidueGraph const & graph () const
 Constant access to the underlying graph. More...
 
VIterPair atom_iterators () const
 
EIterPair bond_iterators () const
 
OutEdgeIterPair bond_iterators (VD const &atom) const
 
utility::vector1< VD > const & all_atoms () const
 Convenience function for iterating over all the atoms e.g. for ( VA atm: restype->all_atoms() ) { More...
 
Atomatom (VD const atom_vd)
 
Atom const & atom (VD const atom_vd) const
 
Atomatom (std::string const &atom_name)
 
Atom const & atom (std::string const &atom_name) const
 
bool has (std::string const &atom_name) const override
 is this atom present in this residue? More...
 
bool has (VD const vd) const
 is this vertex descriptor present in this residue? More...
 
std::string const & atom_name (VD const vd) const
 get atom name by vertex descriptor IMPORTANT NOTE: Atoms don't necessarily have names! More...
 
VD atom_vertex (std::string const &name) const
 get the vertex descriptor from the name of the atom. More...
 
Size atom_index (VD const &vd) const
 Get an integer value for the atom (the index for all_atoms()) More...
 
AtomType const & atom_type (VD const vd) const
 Get the chemical atom_type for this atom. More...
 
Bondbond (ED const ed)
 
Bond const & bond (ED const ed) const
 
Bondbond (VD vd1, VD vd2)
 
Bond const & bond (VD vd1, VD vd2) const
 
Bondbond (std::string const &atom1, std::string const &atom2)
 
Bond const & bond (std::string const &atom1, std::string const &atom2) const
 
bool atoms_are_bonded (std::string const &atom1, std::string const &atom2) const
 
AdjacentIterPair bonded_neighbor_iterators (VD const &atom) const
 
utility::vector1< VDbonded_neighbors (VD const &atom) const
 Get the atoms bonded to the specified atom. More...
 
Size number_bonded_hydrogens (VD atomvd) const
 indicates how many proton bonded neighbors an atom has More...
 
utility::vector1< VDbonded_hydrogens (VD const &atom) const
 Get the atoms bonded to the specified atom, if they're annotated as hydrogens. More...
 
Size number_bonded_heavyatoms (VD atomvd) const
 indicates how many heavyatom bonded neighbors an atom has, graph version More...
 
utility::vector1< VDbonded_heavyatoms (VD const &atom) const
 Get the atoms bonded to the specified atom, if they're annotated as heavyatoms. More...
 
Size nchi () const
 number of chi angles More...
 
Size n_proton_chi () const
 number of proton chis More...
 
bool is_proton_chi (Size const chino) const
 number of proton chis More...
 
bool chi_valid (Size const chino) const
 Will return if the chi is currently valid. More...
 
Size n_nus () const
 Return number of nu (internal ring) angles. More...
 
Size n_rings () const
 Return the number of rings in this residue. More...
 
VDs const & chi_atom_vds (Size const chino) const
 VDs of the atoms which are used to define a given chi angle (chino) More...
 
utility::vector1< Real > const & proton_chi_samples_for_chi (Size chino) const
 The proton chi samples Important - this takes the full chi numbering (not proton chi numbering) More...
 
utility::vector1< Real > const & proton_chi_extra_samples_for_chi (Size chino) const
 The proton chi extra samples Important - this takes the full chi numbering (not proton chi numbering) More...
 
utility::vector1< std::pair
< Real, Real > > const & 
chi_rotamers (Size const chino) const
 all rotamers bins (mean, std) for a given chi angle More...
 
utility::vector1< VD > const & nu_atoms (core::uint const nu_index) const
 
utility::vector1< VD > const & ring_atoms (core::uint const ring_num) const
 
core::chemical::rings::RingSaturationType ring_saturation_type (uint const ring_num) const
 Return the saturation level of this residue's nth cycle. More...
 
utility::vector1< std::string >
const & 
low_ring_conformers (core::uint const ring_num) const
 Low-energy ring conformers for the given ring. More...
 
std::string const & lowest_ring_conformer (core::uint const ring_num) const
 Lowest-energy ring conformer for the given ring. More...
 
Size n_possible_residue_connections () const
 number of ResidueConnections, counting polymeric residue connections More...
 
MutableResidueConnection const & residue_connection (Size const i) const
 Get a ResidueConection. More...
 
MutableResidueConnectionresidue_connection (Size const i)
 Get a ResidueConection. More...
 
VD residue_connect_atom (Size const resconn_id) const
 
Size n_residue_connections_for_atom (VD const atomid) const
 
Size add_residue_connection (std::string const &atom_name)
 add a non-polymeric ResidueConnection More...
 
void delete_residue_connection (VD atm)
 Remove all connections (both polymeric and otherwise) for an atom. More...
 
Size n_polymeric_residue_connections () const
 The number of polymeric residue connections. More...
 
bool residue_connection_is_polymeric (Size const resconn_id) const
 
MutableResidueConnection const & lower_connect () const
 
Size lower_connect_id () const
 
VD lower_connect_atom () const
 index number of the atom which connects to the lower connection More...
 
void set_lower_connect_atom (std::string const &atm_name)
 set the atom which connects to the lower connection More...
 
MutableResidueConnection const & upper_connect () const
 
Size upper_connect_id () const
 
VD upper_connect_atom () const
 index number of the atom which connects to the upper connection More...
 
void set_upper_connect_atom (std::string const &atm_name)
 set the atom which connects to the upper connection More...
 
void add_metapatch_connect (std::string const &atom)
 
void nbr_atom (std::string const &atom_name)
 set nbr_atom used to define residue-level neighbors More...
 
void nbr_atom (VD vertex)
 set nbr_atom used to define residue-level neighbors More...
 
VD nbr_vertex () const
 get VD used to define residue-level neighbors More...
 
void nbr_radius (Real const radius)
 set nbr_radius_ used to define residue-level neighbors More...
 
Real nbr_radius () const
 get nbr_radius_ used to define residue-level neighbors More...
 
void set_backbone_heavyatom (std::string const &name)
 set an atom as backbone heavy atom More...
 
bool is_backbone_heavyatom (VD atom) const
 
utility::vector1< VD > const & mainchain_atoms () const
 indices of all mainchain atoms More...
 
void set_mainchain_atoms (utility::vector1< VD > const &mainchain)
 set indices of all mainchain atoms TODO Should we make sure that mainchain atoms are also backbones? More...
 
utility::vector1< VDactcoord_atoms () const
 get descriptors for atoms used to define actcoord More...
 
void add_actcoord_atom (std::string const &atom)
 add an atom to the list for calculating actcoord center More...
 
void delete_actcoord_atom (std::string const &atom_name)
 Remove an atom from the list of act coord atoms (used in patching when it kills the valence that is thus used) More...
 
void add_atom_alias (std::string const &rosetta_atom, std::string const &alias)
 Add an alias name for an atom. More...
 
void add_canonical_atom_alias (std::string const &rosetta_atom, std::string const &alias)
 store canonical to alias mapping More...
 
void delete_atom_alias (std::string const &alias, bool error=true)
 Remove a given alias name for an atom. More...
 
void set_shadowing_atom (std::string const &atom, std::string const &atom_being_shadowed)
 
std::map< VD, VD > const & shadow_atoms () const
 
void add_metalbinding_atom (std::string const &atom_name)
 Add an atom to the list of atoms that can potentially form a bond to a metal ion. Note that the atom must exist in the residue type (the function checks for this at runtime). More...
 
void delete_metalbinding_atom (std::string const &atom_name)
 Remove an atom from the list of atoms that can potentially form a bond to a metal ion (used in patching when it kills the valence that is thus used) More...
 
bool is_base_type () const override
 Is this ResidueType a base type? More...
 
ResidueTypeCOP get_base_type_cop () const override
 Get a pointer to this ResidueType's base ResidueType. More...
 
void reset_base_type_cop ()
 Reset the base type COP to be null. This implies that this ResidueTypeBase is a base type. More...
 
void set_base_type_cop (ResidueTypeCOP new_base_type)
 Set the base type COP. This implies that this ResidueTypeBase is NOT a base type. More...
 
VD add_atom (std::string const &atom_name, std::string const &atom_type_name, std::string const &mm_atom_type_name, Real const charge)
 add an atom into this residue Will return the vertex descriptor of the added atom. More...
 
VD add_atom (std::string const &atom_name="")
 add an atom into this residue, with just the name. Will return the vertex descriptor of the added atom. More...
 
VD add_atom (Atom const &atom, MutableICoorRecord const &icoor)
 
void delete_atom (std::string const &name)
 Remove the atom from the ResidueType. More...
 
void delete_atom (VD atom)
 Remove the atom from the ResidueType. More...
 
void rename_atom (VD atom, std::string const &name)
 Rename the atom, updating the ResidueType-internal data mapping. More...
 
void set_atom_type (std::string const &name, std::string const &atom_type_name)
 set atom type More...
 
void set_atom_type (VD atom, std::string const &atom_type_name)
 
void set_gasteiger_atom_type (std::string const &atom_name, std::string const &gasteiger_atom_type_name)
 set gasteiger atom type More...
 
void set_gasteiger_atom_type (VD atom, std::string const &gasteiger_atom_type_name)
 set gasteiger atom type More...
 
void delete_child_proton (std::string const &atom)
 
void add_bond (std::string const &atom_name1, std::string const &atom_name2, BondName bondLabel=SingleBond)
 add a bond between atom1 and atom2, specifying a bond type (SingleBond, DoubleBond, TripleBond, AromaticBond) More...
 
void add_bond (VD atom1, VD atom2, BondName bondLabel=SingleBond)
 add a bond between atom1 and atom2, specifying a bond type (SingleBond, DoubleBond, TripleBond, AromaticBond) More...
 
void delete_bond (VD atom1, VD atom2)
 Delete a bond between the two atoms. More...
 
void change_bond_type (std::string const &atom_name1, std::string const &atom_name2, BondName const new_bond_label)
 Change the bond type of the given bond from one type to another. More...
 
void add_cut_bond (std::string const &atom_name1, std::string const &atom_name2)
 add a bond between atom1 and atom2, if bond type is not specified, default to a SingleBond More...
 
void reset_bond_distance_to_atom (std::string const &atm, core::Distance const d)
 Reset the bond distance to an atom whose internal coordinates have already been set. More...
 
VD root_atom () const
 get root_atom used as the base of the icoor tree. More...
 
MutableICoorRecordCOP icoor (VD const atm) const
 MutableICoorRecord of an atom. More...
 
void set_icoor (std::string const &atm, Real const phi, Real const theta, Real const d, std::string const &stub_atom1, std::string const &stub_atom2, std::string const &stub_atom3, bool const update_xyz=false)
 set MutableICoorRecord for an atom More...
 
void set_icoor (VD const &atm, Real const phi, Real const theta, Real const d, VD const &stub_atom1, VD const &stub_atom2, VD const &stub_atom3, bool const update_xyz=false)
 set MutableICoorRecord for an atom, vertex descriptor version More...
 
void set_icoor (VD const &atm, Real const phi, Real const theta, Real const d, std::string const &stub_atom1, std::string const &stub_atom2, std::string const &stub_atom3, bool const update_xyz=false)
 set MutableICoorRecord for an atom, vertex descriptor version More...
 
void clear_icoor ()
 
VD atom_base (VD const atm) const
 The atom base is the distance atom the atom is bonded to. If the specified atom doesn't have valid ICOOR record yet, this function will return a null vertex. More...
 
void set_ideal_xyz (std::string const &atm, Vector const &xyz_in)
 
void set_ideal_xyz (VD atm, Vector const &xyz_in)
 
void add_chi (Size const chino, VD atom1, VD atom2, VD atom3, VD atom4)
 Add a chi (side-chain) angle defined by four atoms. More...
 
void add_chi (VD atom1, VD atom2, VD atom3, VD atom4)
 Add a chi (side-chain) angle defined by four atoms. More...
 
void add_chi (Size const chino, std::string const &atom_name1, std::string const &atom_name2, std::string const &atom_name3, std::string const &atom_name4)
 Add a chi (side-chain) angle defined by four atoms. More...
 
void add_chi (std::string const &atom_name1, std::string const &atom_name2, std::string const &atom_name3, std::string const &atom_name4)
 Add a chi (side-chain) angle defined by four atoms to the end of the list of chis. More...
 
void redefine_chi (Size const chino, std::string const &atom_name1, std::string const &atom_name2, std::string const &atom_name3, std::string const &atom_name4)
 redefine a chi angle based on four atoms More...
 
void set_proton_chi (Size chino, utility::vector1< Real > const &dihedral_samples, utility::vector1< Real > const &extra_samples)
 Annotate a given chi as a proton chi, and set the sampling behavior If the chi is already listed as a proton chi, change the sampling behavior. More...
 
void add_chi_rotamer (Size const chino, Real const mean, Real const sdev)
 Add a rotamer bin for a given chi. More...
 
void add_chi_rotamer_to_last_chi (core::Angle const mean, core::Angle const sdev)
 Adds a chi rotamer bin to the highest-indexed chi in the list of chis for this MutableResidueType. More...
 
void clear_chi_rotamers (core::uint const chi_no)
 Delete all of the chi rotamer bins from the specified chi for this MutableResidueType. More...
 
void delete_terminal_chi ()
 delete terminal chi angle More...
 
void delete_chi (Size const chino)
 Deletes a given chi, potentially renumbering the remaining chis. More...
 
void add_nu (core::uint const nu_index, std::string const &atom_name1, std::string const &atom_name2, std::string const &atom_name3, std::string const &atom_name4)
 Add a nu (internal cyclic) angle defined by four atoms. More...
 
void delete_nu (core::uint const nu_index)
 Deletes a given nu, potentially renumbering the remaining nus. More...
 
void add_ring (core::uint const ring_num, utility::vector1< std::string > const &ring_atoms, core::chemical::rings::RingSaturationType const saturation_type=core::chemical::rings::ALIPHATIC)
 Add a ring definition. More...
 
void set_lowest_energy_ring_conformer (core::uint const ring_num, std::string const &conformer)
 Set this cyclic residue's lowest-energy ring conformer for the nth ring by IUPAC name. More...
 
void set_low_energy_ring_conformers (core::uint const ring_num, utility::vector1< std::string > const &conformers)
 Set this cyclic residue's low-energy ring conformers for the nth ring by IUPAC name. More...
 
void delete_ring (core::uint const ring_num)
 Deletes a given ring, potentially renumbering the remaining ring. More...
 
void clear_orbitals ()
 clear orbitals More...
 
void add_orbital (std::string &orbital_name, std::string &orbital_type_name)
 add an orbital onto a residue based upon atom More...
 
void add_orbital_bond (std::string const &atom_name1, std::string const &orbital_name)
 add an orbital bond between an atom and an orbital. More...
 
void set_orbital_icoor_id (std::string const &orbital, Real const phi, Real const theta, Real const d, std::string const &stub_atom1, std::string const &stub_atom2, std::string const &stub_atom3)
 set OrbitalICoor for an orbital More...
 
void show (std::ostream &output=std::cout, bool output_atomic_details=false) const override
 Generate string representation of MutableResidueType for debugging purposes. More...
 
void dump_vd_info () const
 
void show_all_atom_names (std::ostream &out) const override
 
void assign_neighbor_atom ()
 Figure out what the "center" atom of the residue is from current coordinates. More...
 
void assign_internal_coordinates ()
 Assign internal coordinates from the set ideal xyz coordinates. Note that it currently does not obey mainchain designations or cut bonds. More...
 
void assign_internal_coordinates (core::chemical::VD new_root)
 Function to assign internal coordinates from bonding patterns Note that it currently does not work well with polymers. More...
 
void fill_ideal_xyz_from_icoor ()
 Assign ideal_xyz coordinates from icoor records. More...
 
void autodetermine_chi_bonds (core::Size max_proton_chi_samples=500)
 Regenerate the rotatable chi bonds from the internal graph structure. If the number of proton chi samples would exceed max_proton_chi_samples, don't add extra sampling to proton chis. As a special case, if this is zero don't add any proton chi sampling at all. More...
 
bool validate_residue_type () const
 Run checks on this MutableResidueType, checking to make sure it's okay. Return true on success and false on failure (Intended usage is within something like a debug_assert()) More...
 
std::map< std::string, VD > const & get_atom_name_to_vd_map () const
 Get access to the atom_name-to-vd map. Provided only for MutableResidueType->ResidueType conversion. More...
 
void update_atom_type_set (AtomTypeSetCOP setting)
 Change which atom type set this MutableResidueType points to WARNING - While this tries to switch over the atom types, it will null out any that don't have exact name correspondences. You NEED to go through and manually reset the types on all atoms. Exposed for black-magic use only. More...
 
- Public Member Functions inherited from core::chemical::ResidueTypeBase
TypeSetMode mode () const
 
AtomTypeSet const & atom_type_set () const
 access by reference the atomset for which this residue is constructed More...
 
AtomTypeSetCOP atom_type_set_ptr () const
 access by const pointer the atomset for which this residue is constructed More...
 
ElementSet const & element_set () const
 access by reference the element set for which this residue is constructed More...
 
ElementSetCOP element_set_ptr () const
 access by const pointer the element set for which this residue is constructed More...
 
MMAtomTypeSetCOP mm_atom_types_ptr () const
 
gasteiger::GasteigerAtomTypeSetCOP gasteiger_atom_typeset () const
 
void set_gasteiger_atom_typeset (gasteiger::GasteigerAtomTypeSetCOP setting)
 
orbitals::OrbitalTypeSetCOP orbital_types_ptr () const
 Get the MM atom_type for this atom by its index number in this residue. More...
 
void set_orbital_typeset (orbitals::OrbitalTypeSetCOP setting)
 
bool has_orbital_types () const
 Does this residue type define orbital types? More...
 
signed long int net_formal_charge () const
 Get the nominal net formal charge on this residue type. More...
 
void net_formal_charge (signed long int charge_in)
 Set the nominal net formal charge on this residue type. More...
 
utility::vector1< std::string >
const & 
get_metal_binding_atoms () const
 
std::string const & get_disulfide_atom_name () const
 Gets disulfide atom name. More...
 
void set_disulfide_atom_name (std::string const &n)
 Sets disulfide atom name. More...
 
std::map< std::string,
std::string > const & 
atom_aliases () const
 returns atom aliases More...
 
std::string const & atom_alias (std::string const &name) const
 returns atom alias More...
 
std::map< std::string,
std::string > const & 
canonical_atom_aliases () const
 returns atom aliases More...
 
std::string const & canonical_atom_alias (std::string const &name) const
 returns atom alias More...
 
Orbital const & orbital (Size const orbital_index) const
 
Orbital const & orbital (std::string const &orbital_name) const
 
orbitals::OrbitalType const & orbital_type (Size const orbital_index) const
 
Size n_orbitals () const
 number of orbitals More...
 
bool has_orbital (std::string const &orbital_name) const
 is this orbital present in this residue? More...
 
core::Size orbital_index (std::string const &name) const
 get orbital index by name More...
 
ResidueProperties const & properties () const
 Access the collection of properties for this ResidueTypeBase. More...
 
void set_properties (ResiduePropertiesOP properties)
 Set the collection of properties for this ResidueTypeBase. More...
 
void add_property (std::string const &property)
 Add a property to this ResidueTypeBase. More...
 
void add_property (core::chemical::ResidueProperty const property)
 Add a property to this ResidueType, by properties enum. More...
 
void set_adduct_flag (bool adduct_in)
 
void add_numeric_property (std::string const &tag, core::Real value)
 Add a numeric property. More...
 
void add_string_property (std::string const &tag, std::string value)
 Add a string property. More...
 
void delete_property (std::string const &property)
 Delete a property of this ResidueType. More...
 
void delete_property (core::chemical::ResidueProperty const property)
 Delete a property of this ResidueType, by properties enum. More...
 
void set_metapatched ()
 Set that this is a metapatched ResidueType. More...
 
bool is_metapatched () const
 Get whether this is a metapatched ResidueType. More...
 
bool is_polymer () const
 is polymer? More...
 
bool is_protein () const
 is protein? More...
 
bool is_DNA () const
 is DNA? More...
 
bool is_RNA () const
 is RNA? More...
 
bool is_d_aa () const
 is this a d-amino acid? More...
 
bool is_l_aa () const
 is this an l-amino acid? More...
 
bool is_d_rna () const
 is this a d-RNA? More...
 
bool is_l_rna () const
 is this an l-RNA? More...
 
bool is_peptoid () const
 is peptoid? More...
 
bool is_r_peptoid () const
 Is this a peptoid with a chiral side-chain with "R" chirality? More...
 
bool is_s_peptoid () const
 Is this a peptoid with a chiral side-chain with "S" chirality? More...
 
bool is_achiral_backbone () const
 is this an achiral backbone? More...
 
bool is_achiral_sidechain () const
 Does this have an achiral sidechain? More...
 
bool has_property (std::string const &property) const
 Generic property access. More...
 
bool has_property (ResidueProperty const property) const
 Generic property access, by ResidueProperty. More...
 
core::Real get_numeric_property (std::string const &tag) const
 Get a numeric property, if it exists. More...
 
std::string get_string_property (std::string const &tag) const
 Get a string property, if it exists. More...
 
void add_variant_type (VariantType const variant_type)
 Add a variant type to this ResidueTypeBase. More...
 
void add_variant_type (std::string const &variant_type)
 Add a variant type to this ResidueTypeBase by string. More...
 
void remove_variant_type (VariantType const variant_type)
 Remove a variant type to this ResidueTypeBase. More...
 
void remove_variant_type (std::string const &variant_type)
 Remove a variant type to this ResidueTypeBase by string. More...
 
bool has_variant_type (VariantType const variant_type) const
 Generic variant access. More...
 
bool has_variant_type (std::string const &variant_type) const
 Generic variant access by string. More...
 
void enable_custom_variant_types ()
 Turn on the ability to create VariantTypes "on-the-fly". More...
 
utility::vector1< std::string > variant_types () const
 get all the variant types for this ResidueTypeBase More...
 
utility::vector1< VariantTypevariant_type_enums () const
 Get a vector of VariantType enums for this ResidueTypeBase. More...
 
utility::vector1< std::string >
const & 
custom_variant_types () const
 Get a list of custom VariantType strings for this ResidueTypeBase (by const reference). More...
 
void aa (AA const &type)
 set our aa-type (could be "UNK") More...
 
void aa (std::string const &type)
 set our aa-type (could be "UNK") More...
 
void backbone_aa (std::string const &type)
 AA to use for backbone scoring. More...
 
void backbone_aa (core::chemical::AA const type)
 Set AA to use for backbone scoring directly (without string conversion). More...
 
void base_analogue (std::string const &type)
 NA to use for base-specific generalization (can be more forgiving than na_analogue for new NA backbones) More...
 
void na_analogue (std::string const &type)
 NA to use for fragment sampling and some scoring purposes. More...
 
std::string const & base_name () const
 Get this ResidueTypeBase's base name (shared with other residue types with the same base type). More...
 
std::string const & name () const
 get our (unique) residue name More...
 
void base_name (std::string const &base_name_in)
 Set this ResidueTypeBase's base name (shared with other residue types with the same base type). More...
 
void name (std::string const &name_in)
 set our (unique) residue name More...
 
std::string const & name3 () const
 get our 3letter code. This is set in the ResidueTypeBase .params file through the IO_STRING tag along with the name1 string NOTE: The "name3" is not necessarily three characters long. e.g. Metal ions may be only two characters. More...
 
void name3 (std::string const &name_in)
 set our 3letter code More...
 
char name1 () const
 get our 1letter code. This is set in the ResidueTypeBase .params file through the IO_STRING tag along with the name3 string. More...
 
void name1 (char const code)
 set our 1letter code More...
 
std::string interchangeability_group () const
 get our interchangeability-group id. Used to determine if two residue types are equivalent, except for their variant status. E.g. ResidueTypeBases ALA and ALA_Nterm would be part of the same interchangeability group. This has a degree of subjectivity; are TYR and pTYR in the same interchangeability group? Probably not. This data can be specified in the ResidueTypeBases .params file with the INTERCHANGEABILITY_GROUP tag. More...
 
void interchangeability_group (std::string const &setting)
 set our interchangeability-group id More...
 
void remap_pdb_atom_names (bool rename)
 Turn on geometry-based atom renaming when loading this residue type from PDB files. More...
 
bool remap_pdb_atom_names () const
 Are we using geometry-based atom renaming when loading this residue type from PDB. More...
 
AA const & aa () const
 our traditional residue type, if any More...
 
AA const & backbone_aa () const
 Returns the amino acid type to be used for backbone scoring (rama and p_aa_pp). More...
 
AA const & base_analogue () const
 Returns the nucleic acid type to be used for base features. More...
 
AA const & na_analogue () const
 Returns the nucleic acid type to be used for fragment sampling/scoring. More...
 
void rotamer_library_specification (rotamers::RotamerLibrarySpecificationOP)
 
rotamers::RotamerLibrarySpecificationCOP rotamer_library_specification () const
 
rotamers::RotamerLibrarySpecificationOP rotamer_library_specification_nonconst ()
 Nonconst access to the RotamerLibrarySpecification. More...
 
void strip_rotamer_library_specification ()
 Remove any rotamer library specifications attached to this ResidueTypeBase. More...
 
bool force_nbr_atom_orient () const
 dihedral methods More...
 
void force_nbr_atom_orient (bool force_orient)
 Set force_nbr_atom_orient_, used to control orient atoms selected by select_orient_atoms. More...
 
std::string const & get_rama_prepro_mainchain_torsion_potential_name (bool const pre_proline_position) const
 Get the key name for the mainchain torsion potential used by the RamaPrePro score term. More...
 
bool mainchain_potentials_match (ResidueTypeBase const &other) const
 Do the rama_prepro mainchain torsion potentials of this residue match another? More...
 
void set_rama_prepro_mainchain_torsion_potential_name (std::string const &name_in, bool const pre_proline_position)
 Set the key name for the mainchain torsion potential used by the RamaPrePro score term. More...
 
std::string const & get_rama_prepro_map_file_name (bool const pre_proline_position) const
 Get the file name for the mainchain torsion potential used by the RamaPrePro score term. More...
 
void set_rama_prepro_map_file_name (std::string const &filename_in, bool const pre_proline_position)
 Set the file name for the mainchain torsion potential used by the RamaPrePro score term. More...
 
bool defines_custom_rama_prepro_map (bool const pre_proline_position) const
 Returns true if and only if (a) this is not a base type, AND (b) there is a rama_prepro_mainchain_torsion_map_file_name_ defined for this ResidueTypeBase (which is presumably different from that of the base type). More...
 
void reset_mainchain_torsion_potential_names ()
 Set the names of the mainchain torsion potential maps to use to "". More...
 
utility::vector1< Adduct > const & defined_adducts () const
 get the adducts defined for this residue More...
 
void add_adduct (Adduct &adduct_in)
 
void report_adducts () const
 

Static Public Attributes

static VD const null_vertex = boost::graph_traits<ResidueGraph>::null_vertex()
 

Private Member Functions

 MutableResidueType ()
 
void update_icoors_after_connection_deletion (core::Size const conn_id_deleted)
 After deleting a connection, update the icoors of any atoms dependent on HIGHER-numbered connections. More...
 
void copy_atom_info (ResidueType const &source)
 Copy over the atom information from the ResidueType. Used for the conversion constructor. More...
 
void copy_other_info (ResidueType const &source)
 Fill in various other information which is being copied over from the ResidueType Used for the conversion constructor. More...
 

Private Attributes

ResidueGraph graph_
 The Atoms and Bonds of the MutableResidueType, stored as Nodes and Edges. More...
 
std::map< std::string, VDatom_name_to_vd_
 atom index lookup by atom name string More...
 
VDs ordered_atoms_
 The atoms in order. This is primarily to keep track of the order which that atoms have been added, for consistency. Unlike the main ResidueType class, there is no guarantees regarding property ordering of atoms. More...
 
ResidueTypeCOP base_type_cop_
 Const-access owning pointer to the base residue type. More...
 
VD root_atom_ = MutableResidueType::null_vertex
 
VD nbr_atom_ = MutableResidueType::null_vertex
 atom used for calculating residue-level neighbors More...
 
Real nbr_radius_ = 0
 radius cutoff to define neighbors More...
 
std::map< VD, VDatom_shadowed_
 Data to describe virtual atoms that should shadow other atoms for the sake of keeping intraresidue cycles closed when working with an atom tree, e.g. NV shadows N on proline. For each atom, the following vector lists the index of the atom it is shadowing. More...
 
utility::vector1< VDmainchain_atoms_
 Verticies of all mainchain atoms. More...
 
utility::vector1
< MutableChiRecordOP
chis_
 
utility::vector1
< utility::vector1< VD > > 
nu_atoms_
 VDs of four atoms to build each nu angle. More...
 
utility::vector1
< utility::vector1< VD > > 
ring_atoms_
 VDs of all ring atoms, not counting virtual atoms. More...
 
utility::vector1
< core::chemical::rings::RingSaturationType
ring_saturation_types_
 The saturation type of each ring in this residue. More...
 
utility::vector1
< utility::vector1
< std::string > > 
low_ring_conformers_
 Low-energy ring conformers for each ring. More...
 
utility::vector1< std::string > lowest_ring_conformer_
 Lowest-energy ring conformer for each ring. More...
 
utility::vector1
< MutableResidueConnection
residue_connections_
 Vector of inter-residue connections expected for this residuetype NOW includes the polymer connections, as well as disulf-type connections. More...
 
Size lower_connect_id_ = 0
 Polymer lower connections Updated in set_lower_connect_atom() More...
 
Size upper_connect_id_ = 0
 Polymer upper connections Updated in set_upper_connect_atom() More...
 

Additional Inherited Members

- Protected Member Functions inherited from core::chemical::ResidueTypeBase
 ResidueTypeBase ()
 
 ResidueTypeBase (AtomTypeSetCOP atom_types, ElementSetCOP element_types, MMAtomTypeSetCOP mm_atom_types, orbitals::OrbitalTypeSetCOP orbital_types)
 constructor More...
 
 ResidueTypeBase (ResidueTypeBase const &)=default
 
ResidueTypeBaseoperator= (ResidueTypeBase const &)=default
 Copies <src> into the ResidueTypeBase. More...
 
void atom_type_set (AtomTypeSetCOP setting)
 
utility::vector1< std::string > & metal_binding_atoms ()
 
std::map< std::string,
std::string > & 
atom_aliases ()
 returns atom aliases More...
 
std::map< std::string,
std::string > & 
canonical_atom_aliases ()
 returns atom aliases More...
 
utility::vector1< Orbital > & get_orbitals ()
 
std::map< std::string, int > & get_orbitals_index ()
 
AA const & backbone_aa_raw () const
 
AA const & base_analogue_raw () const
 
AA const & na_analogue_raw () const
 

Detailed Description

A class for defining a type of residue, modifiable version.

This class contains the "chemical" information for residues. A MutableResidueType in Rosetta can be a ligand, DNA, amino acid, or basically anything. MutableResidueTypes are normally generated through .params files, which are read from the database chemical/residue_types. However, there are several other ways of generating this class, and the MutableResidueTypes can even be modified during the run (hence their name).

The MutableResidueType differs from a plain ResidueType in that it's constructed to be modifiable. It's also not intented to be used itself (aside from ResidueType modification). Instead, the typical usage is to convert a MutableResidueType into a plain ResidueType.

Another MutableResidueType/ResidueType distinction is that in a MutableResidueType the atom information is encoded in a molecular graph which should make it easier to add/remove/modify atoms. These atoms are referred to primarily by their "vertex desciptor" in the graph, which should be invariant to insertion/deletion/etc. While MutableResidueType does has a minimal sense of atom indexing, this is not the primary way to identify atoms, and will not be robust to addition/deletion of atoms.

To actually use a MutableResidueType for a simulation, you need to create a plain ResidueType from it. At this point all of the derived data will be calculated and converted to a more efficient struct-of-arrays format.

Constructor & Destructor Documentation

core::chemical::MutableResidueType::MutableResidueType ( )
privatedefault

Referenced by clone(), and placeholder_clone().

core::chemical::MutableResidueType::MutableResidueType ( AtomTypeSetCOP  atom_types,
ElementSetCOP  element_types,
MMAtomTypeSetCOP  mm_atom_types,
orbitals::OrbitalTypeSetCOP  orbital_types 
)

constructor

We use the AtomTypeSet object to assign atom_types to atoms inside add_atom, and to identify (polar) hydrogens, acceptors, etc.

core::chemical::MutableResidueType::MutableResidueType ( MutableResidueType const &  residue_type)

Make a copy of a MutableResidueType.

core::chemical::MutableResidueType::MutableResidueType ( ResidueType const &  residue_type)
explicit

Make a modifiable residue type from a standard one.

References copy_atom_info(), copy_other_info(), and validate_residue_type().

core::chemical::MutableResidueType::MutableResidueType ( MutableResidueType &&  residue_type)
default

Move constructor, for rule of 5.

core::chemical::MutableResidueType::~MutableResidueType ( )
overridedefault

destructor, for rule of 5

Member Function Documentation

utility::vector1< VD > core::chemical::MutableResidueType::actcoord_atoms ( ) const

get descriptors for atoms used to define actcoord

References all_atoms(), and graph_.

Referenced by core::chemical::ResidueType::copy_other_info().

void core::chemical::MutableResidueType::add_actcoord_atom ( std::string const &  atm)

add an atom to the list for calculating actcoord center

add an atom to the list for calculating actcoord center

References atom(), core::chemical::Atom::is_actcoord(), core::chemical::ResidueTypeBase::name(), and core::chemical::TR().

VD core::chemical::MutableResidueType::add_atom ( std::string const &  atom_name,
std::string const &  atom_type_name,
std::string const &  mm_atom_type_name,
Real const  charge 
)
VD core::chemical::MutableResidueType::add_atom ( std::string const &  atom_name = "")

add an atom into this residue, with just the name. Will return the vertex descriptor of the added atom.

References atom_name(), atom_name_to_vd_, graph_, core::chemical::ResidueTypeBase::name(), ordered_atoms_, and core::chemical::regenerate_graph_vertex_index().

VD core::chemical::MutableResidueType::add_atom ( Atom const &  atom,
MutableICoorRecord const &  icoor 
)
void core::chemical::MutableResidueType::add_atom_alias ( std::string const &  rosetta_atom,
std::string const &  alias 
)
void core::chemical::MutableResidueType::add_bond ( std::string const &  atom_name1,
std::string const &  atom_name2,
BondName  bondLabel = SingleBond 
)
void core::chemical::MutableResidueType::add_bond ( VD  atom1,
VD  atom2,
BondName  bondLabel = SingleBond 
)

add a bond between atom1 and atom2, specifying a bond type (SingleBond, DoubleBond, TripleBond, AromaticBond)

References atom_name(), graph_, has(), and core::chemical::ResidueTypeBase::name().

void core::chemical::MutableResidueType::add_canonical_atom_alias ( std::string const &  rosetta_atom,
std::string const &  alias 
)

store canonical to alias mapping

store map of canonical name to atom alias

References core::chemical::ResidueTypeBase::canonical_atom_aliases().

Referenced by core::chemical::AddAtomAlias::apply().

void core::chemical::MutableResidueType::add_chi ( Size const  chino,
VD  atom1,
VD  atom2,
VD  atom3,
VD  atom4 
)
void core::chemical::MutableResidueType::add_chi ( VD  atom1,
VD  atom2,
VD  atom3,
VD  atom4 
)

Add a chi (side-chain) angle defined by four atoms.

References add_chi(), and nchi().

void core::chemical::MutableResidueType::add_chi ( Size const  chino,
std::string const &  atom_name1,
std::string const &  atom_name2,
std::string const &  atom_name3,
std::string const &  atom_name4 
)

Add a chi (side-chain) angle defined by four atoms.

References add_chi(), and atom_vertex().

void core::chemical::MutableResidueType::add_chi ( std::string const &  atom_name1,
std::string const &  atom_name2,
std::string const &  atom_name3,
std::string const &  atom_name4 
)

Add a chi (side-chain) angle defined by four atoms to the end of the list of chis.

This method is needed for combinatorial patching of MutableResidueTypes for which the number of chis is variable. Its primary purpose is to be used with add_chi_rotamer_to_last_chi() that adds rotamer bins to the last chi in the list. In this way, a new chi can be added by a patch file and its rotamer bins set without needing to designate a chi index.

Note
See also add_chi_rotamer_to_last_chi().
Author
Labonte

References add_chi(), and nchi().

void core::chemical::MutableResidueType::add_chi_rotamer ( Size const  chino,
Real const  mean,
Real const  sdev 
)
void core::chemical::MutableResidueType::add_chi_rotamer_to_last_chi ( core::Angle const  mean,
core::Angle const  sdev 
)

Adds a chi rotamer bin to the highest-indexed chi in the list of chis for this MutableResidueType.

This method is needed for combinatorial patching of MutableResidueTypes for which the number of chis is variable. Its primary purpose is to be used with the overloaded version of add_chi() that adds a new chi to the end of the list. In this way, a new chi can be added by a patch file and its rotamer bins set without needing to designate a chi index.

Note
See also add_chi().
Author
Labonte

References add_chi_rotamer(), and nchi().

Referenced by core::chemical::AddChiRotamer::apply().

void core::chemical::MutableResidueType::add_cut_bond ( std::string const &  atom_name1,
std::string const &  atom_name2 
)

add a bond between atom1 and atom2, if bond type is not specified, default to a SingleBond

add a cut_bond between atom1 and atom2, which disallows an atom-tree connection, though the atoms are really bonded.

References atom_vertex(), graph_, and has().

Referenced by core::chemical::ResidueDatabaseIO::read_residue_type_cut_bond().

void core::chemical::MutableResidueType::add_metalbinding_atom ( std::string const &  atom_name)

Add an atom to the list of atoms that can potentially form a bond to a metal ion. Note that the atom must exist in the residue type (the function checks for this at runtime).

Add an atom to the list of atoms that can potentially form a bond to a metal ion.

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) TODO Should this be an annotation on the Atom?

References has(), core::chemical::ResidueTypeBase::metal_binding_atoms(), and core::chemical::ResidueTypeBase::name3().

void core::chemical::MutableResidueType::add_metapatch_connect ( std::string const &  atom)
void core::chemical::MutableResidueType::add_nu ( core::uint const  nu_index,
std::string const &  atom_name1,
std::string const &  atom_name2,
std::string const &  atom_name3,
std::string const &  atom_name4 
)

Add a nu (internal cyclic) angle defined by four atoms.

References atom_vertex(), has(), and nu_atoms_.

void core::chemical::MutableResidueType::add_orbital ( std::string &  orbital_name,
std::string &  orbital_type_name 
)

add an orbital onto a residue based upon atom

Note
this does not set xyz coordinates for the added orbital but sets the index of the orbital and maps it to the type of orbital.

References core::chemical::ResidueTypeBase::get_orbitals(), core::chemical::ResidueTypeBase::get_orbitals_index(), core::chemical::ResidueTypeBase::n_orbitals(), and core::chemical::ResidueTypeBase::orbital_types_ptr().

void core::chemical::MutableResidueType::add_orbital_bond ( std::string const &  atom_name1,
std::string const &  orbital_name 
)

add an orbital bond between an atom and an orbital.

Note
NOTE!!!!! This is indexed based upon atoms, not orbitals. That means that in your params file you must have the atom as the first and orbital as the second.

References atom_name_to_vd_, atom_vertex(), graph_, has(), core::chemical::ResidueTypeBase::has_orbital(), and core::chemical::ResidueTypeBase::orbital_index().

Size core::chemical::MutableResidueType::add_residue_connection ( std::string const &  atom_name)

add a non-polymeric ResidueConnection

For polymeric connections, see set_lower_connect() and set_upper_connect() Doesn't set the ideal geometry – maybe it should?

References atom_vertex(), and residue_connections_.

Referenced by add_metapatch_connect(), core::chemical::AddConnect::apply(), and core::chemical::AddConnectAndTrackingVirt::apply().

void core::chemical::MutableResidueType::add_ring ( core::uint const  ring_num,
utility::vector1< std::string > const &  ring_atoms,
core::chemical::rings::RingSaturationType const  saturation_type = core::chemical::rings::ALIPHATIC 
)
utility::vector1< VD > const& core::chemical::MutableResidueType::all_atoms ( ) const
inline
void core::chemical::MutableResidueType::assign_internal_coordinates ( )

Assign internal coordinates from the set ideal xyz coordinates. Note that it currently does not obey mainchain designations or cut bonds.

References has(), nbr_atom_, null_vertex, ordered_atoms_, and root_atom_.

void core::chemical::MutableResidueType::assign_internal_coordinates ( core::chemical::VD  new_root)

Function to assign internal coordinates from bonding patterns Note that it currently does not work well with polymers.

References graph_, n_possible_residue_connections(), core::chemical::ResidueTypeBase::name(), null_vertex, core::chemical::reroot_restype(), root_atom_, and core::chemical::TR().

void core::chemical::MutableResidueType::assign_neighbor_atom ( )

Figure out what the "center" atom of the residue is from current coordinates.

Assumes that all the ideal_xyz values have been set

References core::conformation::membrane::center, core::kinematics::distance(), graph_, core::chemical::ResidueTypeBase::name(), nbr_atom(), null_vertex, ordered_atoms_, and protocols::analysis::total.

Atom & core::chemical::MutableResidueType::atom ( VD const  atom_vd)

References graph_, and has().

Referenced by add_actcoord_atom(), add_atom(), core::chemical::annotate_backbone(), core::chemical::SetAtomicCharge::apply(), core::chemical::SetFormalCharge::apply(), core::chemical::SetAtomType::apply(), core::chemical::SetMMAtomType::apply(), core::chemical::SetAllAtomsRepulsive::apply(), core::chemical::ConnectSulfurAndMakeVirtualProton::apply(), core::chemical::ReplaceProtonWithTrifluoromethyl::apply(), core::chemical::ReplaceProtonWithMethyl::apply(), core::chemical::ReplaceProtonWithMethoxy::apply(), core::chemical::ReplaceProtonWithEthyl::apply(), core::chemical::ReplaceProtonWithChlorine::apply(), core::chemical::ReplaceProtonWithFluorine::apply(), core::chemical::ReplaceProtonWithBromine::apply(), core::chemical::ReplaceProtonWithIodine::apply(), core::chemical::ReplaceProtonWithHydroxyl::apply(), core::chemical::AddConnectDeleteChildProton::apply(), core::chemical::VirtualizeAll::apply(), core::chemical::VirtualizeSidechain::apply(), core::chemical::gasteiger::assign_gasteiger_atom_types(), atom_base(), autodetermine_chi_bonds(), bonded_heavyatoms(), bonded_hydrogens(), core::chemical::MutableICoorRecord::build_xyz(), core::chemical::clean_up_dangling_connect(), clear_icoor(), core::chemical::sdf::MolWriter::compose_atoms(), core::chemical::sdf::MolWriter::compose_properties(), copy_atom_info(), core::chemical::ResidueType::copy_atom_info(), core::chemical::ResidueType::copy_other_info(), delete_actcoord_atom(), core::chemical::detect_ld_chirality_from_polymer_residue(), core::chemical::RigidDistanceVisitor::examine_edge(), core::chemical::RigidDistanceVisitor::examine_vertex(), core::chemical::find_chi_bonds(), core::chemical::find_nbr_dist(), core::chemical::RerootRestypeVisitor::initialize_vertex(), is_backbone_heavyatom(), core::chemical::RigidDistanceVisitor::is_nub(), core::chemical::make_centroid(), nheavyatoms(), core::chemical::real_to_virtual(), core::chemical::rename_atoms(), core::chemical::rosetta_recharge_fullatom(), set_atom_type(), set_gasteiger_atom_type(), set_icoor(), core::chemical::ResidueType::setup_atom_ordering(), show(), validate_residue_type(), and core::chemical::MutableICoorRecord::xyz().

Atom const & core::chemical::MutableResidueType::atom ( VD const  atom_vd) const

References graph_, and has().

Atom & core::chemical::MutableResidueType::atom ( std::string const &  atom_name)

References atom_name(), atom_name_to_vd_, and graph_.

Atom const & core::chemical::MutableResidueType::atom ( std::string const &  atom_name) const

References atom_name_to_vd_, and graph_.

VD core::chemical::MutableResidueType::atom_base ( VD const  atm) const

The atom base is the distance atom the atom is bonded to. If the specified atom doesn't have valid ICOOR record yet, this function will return a null vertex.

get vd of an atom's base atom

References atom(), atom_vertex(), has(), core::chemical::Atom::icoor(), icoor(), core::chemical::ResidueTypeBase::name(), natoms(), and null_vertex.

Referenced by core::chemical::ConnectSulfurAndMakeVirtualProton::apply(), core::chemical::find_chi_bonds(), core::chemical::reroot_restype(), and core::chemical::walk_back_to_find_usable_base().

Size core::chemical::MutableResidueType::atom_index ( VD const &  vd) const
VIterPair core::chemical::MutableResidueType::atom_iterators ( ) const
inline
std::string const & core::chemical::MutableResidueType::atom_name ( VD const  vd) const
AtomType const & core::chemical::MutableResidueType::atom_type ( VD const  vd) const
VD core::chemical::MutableResidueType::atom_vertex ( std::string const &  name) const

get the vertex descriptor from the name of the atom.

References atom_name_to_vd_, core::chemical::ResidueTypeBase::name3(), show_all_atom_names(), and core::chemical::TR().

Referenced by add_bond(), add_chi(), add_cut_bond(), add_metapatch_connect(), add_nu(), add_orbital_bond(), add_residue_connection(), add_ring(), core::chemical::SetMMAtomType::apply(), core::chemical::ChangeAncestory::apply(), core::chemical::PrependMainchainAtom::apply(), core::chemical::AppendMainchainAtom::apply(), core::chemical::ReplaceMainchainAtom::apply(), core::chemical::ConnectSulfurAndMakeVirtualProton::apply(), core::chemical::ReplaceProtonWithTrifluoromethyl::apply(), core::chemical::ReplaceProtonWithMethyl::apply(), core::chemical::ReplaceProtonWithMethoxy::apply(), core::chemical::ReplaceProtonWithEthyl::apply(), core::chemical::ReplaceProtonWithChlorine::apply(), core::chemical::ReplaceProtonWithFluorine::apply(), core::chemical::ReplaceProtonWithBromine::apply(), core::chemical::ReplaceProtonWithIodine::apply(), core::chemical::ReplaceProtonWithHydroxyl::apply(), core::chemical::RenameAtom::apply(), atom_base(), atoms_are_bonded(), autodetermine_chi_bonds(), bond(), change_bond_type(), core::chemical::clean_up_dangling_connect(), delete_atom(), delete_child_proton(), core::chemical::fill_ideal_xyz_from_icoor(), core::chemical::formatted_icoord_tree(), core::chemical::has_assigned_coords(), nbr_atom(), core::chemical::Selector_UPPER_ATOM::operator[](), redefine_chi(), reset_bond_distance_to_atom(), set_atom_type(), set_gasteiger_atom_type(), set_icoor(), set_ideal_xyz(), set_lower_connect_atom(), set_shadowing_atom(), and set_upper_connect_atom().

bool core::chemical::MutableResidueType::atoms_are_bonded ( std::string const &  atom1,
std::string const &  atom2 
) const

References atom_vertex(), and graph_.

void core::chemical::MutableResidueType::autodetermine_chi_bonds ( core::Size  max_proton_chi_samples = 500)

Regenerate the rotatable chi bonds from the internal graph structure. If the number of proton chi samples would exceed max_proton_chi_samples, don't add extra sampling to proton chis. As a special case, if this is zero don't add any proton chi sampling at all.

Requires that Icoor and atom base records are up-to-date, and that ring bonds have been annotated.

References add_chi(), core::chemical::annotate_backbone(), atom(), atom_name(), atom_vertex(), chis_, core::chemical::find_chi_bonds(), core::chemical::rna::first_base_atom(), core::chemical::element::H, has(), core::chemical::ResidueTypeBase::is_protein(), core::chemical::ResidueTypeBase::is_RNA(), core::chemical::is_sp2_proton_chi(), core::chemical::ResidueTypeBase::name(), nchi(), set_proton_chi(), and core::chemical::TR().

Referenced by core::chemical::reroot_restype().

Bond & core::chemical::MutableResidueType::bond ( ED const  ed)
Bond const & core::chemical::MutableResidueType::bond ( ED const  ed) const

References graph_.

Bond & core::chemical::MutableResidueType::bond ( VD  vd1,
VD  vd2 
)
Bond const & core::chemical::MutableResidueType::bond ( VD  vd1,
VD  vd2 
) const
Bond & core::chemical::MutableResidueType::bond ( std::string const &  atom1,
std::string const &  atom2 
)

References atom_vertex(), and bond().

Bond const & core::chemical::MutableResidueType::bond ( std::string const &  atom1,
std::string const &  atom2 
) const

References atom_vertex(), and bond().

EIterPair core::chemical::MutableResidueType::bond_iterators ( ) const
inline
OutEdgeIterPair core::chemical::MutableResidueType::bond_iterators ( VD const &  atom) const
inline

References graph_.

utility::vector1< VD > core::chemical::MutableResidueType::bonded_heavyatoms ( VD const &  atom) const

Get the atoms bonded to the specified atom, if they're annotated as heavyatoms.

This is recalculated each time the function is called.

References atom(), graph_, and core::chemical::Atom::is_hydrogen().

Referenced by number_bonded_heavyatoms().

utility::vector1< VD > core::chemical::MutableResidueType::bonded_hydrogens ( VD const &  atom) const
AdjacentIterPair core::chemical::MutableResidueType::bonded_neighbor_iterators ( VD const &  atom) const
utility::vector1< VD > core::chemical::MutableResidueType::bonded_neighbors ( VD const &  atom) const

Get the atoms bonded to the specified atom.

This is recalculated each time the function is called.

References graph_.

Referenced by core::chemical::annotate_backbone(), core::chemical::sdf::MolWriter::compose_atoms(), core::chemical::sdf::MolWriter::compose_bonds(), and core::chemical::ResidueType::copy_atom_info().

void core::chemical::MutableResidueType::change_bond_type ( std::string const &  atom_name1,
std::string const &  atom_name2,
BondName const  new_bond_label 
)

Change the bond type of the given bond from one type to another.

Acts like a bond deletion + bond add, rather than a change.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References atom_vertex(), graph_, has(), and core::chemical::ResidueTypeBase::name().

Referenced by core::chemical::ChangeBondType::apply().

VDs const& core::chemical::MutableResidueType::chi_atom_vds ( Size const  chino) const
inline
utility::vector1< std::pair< Real, Real > > const& core::chemical::MutableResidueType::chi_rotamers ( Size const  chino) const
inline

all rotamers bins (mean, std) for a given chi angle

References chis_.

Referenced by core::chemical::ResidueType::copy_other_info().

bool core::chemical::MutableResidueType::chi_valid ( Size const  chino) const

Will return if the chi is currently valid.

References chis_, and has().

Referenced by core::chemical::reroot_restype().

void core::chemical::MutableResidueType::clear_chi_rotamers ( core::uint const  chi_no)

Delete all of the chi rotamer bins from the specified chi for this MutableResidueType.

This method is useful if one has redefined a chi within a patch file such that the old rotamer bins need to be regenerated.

Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References chis_.

Referenced by core::chemical::ClearChiRotamers::apply().

void core::chemical::MutableResidueType::clear_icoor ( )
void core::chemical::MutableResidueType::clear_orbitals ( )
MutableResidueTypeOP core::chemical::MutableResidueType::clone ( ) const

make a copy

References MutableResidueType().

Referenced by core::chemical::PatchCase::apply().

void core::chemical::MutableResidueType::copy_atom_info ( ResidueType const &  source)
private
void core::chemical::MutableResidueType::copy_other_info ( ResidueType const &  source)
private

Fill in various other information which is being copied over from the ResidueType Used for the conversion constructor.

The ordered_atoms_ vector matches the ResidueType order, so we don't need an old-to-new.

References core::chemical::ResidueTypeBase::aa(), core::chemical::ResidueType::actcoord_atoms(), core::chemical::ResidueConnection::atomno(), base_type_cop_, core::chemical::ResidueType::chi_2_proton_chi(), core::chemical::ResidueType::chi_atoms(), core::chemical::ResidueType::chi_rotamers(), chis_, core::chemical::ResidueType::get_base_type_cop(), graph_, core::chemical::ResidueConnection::icoor(), core::chemical::ResidueType::is_base_type(), core::chemical::ResidueType::is_proton_chi(), core::chemical::ResidueType::low_ring_conformers(), low_ring_conformers_, core::chemical::ResidueType::lower_connect_id(), lower_connect_id_, lowest_ring_conformer_, core::chemical::ResidueType::lowest_ring_conformers(), core::chemical::ResidueType::mainchain_atoms(), mainchain_atoms_, core::chemical::ResidueType::n_nus(), core::chemical::ResidueType::n_possible_residue_connections(), core::chemical::ResidueType::n_rings(), core::chemical::ResidueType::nbr_atom(), nbr_atom_, core::chemical::ResidueType::nbr_radius(), nbr_radius_, core::chemical::ResidueType::nchi(), core::chemical::ResidueType::nu_atoms(), nu_atoms_, ordered_atoms_, core::chemical::ResidueType::proton_chi_extra_samples(), core::chemical::ResidueType::proton_chi_samples(), core::chemical::ResidueType::residue_connection(), residue_connections_, core::chemical::ResidueType::ring_atoms(), ring_atoms_, core::chemical::ResidueType::ring_saturation_types(), ring_saturation_types_, core::chemical::ResidueType::root_atom(), root_atom_, core::chemical::ResidueType::upper_connect_id(), and upper_connect_id_.

Referenced by MutableResidueType().

void core::chemical::MutableResidueType::delete_actcoord_atom ( std::string const &  atom_name)

Remove an atom from the list of act coord atoms (used in patching when it kills the valence that is thus used)

Author
Andrew Watkins (amw57.nosp@m.9@ny.nosp@m.u.edu)

References atom(), has(), core::chemical::Atom::is_actcoord(), and core::chemical::ResidueTypeBase::name3().

Referenced by core::chemical::DeleteActCoordAtom::apply().

void core::chemical::MutableResidueType::delete_atom ( std::string const &  name)
void core::chemical::MutableResidueType::delete_atom ( VD  atom)
void core::chemical::MutableResidueType::delete_atom_alias ( std::string const &  alias,
bool  error = true 
)

Remove a given alias name for an atom.

If error is true, raise error if the alias can't be found

References core::chemical::ResidueTypeBase::atom_aliases().

void core::chemical::MutableResidueType::delete_bond ( VD  atom1,
VD  atom2 
)

Delete a bond between the two atoms.

Note that this might leave dangling atoms.

References graph_.

void core::chemical::MutableResidueType::delete_chi ( core::Size const  chino)

Deletes a given chi, potentially renumbering the remaining chis.

References chis_, core::chemical::ResidueTypeBase::name(), and core::chemical::TR().

Referenced by delete_child_proton().

void core::chemical::MutableResidueType::delete_child_proton ( std::string const &  atom)
void core::chemical::MutableResidueType::delete_metalbinding_atom ( std::string const &  atom_name)

Remove an atom from the list of atoms that can potentially form a bond to a metal ion (used in patching when it kills the valence that is thus used)

Author
Andrew Watkins (amw57.nosp@m.9@ny.nosp@m.u.edu)
Andrew Watkins (amw57.nosp@m.9@ny.nosp@m.u.edu) TODO Should this be an annotation on the Atom?

References core::sequence::end, has(), core::chemical::ResidueTypeBase::metal_binding_atoms(), and core::chemical::ResidueTypeBase::name3().

Referenced by core::chemical::DeleteMetalbindingAtom::apply().

void core::chemical::MutableResidueType::delete_nu ( core::uint const  nu_index)

Deletes a given nu, potentially renumbering the remaining nus.

References core::chemical::ResidueTypeBase::name(), nu_atoms_, and core::chemical::TR().

Referenced by delete_atom().

void core::chemical::MutableResidueType::delete_residue_connection ( VD  atm)

Remove all connections (both polymeric and otherwise) for an atom.

References lower_connect_id_, residue_connections_, update_icoors_after_connection_deletion(), and upper_connect_id_.

Referenced by delete_atom().

void core::chemical::MutableResidueType::delete_ring ( core::uint const  ring_num)

Deletes a given ring, potentially renumbering the remaining ring.

References low_ring_conformers_, lowest_ring_conformer_, core::chemical::ResidueTypeBase::name(), ring_atoms_, ring_saturation_types_, and core::chemical::TR().

Referenced by delete_atom().

void core::chemical::MutableResidueType::delete_terminal_chi ( )

delete terminal chi angle

Author
Andrew M. Watkins (April 2015)

References chis_.

Referenced by core::chemical::DeleteTerminalChi::apply().

void core::chemical::MutableResidueType::dump_vd_info ( ) const
void core::chemical::MutableResidueType::fill_ideal_xyz_from_icoor ( )

Assign ideal_xyz coordinates from icoor records.

References core::chemical::fill_ideal_xyz_from_icoor(), and graph_.

Referenced by core::chemical::ChiralFlipAtoms::apply().

std::map< std::string, VD > const& core::chemical::MutableResidueType::get_atom_name_to_vd_map ( ) const
inline

Get access to the atom_name-to-vd map. Provided only for MutableResidueType->ResidueType conversion.

References atom_name_to_vd_.

Referenced by core::chemical::ResidueType::copy_other_info().

ResidueTypeCOP core::chemical::MutableResidueType::get_base_type_cop ( ) const
overridevirtual

Get a pointer to this ResidueType's base ResidueType.

Returns NULL if base_type_cop_ is NULL. (Difference from ResidueType behavior!)

Implements core::chemical::ResidueTypeBase.

References base_type_cop_.

ResidueGraph const& core::chemical::MutableResidueType::graph ( ) const
inline
bool core::chemical::MutableResidueType::has ( std::string const &  atom_name) const
inlineoverridevirtual

is this atom present in this residue?

Implements core::chemical::ResidueTypeBase.

References atom_name_to_vd_.

Referenced by add_atom_alias(), add_bond(), add_chi(), add_cut_bond(), add_metalbinding_atom(), add_metapatch_connect(), add_nu(), add_orbital_bond(), add_ring(), core::chemical::DeleteAtom::apply(), core::chemical::SetBackboneHeavyatom::apply(), core::chemical::SetPolymerConnectAtom::apply(), core::chemical::AddConnect::apply(), core::chemical::AddChi::apply(), core::chemical::RedefineChi::apply(), core::chemical::AddAtom::apply(), core::chemical::AddBond::apply(), core::chemical::SetAtomicCharge::apply(), core::chemical::SetFormalCharge::apply(), core::chemical::SetAtomType::apply(), core::chemical::SetMMAtomType::apply(), core::chemical::ResetBondLength::apply(), core::chemical::PrependMainchainAtom::apply(), core::chemical::AppendMainchainAtom::apply(), core::chemical::ReplaceMainchainAtom::apply(), core::chemical::SetNbrAtom::apply(), core::chemical::AddConnectAndTrackingVirt::apply(), core::chemical::AddConnectDeleteChildProton::apply(), core::chemical::DeleteChildProton::apply(), core::chemical::SetVirtualShadow::apply(), core::chemical::SetDisulfideAtomName::apply(), assign_internal_coordinates(), atom(), atom_base(), atom_name(), atom_type(), autodetermine_chi_bonds(), core::chemical::MutableICoorRecord::buildable(), change_bond_type(), core::chemical::check_residue_has_atom(), chi_valid(), delete_actcoord_atom(), delete_atom(), delete_metalbinding_atom(), dump_vd_info(), core::chemical::fill_ideal_xyz_from_icoor(), core::chemical::formatted_icoord_tree(), core::chemical::has_assigned_coords(), icoor(), core::chemical::sdf::MolFileIOMolecule::index_valid(), redefine_chi(), rename_atom(), core::chemical::reroot_restype(), set_atom_type(), set_backbone_heavyatom(), set_icoor(), set_ideal_xyz(), core::chemical::RerootRestypeVisitor::start_vertex(), and validate_residue_type().

bool core::chemical::MutableResidueType::has ( VD const  vd) const
inline

is this vertex descriptor present in this residue?

References graph_, and core::chemical::has().

MutableICoorRecordCOP core::chemical::MutableResidueType::icoor ( VD const  atm) const
bool core::chemical::MutableResidueType::is_backbone_heavyatom ( VD  atom) const
bool core::chemical::MutableResidueType::is_base_type ( ) const
overridevirtual

Is this ResidueType a base type?

Is this ResidueTypeBase a base type?

Checks the base_type_cop_ pointer. If it's null, this is assumed to be a base type.

Implements core::chemical::ResidueTypeBase.

References base_type_cop_.

bool core::chemical::MutableResidueType::is_proton_chi ( Size const  chino) const
inline

number of proton chis

References chis_.

Referenced by core::chemical::ResidueType::copy_other_info(), and core::chemical::print_chis().

utility::vector1< std::string > const& core::chemical::MutableResidueType::low_ring_conformers ( core::uint const  ring_num) const
inline

Low-energy ring conformers for the given ring.

References low_ring_conformers_.

Referenced by core::chemical::ResidueType::copy_other_info().

MutableResidueConnection const & core::chemical::MutableResidueType::lower_connect ( ) const
VD core::chemical::MutableResidueType::lower_connect_atom ( ) const

index number of the atom which connects to the lower connection

References lower_connect_id_, and residue_connections_.

Referenced by core::chemical::annotate_backbone(), and core::chemical::mainchain_path().

Size core::chemical::MutableResidueType::lower_connect_id ( ) const
inline
std::string const& core::chemical::MutableResidueType::lowest_ring_conformer ( core::uint const  ring_num) const
inline

Lowest-energy ring conformer for the given ring.

References lowest_ring_conformer_.

Referenced by core::chemical::ResidueType::copy_other_info().

utility::vector1< VD > const& core::chemical::MutableResidueType::mainchain_atoms ( ) const
inline
Size core::chemical::MutableResidueType::n_nus ( ) const
inline

Return number of nu (internal ring) angles.

References nu_atoms_.

Referenced by core::chemical::ResidueType::copy_other_info().

Size core::chemical::MutableResidueType::n_polymeric_residue_connections ( ) const
inline

The number of polymeric residue connections.

References lower_connect_id_, and upper_connect_id_.

Referenced by core::chemical::AddConnectAndTrackingVirt::apply(), and core::chemical::ResidueType::copy_other_info().

Size core::chemical::MutableResidueType::n_possible_residue_connections ( ) const
Size core::chemical::MutableResidueType::n_proton_chi ( ) const

number of proton chis

References chis_.

Referenced by core::chemical::ResidueType::copy_other_info().

Size core::chemical::MutableResidueType::n_residue_connections_for_atom ( VD const  atomid) const
Size core::chemical::MutableResidueType::n_rings ( ) const
inline

Return the number of rings in this residue.

References ring_atoms_.

Referenced by core::chemical::ResidueType::copy_other_info().

Size core::chemical::MutableResidueType::n_virtual_atoms ( ) const
overridevirtual

Counts the number of virtual atoms and returns the count.

The virtual count is not stored in the resiude type. This count is performed on the fly, and can hurt performance if reapeatedly carried out. Not intended for use in large loops – instead, call once and store the value.

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

The virtual count is not stored in the residue type. This count is performed on the fly, and can hurt performance if repeatedly carried out. Not intended for use in large loops – instead, call once and store the value.

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

Implements core::chemical::ResidueTypeBase.

References core::chemical::ResidueTypeBase::atom_type_set(), graph_, natoms(), and ordered_atoms_.

Referenced by core::chemical::AddConnectAndTrackingVirt::apply().

Size core::chemical::MutableResidueType::natoms ( ) const
inlineoverridevirtual
Size core::chemical::MutableResidueType::nbonds ( ) const
inlineoverridevirtual
Size core::chemical::MutableResidueType::nbonds ( VD  atom) const
inline

number of bonds for given atom

References graph_.

void core::chemical::MutableResidueType::nbr_atom ( std::string const &  atom_name)
inline
void core::chemical::MutableResidueType::nbr_atom ( VD  vertex)
inline

set nbr_atom used to define residue-level neighbors

References nbr_atom_.

void core::chemical::MutableResidueType::nbr_radius ( Real const  radius)
inline
Real core::chemical::MutableResidueType::nbr_radius ( ) const
inline

get nbr_radius_ used to define residue-level neighbors

References nbr_radius_.

VD core::chemical::MutableResidueType::nbr_vertex ( ) const
inline

get VD used to define residue-level neighbors

References nbr_atom_.

Referenced by core::chemical::sdf::MolWriter::compose_nbr_atom(), and core::chemical::ResidueType::copy_other_info().

Size core::chemical::MutableResidueType::nchi ( ) const
inline
Size core::chemical::MutableResidueType::nheavyatoms ( ) const
overridevirtual

number of heavy atoms

Implements core::chemical::ResidueTypeBase.

References atom(), and ordered_atoms_.

utility::vector1< VD > const& core::chemical::MutableResidueType::nu_atoms ( core::uint const  nu_index) const
inline
Size core::chemical::MutableResidueType::number_bonded_heavyatoms ( VD  atomvd) const

indicates how many heavyatom bonded neighbors an atom has, graph version

References bonded_heavyatoms().

Size core::chemical::MutableResidueType::number_bonded_hydrogens ( VD  atomvd) const

indicates how many proton bonded neighbors an atom has

References bonded_hydrogens().

MutableResidueType & core::chemical::MutableResidueType::operator= ( MutableResidueType const &  residue_type)
MutableResidueType& core::chemical::MutableResidueType::operator= ( MutableResidueType &&  )
default

Move assignment, for rule of 5.

MutableResidueTypeOP core::chemical::MutableResidueType::placeholder_clone ( ) const
utility::vector1< Real > const& core::chemical::MutableResidueType::proton_chi_extra_samples_for_chi ( Size  chino) const
inline

The proton chi extra samples Important - this takes the full chi numbering (not proton chi numbering)

References chis_.

Referenced by core::chemical::ResidueType::copy_other_info().

utility::vector1< Real > const& core::chemical::MutableResidueType::proton_chi_samples_for_chi ( Size  chino) const
inline

The proton chi samples Important - this takes the full chi numbering (not proton chi numbering)

References chis_.

Referenced by core::chemical::ResidueType::copy_other_info().

void core::chemical::MutableResidueType::redefine_chi ( Size const  chino,
std::string const &  atom_name1,
std::string const &  atom_name2,
std::string const &  atom_name3,
std::string const &  atom_name4 
)

redefine a chi angle based on four atoms

This function is almost an exact copy of the add_chi function except that vector resizing does NOT occur. It is needed for certain PTMs that affect proton chis (e.g., phosphorylation and sulfation).

Author
Andy M. Chen (June 2009)

References add_chi(), atom_vertex(), and has().

Referenced by core::chemical::RedefineChi::apply().

void core::chemical::MutableResidueType::rename_atom ( VD  atom,
std::string const &  name 
)

Rename the atom, updating the ResidueType-internal data mapping.

References atom_name(), atom_name_to_vd_, graph_, and has().

Referenced by core::chemical::RenameAtom::apply(), core::chemical::rename_atoms(), and core::chemical::sdf::MolFileIOMolecule::set_from_extra_data().

void core::chemical::MutableResidueType::reset_base_type_cop ( )

Reset the base type COP to be null. This implies that this ResidueTypeBase is a base type.

References base_type_cop_.

void core::chemical::MutableResidueType::reset_bond_distance_to_atom ( std::string const &  atm,
core::Distance const  d 
)

Reset the bond distance to an atom whose internal coordinates have already been set.

Looks up the internal coordinates to build the given atom and then resets the bond distance, updating the xyz coordinates afterward.
One cannot currently reset the bond distance of residue connections using this method.

Parameters
<atm>the string name of the atom
<d>the new bond distance in angstroms
Note
This method is primarily useful for patch operations, which may need to change the hybridization of an atom and thus the bond length from the atom to which it is attached.
Author
Labonte JWLab.nosp@m.onte.nosp@m.@jhu..nosp@m.edu

References atom_vertex(), icoor(), and set_icoor().

Referenced by core::chemical::ResetBondLength::apply().

VD core::chemical::MutableResidueType::residue_connect_atom ( Size const  resconn_id) const

References residue_connections_.

MutableResidueConnection const & core::chemical::MutableResidueType::residue_connection ( Size const  i) const
MutableResidueConnection & core::chemical::MutableResidueType::residue_connection ( Size const  i)

Get a ResidueConection.

References residue_connections_.

bool core::chemical::MutableResidueType::residue_connection_is_polymeric ( Size const  resconn_id) const
inline
utility::vector1< VD > const& core::chemical::MutableResidueType::ring_atoms ( core::uint const  ring_num) const
inline
core::chemical::rings::RingSaturationType core::chemical::MutableResidueType::ring_saturation_type ( uint const  ring_num) const
inline

Return the saturation level of this residue's nth cycle.

References ring_saturation_types_.

Referenced by core::chemical::ResidueType::copy_other_info().

VD core::chemical::MutableResidueType::root_atom ( ) const
inline
void core::chemical::MutableResidueType::set_atom_type ( std::string const &  name,
std::string const &  atom_type_name 
)
inline
void core::chemical::MutableResidueType::set_atom_type ( VD  atom,
std::string const &  atom_type_name 
)
void core::chemical::MutableResidueType::set_backbone_heavyatom ( std::string const &  name)

set an atom as backbone heavy atom

When converted to a plain ResidueType, backbone atoms will be placed first. This is differenct from the mainchain atoms below, as the mainchain is a subset of the backbone

References atom_name_to_vd_, graph_, has(), and core::chemical::ResidueTypeBase::name().

Referenced by core::chemical::SetBackboneHeavyatom::apply().

void core::chemical::MutableResidueType::set_base_type_cop ( ResidueTypeCOP  new_base_type)

Set the base type COP. This implies that this ResidueTypeBase is NOT a base type.

References base_type_cop_.

void core::chemical::MutableResidueType::set_gasteiger_atom_type ( std::string const &  atom_name,
std::string const &  gasteiger_atom_type_name 
)

set gasteiger atom type

References atom_vertex().

void core::chemical::MutableResidueType::set_gasteiger_atom_type ( VD  atom,
std::string const &  gasteiger_atom_type_name 
)
void core::chemical::MutableResidueType::set_icoor ( std::string const &  atm,
Real const  phi,
Real const  theta,
Real const  d,
std::string const &  stub_atom1,
std::string const &  stub_atom2,
std::string const &  stub_atom3,
bool const  update_xyz = false 
)
void core::chemical::MutableResidueType::set_icoor ( VD const &  atm,
Real const  phi,
Real const  theta,
Real const  d,
VD const &  stub_atom1,
VD const &  stub_atom2,
VD const &  stub_atom3,
bool const  update_xyz = false 
)

set MutableICoorRecord for an atom, vertex descriptor version

phi and theta are in radians

References atom_name(), has(), and set_icoor().

void core::chemical::MutableResidueType::set_icoor ( VD const &  atm,
Real const  phi,
Real const  theta,
Real const  d,
std::string const &  stub_atom1,
std::string const &  stub_atom2,
std::string const &  stub_atom3,
bool const  update_xyz = false 
)

set MutableICoorRecord for an atom, vertex descriptor version

phi and theta are in radians

References atom(), atom_name(), atom_vertex(), has(), core::chemical::Atom::icoor(), null_vertex, root_atom_, set_ideal_xyz(), and core::chemical::TR().

void core::chemical::MutableResidueType::set_ideal_xyz ( std::string const &  atm,
Vector const &  xyz_in 
)
void core::chemical::MutableResidueType::set_ideal_xyz ( VD  atm,
Vector const &  xyz_in 
)
void core::chemical::MutableResidueType::set_low_energy_ring_conformers ( core::uint const  ring_num,
utility::vector1< std::string > const &  conformers 
)

Set this cyclic residue's low-energy ring conformers for the nth ring by IUPAC name.

References low_ring_conformers_.

void core::chemical::MutableResidueType::set_lower_connect_atom ( std::string const &  atm_name)
void core::chemical::MutableResidueType::set_lowest_energy_ring_conformer ( core::uint const  ring_num,
std::string const &  conformer 
)

Set this cyclic residue's lowest-energy ring conformer for the nth ring by IUPAC name.

References lowest_ring_conformer_.

void core::chemical::MutableResidueType::set_mainchain_atoms ( utility::vector1< VD > const &  mainchain)
inline

set indices of all mainchain atoms TODO Should we make sure that mainchain atoms are also backbones?

References mainchain_atoms_.

Referenced by core::chemical::PrependMainchainAtom::apply(), core::chemical::AppendMainchainAtom::apply(), and core::chemical::ReplaceMainchainAtom::apply().

void core::chemical::MutableResidueType::set_orbital_icoor_id ( std::string const &  orbital,
Real const  phi,
Real const  theta,
Real const  d,
std::string const &  stub_atom1,
std::string const &  stub_atom2,
std::string const &  stub_atom3 
)
void core::chemical::MutableResidueType::set_proton_chi ( Size  chino,
utility::vector1< Real > const &  dihedral_samples,
utility::vector1< Real > const &  extra_samples 
)

Annotate a given chi as a proton chi, and set the sampling behavior If the chi is already listed as a proton chi, change the sampling behavior.

Describe proton behavior for residue type; where should rotamer samples be considered, and if expanded rotamers are desired, what deviations from the original rotamer samples should be included. E.g. dihedral_samples of 60, -60, and 180 could have an extra_sample of 20 which would produce rotamers at 40 60 & 80, -40 -60 & -80, and -160, 180 & 160. Extra_samples at 10 and 20 would produce 15 different rotamer samples.

References chis_.

Referenced by core::chemical::AddProtonChi::apply(), core::chemical::ReplaceProtonWithHydroxyl::apply(), autodetermine_chi_bonds(), and delete_child_proton().

void core::chemical::MutableResidueType::set_shadowing_atom ( std::string const &  atom,
std::string const &  atom_being_shadowed 
)
void core::chemical::MutableResidueType::set_upper_connect_atom ( std::string const &  atm_name)
std::map< VD, VD > const& core::chemical::MutableResidueType::shadow_atoms ( ) const
inline
void core::chemical::MutableResidueType::show ( std::ostream &  output = std::cout,
bool  output_atomic_details = false 
) const
overridevirtual
void core::chemical::MutableResidueType::show_all_atom_names ( std::ostream &  out) const
overridevirtual
void core::chemical::MutableResidueType::update_atom_type_set ( AtomTypeSetCOP  setting)

Change which atom type set this MutableResidueType points to WARNING - While this tries to switch over the atom types, it will null out any that don't have exact name correspondences. You NEED to go through and manually reset the types on all atoms. Exposed for black-magic use only.

References core::chemical::ResidueTypeBase::atom_type_set(), core::chemical::ResidueTypeBase::atom_type_set_ptr(), graph_, core::chemical::ResidueTypeBase::name(), ordered_atoms_, and set_atom_type().

void core::chemical::MutableResidueType::update_icoors_after_connection_deletion ( core::Size const  conn_id_deleted)
private

After deleting a connection, update the icoors of any atoms dependent on HIGHER-numbered connections.

Will not attempt to adjust any ICOOR referencing a delete UPPER/LOWER

References core::chemical::CONNECT, core::chemical::correct_conn(), core::chemical::get_connection_number(), graph_, and ordered_atoms_.

Referenced by delete_residue_connection(), set_lower_connect_atom(), and set_upper_connect_atom().

MutableResidueConnection const & core::chemical::MutableResidueType::upper_connect ( ) const
VD core::chemical::MutableResidueType::upper_connect_atom ( ) const

index number of the atom which connects to the upper connection

References residue_connections_, and upper_connect_id_.

Referenced by core::chemical::annotate_backbone(), core::chemical::mainchain_path(), and core::chemical::Selector_UPPER_ATOM::operator[]().

Size core::chemical::MutableResidueType::upper_connect_id ( ) const
inline
bool core::chemical::MutableResidueType::validate_residue_type ( ) const

Run checks on this MutableResidueType, checking to make sure it's okay. Return true on success and false on failure (Intended usage is within something like a debug_assert())

References atom(), chis_, has(), icoor(), core::chemical::Atom::name(), core::chemical::ResidueTypeBase::name(), natoms(), ordered_atoms_, and core::chemical::TR().

Referenced by MutableResidueType(), and core::chemical::ResidueType::ResidueType().

Member Data Documentation

std::map< std::string, VD > core::chemical::MutableResidueType::atom_name_to_vd_
private

atom index lookup by atom name string

Note that not all atoms will necessarily have names or unique names. This map will merely map those which do,

Referenced by add_atom(), add_orbital_bond(), atom(), atom_vertex(), delete_atom(), get_atom_name_to_vd_map(), has(), operator=(), rename_atom(), and set_backbone_heavyatom().

std::map<VD, VD> core::chemical::MutableResidueType::atom_shadowed_
private

Data to describe virtual atoms that should shadow other atoms for the sake of keeping intraresidue cycles closed when working with an atom tree, e.g. NV shadows N on proline. For each atom, the following vector lists the index of the atom it is shadowing.

Referenced by copy_atom_info(), delete_atom(), operator=(), set_shadowing_atom(), and shadow_atoms().

ResidueTypeCOP core::chemical::MutableResidueType::base_type_cop_
private

Const-access owning pointer to the base residue type.

NULL if this MutableResidueType doesn't have a base type.

Referenced by copy_other_info(), get_base_type_cop(), is_base_type(), reset_base_type_cop(), and set_base_type_cop().

utility::vector1< MutableChiRecordOP > core::chemical::MutableResidueType::chis_
private
ResidueGraph core::chemical::MutableResidueType::graph_
private
utility::vector1< utility::vector1< std::string > > core::chemical::MutableResidueType::low_ring_conformers_
private

Low-energy ring conformers for each ring.

used for setting up the RingConformerSets

Referenced by add_ring(), copy_other_info(), delete_ring(), low_ring_conformers(), operator=(), and set_low_energy_ring_conformers().

Size core::chemical::MutableResidueType::lower_connect_id_ = 0
private
utility::vector1< std::string > core::chemical::MutableResidueType::lowest_ring_conformer_
private

Lowest-energy ring conformer for each ring.

used for setting up the RingConformerSets

Referenced by add_ring(), copy_other_info(), delete_ring(), lowest_ring_conformer(), operator=(), and set_lowest_energy_ring_conformer().

utility::vector1<VD> core::chemical::MutableResidueType::mainchain_atoms_
private

Verticies of all mainchain atoms.

mainchain_atoms are those atoms on a path from polymer lower_connect to upper_connect. For protein, this will be N, CA and C.

Referenced by copy_other_info(), delete_atom(), mainchain_atoms(), operator=(), set_mainchain_atoms(), and show().

VD core::chemical::MutableResidueType::nbr_atom_ = MutableResidueType::null_vertex
private

atom used for calculating residue-level neighbors

Referenced by assign_internal_coordinates(), copy_other_info(), delete_atom(), nbr_atom(), nbr_vertex(), and operator=().

Real core::chemical::MutableResidueType::nbr_radius_ = 0
private

radius cutoff to define neighbors

Should be the maximum distance from the nbr_atom_ to any heavy atom in any valid rotamer.

Referenced by copy_other_info(), nbr_radius(), and operator=().

utility::vector1< utility::vector1< VD > > core::chemical::MutableResidueType::nu_atoms_
private

VDs of four atoms to build each nu angle.

Referenced by add_nu(), copy_other_info(), delete_atom(), delete_nu(), n_nus(), nu_atoms(), and operator=().

VD const core::chemical::MutableResidueType::null_vertex = boost::graph_traits<ResidueGraph>::null_vertex()
static
VDs core::chemical::MutableResidueType::ordered_atoms_
private

The atoms in order. This is primarily to keep track of the order which that atoms have been added, for consistency. Unlike the main ResidueType class, there is no guarantees regarding property ordering of atoms.

Referenced by add_atom(), all_atoms(), assign_internal_coordinates(), assign_neighbor_atom(), atom_index(), atom_type(), clear_icoor(), clear_orbitals(), copy_atom_info(), copy_other_info(), delete_atom(), dump_vd_info(), n_virtual_atoms(), nheavyatoms(), operator=(), show_all_atom_names(), update_atom_type_set(), update_icoors_after_connection_deletion(), and validate_residue_type().

utility::vector1< MutableResidueConnection > core::chemical::MutableResidueType::residue_connections_
private

Vector of inter-residue connections expected for this residuetype NOW includes the polymer connections, as well as disulf-type connections.

Note
ResidueConnection objects store the ideal internal coordinates for the connected atom
Much of the code assumes at most one residue connection per atom. The pseudobond code has been partially written to handle cases where multiple connections to a single atom can exist, but much of the standard residue connection code assumes a simple correspondence between atoms and residue connections. That code will have to be updated to support single-atom "backbones."

Referenced by add_residue_connection(), copy_other_info(), delete_residue_connection(), lower_connect(), lower_connect_atom(), n_possible_residue_connections(), n_residue_connections_for_atom(), operator=(), residue_connect_atom(), residue_connection(), set_icoor(), set_lower_connect_atom(), set_upper_connect_atom(), upper_connect(), and upper_connect_atom().

utility::vector1< utility::vector1< VD > > core::chemical::MutableResidueType::ring_atoms_
private

VDs of all ring atoms, not counting virtual atoms.

Referenced by add_ring(), copy_other_info(), delete_atom(), delete_ring(), n_rings(), operator=(), ring_atoms(), and show().

utility::vector1< core::chemical::rings::RingSaturationType > core::chemical::MutableResidueType::ring_saturation_types_
private

The saturation type of each ring in this residue.

Referenced by add_ring(), copy_other_info(), delete_ring(), operator=(), and ring_saturation_type().

VD core::chemical::MutableResidueType::root_atom_ = MutableResidueType::null_vertex
private
Size core::chemical::MutableResidueType::upper_connect_id_ = 0
private

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