From: Javier Goicochea (goicox_at_gmail.com)
Date: Thu Jan 15 2009 - 08:03:50 CST

Hi all,

I am trying to use correctly topology files. The molecular system I am
building is composed by different substances: solids and liquids, for
example (but not limited to) Quartz and Water or Silicone. So far, I can
create PDB files for the different geometries and substances to be studied.
However, I do not have the topology files for Quartz, nor for the other
solids I want also to study. I am basically interested in using psfgen in
VMD to create the PSF file, but I need the topology file.

At this point, I have been trying to understand the structure / format of
the topology file and I have managed to create a simple (initial) version of
the topology file for Quartz. This topology file can create the PSF file,
with bonds, angles and dihedrals.

The main problem I am facing is the following. Quartz structure (low quartz)
is given by a lattice representation (i.e. all atomic positions are given by
the lattice vectors and the difference basis (9)) and belongs to the
trigonal crystal system. However, my geometry is in Cartesian coordinates,
hence, the crystal structure is trimmed to conform to the boundaries of my
geometry (3D). During the trimming of the boundaries, some units cells also
trimmed, therefore they have less than 9 atoms. When I try to use the
topology file, psfgen typically creates more atoms (multiple of 9) that
those originally in the PDB file. I suspect patches are required to handle
different boundary situations.

For example, if I have 100 atoms in my PDB and 16 residues (unit cells for
me), the psfgen creates 144 atoms in the PSF file. Obviously psfgen follows
the topology file structure, since, Quartz is represented there with 9
different atoms (3 Si and 6 O).

Here are the TOP and PDB files:

> * My Topology file JGP
> *
> 18 1
> MASS 1 HT 1.00800 H ! H Atom
> MASS 2 OT 15.99940 O ! O Atom
> MASS 3 SI 28.08550 SI ! Si Atom

> AUTO ANGLES DIHE
> RESI Q100 0.000
> GROUP
> ATOM O1 OT -0.530
> ATOM O2 OT -0.530
> ATOM O3 OT -0.530
> ATOM O4 OT -0.530
> ATOM O5 OT -0.530
> ATOM O6 OT -0.530
> ATOM SI1 SI 1.060
> ATOM SI2 SI 1.060
> ATOM SI3 SI 1.060
> BOND O5 SI1 O2 SI2 O3 SI1 O6 SI3
> BOND O1 SI1 O3 SI2 O4 SI3 O5 SI3
> PATCHING FIRST NONE LAST NONE
> END

Please ignore the BOND connectivity, at the moment.

> ATOM 1 SI1 Q100 1 A 0.231 0.000 0.450 1.00 0.00
> ATOM 2 SI2 Q100 1 A -0.115 0.200 0.270 1.00 0.00
> ATOM 3 SI3 Q100 1 A 0.130 0.226 0.090 1.00 0.00
> ATOM 4 O1 Q100 1 A 0.138 0.114 -0.064 1.00 0.00
> ATOM 5 O2 Q100 1 A 0.324 0.062 0.296 1.00 0.00
> ATOM 6 O3 Q100 1 A 0.030 0.176 0.244 1.00 0.00
> ATOM 7 O4 Q100 1 A 0.276 0.249 0.116 1.00 0.00
> ATOM 8 O5 Q100 1 A -0.108 0.311 0.425 1.00 0.00
> ATOM 9 O6 Q100 1 A 0.078 0.363 0.064 1.00 0.00
> ATOM 10 SI1 Q100 2 A 0.231 0.000 0.991 1.00 0.00
> ATOM 11 SI2 Q100 2 A -0.115 0.200 0.811 1.00 0.00
> ATOM 12 SI3 Q100 2 A 0.130 0.226 0.631 1.00 0.00
> ATOM 13 O1 Q100 2 A 0.138 0.114 0.476 1.00 0.00
> ATOM 14 O2 Q100 2 A 0.324 0.062 0.837 1.00 0.00
> ATOM 15 O3 Q100 2 A 0.030 0.176 0.785 1.00 0.00
> ATOM 16 O4 Q100 2 A 0.276 0.249 0.657 1.00 0.00
> ATOM 17 O5 Q100 2 A -0.108 0.311 0.965 1.00 0.00
> ATOM 18 O6 Q100 2 A 0.078 0.363 0.605 1.00 0.00
> ATOM 19 SI1 Q100 3 A 0.231 0.000 1.531 1.00 0.00
> ATOM 20 SI2 Q100 3 A -0.115 0.200 1.351 1.00 0.00
> ATOM 21 SI3 Q100 3 A 0.130 0.226 1.171 1.00 0.00
> ATOM 22 O1 Q100 3 A 0.138 0.114 1.017 1.00 0.00
> ATOM 23 O2 Q100 3 A 0.324 0.062 1.377 1.00 0.00
> ATOM 24 O3 Q100 3 A 0.030 0.176 1.325 1.00 0.00
> ATOM 25 O4 Q100 3 A 0.276 0.249 1.197 1.00 0.00
> ATOM 26 O5 Q100 3 A -0.108 0.311 1.506 1.00 0.00
> ATOM 27 O6 Q100 3 A 0.078 0.363 1.145 1.00 0.00
> ....

Here the PDB file shows 9 atoms per residue (per unit cell), but in general,
there can be less than 9.

How I should deal or remove correctly these extra atoms created in the PSF
file by psfgen? Should I have to include patches for the different surfaces?

Feel free to comment or provide suggestions?

Regards, Javier