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

#include <GasteigerAtomTypeData.hh>

Inheritance diagram for core::chemical::gasteiger::GasteigerAtomTypeData:
Inheritance graph
[legend]

Public Types

enum  Properties {
  SigmaValenceStateIonizationPotential, SigmaValenceStateElectronAffinity, SigmaOrbitalElectronegativityMulliken, SigmaOrbitalElectronegativityPauling,
  PiValenceStateIonizationPotential, PiValenceStateElectronAffinity, PiOrbitalElectronegativityMulliken, PiOrbitalElectronegativityPauling,
  LonePairIonizationPotential, LonePairElectronAffinity, LonePairElectronegativityMulliken, AdditiveAtomicPolarizability,
  VdWaalsRadiusCSD, CovalentRadiusSingleBond, CovalentRadiusDoubleBond, CovalentRadiusTripleBond,
  CovalentRadiusAromaticBond, NumberOfProperties
}
 enum properties for atom types More...
 
enum  PiContributionType { Zero, One, Two, ZeroOrTwo }
 how the atom type can contribute to a pi system More...
 
enum  AtomicOrbitalTypes {
  S, Px, Py, Pz,
  Dxy, Dxz, Dyz, Dz2,
  Dx2y2, NumberOfAtomicOrbitalTypes
}
 
enum  HybridOrbitalType {
  Unhybridized, SP, SP2, SP3,
  NumberHybridOrbitalType
}
 
enum  TypeDifference {
  None, NumberBondingSOrbitals, NumberBondingPOrbitals, NumberLonePairOrbitals,
  Other, NumberTypeDifferences
}
 Type difference specifies the difference between two atom types. More...
 

Public Member Functions

 GasteigerAtomTypeData ()
 default constructor More...
 
 ~GasteigerAtomTypeData () override
 destructor More...
 
 GasteigerAtomTypeData (std::string const &NAME, const ElementOP &ELEMENT_TYPE, const HybridOrbitalType &HYBRIDIZATION, const core::Size &HYBRID_ORBITALS_IN_SIGMA_BONDS, const core::Size &HYBRID_ORBITALS_NONBINDING, std::set< AtomicOrbitalTypes > const &PI_ORBITALS_IN_BONDS, std::set< AtomicOrbitalTypes > const &ATOMIC_ORBITALS_NONBINDING, const core::Real &SIGMA_VALENCE_STATE_IONIZATION_POTENTIAL, const core::Real &SIGMA_VALENCE_STATE_ELECTRON_AFFINITY, const core::Real &PI_VALENCE_STATE_IONIZATION_POTENTIAL, const core::Real &PI_VALENCE_STATE_ELECTRON_AFFINITY, const core::Real &LONE_PAIR_IONIZATION_POTENTIAL, const core::Real &LONE_PAIR_ELECTRON_AFFINITY, const core::Real &ATOMIC_POLARIZABILITY)
 the usual constructor More...
 
 GasteigerAtomTypeData (std::string const &NAME, const std::string &ELEMENT, const HybridOrbitalType &HYBRIDIZATION, const core::Size &HYBRID_ORBITALS_IN_SIGMA_BONDS, const core::Size &HYBRID_ORBITALS_NONBINDING, std::set< AtomicOrbitalTypes > const &PI_ORBITALS_IN_BONDS, std::set< AtomicOrbitalTypes > const &ATOMIC_ORBITALS_NONBINDING, const core::Real &SIGMA_VALENCE_STATE_IONIZATION_POTENTIAL, const core::Real &SIGMA_VALENCE_STATE_ELECTRON_AFFINITY, const core::Real &PI_VALENCE_STATE_IONIZATION_POTENTIAL, const core::Real &PI_VALENCE_STATE_ELECTRON_AFFINITY, const core::Real &LONE_PAIR_IONIZATION_POTENTIAL, const core::Real &LONE_PAIR_ELECTRON_AFFINITY, const core::Real &ATOMIC_POLARIZABILITY, ElementSetCOP ele_set)
 the usual constructor, with element set. More...
 
 GasteigerAtomTypeData (std::string const &NAME, ElementOP ELEMENT_TYPE, const short CHARGE)
 constructor from just an element type and charge More...
 
GasteigerAtomTypeDataOP Clone () const
 Clone function. More...
 
std::string const & get_name () const
 return Name More...
 
ElementCOP get_element_type () const
 return ElementType More...
 
HybridOrbitalType get_hybrid_orbital_type () const
 returns the hybridization of the atom type More...
 
core::Size get_number_hybrid_orbitals () const
 returns the number of hybridized orbitals More...
 
core::Size get_number_hybrid_lone_pairs () const
 returns the number of lone pairs in hybrid orbitals More...
 
core::Size get_number_hybrid_bonds () const
 return Number of bonds More...
 
core::Size get_number_bonds () const
 
core::Size get_number_unhybridized_sigma_orbitals () const
 return Number of Sigma orbitals that are not hybridized More...
 
core::Size get_number_sigma_orbitals () const
 return Number of Sigma orbitals More...
 
core::Size get_number_electrons_in_p_orbitals () const
 return Number of occupied p orbitals More...
 
core::Size get_number_pi_orbitals () const
 return Number of pi-orbitals More...
 
short get_formal_charge () const
 return Charge More...
 
core::Size get_valence_electrons_sp () const
 
core::Size get_number_electrons_in_bonds () const
 get_number_electrons_in_bonds calculates the total number of electrons in pi-orbital and sigma bonds More...
 
core::Size get_number_unhybridized_lone_pairs () const
 return Number of unhybridized lone pairs More...
 
core::Real get_atom_type_property (const GasteigerAtomTypeData::Properties PROPERTY) const
 atom type property as core::Real More...
 
core::Real get_orbital_E_neg_pos () const
 
bool is_conjugated () const
 determine if this atom type can participate in pi-bond conjugation More...
 
bool is_gasteiger_atom_type () const
 is this a well characterized gasteiger atom type More...
 
core::Size get_maxE_contribution_to_pi_system () const
 Get the max number of electrons available for contribution to an aromatic ring. More...
 
PiContributionType get_pi_electron_contribution_type () const
 Get the type of contribution this atom type can make to a pi system. More...
 
core::Real get_stability_metric () const
 Get the stability metric. Electronic stability is indicated by a larger number This is used to decide between atom types when no other means are possible. More...
 
std::istream & read (std::istream &ISTREAM, ElementSetCAP ele_set)
 read from std::istream More...
 
std::ostream & write (std::ostream &OSTREAM) const
 write to std::ostream More...
 
core::Real calculate_stability_metric () const
 calculate the stability metric. Electronic stability is indicated by a larger number This is used to decide between atom types when no other means are possible More...
 
core::Real get_average_ip_change_cation_to_neutral (const TypeDifference TYPE_DIFFERENCE) const
 get the average ionization potential ratio between cation and neutral atom type that differ by TYPE_DIFFERENCE More...
 
core::Real get_average_ip_change_neutral_to_anion (const TypeDifference TYPE_DIFFERENCE) const
 get the average ionization potential ratio between neutral and cation atom type that differ by TYPE_DIFFERENCE More...
 
TypeDifference difference_from (const GasteigerAtomTypeData &OTHER)
 determine the difference betweent his atom type data and another More...
 
core::Real get_electronegativity (const TypeDifference TYPE_DIFFERENCE) const
 get the electronegativity type corresponding to a TypeDifference More...
 
core::Real get_ionization_potential (const TypeDifference TYPE_DIFFERENCE) const
 get the ionization potential type corresponding to a TypeDifference More...
 
core::Real get_electron_affinity (const TypeDifference TYPE_DIFFERENCE) const
 get the electron affinity type corresponding to a TypeDifference More...
 
void set_property (const Properties DATA, const core::Real VALUE)
 set a particular data More...
 

Static Public Member Functions

static const std::string & GetPropertyName (const Properties PROPERTY)
 element type property as string More...
 
static std::vector
< std::string > const & 
AtomicOrbitalTypes_strings ()
 
static const std::string & get_type_difference_name (const TypeDifference TYPE_DIFFERENCE)
 type difference as string More...
 
static core::Real get_average_neutral_sigma_ip_to_anion_ip_ratio ()
 GetAverageNeutralSigmaIVToEARatio helper function for AtomTypes::CalculateElectronegativityValues. More...
 
static core::Real get_average_neutral_pi_ip_to_anion_ip_ratio ()
 get_average_neutral_pi_ip_to_anion_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues More...
 
static core::Real get_average_cation_sigma_ip_to_neutral_ip_ratio ()
 get_average_cation_sigma_ip_to_neutral_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues More...
 
static core::Real get_average_cation_pi_ip_to_neutral_ip_ratio ()
 get_average_cation_pi_ip_to_neutral_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues More...
 

Private Member Functions

void initialize ()
 Initialize derived values. More...
 

Private Attributes

std::string name_
 
ElementCOP element_type_
 name of the atom type More...
 
HybridOrbitalType hybridization_
 Unhybridized, SP, SP2, or SP3. More...
 
core::Size number_hybrid_orbitals_sigma_binding_
 hybrid orbitals that are binding More...
 
core::Size number_hybrid_orbitals_nonbinding_
 hybrid orbitals that are non binding with their electrons More...
 
core::Size number_electrons_in_bonds_
 Number of e- bonds (calculated) More...
 
core::Size number_bonds_
 Number of bonds (calculated) More...
 
core::Size max_e_contribution_to_pi_system_
 Number of e- in pi system (calculated) More...
 
std::set< AtomicOrbitalTypespi_orbitals_binding_
 pi orbitals involved in binding More...
 
std::set< AtomicOrbitalTypesatomic_orbitals_nonbinding_
 non hybridized non binding orbitals with their electrons More...
 
core::Real properties_ [int(NumberOfProperties)]
 real-valued properties More...
 
core::Real orbital_e_neg_pos_
 orbital electronegativity associated with the charged state More...
 
core::Real stability_metric_
 estimated stability of the atom type; only used to resolve clashes in atom types More...
 
short charge_
 charge of atom type = difference between electrons in bonds and non-bonds minus valence electrons More...
 
bool conjugated_
 whether this atom is conjugated More...
 
core::Real sigma_charge_to_en_inflection_
 Inflection point for sigma charge to inflection. More...
 
core::Real pi_charge_to_en_inflection_
 Inflection point for pi charge to inflection. More...
 
core::Real sigma_charge_to_lone_pair_en_inflection_
 Inflection point for sigma charge to inflection. More...
 
bool is_gasteiger_type_
 Is the type a proper gasteiger type. More...
 
PiContributionType pi_contribution_
 Contribution of this atom type to a pi-conjugated system. More...
 

Member Enumeration Documentation

Enumerator
Px 
Py 
Pz 
Dxy 
Dxz 
Dyz 
Dz2 
Dx2y2 
NumberOfAtomicOrbitalTypes 
Enumerator
Unhybridized 
SP 
SP2 
SP3 
NumberHybridOrbitalType 

how the atom type can contribute to a pi system

Enumerator
Zero 

no pi electrons will be contributed; e.g. atom type with no non-singular bonds, no lone pairs, like B_TrTrTr

One 

exactly one pi electron will be contributed by this atom type (atom type with a double bond)

Two 

exactly two pi electrons will be contributed by this atom type (atom type with a triple bond or two 2x bonds)

ZeroOrTwo 

Either zero or two pi electrons will be contributed by this atom type (atom type with lone pairs but only singular bonds)

enum properties for atom types

Enumerator
SigmaValenceStateIonizationPotential 

sigma ionization potential

SigmaValenceStateElectronAffinity 

sigma electron affinity

SigmaOrbitalElectronegativityMulliken 

sigma orbital electronegativity, Mulliken scale

SigmaOrbitalElectronegativityPauling 

sigma orbital electronegativity, Pauli scale

PiValenceStateIonizationPotential 

pi ionization potential

PiValenceStateElectronAffinity 

pi electron affinity

PiOrbitalElectronegativityMulliken 

pi orbital electronegativity, Mulliken scale

PiOrbitalElectronegativityPauling 

pi orbital electronegativity, Pauli scale

LonePairIonizationPotential 

lone pair ionization potential

LonePairElectronAffinity 

lone pair electron affinity

LonePairElectronegativityMulliken 

lone pair electronegativity

AdditiveAtomicPolarizability 

additive atomic polarizability, see J. Am. Chem. Soc. 1990, 112, 8533-8542

VdWaalsRadiusCSD 

Vdw radius for the atom type using data from the CSD; see notes below.

CovalentRadiusSingleBond 

Covalent radius for single bond.

CovalentRadiusDoubleBond 

Covalent radius for double bond.

CovalentRadiusTripleBond 

Covalent radius for triple bond.

CovalentRadiusAromaticBond 

Covalent radius for an aromatic bond.

NumberOfProperties 

Number of properties.

Type difference specifies the difference between two atom types.

Enumerator
None 

atom types are identical

NumberBondingSOrbitals 

different # of electrons in bonding s-orbitals

NumberBondingPOrbitals 

different # of electrons in bonding p-orbitals

NumberLonePairOrbitals 

different # of electrons in lone pairs

Other 

multiple differences or other differences (e.g. element type),

NumberTypeDifferences 

Constructor & Destructor Documentation

core::chemical::gasteiger::GasteigerAtomTypeData::GasteigerAtomTypeData ( )

default constructor

References properties_.

core::chemical::gasteiger::GasteigerAtomTypeData::~GasteigerAtomTypeData ( )
overridedefault

destructor

core::chemical::gasteiger::GasteigerAtomTypeData::GasteigerAtomTypeData ( std::string const &  NAME,
const ElementOP ELEMENT_TYPE,
const HybridOrbitalType HYBRIDIZATION,
const core::Size HYBRID_ORBITALS_IN_SIGMA_BONDS,
const core::Size HYBRID_ORBITALS_NONBINDING,
std::set< AtomicOrbitalTypes > const &  PI_ORBITALS_IN_BONDS,
std::set< AtomicOrbitalTypes > const &  ATOMIC_ORBITALS_NONBINDING,
const core::Real SIGMA_VALENCE_STATE_IONIZATION_POTENTIAL,
const core::Real SIGMA_VALENCE_STATE_ELECTRON_AFFINITY,
const core::Real PI_VALENCE_STATE_IONIZATION_POTENTIAL,
const core::Real PI_VALENCE_STATE_ELECTRON_AFFINITY,
const core::Real LONE_PAIR_IONIZATION_POTENTIAL,
const core::Real LONE_PAIR_ELECTRON_AFFINITY,
const core::Real ATOMIC_POLARIZABILITY 
)

the usual constructor

core::chemical::gasteiger::GasteigerAtomTypeData::GasteigerAtomTypeData ( std::string const &  NAME,
const std::string &  ELEMENT,
const HybridOrbitalType HYBRIDIZATION,
const core::Size HYBRID_ORBITALS_IN_SIGMA_BONDS,
const core::Size HYBRID_ORBITALS_NONBINDING,
std::set< AtomicOrbitalTypes > const &  PI_ORBITALS_IN_BONDS,
std::set< AtomicOrbitalTypes > const &  ATOMIC_ORBITALS_NONBINDING,
const core::Real SIGMA_VALENCE_STATE_IONIZATION_POTENTIAL,
const core::Real SIGMA_VALENCE_STATE_ELECTRON_AFFINITY,
const core::Real PI_VALENCE_STATE_IONIZATION_POTENTIAL,
const core::Real PI_VALENCE_STATE_ELECTRON_AFFINITY,
const core::Real LONE_PAIR_IONIZATION_POTENTIAL,
const core::Real LONE_PAIR_ELECTRON_AFFINITY,
const core::Real ATOMIC_POLARIZABILITY,
ElementSetCOP  ele_set 
)

the usual constructor, with element set.

the usual constructor

core::chemical::gasteiger::GasteigerAtomTypeData::GasteigerAtomTypeData ( std::string const &  NAME,
ElementOP  ELEMENT_TYPE,
const short  CHARGE 
)

constructor from just an element type and charge

Member Function Documentation

std::vector< std::string > const & core::chemical::gasteiger::GasteigerAtomTypeData::AtomicOrbitalTypes_strings ( )
static
core::Real core::chemical::gasteiger::GasteigerAtomTypeData::calculate_stability_metric ( ) const

calculate the stability metric. Electronic stability is indicated by a larger number This is used to decide between atom types when no other means are possible

References PiValenceStateElectronAffinity, PiValenceStateIonizationPotential, properties_, SigmaValenceStateElectronAffinity, and SigmaValenceStateIonizationPotential.

Referenced by initialize().

GasteigerAtomTypeDataOP core::chemical::gasteiger::GasteigerAtomTypeData::Clone ( ) const

Clone function.

Returns
pointer to new AtomTypeData
pointer to new GasteigerAtomTypeData
GasteigerAtomTypeData::TypeDifference core::chemical::gasteiger::GasteigerAtomTypeData::difference_from ( const GasteigerAtomTypeData OTHER)

determine the difference betweent his atom type data and another

Parameters
OTHERthe atom type data to compare this atom type data to
Returns
the corresponding TypeDifference

References charge_, element_type_, get_number_bonds(), get_number_hybrid_lone_pairs(), get_number_hybrid_orbitals(), get_number_sigma_orbitals(), get_number_unhybridized_lone_pairs(), hybridization_, None, number_electrons_in_bonds_, NumberBondingPOrbitals, NumberBondingSOrbitals, NumberLonePairOrbitals, and Other.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_atom_type_property ( const GasteigerAtomTypeData::Properties  PROPERTY) const

atom type property as core::Real

Parameters
PROPERTYthe property desired
Returns
the property as core::Real

References properties_.

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

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_cation_pi_ip_to_neutral_ip_ratio ( )
static

get_average_cation_pi_ip_to_neutral_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues

Returns
reference to a core::Real, which returns the ratio of Average(PiValenceStateIonizationPotential) for cations vs. neutral atoms

Referenced by get_average_ip_change_cation_to_neutral().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_cation_sigma_ip_to_neutral_ip_ratio ( )
static

get_average_cation_sigma_ip_to_neutral_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues

Returns
reference to a core::Real, which returns the ratio of Average(SigmaValenceStateIonizationPotential) for cations vs. neutral atoms

Referenced by get_average_ip_change_cation_to_neutral().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_ip_change_cation_to_neutral ( const TypeDifference  TYPE_DIFFERENCE) const

get the average ionization potential ratio between cation and neutral atom type that differ by TYPE_DIFFERENCE

Parameters
TYPE_DIFFERENCEthe type difference to get the corresponding ratio for
Returns
the ratio

References get_average_cation_pi_ip_to_neutral_ip_ratio(), get_average_cation_sigma_ip_to_neutral_ip_ratio(), NumberBondingPOrbitals, NumberBondingSOrbitals, and NumberLonePairOrbitals.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_ip_change_neutral_to_anion ( const TypeDifference  TYPE_DIFFERENCE) const

get the average ionization potential ratio between neutral and cation atom type that differ by TYPE_DIFFERENCE

Parameters
TYPE_DIFFERENCEthe type difference to get the corresponding ratio for
Returns
the ratio

References get_average_neutral_pi_ip_to_anion_ip_ratio(), get_average_neutral_sigma_ip_to_anion_ip_ratio(), NumberBondingPOrbitals, NumberBondingSOrbitals, and NumberLonePairOrbitals.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_neutral_pi_ip_to_anion_ip_ratio ( )
static

get_average_neutral_pi_ip_to_anion_ip_ratio helper function for AtomTypes::CalculateElectronegativityValues

Returns
reference to a core::Real, which returns the ratio of Average(PiValenceStateIonizationPotential) for neutral atoms vs. anions

Referenced by get_average_ip_change_neutral_to_anion().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_average_neutral_sigma_ip_to_anion_ip_ratio ( )
static

GetAverageNeutralSigmaIVToEARatio helper function for AtomTypes::CalculateElectronegativityValues.

Returns
reference to a core::Real, which returns the ratio of Average(SigmaValenceStateIonizationPotential) for neutral atoms vs. anions

Referenced by get_average_ip_change_neutral_to_anion().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_electron_affinity ( const TypeDifference  TYPE_DIFFERENCE) const

get the electron affinity type corresponding to a TypeDifference

get the electron affinity type corresponding to TypeDifference

Parameters
TYPE_DIFFERENCEthe type difference to get the corresponding electron affinity for
Returns
the electron affinity type corresponding to TypeDifference

References LonePairElectronAffinity, NumberBondingPOrbitals, NumberBondingSOrbitals, NumberLonePairOrbitals, PiValenceStateElectronAffinity, properties_, and SigmaValenceStateElectronAffinity.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_electronegativity ( const TypeDifference  TYPE_DIFFERENCE) const

get the electronegativity type corresponding to a TypeDifference

get the electronegativity type corresponding to TypeDifference

Parameters
TYPE_DIFFERENCEthe type difference to get the corresponding electronegativity for
Returns
the electronegativity type corresponding to TypeDifference

References LonePairElectronegativityMulliken, NumberBondingPOrbitals, NumberBondingSOrbitals, NumberLonePairOrbitals, PiOrbitalElectronegativityMulliken, properties_, and SigmaOrbitalElectronegativityMulliken.

ElementCOP core::chemical::gasteiger::GasteigerAtomTypeData::get_element_type ( ) const

return ElementType

References element_type_.

short core::chemical::gasteiger::GasteigerAtomTypeData::get_formal_charge ( ) const

return Charge

Returns
Charge

References charge_.

Referenced by get_valence_electrons_sp().

GasteigerAtomTypeData::HybridOrbitalType core::chemical::gasteiger::GasteigerAtomTypeData::get_hybrid_orbital_type ( ) const

returns the hybridization of the atom type

Returns
the type of hybrid orbital

References hybridization_.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_ionization_potential ( const TypeDifference  TYPE_DIFFERENCE) const

get the ionization potential type corresponding to a TypeDifference

get the ionization potential type corresponding to TypeDifference

Parameters
TYPE_DIFFERENCEthe type difference to get the corresponding ionization potential for
Returns
the ionization potential type corresponding to TypeDifference

References LonePairIonizationPotential, NumberBondingPOrbitals, NumberBondingSOrbitals, NumberLonePairOrbitals, PiValenceStateIonizationPotential, properties_, and SigmaValenceStateIonizationPotential.

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_maxE_contribution_to_pi_system ( ) const

Get the max number of electrons available for contribution to an aromatic ring.

Returns
the max electrons contributed by this atom type to a pi system

References max_e_contribution_to_pi_system_.

std::string const & core::chemical::gasteiger::GasteigerAtomTypeData::get_name ( ) const

return Name

References name_.

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_bonds ( ) const
Returns
Number of bonds

References number_bonds_.

Referenced by difference_from().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_electrons_in_bonds ( ) const

get_number_electrons_in_bonds calculates the total number of electrons in pi-orbital and sigma bonds

References number_electrons_in_bonds_.

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_electrons_in_p_orbitals ( ) const

return Number of occupied p orbitals

Returns
Number of electrons in p orbitals (whether hybridized or not)

References get_number_unhybridized_sigma_orbitals(), and number_electrons_in_bonds_.

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_hybrid_bonds ( ) const

return Number of bonds

Returns
Number of hybridized bonds

References number_hybrid_orbitals_sigma_binding_, and pi_orbitals_binding_.

Referenced by initialize().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_hybrid_lone_pairs ( ) const

returns the number of lone pairs in hybrid orbitals

Returns
the number of lone pairs in hybrid orbitals

References number_hybrid_orbitals_nonbinding_.

Referenced by difference_from(), and initialize().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_hybrid_orbitals ( ) const

returns the number of hybridized orbitals

Returns
the number of hybridized orbitals

References number_hybrid_orbitals_nonbinding_, and number_hybrid_orbitals_sigma_binding_.

Referenced by difference_from().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_pi_orbitals ( ) const

return Number of pi-orbitals

Returns
Number of pi-orbitals

References pi_orbitals_binding_.

Referenced by initialize().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_sigma_orbitals ( ) const

return Number of Sigma orbitals

Returns
Number of Sigma orbitals

References get_number_unhybridized_sigma_orbitals(), and number_hybrid_orbitals_sigma_binding_.

Referenced by difference_from().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_unhybridized_lone_pairs ( ) const

return Number of unhybridized lone pairs

References atomic_orbitals_nonbinding_.

Referenced by difference_from(), and initialize().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_number_unhybridized_sigma_orbitals ( ) const

return Number of Sigma orbitals that are not hybridized

Returns
Number of Sigma orbitals that are not hybridized

References pi_orbitals_binding_, and S.

Referenced by get_number_electrons_in_p_orbitals(), get_number_sigma_orbitals(), and initialize().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_orbital_E_neg_pos ( ) const
Returns
the orbital electronegativity associated with the charged state

References orbital_e_neg_pos_.

GasteigerAtomTypeData::PiContributionType core::chemical::gasteiger::GasteigerAtomTypeData::get_pi_electron_contribution_type ( ) const

Get the type of contribution this atom type can make to a pi system.

Returns
the type of contribution this atom type can make to a pi system

References pi_contribution_.

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::get_stability_metric ( ) const

Get the stability metric. Electronic stability is indicated by a larger number This is used to decide between atom types when no other means are possible.

References stability_metric_.

const std::string & core::chemical::gasteiger::GasteigerAtomTypeData::get_type_difference_name ( const TypeDifference  TYPE_DIFFERENCE)
static

type difference as string

Parameters
TYPE_DIFFERENCEthe type difference for which a string is desired
Returns
the type difference as a string
core::Size core::chemical::gasteiger::GasteigerAtomTypeData::get_valence_electrons_sp ( ) const
Returns
valence electrons in sp orbitals

References element_type_, and get_formal_charge().

const std::string & core::chemical::gasteiger::GasteigerAtomTypeData::GetPropertyName ( const Properties  PROPERTY)
static

element type property as string

Note
VdWaalsRadiusCSD is only valid for atoms without hydrogens, and can only be used to
detect bad geometries if both atoms have no H (otherwise H bonding may lead to close contacts, also
could imply missing bonds), and which do not have opposite charges
VdWaalsRadiusCSD was calculated using data from the cambridge structural database
Vdw radii may be violated in certain bridged ring systems
Parameters
PROPERTYthe property desired
Returns
the property as string
Parameters
PROPERTYthe property desired
Returns
the property as string
void core::chemical::gasteiger::GasteigerAtomTypeData::initialize ( )
private
bool core::chemical::gasteiger::GasteigerAtomTypeData::is_conjugated ( ) const

determine if this atom type can participate in pi-bond conjugation

Returns
true iff this atom type has any non-single bonds or lone pairs
true iff this atom type has any e- in p-orbitals or lone pairs

References conjugated_.

bool core::chemical::gasteiger::GasteigerAtomTypeData::is_gasteiger_atom_type ( ) const

is this a well characterized gasteiger atom type

Returns
true iff this atom type is this a well characterized gasteiger atom type

References is_gasteiger_type_.

std::istream & core::chemical::gasteiger::GasteigerAtomTypeData::read ( std::istream &  ISTREAM,
ElementSetCAP  ele_set_ap 
)
void core::chemical::gasteiger::GasteigerAtomTypeData::set_property ( const Properties  DATA,
const core::Real  VALUE 
)

set a particular data

Parameters
DATAthe property to set
VALUEthe value to set the property to

References properties_.

std::ostream & core::chemical::gasteiger::GasteigerAtomTypeData::write ( std::ostream &  OSTREAM) const

Member Data Documentation

std::set< AtomicOrbitalTypes > core::chemical::gasteiger::GasteigerAtomTypeData::atomic_orbitals_nonbinding_
private

non hybridized non binding orbitals with their electrons

Referenced by get_number_unhybridized_lone_pairs(), initialize(), read(), and write().

short core::chemical::gasteiger::GasteigerAtomTypeData::charge_
private

charge of atom type = difference between electrons in bonds and non-bonds minus valence electrons

Referenced by difference_from(), get_formal_charge(), and initialize().

bool core::chemical::gasteiger::GasteigerAtomTypeData::conjugated_
private

whether this atom is conjugated

Referenced by initialize(), and is_conjugated().

ElementCOP core::chemical::gasteiger::GasteigerAtomTypeData::element_type_
private

name of the atom type

element type

Referenced by difference_from(), get_element_type(), get_valence_electrons_sp(), initialize(), read(), and write().

HybridOrbitalType core::chemical::gasteiger::GasteigerAtomTypeData::hybridization_
private

Unhybridized, SP, SP2, or SP3.

Referenced by difference_from(), get_hybrid_orbital_type(), initialize(), read(), and write().

bool core::chemical::gasteiger::GasteigerAtomTypeData::is_gasteiger_type_
private

Is the type a proper gasteiger type.

Referenced by initialize(), and is_gasteiger_atom_type().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::max_e_contribution_to_pi_system_
private

Number of e- in pi system (calculated)

Referenced by get_maxE_contribution_to_pi_system(), and initialize().

std::string core::chemical::gasteiger::GasteigerAtomTypeData::name_
private

Referenced by get_name(), read(), and write().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::number_bonds_
private

Number of bonds (calculated)

Referenced by get_number_bonds(), and initialize().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::number_electrons_in_bonds_
private
core::Size core::chemical::gasteiger::GasteigerAtomTypeData::number_hybrid_orbitals_nonbinding_
private

hybrid orbitals that are non binding with their electrons

Referenced by get_number_hybrid_lone_pairs(), get_number_hybrid_orbitals(), initialize(), read(), and write().

core::Size core::chemical::gasteiger::GasteigerAtomTypeData::number_hybrid_orbitals_sigma_binding_
private
core::Real core::chemical::gasteiger::GasteigerAtomTypeData::orbital_e_neg_pos_
private

orbital electronegativity associated with the charged state

Referenced by get_orbital_E_neg_pos(), and initialize().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::pi_charge_to_en_inflection_
private

Inflection point for pi charge to inflection.

Referenced by initialize().

PiContributionType core::chemical::gasteiger::GasteigerAtomTypeData::pi_contribution_
private

Contribution of this atom type to a pi-conjugated system.

Referenced by get_pi_electron_contribution_type(), and initialize().

std::set< AtomicOrbitalTypes > core::chemical::gasteiger::GasteigerAtomTypeData::pi_orbitals_binding_
private
core::Real core::chemical::gasteiger::GasteigerAtomTypeData::properties_[int(NumberOfProperties)]
private
core::Real core::chemical::gasteiger::GasteigerAtomTypeData::sigma_charge_to_en_inflection_
private

Inflection point for sigma charge to inflection.

Referenced by initialize().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::sigma_charge_to_lone_pair_en_inflection_
private

Inflection point for sigma charge to inflection.

Referenced by initialize().

core::Real core::chemical::gasteiger::GasteigerAtomTypeData::stability_metric_
private

estimated stability of the atom type; only used to resolve clashes in atom types

Referenced by get_stability_metric(), and initialize().


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