Residue mismatch with ForceField

Automatic force field optimization. Given a force field and a set of reference data (e.g. energies and forces from QM calculations, experimental measurements), we tune the force field parameters such that it accurately reproduces the reference data.
POST REPLY
User avatar
Olga Falagara
Posts: 3
Joined: Tue Jan 26, 2016 7:39 am

Residue mismatch with ForceField

Post by Olga Falagara » Sun May 29, 2016 12:36 pm

Hi

I am trying to use ForceBalance to refine parameters for a potential. I am using OpenMM as my MD engine.

I have set up a trial run with some of my data and I get the following error when running ForceBalance:
"Residue 1 (LIG) does not match any template defined by the Forcefield".
However, I have used the same forcefield.xml file to run a simulation with OpenMM with no problems.

I am probably missing something, so I could use some help.

This is part of my all.gro file:

GENERATED BY OPEN BABEL JOB 0
21
1LIG SI1 1 -0.035 0.012 -0.047
1LIG O11 2 1.320 0.441 -0.910
1LIG O12 3 0.545 -1.201 0.932
1LIG O13 4 -1.289 -0.559 -0.978
1LIG O14 5 -0.547 1.301 0.870
1LIG SI2 6 2.305 1.792 -0.839
1LIG O21 7 3.034 1.564 0.664
1LIG O22 8 3.543 1.729 -1.955
1LIG O23 9 1.477 3.209 -1.063
1LIG SI3 10 1.932 -2.134 0.847
1LIG O31 11 3.319 -1.230 0.817
1LIG O32 12 2.041 -3.216 2.111
1LIG O33 13 1.596 -3.061 -0.521
1LIG SI4 14 -2.287 -1.891 -0.806
1LIG O41 15 -3.176 -1.437 0.553
1LIG O42 16 -3.393 -2.013 -2.048
1LIG O43 17 -1.452 -3.318 -0.712
1LIG SI5 18 -1.939 2.228 0.809
1LIG O51 19 -3.323 1.329 0.950
1LIG O52 20 -1.961 3.409 1.986
1LIG O53 21 -1.704 3.042 -0.650
4.50000 4.50000 4.50000


This is the part of the forcefield.xml file where I define the residue:

<Residues>
<Residue name="LIG">
<Atom name = "SI1" type="0"/>
<Atom name = "O11" type="1"/>
<Atom name = "O12" type="1"/>
<Atom name = "O13" type="1"/>
<Atom name = "O14" type="1"/>
<Atom name = "SI2" type="0"/>
<Atom name = "O21" type="1"/>
<Atom name = "O22" type="1"/>
<Atom name = "O23" type="1"/>
<Atom name = "SI3" type="0"/>
<Atom name = "O31" type="1"/>
<Atom name = "O32" type="1"/>
<Atom name = "O33" type="1"/>
<Atom name = "SI4" type="0"/>
<Atom name = "O41" type="1"/>
<Atom name = "O42" type="1"/>
<Atom name = "O43" type="1"/>
<Atom name = "SI5" type="0"/>
<Atom name = "O51" type="1"/>
<Atom name = "O52" type="1"/>
<Atom name = "O53" type="1"/>
<Bond from="0" to="1"/>
<Bond from="0" to="2"/>
<Bond from="0" to="3"/>
<Bond from="0" to="4"/>
<Bond from="1" to="5"/>
<Bond from="5" to="6"/>
<Bond from="5" to="7"/>
<Bond from="5" to="8"/>
<Bond from="2" to="9"/>
<Bond from="9" to="10"/>
<Bond from="9" to="11"/>
<Bond from="9" to="12"/>
<Bond from="3" to="13"/>
<Bond from="13" to="14"/>
<Bond from="13" to="15"/>
<Bond from="13" to="16"/>
<Bond from="4" to="17"/>
<Bond from="17" to="18"/>
<Bond from="17" to="19"/>
<Bond from="17" to="20"/>
</Residue>
</Residues>


and this is the pdb file that I use in OpenMM (and have put in the targets and in the setting directory)

COMPND UNNAMED
AUTHOR GENERATED BY OPEN BABEL 2.3.2
HETATM 1 SI1 LIG 1 0.000 0.000 0.000 1.00 0.00 SI
HETATM 2 O11 LIG 1 0.000 0.000 1.663 1.00 0.00 O
HETATM 3 O12 LIG 1 1.540 0.000 -0.626 1.00 0.00 O
HETATM 4 O13 LIG 1 -0.842 1.373 -0.411 1.00 0.00 O
HETATM 5 O14 LIG 1 -0.698 -1.373 -0.626 1.00 0.00 O
HETATM 6 SI2 LIG 1 0.220 -1.212 2.791 1.00 0.00 SI
HETATM 7 O21 LIG 1 1.759 -1.792 2.397 1.00 0.00 O
HETATM 8 O22 LIG 1 0.362 -0.611 4.340 1.00 0.00 O
HETATM 9 O23 LIG 1 -0.992 -2.338 2.729 1.00 0.00 O
HETATM 10 SI3 LIG 1 2.955 0.745 -0.141 1.00 0.00 SI
HETATM 11 O31 LIG 1 3.482 0.175 1.321 1.00 0.00 O
HETATM 12 O32 LIG 1 4.164 0.599 -1.280 1.00 0.00 O
HETATM 13 O33 LIG 1 2.522 2.381 -0.160 1.00 0.00 O
HETATM 14 SI4 LIG 1 -0.885 2.296 -1.803 1.00 0.00 SI
HETATM 15 O41 LIG 1 -1.377 1.169 -2.965 1.00 0.00 O
HETATM 16 O42 LIG 1 -2.097 3.440 -1.762 1.00 0.00 O
HETATM 17 O43 LIG 1 0.571 3.024 -2.103 1.00 0.00 O
HETATM 18 SI5 LIG 1 -2.290 -1.829 -0.847 1.00 0.00 SI
HETATM 19 O51 LIG 1 -3.061 -0.861 -1.946 1.00 0.00 O
HETATM 20 O52 LIG 1 -2.429 -3.429 -1.298 1.00 0.00 O
HETATM 21 O53 LIG 1 -2.904 -1.758 0.728 1.00 0.00 O
CONECT 1 5 3 4 2
CONECT 1
CONECT 2 1 6
CONECT 3 10 1
CONECT 4 14 1
CONECT 5 18 1
CONECT 6 2 7 9 8
CONECT 6
CONECT 7 6
CONECT 8 6
CONECT 9 6
CONECT 10 12 3 13 11
CONECT 10
CONECT 11 10
CONECT 12 10
CONECT 13 10
CONECT 14 15 17 16 4
CONECT 14
CONECT 15 14
CONECT 16 14
CONECT 17 14
CONECT 18 19 20 5 21
CONECT 18
CONECT 19 18
CONECT 20 18
CONECT 21 18
MASTER 0 0 0 0 0 0 0 0 21 0 21 0
END


Any ideas?

User avatar
Olga Falagara
Posts: 3
Joined: Tue Jan 26, 2016 7:39 am

Re: Residue mismatch with ForceField

Post by Olga Falagara » Fri Jul 08, 2016 11:02 am

I fixed it (forcebalance would read the silicon atoms as sulfur atoms from the pdb files) with a few modifications on PDB.py and molecule.py

User avatar
Lee-Ping Wang
Posts: 102
Joined: Sun Jun 19, 2011 5:14 pm

Re: Residue mismatch with ForceField

Post by Lee-Ping Wang » Fri Jul 08, 2016 7:21 pm

Ah, thanks for coming back with the update. I admit I didn't see your earlier message.

If your changes to the code are useful in a broader context, would you consider contributing it back to the main repository at github.com/leeping/forcebalance ?

Thanks,

- Lee-Ping

User avatar
Olga Falagara
Posts: 3
Joined: Tue Jan 26, 2016 7:39 am

Re: Residue mismatch with ForceField

Post by Olga Falagara » Sat Jul 23, 2016 11:38 am

Thank you, I will as soon as I find my way around github

Olga

POST REPLY