No amoeba multipoles affected to a single atom
NF-AMU opened this issue · 5 comments
Hello, using this test case with amoebabio18 (Tinker version 8.10.2 February 2022):
11 test case
1 C 0.671523 -0.069966 0.000048 235 2 3 5
2 O -0.163370 -0.985237 0.000081 236 1
3 OH 0.195889 1.200043 0.000046 237 1 4
4 HO -0.781981 1.204326 0.000025 238 3
5 CA 2.154831 -0.174328 -0.000048 2 1 6 7 8
6 H 2.625631 0.838304 0.002964 6 5
7 H 2.479085 -0.739917 0.907924 6 5
8 H 2.479249 -0.734448 -0.911360 6 5
9 O -2.449505 0.027720 -0.000066 349 10 11
10 H -2.212122 -0.521300 0.754780 350 9
11 H -2.212106 -0.521418 -0.754820 350 9
The 5th atom has no multipoles while others have.
Atomic Multipole Parameters :
Atom Z-Axis X-Axis Y-Axis Frame Multipole Moments
1 1 2 5 Z-then-X 0.92336
-0.20027 0.00000 -0.03856
0.31193
0.00000 -0.40576
0.16648 0.00000 0.09383
2 2 1 5 Z-then-X -0.58827
0.04503 0.00000 -0.13615
-0.44066
0.00000 0.28331
0.05541 0.00000 0.15735
3 3 1 4 Z-then-X -0.46459
0.15200 0.00000 0.02356
0.42562
0.00000 -0.67227
-0.48912 0.00000 0.24665
4 4 3 1 Z-then-X 0.24812
-0.03635 0.00000 -0.05034
-0.06195
0.00000 -0.06380
-0.05902 0.00000 0.12575
5 5 None 0.00000
0.00000 0.00000 0.00000
0.00000
0.00000 0.00000
0.00000 0.00000 0.00000
6 6 5 7 Z-then-X 0.07437
0.01314 0.00000 -0.06475
0.08205
0.00000 0.01765
0.00706 0.00000 -0.09970
7 7 5 6 Z-then-X 0.07437
0.01314 0.00000 -0.06475
0.08205
0.00000 0.01765
0.00706 0.00000 -0.09970
8 8 5 6 Z-then-X 0.07437
0.01314 0.00000 -0.06475
0.08205
0.00000 0.01765
0.00706 0.00000 -0.09970
9 9 10 11 Bisector -0.51966
0.00000 0.00000 0.14279
0.37928
0.00000 -0.41809
0.00000 0.00000 0.03881
10 10 9 11 Z-then-X 0.25983
-0.03859 0.00000 -0.05818
-0.03673
0.00000 -0.10739
-0.00203 0.00000 0.14412
11 11 9 10 Z-then-X 0.25983
-0.03859 0.00000 -0.05818
-0.03673
0.00000 -0.10739
-0.00203 0.00000 0.14412
Is my system ill-defined?
Thanks in advance!
The AMOEBA parameters files can't be used in the way you are attempting. The amoebabio18 parameter file has parameters for proteins, nucleic acids, ions and water- and nothing else. Your system is an acetic acid molecule and a water molecule. The amoebabio18 file does not have parameters for acetic acid. You have tried to use atom type "2" for the acetic acid methyl carbon, but it's the atom type for the C-alpha of glycine in a protein structure. You can't just pick something that seems similar and use it in a different molecule. You must have parameters for the specific molecule you wish to compute, or at least values transferred from the specific class of molecule you are attempting to compute.
For your case, the amoeba09.prm file does have parameters for both acetic acid and for water. If you use that parameter file instead of amoebabio18.prm, then the coordinates file given below should work correctly:
11 Acetic Acid and Water
1 C 0.671523 -0.069966 0.000048 155 2 3 5
2 O -0.163370 -0.985237 0.000081 156 1
3 O 0.195889 1.200043 0.000046 153 1 4
4 H -0.781981 1.204326 0.000025 154 3
5 C 2.154831 -0.174328 -0.000048 157 1 6 7 8
6 H 2.625631 0.838304 0.002964 158 5
7 H 2.479085 -0.739917 0.907924 158 5
8 H 2.479249 -0.734448 -0.911360 158 5
9 O -2.449505 0.027720 -0.000066 39 10 11
10 H -2.212122 -0.521300 0.754780 40 9
11 H -2.212106 -0.521418 -0.754820 40 9
Dear Jay,
I am fully aware this ff shouldn't be used for this molecule. However, you never know what a user like me is trying to do. Accordingly, a warning or a fatal error when multipoles cannot be assigned may be worth the addition. This is basically the same as when Tinker stops upon lacking parameters.
Thanks. This has come up multiple times over the years. Tinker will only print a missing parameter message and stop for missing main valence terms- bonds, angles, torsions, etc. Tinker does nothing for "missing" optional cross terms (stretch-bend, etc.) or for missing nonbonded terms (repulsion, dispersion, electrostatics, etc.). We do this since there are legitimate calculations where those latter terms should be "missing".
But I agree it would probably be helpful to the typical user to at least print a warning when most atoms have nonbonded parameters and only a few atoms have missing values. This is perhaps particularly true for the multipoles, where a missing value can easily be due to a mistaken local frame definition or similar. I'll modify the code to print a warning and continue with the calculation in such cases.
So, I've added a non-fatal warning when only some atoms are without atomic multipoles. This is the most common and easiest to case to miss, such as the one you provided above.