Rosetta Core  2014.35
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)
 
 ~Atom ()
 
void show (std::ostream &out=std::cout) const
 Generate string representation of chemical::Atom for debugging purposes. More...
 
bool operator== (Atom const &atom) const
 
Atomoperator= (Atom const &atom)
 
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
 
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 ()
 
bool heavyatom_has_polar_hydrogens () const
 
bool is_acceptor () const
 
bool is_polar_hydrogen () const
 
bool is_hydrogen () const
 
bool is_haro () const
 
bool is_virtual () const
 
bool has_orbitals () const
 
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 heavyatom_has_polar_hydrogens (bool heavyatom_has_polar_hydrogens)
 
void is_polar_hydrogen (bool polar)
 
void is_hydrogen (bool hydrogen)
 
void is_haro (bool haro)
 
void is_acceptor (bool acceptor)
 
void is_virtual (bool is_virtual)
 
void has_orbitals (bool orbitals)
 
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_
 
bool heavyatom_has_polar_hydrogens_
 is an atom both a heavy atom and chemically bonded to a polar hydrogen? Derived data, reset in ResidueType.finalize() More...
 
bool is_acceptor_
 is an atom both a heavy atom and capable of accepting hydrogen bonds? Derived from Rosetta Atom type, set in add_atom() More...
 
bool is_polar_hydrogen_
 is an atom a polar hydrogen? Derived from Rosetta Atom type, set in add_atom() More...
 
bool is_hydrogen_
 is an atom a hydrogen? Derived from Rosetta Atom type, set in add_atom() More...
 
bool is_haro_
 is an atom an aromatic hydrogen? Derived from Rosetta Atom type, set in add_atom() More...
 
bool is_virtual_
 is an atom a virtual atom? 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_
 

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 unset 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)
core::chemical::Atom::~Atom ( )

Member Function Documentation

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

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

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

References has_orbitals_.

bool core::chemical::Atom::heavyatom_has_polar_hydrogens ( ) const
inline
void core::chemical::Atom::heavyatom_has_polar_hydrogens ( bool  heavyatom_has_polar_hydrogens)
inline
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  acceptor)
inline

References is_acceptor_.

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

References is_haro_.

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

References is_hydrogen_.

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

References is_polar_hydrogen_.

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

References is_virtual(), and is_virtual_.

Referenced by is_virtual().

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
void core::chemical::Atom::show ( std::ostream &  out = std::cout) const

Member Data Documentation

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

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

bool core::chemical::Atom::heavyatom_has_polar_hydrogens_
private

is an atom both a heavy atom and chemically bonded to a polar hydrogen? Derived data, reset in ResidueType.finalize()

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

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

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

bool core::chemical::Atom::is_acceptor_
private

is an atom both a heavy atom and capable of accepting hydrogen bonds? Derived from Rosetta Atom type, set in add_atom()

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

bool core::chemical::Atom::is_haro_
private

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

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

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

bool core::chemical::Atom::is_polar_hydrogen_
private

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

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

bool core::chemical::Atom::is_virtual_
private

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

Referenced by is_fake(), is_virtual(), 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().


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