propka.energy
Energy calculations
Energy calculations.
Functions
|
Calculate distance and angle factors for three atoms for backbone interactions. |
|
Perform calculations related to backbone reorganizations. |
|
Calculate the atom-pair based desolvation weight. |
|
Calculate desolvation scaling factor. |
|
Calculate the atom-based desolvation weight. |
|
Check to see if an interaction is buried |
|
Check for COO-ARG interaction atypical behavior. |
|
Check for COO-COO hydrogen-bond atypical interaction behavior. |
|
Check for COO-HIS atypical interaction behavior |
|
Checks if this Coulomb interaction should be done. |
|
Check for CYS-CYS atypical interaction behavior |
|
Check for CYS-HIS atypical interaction behavior |
|
Checks for atypical behavior in interactions between two groups. |
|
Check for OCO-HIS atypical interaction behavior |
|
Calculates the Coulomb interaction pKa shift based on Coulomb's law. |
|
Calculate electrostatic interaction betwee two groups. |
|
Calculate hydrogen-bond interaction pKa shift. |
|
Calculate energy for hydrogen bond interactions between two groups. |
|
Calculate desolvation terms for group. |
- propka.energy.angle_distance_factors(atom1: Atom | None = None, atom2: Atom = None, atom3: Atom = None, center: Sequence[float] | None = None)[source]
Calculate distance and angle factors for three atoms for backbone interactions.
- NOTE - you need to use atom1 to be the e.g. ASP atom if distance is reset
at return: [O1 – H2-N3].
Also generalized to be able to be used for residue ‘centers’ for C=O COO interactions.
- Parameters:
atom1 – first atom for calculation (could be None)
atom2 – second atom for calculation
atom3 – third atom for calculation
center – center point between atoms 1 and 2
- Returns
- [distance factor between atoms 1 and 2,
angle factor, distance factor between atoms 2 and 3]
- propka.energy.backbone_reorganization(_, conformation: ConformationContainer) None [source]
Perform calculations related to backbone reorganizations.
NOTE - this was described in the code as “adding test stuff” NOTE - this function does not appear to be used TODO - figure out why a similar function exists in version.py
- Parameters:
_ – not used
conformation – specific molecule conformation
- propka.energy.calculate_pair_weight(parameters: Parameters, num_volume1: int, num_volume2: int) float [source]
Calculate the atom-pair based desolvation weight.
- Parameters:
num_volume1 – number of heavy atoms within first desolvation volume
num_volume2 – number of heavy atoms within second desolvation volume
- Returns:
desolvation weight
- propka.energy.calculate_scale_factor(parameters, weight: float) float [source]
Calculate desolvation scaling factor.
- Parameters:
parameters – parameters for desolvation calculation
weight – weight for scaling factor
- Returns:
scaling factor
- propka.energy.calculate_weight(parameters: Parameters, num_volume: float) float [source]
Calculate the atom-based desolvation weight.
TODO - figure out why a similar function exists in version.py
- Parameters:
parameters – parameters for desolvation calculation
num_volume – number of heavy atoms within desolvation calculation volume
- Returns:
desolvation weight
- propka.energy.check_buried(num_volume1, num_volume2)[source]
Check to see if an interaction is buried
- Parameters:
num_volume1 – number of buried heavy atoms in volume 1
num_volume2 – number of buried heavy atoms in volume 2
- Returns:
True if interaction is buried, False otherwise
- propka.energy.check_coo_arg_exception(group_coo, group_arg, version)[source]
Check for COO-ARG interaction atypical behavior.
Uses the two shortest unique distances (involving 2+2 atoms)
- Parameters:
group_coo – COO group
group_arg – ARG group
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_coo_coo_exception(group1, group2, version)[source]
Check for COO-COO hydrogen-bond atypical interaction behavior.
- Parameters:
group1 – first group for check
group2 – second group for check
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_coo_his_exception(group1, group2, version)[source]
Check for COO-HIS atypical interaction behavior
- Parameters:
group1 – first group for check
group2 – second group for check
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_coulomb_pair(parameters: Parameters, group1: Group, group2: Group, dist: float) bool [source]
Checks if this Coulomb interaction should be done.
NOTE - this is a propka2.0 hack TODO - figure out why a similar function exists in version.py
- Parameters:
parameters – parameters for Coulomb calculations
group1 – first interacting group
group2 – second interacting group
dist – distance between groups
- Returns:
Boolean
- propka.energy.check_cys_cys_exception(group1, group2, version)[source]
Check for CYS-CYS atypical interaction behavior
- Parameters:
group1 – first group for check
group2 – second group for check
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_cys_his_exception(group1, group2, version)[source]
Check for CYS-HIS atypical interaction behavior
- Parameters:
group1 – first group for check
group2 – second group for check
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_exceptions(version, group1, group2)[source]
Checks for atypical behavior in interactions between two groups. Checks are made based on group type.
TODO - figure out why a similar function exists in version.py
- Parameters:
version – version object
group1 – first group for check
group2 – second group for check
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.check_oco_his_exception(group1, group2, version)[source]
Check for OCO-HIS atypical interaction behavior
- Parameters:
group1 – first group for check
group2 – second group for check
version – version object
- Returns:
Boolean indicating atypical behavior,
value associated with atypical interaction (None if Boolean is False)
- propka.energy.coulomb_energy(dist: float, weight: float, parameters) float [source]
Calculates the Coulomb interaction pKa shift based on Coulomb’s law.
- Parameters:
dist – distance for electrostatic interaction
weight – scaling of dielectric constant
parameters – parameter object for calculation
- Returns:
pKa shift
- propka.energy.electrostatic_interaction(group1, group2, dist, version)[source]
Calculate electrostatic interaction betwee two groups.
- Parameters:
group1 – first interacting group
group2 – second interacting group
dist – distance between groups
version – version-specific object with parameters and functions
- Returns:
electrostatic interaction energy or None (if no interaction is appropriate)
- propka.energy.hydrogen_bond_energy(dist, dpka_max: float, cutoffs, f_angle=1.0) float [source]
Calculate hydrogen-bond interaction pKa shift.
- Parameters:
dist – distance for hydrogen bond
dpka_max – maximum pKa value shift
cutoffs – array with max and min distance values
f_angle – angle scaling factor
- Returns:
pKa shift value
- propka.energy.hydrogen_bond_interaction(group1: Group, group2: Group, version: Version)[source]
Calculate energy for hydrogen bond interactions between two groups.
- Parameters:
group1 – first interacting group
group2 – second interacting group
version – an object that contains version-specific parameters
- Returns:
hydrogen bond interaction energy