Complex#
- class autode.species.complex.Complex(*args: Species, name: str = 'complex', do_init_translation: bool = False, copy: bool = True, solvent_name: str | None = None)#
- __init__(*args: Species, name: str = 'complex', do_init_translation: bool = False, copy: bool = True, solvent_name: str | None = None)#
Molecular complex e.g. VdW complex of one or more Molecules
- Keyword Arguments:
name (str)
do_init_translation (bool) – Translate molecules initially such that they donot overlap
copy (bool) – Should the molecules be copied into this complex?
solvent_name (str | None) – Name of the solvent, if None then select the first solvent from the constituent molecules
- atom_indexes(mol_index: int)#
List of atom indexes of a molecule withibn a Complex
- calc_repulsion(mol_index: int)#
Calculate the repulsion between a molecule and the rest of the complex
- property n_molecules: int#
Number of molecules in this molecular complex
- populate_conformers()#
Generate and optimise with a low level method a set of conformers, the number of which is:
- Config.num_complex_sphere_points × Config.num_complex_random_rotations
^ (n molecules in complex - 1)
This will not be exact as get_points_on_sphere does not return quite the desired number of points for small N.
- reorder_atoms(mapping: dict) None #
Reorder the atoms in this complex using a dictionary keyed with current atom indexes and values as their new positions
- rotate_mol(axis: ndarray | Sequence, theta: Angle | float, mol_index: int, origin: ndarray | Sequence | None = None)#
Rotate a molecule within a complex an angle theta about an axis given an origin
- Parameters:
theta (float | autode.values.Angle)
origin (np.ndarray | list) – Length 3 vector
mol_index (int) –
Index of the molecule to translate. e.g. 2 will translate molecule 1 in the complex
they are indexed from 0
- translate_mol(vec: Sequence[float], mol_index: int)#
Translate a molecule within a complex by a vector
- Parameters:
mol_index (int) – Index of the molecule to translate. e.g. 2 will translate molecule 1 in the complex they are indexed from 0
- class autode.species.complex.NCIComplex(*args: Species, name: str = 'complex', do_init_translation: bool = False, copy: bool = True, solvent_name: str | None = None)#
Non covalent interaction complex
- class autode.species.complex.ProductComplex(*args, name='prod_complex', **kwargs)#
- __init__(*args, name='prod_complex', **kwargs)#
Product complex
- Keyword Arguments:
name (str)
- to_reactant_complex()#
Return a reactant complex from this product complex
- class autode.species.complex.ReactantComplex(*args, name='reac_complex', **kwargs)#
- __init__(*args, name='reac_complex', **kwargs)#
Reactant complex
- Keyword Arguments:
name (str)
- to_product_complex()#
Return a product complex from this reactant complex
- autode.species.complex.get_complex_conformer_atoms(molecules, rotations, points)#
Generate a conformer of a complex given a set of molecules, rotations for each and points on which to shift
- Parameters:
rotations (list(np.ndarray)) –
List of len 4 np arrays containing the [theta, x, y, z] defining the rotation
amount and axis
points – (list(np.ndarray)): List of length 3 np arrays containing the point to add the molecule with index i
- Returns:
(list(autode.atoms.Atom))