3D Geometry Builder#

class autode.smiles.builder.Builder#

3D geometry builder:

Atoms:  C, 4H               H  H
Bonds:  4 x C-H      -->     C
                           H  H
__init__()#

Coordinate builder initialised from a set of atoms and bonds connecting them. This builder should generate something reasonable that can be cleaned up with a forcefield

build(atoms, bonds)#

Build a molecule by iterating through all the atoms adding it and each of it’s neighbours. i.e.

atoms = [C, H, H, H]

  1. Add C at origin

  2. Add all neighbours

  3. Done

atoms = [C, C, C, 8xH]

  1. Add C at origin

  2. Add H3, C neighbours & update queued atoms to include the C that has been translated but needs it’s neighbours adding to it

Parameters:

bonds (autode.smiles.SMILESBonds)

property built#

Have all the atoms been shifted appropriately?

property built_atom_idxs#

Atom indexes that have been built

property canonical_atoms#

Generate canonical autodE atoms from this set

property canonical_atoms_at_origin#

Canonical set of autodE atoms all located at the origin

property max_ring_n#

Maximum ring size in this molecule

property non_bonded_idx_matrix#

Generate a matrix of ones if atoms are non-bonded and zero if for self pairs or they are bonded

set_atoms_bonds(atoms, bonds)#

From a list of SMILESAtoms, and SMILESBonds set the required attributes and convert all implicit hydrogens into explicit atoms

Parameters:

bonds (auode.smiles.base.SMILESBonds)