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

basic atom type More...

#include <AtomType.hh>

Public Member Functions

 AtomType ()
 
 AtomType (std::string const &name_in, std::string element_in)
 Construct a new atom type with its name and element. More...
 
 AtomType (AtomType const &)=default
 
void print (std::ostream &out) const
 
Real lk_lambda () const
 Lazaridis and Karplus solvation parameter – lambda. More...
 
Real lk_dgfree () const
 Lazaridis and Karplus solvation parameter – dgfree. More...
 
Real lk_volume () const
 Lazaridis and Karplus solvation parameter – volume. More...
 
Real lj_radius () const
 Lennard-Jones 6-12 potential parameter – atom radius. More...
 
Real lj_wdepth () const
 Lennard-Jones 6-12 potential parameter – well depth. More...
 
bool is_acceptor () const
 whether atom is a hydrogen bond acceptor More...
 
bool is_donor () const
 whether atom is a hydrogen bond donor More...
 
bool is_polar_hydrogen () const
 whether atom is a polar hydrogen atom More...
 
bool is_hydrogen () const
 whether atom is a hydrogen atom More...
 
bool is_heavyatom () const
 whether atom is a heavy atom More...
 
bool is_virtual () const
 is atom type virtual? More...
 
bool is_repulsive () const
 is atom type repulsive (REPL, REPLS, HREPS) More...
 
bool is_h2o () const
 whether atom is a water More...
 
bool is_aromatic () const
 whether atom is aromatic More...
 
bool atom_has_orbital () const
 atom has an orbital attached More...
 
bool is_haro () const
 is the H atom aromatic? More...
 
void set_parameter (std::string const &param, Real const setting)
 set LJ and LK solvation parameter for this atom type More...
 
void set_property (std::string const &property, bool const setting)
 set relevant properties for this atom type hh More...
 
Hybridization const & hybridization () const
 retrieve an atom's hybridization status. More...
 
void clear_properties ()
 set all standard properties to false, set hybridization to UNKNOWN_HYBRID, and clear extra properties More...
 
void add_property (std::string const &property)
 set standard property to true, or set the specified hybridization More...
 
utility::vector1< std::string > get_all_properties () const
 
std::string element () const
 returns the one- or two-letter element type More...
 
std::string atom_type_name () const
 Get the name of this AtomType. Note that this is NOT the same as the atom name that is written out to PDB. You want pose.residue(i).atom_name(j) for that. More...
 
Real extra_parameter (Size const index) const
 return an additional, non-hardcoded property More...
 
void set_extra_parameter (Size const index, Real const setting)
 return an additional, non-hardcoded property More...
 
void set_all_extra_parameters (utility::vector1< Real > const &extra_parameters)
 all the extra parameters at once More...
 
void name (std::string const &setting)
 
std::string const & name () const
 Get the name of this AtomType. Note that this is NOT the same as the atom name that is written out to PDB. You want pose.residue(i).atom_name(j) for that. More...
 

Private Attributes

std::string name_
 
std::string element_
 
Real lj_radius_
 
Real lj_wdepth_
 
Real lk_lambda_
 
Real lk_volume_
 
Real lk_dgfree_
 
utility::vector1< Realextra_parameters_
 
bool is_acceptor_
 
bool is_donor_
 
bool is_polar_hydrogen_
 
bool is_h2o_
 
bool is_aromatic_
 
bool atom_has_orbitals_
 
bool atom_is_virtual_
 
bool atom_is_repulsive_
 
Hybridization hybridization_
 

Friends

std::ostream & operator<< (std::ostream &out, const AtomType &atom_type)
 

Detailed Description

basic atom type

name, element, certain properties and parameters

Constructor & Destructor Documentation

core::chemical::AtomType::AtomType ( )
inline
core::chemical::AtomType::AtomType ( std::string const &  name_in,
std::string  element_in 
)
inline

Construct a new atom type with its name and element.

All its properties are unset by default.

core::chemical::AtomType::AtomType ( AtomType const &  )
default

Member Function Documentation

void core::chemical::AtomType::add_property ( std::string const &  property)
bool core::chemical::AtomType::atom_has_orbital ( ) const
inline

atom has an orbital attached

References atom_has_orbitals_.

Referenced by get_all_properties(), and print().

std::string core::chemical::AtomType::atom_type_name ( ) const
inline
void core::chemical::AtomType::clear_properties ( )

set all standard properties to false, set hybridization to UNKNOWN_HYBRID, and clear extra properties

References atom_has_orbitals_, atom_is_virtual_, extra_parameters_, hybridization_, is_acceptor_, is_aromatic_, is_donor_, is_h2o_, is_polar_hydrogen_, and core::chemical::UNKNOWN_HYBRID.

std::string core::chemical::AtomType::element ( ) const
inline

returns the one- or two-letter element type

References element_.

Referenced by core::scoring::calc_per_atom_sasa(), core::scoring::calc_per_res_hydrophobic_sasa(), core::scoring::sasa::SasaCalc::calc_per_res_sasas(), core::simple_metrics::per_residue_metrics::PerResidueClashMetric::calculate(), core::pack::interaction_graph::HPatchInteractionGraph< V, E, G >::calculate_alt_state_hpatch_score(), core::scoring::SplitUnfoldedTwoBodyPotential::calculate_residue_emap(), core::chemical::sdf::MolWriter::compose_atoms(), protocols::protein_interface_design::filters::AtomicContactCountFilter::compute(), core::pack::interaction_graph::SurfacePotential::compute_pose_hpatch_score(), protocols::constraint_generator::HydrogenBondConstraintGenerator::compute_valid_atoms(), protocols::motif_grafting::movers::MotifGraftMover::count_clashes_between_two_poses(), protocols::hbnet::HBNet::estimate_saturation(), protocols::metal_interface::find_closest_atom(), core::util::find_metalbinding_atoms_for_complex(), core::conformation::carbohydrates::get_linkage_position_of_saccharide_residue(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand_pharmacophore(), protocols::match::initialize_atomtype_2_probe_radius_map(), protocols::toolbox::match_enzdes_util::LigandConformer::initialize_from_residue(), protocols::match::downstream::RigidLigandBuilder::initialize_from_residue(), protocols::match::downstream::LigandConformerBuilder::initialize_from_residue(), protocols::vardist_solaccess::VarSolDistSasaCalculator::initialize_sasa_arrays(), core::chemical::orbitals::AssignOrbitals::make_orbital_type_name(), protocols::stepwise::modeler::rna::phosphate_base_phosphate_square_deviation(), print(), protocols::stepwise::modeler::rna::print_atom_info(), protocols::stepwise::modeler::rna::print_individual_atom_info(), protocols::simple_moves::PeriodicBoxMover::report_thermodynamics(), core::pack::interaction_graph::RotamerDotsRadiusData::RotamerDotsRadiusData(), core::pack::interaction_graph::HPatchBackgroundNode< V, E, G >::set_rotamer(), core::pack::interaction_graph::HPatchNode< V, E, G >::set_rotamers(), protocols::simple_moves::PeriodicBoxMover::setup_pose(), core::chemical::AtomTypeDatabaseIO::write_atom_type_table(), core::chemical::ResidueTypeKinWriter::write_restype(), protocols::match::output::ResidueKinemageWriter::write_rsd_coords(), and core::conformation::ResidueKinWriter::write_rsd_coords().

Real core::chemical::AtomType::extra_parameter ( Size const  index) const
inline
utility::vector1< std::string > core::chemical::AtomType::get_all_properties ( ) const
Hybridization const& core::chemical::AtomType::hybridization ( ) const
inline
bool core::chemical::AtomType::is_acceptor ( ) const
inline

whether atom is a hydrogen bond acceptor

References is_acceptor_.

Referenced by protocols::hbnet::UnsatSelector::apply(), core::scoring::elec::GroupElec::build_groupinfo(), protocols::ligand_docking::ga_ligand_dock::GridScorer::calculate_grid(), protocols::hydrate::calculate_water_overcoordinated_hb_correction(), protocols::hbnet::UnsatSelector::compute(), core::scoring::geometric_solvation::ExactOccludedHbondSolEnergy::compute_polar_group_sol_energy(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::define_active_virtual_sites(), core::scoring::methods::LK_PolarNonPolarEnergy::eval_residue_pair_derivatives(), protocols::hbnet::HBNet::find_unsats(), protocols::magnesium::MgWaterHydrogenPacker::find_water_neighbor_vecs(), get_all_properties(), core::scoring::methods::LK_PolarNonPolarEnergy::get_residue_pair_energy_one_way(), core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::has_bb_hbond(), core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::has_hbond(), protocols::magnesium::MgHydrater::hydrate_magnesium_with_orbital_frame(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand_pharmacophore(), protocols::task_operations::CrystalContactsOperation::is_crystal_contact(), protocols::ligand_docking::rdf::RDFBinaryHbondFunction::operator()(), core::scoring::etable::MembEtable::precalc_etable_coefficients(), core::scoring::etable::Etable::precalc_etable_coefficients(), print(), protocols::simple_pose_metric_calculators::NumberHBondsCalculator::recompute(), protocols::pose_metric_calculators::SemiExplicitWaterUnsatisfiedPolarsCalculator::recompute(), protocols::simple_pose_metric_calculators::BuriedUnsatisfiedPolarsCalculator::recompute(), core::scoring::methods::LK_hack::residue_pair_energy(), core::scoring::methods::LK_PolarNonPolarEnergy::residue_pair_energy_ext(), protocols::pose_metric_calculators::SemiExplicitWaterUnsatisfiedPolarsCalculator::semiexpl_water_hbgeom_score(), and core::scoring::lkball::LKBallDatabase::setup_atom_weights().

bool core::chemical::AtomType::is_aromatic ( ) const
inline
bool core::chemical::AtomType::is_donor ( ) const
inline

whether atom is a hydrogen bond donor

References is_donor_.

Referenced by protocols::qsar::scoring_grid::HbaGrid::atom_score(), core::scoring::elec::GroupElec::build_groupinfo(), protocols::ligand_docking::ga_ligand_dock::GridScorer::calculate_grid(), core::scoring::geometric_solvation::ExactOccludedHbondSolEnergy::compute_polar_group_sol_energy(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::define_active_virtual_sites(), core::scoring::methods::LK_PolarNonPolarEnergy::eval_residue_pair_derivatives(), protocols::hbnet::HBNet::find_unsats(), get_all_properties(), core::scoring::methods::LK_PolarNonPolarEnergy::get_residue_pair_energy_one_way(), protocols::magnesium::MgHydrater::hydrate_magnesium_with_orbital_frame(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand(), protocols::ligand_docking::ga_ligand_dock::ConstraintInfo::init_from_ligand_pharmacophore(), protocols::task_operations::CrystalContactsOperation::is_crystal_contact(), protocols::ligand_docking::rdf::RDFBinaryHbondFunction::operator()(), core::scoring::etable::MembEtable::precalc_etable_coefficients(), core::scoring::etable::Etable::precalc_etable_coefficients(), print(), protocols::simple_pose_metric_calculators::NumberHBondsCalculator::recompute(), protocols::pose_metric_calculators::SemiExplicitWaterUnsatisfiedPolarsCalculator::recompute(), protocols::simple_pose_metric_calculators::BuriedUnsatisfiedPolarsCalculator::recompute(), protocols::qsar::scoring_grid::HbdGrid::refresh(), core::scoring::methods::LK_hack::residue_pair_energy(), core::scoring::methods::LK_PolarNonPolarEnergy::residue_pair_energy_ext(), protocols::qsar::scoring_grid::HbaGrid::score(), and core::scoring::lkball::LKBallDatabase::setup_atom_weights().

bool core::chemical::AtomType::is_h2o ( ) const
inline
bool core::chemical::AtomType::is_haro ( ) const
inline

is the H atom aromatic?

References name_.

bool core::chemical::AtomType::is_heavyatom ( ) const
inline
bool core::chemical::AtomType::is_hydrogen ( ) const
inline
bool core::chemical::AtomType::is_polar_hydrogen ( ) const
inline
bool core::chemical::AtomType::is_repulsive ( ) const
inline
bool core::chemical::AtomType::is_virtual ( ) const
inline
Real core::chemical::AtomType::lj_radius ( ) const
inline

Lennard-Jones 6-12 potential parameter – atom radius.

There are two functionally identical versions of the Lennard-Jones potential:

E ~ 4eps(sigma1/d)^12 - (sigma1/d)^6 and and E ~ eps(sigma2/d)^12 - 2*(sigma2/d)^6

where sigma1 and sigma2 represent two different interpretations of the radius. eps represents the depth of the potential well. Sigma1 represents the distance between the two atoms where the Lennard-Jones energy is 0, i.e. where a collision is just forming/resolving. Sigma2 represents the distance between the two atoms where the derivative of the Lennard-Jones energy is 0, i.e. the minimum of the well depth.

In rosetta, we mean sigma2 when we talk about radii, but PyMOL usually sets the radii to sigma1. If you see two atoms overlapping using the Rosetta radii, they're not necessarily in collision. They are just not at their minimum value.

The distances are related as sigma2 = 2^(1.0/6)*sigma1; sigma2 ~= 1.22*sigma1

References lj_radius_.

Referenced by protocols::generalized_kinematic_closure::filter::GeneralizedKICfilter::apply_loop_bump_check(), protocols::qsar::scoring_grid::VdwGrid::atom_score(), protocols::rna::movers::bump_check(), core::pose::xyzStripeHashPose::extract_pose_balls(), protocols::stepwise::modeler::rna::sugar::VirtualSugarSampler::fast_full_atom_VDW_repulsion_screen(), core::util::find_metalbinding_atoms_helper(), core::scoring::geometric_solvation::OccludedHbondSolEnergy_onebody::get_atom_atom_occ_solvation(), core::scoring::geometric_solvation::OccludedHbondSolEnergy::get_atom_atom_occ_solvation(), core::chemical::AtomTypeSet::get_default_parameter(), core::scoring::epr_deer::EPRSpinLabel::get_weight(), protocols::sic_dock::SICFast::init(), protocols::match::initialize_atomtype_2_probe_radius_map(), core::simple_metrics::per_residue_metrics::PerResidueClashMetric::is_clashing(), core::pack::task::residue_selector::is_sc_bb_clash(), core::pack::task::residue_selector::is_sc_sc_clash(), core::scoring::packstat::LeeRichards::LeeRichards(), protocols::stepwise::modeler::rna::phosphate::PhosphateMover::pass_clash_check(), protocols::loops::loop_closure::kinematic_closure::KinematicMover::perform_bump_check(), core::scoring::packing::PoseBalls::PoseBalls(), core::scoring::packing::PoseBallsLite::PoseBallsLite(), core::scoring::PQR::PQR(), print(), protocols::qsar::scoring_grid::VdwGrid::refresh(), core::scoring::methods::GaussianOverlapEnergy::residue_pair_energy(), protocols::qsar::scoring_grid::VdwGrid::score(), core::scoring::lkball::LK_BallEnergy::setup_d2_bounds(), protocols::stepwise::modeler::rna::checker::RNA_VDW_BinChecker::update_VDW_screen_bin(), core::chemical::AtomTypeDatabaseIO::write_atom_type_table(), and core::pose::xyzStripeHashPose::xyzStripeHashPose().

Real core::chemical::AtomType::lj_wdepth ( ) const
inline
Real core::chemical::AtomType::lk_dgfree ( ) const
inline

Lazaridis and Karplus solvation parameter – dgfree.

References lk_dgfree_.

Referenced by core::chemical::AtomTypeSet::get_default_parameter(), print(), and core::chemical::AtomTypeDatabaseIO::write_atom_type_table().

Real core::chemical::AtomType::lk_lambda ( ) const
inline

Lazaridis and Karplus solvation parameter – lambda.

References lk_lambda_.

Referenced by core::chemical::AtomTypeSet::get_default_parameter(), print(), and core::chemical::AtomTypeDatabaseIO::write_atom_type_table().

Real core::chemical::AtomType::lk_volume ( ) const
inline

Lazaridis and Karplus solvation parameter – volume.

References lk_volume_.

Referenced by core::chemical::AtomTypeSet::get_default_parameter(), print(), and core::chemical::AtomTypeDatabaseIO::write_atom_type_table().

void core::chemical::AtomType::name ( std::string const &  setting)
inline

References name_.

Referenced by core::chemical::orbitals::AssignOrbitals::assign_only_pi_orbitals_to_atom(), core::scoring::elec::atom_is_aro(), core::scoring::elec::atom_is_aro2(), core::scoring::calc_per_atom_sasa(), core::scoring::sasa::LeGrandSasa::calculate(), core::scoring::SplitUnfoldedTwoBodyPotential::calculate_residue_emap(), core::chemical::sdf::MolWriter::compose_typeinfo(), protocols::scoring::methods::saxs::PDDFEnergy::compute_pddf(), core::chemical::MutableResidueType::copy_atom_info(), protocols::toolbox::match_enzdes_util::EnzCstTemplateRes::determine_atom_inds_for_restype(), protocols::hbnet::HBNet::estimate_saturation(), protocols::hbnet::HBNet::find_unsats(), protocols::magnesium::MgWaterHydrogenPacker::find_water_neighbor_vecs(), core::scoring::magnesium::get_cos_theta(), protocols::membrane::scoring::FaWaterToBilayerEnergy::get_menv_params_for_residue(), core::scoring::magnesium::MgKnowledgeBasedPotential::get_mg_potential_costheta_gaussian_parameter(), core::scoring::magnesium::MgKnowledgeBasedPotential::get_mg_potential_costheta_indirect_gaussian_parameter(), core::scoring::magnesium::MgKnowledgeBasedPotential::get_mg_potential_gaussian_parameter(), core::scoring::magnesium::MgKnowledgeBasedPotential::get_mg_potential_indirect_gaussian_parameter(), core::chemical::rna::get_rna_base_centroid(), protocols::match::initialize_atomtype_2_probe_radius_map(), protocols::toolbox::match_enzdes_util::LigandConformer::initialize_from_residue(), protocols::features::HBondFeatures::insert_site_row(), protocols::stepwise::modeler::rna::is_virtual_base(), protocols::ligand_docking::rdf::RDFBinaryOrbitalFunction::operator()(), core::scoring::packing::PoseBalls::PoseBalls(), core::scoring::etable::Etable::precalc_etable_coefficients(), protocols::stepwise::modeler::rna::print_atom_info(), core::chemical::ResidueType::print_bondangles(), protocols::stepwise::modeler::rna::print_individual_atom_info(), protocols::match::output::print_node(), core::conformation::print_node(), protocols::viewer::print_node(), core::chemical::AtomTypeSet::read_atom_type_extra_parameters_table(), core::chemical::AtomTypeSet::read_atom_type_properties_table(), protocols::pose_metric_calculators::SemiExplicitWaterUnsatisfiedPolarsCalculator::recompute(), protocols::simple_pose_metric_calculators::BuriedUnsatisfiedPolarsCalculator::recompute(), core::scoring::saxs::SAXSEnergy::rehash_form_factors(), core::scoring::magnesium::RNA_MgPointEnergy::residue_pair_energy_one_way(), protocols::features::OrbitalsFeatures::set_OrbH_features_data(), core::scoring::lkball::LKBallDatabase::setup_atom_weights(), core::scoring::lkball::LK_BallEnergy::setup_d2_bounds(), core::scoring::lkball::setup_water_builders_for_residue_type(), core::chemical::AtomTypeDatabaseIO::write_atom_type_extra_parameters_table(), core::chemical::AtomTypeDatabaseIO::write_atom_type_properties_table(), core::chemical::AtomTypeDatabaseIO::write_atom_type_table(), core::chemical::ResidueTypeKinWriter::write_restype(), and core::chemical::write_topology_file().

std::string const& core::chemical::AtomType::name ( ) const
inline

Get the name of this AtomType. Note that this is NOT the same as the atom name that is written out to PDB. You want pose.residue(i).atom_name(j) for that.

Referenced by add_property(), get_all_properties(), and print().

void core::chemical::AtomType::print ( std::ostream &  out) const
void core::chemical::AtomType::set_all_extra_parameters ( utility::vector1< Real > const &  extra_parameters)

all the extra parameters at once

References extra_parameters_.

void core::chemical::AtomType::set_extra_parameter ( Size const  index,
Real const  setting 
)
inline

return an additional, non-hardcoded property

References extra_parameters_.

Referenced by core::chemical::AtomTypeSet::read_atom_type_extra_parameters_table().

void core::chemical::AtomType::set_parameter ( std::string const &  param,
Real const  setting 
)

set LJ and LK solvation parameter for this atom type

currently parameters are "LJ_RADIUS","LJ_WDEPTH","LK_VOLUME", "LK_DGFREE","LK_LAMBDA".It will abort if the parameter name is not Recognized. Supplemented by membrane specific solvation parameters: "MEMB_LK_DGFREE","MEMB_LK_DGREFCE","LK_DGREFCE". These are the header files in atom_properties.txt

References lj_radius_, lj_wdepth_, lk_dgfree_, lk_lambda_, and lk_volume_.

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

set relevant properties for this atom type hh

set relevant properties for this atom type

currently properties are "ACCEPTOR","DONOR","POLAR_HYDROGEN", "H2O", and hybridization types including "SP2_HYBRID", "SP3_HYBRID" and "RING_HYBRID". It will abort if the property name is not recognized. To add properties, edit atom_properties.txt and add your property to the last column then add code here that will read the property.

References atom_has_orbitals_, atom_is_repulsive_, atom_is_virtual_, hybridization_, is_acceptor_, is_aromatic_, is_donor_, is_h2o_, is_polar_hydrogen_, core::chemical::RING_HYBRID, core::chemical::SP2_HYBRID, and core::chemical::SP3_HYBRID.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const AtomType atom_type 
)
friend

Member Data Documentation

bool core::chemical::AtomType::atom_has_orbitals_
private
bool core::chemical::AtomType::atom_is_repulsive_
private
bool core::chemical::AtomType::atom_is_virtual_
private
std::string core::chemical::AtomType::element_
private

Referenced by element(), is_heavyatom(), and is_hydrogen().

utility::vector1< Real > core::chemical::AtomType::extra_parameters_
private
Hybridization core::chemical::AtomType::hybridization_
private
bool core::chemical::AtomType::is_acceptor_
private
bool core::chemical::AtomType::is_aromatic_
private
bool core::chemical::AtomType::is_donor_
private
bool core::chemical::AtomType::is_h2o_
private
bool core::chemical::AtomType::is_polar_hydrogen_
private
Real core::chemical::AtomType::lj_radius_
private

Referenced by lj_radius(), and set_parameter().

Real core::chemical::AtomType::lj_wdepth_
private

Referenced by lj_wdepth(), and set_parameter().

Real core::chemical::AtomType::lk_dgfree_
private

Referenced by lk_dgfree(), and set_parameter().

Real core::chemical::AtomType::lk_lambda_
private

Referenced by lk_lambda(), and set_parameter().

Real core::chemical::AtomType::lk_volume_
private

Referenced by lk_volume(), and set_parameter().

std::string core::chemical::AtomType::name_
private

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