[AMBER] Creating Non-canonical Structures in NAB

From: Robyn Ayscue <robyn.ayscue.gmail.com>
Date: Sun, 26 Jan 2014 23:07:24 -0500

Dear Amber Gurus:

I'm attempting to build a additional distance geometry bounds databases for
NAB with the hope that I can enable NAB to construct 3D oligos with
non-canonical substructural motifs. Using the pre-made "bdna", "arna", etc
stacking and pairing databases in $AMBERHOME/dat/dgdb for our non-standard
oligo foldings seems to result in 3D structures that tend to want to "kink"
sharply, curving the overall structure into a sort of "C" shape that
subsequent energy refinement does not rectify. NMR solution / x-ray crystal
structures that we are attempting to replicate with NAB are, compared to
the NAB-generated structures, much more "columnular". 3DNA analysis of one
crystal in particular --pdb code 2L5K-- shows it to be B-form in many
respects, so I am stymied as to why using the "bdna" bounds databases in
our .nab input files does not produce a B-like structure.

Thus far, in the .nab input file for any given structure, I have tinkered
with the parameters of the energy refinement methods, substituted actual
distance geometry templates for bounds databases, and tried swapping out
bounds databases for different nucleic acid types, all to no avail. I
reason that, if I can build additional bounds databases using the crystal
structures containing our non-canonical substructures of interest, then the
"kink" issue ought to resolve itself. Naturally I am now having trouble
getting the databases to build, despite following the instructions in the
NAB manual to the letter. I get no errors printed to stdout when I run the
"make_databases" script, but I end up with only empty files.

Being a NAB novice (and not much of a programmer in general), it may be
that I am completely barking up the wrong tree by attempting to build new
bounds databases, and that instead there is something lacking in my .nab
input files that would resolve the "kink" in my NAB-generated structures
without going to such extremes. One of my .nab files is attached below
(called "test_2l5k_pred.nab"), and should generate a 3D reproduction of the
first frame of pdb code 2L5K (from pdb.org).

Many, many thanks in advance.

Robyn Ayscue

Gannett Lab
School of Pharmacy
West Virginia University
Morgantown, WV 26505


###################### test_2l5k_pred.nab ###################

molecule m;
float xyz[ dynamic ],f[ dynamic ],v[ dynamic ];
bounds b;
int i, seqlen, ier;
float fret;
string seq, cseq, res, opt;

seq = "CAGTTGATCCTTTGGATACCCTGGT";
cseq = "";

seqlen = 25;
// m = wc_helix( seq, "dna_nab10.lib", "dna", cseq, "dna_nab10.lib", "dna",
2.25, -4.96, 36.0, 3.38, "" );

m = link_na("1", seq, "dna_nab10.lib", "DNA", "35");

allocate xyz[ 4*m.natoms ];
allocate f[ 4*m.natoms ];
allocate v[ 4*m.natoms ];

b = newbounds(m, "");

for ( i=1; i<=seqlen; i = i+1){
useboundsfrom(b, m, sprintf("1:%d:??", i), m, sprintf("1:%d:??", i), 0.0 );
}

setboundsfromdb(b, m, "1:1:??", "1:2:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:2:??", "1:3:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:3:??", "1:4:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:4:??", "1:5:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:5:??", "1:6:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:6:??", "1:7:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:7:??", "1:8:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:8:??", "1:9:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:9:??", "1:10:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:10:??", "1:11:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:11:??", "1:12:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:12:??", "1:13:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:13:??", "1:14:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:14:??", "1:15:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:15:??", "1:16:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:16:??", "1:17:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:17:??", "1:18:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:18:??", "1:19:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:19:??", "1:20:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:20:??", "1:21:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:21:??", "1:22:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:22:??", "1:23:??", "apt.nucleotide.db", 1.0);
setboundsfromdb(b, m, "1:23:??", "1:24:??", "apt.nucleotide.db", 1.0);

setboundsfromdb(b, m, "1:1:??", "1:23:??", "bdna.basepair.db", 1.0);
setboundsfromdb(b, m, "1:2:??", "1:22:??", "bdna.basepair.db", 1.0);
setboundsfromdb(b, m, "1:3:??", "1:21:??", "bdna.basepair.db", 1.0);

setboundsfromdb(b, m, "1:7:??", "1:17:??", "bdna.basepair.db", 1.0);
setboundsfromdb(b, m, "1:8:??", "1:16:??", "bdna.basepair.db", 1.0);
setboundsfromdb(b, m, "1:9:??", "1:15:??", "bdna.basepair.db", 1.0);
setboundsfromdb(b, m, "1:10:??", "1:14:??", "bdna.basepair.db", 1.0);

// putpdb( "test_2l5k_pred_no_tsmooth_2.pdb", m);

tsmooth( b, 0.0005 );

opt = "seed=571, gdist=0, ntpr=100, k4d=2.0, randpair=5, sqviol=1";
dg_options( b, opt );

embed(b, xyz );

ier = conjgrad( xyz, 4*m.natoms, fret, db_viol, 0.001, 10., 1000 );

setmol_from_xyzw( m, NULL, xyz );

putpdb( "test_2l5k_pred_tsmooth_0005_dnanab10chilib.pdb", m);
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Sun Jan 26 2014 - 20:30:02 PST
Custom Search