From: Sam Wallace (sam.wallace_at_adelaide.edu.au)
Date: Sun Jun 12 2011 - 21:34:17 CDT

Hi, I'm not sure if this belongs in the VMD or NAMD mailing list. I
apologise in advance if it's in the wrong one.

So I'm trying to do some studies on gamma cyclodextrin hosting a guest
molecule.

I have been having some trouble creating the input structures correctly for
use with the charmm forcefields. So this is what I know so far.

1 .The topology file top_all36_carb.rtf has the sugar monomer residue I need
to construct a cyclodextrin (RESI AGLC). It also has a patch to link
together two residues. either 14bb, 14ba or 14ab

2. I created my own topology file that contains only the residue I'm
interested in (renamed to AGL) and only the patch I'm interested in (named
GL14)

3. I have coordinates for all the atoms in the cyclodextrin already from
some DFT calculations that I have previously attempted. I've managed to
create a pdb file from them. I then assigned the atoms manually to 8
different residue IDs and gave them all the same residue name (to match that
in the topology file). I also assigned the atom names in the pdb file to
match the atom names in the residue from the topology file

4. With this pdb file I can use AutoPSF and the topology file and create a
PSF. This works fine, except that it defines connectivity of 8 individual
monomers and the pdb file it writes has no coordinates and extra atoms. So
obviously I need to use the patches to create the appropriate linkages

This is where I'm stuck. I have tried just a simple test case of linking two
of the monomers together with one of the patches. Each time I try I get the
molecule destroyed by fatal error message shown below. I have made sure
the auto generate angles and dihedrals is on as well.

ERROR: failed to apply patch
MOLECULE DESTROYED BY FATAL ERROR! Use resetpsf to start over.
    while executing
"patch GL14 LIG:3 LIG:4"
    ("eval" body line 1)
    invoked from within
"eval "patch [lindex $patch 0] [lindex $patch 1]:[lindex $patch 2] [lindex
$patch 3]:[lindex $patch 4]""
    (procedure "::autopsf::makepatches_gui" line 14)
    invoked from within
"::autopsf::makepatches_gui"
    invoked from within
".autopsf.patches.finish invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 24)
    invoked from within
"tk::ButtonUp .autopsf.patches.finish"
    (command bound to event)

Do I have the syntax wrong for adding patches?

Is there a better way to construct starting starting structures and input
files? I still have to make up some more complex ones. Is it going to be a
case of look through topology files for the appropriate residues and patches
and ensuring that in my initial pdb everything is named correctly with the
right residue ID/name/atom names?

-Sam