stko.molecule_analysis.DitopicThreeSiteAnalyser

class stko.molecule_analysis.DitopicThreeSiteAnalyser[source]

Bases: object

Analyses geometry of functional groups in ditopic molecules.

Warning

This code is only present in the latest versions of stko that require Python 3.11!

Methods

get_adjacent_centroids

Get the position of centroids of atoms adjacent to binder atoms.

get_binder_adjacent_torsion

Get the torsion (-180, 180) between binders and their adjacents.

get_binder_angles

Get the binder-adjacent-binder angles.

get_binder_binder_angle

Get the angle between binders-adjacent vectors.

get_binder_centroid_angle

Get the angle between binders and molecule centroid.

get_binder_distance

Get the distance between binder atoms in Angstrom.

get_halfbite_angles

Get the half-bite angles defined by the binders.

get_adjacent_centroids(molecule)[source]

Get the position of centroids of atoms adjacent to binder atoms.

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

tuple[ndarray, …]

get_binder_adjacent_torsion(molecule)[source]

Get the torsion (-180, 180) between binders and their adjacents.

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

float

get_binder_angles(molecule)[source]

Get the binder-adjacent-binder angles.

Represents the two reaction angles of the ligand, or the internal angles from DOI: 10.1039/D3SC03991A.

Caution with the direction of the vectors!

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

tuple[float, float]

get_binder_binder_angle(molecule)[source]

Get the angle between binders-adjacent vectors.

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

float

get_binder_centroid_angle(molecule)[source]

Get the angle between binders and molecule centroid.

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

float

get_binder_distance(molecule)[source]

Get the distance between binder atoms in Angstrom.

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

float

get_halfbite_angles(molecule)[source]

Get the half-bite angles defined by the binders.

The bite angle is a common measure used in metal-organic cages that represents the angle between the two reaction angles of the ligand as if the molecule was symmetric and the torsion between binders is 0 degrees. Caution using this for many molecules that are flexible!

Here the bite angle is defined visually as in:

Technically, the measure of interest is the sum of the two floats output by this method, which should be two times either one. (They should be similar!)

Parameters:

molecule (BuildingBlock) – Molecule to analyse.

Raises:

NotDitopicThreeSiteError – if does not have two ThreeSiteFG.

Return type:

tuple[float, float]