Rosetta  2019.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | 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, Size const mm_atom_type_index, ElementCOP element, Real const charge, Vector const &ideal_xyz)
 Construct a new atom with the name, mm type, element, charge and position. More...
 
 Atom (Atom const &src)
 Copy constructor. More...
 
 ~Atom ()
 
bool operator== (Atom const &atom) const
 
Atomoperator= (Atom const &atom)
 
void show (std::ostream &out=std::cout) const
 Generate string representation of chemical::Atom for debugging purposes. More...
 
std::string const & name () const
 
std::string const & mm_name () const
 
Size const & atom_type_index () const
 
Size const & mm_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
 
int const & formal_charge () const
 
Real const & charge () const
 
Vector const & ideal_xyz () const
 
utility::vector1< Size > const & bonded_orbitals () const
 
utility::vector1< Size > & bonded_orbitals ()
 
AtomPropertiesproperties () const
 Access the collection of properties for this Atom. More...
 
bool has_property (std::string const &property) const
 Generic property access. More...
 
bool has_property (AtomProperty const property) const
 
bool heavyatom_has_polar_hydrogens () const
 Get whether or not this heavy atom is a hydrogen-bond donor. More...
 
bool is_acceptor () const
 Get whether or not this heavy atom is a hydrogen-bond acceptor. More...
 
bool is_hydrogen () const
 
bool is_polar_hydrogen () const
 Get whether or not this hydrogen atom is polar. More...
 
bool is_haro () const
 Get whether or not this hydrogen atom is bonded to an aromatic ring. More...
 
bool is_virtual () const
 Get whether or not this atom is virtual. More...
 
bool has_orbitals () const
 
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...
 
void name (std::string const &name)
 
void mm_name (std::string const &name)
 
void atom_type_index (Size const &atom_type_index)
 
void mm_atom_type_index (Size const &mm_atom_type_index)
 
void element_type (ElementCOP element)
 
void gasteiger_atom_type (core::chemical::gasteiger::GasteigerAtomTypeDataCOP gasteiger_atom_type)
 
void formal_charge (int charge)
 
void charge (Real const &charge)
 
void ideal_xyz (Vector const &ideal_xyz)
 
void set_property (std::string const &property, bool const setting)
 Generic property setting. More...
 
void set_property (AtomProperty const property, bool const setting)
 
void heavyatom_has_polar_hydrogens (bool setting)
 Set whether or not this heavy atom is a hydrogen-bond donor. More...
 
void is_acceptor (bool setting)
 Set whether or not this heavy atom is a hydrogen-bond acceptor. More...
 
void is_hydrogen (bool setting)
 
void is_polar_hydrogen (bool setting)
 Set whether or not this hydrogen atom is polar. More...
 
void is_haro (bool setting)
 Set whether or not this hydrogen atom is bonded to an aromatic ring. More...
 
void is_virtual (bool setting)
 Set whether or not this atom is virtual. More...
 
void has_orbitals (bool orbitals)
 
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...
 
bool is_fake () const
 Return true if this represents a fake/mock atom. More...
 

Private Attributes

std::string name_
 
std::string mm_name_
 
Size atom_type_index_
 
Size mm_atom_type_index_
 
ElementCOP element_
 
gasteiger::GasteigerAtomTypeDataCOP gasteiger_atom_type_
 Gasteiger atom-type. More...
 
int formal_charge_
 The formal (integral) charge on the atom. More...
 
Real charge_
 
Vector ideal_xyz_
 
AtomPropertiesOP properties_
 
bool is_hydrogen_
 is an atom a hydrogen? Derived from Rosetta Atom type, set in add_atom() More...
 
bool has_orbitals_
 doe an atom have orbitals? Derived from Rosetta Atom type, set in add_atom() More...
 
utility::vector1< Sizebonded_orbitals_
 
char abs_stereochem_
 
GreekDistance greek_d_
 

Detailed Description

This class contains the "chemical" information for atoms. This does not contain the actual xyz coordinates of the atom, (which are found in core/conformation/Atom.hh). The atom_type properties are assigned by the class AtomSet, which is initiated from the ChemicalManager. AtomType properties are currently read in from the file chemical/atom_type_sets/fa_standard/atom_properties.txt. These properties contain the the properties of LJ_RADIUS, LJ_WDEPTH, LK_DGRFREE, LK_LAMBDA, and LK_VOLUME and are used in the scoring methods fa_atr, fa_rep, and fa_sol, which are located in the Etable (core/scoring/etable/Etable.hh). Additional parameters are acceptor/donor, hybridization, and orbital paramaters. This class should not have information associated with the Conformation or ResidueType; it represents an atom divorced from a particular conformation or residue but not from things that affect it chemically. It is distinct from an Element, in that it can have a particular hybridization state, charge, etc. It is distinct from conformation::Atom in that it does not have coordinates. Everything stored here should be concerning the atom. Conformation information goes in core::conformation, while data for ResidueType is cached there.

Note
chemical::Atoms are stored in chemical::ResidueType (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,
Size const  mm_atom_type_index,
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.

core::chemical::Atom::Atom ( Atom const &  src)

Copy constructor.

core::chemical::Atom::~Atom ( )
default

Member Function Documentation

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

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

References abs_stereochem_.

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

You probably don't want to use this directly. Use ResidueType::set_atom_type() which correctly updates the internal state of the residuetype/atom

References atom_type_index(), and atom_type_index_.

Referenced by atom_type_index().

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

References bonded_orbitals_.

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

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

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_orbitals ( ) const
inline
void core::chemical::Atom::has_orbitals ( bool  orbitals)
inline

References has_orbitals_.

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

References properties_.

bool core::chemical::Atom::heavyatom_has_polar_hydrogens ( ) const
inline

Get whether or not this heavy atom is a hydrogen-bond donor.

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

Referenced by show().

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

Set whether or not this heavy atom is a hydrogen-bond donor.

References core::chemical::H_DONOR, and set_property().

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

Referenced by ideal_xyz().

bool core::chemical::Atom::is_acceptor ( ) const
inline
void core::chemical::Atom::is_acceptor ( bool  setting)
inline

Set whether or not this heavy atom is a hydrogen-bond acceptor.

References core::chemical::H_ACCEPTOR, and set_property().

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_haro ( ) const
inline
void core::chemical::Atom::is_haro ( bool  setting)
inline

Set whether or not this hydrogen atom is bonded to an aromatic ring.

References core::chemical::AROMATIC_HYDROGEN, and set_property().

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

References is_hydrogen_.

bool core::chemical::Atom::is_polar_hydrogen ( ) const
inline
void core::chemical::Atom::is_polar_hydrogen ( bool  setting)
inline

Set whether or not this hydrogen atom is polar.

References core::chemical::POLAR_HYDROGEN, and set_property().

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

Set whether or not this atom is virtual.

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

Size const& core::chemical::Atom::mm_atom_type_index ( ) const
inline
void core::chemical::Atom::mm_atom_type_index ( Size const &  mm_atom_type_index)
inline
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)
inline

References name(), and name_.

Referenced by name().

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

Access the collection of properties for this Atom.

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_property ( std::string const &  property,
bool const  setting 
)
inline
void core::chemical::Atom::set_property ( AtomProperty const  property,
bool const  setting 
)
inline

References properties_.

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

Member Data Documentation

char core::chemical::Atom::abs_stereochem_
private
Size core::chemical::Atom::atom_type_index_
private
utility::vector1<Size> core::chemical::Atom::bonded_orbitals_
private
Real core::chemical::Atom::charge_
private

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

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

The formal (integral) charge on the atom.

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

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

Gasteiger atom-type.

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

GreekDistance core::chemical::Atom::greek_d_
private
bool core::chemical::Atom::has_orbitals_
private

doe an atom have orbitals? Derived from Rosetta Atom type, set in add_atom()

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

Vector core::chemical::Atom::ideal_xyz_
private

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

bool core::chemical::Atom::is_hydrogen_
private

is an atom a hydrogen? Derived from Rosetta Atom type, set in add_atom()

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

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

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

std::string core::chemical::Atom::name_
private

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

AtomPropertiesOP core::chemical::Atom::properties_
private

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