Truncation#

autode.transition_states.truncation.add_capping_atom(atom_index, n_atom_index, graph, s_molecule)#

Add a capping atom. Example:

         H
        /
C_a---C_b - H   ->   C_a--H          where C_a is numbered atom_index,
       \                             C_b is numbered n_atom_index
        \
         H
Parameters:
  • n_atom_index (int)

  • graph (nx.Graph) – Current molecular graph of the stripped/truncated molecule

  • s_molecule (autode.species.Species) – Stripped molecule

autode.transition_states.truncation.add_capping_atoms(molecule, s_molecule, truncated_graph, curr_nodes)#

Add capping atoms to the graph, truncating over C-C single bonds where appropriate

Parameters:
  • s_molecule (autode.species.Species) – Stripped molecule

  • truncated_graph (nx.Graph)

  • curr_nodes (list(int))

autode.transition_states.truncation.add_core_pi_bonds(molecule, s_molecule, truncated_graph)#

Add π bonds that are nearest neighbours to the current atoms in the truncated graph

Parameters:
  • s_molecule (autode.species.Species) – Stripped molecule

  • truncated_graph (nx.Graph)

autode.transition_states.truncation.add_remaining_atoms(truncated_graph, full_graph, s_molecule)#

Truncation can lead to a split across a C-C bond in a ring where one of the carbons is no longer has 4 nearest neighbours

autode.transition_states.truncation.add_remaining_bonds(truncated_graph, full_graph)#

Truncation by adding atoms and their nearest neighbours may miss bonds between sections that aren’t connected initially, so add them

autode.transition_states.truncation.get_truncated_species(species, bond_rearrangement)#

From a truncated species by removing non core atoms and adding capping atoms where appropriate

Parameters:

bond_rearrangement (autode.bond_rearrangement.BondRearrangement)

Returns:

(autode.complex.ReactantComplex)

autode.transition_states.truncation.is_worth_truncating(reactant_complex, bond_rearrangement)#

Evaluate whether it is worth truncating a complex

Parameters:

bond_rearrangement (autode.bond_rearrangement.BondRearrangement)