[lammps-users] Problem with Topotools- no bending, dihedral and improper angles

Dear LAMMPS community:

I have a problem to write correct and complete topological information using topotools v1.1 to be read in LAMMPS. I used one Ethene molecule as a test case. I chose "molecular" for atom_style in "topo writelammpsdata" command. The data file generated is attached at the end. The problem is that no information regarding the bending angles, dihedral angles, and impropers is written and also topotools just returns one bond type while there are two bond types- single and double- in the system.

Any help would be greatly appreciated.

Farshad

LAMMPS data file. CGCMM style. generated by VMD/TopoTools v1.1 on Mon Jan 24 19:19:40 -0600 2011
6 atoms
5 bonds
0 angles
0 dihedrals
0 impropers
2 atom types
1 bond types
0 angle types
0 dihedral types
0 improper types
-7.421500 7.578500 xlo xhi
-7.500000 7.500000 ylo yhi
-7.500000 7.500000 zlo zhi

Masses

1 12.010700 # C
2 1.007940 # H

Atoms

1 1 2 1.233000 -1.002000 0.055000 # H LIG
2 1 1 0.708000 -0.058000 -0.062000 # C LIG
3 1 2 1.359000 0.781000 -0.289000 # H LIG
4 1 1 -0.603000 0.058000 0.062000 # C LIG
5 1 2 -1.255000 -0.781000 0.289000 # H LIG
6 1 2 -1.128000 1.002000 -0.055000 # H LIG

Bonds

1 1 1 2
2 1 2 3
3 1 2 4
4 1 4 5
5 1 4 6

Dear LAMMPS community:

I have a problem to write correct and complete topological information using topotools v1.1 to be read in LAMMPS. I used one Ethene molecule as a test case. I chose "molecular" for atom_style in "topo writelammpsdata" command. The data file generated is attached at the end. The problem is that no information regarding the bending angles, dihedral angles, and impropers is written and also topotools just returns one bond type while there are two bond types- single and double- in the system.

Any help would be greatly appreciated.

this is not a problem of topotools, but it is a problem of you
not providing or generating sufficient information.

topotools can only write out what is known to VMD. VMD by
default only looks for information that is available and tries to
guess what is needed for visualization. so bonds are guessed
based on element radius heuristics, which in turn are based on
biomolecule naming conventions, i.e. HG is identified as hydrogen
and CL as carbond and not as mercury and chlorine, respectively.
bond types are irrelevant for visualization and are thus not generated.
similarly single or double or other bond order is not assigned.

the writelammpsdata command can write all of that out, if you
set this information first.

now there are also modules included in topotools to help with
(re-)generating this information, but they are highly dependent
on sticking to certain conventions and they will not always work.
this is why those modules are all named _guess_something.

first of all, you have to assign atom types. with that information,
you can reconstruct bond types via: topo retypebonds
following the CHARMM forcefield convention, each bond between
two unique atom types is assigned a different bond type. plain
element names will not always work for that, e.g. if you need to
assign bond type information for a molecule like butadiene which
has two different elements, but three different bond types.
if needed, individual bond types can be assigned manually
with script commands.

again, following typical forcefield conventions, the angle and
dihedral definitions can be inferred from the topology of bonds
via the guessangles and guessdihedrals modules. for double
bonds, you'll also need to assign impropers, to keep certain
constructs "flat". the guessimpropers module can be used to
determine those, but this is dependent on a suitable starting
configuration.

with all of those steps, you can generate a full data file, but
you are still advised to double check that all "guesses" are
working correctly for your system and coordinate input.

an alternate strategy would be to have a template provided
for each monomer, and the write script code to match the
input geometry with template definitions. this is similar to
what topology building tools for biomolecules do. there are some
provisions for that in topotools, too. using this template approach
is more reliable, but requires more custom scripting and
writing of proper template data.

in short, you did not provide sufficient information, so you don't
get a sufficient data file. no information can be created from nothing
and there is no magic bullet that always hits the bull's eye.

cheers,
     axel.