7 #ifndef INCLUDE_MOLASSEMBLER_EDITING_H
8 #define INCLUDE_MOLASSEMBLER_EDITING_H
15 namespace Molassembler {
27 std::vector<std::pair<unsigned, AtomIndex>> componentMap;
191 const std::vector<AtomIndex>& ligandBindingAtoms);
Molecule superpose(Molecule top, const Molecule &bottom, AtomIndex topAtom, AtomIndex bottomAtom)
Fuses two molecules, adding all adjacencies and continuations of one Molecule's atoms to another.
std::pair< AtomIndex, SiteIndex > AtomSitePair
Descriptor for an entire haptic site connected to an atom.
Definition: Editing.h:22
Molecule connect(Molecule a, const Molecule &b, AtomIndex aConnectAtom, AtomIndex bConnectAtom, BondType bondType)
Connect molecules by creating a new bond between two atoms from separate molecules.
Molecule insert(Molecule log, const Molecule &wedge, BondIndex logBond, AtomIndex firstWedgeAtom, AtomIndex secondWedgeAtom)
Inserts a molecule into a bond of another molecule.
Molecule substitute(const Molecule &left, const Molecule &right, BondIndex leftBond, BondIndex rightBond)
Connect two molecules by substituting away the smaller side of a pair of bonds of separate molecules.
Cleaved cleave(const Molecule &a, BondIndex bridge)
Splits a molecule along a bridge edge.
Molecule addLigand(Molecule a, const Molecule &ligand, AtomIndex complexatingAtom, const std::vector< AtomIndex > &ligandBindingAtoms)
Connects two molecules by connecting multiple atoms from one to a single atom of the other via single...
Molecule class interface.
Models a molecule as a graph (connectivity of atoms) and a list of stereopermutators.
Definition: Molecule.h:77
BondType
Discrete bond type numeration.
Definition: Types.h:26
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
Type used to refer to particular bonds. Orders first < second.
Definition: Types.h:54