Get potential energy#

Get potential energy.

The function molsysmt.molecular_mecanics.potential_energy_minimization() allows us to …

import molsysmt as msm
molecular_system = msm.convert(msm.systems['Barnase-Barstar']['barnase_barstar.h5msm'])
msm.info(molecular_system, element='molecule')
index name type n atoms n groups n components chain index entity index entity name
0 BARNASE protein 1727 110 1 0 0 BARNASE
1 BARSTAR protein 1432 89 1 0 1 BARSTAR
msm.molecular_mechanics.get_potential_energy(molecular_system)
-24849.148656988684 kilojoule/mole
msm.molecular_mechanics.get_potential_energy(molecular_system, decomposition=True)
{'HarmonicBondForce': <Quantity(415.037861, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-36491.478, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(9505.50327, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(1721.78817, 'kilojoule / mole')>}
msm.molecular_mechanics.get_potential_energy(molecular_system, selection='molecule_name=="BARNASE"', decomposition=True)
{'HarmonicBondForce': <Quantity(232.56631, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-19265.496, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(5124.04774, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(954.717869, 'kilojoule / mole')>}
msm.molecular_mechanics.get_potential_energy(molecular_system, selection='molecule_name=="BARSTAR"', decomposition=True)
{'HarmonicBondForce': <Quantity(182.471551, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-14040.2096, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(4381.45553, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(767.070299, 'kilojoule / mole')>}