octadist.tools

class octadist.src.tools.CalcJahnTeller(atom, coord, cutoff_global=2.0, cutoff_hydrogen=1.2, master=None, icon=None)[source]

Calculate angular Jahn-Teller distortion parameter [1].

Parameters:
  • atom (array_like) – Atomic labels of full complex.
  • coord (array_like) – Atomic coordinates of full complex.
  • master (None, object) – If None, use tk.Tk(). If not None, use tk.Toplevel(master).
  • cutoff_global (int or float) – Global cutoff for screening bonds. Default is 2.0.
  • cutoff_hydrogen (int or float) – Cutoff for screening hydrogen bonds. Default is 1.2.
  • icon (str, optional) – If None, use tkinter default icon. If not None, use user-defined icon.

Examples

>>> atom = ['Fe', 'N', 'N', 'N', 'O', 'O', 'O']
>>> coord = [[2.298354000, 5.161785000, 7.971898000],
             [1.885657000, 4.804777000, 6.183726000],
             [1.747515000, 6.960963000, 7.932784000],
             [4.094380000, 5.807257000, 7.588689000],
             [0.539005000, 4.482809000, 8.460004000],
             [2.812425000, 3.266553000, 8.131637000],
             [2.886404000, 5.392925000, 9.848966000]]
>>> test = CalcJahnTeller(atom=atom, coord=coord)
>>> test.start_app()
>>> test.find_bond()
>>> test.show_app()

References

[1]J. M. Holland, J. A. McAllister, C. A. Kilner, M. Thornton-Pett, A. J. Bridgeman, M. A. Halcrow. Stereochemical effects on the spin-state transition shown by salts of [FeL2]2+ [L = 2,6-di(pyrazol-1-yl)pyridine]. J. Chem. Soc., Dalton Trans., 2002, 548-554. DOI: 10.1039/B108468M.
start_app()[source]

Start application.

find_bond()[source]

Find bonds.

See also

octadist.src.util.find_bonds()
Find atomic bonds.
pick_atom(group)[source]

On-mouse pick atom and get XYZ coordinate.

Parameters:group (str) – Group A or B.
plot_fit_plane()[source]

Display complex and two fit planes of two sets of ligand in molecule.

clear_text()[source]

Clear text in box A & B.

show_app()[source]

Show application.

class octadist.src.tools.CalcRMSD(coord_1, coord_2, atom_1=None, atom_2=None, master=None, icon=None)[source]

Calculate root mean squared displacement of atoms in complex, RMSD [2].

Parameters:
  • coord_1 (array_like) – Atomic coordinates of structure 1.
  • coord_2 (array_like) – Atomic coordinates of structure 2.
  • atom_1 (list or tuple, optional) – Atomic symbols of structure 1.
  • atom_2 (list or tuple, optional) – Atomic symbols of structure 2. If no atom_2 specified, assign it with None.
Returns:

  • rmsd_normal (float) – Normal RMSD.
  • rmsd_translate (float) – Translate RMSD (re-centered).
  • rmsd_rotate (float) – Kabsch RMSD (rotated).

References

[2]
    1. Kromann. https://github.com/charnley/rmsd.

Examples

>>> # Example of structure 1
>>> comp1 = [[10.1873, 5.7463, 5.615],
             [8.494, 5.9735, 4.8091],
             [9.6526, 6.4229, 7.3079],
             [10.8038, 7.5319, 5.1762],
             [9.6229, 3.9221, 6.0083],
             [12.0065, 5.5562, 6.3497],
             [10.8046, 4.9471, 3.9219]]
>>> # Example of structure 1
>>> comp2 = [[12.0937, 2.4505, 3.4207],
             [12.9603, 2.2952, 1.7286],
             [13.4876, 1.6182, 4.4230],
             [12.8522, 4.3174, 3.9894],
             [10.9307, 0.7697, 2.9315],
             [10.7878, 2.2987, 5.1071],
             [10.6773, 3.7960, 2.5424]]
>>> test = CalcRMSD(coord_1=comp1, coord_2=comp2)
>>> test.calc_rmsd()
>>> test.rmsd_normal
6.758144
>>> test.rmsd_translate
0.305792
>>> test.rmsd_rotate
0.277988
start_app()[source]
show_coord()[source]

Show atomic coordinates in box.

calc_rmsd()[source]

Calculate normal, translated, and rotated RMSD.

calc_and_show()[source]

Execute calc_rmsd function to calculate RMSD and show results in box.

show_app()[source]

Show application.