Force functions#
- openmicron.forcefield.functionterms.harmonic_bond_term(bond_info, use_pbc=False, force_group=1)[source]#
Harmonic bond term.
- Parameters:
bond_info (pd.DataFrame) – Information for all bonds.
use_pbc (bool, optional) – Whether to use periodic boundary conditions. If False (default),then pbc would not apply to Harmonic bond force.
force_group (int) – Force group
- Returns:
bond_force – OpenMM Harmonic bond force object
- Return type:
Force
- openmicron.forcefield.functionterms.harmonic_angle_term(angle_info, use_pbc=False, force_group=1)[source]#
Harmonic angle force term
- Parameters:
angle_info (pd.DataFrame) – Information about all Hamonic angles
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to Harmonic angle force.
force_group (int) – Force group
- Returns:
angle_force – OpenMM harmonic angle force object
- Return type:
Force
- openmicron.forcefield.functionterms.aicg13_angle_term(aicg13_ang_info, use_pbc=False, force_group=1)[source]#
aicg13 interaction is structure-based local contact potential to describe specific local interactions of the given protein structure.
- Parameters:
aicg13_info (pb.DataFrame) – Information for all aicg13 angle interaction.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to aicg13 interaction.
force_group (int) – Force group
- Returns:
aicg13_ang_force – Openmm force object
- Return type:
Force
- openmicron.forcefield.functionterms.flex_angle_term(flex_ang_info, use_pbc=False, force_group=1)[source]#
The flexible local potential was constructed by analyzing loop structures in protein structure database to enchance angle flexibility.
- Parameters:
flex_ang_info (pb.DataFrame) – Information of flexible local potential for the virtual bond angles.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
force_group (int) – Force group.
- Returns:
flex_ang_force – Openmm force object.
- Return type:
Force
- openmicron.forcefield.functionterms.native_dihd_term(nat_dihd_info, use_pbc=False, force_group=1)[source]#
ordinary dihedral angle potential.
- Parameters:
nat_dihd_info (pd.DataFrame) – Information for all native dihedral.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
force_group (int) – Force group.
- openmicron.forcefield.functionterms.aicg_dihd_term(aicg_dihd_info, use_pbc=False, force_group=1)[source]#
A structure-based local contact potential to describe the chirality of local interactions (dihedral angle of backbone) and reference from “Li, W., Wang, W., & Takada, S. (2014). Energy landscape views for interplays among folding, binding, and allostery of calmodulin domains. Proceedings of the National Academy of Sciences, 111(29), 10550-10555”.
- Parameters:
aicg_dihd_info (pd.DataFrame) – Information for all aicg dihedral angle
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
force_group (int) – Force group.
- Returns:
aicg_dihd_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.flex_dihd_term(flex_dihd_info, use_pbc=False, force_group=1)[source]#
a sequence dependence flexible local dihedral interaction flex_dihd_info : pd.DataFrame Information for all aicg dihedral angle
- Parameters:
flex_dihd_info (pd.DataFrame) – Information for all flexible local dihedral angle
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
force_group (int) – Force group.
- Returns:
flex_dihd_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.go_contact_term(native_contact_info, use_pbc=False, cutoff=2.5, force_group=1)[source]#
a typical Lenard-Jones(12-10) potential for native contact in go model
- Parameters:
native_contact_info (pd.DataFrame) – Information for all native contact.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – cutoff = truncated distance. If cutoff is None, the potential will not be trancated.
force_group (int) – Force group.
- Returns:
go_contact_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.kim_hummer_term(atom_resi_type, epsilon_map, sigma_map, exclusions, extra_exclusions=None, use_pbc=False, cutoff=4, force_group=1)[source]#
a non-specific and long-range interactoin bewteen amino acid driven by their hydrophobic, aromatic, or electrostatic character, which is a modified LJ type energy function and reference from “J. Mol. Biol. (2008) 375, 1416–1433”.
- Parameters:
atom_resi_type (list, str) – the residue name of all atoms
epsilon_map (array) – the strength of specific residue pair
sigma_map (array) – the rest length of specific residue pair
exclusions (list) – pairs of neighbour particles whose interactions should be omitted from force and energy calculations.
extra_exclusions (list) – This represents the extra particle pairs that are neglected in the calculation of the Kim-Hummer potential.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – cutoff = truncated distance / rest length. If cutoff is None, the potential will not be trancated.
- force_group: int
Force group.
- Returns:
kim_hummer_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.ashbaugh_hatch(atom_resi_type, epsilon, sigma_map, lambda_map, exclusions, extra_exclusions=None, use_pbc=False, cutoff=4, force_group=1)[source]#
ashbaugh hatch potential that is a non-specific and long-range interactoin bewteen amino acid driven by their hydrophobic, aromatic, or electrostatic character, which is a modified LJ type energy function and reference from “Protein Science, 2021, 30(7): 1371-1379.”.
- Parameters:
atom_resi_type (list, str) – the residue type of all atoms
epsilon (array) – the strength of specific residue pair
sigma_map (array) – the rest length of specific residue pair
exclusions (list) – particular pairs of particles whose interactions should be omitted from force and energy calculations.
extra_exclusions (list) – This represents the extra particle pairs that are neglected in the calculation of the potential.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – cutoff = truncated distance / rest length. If cutoff is None, the potential will not be trancated.
force_group (int) – Force group.
- Returns:
Ash_Hat_contacts – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.excluded_term(atom_types, epsilon_map, sigma_map, exclusions, extra_exclusions=None, use_pbc=False, cutoff=2.5, force_group=1)[source]#
An excluded interaction between atoms is implemented to prevent overlap.
- Parameters:
atom_type (list, int) – Atom type.
epsilon_map (array) – the strength of specific residue pair
sigma_map (array) – the rest length of specific residue pair
exclusions (list) – particular pairs of particles whose interactions should be omitted from force and energy calculations.
extra_exclusions (list) – This represents the extra particle pairs that are neglected in the calculation of the potential.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – cutoff = truncated distance / rest length. If cutoff is None, the potential will not be trancated.
force_group (int) – Force group.
- Returns:
excluded_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.kh_and_ex_term(resi_type_list, atom_type_list, epsilon_map, sigma_map, atom_type_map, exclusions, extra_exclusions=None, use_pbc=False, cutoff_kh=2.5, cutoff_ex=2.0, force_group=1)[source]#
This function implements kim-hummer and excluded potential.
- Parameters:
resi_type_list (int) – residual type.
atom_type_list (int) – Atom type.
epsilon_map (array) – the strength of specific atom pair
sigma_map (array) – the rest length of specific atom pair
exclusions (list) – particular pairs of particles whose interactions should be omitted from force and energy calculations.
extra_exclusions (list) – This represents the extra particle pairs that are neglected in the calculation of the potential.
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff_kh (float) – cutoff for kim-hummer potential. cutoff = truncated distance / rest length. If cutoff is None, the potential will not be trancated.
cutoff_ex (float) – cutoff for excluded potential. cutoff = truncated distance / rest length. If cutoff is None, the potential will not be trancated.
force_group (int) – Force group.
- Returns:
KH_ex_force – OpenMM Force object
- Return type:
Force
- openmicron.forcefield.functionterms.debye_Huckel_bond_form(charge, exclusions, dieletric_constant=80, ion_strength=0.02, T=300, use_pbc=False, cutoff=20, force_group=1)[source]#
a Debye-Huckel potential is acheived by CustomBondForce
- Parameters:
charge (pd.DataFrame) – include the index and charge quatity of pair atom
exclusions (list) – particular pairs of particles whose interactions should be omitted from force and energy calculations.
dieletric_constant (float) – dieletric constant
ion_strength (float, unit is mol/L) – salt-conentratoin,the default value 0.02 is correspond 20mM/L NaCl and ion_strength I=1 for 1M/L NaCl
T (float, unit.kelvin) – temperatur
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – ele_cutoff = (truncated distane/lamdaD). lamdaD is so-called Debye length
force_group (int) – Force group.
- openmicron.forcefield.functionterms.debye_Huckel_nonbonded_form(charge, exclusions, dieletric_constant=80, ion_strength=0.02, T=300, use_pbc=False, cutoff=20, force_group=1)[source]#
a Debye-Huckel potential is acheived by CustomNonbondedForce
- Parameters:
charge (list) – charge of each atoms
exclusions (list) – particular pairs of particles whose interactions should be omitted from force and energy calculations.
dieletric_constant (float) – dieletric constant
ion_strength (float, unit is mol/L) – salt-conentratoin,the default value 0.02 is correspond 20mM/L NaCl and ion_strength I=1 for 1M/L NaCl
T (float, unit.kelvin) – temperature
use_pbc (bool, optional) – Whether use periodic boundary conditions. If False (default),then pbc would not apply to force.
cutoff (float) – ele_cutoff = (truncated distane/lamdaD). lamdaD is so-called Debye length
force_group (int) – Force group.
- Returns:
deb_huc_force – OpenMM Force object
- Return type:
Force