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 protein 0
1 BARSTAR protein 1432 89 1 0 1 protein 1
msm.molecular_mechanics.get_potential_energy(molecular_system)
-25019.433705570038 kilojoule/mole
msm.molecular_mechanics.get_potential_energy(molecular_system, decomposition=True)
{'HarmonicBondForce': <Quantity(410.784811, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-36663.969, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(9539.07638, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(1694.67414, 'kilojoule / mole')>}
msm.molecular_mechanics.get_potential_energy(molecular_system, selection='molecule_name=="BARNASE"', decomposition=True)
{'HarmonicBondForce': <Quantity(233.452333, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-19305.2171, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(5109.72271, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(952.452238, 'kilojoule / mole')>}
msm.molecular_mechanics.get_potential_energy(molecular_system, selection='molecule_name=="BARSTAR"', decomposition=True)
{'HarmonicBondForce': <Quantity(177.332478, 'kilojoule / mole')>,
 'NonbondedForce': <Quantity(-14123.1861, 'kilojoule / mole')>,
 'PeriodicTorsionForce': <Quantity(4429.35367, 'kilojoule / mole')>,
 'CMMotionRemover': <Quantity(0.0, 'kilojoule / mole')>,
 'HarmonicAngleForce': <Quantity(742.221902, 'kilojoule / mole')>}