pygen_structures.mol_containers.structure module

Contains the Structure class. This is used to represent an arbitrary 3-dimensional chemical species, which may be a complete molecule or a fragment.

3D coordinates can be generated, and atoms can be fixed.

class pygen_structures.mol_containers.structure.Structure(atoms: List[pygen_structures.mol_containers.atom.Atom], bonds: List[Tuple[int, int]], improper_ics: (typing.Dict[typing.Tuple[int, ...], float], None) = None, fixed_atoms: (typing.List[int], None) = None, set_charges: bool = True, use_etkdg: bool = True)

Bases: object

An arbitrary chemical structure. This may be a complete molecule, but could also be an isolated residue fragment.

generate_coordinates() → None

Generate a 3D conformation for the Structure using RDKit. This may take a few attempts to set stereochemistry correctly.

reorder_atoms() → None

Reorder the atoms and adjacency matrix to put the hydrogen atoms after their parent heavy atom. This is probably an easier layout for a person to follow, should they look at the file.

set_formal_charges() → None

Set Atom formal charges from valence and bond order.

to_mol() → rdkit.Chem.rdchem.RWMol

Create an RDKit mol from the atoms and adjacency matrix. All stereocenters are set to clockwise initially.