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)