moltemplate issue in identifying # of bond, angle, and torsion types (dioxane example)

Hello,

I am experimenting with moltemplate and used the OPLSAA.lt in one of the examples. I provide a list of bonds and expect to get the angles and dihedrals. The resulting system.data file (attached) shows

3 atom types
4 bond types
6 angle types
8 dihedral types

for a single dioxane molecule. It should be 3 bond types, 5 angle types and 5 dihedral types. However the remaining of the file does use the correct number of bond types, etc. For instance the Bond Data section is:

Bonds

1 2 1 5
2 2 1 4
3 2 2 6
4 2 2 3
5 3 3 9
6 1 3 4
7 3 3 10
8 3 4 7
9 3 4 8
10 3 5 13
11 1 5 6
12 3 5 14
13 3 6 12
14 3 6 11

Note no bond type with Id 4. Similarly the angle and dihedral sections do not use all the types.

Is this the intended behavior of moltemplate.sh?

Thanks,

system.data (1.52 KB)

BTW, the source of this problem is coming from running oplsaa_moltemplate.py which reads the OPLSAA parameter file based on my list of atoms and bonds.

Hello,

I am experimenting with moltemplate and used the OPLSAA.lt in one of the
examples. I provide a list of bonds and expect to get the angles and
dihedrals. The resulting system.data file (attached) shows

3 atom types
4 bond types
6 angle types
8 dihedral types

for a single dioxane molecule. It should be 3 bond types, 5 angle types and
5 dihedral types. However the remaining of the file does use the correct
number of bond types, etc. For instance the Bond Data section is:

Bonds

1 2 1 5
2 2 1 4
3 2 2 6
4 2 2 3
5 3 3 9
6 1 3 4
7 3 3 10
8 3 4 7
9 3 4 8
10 3 5 13
11 1 5 6
12 3 5 14
13 3 6 12
14 3 6 11

Note no bond type with Id 4. Similarly the angle and dihedral sections do
not use all the types.

i don't know if this would be considered a bug, but as far as LAMMPS
is concerned, it is perfectly legal for a data file to configure more
types of atoms, bonds, angles, whatever than what is actually used.
this is often needed, when additional atoms or molecules are later
inserted into the system with commands like create_atoms, fix deposit
and others. the important part is that BondCoeffs etc. are consistent.

axel.

I suspect that the oplsaa_moltemplate.py script generates bond, angle,
dihedral, and improper interaction types for combinations of atoms for
which are defined somewhere in the "oplsaa.txt" file. It does this
even if some of those interactions are not present in the molecules in
your particular system.

But this is an interesting question. I will forward this to Jason
Lambert and post his reply.

Cheers!
Andrew