Cartesian.get_construction_table(fragment_list=None, use_lookup=None, perform_checks=True)

Create a construction table for a Zmatrix.

A construction table is basically a Zmatrix without the values for the bond lengths, angles and dihedrals. It contains the whole information about which reference atoms are used by each atom in the Zmatrix.

The absolute references in cartesian space are one of the following magic strings:

['origin', 'e_x', 'e_y', 'e_z']

This method creates a so called “chemical” construction table, which makes use of the connectivity table in this molecule.

  • fragment_list (sequence) –

    There are four possibilities to specify the sequence of fragments:

    1. A list of tuples is given. Each tuple contains the fragment with its corresponding construction table in the form of:

    [(frag1, c_table1), (frag2, c_table2)...]

    If the construction table of a fragment is not complete, the rest of each fragment’s construction table is calculated automatically.

    2. It is possible to omit the construction tables for some or all fragments as in the following example:

    [(frag1, c_table1), frag2, (frag3, c_table3)...]

    3. If self contains more atoms than the union over all fragments, the rest of the molecule without the fragments is automatically prepended using get_without():

    self.get_without(fragments) + fragment_list

    4. If fragment_list is None then fragmentation, etc. is done automatically. The fragments are then sorted by their number of atoms, in order to use the largest fragment as reference for the other ones.

  • use_lookup (bool) – Use a lookup variable for get_bonds(). The default is specified in settings['defaults']['use_lookup']
  • perform_checks (bool) – The checks for invalid references are performed using correct_dihedral() and correct_absolute_refs().

Construction table

Return type: