Methods to determine local shapes of atoms based on graph information. More...
Data Structures | |
struct | BindingSite |
Type used to represent minimal binding site information. More... | |
Functions | |
double | bondWeight (BondType bond) |
Map bond type to a floating-point weight. More... | |
int | formalCharge (const Graph &graph, AtomIndex index) |
Calculates the formal charge on a main group-element atom. More... | |
boost::optional< Shapes::Shape > | vsepr (Utils::ElementType centerAtomType, const std::vector< BindingSite > &sites, int formalCharge) |
Applies very basic VSEPR theory to derive a shape based on graph information. More... | |
Shapes::Shape | firstOfSize (unsigned size) |
Yields the first shape of required size. More... | |
std::vector< BindingSite > | reduceToSiteInformation (const Graph &molGraph, AtomIndex index, const RankingInformation &ranking) |
Reduces a ranking to binding site information. | |
boost::optional< Shapes::Shape > | inferShape (const Graph &graph, AtomIndex index, const RankingInformation &ranking) |
Forwards inference to appropriate model depending on environment. More... | |
Methods to determine local shapes of atoms based on graph information.
double Scine::Molassembler::ShapeInference::bondWeight | ( | BondType | bond | ) |
Map bond type to a floating-point weight.
Shapes::Shape Scine::Molassembler::ShapeInference::firstOfSize | ( | unsigned | size | ) |
Yields the first shape of required size.
Complexity \(\Theta(1)\)
std::runtime_error | If no shapes of size exist |
int Scine::Molassembler::ShapeInference::formalCharge | ( | const Graph & | graph, |
AtomIndex | index | ||
) |
Calculates the formal charge on a main group-element atom.
Complexity \(\Theta(1)\)
graph | The graph to which the atom index belongs |
index | The atom index for which to calculate the formal charge |
boost::optional<Shapes::Shape> Scine::Molassembler::ShapeInference::inferShape | ( | const Graph & | graph, |
AtomIndex | index, | ||
const RankingInformation & | ranking | ||
) |
Forwards inference to appropriate model depending on environment.
Currently just a stub forwarding to VSEPR
boost::optional<Shapes::Shape> Scine::Molassembler::ShapeInference::vsepr | ( | Utils::ElementType | centerAtomType, |
const std::vector< BindingSite > & | sites, | ||
int | formalCharge | ||
) |
Applies very basic VSEPR theory to derive a shape based on graph information.
Complexity \(\Theta(1)\)