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

#include <Atom.hh>

Public Member Functions

 Atom ()
 Construct a new atom type with its name and element. More...
 
 Atom (std::string const &name_in, std::string const &mm_name, ElementCOP element, Real const charge, Vector const &ideal_xyz)
 Construct a new atom with the name, mm type, element, charge and position. More...
 
bool operator== (Atom const &atom) const
 
std::string const & name () const
 
std::string const & mm_name () const
 
Size const & atom_type_index () const
 
ElementCOP element_type () const
 
core::chemical::element::Elements element () const
 Convenience function to go directly to the element enum. More...
 
gasteiger::GasteigerAtomTypeDataCOP gasteiger_atom_type () const
 
bool const & is_backbone () const
 
bool const & is_actcoord () const
 Is this atom part of the action coordinate centers? More...
 
int const & formal_charge () const
 
Real const & charge () const
 
Vector const & ideal_xyz () const
 
MutableICoorRecordCOP icoor () const
 The ICoor record for this residue – may be null. More...
 
char absolute_stereochemistry () const
 Return the absolute stereochemistry (R/S designation) of this stereocenter. More...
 
GreekDistance greek_distance () const
 How far (in Greek letters) is this atom from the primary functional group of the molecule? More...
 
utility::vector1< core::Size >
const & 
bonded_orbitals () const
 Which orbital indicies are attached to this atom? More...
 
void element_type (ElementCOP element)
 
void mm_name (std::string const &name)
 
void gasteiger_atom_type (core::chemical::gasteiger::GasteigerAtomTypeDataCOP gasteiger_atom_type)
 
void is_backbone (bool setting)
 
void is_actcoord (bool setting)
 
void formal_charge (int charge)
 
void charge (Real const &charge)
 
void ideal_xyz (Vector const &ideal_xyz)
 
void icoor (MutableICoorRecordCOP icoor_record)
 
void set_absolute_stereochemistry (char const setting)
 Set the absolute stereochemistry (R/S designation) of this stereocenter. More...
 
void greek_distance (GreekDistance const setting)
 Set how far (in Greek letters) this atom is from the primary functional group of the molecule. More...
 
void set_bonded_orbitals (utility::vector1< core::Size > const &setting)
 
void add_bonded_orbital (Size orbital_index)
 
AtomProperties const & properties () const
 Access the collection of properties for this Atom. IMPORTANT – This only looks at manually set properties, not any automatically derived ones. More...
 
bool has_property (std::string const &property) const
 Generic property access. IMPORTANT – This only looks at manually set properties, not any automatically derived ones. More...
 
bool has_property (AtomProperty const property) const
 Generic property access. IMPORTANT – This only looks at manually set properties, not any automatically derived ones. More...
 
void set_property (std::string const &property, bool const setting)
 Generic property setting. More...
 
void set_property (AtomProperty const property, bool const setting)
 
void reset_all_properies (AtomProperties const &setting)
 Discard all the current properties, and set the the passed values. More...
 
void is_virtual (bool setting)
 Set whether or not this atom is virtual. More...
 
bool is_hydrogen () const
 
bool is_virtual () const
 Get whether or not this atom is virtual. More...
 
bool is_fake () const
 Return true if this represents a fake/mock atom. More...
 
void show (std::ostream &out=std::cout) const
 Generate string representation of chemical::Atom for debugging purposes. More...
 

Protected Member Functions

void name (std::string const &name)
 
void atom_type_index (Size const &atom_type_index)
 

Protected Attributes

friend MutableResidueType
 

Private Attributes

std::string name_
 
std::string mm_name_
 
Size atom_type_index_ = 0
 
ElementCOP element_
 
gasteiger::GasteigerAtomTypeDataCOP gasteiger_atom_type_
 Gasteiger atom-type. More...
 
bool is_backbone_ = false
 
bool is_actcoord_ = false
 
int formal_charge_ = 0
 The formal (integral) charge on the atom. More...
 
Real charge_ = 0.0
 
char abs_stereochem_ = '\0'
 
GreekDistance greek_d_ = NA_GREEK_DISTANCE
 
Vector ideal_xyz_ {0,0,0}
 
MutableICoorRecordCOP icoor_
 Internal coordinates on how to build the given atom - used in preference to ideal_xyz if set. More...
 
utility::pointer::DeepCopyOP
< AtomProperties
properties_
 
utility::vector1< Sizebonded_orbitals_
 

Detailed Description

This class contains the "chemical" information for atoms in a MutableResidueType. This does not contain the actual xyz coordinates of the atom, (which are found in core/conformation/Atom.hh) It is also not used for the plain ResidueType class, which holds the corresponding information intenrally. This class should contain the information that's associated with the atom, calculated from other info. (Do that in the MutableResidueType -> ResidueType transition. )

Note
chemical::Atoms are stored in chemical::MutableResidueType (within its ResidueGraph); conformation::Atoms are stored in conformation::Residue

Constructor & Destructor Documentation

core::chemical::Atom::Atom ( )

Construct a new atom type with its name and element.

All its properties are un-set by default.

core::chemical::Atom::Atom ( std::string const &  name_in,
std::string const &  mm_name,
ElementCOP  element,
Real const  charge,
Vector const &  ideal_xyz 
)

Construct a new atom with the name, mm type, element, charge and position.

Rosetta AtomTypes should be set through the ResidueType to ensure data consistency.

Member Function Documentation

char core::chemical::Atom::absolute_stereochemistry ( ) const
inline

Return the absolute stereochemistry (R/S designation) of this stereocenter.

References abs_stereochem_.

void core::chemical::Atom::add_bonded_orbital ( Size  orbital_index)
inline

References bonded_orbitals_.

Size const& core::chemical::Atom::atom_type_index ( ) const
inline
void core::chemical::Atom::atom_type_index ( Size const &  atom_type_index)
inlineprotected

References atom_type_index(), and atom_type_index_.

Referenced by atom_type_index().

utility::vector1< core::Size > const& core::chemical::Atom::bonded_orbitals ( ) const
inline

Which orbital indicies are attached to this atom?

References bonded_orbitals_.

Real const& core::chemical::Atom::charge ( ) const
inline
void core::chemical::Atom::charge ( Real const &  charge)
inline

References charge(), and charge_.

Referenced by charge().

core::chemical::element::Elements core::chemical::Atom::element ( ) const

Convenience function to go directly to the element enum.

References element_, and core::chemical::element::UnknownElement.

Referenced by element_type(), and is_hydrogen().

ElementCOP core::chemical::Atom::element_type ( ) const
inline
void core::chemical::Atom::element_type ( ElementCOP  element)
inline

References element(), and element_.

int const& core::chemical::Atom::formal_charge ( ) const
inline
void core::chemical::Atom::formal_charge ( int  charge)
inline

References charge(), and formal_charge_.

gasteiger::GasteigerAtomTypeDataCOP core::chemical::Atom::gasteiger_atom_type ( ) const
void core::chemical::Atom::gasteiger_atom_type ( core::chemical::gasteiger::GasteigerAtomTypeDataCOP  gasteiger_atom_type)
GreekDistance core::chemical::Atom::greek_distance ( ) const
inline

How far (in Greek letters) is this atom from the primary functional group of the molecule?

References greek_d_.

void core::chemical::Atom::greek_distance ( GreekDistance const  setting)
inline

Set how far (in Greek letters) this atom is from the primary functional group of the molecule.

References greek_d_.

bool core::chemical::Atom::has_property ( std::string const &  property) const

Generic property access. IMPORTANT – This only looks at manually set properties, not any automatically derived ones.

References properties_.

Referenced by is_virtual().

bool core::chemical::Atom::has_property ( AtomProperty const  property) const

Generic property access. IMPORTANT – This only looks at manually set properties, not any automatically derived ones.

References properties_.

MutableICoorRecordCOP core::chemical::Atom::icoor ( ) const
inline
void core::chemical::Atom::icoor ( MutableICoorRecordCOP  icoor_record)
inline

References icoor_.

Vector const& core::chemical::Atom::ideal_xyz ( ) const
inline
void core::chemical::Atom::ideal_xyz ( Vector const &  ideal_xyz)
inline

References ideal_xyz(), and ideal_xyz_.

bool const& core::chemical::Atom::is_actcoord ( ) const
inline

Is this atom part of the action coordinate centers?

The geometric center of all atoms listed as actcoords are the residue's "action coordinate" (for pair energy)

References is_actcoord_.

Referenced by core::chemical::MutableResidueType::add_actcoord_atom(), and core::chemical::MutableResidueType::delete_actcoord_atom().

void core::chemical::Atom::is_actcoord ( bool  setting)
inline

References is_actcoord_.

bool const& core::chemical::Atom::is_backbone ( ) const
inline

References is_backbone_.

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

void core::chemical::Atom::is_backbone ( bool  setting)
inline

References is_backbone_.

bool core::chemical::Atom::is_fake ( ) const

Return true if this represents a fake/mock atom.

Note
(Real atoms have elements that exist on the periodic table.)

References element_, is_virtual(), name(), and core::chemical::TR().

Referenced by core::chemical::gasteiger::assign_gasteiger_atom_types().

bool core::chemical::Atom::is_hydrogen ( ) const
inline
void core::chemical::Atom::is_virtual ( bool  setting)
inline
bool core::chemical::Atom::is_virtual ( ) const
inline

Get whether or not this atom is virtual.

References has_property(), and core::chemical::VIRTUAL_ATOM.

Referenced by is_fake(), and show().

std::string const& core::chemical::Atom::mm_name ( ) const
inline
void core::chemical::Atom::mm_name ( std::string const &  name)
inline

References mm_name_, and name().

std::string const& core::chemical::Atom::name ( ) const
inline
void core::chemical::Atom::name ( std::string const &  name)
inlineprotected

References name(), and name_.

Referenced by name().

bool core::chemical::Atom::operator== ( Atom const &  atom) const
AtomProperties const& core::chemical::Atom::properties ( ) const
inline

Access the collection of properties for this Atom. IMPORTANT – This only looks at manually set properties, not any automatically derived ones.

References properties_.

void core::chemical::Atom::reset_all_properies ( AtomProperties const &  setting)

Discard all the current properties, and set the the passed values.

References properties_.

void core::chemical::Atom::set_absolute_stereochemistry ( char const  setting)

Set the absolute stereochemistry (R/S designation) of this stereocenter.

References abs_stereochem_.

void core::chemical::Atom::set_bonded_orbitals ( utility::vector1< core::Size > const &  setting)
inline

References bonded_orbitals_.

void core::chemical::Atom::set_property ( std::string const &  property,
bool const  setting 
)
void core::chemical::Atom::set_property ( AtomProperty const  property,
bool const  setting 
)

References properties_.

void core::chemical::Atom::show ( std::ostream &  out = std::cout) const

Member Data Documentation

char core::chemical::Atom::abs_stereochem_ = '\0'
private
Size core::chemical::Atom::atom_type_index_ = 0
private

Referenced by atom_type_index(), operator==(), and show().

utility::vector1< Size > core::chemical::Atom::bonded_orbitals_
private
Real core::chemical::Atom::charge_ = 0.0
private

Referenced by charge(), operator==(), and show().

ElementCOP core::chemical::Atom::element_
private
int core::chemical::Atom::formal_charge_ = 0
private

The formal (integral) charge on the atom.

Referenced by formal_charge(), operator==(), and show().

gasteiger::GasteigerAtomTypeDataCOP core::chemical::Atom::gasteiger_atom_type_
private

Gasteiger atom-type.

Referenced by gasteiger_atom_type(), operator==(), and show().

GreekDistance core::chemical::Atom::greek_d_ = NA_GREEK_DISTANCE
private

Referenced by greek_distance(), operator==(), and show().

MutableICoorRecordCOP core::chemical::Atom::icoor_
private

Internal coordinates on how to build the given atom - used in preference to ideal_xyz if set.

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

Vector core::chemical::Atom::ideal_xyz_ {0,0,0}
private

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

bool core::chemical::Atom::is_actcoord_ = false
private

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

bool core::chemical::Atom::is_backbone_ = false
private

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

std::string core::chemical::Atom::mm_name_
private

Referenced by mm_name(), operator==(), and show().

friend core::chemical::Atom::MutableResidueType
protected
std::string core::chemical::Atom::name_
private

Referenced by name(), operator==(), and show().

utility::pointer::DeepCopyOP< AtomProperties > core::chemical::Atom::properties_
private

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