openforcefield / amber-ff-porting

Scratch space for porting amber FFs into SMIRNOFF format
1 stars 3 forks source link

Prototype of turning OpenMM system into an AMBER prmtop #7

Open j-wags opened 4 years ago

j-wags commented 4 years ago
import parmed
from openforcefield.topology import Molecule
from openforcefield.typing.engines.smirnoff import ForceField
ff = ForceField('openff_unconstrained-1.0.0.offxml')
mol = Molecule.from_smiles('Cc1ccccc1')
mol.generate_conformers() # Not needed if loading from a file with geometry

### If we're doing this for di/tri-peptide evaluation, replace the above three lines with something like:
#ff = ForceField('2020-05-21-amber-ff-porting/test.offxml')
#mol = Molecule.from_file('2020-05-21-amber-ff-porting/MainChain/PRO/PRO.mol2')

#print(mol.to_smiles())
top = mol.to_topology()
sys = ff.create_openmm_system(top)
toluene_structure = parmed.openmm.load_topology(top.to_openmm(),
                                                sys,
                                                xyz=mol.conformers[0])
toluene_structure.save('system.prmtop', overwrite=True)
toluene_structure.save('system.inpcrd', overwrite=True)