Editing of molecules past low-level member functions. More...
Go to the source code of this file.
Data Structures | |
| struct | Scine::Molassembler::Editing::Cleaved |
Namespaces | |
| Scine::Molassembler | |
| Central library namespace. | |
Typedefs | |
| using | Scine::Molassembler::Editing::AtomSitePair = std::pair< AtomIndex, SiteIndex > |
| Descriptor for an entire haptic site connected to an atom. | |
Functions | |
| Cleaved | Scine::Molassembler::Editing::cleave (const Molecule &a, BondIndex bridge) |
| Splits a molecule along a bridge edge. More... | |
| Cleaved | Scine::Molassembler::Editing::cleave (const Molecule &a, AtomSitePair hapticSite) |
| Splits a molecule at a haptic site. More... | |
| Molecule | Scine::Molassembler::Editing::insert (Molecule log, const Molecule &wedge, BondIndex logBond, AtomIndex firstWedgeAtom, AtomIndex secondWedgeAtom) |
| Inserts a molecule into a bond of another molecule. More... | |
| Molecule | Scine::Molassembler::Editing::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. More... | |
| Molecule | Scine::Molassembler::Editing::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. More... | |
| Molecule | Scine::Molassembler::Editing::substitute (const Molecule &left, const Molecule &right, BondIndex leftBond, BondIndex rightBond, AtomIndex leftSubstituteIndex, AtomIndex rightSubstituteIndex) |
| Connect two molecules by substituting away the defined side of a pair of bonds of separate molecules. More... | |
| Molecule | Scine::Molassembler::Editing::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. More... | |
| Molecule | Scine::Molassembler::Editing::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 bonds. More... | |
Editing of molecules past low-level member functions.
| Molecule Scine::Molassembler::Editing::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 bonds.
Complexity \(\Theta(N)\)
| a | The molecule the ligand is being connected to |
| ligand | The ligand molecule being bound to complexatingAtom |
| complexatingAtom | The atom in a that ligand is being bound to |
| ligandBindingAtoms | The atoms of ligand that should be connected to a |
| Cleaved Scine::Molassembler::Editing::cleave | ( | const Molecule & | a, |
| AtomSitePair | hapticSite | ||
| ) |
Splits a molecule at a haptic site.
| hapticSite | The haptic site to cleave the molecule at. Does not check if the site is conceptually a bridge of the graph. If it is not, splitting is not undefined. |
Complexity \(\Theta(N)\)
| std::invalid_argument | If there is no stereopermutator on the specified atom. |
Splits a molecule along a bridge edge.
Complexity \(\Theta(N)\)
| std::logic_error | If bridge is not a bridge edge, i.e. the graph is not disconnected by cleaving the indicated bonds. This can be tested for usinga.graph().canRemove(bridge) == false)
|
| Molecule Scine::Molassembler::Editing::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.
Complexity \(\Theta(N)\)
| a | The first molecule to connect |
| b | The second molecule to connect |
| aConnectAtom | The atom index to connect to in a |
| bConnectAtom | The atom index to connect to in b |
| bondType | The type of the new bond |
a, aConnectAtom), (b, bConnectAtom), i.e. the order of the molecule and atom index arguments does not matter as long as the atom indices are properly associated to their respective molecule.| Molecule Scine::Molassembler::Editing::insert | ( | Molecule | log, |
| const Molecule & | wedge, | ||
| BondIndex | logBond, | ||
| AtomIndex | firstWedgeAtom, | ||
| AtomIndex | secondWedgeAtom | ||
| ) |
Inserts a molecule into a bond of another molecule.
Complexity \(\Theta(N)\)
| log | The molecule being inserted into |
| wedge | The molecule being inserted |
| logBond | The bond in log into which wedge is being inserted into |
| firstWedgeAtom | The atom of wedge to bond to the first atom in logBond |
| secondWedgeAtom | The atom of wedge to bond to the second atom in logBond |
firstWedgeAtom and secondWedgeAtom.| Molecule Scine::Molassembler::Editing::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.
Complexity \(\Theta(N)\)
| left | The first molecule |
| right | The second molecule |
| leftBond | left's bond from which to substitute the lighter part away |
| rightBond | right's bond from which to substitute the lighter part away |
| Molecule Scine::Molassembler::Editing::substitute | ( | const Molecule & | left, |
| const Molecule & | right, | ||
| BondIndex | leftBond, | ||
| BondIndex | rightBond, | ||
| AtomIndex | leftSubstituteIndex, | ||
| AtomIndex | rightSubstituteIndex | ||
| ) |
Connect two molecules by substituting away the defined side of a pair of bonds of separate molecules.
Complexity \(\Theta(N)\)
| left | The first molecule |
| right | The second molecule |
| leftBond | left's bond from which to substitute the lighter part away |
| rightBond | right's bond from which to substitute the lighter part away |
| leftSubstituteIndex | The atom index of left to substitute away |
| rightSubstituteIndex | The atom index of right to substitute away |
| Molecule Scine::Molassembler::Editing::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.
Adds all adjacent atoms and continuations of bottomAtom in bottom to topAtom in top. topAtom's element type is unchanged as it is the 'top' of the superimposition / overlay.
Complexity \(\Theta(N)\)
| top | The molecule that is at the top of the superposition. |
| bottom | The molecule that is set at the bottom of the superposition. |
| topAtom | An atom index of top that is placed 'atop' bottom's bottomAtom |
| bottomAtom | An atom index of bottom that is placed 'beneath' top's topAtom |