11 #ifndef INCLUDE_MOLASSEMBLER_INTERPRET_H
12 #define INCLUDE_MOLASSEMBLER_INTERPRET_H
14 #include "Molassembler/Export.h"
15 #include "boost/optional.hpp"
23 enum class ElementType : unsigned;
25 class BondOrderCollection;
26 using ElementTypeCollection = std::vector<ElementType>;
29 namespace Molassembler {
34 class AngstromPositions;
82 inline unsigned size()
const {
return map.size(); }
86 using Iterator = std::vector<unsigned>::iterator;
87 using ConstIterator = std::vector<unsigned>::const_iterator;
88 inline Iterator begin() {
return std::begin(
map); }
89 inline Iterator end() {
return std::end(
map); }
90 inline ConstIterator begin()
const {
return std::begin(
map); }
91 inline ConstIterator end()
const {
return std::end(
map); }
94 std::vector<unsigned>
map;
128 const boost::optional<double>& stereopermutatorThreshold = 1.4
154 const boost::optional<double>& stereopermutatorThreshold = 1.4
184 const boost::optional<double>& stereopermutatorThreshold = 1.4
213 const boost::optional<double>& stereopermutatorThreshold = 1.4
278 return probability < other.probability;
MoleculesResult molecules(const Utils::ElementTypeCollection &elements, const AngstromPositions &angstromWrapper, const Utils::BondOrderCollection &bondOrders, BondDiscretizationOption discretization=BondDiscretizationOption::Binary, const boost::optional< double > &stereopermutatorThreshold=1.4)
The function that actually does all the work with the library-internal wrapper.
Result type of an interpret call.
Definition: Interpret.h:98
BondDiscretizationOption
How floating-point bond orders are discretized into bond types.
Definition: Interpret.h:40
A wrapper class around Utils' PositionCollection to emphasize that the positions stored therein are i...
Definition: AngstromPositions.h:25
std::vector< Graph > graphs
Individual graphs found.
Definition: Interpret.h:219
Bond orders are rounded to the nearest integer.
std::vector< Molecule > molecules
The list of individual molecules found in the 3D information.
Definition: Interpret.h:100
std::vector< FalsePositive > badHapticLigandBonds(const Utils::AtomCollection &atomCollection, const Utils::BondOrderCollection &bondOrders)
Suggests false positive haptic ligand bonds from a binary interpretation of bond orders.
ComponentMap componentMap
A map from an index within the AtomCollection to its index in molecules member.
Definition: Interpret.h:102
ComponentMap componentMap
Mapping from atom collection index to graph component index.
Definition: Interpret.h:221
All bond orders >= 0.5 are considered single bonds.
unsigned long atomIndex
Atom index.
Definition: Interpret.h:53
Type used to represent a map from an atom collection index to an interpreted object.
Definition: Interpret.h:48
constexpr auto map(const ArrayType< T, size > &array, UnaryFunction &&function)
Maps all elements of any array-like container with a unary function.
Definition: Containers.h:62
unsigned component
Index of component.
Definition: Interpret.h:51
unsigned size() const
Size of the map.
Definition: Interpret.h:82
Result type of a graph interpret call.
Definition: Interpret.h:217
Fn result datatype.
Definition: Interpret.h:272
Definition: Interpret.h:49
GraphsResult graphs(const Utils::ElementTypeCollection &elements, const AngstromPositions &angstromWrapper, const Utils::BondOrderCollection &bondOrders, BondDiscretizationOption discretization=BondDiscretizationOption::Binary)
The function that actually does all the work with the library-internal wrapper.
Utils::BondOrderCollection removeFalsePositives(const Utils::AtomCollection &atoms, const Utils::BondOrderCollection bonds)
Iteratively applies false positive detection schemes.
std::vector< FalsePositive > uncertainBonds(const Utils::AtomCollection &atomCollection, const Utils::BondOrderCollection &bondOrders)
Suggests false positives from a binary interpretation of bond orders.