Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Editing.h
Go to the documentation of this file.
1 
7 #ifndef INCLUDE_MOLASSEMBLER_EDITING_H
8 #define INCLUDE_MOLASSEMBLER_EDITING_H
9 
10 #include "Molassembler/Types.h"
11 #include <tuple>
12 #include <vector>
13 
14 namespace Scine {
15 namespace Molassembler {
16 
17 class Molecule;
18 
22 struct MASM_EXPORT Editing {
35  static std::pair<Molecule, Molecule> cleave(const Molecule& a, BondIndex bridge);
36 
52  static Molecule insert(
53  Molecule log,
54  const Molecule& wedge,
55  BondIndex logBond,
56  AtomIndex firstWedgeAtom,
57  AtomIndex secondWedgeAtom
58  );
59 
78  static Molecule superpose(
79  Molecule top,
80  const Molecule& bottom,
81  AtomIndex topAtom,
82  AtomIndex bottomAtom
83  );
84 
100  static Molecule substitute(
101  const Molecule& left,
102  const Molecule& right,
103  BondIndex leftBond,
104  BondIndex rightBond
105  );
106 
127  static Molecule connect(
128  Molecule a,
129  const Molecule& b,
130  AtomIndex aConnectAtom,
131  AtomIndex bConnectAtom,
132  BondType bondType
133  );
134 
149  static Molecule addLigand(
150  Molecule a,
151  const Molecule& ligand,
152  AtomIndex complexatingAtom,
153  const std::vector<AtomIndex>& ligandBindingAtoms
154  );
155 };
156 
157 } // namespace Molassembler
158 } // namespace Scine
159 
160 #endif
Models a molecule as a graph (connectivity of atoms) and a list of stereopermutators.
Definition: Molecule.h:73
Defines basic types widely shared across the project.
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
BondType
Discrete bond type numeration.
Definition: Types.h:26
Type used to refer to particular bonds. Orders first &lt; second.
Definition: Types.h:54
Class with static functions providing higher-level molecule operations.
Definition: Editing.h:22