AMBER Archive (2009)

Subject: Re: [AMBER] building quadruplex with NAB

From: Peter Varnai (
Date: Tue Oct 27 2009 - 15:00:09 CDT

This is a follow-up of a thread that David Case commented on:

I have been improving the quadruplex structure built by NAB, however,
I am still after some advice as I do not feel confident with NAB even
after reading the manual and playing with input files...

Currently, I use ideal G-tetrad _bases_ from a database pdb to get the
distance bounds using 'useboundsfrom' for the core and then embed all
coordinates with pembed. It gives acceptable final structures,
however, when testing with rcsb's validation server, there are quite a
few chirality problems around certain atoms. This happens mainly in
the backbone and loop residues that have only covalent distance bounds
related to them (no longer range information is available).

It appears that the initial link_na command creates an ideal covalent
geometry for a given sequence from dna.amber94.rlb with some helicity
but importantly no violation obtained for these initial structures on
the server. However, the structure immediately after embedding (but
before minimization or simulated annealing) looks like exploded with
atoms of sugars, phosphates and loop residues flying about. Clearly,
after some minimization and SA the structure looks ok, but apparently
with some inverted configurations around atoms that cannot be repaired
in this post-embedding process. Hence my following questions.

1) how do people make sure that parts of the system that have no
   long-range distance info get embedded in the ideal covalent
   geometry (which would require angle information as well). Otherwise
   they would face the same problem of high-energy starting structures
   and occasional inversion of chirality as it relaxes which never
   disappears. It would be nice if 'getchivol' and 'setchivol'
   could be applied automatically around each atom using a database,
   otherwise, inputting this for a larger molecule is not feasible.

2) one could use distance bounds as restraints and just do gentle
   minimization from the initial quasi-linear structure. Here I use
   opt = "ntpr=50";
   dg_options( b, opt );
   setxyzw_from_mol(m, NULL, xyz);
   conjgrad( xyz, 4*m.natoms, fret, db_viol, 0.1, 10., 0 );

   this way after the first couple of steps, the structure appears to
   explode (large deviation of initial distance from target) but after
   500 steps they look fine, simply the configuration inversion is already
   present. I would like to reduce the force constant that controls the
   db_viol function; "k4d" in the opt line has no effect...

3) I would like to try to build the quadruplex without using distance
   geometry as in in the examples/, however, I cannot
   even get this to run properly. Is it possible to run this example?
   for me it complains about 'setreskind: ERROR: unknown rkind H'.

Many thanks for any pointers for the problems above.

Best regards,

On Wed, 13 May 2009, David A. Case wrote:

> On Mon, May 11, 2009, Peter Varnai wrote:
> >
> > I am trying to build a quadruplex with NAB and I would need some help
> > from an experienced user: what is an effective strategy?
> >
> > 1) Use a sequence and create structures with distance geometry. This
> > seems logical as apart from the information for the guanine core using
> > Hoogsteen pairing from template gg.VIa.pdb, I have additional
> > distances for the loops from NMR. I try to get a tetrad of residues
> > (2,6,14,18) using this approach:
> >
> > [...]
> > useboundsfrom(b, m,"1:2,6:",getpdb("gg.VIa.pdb"),"::",0.10);
> > useboundsfrom(b, m,"1:6,14:",getpdb("gg.VIa.pdb"),"::",0.10);
> > useboundsfrom(b, m,"1:14,18:",getpdb("gg.VIa.pdb"),"::",0.10);
> > useboundsfrom(b, m,"1:18,2:",getpdb("gg.VIa.pdb"),"::",0.10);
> > tsmooth( b, 0.0005 );
> > opt = "seed=-1, gdist=0, ntpr=50, k4d=2.0, randpair=5";
> > dg_options( b, opt );
> > embed(b, xyz );
> Try setting pembed=1. I haven't done much distance geometry for a while, but
> that option often works better than the default. You may have to play a bit
> with the rbox, riter and slearn parameters, and be prepared to have multiple
> trials, saving only the best ones. No guarantees, but it's worth a try.
> Also, did you try the setboundsfromdb() routine, rather than useboundsfrom()?
> > 3) Read in the guanine core from an experimental structure using
> > getpdb and build in the missing loops along some spline and merge
> > them. Is it possible to merge coordinates read in and
> > coordinates generated within NAB?
> One approach is to read in the core, apply useboundsfrom() to the whole core
> (not just base pairs), then use distance geometry to build the missing loops.
> Let us know if you get this to would be great to have more examples
> of building things. We're working here on some routines to build four-way
> (Holliday) junction structures, but the more examples one has, the better.
> ...good luck...dac

AMBER mailing list