11 #ifndef INCLUDE_MOLASSEMBLER_DISTANCE_GEOMETRY_CONFORMER_GENERATION_H
12 #define INCLUDE_MOLASSEMBLER_DISTANCE_GEOMETRY_CONFORMER_GENERATION_H
18 namespace Molassembler {
19 namespace DistanceGeometry {
29 Eigen::MatrixXd gather(
const Eigen::VectorXd& vectorizedPositions);
36 AngstromPositions convertToAngstromPositions(
const Eigen::MatrixXd& positions);
45 Eigen::MatrixXd fitAndSetFixedPositions(
46 const Eigen::MatrixXd& positions,
47 const Configuration& configuration
63 Molecule narrow(Molecule molecule, Random::Engine& engine);
71 std::vector<AtomIndex> vertices;
74 using GroupMapType = std::unordered_map<BondIndex, RotatableGroup, boost::hash<BondIndex>>;
77 static GroupMapType
make(
78 const std::vector<DihedralConstraint>& constraints,
83 std::vector<ChiralConstraint> chiralConstraints;
84 std::vector<DihedralConstraint> dihedralConstraints;
85 GroupMapType rotatableGroups;
100 Result<AngstromPositions>
refine(
101 Eigen::MatrixXd embeddedPositions,
104 const std::shared_ptr<MoleculeDGInformation>& DgDataPtr
108 Result<AngstromPositions> generateConformer(
111 std::shared_ptr<MoleculeDGInformation>& DgDataPtr,
112 bool regenerateDGDataEachStep,
125 Result<AngstromPositions>
128 unsigned numConformers,
130 boost::optional<unsigned> seedOption
Models a molecule as a graph (connectivity of atoms) and a list of stereopermutators.
Definition: Molecule.h:77
Result< AngstromPositions > refine(Eigen::MatrixXd embeddedPositions, const DistanceBoundsMatrix &distanceBounds, const Configuration &configuration, const std::shared_ptr< MoleculeDGInformation > &DgDataPtr)
Distance Geometry refinement.
Definition: DistanceBoundsMatrix.h:26
Drives a PRNG.
Definition: Prng.h:24
A configuration object for distance geometry runs with sane defaults.
Definition: Conformers.h:73
Convert a Molecule to atom-pair distance bounds and chiral constraints.
Basic Logging functionality for debugging.
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
MoleculeDGInformation gatherDGInformation(const Molecule &molecule, const Configuration &configuration)
Collects intermediate conformational data about a Molecule using a spatial model. ...
std::vector< Result< AngstromPositions >> run(const Molecule &molecule, unsigned numConformers, const Configuration &configuration, boost::optional< unsigned > seedOption)
Main and parallel implementation of Distance Geometry. Generates an ensemble of 3D structures of a gi...
Eigen::MatrixXd BoundsMatrix
Type used to represent atom-pairwise distance bounds constructed from bounds on internal coordinates...
Definition: SpatialModel.h:67