Re: [AMBER] build branched polymer in leap?

From: Jason Swails <>
Date: Tue, 12 Aug 2014 22:51:35 -0400

On Tue, Aug 12, 2014 at 7:32 PM, Sally Pias <> wrote:

> Hi all,
> I would like to use leap to sequence together several organic residues
> into a branched polymer. However, I am finding that leap expects to
> build polymers from sequences of residues that can connect
> "tail-to-head" only. Can anyone suggest a way to bond together several
> residues into a branched structure?
> The connectivity would be like so: tail of RES1 to head of RES2, tail
> of RES3 to internal branch point of RES2, tail of RES2 to head of
> RES4. Thus, RES2 is the "backbone" of the polymer and has three points
> for bonding additional residues. All of the residues are already
> defined in library files read into leap.
> Thanks in advance for any suggestions!

​It's possible, but tedious. For sure, tleap was not designed specifically
to handle this (proteins and nucleic acids are rarely branched). However,
the same cannot be said for carbohydrates, in which branching is common and
often quite complex.

The GLYCAM developers have mastered the art of getting tleap to do what few
others knew it could, and they have indeed built branched polymers using
it. The key is to create small continuous chains as new units, then set
the head of the unit to the branch point, then create a sequence of that
fragment (which is part of the polymer chain that you have told tleap to
connect to the next residue at the branch point by designating a head atom)
with the next residue you want attached to the branch point.

An example would probably make the above far more clear. Look at the
section about building oligosaccharides, lipids, and glycoproteins (page
217 of the Amber 14 manual). Examples for building branched structures can
be found toward the end of page 220.​

I make no guarantees that this will yield a sane structure, but it's better
than nothing. There are also other commands that give you finer-grained
control over the structure -- like using "impose" to rotate torsion angles.
 You'll basically have to play around until you get something you're
satisfied with. Then hopefully the workflow will be simple enough that you
can automate it with a script if you plan on reusing this functionality

I hope this helps,

Jason M. Swails
Rutgers University
Postdoctoral Researcher
AMBER mailing list
Received on Tue Aug 12 2014 - 20:00:02 PDT
Custom Search