RDKit
Open-source cheminformatics and machine learning.
TorsionPreferences.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2017-2023 Sereina Riniker and other RDKit contributors
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #include <RDGeneral/export.h>
11 #ifndef _RD_TORSIONPREFERENCES_H_
12 #define _RD_TORSIONPREFERENCES_H_
13 #include <vector>
14 #include <string>
15 #include <memory>
16 
17 namespace RDKit {
18 class ROMol;
19 } // namespace RDKit
20 
21 namespace ForceFields {
22 namespace CrystalFF {
23 
24 //! A structure used to the experimental torsion patterns
26  unsigned int torsionIdx;
27  std::string smarts;
28  std::vector<double> V;
29  std::vector<int> signs;
30  std::unique_ptr<const RDKit::ROMol> dp_pattern;
31  unsigned int idx[4];
32 };
33 
35  std::vector<std::vector<int>> expTorsionAtoms;
36  std::vector<std::pair<std::vector<int>, std::vector<double>>>
38  std::vector<std::vector<int>> improperAtoms;
39  std::vector<std::pair<int, int>> bonds;
40  std::vector<std::vector<int>> angles;
41  std::vector<int> atomNums;
43 };
44 
45 //! Get the experimental torsional angles in a molecule
47  const RDKit::ROMol &mol, CrystalFFDetails &details,
48  bool useExpTorsions = false, bool useSmallRingTorsions = false,
49  bool useMacrocycleTorsions = false, bool useBasicKnowledge = false,
50  unsigned int version = 1, bool verbose = false);
51 
52 //! \overload
54  const RDKit::ROMol &mol, CrystalFFDetails &details,
55  std::vector<std::tuple<unsigned int, std::vector<unsigned int>,
56  const ExpTorsionAngle *>> &torsionBonds,
57  bool useExpTorsions = false, bool useSmallRingTorsions = false,
58  bool useMacrocycleTorsions = false, bool useBasicKnowledge = false,
59  unsigned int version = 1, bool verbose = false);
60 
61 } // namespace CrystalFF
62 } // namespace ForceFields
63 
64 #endif
#define RDKIT_FORCEFIELDHELPERS_EXPORT
Definition: export.h:193
RDKIT_FORCEFIELDHELPERS_EXPORT void getExperimentalTorsions(const RDKit::ROMol &mol, CrystalFFDetails &details, bool useExpTorsions=false, bool useSmallRingTorsions=false, bool useMacrocycleTorsions=false, bool useBasicKnowledge=false, unsigned int version=1, bool verbose=false)
Get the experimental torsional angles in a molecule.
Std stuff.
Definition: Abbreviations.h:19
std::vector< std::vector< int > > improperAtoms
std::vector< std::pair< int, int > > bonds
std::vector< std::pair< std::vector< int >, std::vector< double > > > expTorsionAngles
std::vector< std::vector< int > > expTorsionAtoms
std::vector< std::vector< int > > angles
A structure used to the experimental torsion patterns.
std::unique_ptr< const RDKit::ROMol > dp_pattern