schrodinger.application.jaguar.garza module¶
Holds functions relating to calculation of equations from Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
These functions are used in thermochemical_properties.py to calculate solvation entropy quantities. The functions are closely related to those in jaguar-src/main/garza.f and should be kept in-sync.
- class schrodinger.application.jaguar.garza.SolvEntropyProps(trans: float | None = None, rot: float | None = None, vib: float | None = None, conc: float | None = None, omega_cav: float | None = None, epsilon_cav: float | None = None, eps_alpha_cav: float | None = None)¶
Bases:
object
Dataclass holding the various contributions to the solvation entropy totals. All values have units of Ha/K
- trans: float | None = None¶
- rot: float | None = None¶
- vib: float | None = None¶
- conc: float | None = None¶
- omega_cav: float | None = None¶
- epsilon_cav: float | None = None¶
- eps_alpha_cav: float | None = None¶
- __init__(trans: float | None = None, rot: float | None = None, vib: float | None = None, conc: float | None = None, omega_cav: float | None = None, epsilon_cav: float | None = None, eps_alpha_cav: float | None = None) None ¶
- class schrodinger.application.jaguar.garza.SolventParams(mol_weight: float | None = None, density: float | None = None, volume: float | None = None, surface_area: float | None = None, radius_of_gyr: float | None = None, acentric_factor: float | None = None, dielectric_constant: float | None = None, expansion_coeff: float | None = None)¶
Bases:
object
Solvent parameters for solvation entropy calculations. Extracted from output file or read in through cmdline arguments.
- mol_weight: float | None = None¶
- density: float | None = None¶
- volume: float | None = None¶
- surface_area: float | None = None¶
- radius_of_gyr: float | None = None¶
- acentric_factor: float | None = None¶
- dielectric_constant: float | None = None¶
- expansion_coeff: float | None = None¶
- check_params() bool ¶
Check that enough solvent parameters are defined to allow calculation of at least one solvation entropy flavor.
- __init__(mol_weight: float | None = None, density: float | None = None, volume: float | None = None, surface_area: float | None = None, radius_of_gyr: float | None = None, acentric_factor: float | None = None, dielectric_constant: float | None = None, expansion_coeff: float | None = None) None ¶
- class schrodinger.application.jaguar.garza.SoluteParams(volume: float | None = None, surface_area: float | None = None, radius_of_gyr: float | None = None)¶
Bases:
object
Solute parameters for solvation entropy calculations. Extracted from structure in output file.
- volume: float | None = None¶
- surface_area: float | None = None¶
- radius_of_gyr: float | None = None¶
- __init__(volume: float | None = None, surface_area: float | None = None, radius_of_gyr: float | None = None) None ¶
- class schrodinger.application.jaguar.garza.CalculatedParams(v_free: float | None = None, v_c: float | None = None, r_c: float | None = None, n_c: float | None = None)¶
Bases:
object
Parameters that are calculated during solvation entropy calculations. Used in multiple equations so it is useful to store them.
- v_free: float | None = None¶
- v_c: float | None = None¶
- r_c: float | None = None¶
- n_c: float | None = None¶
- __init__(v_free: float | None = None, v_c: float | None = None, r_c: float | None = None, n_c: float | None = None) None ¶
- class schrodinger.application.jaguar.garza.SolvEntropyParams(solvent: schrodinger.application.jaguar.garza.SolventParams = <factory>, solute: schrodinger.application.jaguar.garza.SoluteParams = <factory>, calculated: schrodinger.application.jaguar.garza.CalculatedParams = <factory>)¶
Bases:
object
Dataclass holding all parameters for solvation entropy.
- get_intermediate_args() tuple[float, float, float, float] ¶
Helper function to make calls to calc_intermediates() take less space
- get_acentric_args() tuple[float, float, float] ¶
Helper function to make calls to calc_acentric() take less space
- get_spt_args() tuple[float, float, float, float] ¶
Helper function to make calls to calc_spt() take less space
- __init__(solvent: schrodinger.application.jaguar.garza.SolventParams = <factory>, solute: schrodinger.application.jaguar.garza.SoluteParams = <factory>, calculated: schrodinger.application.jaguar.garza.CalculatedParams = <factory>) None ¶
- schrodinger.application.jaguar.garza.calc_st_params(st: schrodinger.structure._structure.Structure) tuple[float, float, float] ¶
Given a Structure, calculate parameters relevant to calculation of solvation entropy.
- Returns
Volume (ang^3), surface area (ang^2), and radius of gyration (ang) of Structure
- schrodinger.application.jaguar.garza.calc_entropy_translation(mass: float, temp: float, vol: float) float ¶
Calculate translational contribution of entropy according to ideal gas thermodynamic equations.
- Parameters
temp – temperature in Kelvin
press – pressure in atomic units (Ha/bohr^3)
vol – volume in bohr^3
- Returns
translational component of entropy
- schrodinger.application.jaguar.garza.calc_intermediates(mol_weight: float, density: float, volume: float, solute_volume: float) tuple[float, float, float, float] ¶
Calculate intermediate values used in solvation entropy See Eq’s 5-9 Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
mol_weight – solvent molecule weight, g/mol
density – solvent density, g/ang^3
volume – solvent volume, ang^3
solute_volume – solute volume, ang^3
- Returns v_free
Free volume per solvent molecule, ang^3,
- Returns v_c
Solute cavity volume, ang^3
- Returns r_c
Solute cavity radius, ang
- Returns n_c
Number of hopping sites for solute in solvent, unitless
- schrodinger.application.jaguar.garza.calc_rot_term(mass: float, temp: float, v_free: float, rad_gyr: float, r_c: float, n_c: float) float ¶
Calculates the additional rotational term for solvation entropy according to Garza for a solute See last two terms of Eq 11 Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
mass – Mass of solute in atomic units (electron mass’)
temp – Temperature, in Kelvin
rad_gyr – Solute radius of gyration, in ang
v_free – Free volume per solvent molecule, in ang^3
r_c – Radius of solute cavity, in ang
n_c – Average number of hopping sites, unitless
- Returns garza_rot_entropy
additional rotational entropy term, Hartree/K
- schrodinger.application.jaguar.garza.calc_accessible_cavities(v_free: float, v_solvent: float, v_solute: float, r_c: float) float ¶
Calculates the average number of accessible cavities, n_c See Eq’s 7-9 Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
v_free – Free volume per solvent molecule, ang^3
v_solvent – Volume of solvent molecule, ang^3
v_solute – Volume of solute molecule, ang^3
r_c – Solute cavity radius, ang
- Returns n_c
number of accessible cavities
- schrodinger.application.jaguar.garza.calc_shape_factor(surface_area: float) float ¶
Calculates the shape factor for a given surface area. Given surface area of a sphere, find it’s radius and use that to find minimum bounding box. See Eq 16 Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
surface_area – surface area, ang^2
- Returns
Garza’s shape factor
- schrodinger.application.jaguar.garza.calc_acentric(temp: float, solvent: schrodinger.application.jaguar.garza.SolventParams, solute: schrodinger.application.jaguar.garza.SoluteParams, v_free: float) float | None ¶
Calculate the cavity entropy using acentric factor approximation. See Eq 13-23 in Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
temp – Temperature, in Kelvin
solvent – Solvent parameters
solute – Solute parameters
v_free – Free volume per solvent molecule, ang^3
- Returns garza_cavity_acentric
Cavity entropy using acentric factor approx, Ha/K
- schrodinger.application.jaguar.garza.calc_spt(temp: float, volume: float, dielectric: float, exp_coeff: float, solute_volume: float) tuple[float | None, float | None] ¶
Calculate the epsilon and epsilon,alpha cavity entropies using Garza’s scaled particle theory (spt). See Eq 25-32 in Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
Note that in communication with Garza, he mentioned that Eq 25 is missing a factor of “y” in the second term. The equations are correct in the ref.
- Parameters
temp – Temperature, in K
volume – Solvent volume, in ang^3
dielectric – Solvent permittivity (dielectric constant), no units
exp_coeff – Solvent expansion coefficient, in 1/K
solute_volume – Solute volume, in ang^3
- Returns epsilon_val
S_epsilon, Ha/K
- Returns eps_alpha_val
S_epsilon,alpha in Ha/K
- schrodinger.application.jaguar.garza.calc_concentration_term(temp: float, pressure: float) float ¶
Calculates concentration change contribution to solvation entropy. Assumes standard states, converting from given pressure to 1 M See Eq 33 Garza, A. J. Chem. Theory Comput. 2019, 15, 5, 3204–3214 DOI: 10.1021/acs.jctc.9b00214
- Parameters
pressure – pressure in APU (Ha/bohr^3)
temp – temperature in K
- Returns
concentration term of solvation entropy, Ha/K
- schrodinger.application.jaguar.garza.print_solvation_entropy(temp: float, pressure: float, enthalpy: float, results: schrodinger.application.jaguar.garza.SolvEntropyProps)¶
Print solvation entropy results in a nice table
- Parameters
temp – Temperature in Kelvin
pressure – pressure in APU
enthalpy – enthalpy in Hartree
results – solvation entropy values in Ha/K