Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Conformers.h
Go to the documentation of this file.
1 
8 #ifndef INCLUDE_MOLASSEMBLER_CONFORMER_GENERATION_H
9 #define INCLUDE_MOLASSEMBLER_CONFORMER_GENERATION_H
10 
11 #include "Molassembler/Types.h"
12 #include "Utils/Typenames.h"
13 #include "Molassembler/Detail/Outcome.h"
14 #include <vector>
15 
16 namespace Scine {
17 namespace Molassembler {
18 
19 // Forward-declarations
20 class Molecule;
21 
22 namespace DistanceGeometry {
23 
42 enum class MASM_EXPORT Partiality {
53  FourAtom,
60  TenPercent,
67  All
68 };
69 
73 struct MASM_EXPORT Configuration {
83 
90  unsigned refinementStepLimit {10'000};
91 
98  double refinementGradientTarget {1e-5};
99 
111  double spatialModelLoosening {1.0};
112 
125  std::vector<
126  std::pair<AtomIndex, Utils::Position>
127  > fixedPositions;
128 };
129 
130 } // namespace DistanceGeometry
131 
190 MASM_EXPORT std::vector<
191  Result<Utils::PositionCollection>
192 > generateRandomEnsemble(
193  const Molecule& molecule,
194  unsigned numStructures,
195  const DistanceGeometry::Configuration& configuration = DistanceGeometry::Configuration {}
196 );
197 
237 MASM_EXPORT std::vector<
238  Result<Utils::PositionCollection>
239 > generateEnsemble(
240  const Molecule& molecule,
241  unsigned numStructures,
242  unsigned seed,
243  const DistanceGeometry::Configuration& configuration = DistanceGeometry::Configuration {}
244 );
245 
266 MASM_EXPORT Result<Utils::PositionCollection> generateRandomConformation(
267  const Molecule& molecule,
268  const DistanceGeometry::Configuration& configuration = DistanceGeometry::Configuration {}
269 );
270 
290 MASM_EXPORT Result<Utils::PositionCollection> generateConformation(
291  const Molecule& molecule,
292  unsigned seed,
293  const DistanceGeometry::Configuration& configuration = DistanceGeometry::Configuration {}
294 );
295 
296 } // namespace Molassembler
297 } // namespace Scine
298 
299 #endif
Defines basic types widely shared across the project.
A configuration object for distance geometry runs with sane defaults.
Definition: Conformers.h:73
Perform smoothing after all distance choices.
Perform smoothing for four one-to-all distance choices.
Perform smoothing for ten percent of one-to-all distance choices.
Partiality
Limit triangle inequality bounds smoothing to a subset of all atoms.
Definition: Conformers.h:42