tqchem.puckering¶
Classes¶
Pucker coordinate frame. |
Functions¶
|
Obtain x0, y0, z0 from the current geometry |
|
Transform puckering coordinates to xyz coordinates. |
|
Transform xyz coordinates to puckering coordinates. |
|
Generate sets of values representing the most relevant conformers of a 5 ring |
|
Selected generation of puckering points for 6 rings. |
|
Generate sets of values representing the most relevant conformers of a 5 ring |
|
Returns planar ring conformer |
|
Module Contents¶
- class tqchem.puckering.PuckeringFrame(x=..., y=..., q=..., phi=..., batframe=..., cycle=..., planar_only=...)¶
Pucker coordinate frame.
This class represents a frame in puckering coordinates.
Puckering is implemented according to: D. Cremer, J. Pople, https://doi.org/10.1021/ja00839a011
- x¶
in-plane x-coordinates of each atom
- Type:
np.ndarray
- y¶
in-plane y-coordinates of each atom
- Type:
np.ndarray
- q¶
(n_atoms - 3) out-of-plane amplitudes
- Type:
np.ndarray
- phi¶
(n_atoms - 3) out-of-plane angles
- Type:
np.ndarray
- cycle¶
list of atoms in the cycle
- Type:
list[int]
- planar_only¶
Should only the planar conformation be used?
- Type:
bool
- x: numpy.ndarray = Ellipsis¶
- y: numpy.ndarray = Ellipsis¶
- q: numpy.ndarray = Ellipsis¶
- phi: numpy.ndarray = Ellipsis¶
- batframe: tqchem.batframe.BATFrame = Ellipsis¶
- cycle: list = Ellipsis¶
- planar_only: bool = Ellipsis¶
- update(frame) None ¶
- variable_coordinates(molecule: tqchem.molgraph.MolecularSystem, **kwargs) PuckeringFrame ¶
Select coordinates for optimization of conformers.
This includes the all puckering coordinates and a batframe connecting it to possible other parts of the molecule described using BAT coordinates.
- constant_coordinates(molecule: tqchem.molgraph.MolecularSystem) PuckeringFrame ¶
Get subset of coordinates which need to stay constant during conformer search
Only coordinates of the batframe which are not variable are added
- grid = Ellipsis¶
- make_grid(graph: networkx.Graph = None, shift_by_reference: bool = False)¶
Discretize coordinates of puckering frame for optimization.
- evaluate_grid(indices: list[int])¶
Evaluate the puckering frame at a given grid index.
The first parameter in i will be used for the puckering frame and the remaining ones for the BAT frame.
- grid_range()¶
Obtain ranges for each of the coordinates.
- closest_gridpoint(molecule: tqchem.molgraph.MolecularSystem) list[int] ¶
Return the gridpoint most similar to the provided molecule
- tqchem.puckering.reference_coordinate_system(mol: tqchem.molgraph.MolecularSystem, cycle: tuple[int, Ellipsis]) tuple[numpy.array, numpy.array, numpy.array, numpy.array] ¶
Obtain x0, y0, z0 from the current geometry
- tqchem.puckering.puckering_to_xyz(mol: tqchem.molgraph.MolecularSystem, frame: PuckeringFrame) tqchem.molgraph.MolecularSystem ¶
Transform puckering coordinates to xyz coordinates.
- tqchem.puckering.xyz_to_puckering(mol: tqchem.molgraph.MolecularSystem, cycle: tuple[int, Ellipsis]) PuckeringFrame ¶
Transform xyz coordinates to puckering coordinates.
- tqchem.puckering.pucker_coordinate_5ring(reference: PuckeringFrame, amplitude: float = 0.8, n_phi: int = 12) list[PuckeringFrame] ¶
Generate sets of values representing the most relevant conformers of a 5 ring
As shown in Figure 1 of https://s3.smu.edu/dedman/catco/ring-puckering.html
By default, it creates 13 frames that generate all usual conformers, where each edge of the ring points up and down once and it includes a planar geometry
- Parameters:
reference (PuckeringFrame) – reference frame to build the different ring conformers from
amplitude (float) – amplitude of the out-of-plane displacement
n_phi (int) – number of non-planar conformers created Specifies the discretization of the pseudorotational cycle shown in figure 1
- tqchem.puckering.pucker_coordinate_6ring_smart(ref: PuckeringFrame, amplitude: float = 0.7, n_phi: float = 12, equatorial: bool = False, tropical: bool = False, planar: bool = True, axial: bool = True) list[PuckeringFrame] ¶
Selected generation of puckering points for 6 rings.
Select which parts of the puckering sphere should be included by setting the flags. Please see Fig. 2 of https://s3.smu.edu/dedman/catco/ring-puckering.html for reference.
axial: include 2 chair conformations planar: include planar conformation equatorial: include Boat conformation tropical: include envelope conformation
- tqchem.puckering.pucker_coordinate_6ring(reference: PuckeringFrame, amplitude: float = 0.7, n_phi: int = 12, n_theta: int = 5) list[PuckeringFrame] ¶
Generate sets of values representing the most relevant conformers of a 5 ring
As shown in Figure 2 of https://s3.smu.edu/dedman/catco/ring-puckering.html
By default, it creates 39 frames that generate all usual conformers, including planar geometry, chair, twist, and boat conformations.
- tqchem.puckering.planar_conformer(reference: PuckeringFrame) PuckeringFrame ¶
Returns planar ring conformer
- tqchem.puckering.is_planar_ring(cycle: list[int], graph: networkx.Graph) bool ¶