1;;; NUCLEIC -- 3D structure determination of a nucleic acid.
2
3; Author: Marc Feeley (feeley@iro.umontreal.ca)
4;
5; Last modified: January 27, 1996
6;
7; This program is a modified version of the program described in the paper:
8;
9;   M. Feeley, M. Turcotte, G. Lapalme, "Using Multilisp for Solving
10;   Constraint Satisfaction Problems: an Application to Nucleic Acid 3D
11;   Structure Determination" published in the journal "Lisp and Symbolic
12;   Computation".
13;
14; The differences between this program and the original are described in
15; the paper:
16;
17;   "???" published in the "Journal of Functional Programming".
18
19(define fatal-error error)
20
21; Macros...
22
23; Flonum arithmetic.
24
25(define-syntax FLOATvector-const
26  (syntax-rules ()
27    ((FLOATvector-const x ...) '#(x ...))))
28
29(define-syntax FLOATvector?
30  (syntax-rules ()
31    ((FLOATvector? x) (vector? x))))
32
33(define-syntax FLOATvector
34  (syntax-rules ()
35    ((FLOATvector x ...) (vector x ...))))
36
37(define-syntax FLOATmake-vector
38  (syntax-rules ()
39    ((FLOATmake-vector n) (make-vector n 0.0))
40    ((FLOATmake-vector n init) (make-vector n init))))
41
42(define-syntax FLOATvector-ref
43  (syntax-rules ()
44    ((FLOATvector-ref v i) (vector-ref v i))))
45
46(define-syntax FLOATvector-set!
47  (syntax-rules ()
48    ((FLOATvector-set! v i x) (vector-set! v i x))))
49
50(define-syntax FLOATvector-length
51  (syntax-rules ()
52    ((FLOATvector-length v) (vector-length v))))
53
54(define-syntax nuc-const
55  (syntax-rules ()
56    ((FLOATnuc-const x ...) '#(x ...))))
57
58(define-syntax FLOAT+
59  (syntax-rules ()
60    ((FLOAT+)         0.0)
61    ((FLOAT+ x)       x)
62    ((FLOAT+ x y ...) (+ x (FLOAT+ y ...)))))
63
64(define-syntax FLOAT-
65  (syntax-rules ()
66    ((FLOAT- x)       (- x))
67    ((FLOAT- x y ...) (- x (FLOAT+ y ...)))))
68
69(define-syntax FLOAT*
70  (syntax-rules ()
71    ((FLOAT*)         1.0)
72    ((FLOAT* x)       x)
73    ((FLOAT* x y ...) (* x (FLOAT* y ...)))))
74
75(define-syntax FLOAT/
76  (syntax-rules ()
77    ((FLOAT/ x)       (/ x))
78    ((FLOAT/ x y ...) (/ x (FLOAT* y ...)))))
79
80(define-syntax FLOAT=
81  (syntax-rules ()
82    ((FLOAT= x y) (= x y))))
83
84(define-syntax FLOAT<
85  (syntax-rules ()
86    ((FLOAT< x y) (< x y))))
87
88(define-syntax FLOAT<=
89  (syntax-rules ()
90    ((FLOAT<= x y) (<= x y))))
91
92(define-syntax FLOAT>
93  (syntax-rules ()
94    ((FLOAT> x y) (> x y))))
95
96(define-syntax FLOAT>=
97  (syntax-rules ()
98    ((FLOAT>= x y) (>= x y))))
99
100(define-syntax FLOATnegative?
101  (syntax-rules ()
102    ((FLOATnegative? x) (< x 0.0))))
103
104(define-syntax FLOATpositive?
105  (syntax-rules ()
106    ((FLOATpositive? x) (> x 0.0))))
107
108(define-syntax FLOATzero?
109  (syntax-rules ()
110    ((FLOATzero? x) (= x 0.0))))
111
112(define-syntax FLOATabs
113  (syntax-rules ()
114    ((FLOATabs x) (abs x))))
115
116(define-syntax FLOATsin
117  (syntax-rules ()
118    ((FLOATsin x) (sin x))))
119
120(define-syntax FLOATcos
121  (syntax-rules ()
122    ((FLOATcos x) (cos x))))
123
124(define-syntax FLOATatan
125  (syntax-rules ()
126    ((FLOATatan x) (atan x))))
127
128(define-syntax FLOATsqrt
129  (syntax-rules ()
130    ((FLOATsqrt x) (sqrt x))))
131
132(define-syntax FLOATmin
133  (syntax-rules ()
134    ((FLOATmin x y) (min x y))))
135
136(define-syntax FLOATmax
137  (syntax-rules ()
138    ((FLOATmax x y) (max x y))))
139
140(define-syntax FLOATround
141  (syntax-rules ()
142    ((FLOATround x) (round x))))
143
144(define-syntax FLOATinexact->exact
145  (syntax-rules ()
146    ((FLOATinexact->exact x) (inexact->exact x))))
147
148; Fixnum arithmetic everywhere else.
149; More fixnum macros can be found in prefix-chez.scm.
150
151(define-syntax bitwise-or
152  (syntax-rules ()
153    ((bitwise-or x y) (logior x y))))
154
155(define-syntax bitwise-and
156  (syntax-rules ()
157    ((bitwise-and x y) (logand x y))))
158
159(define-syntax bitwise-not
160  (syntax-rules ()
161    ((bitwise-not x) (lognot x))))
162
163
164; -- MATH UTILITIES -----------------------------------------------------------
165
166(define constant-pi          3.14159265358979323846)
167(define constant-minus-pi   -3.14159265358979323846)
168(define constant-pi/2        1.57079632679489661923)
169(define constant-minus-pi/2 -1.57079632679489661923)
170
171(define (math-atan2 y x)
172  (cond ((FLOAT> x 0.0)
173         (FLOATatan (FLOAT/ y x)))
174        ((FLOAT< y 0.0)
175         (if (FLOAT= x 0.0)
176           constant-minus-pi/2
177           (FLOAT+ (FLOATatan (FLOAT/ y x)) constant-minus-pi)))
178        (else
179         (if (FLOAT= x 0.0)
180           constant-pi/2
181           (FLOAT+ (FLOATatan (FLOAT/ y x)) constant-pi)))))
182
183; -- POINTS -------------------------------------------------------------------
184
185(define (make-pt x y z)
186  (FLOATvector x y z))
187
188(define (pt-x pt) (FLOATvector-ref pt 0))
189(define (pt-x-set! pt val) (FLOATvector-set! pt 0 val))
190(define (pt-y pt) (FLOATvector-ref pt 1))
191(define (pt-y-set! pt val) (FLOATvector-set! pt 1 val))
192(define (pt-z pt) (FLOATvector-ref pt 2))
193(define (pt-z-set! pt val) (FLOATvector-set! pt 2 val))
194
195(define (pt-sub p1 p2)
196  (make-pt (FLOAT- (pt-x p1) (pt-x p2))
197           (FLOAT- (pt-y p1) (pt-y p2))
198           (FLOAT- (pt-z p1) (pt-z p2))))
199
200(define (pt-dist p1 p2)
201  (let ((dx (FLOAT- (pt-x p1) (pt-x p2)))
202        (dy (FLOAT- (pt-y p1) (pt-y p2)))
203        (dz (FLOAT- (pt-z p1) (pt-z p2))))
204    (FLOATsqrt (FLOAT+ (FLOAT* dx dx) (FLOAT* dy dy) (FLOAT* dz dz)))))
205
206(define (pt-phi p)
207  (let* ((x (pt-x p))
208         (y (pt-y p))
209         (z (pt-z p))
210         (b (math-atan2 x z)))
211    (math-atan2 (FLOAT+ (FLOAT* (FLOATcos b) z) (FLOAT* (FLOATsin b) x)) y)))
212
213(define (pt-theta p)
214  (math-atan2 (pt-x p) (pt-z p)))
215
216; -- COORDINATE TRANSFORMATIONS -----------------------------------------------
217
218; The notation for the transformations follows "Paul, R.P. (1981) Robot
219; Manipulators.  MIT Press." with the exception that our transformation
220; matrices don't have the perspective terms and are the transpose of
221; Paul's one.  See also "M\"antyl\"a, M. (1985) An Introduction to
222; Solid Modeling, Computer Science Press" Appendix A.
223;
224; The components of a transformation matrix are named like this:
225;
226;  a  b  c
227;  d  e  f
228;  g  h  i
229; tx ty tz
230;
231; The components tx, ty, and tz are the translation vector.
232
233(define (make-tfo a b c d e f g h i tx ty tz)
234  (FLOATvector a b c d e f g h i tx ty tz))
235
236(define (tfo-a tfo) (FLOATvector-ref tfo 0))
237(define (tfo-a-set! tfo val) (FLOATvector-set! tfo 0 val))
238(define (tfo-b tfo) (FLOATvector-ref tfo 1))
239(define (tfo-b-set! tfo val) (FLOATvector-set! tfo 1 val))
240(define (tfo-c tfo) (FLOATvector-ref tfo 2))
241(define (tfo-c-set! tfo val) (FLOATvector-set! tfo 2 val))
242(define (tfo-d tfo) (FLOATvector-ref tfo 3))
243(define (tfo-d-set! tfo val) (FLOATvector-set! tfo 3 val))
244(define (tfo-e tfo) (FLOATvector-ref tfo 4))
245(define (tfo-e-set! tfo val) (FLOATvector-set! tfo 4 val))
246(define (tfo-f tfo) (FLOATvector-ref tfo 5))
247(define (tfo-f-set! tfo val) (FLOATvector-set! tfo 5 val))
248(define (tfo-g tfo) (FLOATvector-ref tfo 6))
249(define (tfo-g-set! tfo val) (FLOATvector-set! tfo 6 val))
250(define (tfo-h tfo) (FLOATvector-ref tfo 7))
251(define (tfo-h-set! tfo val) (FLOATvector-set! tfo 7 val))
252(define (tfo-i tfo) (FLOATvector-ref tfo 8))
253(define (tfo-i-set! tfo val) (FLOATvector-set! tfo 8 val))
254(define (tfo-tx tfo) (FLOATvector-ref tfo 9))
255(define (tfo-tx-set! tfo val) (FLOATvector-set! tfo 9 val))
256(define (tfo-ty tfo) (FLOATvector-ref tfo 10))
257(define (tfo-ty-set! tfo val) (FLOATvector-set! tfo 10 val))
258(define (tfo-tz tfo) (FLOATvector-ref tfo 11))
259(define (tfo-tz-set! tfo val) (FLOATvector-set! tfo 11 val))
260
261(define tfo-id  ; the identity transformation matrix
262  (FLOATvector-const
263     1.0 0.0 0.0
264     0.0 1.0 0.0
265     0.0 0.0 1.0
266     0.0 0.0 0.0))
267
268; The function "tfo-apply" multiplies a transformation matrix, tfo, by a
269; point vector, p.  The result is a new point.
270
271(define (tfo-apply tfo p)
272  (let ((x (pt-x p))
273        (y (pt-y p))
274        (z (pt-z p)))
275    (make-pt
276     (FLOAT+ (FLOAT* x (tfo-a tfo))
277             (FLOAT* y (tfo-d tfo))
278             (FLOAT* z (tfo-g tfo))
279             (tfo-tx tfo))
280     (FLOAT+ (FLOAT* x (tfo-b tfo))
281             (FLOAT* y (tfo-e tfo))
282             (FLOAT* z (tfo-h tfo))
283             (tfo-ty tfo))
284     (FLOAT+ (FLOAT* x (tfo-c tfo))
285             (FLOAT* y (tfo-f tfo))
286             (FLOAT* z (tfo-i tfo))
287             (tfo-tz tfo)))))
288
289; The function "tfo-combine" multiplies two transformation matrices A and B.
290; The result is a new matrix which cumulates the transformations described
291; by A and B.
292
293(define (tfo-combine A B)
294  (make-tfo
295   (FLOAT+ (FLOAT* (tfo-a A) (tfo-a B))
296           (FLOAT* (tfo-b A) (tfo-d B))
297           (FLOAT* (tfo-c A) (tfo-g B)))
298   (FLOAT+ (FLOAT* (tfo-a A) (tfo-b B))
299           (FLOAT* (tfo-b A) (tfo-e B))
300           (FLOAT* (tfo-c A) (tfo-h B)))
301   (FLOAT+ (FLOAT* (tfo-a A) (tfo-c B))
302           (FLOAT* (tfo-b A) (tfo-f B))
303           (FLOAT* (tfo-c A) (tfo-i B)))
304   (FLOAT+ (FLOAT* (tfo-d A) (tfo-a B))
305           (FLOAT* (tfo-e A) (tfo-d B))
306           (FLOAT* (tfo-f A) (tfo-g B)))
307   (FLOAT+ (FLOAT* (tfo-d A) (tfo-b B))
308           (FLOAT* (tfo-e A) (tfo-e B))
309           (FLOAT* (tfo-f A) (tfo-h B)))
310   (FLOAT+ (FLOAT* (tfo-d A) (tfo-c B))
311           (FLOAT* (tfo-e A) (tfo-f B))
312           (FLOAT* (tfo-f A) (tfo-i B)))
313   (FLOAT+ (FLOAT* (tfo-g A) (tfo-a B))
314           (FLOAT* (tfo-h A) (tfo-d B))
315           (FLOAT* (tfo-i A) (tfo-g B)))
316   (FLOAT+ (FLOAT* (tfo-g A) (tfo-b B))
317           (FLOAT* (tfo-h A) (tfo-e B))
318           (FLOAT* (tfo-i A) (tfo-h B)))
319   (FLOAT+ (FLOAT* (tfo-g A) (tfo-c B))
320           (FLOAT* (tfo-h A) (tfo-f B))
321           (FLOAT* (tfo-i A) (tfo-i B)))
322   (FLOAT+ (FLOAT* (tfo-tx A) (tfo-a B))
323           (FLOAT* (tfo-ty A) (tfo-d B))
324           (FLOAT* (tfo-tz A) (tfo-g B))
325           (tfo-tx B))
326   (FLOAT+ (FLOAT* (tfo-tx A) (tfo-b B))
327           (FLOAT* (tfo-ty A) (tfo-e B))
328           (FLOAT* (tfo-tz A) (tfo-h B))
329           (tfo-ty B))
330   (FLOAT+ (FLOAT* (tfo-tx A) (tfo-c B))
331           (FLOAT* (tfo-ty A) (tfo-f B))
332           (FLOAT* (tfo-tz A) (tfo-i B))
333           (tfo-tz B))))
334
335; The function "tfo-inv-ortho" computes the inverse of a homogeneous
336; transformation matrix.
337
338(define (tfo-inv-ortho tfo)
339  (let* ((tx (tfo-tx tfo))
340         (ty (tfo-ty tfo))
341         (tz (tfo-tz tfo)))
342    (make-tfo
343     (tfo-a tfo) (tfo-d tfo) (tfo-g tfo)
344     (tfo-b tfo) (tfo-e tfo) (tfo-h tfo)
345     (tfo-c tfo) (tfo-f tfo) (tfo-i tfo)
346     (FLOAT- (FLOAT+ (FLOAT* (tfo-a tfo) tx)
347                     (FLOAT* (tfo-b tfo) ty)
348                     (FLOAT* (tfo-c tfo) tz)))
349     (FLOAT- (FLOAT+ (FLOAT* (tfo-d tfo) tx)
350                     (FLOAT* (tfo-e tfo) ty)
351                     (FLOAT* (tfo-f tfo) tz)))
352     (FLOAT- (FLOAT+ (FLOAT* (tfo-g tfo) tx)
353                     (FLOAT* (tfo-h tfo) ty)
354                     (FLOAT* (tfo-i tfo) tz))))))
355
356; Given three points p1, p2, and p3, the function "tfo-align" computes
357; a transformation matrix such that point p1 gets mapped to (0,0,0), p2 gets
358; mapped to the Y axis and p3 gets mapped to the YZ plane.
359
360(define (tfo-align p1 p2 p3)
361  (let* ((x1 (pt-x p1))       (y1 (pt-y p1))       (z1 (pt-z p1))
362         (x3 (pt-x p3))       (y3 (pt-y p3))       (z3 (pt-z p3))
363         (x31 (FLOAT- x3 x1)) (y31 (FLOAT- y3 y1)) (z31 (FLOAT- z3 z1))
364         (rotpY (pt-sub p2 p1))
365         (Phi (pt-phi rotpY))
366         (Theta (pt-theta rotpY))
367         (sinP (FLOATsin Phi))
368         (sinT (FLOATsin Theta))
369         (cosP (FLOATcos Phi))
370         (cosT (FLOATcos Theta))
371         (sinPsinT (FLOAT* sinP sinT))
372         (sinPcosT (FLOAT* sinP cosT))
373         (cosPsinT (FLOAT* cosP sinT))
374         (cosPcosT (FLOAT* cosP cosT))
375         (rotpZ
376          (make-pt
377           (FLOAT- (FLOAT* cosT x31)
378                   (FLOAT* sinT z31))
379           (FLOAT+ (FLOAT* sinPsinT x31)
380                   (FLOAT* cosP y31)
381                   (FLOAT* sinPcosT z31))
382           (FLOAT+ (FLOAT* cosPsinT x31)
383                   (FLOAT- (FLOAT* sinP y31))
384                   (FLOAT* cosPcosT z31))))
385         (Rho (pt-theta rotpZ))
386         (cosR (FLOATcos Rho))
387         (sinR (FLOATsin Rho))
388         (x (FLOAT+ (FLOAT- (FLOAT* x1 cosT))
389                    (FLOAT* z1 sinT)))
390         (y (FLOAT- (FLOAT- (FLOAT- (FLOAT* x1 sinPsinT))
391                            (FLOAT* y1 cosP))
392                    (FLOAT* z1 sinPcosT)))
393         (z (FLOAT- (FLOAT+ (FLOAT- (FLOAT* x1 cosPsinT))
394                            (FLOAT* y1 sinP))
395                    (FLOAT* z1 cosPcosT))))
396    (make-tfo
397     (FLOAT- (FLOAT* cosT cosR) (FLOAT* cosPsinT sinR))
398     sinPsinT
399     (FLOAT+ (FLOAT* cosT sinR) (FLOAT* cosPsinT cosR))
400     (FLOAT* sinP sinR)
401     cosP
402     (FLOAT- (FLOAT* sinP cosR))
403     (FLOAT- (FLOAT- (FLOAT* sinT cosR)) (FLOAT* cosPcosT sinR))
404     sinPcosT
405     (FLOAT+ (FLOAT- (FLOAT* sinT sinR)) (FLOAT* cosPcosT cosR))
406     (FLOAT- (FLOAT* x cosR) (FLOAT* z sinR))
407     y
408     (FLOAT+ (FLOAT* x sinR) (FLOAT* z cosR)))))
409
410; -- NUCLEIC ACID CONFORMATIONS DATA BASE -------------------------------------
411
412; Numbering of atoms follows the paper:
413;
414; IUPAC-IUB Joint Commission on Biochemical Nomenclature (JCBN)
415; (1983) Abbreviations and Symbols for the Description of
416; Conformations of Polynucleotide Chains.  Eur. J. Biochem 131,
417; 9-15.
418;
419; In the atom names, we have used "*" instead of "'".
420
421; Define part common to all 4 nucleotide types.
422
423(define (nuc-dgf-base-tfo nuc) (vector-ref nuc 0))
424(define (nuc-dgf-base-tfo-set! nuc val) (vector-set! nuc 0 val))
425(define (nuc-P-O3*-275-tfo nuc) (vector-ref nuc 1))
426(define (nuc-P-O3*-275-tfo-set! nuc val) (vector-set! nuc 1 val))
427(define (nuc-P-O3*-180-tfo nuc) (vector-ref nuc 2))
428(define (nuc-P-O3*-180-tfo-set! nuc val) (vector-set! nuc 2 val))
429(define (nuc-P-O3*-60-tfo nuc) (vector-ref nuc 3))
430(define (nuc-P-O3*-60-tfo-set! nuc val) (vector-set! nuc 3 val))
431(define (nuc-P nuc) (vector-ref nuc 4))
432(define (nuc-P-set! nuc val) (vector-set! nuc 4 val))
433(define (nuc-O1P nuc) (vector-ref nuc 5))
434(define (nuc-O1P-set! nuc val) (vector-set! nuc 5 val))
435(define (nuc-O2P nuc) (vector-ref nuc 6))
436(define (nuc-O2P-set! nuc val) (vector-set! nuc 6 val))
437(define (nuc-O5* nuc) (vector-ref nuc 7))
438(define (nuc-O5*-set! nuc val) (vector-set! nuc 7 val))
439(define (nuc-C5* nuc) (vector-ref nuc 8))
440(define (nuc-C5*-set! nuc val) (vector-set! nuc 8 val))
441(define (nuc-H5* nuc) (vector-ref nuc 9))
442(define (nuc-H5*-set! nuc val) (vector-set! nuc 9 val))
443(define (nuc-H5** nuc) (vector-ref nuc 10))
444(define (nuc-H5**-set! nuc val) (vector-set! nuc 10 val))
445(define (nuc-C4* nuc) (vector-ref nuc 11))
446(define (nuc-C4*-set! nuc val) (vector-set! nuc 11 val))
447(define (nuc-H4* nuc) (vector-ref nuc 12))
448(define (nuc-H4*-set! nuc val) (vector-set! nuc 12 val))
449(define (nuc-O4* nuc) (vector-ref nuc 13))
450(define (nuc-O4*-set! nuc val) (vector-set! nuc 13 val))
451(define (nuc-C1* nuc) (vector-ref nuc 14))
452(define (nuc-C1*-set! nuc val) (vector-set! nuc 14 val))
453(define (nuc-H1* nuc) (vector-ref nuc 15))
454(define (nuc-H1*-set! nuc val) (vector-set! nuc 15 val))
455(define (nuc-C2* nuc) (vector-ref nuc 16))
456(define (nuc-C2*-set! nuc val) (vector-set! nuc 16 val))
457(define (nuc-H2** nuc) (vector-ref nuc 17))
458(define (nuc-H2**-set! nuc val) (vector-set! nuc 17 val))
459(define (nuc-O2* nuc) (vector-ref nuc 18))
460(define (nuc-O2*-set! nuc val) (vector-set! nuc 18 val))
461(define (nuc-H2* nuc) (vector-ref nuc 19))
462(define (nuc-H2*-set! nuc val) (vector-set! nuc 19 val))
463(define (nuc-C3* nuc) (vector-ref nuc 20))
464(define (nuc-C3*-set! nuc val) (vector-set! nuc 20 val))
465(define (nuc-H3* nuc) (vector-ref nuc 21))
466(define (nuc-H3*-set! nuc val) (vector-set! nuc 21 val))
467(define (nuc-O3* nuc) (vector-ref nuc 22))
468(define (nuc-O3*-set! nuc val) (vector-set! nuc 22 val))
469(define (nuc-N1 nuc) (vector-ref nuc 23))
470(define (nuc-N1-set! nuc val) (vector-set! nuc 23 val))
471(define (nuc-N3 nuc) (vector-ref nuc 24))
472(define (nuc-N3-set! nuc val) (vector-set! nuc 24 val))
473(define (nuc-C2 nuc) (vector-ref nuc 25))
474(define (nuc-C2-set! nuc val) (vector-set! nuc 25 val))
475(define (nuc-C4 nuc) (vector-ref nuc 26))
476(define (nuc-C4-set! nuc val) (vector-set! nuc 26 val))
477(define (nuc-C5 nuc) (vector-ref nuc 27))
478(define (nuc-C5-set! nuc val) (vector-set! nuc 27 val))
479(define (nuc-C6 nuc) (vector-ref nuc 28))
480(define (nuc-C6-set! nuc val) (vector-set! nuc 28 val))
481
482; Define remaining atoms for each nucleotide type.
483
484(define (make-rA dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
485                 P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
486                 H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
487                 N6 N7 N9 C8 H2 H61 H62 H8)
488  (vector dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
489          P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
490          H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
491          'rA N6 N7 N9 C8 H2 H61 H62 H8))
492
493(define (rA? nuc) (eq? (vector-ref nuc 29) 'rA))
494
495(define (rA-N6 nuc) (vector-ref nuc 30))
496(define (rA-N6-set! nuc val) (vector-set! nuc 30 val))
497(define (rA-N7 nuc) (vector-ref nuc 31))
498(define (rA-N7-set! nuc val) (vector-set! nuc 31 val))
499(define (rA-N9 nuc) (vector-ref nuc 32))
500(define (rA-N9-set! nuc val) (vector-set! nuc 32 val))
501(define (rA-C8 nuc) (vector-ref nuc 33))
502(define (rA-C8-set! nuc val) (vector-set! nuc 33 val))
503(define (rA-H2 nuc) (vector-ref nuc 34))
504(define (rA-H2-set! nuc val) (vector-set! nuc 34 val))
505(define (rA-H61 nuc) (vector-ref nuc 35))
506(define (rA-H61-set! nuc val) (vector-set! nuc 35 val))
507(define (rA-H62 nuc) (vector-ref nuc 36))
508(define (rA-H62-set! nuc val) (vector-set! nuc 36 val))
509(define (rA-H8 nuc) (vector-ref nuc 37))
510(define (rA-H8-set! nuc val) (vector-set! nuc 37 val))
511
512(define (make-rC dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
513                 P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
514                 H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
515                 N4 O2 H41 H42 H5 H6)
516  (vector dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
517          P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
518          H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
519          'rC N4 O2 H41 H42 H5 H6))
520
521(define (rC? nuc) (eq? (vector-ref nuc 29) 'rC))
522
523(define (rC-N4 nuc) (vector-ref nuc 30))
524(define (rC-N4-set! nuc val) (vector-set! nuc 30 val))
525(define (rC-O2 nuc) (vector-ref nuc 31))
526(define (rC-O2-set! nuc val) (vector-set! nuc 31 val))
527(define (rC-H41 nuc) (vector-ref nuc 32))
528(define (rC-H41-set! nuc val) (vector-set! nuc 32 val))
529(define (rC-H42 nuc) (vector-ref nuc 33))
530(define (rC-H42-set! nuc val) (vector-set! nuc 33 val))
531(define (rC-H5 nuc) (vector-ref nuc 34))
532(define (rC-H5-set! nuc val) (vector-set! nuc 34 val))
533(define (rC-H6 nuc) (vector-ref nuc 35))
534(define (rC-H6-set! nuc val) (vector-set! nuc 35 val))
535
536(define (make-rG dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
537                 P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
538                 H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
539                 N2 N7 N9 C8 O6 H1 H21 H22 H8)
540  (vector dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
541          P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
542          H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
543          'rG N2 N7 N9 C8 O6 H1 H21 H22 H8))
544
545(define (rG? nuc) (eq? (vector-ref nuc 29) 'rG))
546
547(define (rG-N2 nuc) (vector-ref nuc 30))
548(define (rG-N2-set! nuc val) (vector-set! nuc 30 val))
549(define (rG-N7 nuc) (vector-ref nuc 31))
550(define (rG-N7-set! nuc val) (vector-set! nuc 31 val))
551(define (rG-N9 nuc) (vector-ref nuc 32))
552(define (rG-N9-set! nuc val) (vector-set! nuc 32 val))
553(define (rG-C8 nuc) (vector-ref nuc 33))
554(define (rG-C8-set! nuc val) (vector-set! nuc 33 val))
555(define (rG-O6 nuc) (vector-ref nuc 34))
556(define (rG-O6-set! nuc val) (vector-set! nuc 34 val))
557(define (rG-H1 nuc) (vector-ref nuc 35))
558(define (rG-H1-set! nuc val) (vector-set! nuc 35 val))
559(define (rG-H21 nuc) (vector-ref nuc 36))
560(define (rG-H21-set! nuc val) (vector-set! nuc 36 val))
561(define (rG-H22 nuc) (vector-ref nuc 37))
562(define (rG-H22-set! nuc val) (vector-set! nuc 37 val))
563(define (rG-H8 nuc) (vector-ref nuc 38))
564(define (rG-H8-set! nuc val) (vector-set! nuc 38 val))
565
566(define (make-rU dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
567                 P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
568                 H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
569                 O2 O4 H3 H5 H6)
570  (vector dgf-base-tfo P-O3*-275-tfo P-O3*-180-tfo P-O3*-60-tfo
571          P O1P O2P O5* C5* H5* H5** C4* H4* O4* C1* H1* C2*
572          H2** O2* H2* C3* H3* O3* N1 N3 C2 C4 C5 C6
573          'rU O2 O4 H3 H5 H6))
574
575(define (rU? nuc) (eq? (vector-ref nuc 29) 'rU))
576
577(define (rU-O2 nuc) (vector-ref nuc 30))
578(define (rU-O2-set! nuc val) (vector-set! nuc 30 val))
579(define (rU-O4 nuc) (vector-ref nuc 31))
580(define (rU-O4-set! nuc val) (vector-set! nuc 31 val))
581(define (rU-H3 nuc) (vector-ref nuc 32))
582(define (rU-H3-set! nuc val) (vector-set! nuc 32 val))
583(define (rU-H5 nuc) (vector-ref nuc 33))
584(define (rU-H5-set! nuc val) (vector-set! nuc 33 val))
585(define (rU-H6 nuc) (vector-ref nuc 34))
586(define (rU-H6-set! nuc val) (vector-set! nuc 34 val))
587
588; Database of nucleotide conformations:
589
590(define rA
591  (nuc-const
592    #( -0.0018  -0.8207   0.5714  ; dgf-base-tfo
593        0.2679  -0.5509  -0.7904
594        0.9634   0.1517   0.2209
595        0.0073   8.4030   0.6232)
596    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
597       -0.0433  -0.4257   0.9038
598       -0.5788   0.7480   0.3246
599        1.5227   6.9114  -7.0765)
600    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
601        0.4552   0.6637   0.5935
602       -0.8042   0.0203   0.5941
603       -6.9472  -4.1186  -5.9108)
604    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
605       -0.8247   0.5587  -0.0878
606        0.0426   0.2162   0.9754
607        6.2694  -7.0540   3.3316)
608    #(  2.8930   8.5380  -3.3280) ; P
609    #(  1.6980   7.6960  -3.5570) ; O1P
610    #(  3.2260   9.5010  -4.4020) ; O2P
611    #(  4.1590   7.6040  -3.0340) ; O5*
612    #(  5.4550   8.2120  -2.8810) ; C5*
613    #(  5.4546   8.8508  -1.9978) ; H5*
614    #(  5.7588   8.6625  -3.8259) ; H5**
615    #(  6.4970   7.1480  -2.5980) ; C4*
616    #(  7.4896   7.5919  -2.5214) ; H4*
617    #(  6.1630   6.4860  -1.3440) ; O4*
618    #(  6.5400   5.1200  -1.4190) ; C1*
619    #(  7.2763   4.9681  -0.6297) ; H1*
620    #(  7.1940   4.8830  -2.7770) ; C2*
621    #(  6.8667   3.9183  -3.1647) ; H2**
622    #(  8.5860   5.0910  -2.6140) ; O2*
623    #(  8.9510   4.7626  -1.7890) ; H2*
624    #(  6.5720   6.0040  -3.6090) ; C3*
625    #(  5.5636   5.7066  -3.8966) ; H3*
626    #(  7.3801   6.3562  -4.7350) ; O3*
627    #(  4.7150   0.4910  -0.1360) ; N1
628    #(  6.3490   2.1730  -0.6020) ; N3
629    #(  5.9530   0.9650  -0.2670) ; C2
630    #(  5.2900   2.9790  -0.8260) ; C4
631    #(  3.9720   2.6390  -0.7330) ; C5
632    #(  3.6770   1.3160  -0.3660) ; C6
633    rA
634    #(  2.4280   0.8450  -0.2360) ; N6
635    #(  3.1660   3.7290  -1.0360) ; N7
636    #(  5.3170   4.2990  -1.1930) ; N9
637    #(  4.0100   4.6780  -1.2990) ; C8
638    #(  6.6890   0.1903  -0.0518) ; H2
639    #(  1.6470   1.4460  -0.4040) ; H61
640    #(  2.2780  -0.1080  -0.0280) ; H62
641    #(  3.4421   5.5744  -1.5482) ; H8
642  ))
643
644(define rA01
645  (nuc-const
646    #( -0.0043  -0.8175   0.5759  ; dgf-base-tfo
647        0.2617  -0.5567  -0.7884
648        0.9651   0.1473   0.2164
649        0.0359   8.3929   0.5532)
650    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
651       -0.0433  -0.4257   0.9038
652       -0.5788   0.7480   0.3246
653        1.5227   6.9114  -7.0765)
654    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
655        0.4552   0.6637   0.5935
656       -0.8042   0.0203   0.5941
657       -6.9472  -4.1186  -5.9108)
658    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
659       -0.8247   0.5587  -0.0878
660        0.0426   0.2162   0.9754
661        6.2694  -7.0540   3.3316)
662    #(  2.8930   8.5380  -3.3280) ; P
663    #(  1.6980   7.6960  -3.5570) ; O1P
664    #(  3.2260   9.5010  -4.4020) ; O2P
665    #(  4.1590   7.6040  -3.0340) ; O5*
666    #(  5.4352   8.2183  -2.7757) ; C5*
667    #(  5.3830   8.7883  -1.8481) ; H5*
668    #(  5.7729   8.7436  -3.6691) ; H5**
669    #(  6.4830   7.1518  -2.5252) ; C4*
670    #(  7.4749   7.5972  -2.4482) ; H4*
671    #(  6.1626   6.4620  -1.2827) ; O4*
672    #(  6.5431   5.0992  -1.3905) ; C1*
673    #(  7.2871   4.9328  -0.6114) ; H1*
674    #(  7.1852   4.8935  -2.7592) ; C2*
675    #(  6.8573   3.9363  -3.1645) ; H2**
676    #(  8.5780   5.1025  -2.6046) ; O2*
677    #(  8.9516   4.7577  -1.7902) ; H2*
678    #(  6.5522   6.0300  -3.5612) ; C3*
679    #(  5.5420   5.7356  -3.8459) ; H3*
680    #(  7.3487   6.4089  -4.6867) ; O3*
681    #(  4.7442   0.4514  -0.1390) ; N1
682    #(  6.3687   2.1459  -0.5926) ; N3
683    #(  5.9795   0.9335  -0.2657) ; C2
684    #(  5.3052   2.9471  -0.8125) ; C4
685    #(  3.9891   2.5987  -0.7230) ; C5
686    #(  3.7016   1.2717  -0.3647) ; C6
687    rA
688    #(  2.4553   0.7925  -0.2390) ; N6
689    #(  3.1770   3.6859  -1.0198) ; N7
690    #(  5.3247   4.2695  -1.1710) ; N9
691    #(  4.0156   4.6415  -1.2759) ; C8
692    #(  6.7198   0.1618  -0.0547) ; H2
693    #(  1.6709   1.3900  -0.4039) ; H61
694    #(  2.3107  -0.1627  -0.0373) ; H62
695    #(  3.4426   5.5361  -1.5199) ; H8
696  ))
697
698(define rA02
699  (nuc-const
700    #(  0.5566   0.0449   0.8296  ; dgf-base-tfo
701        0.5125   0.7673  -0.3854
702       -0.6538   0.6397   0.4041
703       -9.1161  -3.7679  -2.9968)
704    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
705       -0.0433  -0.4257   0.9038
706       -0.5788   0.7480   0.3246
707        1.5227   6.9114  -7.0765)
708    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
709        0.4552   0.6637   0.5935
710       -0.8042   0.0203   0.5941
711       -6.9472  -4.1186  -5.9108)
712    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
713       -0.8247   0.5587  -0.0878
714        0.0426   0.2162   0.9754
715        6.2694  -7.0540   3.3316)
716    #(  2.8930   8.5380  -3.3280) ; P
717    #(  1.6980   7.6960  -3.5570) ; O1P
718    #(  3.2260   9.5010  -4.4020) ; O2P
719    #(  4.1590   7.6040  -3.0340) ; O5*
720    #(  4.5778   6.6594  -4.0364) ; C5*
721    #(  4.9220   7.1963  -4.9204) ; H5*
722    #(  3.7996   5.9091  -4.1764) ; H5**
723    #(  5.7873   5.8869  -3.5482) ; C4*
724    #(  6.0405   5.0875  -4.2446) ; H4*
725    #(  6.9135   6.8036  -3.4310) ; O4*
726    #(  7.7293   6.4084  -2.3392) ; C1*
727    #(  8.7078   6.1815  -2.7624) ; H1*
728    #(  7.1305   5.1418  -1.7347) ; C2*
729    #(  7.2040   5.1982  -0.6486) ; H2**
730    #(  7.7417   4.0392  -2.3813) ; O2*
731    #(  8.6785   4.1443  -2.5630) ; H2*
732    #(  5.6666   5.2728  -2.1536) ; C3*
733    #(  5.1747   5.9805  -1.4863) ; H3*
734    #(  4.9997   4.0086  -2.1973) ; O3*
735    #( 10.3245   8.5459   1.5467) ; N1
736    #(  9.8051   6.9432  -0.1497) ; N3
737    #( 10.5175   7.4328   0.8408) ; C2
738    #(  8.7523   7.7422  -0.4228) ; C4
739    #(  8.4257   8.9060   0.2099) ; C5
740    #(  9.2665   9.3242   1.2540) ; C6
741    rA
742    #(  9.0664  10.4462   1.9610) ; N6
743    #(  7.2750   9.4537  -0.3428) ; N7
744    #(  7.7962   7.5519  -1.3859) ; N9
745    #(  6.9479   8.6157  -1.2771) ; C8
746    #( 11.4063   6.9047   1.1859) ; H2
747    #(  8.2845  11.0341   1.7552) ; H61
748    #(  9.6584  10.6647   2.7198) ; H62
749    #(  6.0430   8.9853  -1.7594) ; H8
750  ))
751
752(define rA03
753  (nuc-const
754    #( -0.5021   0.0731   0.8617  ; dgf-base-tfo
755       -0.8112   0.3054  -0.4986
756       -0.2996  -0.9494  -0.0940
757        6.4273  -5.1944  -3.7807)
758    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
759       -0.0433  -0.4257   0.9038
760       -0.5788   0.7480   0.3246
761        1.5227   6.9114  -7.0765)
762    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
763        0.4552   0.6637   0.5935
764       -0.8042   0.0203   0.5941
765       -6.9472  -4.1186  -5.9108)
766    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
767       -0.8247   0.5587  -0.0878
768        0.0426   0.2162   0.9754
769        6.2694  -7.0540   3.3316)
770    #(  2.8930   8.5380  -3.3280) ; P
771    #(  1.6980   7.6960  -3.5570) ; O1P
772    #(  3.2260   9.5010  -4.4020) ; O2P
773    #(  4.1590   7.6040  -3.0340) ; O5*
774    #(  4.1214   6.7116  -1.9049) ; C5*
775    #(  3.3465   5.9610  -2.0607) ; H5*
776    #(  4.0789   7.2928  -0.9837) ; H5**
777    #(  5.4170   5.9293  -1.8186) ; C4*
778    #(  5.4506   5.3400  -0.9023) ; H4*
779    #(  5.5067   5.0417  -2.9703) ; O4*
780    #(  6.8650   4.9152  -3.3612) ; C1*
781    #(  7.1090   3.8577  -3.2603) ; H1*
782    #(  7.7152   5.7282  -2.3894) ; C2*
783    #(  8.5029   6.2356  -2.9463) ; H2**
784    #(  8.1036   4.8568  -1.3419) ; O2*
785    #(  8.3270   3.9651  -1.6184) ; H2*
786    #(  6.7003   6.7565  -1.8911) ; C3*
787    #(  6.5898   7.5329  -2.6482) ; H3*
788    #(  7.0505   7.2878  -0.6105) ; O3*
789    #(  9.6740   4.7656  -7.6614) ; N1
790    #(  9.0739   4.3013  -5.3941) ; N3
791    #(  9.8416   4.2192  -6.4581) ; C2
792    #(  7.9885   5.0632  -5.6446) ; C4
793    #(  7.6822   5.6856  -6.8194) ; C5
794    #(  8.5831   5.5215  -7.8840) ; C6
795    rA
796    #(  8.4084   6.0747  -9.0933) ; N6
797    #(  6.4857   6.3816  -6.7035) ; N7
798    #(  6.9740   5.3703  -4.7760) ; N9
799    #(  6.1133   6.1613  -5.4808) ; C8
800    #( 10.7627   3.6375  -6.4220) ; H2
801    #(  7.6031   6.6390  -9.2733) ; H61
802    #(  9.1004   5.9708  -9.7893) ; H62
803    #(  5.1705   6.6830  -5.3167) ; H8
804  ))
805
806(define rA04
807  (nuc-const
808    #( -0.5426  -0.8175   0.1929  ; dgf-base-tfo
809        0.8304  -0.5567  -0.0237
810        0.1267   0.1473   0.9809
811       -0.5075   8.3929   0.2229)
812    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
813       -0.0433  -0.4257   0.9038
814       -0.5788   0.7480   0.3246
815        1.5227   6.9114  -7.0765)
816    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
817        0.4552   0.6637   0.5935
818       -0.8042   0.0203   0.5941
819       -6.9472  -4.1186  -5.9108)
820    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
821       -0.8247   0.5587  -0.0878
822        0.0426   0.2162   0.9754
823        6.2694  -7.0540   3.3316)
824    #(  2.8930   8.5380  -3.3280) ; P
825    #(  1.6980   7.6960  -3.5570) ; O1P
826    #(  3.2260   9.5010  -4.4020) ; O2P
827    #(  4.1590   7.6040  -3.0340) ; O5*
828    #(  5.4352   8.2183  -2.7757) ; C5*
829    #(  5.3830   8.7883  -1.8481) ; H5*
830    #(  5.7729   8.7436  -3.6691) ; H5**
831    #(  6.4830   7.1518  -2.5252) ; C4*
832    #(  7.4749   7.5972  -2.4482) ; H4*
833    #(  6.1626   6.4620  -1.2827) ; O4*
834    #(  6.5431   5.0992  -1.3905) ; C1*
835    #(  7.2871   4.9328  -0.6114) ; H1*
836    #(  7.1852   4.8935  -2.7592) ; C2*
837    #(  6.8573   3.9363  -3.1645) ; H2**
838    #(  8.5780   5.1025  -2.6046) ; O2*
839    #(  8.9516   4.7577  -1.7902) ; H2*
840    #(  6.5522   6.0300  -3.5612) ; C3*
841    #(  5.5420   5.7356  -3.8459) ; H3*
842    #(  7.3487   6.4089  -4.6867) ; O3*
843    #(  3.6343   2.6680   2.0783) ; N1
844    #(  5.4505   3.9805   1.2446) ; N3
845    #(  4.7540   3.3816   2.1851) ; C2
846    #(  4.8805   3.7951   0.0354) ; C4
847    #(  3.7416   3.0925  -0.2305) ; C5
848    #(  3.0873   2.4980   0.8606) ; C6
849    rA
850    #(  1.9600   1.7805   0.7462) ; N6
851    #(  3.4605   3.1184  -1.5906) ; N7
852    #(  5.3247   4.2695  -1.1710) ; N9
853    #(  4.4244   3.8244  -2.0953) ; C8
854    #(  5.0814   3.4352   3.2234) ; H2
855    #(  1.5423   1.6454  -0.1520) ; H61
856    #(  1.5716   1.3398   1.5392) ; H62
857    #(  4.2675   3.8876  -3.1721) ; H8
858  ))
859
860(define rA05
861  (nuc-const
862    #( -0.5891   0.0449   0.8068  ; dgf-base-tfo
863        0.5375   0.7673   0.3498
864       -0.6034   0.6397  -0.4762
865       -0.3019  -3.7679  -9.5913)
866    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
867       -0.0433  -0.4257   0.9038
868       -0.5788   0.7480   0.3246
869        1.5227   6.9114  -7.0765)
870    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
871        0.4552   0.6637   0.5935
872       -0.8042   0.0203   0.5941
873       -6.9472  -4.1186  -5.9108)
874    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
875       -0.8247   0.5587  -0.0878
876        0.0426   0.2162   0.9754
877        6.2694  -7.0540   3.3316)
878    #(  2.8930   8.5380  -3.3280) ; P
879    #(  1.6980   7.6960  -3.5570) ; O1P
880    #(  3.2260   9.5010  -4.4020) ; O2P
881    #(  4.1590   7.6040  -3.0340) ; O5*
882    #(  4.5778   6.6594  -4.0364) ; C5*
883    #(  4.9220   7.1963  -4.9204) ; H5*
884    #(  3.7996   5.9091  -4.1764) ; H5**
885    #(  5.7873   5.8869  -3.5482) ; C4*
886    #(  6.0405   5.0875  -4.2446) ; H4*
887    #(  6.9135   6.8036  -3.4310) ; O4*
888    #(  7.7293   6.4084  -2.3392) ; C1*
889    #(  8.7078   6.1815  -2.7624) ; H1*
890    #(  7.1305   5.1418  -1.7347) ; C2*
891    #(  7.2040   5.1982  -0.6486) ; H2**
892    #(  7.7417   4.0392  -2.3813) ; O2*
893    #(  8.6785   4.1443  -2.5630) ; H2*
894    #(  5.6666   5.2728  -2.1536) ; C3*
895    #(  5.1747   5.9805  -1.4863) ; H3*
896    #(  4.9997   4.0086  -2.1973) ; O3*
897    #( 10.2594  10.6774  -1.0056) ; N1
898    #(  9.7528   8.7080  -2.2631) ; N3
899    #( 10.4471   9.7876  -1.9791) ; C2
900    #(  8.7271   8.5575  -1.3991) ; C4
901    #(  8.4100   9.3803  -0.3580) ; C5
902    #(  9.2294  10.5030  -0.1574) ; C6
903    rA
904    #(  9.0349  11.3951   0.8250) ; N6
905    #(  7.2891   8.9068   0.3121) ; N7
906    #(  7.7962   7.5519  -1.3859) ; N9
907    #(  6.9702   7.8292  -0.3353) ; C8
908    #( 11.3132  10.0537  -2.5851) ; H2
909    #(  8.2741  11.2784   1.4629) ; H61
910    #(  9.6733  12.1368   0.9529) ; H62
911    #(  6.0888   7.3990   0.1403) ; H8
912  ))
913
914(define rA06
915  (nuc-const
916    #( -0.9815   0.0731  -0.1772  ; dgf-base-tfo
917        0.1912   0.3054  -0.9328
918       -0.0141  -0.9494  -0.3137
919        5.7506  -5.1944   4.7470)
920    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
921       -0.0433  -0.4257   0.9038
922       -0.5788   0.7480   0.3246
923        1.5227   6.9114  -7.0765)
924    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
925        0.4552   0.6637   0.5935
926       -0.8042   0.0203   0.5941
927       -6.9472  -4.1186  -5.9108)
928    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
929       -0.8247   0.5587  -0.0878
930        0.0426   0.2162   0.9754
931        6.2694  -7.0540   3.3316)
932    #(  2.8930   8.5380  -3.3280) ; P
933    #(  1.6980   7.6960  -3.5570) ; O1P
934    #(  3.2260   9.5010  -4.4020) ; O2P
935    #(  4.1590   7.6040  -3.0340) ; O5*
936    #(  4.1214   6.7116  -1.9049) ; C5*
937    #(  3.3465   5.9610  -2.0607) ; H5*
938    #(  4.0789   7.2928  -0.9837) ; H5**
939    #(  5.4170   5.9293  -1.8186) ; C4*
940    #(  5.4506   5.3400  -0.9023) ; H4*
941    #(  5.5067   5.0417  -2.9703) ; O4*
942    #(  6.8650   4.9152  -3.3612) ; C1*
943    #(  7.1090   3.8577  -3.2603) ; H1*
944    #(  7.7152   5.7282  -2.3894) ; C2*
945    #(  8.5029   6.2356  -2.9463) ; H2**
946    #(  8.1036   4.8568  -1.3419) ; O2*
947    #(  8.3270   3.9651  -1.6184) ; H2*
948    #(  6.7003   6.7565  -1.8911) ; C3*
949    #(  6.5898   7.5329  -2.6482) ; H3*
950    #(  7.0505   7.2878  -0.6105) ; O3*
951    #(  6.6624   3.5061  -8.2986) ; N1
952    #(  6.5810   3.2570  -5.9221) ; N3
953    #(  6.5151   2.8263  -7.1625) ; C2
954    #(  6.8364   4.5817  -5.8882) ; C4
955    #(  7.0116   5.4064  -6.9609) ; C5
956    #(  6.9173   4.8260  -8.2361) ; C6
957    rA
958    #(  7.0668   5.5163  -9.3763) ; N6
959    #(  7.2573   6.7070  -6.5394) ; N7
960    #(  6.9740   5.3703  -4.7760) ; N9
961    #(  7.2238   6.6275  -5.2453) ; C8
962    #(  6.3146   1.7741  -7.3641) ; H2
963    #(  7.2568   6.4972  -9.3456) ; H61
964    #(  7.0437   5.0478 -10.2446) ; H62
965    #(  7.4108   7.6227  -4.8418) ; H8
966  ))
967
968(define rA07
969  (nuc-const
970    #(  0.2379   0.1310  -0.9624  ; dgf-base-tfo
971       -0.5876  -0.7696  -0.2499
972       -0.7734   0.6249  -0.1061
973       30.9870 -26.9344  42.6416)
974    #(  0.7529   0.1548   0.6397  ; P-O3*-275-tfo
975        0.2952  -0.9481  -0.1180
976        0.5882   0.2777  -0.7595
977      -58.8919 -11.3095   6.0866)
978    #( -0.0239   0.9667  -0.2546  ; P-O3*-180-tfo
979        0.9731  -0.0359  -0.2275
980       -0.2290  -0.2532  -0.9399
981        3.5401 -29.7913  52.2796)
982    #( -0.8912  -0.4531   0.0242  ; P-O3*-60-tfo
983       -0.1183   0.1805  -0.9764
984        0.4380  -0.8730  -0.2145
985       19.9023  54.8054  15.2799)
986    #( 41.8210   8.3880  43.5890) ; P
987    #( 42.5400   8.0450  44.8330) ; O1P
988    #( 42.2470   9.6920  42.9910) ; O2P
989    #( 40.2550   8.2030  43.7340) ; O5*
990    #( 39.3505   8.4697  42.6565) ; C5*
991    #( 39.1377   7.5433  42.1230) ; H5*
992    #( 39.7203   9.3119  42.0717) ; H5**
993    #( 38.0405   8.9195  43.2869) ; C4*
994    #( 37.3687   9.3036  42.5193) ; H4*
995    #( 37.4319   7.8146  43.9387) ; O4*
996    #( 37.1959   8.1354  45.3237) ; C1*
997    #( 36.1788   8.5202  45.3970) ; H1*
998    #( 38.1721   9.2328  45.6504) ; C2*
999    #( 39.1555   8.7939  45.8188) ; H2**
1000    #( 37.7862  10.0617  46.7013) ; O2*
1001    #( 37.3087   9.6229  47.4092) ; H2*
1002    #( 38.1844  10.0268  44.3367) ; C3*
1003    #( 39.1578  10.5054  44.2289) ; H3*
1004    #( 37.0547  10.9127  44.3441) ; O3*
1005    #( 34.8811   4.2072  47.5784) ; N1
1006    #( 35.1084   6.1336  46.1818) ; N3
1007    #( 34.4108   5.1360  46.7207) ; C2
1008    #( 36.3908   6.1224  46.6053) ; C4
1009    #( 36.9819   5.2334  47.4697) ; C5
1010    #( 36.1786   4.1985  48.0035) ; C6
1011    rA
1012    #( 36.6103   3.2749  48.8452) ; N6
1013    #( 38.3236   5.5522  47.6595) ; N7
1014    #( 37.3887   7.0024  46.2437) ; N9
1015    #( 38.5055   6.6096  46.9057) ; C8
1016    #( 33.3553   5.0152  46.4771) ; H2
1017    #( 37.5730   3.2804  49.1507) ; H61
1018    #( 35.9775   2.5638  49.1828) ; H62
1019    #( 39.5461   6.9184  47.0041) ; H8
1020  ))
1021
1022(define rA08
1023  (nuc-const
1024    #(  0.1084  -0.0895  -0.9901  ; dgf-base-tfo
1025        0.9789  -0.1638   0.1220
1026       -0.1731  -0.9824   0.0698
1027       -2.9039  47.2655  33.0094)
1028    #(  0.7529   0.1548   0.6397  ; P-O3*-275-tfo
1029        0.2952  -0.9481  -0.1180
1030        0.5882   0.2777  -0.7595
1031      -58.8919 -11.3095   6.0866)
1032    #( -0.0239   0.9667  -0.2546  ; P-O3*-180-tfo
1033        0.9731  -0.0359  -0.2275
1034       -0.2290  -0.2532  -0.9399
1035        3.5401 -29.7913  52.2796)
1036    #( -0.8912  -0.4531   0.0242  ; P-O3*-60-tfo
1037       -0.1183   0.1805  -0.9764
1038        0.4380  -0.8730  -0.2145
1039       19.9023  54.8054  15.2799)
1040    #( 41.8210   8.3880  43.5890) ; P
1041    #( 42.5400   8.0450  44.8330) ; O1P
1042    #( 42.2470   9.6920  42.9910) ; O2P
1043    #( 40.2550   8.2030  43.7340) ; O5*
1044    #( 39.4850   8.9301  44.6977) ; C5*
1045    #( 39.0638   9.8199  44.2296) ; H5*
1046    #( 40.0757   9.0713  45.6029) ; H5**
1047    #( 38.3102   8.0414  45.0789) ; C4*
1048    #( 37.7842   8.4637  45.9351) ; H4*
1049    #( 37.4200   7.9453  43.9769) ; O4*
1050    #( 37.2249   6.5609  43.6273) ; C1*
1051    #( 36.3360   6.2168  44.1561) ; H1*
1052    #( 38.4347   5.8414  44.1590) ; C2*
1053    #( 39.2688   5.9974  43.4749) ; H2**
1054    #( 38.2344   4.4907  44.4348) ; O2*
1055    #( 37.6374   4.0386  43.8341) ; H2*
1056    #( 38.6926   6.6079  45.4637) ; C3*
1057    #( 39.7585   6.5640  45.6877) ; H3*
1058    #( 37.8238   6.0705  46.4723) ; O3*
1059    #( 33.9162   6.2598  39.7758) ; N1
1060    #( 34.6709   6.5759  42.0215) ; N3
1061    #( 33.7257   6.5186  41.0858) ; C2
1062    #( 35.8935   6.3324  41.5018) ; C4
1063    #( 36.2105   6.0601  40.1932) ; C5
1064    #( 35.1538   6.0151  39.2537) ; C6
1065    rA
1066    #( 35.3088   5.7642  37.9649) ; N6
1067    #( 37.5818   5.8677  40.0507) ; N7
1068    #( 37.0932   6.3197  42.1810) ; N9
1069    #( 38.0509   6.0354  41.2635) ; C8
1070    #( 32.6830   6.6898  41.3532) ; H2
1071    #( 36.2305   5.5855  37.5925) ; H61
1072    #( 34.5056   5.7512  37.3528) ; H62
1073    #( 39.1318   5.8993  41.2285) ; H8
1074  ))
1075
1076(define rA09
1077  (nuc-const
1078    #(  0.8467   0.4166  -0.3311  ; dgf-base-tfo
1079       -0.3962   0.9089   0.1303
1080        0.3552   0.0209   0.9346
1081      -42.7319 -26.6223 -29.8163)
1082    #(  0.7529   0.1548   0.6397  ; P-O3*-275-tfo
1083        0.2952  -0.9481  -0.1180
1084        0.5882   0.2777  -0.7595
1085      -58.8919 -11.3095   6.0866)
1086    #( -0.0239   0.9667  -0.2546  ; P-O3*-180-tfo
1087        0.9731  -0.0359  -0.2275
1088       -0.2290  -0.2532  -0.9399
1089        3.5401 -29.7913  52.2796)
1090    #( -0.8912  -0.4531   0.0242  ; P-O3*-60-tfo
1091       -0.1183   0.1805  -0.9764
1092        0.4380  -0.8730  -0.2145
1093       19.9023  54.8054  15.2799)
1094    #( 41.8210   8.3880  43.5890) ; P
1095    #( 42.5400   8.0450  44.8330) ; O1P
1096    #( 42.2470   9.6920  42.9910) ; O2P
1097    #( 40.2550   8.2030  43.7340) ; O5*
1098    #( 39.3505   8.4697  42.6565) ; C5*
1099    #( 39.1377   7.5433  42.1230) ; H5*
1100    #( 39.7203   9.3119  42.0717) ; H5**
1101    #( 38.0405   8.9195  43.2869) ; C4*
1102    #( 37.6479   8.1347  43.9335) ; H4*
1103    #( 38.2691  10.0933  44.0524) ; O4*
1104    #( 37.3999  11.1488  43.5973) ; C1*
1105    #( 36.5061  11.1221  44.2206) ; H1*
1106    #( 37.0364  10.7838  42.1836) ; C2*
1107    #( 37.8636  11.0489  41.5252) ; H2**
1108    #( 35.8275  11.3133  41.7379) ; O2*
1109    #( 35.6214  12.1896  42.0714) ; H2*
1110    #( 36.9316   9.2556  42.2837) ; C3*
1111    #( 37.1778   8.8260  41.3127) ; H3*
1112    #( 35.6285   8.9334  42.7926) ; O3*
1113    #( 38.1482  15.2833  46.4641) ; N1
1114    #( 37.3641  13.0968  45.9007) ; N3
1115    #( 37.5032  14.1288  46.7300) ; C2
1116    #( 37.9570  13.3377  44.7113) ; C4
1117    #( 38.6397  14.4660  44.3267) ; C5
1118    #( 38.7473  15.5229  45.2609) ; C6
1119    rA
1120    #( 39.3720  16.6649  45.0297) ; N6
1121    #( 39.1079  14.3351  43.0223) ; N7
1122    #( 38.0132  12.4868  43.6280) ; N9
1123    #( 38.7058  13.1402  42.6620) ; C8
1124    #( 37.0731  14.0857  47.7306) ; H2
1125    #( 39.8113  16.8281  44.1350) ; H61
1126    #( 39.4100  17.3741  45.7478) ; H62
1127    #( 39.0412  12.9660  41.6397) ; H8
1128  ))
1129
1130(define rA10
1131  (nuc-const
1132    #(  0.7063   0.6317  -0.3196  ; dgf-base-tfo
1133       -0.0403  -0.4149  -0.9090
1134       -0.7068   0.6549  -0.2676
1135        6.4402 -52.1496  30.8246)
1136    #(  0.7529   0.1548   0.6397  ; P-O3*-275-tfo
1137        0.2952  -0.9481  -0.1180
1138        0.5882   0.2777  -0.7595
1139      -58.8919 -11.3095   6.0866)
1140    #( -0.0239   0.9667  -0.2546  ; P-O3*-180-tfo
1141        0.9731  -0.0359  -0.2275
1142       -0.2290  -0.2532  -0.9399
1143        3.5401 -29.7913  52.2796)
1144    #( -0.8912  -0.4531   0.0242  ; P-O3*-60-tfo
1145       -0.1183   0.1805  -0.9764
1146        0.4380  -0.8730  -0.2145
1147       19.9023  54.8054  15.2799)
1148    #( 41.8210   8.3880  43.5890) ; P
1149    #( 42.5400   8.0450  44.8330) ; O1P
1150    #( 42.2470   9.6920  42.9910) ; O2P
1151    #( 40.2550   8.2030  43.7340) ; O5*
1152    #( 39.4850   8.9301  44.6977) ; C5*
1153    #( 39.0638   9.8199  44.2296) ; H5*
1154    #( 40.0757   9.0713  45.6029) ; H5**
1155    #( 38.3102   8.0414  45.0789) ; C4*
1156    #( 37.7099   7.8166  44.1973) ; H4*
1157    #( 38.8012   6.8321  45.6380) ; O4*
1158    #( 38.2431   6.6413  46.9529) ; C1*
1159    #( 37.3505   6.0262  46.8385) ; H1*
1160    #( 37.8484   8.0156  47.4214) ; C2*
1161    #( 38.7381   8.5406  47.7690) ; H2**
1162    #( 36.8286   8.0368  48.3701) ; O2*
1163    #( 36.8392   7.3063  48.9929) ; H2*
1164    #( 37.3576   8.6512  46.1132) ; C3*
1165    #( 37.5207   9.7275  46.1671) ; H3*
1166    #( 35.9985   8.2392  45.9032) ; O3*
1167    #( 39.9117   2.2278  48.8527) ; N1
1168    #( 38.6207   3.6941  47.4757) ; N3
1169    #( 38.9872   2.4888  47.9057) ; C2
1170    #( 39.2961   4.6720  48.1174) ; C4
1171    #( 40.2546   4.5307  49.0912) ; C5
1172    #( 40.5932   3.2189  49.4985) ; C6
1173    rA
1174    #( 41.4938   2.9317  50.4229) ; N6
1175    #( 40.7195   5.7755  49.5060) ; N7
1176    #( 39.1730   6.0305  47.9170) ; N9
1177    #( 40.0413   6.6250  48.7728) ; C8
1178    #( 38.5257   1.5960  47.4838) ; H2
1179    #( 41.9907   3.6753  50.8921) ; H61
1180    #( 41.6848   1.9687  50.6599) ; H62
1181    #( 40.3571   7.6321  49.0452) ; H8
1182  ))
1183
1184(define rAs
1185  (list rA01 rA02 rA03 rA04 rA05 rA06 rA07 rA08 rA09 rA10))
1186
1187(define rC
1188  (nuc-const
1189    #( -0.0359  -0.8071   0.5894  ; dgf-base-tfo
1190       -0.2669   0.5761   0.7726
1191       -0.9631  -0.1296  -0.2361
1192        0.1584   8.3434   0.5434)
1193    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1194        0.0649   0.4366  -0.8973
1195        0.5521  -0.7648  -0.3322
1196        1.6833   6.8060  -7.0011)
1197    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1198       -0.4628  -0.6450  -0.6082
1199        0.8168  -0.0436  -0.5753
1200       -6.8179  -3.9778  -5.9887)
1201    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1202        0.8103  -0.5790   0.0906
1203       -0.0255  -0.1894  -0.9816
1204        6.1203  -7.1051   3.1984)
1205    #(  2.6760  -8.4960   3.2880) ; P
1206    #(  1.4950  -7.6230   3.4770) ; O1P
1207    #(  2.9490  -9.4640   4.3740) ; O2P
1208    #(  3.9730  -7.5950   3.0340) ; O5*
1209    #(  5.2430  -8.2420   2.8260) ; C5*
1210    #(  5.1974  -8.8497   1.9223) ; H5*
1211    #(  5.5548  -8.7348   3.7469) ; H5**
1212    #(  6.3140  -7.2060   2.5510) ; C4*
1213    #(  7.2954  -7.6762   2.4898) ; H4*
1214    #(  6.0140  -6.5420   1.2890) ; O4*
1215    #(  6.4190  -5.1840   1.3620) ; C1*
1216    #(  7.1608  -5.0495   0.5747) ; H1*
1217    #(  7.0760  -4.9560   2.7270) ; C2*
1218    #(  6.7770  -3.9803   3.1099) ; H2**
1219    #(  8.4500  -5.1930   2.5810) ; O2*
1220    #(  8.8309  -4.8755   1.7590) ; H2*
1221    #(  6.4060  -6.0590   3.5580) ; C3*
1222    #(  5.4021  -5.7313   3.8281) ; H3*
1223    #(  7.1570  -6.4240   4.7070) ; O3*
1224    #(  5.2170  -4.3260   1.1690) ; N1
1225    #(  4.2960  -2.2560   0.6290) ; N3
1226    #(  5.4330  -3.0200   0.7990) ; C2
1227    #(  2.9930  -2.6780   0.7940) ; C4
1228    #(  2.8670  -4.0630   1.1830) ; C5
1229    #(  3.9570  -4.8300   1.3550) ; C6
1230    rC
1231    #(  2.0187  -1.8047   0.5874) ; N4
1232    #(  6.5470  -2.5560   0.6290) ; O2
1233    #(  1.0684  -2.1236   0.7109) ; H41
1234    #(  2.2344  -0.8560   0.3162) ; H42
1235    #(  1.8797  -4.4972   1.3404) ; H5
1236    #(  3.8479  -5.8742   1.6480) ; H6
1237  ))
1238
1239(define rC01
1240  (nuc-const
1241    #( -0.0137  -0.8012   0.5983  ; dgf-base-tfo
1242       -0.2523   0.5817   0.7733
1243       -0.9675  -0.1404  -0.2101
1244        0.2031   8.3874   0.4228)
1245    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1246        0.0649   0.4366  -0.8973
1247        0.5521  -0.7648  -0.3322
1248        1.6833   6.8060  -7.0011)
1249    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1250       -0.4628  -0.6450  -0.6082
1251        0.8168  -0.0436  -0.5753
1252       -6.8179  -3.9778  -5.9887)
1253    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1254        0.8103  -0.5790   0.0906
1255       -0.0255  -0.1894  -0.9816
1256        6.1203  -7.1051   3.1984)
1257    #(  2.6760  -8.4960   3.2880) ; P
1258    #(  1.4950  -7.6230   3.4770) ; O1P
1259    #(  2.9490  -9.4640   4.3740) ; O2P
1260    #(  3.9730  -7.5950   3.0340) ; O5*
1261    #(  5.2416  -8.2422   2.8181) ; C5*
1262    #(  5.2050  -8.8128   1.8901) ; H5*
1263    #(  5.5368  -8.7738   3.7227) ; H5**
1264    #(  6.3232  -7.2037   2.6002) ; C4*
1265    #(  7.3048  -7.6757   2.5577) ; H4*
1266    #(  6.0635  -6.5092   1.3456) ; O4*
1267    #(  6.4697  -5.1547   1.4629) ; C1*
1268    #(  7.2354  -5.0043   0.7018) ; H1*
1269    #(  7.0856  -4.9610   2.8521) ; C2*
1270    #(  6.7777  -3.9935   3.2487) ; H2**
1271    #(  8.4627  -5.1992   2.7423) ; O2*
1272    #(  8.8693  -4.8638   1.9399) ; H2*
1273    #(  6.3877  -6.0809   3.6362) ; C3*
1274    #(  5.3770  -5.7562   3.8834) ; H3*
1275    #(  7.1024  -6.4754   4.7985) ; O3*
1276    #(  5.2764  -4.2883   1.2538) ; N1
1277    #(  4.3777  -2.2062   0.7229) ; N3
1278    #(  5.5069  -2.9779   0.9088) ; C2
1279    #(  3.0693  -2.6246   0.8500) ; C4
1280    #(  2.9279  -4.0146   1.2149) ; C5
1281    #(  4.0101  -4.7892   1.4017) ; C6
1282    rC
1283    #(  2.1040  -1.7437   0.6331) ; N4
1284    #(  6.6267  -2.5166   0.7728) ; O2
1285    #(  1.1496  -2.0600   0.7287) ; H41
1286    #(  2.3303  -0.7921   0.3815) ; H42
1287    #(  1.9353  -4.4465   1.3419) ; H5
1288    #(  3.8895  -5.8371   1.6762) ; H6
1289  ))
1290
1291(define rC02
1292  (nuc-const
1293    #(  0.5141   0.0246   0.8574  ; dgf-base-tfo
1294       -0.5547  -0.7529   0.3542
1295        0.6542  -0.6577  -0.3734
1296       -9.1111  -3.4598  -3.2939)
1297    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1298        0.0649   0.4366  -0.8973
1299        0.5521  -0.7648  -0.3322
1300        1.6833   6.8060  -7.0011)
1301    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1302       -0.4628  -0.6450  -0.6082
1303        0.8168  -0.0436  -0.5753
1304       -6.8179  -3.9778  -5.9887)
1305    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1306        0.8103  -0.5790   0.0906
1307       -0.0255  -0.1894  -0.9816
1308        6.1203  -7.1051   3.1984)
1309    #(  2.6760  -8.4960   3.2880) ; P
1310    #(  1.4950  -7.6230   3.4770) ; O1P
1311    #(  2.9490  -9.4640   4.3740) ; O2P
1312    #(  3.9730  -7.5950   3.0340) ; O5*
1313    #(  4.3825  -6.6585   4.0489) ; C5*
1314    #(  4.6841  -7.2019   4.9443) ; H5*
1315    #(  3.6189  -5.8889   4.1625) ; H5**
1316    #(  5.6255  -5.9175   3.5998) ; C4*
1317    #(  5.8732  -5.1228   4.3034) ; H4*
1318    #(  6.7337  -6.8605   3.5222) ; O4*
1319    #(  7.5932  -6.4923   2.4548) ; C1*
1320    #(  8.5661  -6.2983   2.9064) ; H1*
1321    #(  7.0527  -5.2012   1.8322) ; C2*
1322    #(  7.1627  -5.2525   0.7490) ; H2**
1323    #(  7.6666  -4.1249   2.4880) ; O2*
1324    #(  8.5944  -4.2543   2.6981) ; H2*
1325    #(  5.5661  -5.3029   2.2009) ; C3*
1326    #(  5.0841  -6.0018   1.5172) ; H3*
1327    #(  4.9062  -4.0452   2.2042) ; O3*
1328    #(  7.6298  -7.6136   1.4752) ; N1
1329    #(  8.6945  -8.7046  -0.2857) ; N3
1330    #(  8.6943  -7.6514   0.6066) ; C2
1331    #(  7.7426  -9.6987  -0.3801) ; C4
1332    #(  6.6642  -9.5742   0.5722) ; C5
1333    #(  6.6391  -8.5592   1.4526) ; C6
1334    rC
1335    #(  7.9033 -10.6371  -1.3010) ; N4
1336    #(  9.5840  -6.8186   0.6136) ; O2
1337    #(  7.2009 -11.3604  -1.3619) ; H41
1338    #(  8.7058 -10.6168  -1.9140) ; H42
1339    #(  5.8585 -10.3083   0.5822) ; H5
1340    #(  5.8197  -8.4773   2.1667) ; H6
1341  ))
1342
1343(define rC03
1344  (nuc-const
1345    #( -0.4993   0.0476   0.8651  ; dgf-base-tfo
1346        0.8078  -0.3353   0.4847
1347        0.3132   0.9409   0.1290
1348        6.2989  -5.2303  -3.8577)
1349    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1350        0.0649   0.4366  -0.8973
1351        0.5521  -0.7648  -0.3322
1352        1.6833   6.8060  -7.0011)
1353    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1354       -0.4628  -0.6450  -0.6082
1355        0.8168  -0.0436  -0.5753
1356       -6.8179  -3.9778  -5.9887)
1357    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1358        0.8103  -0.5790   0.0906
1359       -0.0255  -0.1894  -0.9816
1360        6.1203  -7.1051   3.1984)
1361    #(  2.6760  -8.4960   3.2880) ; P
1362    #(  1.4950  -7.6230   3.4770) ; O1P
1363    #(  2.9490  -9.4640   4.3740) ; O2P
1364    #(  3.9730  -7.5950   3.0340) ; O5*
1365    #(  3.9938  -6.7042   1.9023) ; C5*
1366    #(  3.2332  -5.9343   2.0319) ; H5*
1367    #(  3.9666  -7.2863   0.9812) ; H5**
1368    #(  5.3098  -5.9546   1.8564) ; C4*
1369    #(  5.3863  -5.3702   0.9395) ; H4*
1370    #(  5.3851  -5.0642   3.0076) ; O4*
1371    #(  6.7315  -4.9724   3.4462) ; C1*
1372    #(  7.0033  -3.9202   3.3619) ; H1*
1373    #(  7.5997  -5.8018   2.4948) ; C2*
1374    #(  8.3627  -6.3254   3.0707) ; H2**
1375    #(  8.0410  -4.9501   1.4724) ; O2*
1376    #(  8.2781  -4.0644   1.7570) ; H2*
1377    #(  6.5701  -6.8129   1.9714) ; C3*
1378    #(  6.4186  -7.5809   2.7299) ; H3*
1379    #(  6.9357  -7.3841   0.7235) ; O3*
1380    #(  6.8024  -5.4718   4.8475) ; N1
1381    #(  7.9218  -5.5700   6.8877) ; N3
1382    #(  7.8908  -5.0886   5.5944) ; C2
1383    #(  6.9789  -6.3827   7.4823) ; C4
1384    #(  5.8742  -6.7319   6.6202) ; C5
1385    #(  5.8182  -6.2769   5.3570) ; C6
1386    rC
1387    #(  7.1702  -6.7511   8.7402) ; N4
1388    #(  8.7747  -4.3728   5.1568) ; O2
1389    #(  6.4741  -7.3461   9.1662) ; H41
1390    #(  7.9889  -6.4396   9.2429) ; H42
1391    #(  5.0736  -7.3713   6.9922) ; H5
1392    #(  4.9784  -6.5473   4.7170) ; H6
1393  ))
1394
1395(define rC04
1396  (nuc-const
1397    #( -0.5669  -0.8012   0.1918  ; dgf-base-tfo
1398       -0.8129   0.5817   0.0273
1399       -0.1334  -0.1404  -0.9811
1400       -0.3279   8.3874   0.3355)
1401    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1402        0.0649   0.4366  -0.8973
1403        0.5521  -0.7648  -0.3322
1404        1.6833   6.8060  -7.0011)
1405    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1406       -0.4628  -0.6450  -0.6082
1407        0.8168  -0.0436  -0.5753
1408       -6.8179  -3.9778  -5.9887)
1409    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1410        0.8103  -0.5790   0.0906
1411       -0.0255  -0.1894  -0.9816
1412        6.1203  -7.1051   3.1984)
1413    #(  2.6760  -8.4960   3.2880) ; P
1414    #(  1.4950  -7.6230   3.4770) ; O1P
1415    #(  2.9490  -9.4640   4.3740) ; O2P
1416    #(  3.9730  -7.5950   3.0340) ; O5*
1417    #(  5.2416  -8.2422   2.8181) ; C5*
1418    #(  5.2050  -8.8128   1.8901) ; H5*
1419    #(  5.5368  -8.7738   3.7227) ; H5**
1420    #(  6.3232  -7.2037   2.6002) ; C4*
1421    #(  7.3048  -7.6757   2.5577) ; H4*
1422    #(  6.0635  -6.5092   1.3456) ; O4*
1423    #(  6.4697  -5.1547   1.4629) ; C1*
1424    #(  7.2354  -5.0043   0.7018) ; H1*
1425    #(  7.0856  -4.9610   2.8521) ; C2*
1426    #(  6.7777  -3.9935   3.2487) ; H2**
1427    #(  8.4627  -5.1992   2.7423) ; O2*
1428    #(  8.8693  -4.8638   1.9399) ; H2*
1429    #(  6.3877  -6.0809   3.6362) ; C3*
1430    #(  5.3770  -5.7562   3.8834) ; H3*
1431    #(  7.1024  -6.4754   4.7985) ; O3*
1432    #(  5.2764  -4.2883   1.2538) ; N1
1433    #(  3.8961  -3.0896  -0.1893) ; N3
1434    #(  5.0095  -3.8907  -0.0346) ; C2
1435    #(  3.0480  -2.6632   0.8116) ; C4
1436    #(  3.4093  -3.1310   2.1292) ; C5
1437    #(  4.4878  -3.9124   2.3088) ; C6
1438    rC
1439    #(  2.0216  -1.8941   0.4804) ; N4
1440    #(  5.7005  -4.2164  -0.9842) ; O2
1441    #(  1.4067  -1.5873   1.2205) ; H41
1442    #(  1.8721  -1.6319  -0.4835) ; H42
1443    #(  2.8048  -2.8507   2.9918) ; H5
1444    #(  4.7491  -4.2593   3.3085) ; H6
1445  ))
1446
1447(define rC05
1448  (nuc-const
1449    #( -0.6298   0.0246   0.7763  ; dgf-base-tfo
1450       -0.5226  -0.7529  -0.4001
1451        0.5746  -0.6577   0.4870
1452       -0.0208  -3.4598  -9.6882)
1453    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1454        0.0649   0.4366  -0.8973
1455        0.5521  -0.7648  -0.3322
1456        1.6833   6.8060  -7.0011)
1457    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1458       -0.4628  -0.6450  -0.6082
1459        0.8168  -0.0436  -0.5753
1460       -6.8179  -3.9778  -5.9887)
1461    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1462        0.8103  -0.5790   0.0906
1463       -0.0255  -0.1894  -0.9816
1464        6.1203  -7.1051   3.1984)
1465    #(  2.6760  -8.4960   3.2880) ; P
1466    #(  1.4950  -7.6230   3.4770) ; O1P
1467    #(  2.9490  -9.4640   4.3740) ; O2P
1468    #(  3.9730  -7.5950   3.0340) ; O5*
1469    #(  4.3825  -6.6585   4.0489) ; C5*
1470    #(  4.6841  -7.2019   4.9443) ; H5*
1471    #(  3.6189  -5.8889   4.1625) ; H5**
1472    #(  5.6255  -5.9175   3.5998) ; C4*
1473    #(  5.8732  -5.1228   4.3034) ; H4*
1474    #(  6.7337  -6.8605   3.5222) ; O4*
1475    #(  7.5932  -6.4923   2.4548) ; C1*
1476    #(  8.5661  -6.2983   2.9064) ; H1*
1477    #(  7.0527  -5.2012   1.8322) ; C2*
1478    #(  7.1627  -5.2525   0.7490) ; H2**
1479    #(  7.6666  -4.1249   2.4880) ; O2*
1480    #(  8.5944  -4.2543   2.6981) ; H2*
1481    #(  5.5661  -5.3029   2.2009) ; C3*
1482    #(  5.0841  -6.0018   1.5172) ; H3*
1483    #(  4.9062  -4.0452   2.2042) ; O3*
1484    #(  7.6298  -7.6136   1.4752) ; N1
1485    #(  8.5977  -9.5977   0.7329) ; N3
1486    #(  8.5951  -8.5745   1.6594) ; C2
1487    #(  7.7372  -9.7371  -0.3364) ; C4
1488    #(  6.7596  -8.6801  -0.4476) ; C5
1489    #(  6.7338  -7.6721   0.4408) ; C6
1490    rC
1491    #(  7.8849 -10.7881  -1.1289) ; N4
1492    #(  9.3993  -8.5377   2.5743) ; O2
1493    #(  7.2499 -10.8809  -1.9088) ; H41
1494    #(  8.6122 -11.4649  -0.9468) ; H42
1495    #(  6.0317  -8.6941  -1.2588) ; H5
1496    #(  5.9901  -6.8809   0.3459) ; H6
1497  ))
1498
1499(define rC06
1500  (nuc-const
1501    #( -0.9837   0.0476  -0.1733  ; dgf-base-tfo
1502       -0.1792  -0.3353   0.9249
1503       -0.0141   0.9409   0.3384
1504        5.7793  -5.2303   4.5997)
1505    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
1506        0.0649   0.4366  -0.8973
1507        0.5521  -0.7648  -0.3322
1508        1.6833   6.8060  -7.0011)
1509    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
1510       -0.4628  -0.6450  -0.6082
1511        0.8168  -0.0436  -0.5753
1512       -6.8179  -3.9778  -5.9887)
1513    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
1514        0.8103  -0.5790   0.0906
1515       -0.0255  -0.1894  -0.9816
1516        6.1203  -7.1051   3.1984)
1517    #(  2.6760  -8.4960   3.2880) ; P
1518    #(  1.4950  -7.6230   3.4770) ; O1P
1519    #(  2.9490  -9.4640   4.3740) ; O2P
1520    #(  3.9730  -7.5950   3.0340) ; O5*
1521    #(  3.9938  -6.7042   1.9023) ; C5*
1522    #(  3.2332  -5.9343   2.0319) ; H5*
1523    #(  3.9666  -7.2863   0.9812) ; H5**
1524    #(  5.3098  -5.9546   1.8564) ; C4*
1525    #(  5.3863  -5.3702   0.9395) ; H4*
1526    #(  5.3851  -5.0642   3.0076) ; O4*
1527    #(  6.7315  -4.9724   3.4462) ; C1*
1528    #(  7.0033  -3.9202   3.3619) ; H1*
1529    #(  7.5997  -5.8018   2.4948) ; C2*
1530    #(  8.3627  -6.3254   3.0707) ; H2**
1531    #(  8.0410  -4.9501   1.4724) ; O2*
1532    #(  8.2781  -4.0644   1.7570) ; H2*
1533    #(  6.5701  -6.8129   1.9714) ; C3*
1534    #(  6.4186  -7.5809   2.7299) ; H3*
1535    #(  6.9357  -7.3841   0.7235) ; O3*
1536    #(  6.8024  -5.4718   4.8475) ; N1
1537    #(  6.6920  -5.0495   7.1354) ; N3
1538    #(  6.6201  -4.5500   5.8506) ; C2
1539    #(  6.9254  -6.3614   7.4926) ; C4
1540    #(  7.1046  -7.2543   6.3718) ; C5
1541    #(  7.0391  -6.7951   5.1106) ; C6
1542    rC
1543    #(  6.9614  -6.6648   8.7815) ; N4
1544    #(  6.4083  -3.3696   5.6340) ; O2
1545    #(  7.1329  -7.6280   9.0324) ; H41
1546    #(  6.8204  -5.9469   9.4777) ; H42
1547    #(  7.2954  -8.3135   6.5440) ; H5
1548    #(  7.1753  -7.4798   4.2735) ; H6
1549  ))
1550
1551(define rC07
1552  (nuc-const
1553    #(  0.0033   0.2720  -0.9623  ; dgf-base-tfo
1554        0.3013  -0.9179  -0.2584
1555       -0.9535  -0.2891  -0.0850
1556       43.0403  13.7233  34.5710)
1557    #(  0.9187   0.2887   0.2694  ; P-O3*-275-tfo
1558        0.0302  -0.7316   0.6811
1559        0.3938  -0.6176  -0.6808
1560      -48.4330  26.3254  13.6383)
1561    #( -0.1504   0.7744  -0.6145  ; P-O3*-180-tfo
1562        0.7581   0.4893   0.4311
1563        0.6345  -0.4010  -0.6607
1564      -31.9784 -13.4285  44.9650)
1565    #( -0.6236  -0.7810  -0.0337  ; P-O3*-60-tfo
1566       -0.6890   0.5694  -0.4484
1567        0.3694  -0.2564  -0.8932
1568       12.1105  30.8774  46.0946)
1569    #( 33.3400  11.0980  46.1750) ; P
1570    #( 34.5130  10.2320  46.4660) ; O1P
1571    #( 33.4130  12.3960  46.9340) ; O2P
1572    #( 31.9810  10.3390  46.4820) ; O5*
1573    #( 30.8152  11.1619  46.2003) ; C5*
1574    #( 30.4519  10.9454  45.1957) ; H5*
1575    #( 31.0379  12.2016  46.4400) ; H5**
1576    #( 29.7081  10.7448  47.1428) ; C4*
1577    #( 28.8710  11.4416  47.0982) ; H4*
1578    #( 29.2550   9.4394  46.8162) ; O4*
1579    #( 29.3907   8.5625  47.9460) ; C1*
1580    #( 28.4416   8.5669  48.4819) ; H1*
1581    #( 30.4468   9.2031  48.7952) ; C2*
1582    #( 31.4222   8.9651  48.3709) ; H2**
1583    #( 30.3701   8.9157  50.1624) ; O2*
1584    #( 30.0652   8.0304  50.3740) ; H2*
1585    #( 30.1622  10.6879  48.6120) ; C3*
1586    #( 31.0952  11.2399  48.7254) ; H3*
1587    #( 29.1076  11.1535  49.4702) ; O3*
1588    #( 29.7883   7.2209  47.5235) ; N1
1589    #( 29.1825   5.0438  46.8275) ; N3
1590    #( 28.8008   6.2912  47.2263) ; C2
1591    #( 30.4888   4.6890  46.7186) ; C4
1592    #( 31.5034   5.6405  47.0249) ; C5
1593    #( 31.1091   6.8691  47.4156) ; C6
1594    rC
1595    #( 30.8109   3.4584  46.3336) ; N4
1596    #( 27.6171   6.5989  47.3189) ; O2
1597    #( 31.7923   3.2301  46.2638) ; H41
1598    #( 30.0880   2.7857  46.1215) ; H42
1599    #( 32.5542   5.3634  46.9395) ; H5
1600    #( 31.8523   7.6279  47.6603) ; H6
1601  ))
1602
1603(define rC08
1604  (nuc-const
1605    #(  0.0797  -0.6026  -0.7941  ; dgf-base-tfo
1606        0.7939   0.5201  -0.3150
1607        0.6028  -0.6054   0.5198
1608      -36.8341  41.5293   1.6628)
1609    #(  0.9187   0.2887   0.2694  ; P-O3*-275-tfo
1610        0.0302  -0.7316   0.6811
1611        0.3938  -0.6176  -0.6808
1612      -48.4330  26.3254  13.6383)
1613    #( -0.1504   0.7744  -0.6145  ; P-O3*-180-tfo
1614        0.7581   0.4893   0.4311
1615        0.6345  -0.4010  -0.6607
1616      -31.9784 -13.4285  44.9650)
1617    #( -0.6236  -0.7810  -0.0337  ; P-O3*-60-tfo
1618       -0.6890   0.5694  -0.4484
1619        0.3694  -0.2564  -0.8932
1620       12.1105  30.8774  46.0946)
1621    #( 33.3400  11.0980  46.1750) ; P
1622    #( 34.5130  10.2320  46.4660) ; O1P
1623    #( 33.4130  12.3960  46.9340) ; O2P
1624    #( 31.9810  10.3390  46.4820) ; O5*
1625    #( 31.8779   9.9369  47.8760) ; C5*
1626    #( 31.3239  10.6931  48.4322) ; H5*
1627    #( 32.8647   9.6624  48.2489) ; H5**
1628    #( 31.0429   8.6773  47.9401) ; C4*
1629    #( 31.0779   8.2331  48.9349) ; H4*
1630    #( 29.6956   8.9669  47.5983) ; O4*
1631    #( 29.2784   8.1700  46.4782) ; C1*
1632    #( 28.8006   7.2731  46.8722) ; H1*
1633    #( 30.5544   7.7940  45.7875) ; C2*
1634    #( 30.8837   8.6410  45.1856) ; H2**
1635    #( 30.5100   6.6007  45.0582) ; O2*
1636    #( 29.6694   6.4168  44.6326) ; H2*
1637    #( 31.5146   7.5954  46.9527) ; C3*
1638    #( 32.5255   7.8261  46.6166) ; H3*
1639    #( 31.3876   6.2951  47.5516) ; O3*
1640    #( 28.3976   8.9302  45.5933) ; N1
1641    #( 26.2155   9.6135  44.9910) ; N3
1642    #( 27.0281   8.8961  45.8192) ; C2
1643    #( 26.7044  10.3489  43.9595) ; C4
1644    #( 28.1088  10.3837  43.7247) ; C5
1645    #( 28.8978   9.6708  44.5535) ; C6
1646    rC
1647    #( 25.8715  11.0249  43.1749) ; N4
1648    #( 26.5733   8.2371  46.7484) ; O2
1649    #( 26.2707  11.5609  42.4177) ; H41
1650    #( 24.8760  10.9939  43.3427) ; H42
1651    #( 28.5089  10.9722  42.8990) ; H5
1652    #( 29.9782   9.6687  44.4097) ; H6
1653  ))
1654
1655(define rC09
1656  (nuc-const
1657    #(  0.8727   0.4760  -0.1091  ; dgf-base-tfo
1658       -0.4188   0.6148  -0.6682
1659       -0.2510   0.6289   0.7359
1660       -8.1687 -52.0761 -25.0726)
1661    #(  0.9187   0.2887   0.2694  ; P-O3*-275-tfo
1662        0.0302  -0.7316   0.6811
1663        0.3938  -0.6176  -0.6808
1664      -48.4330  26.3254  13.6383)
1665    #( -0.1504   0.7744  -0.6145  ; P-O3*-180-tfo
1666        0.7581   0.4893   0.4311
1667        0.6345  -0.4010  -0.6607
1668      -31.9784 -13.4285  44.9650)
1669    #( -0.6236  -0.7810  -0.0337  ; P-O3*-60-tfo
1670       -0.6890   0.5694  -0.4484
1671        0.3694  -0.2564  -0.8932
1672       12.1105  30.8774  46.0946)
1673    #( 33.3400  11.0980  46.1750) ; P
1674    #( 34.5130  10.2320  46.4660) ; O1P
1675    #( 33.4130  12.3960  46.9340) ; O2P
1676    #( 31.9810  10.3390  46.4820) ; O5*
1677    #( 30.8152  11.1619  46.2003) ; C5*
1678    #( 30.4519  10.9454  45.1957) ; H5*
1679    #( 31.0379  12.2016  46.4400) ; H5**
1680    #( 29.7081  10.7448  47.1428) ; C4*
1681    #( 29.4506   9.6945  47.0059) ; H4*
1682    #( 30.1045  10.9634  48.4885) ; O4*
1683    #( 29.1794  11.8418  49.1490) ; C1*
1684    #( 28.4388  11.2210  49.6533) ; H1*
1685    #( 28.5211  12.6008  48.0367) ; C2*
1686    #( 29.1947  13.3949  47.7147) ; H2**
1687    #( 27.2316  13.0683  48.3134) ; O2*
1688    #( 27.0851  13.3391  49.2227) ; H2*
1689    #( 28.4131  11.5507  46.9391) ; C3*
1690    #( 28.4451  12.0512  45.9713) ; H3*
1691    #( 27.2707  10.6955  47.1097) ; O3*
1692    #( 29.8751  12.7405  50.0682) ; N1
1693    #( 30.7172  13.1841  52.2328) ; N3
1694    #( 30.0617  12.3404  51.3847) ; C2
1695    #( 31.1834  14.3941  51.8297) ; C4
1696    #( 30.9913  14.8074  50.4803) ; C5
1697    #( 30.3434  13.9610  49.6548) ; C6
1698    rC
1699    #( 31.8090  15.1847  52.6957) ; N4
1700    #( 29.6470  11.2494  51.7616) ; O2
1701    #( 32.1422  16.0774  52.3606) ; H41
1702    #( 31.9392  14.8893  53.6527) ; H42
1703    #( 31.3632  15.7771  50.1491) ; H5
1704    #( 30.1742  14.2374  48.6141) ; H6
1705  ))
1706
1707(define rC10
1708  (nuc-const
1709    #(  0.1549   0.8710  -0.4663  ; dgf-base-tfo
1710        0.6768  -0.4374  -0.5921
1711       -0.7197  -0.2239  -0.6572
1712       25.2447 -14.1920  50.3201)
1713    #(  0.9187   0.2887   0.2694  ; P-O3*-275-tfo
1714        0.0302  -0.7316   0.6811
1715        0.3938  -0.6176  -0.6808
1716      -48.4330  26.3254  13.6383)
1717    #( -0.1504   0.7744  -0.6145  ; P-O3*-180-tfo
1718        0.7581   0.4893   0.4311
1719        0.6345  -0.4010  -0.6607
1720      -31.9784 -13.4285  44.9650)
1721    #( -0.6236  -0.7810  -0.0337  ; P-O3*-60-tfo
1722       -0.6890   0.5694  -0.4484
1723        0.3694  -0.2564  -0.8932
1724       12.1105  30.8774  46.0946)
1725    #( 33.3400  11.0980  46.1750) ; P
1726    #( 34.5130  10.2320  46.4660) ; O1P
1727    #( 33.4130  12.3960  46.9340) ; O2P
1728    #( 31.9810  10.3390  46.4820) ; O5*
1729    #( 31.8779   9.9369  47.8760) ; C5*
1730    #( 31.3239  10.6931  48.4322) ; H5*
1731    #( 32.8647   9.6624  48.2489) ; H5**
1732    #( 31.0429   8.6773  47.9401) ; C4*
1733    #( 30.0440   8.8473  47.5383) ; H4*
1734    #( 31.6749   7.6351  47.2119) ; O4*
1735    #( 31.9159   6.5022  48.0616) ; C1*
1736    #( 31.0691   5.8243  47.9544) ; H1*
1737    #( 31.9300   7.0685  49.4493) ; C2*
1738    #( 32.9024   7.5288  49.6245) ; H2**
1739    #( 31.5672   6.1750  50.4632) ; O2*
1740    #( 31.8416   5.2663  50.3200) ; H2*
1741    #( 30.8618   8.1514  49.3749) ; C3*
1742    #( 31.1122   8.9396  50.0850) ; H3*
1743    #( 29.5351   7.6245  49.5409) ; O3*
1744    #( 33.1890   5.8629  47.7343) ; N1
1745    #( 34.4004   4.2636  46.4828) ; N3
1746    #( 33.2062   4.8497  46.7851) ; C2
1747    #( 35.5600   4.6374  47.0822) ; C4
1748    #( 35.5444   5.6751  48.0577) ; C5
1749    #( 34.3565   6.2450  48.3432) ; C6
1750    rC
1751    #( 36.6977   4.0305  46.7598) ; N4
1752    #( 32.1661   4.5034  46.2348) ; O2
1753    #( 37.5405   4.3347  47.2259) ; H41
1754    #( 36.7033   3.2923  46.0706) ; H42
1755    #( 36.4713   5.9811  48.5428) ; H5
1756    #( 34.2986   7.0426  49.0839) ; H6
1757  ))
1758
1759(define rCs
1760  (list rC01 rC02 rC03 rC04 rC05 rC06 rC07 rC08 rC09 rC10))
1761
1762(define rG
1763  (nuc-const
1764    #( -0.0018  -0.8207   0.5714  ; dgf-base-tfo
1765        0.2679  -0.5509  -0.7904
1766        0.9634   0.1517   0.2209
1767        0.0073   8.4030   0.6232)
1768    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
1769       -0.0433  -0.4257   0.9038
1770       -0.5788   0.7480   0.3246
1771        1.5227   6.9114  -7.0765)
1772    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
1773        0.4552   0.6637   0.5935
1774       -0.8042   0.0203   0.5941
1775       -6.9472  -4.1186  -5.9108)
1776    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
1777       -0.8247   0.5587  -0.0878
1778        0.0426   0.2162   0.9754
1779        6.2694  -7.0540   3.3316)
1780    #(  2.8930   8.5380  -3.3280) ; P
1781    #(  1.6980   7.6960  -3.5570) ; O1P
1782    #(  3.2260   9.5010  -4.4020) ; O2P
1783    #(  4.1590   7.6040  -3.0340) ; O5*
1784    #(  5.4550   8.2120  -2.8810) ; C5*
1785    #(  5.4546   8.8508  -1.9978) ; H5*
1786    #(  5.7588   8.6625  -3.8259) ; H5**
1787    #(  6.4970   7.1480  -2.5980) ; C4*
1788    #(  7.4896   7.5919  -2.5214) ; H4*
1789    #(  6.1630   6.4860  -1.3440) ; O4*
1790    #(  6.5400   5.1200  -1.4190) ; C1*
1791    #(  7.2763   4.9681  -0.6297) ; H1*
1792    #(  7.1940   4.8830  -2.7770) ; C2*
1793    #(  6.8667   3.9183  -3.1647) ; H2**
1794    #(  8.5860   5.0910  -2.6140) ; O2*
1795    #(  8.9510   4.7626  -1.7890) ; H2*
1796    #(  6.5720   6.0040  -3.6090) ; C3*
1797    #(  5.5636   5.7066  -3.8966) ; H3*
1798    #(  7.3801   6.3562  -4.7350) ; O3*
1799    #(  4.7150   0.4910  -0.1360) ; N1
1800    #(  6.3490   2.1730  -0.6020) ; N3
1801    #(  5.9530   0.9650  -0.2670) ; C2
1802    #(  5.2900   2.9790  -0.8260) ; C4
1803    #(  3.9720   2.6390  -0.7330) ; C5
1804    #(  3.6770   1.3160  -0.3660) ; C6
1805    rG
1806    #(  6.8426   0.0056  -0.0019) ; N2
1807    #(  3.1660   3.7290  -1.0360) ; N7
1808    #(  5.3170   4.2990  -1.1930) ; N9
1809    #(  4.0100   4.6780  -1.2990) ; C8
1810    #(  2.4280   0.8450  -0.2360) ; O6
1811    #(  4.6151  -0.4677   0.1305) ; H1
1812    #(  6.6463  -0.9463   0.2729) ; H21
1813    #(  7.8170   0.2642  -0.0640) ; H22
1814    #(  3.4421   5.5744  -1.5482) ; H8
1815  ))
1816
1817(define rG01
1818  (nuc-const
1819    #( -0.0043  -0.8175   0.5759  ; dgf-base-tfo
1820        0.2617  -0.5567  -0.7884
1821        0.9651   0.1473   0.2164
1822        0.0359   8.3929   0.5532)
1823    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
1824       -0.0433  -0.4257   0.9038
1825       -0.5788   0.7480   0.3246
1826        1.5227   6.9114  -7.0765)
1827    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
1828        0.4552   0.6637   0.5935
1829       -0.8042   0.0203   0.5941
1830       -6.9472  -4.1186  -5.9108)
1831    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
1832       -0.8247   0.5587  -0.0878
1833        0.0426   0.2162   0.9754
1834        6.2694  -7.0540   3.3316)
1835    #(  2.8930   8.5380  -3.3280) ; P
1836    #(  1.6980   7.6960  -3.5570) ; O1P
1837    #(  3.2260   9.5010  -4.4020) ; O2P
1838    #(  4.1590   7.6040  -3.0340) ; O5*
1839    #(  5.4352   8.2183  -2.7757) ; C5*
1840    #(  5.3830   8.7883  -1.8481) ; H5*
1841    #(  5.7729   8.7436  -3.6691) ; H5**
1842    #(  6.4830   7.1518  -2.5252) ; C4*
1843    #(  7.4749   7.5972  -2.4482) ; H4*
1844    #(  6.1626   6.4620  -1.2827) ; O4*
1845    #(  6.5431   5.0992  -1.3905) ; C1*
1846    #(  7.2871   4.9328  -0.6114) ; H1*
1847    #(  7.1852   4.8935  -2.7592) ; C2*
1848    #(  6.8573   3.9363  -3.1645) ; H2**
1849    #(  8.5780   5.1025  -2.6046) ; O2*
1850    #(  8.9516   4.7577  -1.7902) ; H2*
1851    #(  6.5522   6.0300  -3.5612) ; C3*
1852    #(  5.5420   5.7356  -3.8459) ; H3*
1853    #(  7.3487   6.4089  -4.6867) ; O3*
1854    #(  4.7442   0.4514  -0.1390) ; N1
1855    #(  6.3687   2.1459  -0.5926) ; N3
1856    #(  5.9795   0.9335  -0.2657) ; C2
1857    #(  5.3052   2.9471  -0.8125) ; C4
1858    #(  3.9891   2.5987  -0.7230) ; C5
1859    #(  3.7016   1.2717  -0.3647) ; C6
1860    rG
1861    #(  6.8745  -0.0224  -0.0058) ; N2
1862    #(  3.1770   3.6859  -1.0198) ; N7
1863    #(  5.3247   4.2695  -1.1710) ; N9
1864    #(  4.0156   4.6415  -1.2759) ; C8
1865    #(  2.4553   0.7925  -0.2390) ; O6
1866    #(  4.6497  -0.5095   0.1212) ; H1
1867    #(  6.6836  -0.9771   0.2627) ; H21
1868    #(  7.8474   0.2424  -0.0653) ; H22
1869    #(  3.4426   5.5361  -1.5199) ; H8
1870  ))
1871
1872(define rG02
1873  (nuc-const
1874    #(  0.5566   0.0449   0.8296  ; dgf-base-tfo
1875        0.5125   0.7673  -0.3854
1876       -0.6538   0.6397   0.4041
1877       -9.1161  -3.7679  -2.9968)
1878    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
1879       -0.0433  -0.4257   0.9038
1880       -0.5788   0.7480   0.3246
1881        1.5227   6.9114  -7.0765)
1882    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
1883        0.4552   0.6637   0.5935
1884       -0.8042   0.0203   0.5941
1885       -6.9472  -4.1186  -5.9108)
1886    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
1887       -0.8247   0.5587  -0.0878
1888        0.0426   0.2162   0.9754
1889        6.2694  -7.0540   3.3316)
1890    #(  2.8930   8.5380  -3.3280) ; P
1891    #(  1.6980   7.6960  -3.5570) ; O1P
1892    #(  3.2260   9.5010  -4.4020) ; O2P
1893    #(  4.1590   7.6040  -3.0340) ; O5*
1894    #(  4.5778   6.6594  -4.0364) ; C5*
1895    #(  4.9220   7.1963  -4.9204) ; H5*
1896    #(  3.7996   5.9091  -4.1764) ; H5**
1897    #(  5.7873   5.8869  -3.5482) ; C4*
1898    #(  6.0405   5.0875  -4.2446) ; H4*
1899    #(  6.9135   6.8036  -3.4310) ; O4*
1900    #(  7.7293   6.4084  -2.3392) ; C1*
1901    #(  8.7078   6.1815  -2.7624) ; H1*
1902    #(  7.1305   5.1418  -1.7347) ; C2*
1903    #(  7.2040   5.1982  -0.6486) ; H2**
1904    #(  7.7417   4.0392  -2.3813) ; O2*
1905    #(  8.6785   4.1443  -2.5630) ; H2*
1906    #(  5.6666   5.2728  -2.1536) ; C3*
1907    #(  5.1747   5.9805  -1.4863) ; H3*
1908    #(  4.9997   4.0086  -2.1973) ; O3*
1909    #( 10.3245   8.5459   1.5467) ; N1
1910    #(  9.8051   6.9432  -0.1497) ; N3
1911    #( 10.5175   7.4328   0.8408) ; C2
1912    #(  8.7523   7.7422  -0.4228) ; C4
1913    #(  8.4257   8.9060   0.2099) ; C5
1914    #(  9.2665   9.3242   1.2540) ; C6
1915    rG
1916    #( 11.6077   6.7966   1.2752) ; N2
1917    #(  7.2750   9.4537  -0.3428) ; N7
1918    #(  7.7962   7.5519  -1.3859) ; N9
1919    #(  6.9479   8.6157  -1.2771) ; C8
1920    #(  9.0664  10.4462   1.9610) ; O6
1921    #( 10.9838   8.7524   2.2697) ; H1
1922    #( 12.2274   7.0896   2.0170) ; H21
1923    #( 11.8502   5.9398   0.7984) ; H22
1924    #(  6.0430   8.9853  -1.7594) ; H8
1925  ))
1926
1927(define rG03
1928  (nuc-const
1929    #( -0.5021   0.0731   0.8617  ; dgf-base-tfo
1930       -0.8112   0.3054  -0.4986
1931       -0.2996  -0.9494  -0.0940
1932        6.4273  -5.1944  -3.7807)
1933    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
1934       -0.0433  -0.4257   0.9038
1935       -0.5788   0.7480   0.3246
1936        1.5227   6.9114  -7.0765)
1937    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
1938        0.4552   0.6637   0.5935
1939       -0.8042   0.0203   0.5941
1940       -6.9472  -4.1186  -5.9108)
1941    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
1942       -0.8247   0.5587  -0.0878
1943        0.0426   0.2162   0.9754
1944        6.2694  -7.0540   3.3316)
1945    #(  2.8930   8.5380  -3.3280) ; P
1946    #(  1.6980   7.6960  -3.5570) ; O1P
1947    #(  3.2260   9.5010  -4.4020) ; O2P
1948    #(  4.1590   7.6040  -3.0340) ; O5*
1949    #(  4.1214   6.7116  -1.9049) ; C5*
1950    #(  3.3465   5.9610  -2.0607) ; H5*
1951    #(  4.0789   7.2928  -0.9837) ; H5**
1952    #(  5.4170   5.9293  -1.8186) ; C4*
1953    #(  5.4506   5.3400  -0.9023) ; H4*
1954    #(  5.5067   5.0417  -2.9703) ; O4*
1955    #(  6.8650   4.9152  -3.3612) ; C1*
1956    #(  7.1090   3.8577  -3.2603) ; H1*
1957    #(  7.7152   5.7282  -2.3894) ; C2*
1958    #(  8.5029   6.2356  -2.9463) ; H2**
1959    #(  8.1036   4.8568  -1.3419) ; O2*
1960    #(  8.3270   3.9651  -1.6184) ; H2*
1961    #(  6.7003   6.7565  -1.8911) ; C3*
1962    #(  6.5898   7.5329  -2.6482) ; H3*
1963    #(  7.0505   7.2878  -0.6105) ; O3*
1964    #(  9.6740   4.7656  -7.6614) ; N1
1965    #(  9.0739   4.3013  -5.3941) ; N3
1966    #(  9.8416   4.2192  -6.4581) ; C2
1967    #(  7.9885   5.0632  -5.6446) ; C4
1968    #(  7.6822   5.6856  -6.8194) ; C5
1969    #(  8.5831   5.5215  -7.8840) ; C6
1970    rG
1971    #( 10.9733   3.5117  -6.4286) ; N2
1972    #(  6.4857   6.3816  -6.7035) ; N7
1973    #(  6.9740   5.3703  -4.7760) ; N9
1974    #(  6.1133   6.1613  -5.4808) ; C8
1975    #(  8.4084   6.0747  -9.0933) ; O6
1976    #( 10.3759   4.5855  -8.3504) ; H1
1977    #( 11.6254   3.3761  -7.1879) ; H21
1978    #( 11.1917   3.0460  -5.5593) ; H22
1979    #(  5.1705   6.6830  -5.3167) ; H8
1980  ))
1981
1982(define rG04
1983  (nuc-const
1984    #( -0.5426  -0.8175   0.1929  ; dgf-base-tfo
1985        0.8304  -0.5567  -0.0237
1986        0.1267   0.1473   0.9809
1987       -0.5075   8.3929   0.2229)
1988    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
1989       -0.0433  -0.4257   0.9038
1990       -0.5788   0.7480   0.3246
1991        1.5227   6.9114  -7.0765)
1992    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
1993        0.4552   0.6637   0.5935
1994       -0.8042   0.0203   0.5941
1995       -6.9472  -4.1186  -5.9108)
1996    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
1997       -0.8247   0.5587  -0.0878
1998        0.0426   0.2162   0.9754
1999        6.2694  -7.0540   3.3316)
2000    #(  2.8930   8.5380  -3.3280) ; P
2001    #(  1.6980   7.6960  -3.5570) ; O1P
2002    #(  3.2260   9.5010  -4.4020) ; O2P
2003    #(  4.1590   7.6040  -3.0340) ; O5*
2004    #(  5.4352   8.2183  -2.7757) ; C5*
2005    #(  5.3830   8.7883  -1.8481) ; H5*
2006    #(  5.7729   8.7436  -3.6691) ; H5**
2007    #(  6.4830   7.1518  -2.5252) ; C4*
2008    #(  7.4749   7.5972  -2.4482) ; H4*
2009    #(  6.1626   6.4620  -1.2827) ; O4*
2010    #(  6.5431   5.0992  -1.3905) ; C1*
2011    #(  7.2871   4.9328  -0.6114) ; H1*
2012    #(  7.1852   4.8935  -2.7592) ; C2*
2013    #(  6.8573   3.9363  -3.1645) ; H2**
2014    #(  8.5780   5.1025  -2.6046) ; O2*
2015    #(  8.9516   4.7577  -1.7902) ; H2*
2016    #(  6.5522   6.0300  -3.5612) ; C3*
2017    #(  5.5420   5.7356  -3.8459) ; H3*
2018    #(  7.3487   6.4089  -4.6867) ; O3*
2019    #(  3.6343   2.6680   2.0783) ; N1
2020    #(  5.4505   3.9805   1.2446) ; N3
2021    #(  4.7540   3.3816   2.1851) ; C2
2022    #(  4.8805   3.7951   0.0354) ; C4
2023    #(  3.7416   3.0925  -0.2305) ; C5
2024    #(  3.0873   2.4980   0.8606) ; C6
2025    rG
2026    #(  5.1433   3.4373   3.4609) ; N2
2027    #(  3.4605   3.1184  -1.5906) ; N7
2028    #(  5.3247   4.2695  -1.1710) ; N9
2029    #(  4.4244   3.8244  -2.0953) ; C8
2030    #(  1.9600   1.7805   0.7462) ; O6
2031    #(  3.2489   2.2879   2.9191) ; H1
2032    #(  4.6785   3.0243   4.2568) ; H21
2033    #(  5.9823   3.9654   3.6539) ; H22
2034    #(  4.2675   3.8876  -3.1721) ; H8
2035  ))
2036
2037(define rG05
2038  (nuc-const
2039    #( -0.5891   0.0449   0.8068  ; dgf-base-tfo
2040        0.5375   0.7673   0.3498
2041       -0.6034   0.6397  -0.4762
2042       -0.3019  -3.7679  -9.5913)
2043    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
2044       -0.0433  -0.4257   0.9038
2045       -0.5788   0.7480   0.3246
2046        1.5227   6.9114  -7.0765)
2047    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
2048        0.4552   0.6637   0.5935
2049       -0.8042   0.0203   0.5941
2050       -6.9472  -4.1186  -5.9108)
2051    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
2052       -0.8247   0.5587  -0.0878
2053        0.0426   0.2162   0.9754
2054        6.2694  -7.0540   3.3316)
2055    #(  2.8930   8.5380  -3.3280) ; P
2056    #(  1.6980   7.6960  -3.5570) ; O1P
2057    #(  3.2260   9.5010  -4.4020) ; O2P
2058    #(  4.1590   7.6040  -3.0340) ; O5*
2059    #(  4.5778   6.6594  -4.0364) ; C5*
2060    #(  4.9220   7.1963  -4.9204) ; H5*
2061    #(  3.7996   5.9091  -4.1764) ; H5**
2062    #(  5.7873   5.8869  -3.5482) ; C4*
2063    #(  6.0405   5.0875  -4.2446) ; H4*
2064    #(  6.9135   6.8036  -3.4310) ; O4*
2065    #(  7.7293   6.4084  -2.3392) ; C1*
2066    #(  8.7078   6.1815  -2.7624) ; H1*
2067    #(  7.1305   5.1418  -1.7347) ; C2*
2068    #(  7.2040   5.1982  -0.6486) ; H2**
2069    #(  7.7417   4.0392  -2.3813) ; O2*
2070    #(  8.6785   4.1443  -2.5630) ; H2*
2071    #(  5.6666   5.2728  -2.1536) ; C3*
2072    #(  5.1747   5.9805  -1.4863) ; H3*
2073    #(  4.9997   4.0086  -2.1973) ; O3*
2074    #( 10.2594  10.6774  -1.0056) ; N1
2075    #(  9.7528   8.7080  -2.2631) ; N3
2076    #( 10.4471   9.7876  -1.9791) ; C2
2077    #(  8.7271   8.5575  -1.3991) ; C4
2078    #(  8.4100   9.3803  -0.3580) ; C5
2079    #(  9.2294  10.5030  -0.1574) ; C6
2080    rG
2081    #( 11.5110  10.1256  -2.7114) ; N2
2082    #(  7.2891   8.9068   0.3121) ; N7
2083    #(  7.7962   7.5519  -1.3859) ; N9
2084    #(  6.9702   7.8292  -0.3353) ; C8
2085    #(  9.0349  11.3951   0.8250) ; O6
2086    #( 10.9013  11.4422  -0.9512) ; H1
2087    #( 12.1031  10.9341  -2.5861) ; H21
2088    #( 11.7369   9.5180  -3.4859) ; H22
2089    #(  6.0888   7.3990   0.1403) ; H8
2090  ))
2091
2092(define rG06
2093  (nuc-const
2094    #( -0.9815   0.0731  -0.1772  ; dgf-base-tfo
2095        0.1912   0.3054  -0.9328
2096       -0.0141  -0.9494  -0.3137
2097        5.7506  -5.1944   4.7470)
2098    #( -0.8143  -0.5091  -0.2788  ; P-O3*-275-tfo
2099       -0.0433  -0.4257   0.9038
2100       -0.5788   0.7480   0.3246
2101        1.5227   6.9114  -7.0765)
2102    #(  0.3822  -0.7477   0.5430  ; P-O3*-180-tfo
2103        0.4552   0.6637   0.5935
2104       -0.8042   0.0203   0.5941
2105       -6.9472  -4.1186  -5.9108)
2106    #(  0.5640   0.8007  -0.2022  ; P-O3*-60-tfo
2107       -0.8247   0.5587  -0.0878
2108        0.0426   0.2162   0.9754
2109        6.2694  -7.0540   3.3316)
2110    #(  2.8930   8.5380  -3.3280) ; P
2111    #(  1.6980   7.6960  -3.5570) ; O1P
2112    #(  3.2260   9.5010  -4.4020) ; O2P
2113    #(  4.1590   7.6040  -3.0340) ; O5*
2114    #(  4.1214   6.7116  -1.9049) ; C5*
2115    #(  3.3465   5.9610  -2.0607) ; H5*
2116    #(  4.0789   7.2928  -0.9837) ; H5**
2117    #(  5.4170   5.9293  -1.8186) ; C4*
2118    #(  5.4506   5.3400  -0.9023) ; H4*
2119    #(  5.5067   5.0417  -2.9703) ; O4*
2120    #(  6.8650   4.9152  -3.3612) ; C1*
2121    #(  7.1090   3.8577  -3.2603) ; H1*
2122    #(  7.7152   5.7282  -2.3894) ; C2*
2123    #(  8.5029   6.2356  -2.9463) ; H2**
2124    #(  8.1036   4.8568  -1.3419) ; O2*
2125    #(  8.3270   3.9651  -1.6184) ; H2*
2126    #(  6.7003   6.7565  -1.8911) ; C3*
2127    #(  6.5898   7.5329  -2.6482) ; H3*
2128    #(  7.0505   7.2878  -0.6105) ; O3*
2129    #(  6.6624   3.5061  -8.2986) ; N1
2130    #(  6.5810   3.2570  -5.9221) ; N3
2131    #(  6.5151   2.8263  -7.1625) ; C2
2132    #(  6.8364   4.5817  -5.8882) ; C4
2133    #(  7.0116   5.4064  -6.9609) ; C5
2134    #(  6.9173   4.8260  -8.2361) ; C6
2135    rG
2136    #(  6.2717   1.5402  -7.4250) ; N2
2137    #(  7.2573   6.7070  -6.5394) ; N7
2138    #(  6.9740   5.3703  -4.7760) ; N9
2139    #(  7.2238   6.6275  -5.2453) ; C8
2140    #(  7.0668   5.5163  -9.3763) ; O6
2141    #(  6.5754   2.9964  -9.1545) ; H1
2142    #(  6.1908   1.1105  -8.3354) ; H21
2143    #(  6.1346   0.9352  -6.6280) ; H22
2144    #(  7.4108   7.6227  -4.8418) ; H8
2145  ))
2146
2147(define rG07
2148  (nuc-const
2149    #(  0.0894  -0.6059   0.7905  ; dgf-base-tfo
2150       -0.6810   0.5420   0.4924
2151       -0.7268  -0.5824  -0.3642
2152       34.1424  45.9610 -11.8600)
2153    #( -0.8644  -0.4956  -0.0851  ; P-O3*-275-tfo
2154       -0.0427   0.2409  -0.9696
2155        0.5010  -0.8345  -0.2294
2156        4.0167  54.5377  12.4779)
2157    #(  0.3706  -0.6167   0.6945  ; P-O3*-180-tfo
2158       -0.2867  -0.7872  -0.5460
2159        0.8834   0.0032  -0.4686
2160      -52.9020  18.6313  -0.6709)
2161    #(  0.4155   0.9025  -0.1137  ; P-O3*-60-tfo
2162        0.9040  -0.4236  -0.0582
2163       -0.1007  -0.0786  -0.9918
2164       -7.6624 -25.2080  49.5181)
2165    #( 31.3810   0.1400  47.5810) ; P
2166    #( 29.9860   0.6630  47.6290) ; O1P
2167    #( 31.7210  -0.6460  48.8090) ; O2P
2168    #( 32.4940   1.2540  47.2740) ; O5*
2169    #( 33.8709   0.7918  47.2113) ; C5*
2170    #( 34.1386   0.5870  46.1747) ; H5*
2171    #( 34.0186  -0.0095  47.9353) ; H5**
2172    #( 34.7297   1.9687  47.6685) ; C4*
2173    #( 35.7723   1.6845  47.8113) ; H4*
2174    #( 34.6455   2.9768  46.6660) ; O4*
2175    #( 34.1690   4.1829  47.2627) ; C1*
2176    #( 35.0437   4.7633  47.5560) ; H1*
2177    #( 33.4145   3.7532  48.4954) ; C2*
2178    #( 32.4340   3.3797  48.2001) ; H2**
2179    #( 33.3209   4.6953  49.5217) ; O2*
2180    #( 33.2374   5.6059  49.2295) ; H2*
2181    #( 34.2724   2.5970  48.9773) ; C3*
2182    #( 33.6373   1.8935  49.5157) ; H3*
2183    #( 35.3453   3.1884  49.7285) ; O3*
2184    #( 34.0511   7.8930  43.7791) ; N1
2185    #( 34.9937   6.3369  45.3199) ; N3
2186    #( 35.0882   7.3126  44.4200) ; C2
2187    #( 33.7190   5.9650  45.5374) ; C4
2188    #( 32.5845   6.4770  44.9458) ; C5
2189    #( 32.7430   7.5179  43.9914) ; C6
2190    rG
2191    #( 36.3030   7.7827  44.1036) ; N2
2192    #( 31.4499   5.8335  45.4368) ; N7
2193    #( 33.2760   4.9817  46.4043) ; N9
2194    #( 31.9235   4.9639  46.2934) ; C8
2195    #( 31.8602   8.1000  43.3695) ; O6
2196    #( 34.2623   8.6223  43.1283) ; H1
2197    #( 36.5188   8.5081  43.4347) ; H21
2198    #( 37.0888   7.3524  44.5699) ; H22
2199    #( 31.0815   4.4201  46.7218) ; H8
2200  ))
2201
2202(define rG08
2203  (nuc-const
2204    #(  0.2224   0.6335   0.7411  ; dgf-base-tfo
2205       -0.3644  -0.6510   0.6659
2206        0.9043  -0.4181   0.0861
2207      -47.6824  -0.5823 -31.7554)
2208    #( -0.8644  -0.4956  -0.0851  ; P-O3*-275-tfo
2209       -0.0427   0.2409  -0.9696
2210        0.5010  -0.8345  -0.2294
2211        4.0167  54.5377  12.4779)
2212    #(  0.3706  -0.6167   0.6945  ; P-O3*-180-tfo
2213       -0.2867  -0.7872  -0.5460
2214        0.8834   0.0032  -0.4686
2215      -52.9020  18.6313  -0.6709)
2216    #(  0.4155   0.9025  -0.1137  ; P-O3*-60-tfo
2217        0.9040  -0.4236  -0.0582
2218       -0.1007  -0.0786  -0.9918
2219       -7.6624 -25.2080  49.5181)
2220    #( 31.3810   0.1400  47.5810) ; P
2221    #( 29.9860   0.6630  47.6290) ; O1P
2222    #( 31.7210  -0.6460  48.8090) ; O2P
2223    #( 32.4940   1.2540  47.2740) ; O5*
2224    #( 32.5924   2.3488  48.2255) ; C5*
2225    #( 33.3674   2.1246  48.9584) ; H5*
2226    #( 31.5994   2.5917  48.6037) ; H5**
2227    #( 33.0722   3.5577  47.4258) ; C4*
2228    #( 33.0310   4.4778  48.0089) ; H4*
2229    #( 34.4173   3.3055  47.0316) ; O4*
2230    #( 34.5056   3.3910  45.6094) ; C1*
2231    #( 34.7881   4.4152  45.3663) ; H1*
2232    #( 33.1122   3.1198  45.1010) ; C2*
2233    #( 32.9230   2.0469  45.1369) ; H2**
2234    #( 32.7946   3.6590  43.8529) ; O2*
2235    #( 33.5170   3.6707  43.2207) ; H2*
2236    #( 32.2730   3.8173  46.1566) ; C3*
2237    #( 31.3094   3.3123  46.2244) ; H3*
2238    #( 32.2391   5.2039  45.7807) ; O3*
2239    #( 39.3337   2.7157  44.1441) ; N1
2240    #( 37.4430   3.8242  45.0824) ; N3
2241    #( 38.7276   3.7646  44.7403) ; C2
2242    #( 36.7791   2.6963  44.7704) ; C4
2243    #( 37.2860   1.5653  44.1678) ; C5
2244    #( 38.6647   1.5552  43.8235) ; C6
2245    rG
2246    #( 39.5123   4.8216  44.9936) ; N2
2247    #( 36.2829   0.6110  44.0078) ; N7
2248    #( 35.4394   2.4314  44.9931) ; N9
2249    #( 35.2180   1.1815  44.5128) ; C8
2250    #( 39.2907   0.6514  43.2796) ; O6
2251    #( 40.3076   2.8048  43.9352) ; H1
2252    #( 40.4994   4.9066  44.7977) ; H21
2253    #( 39.0738   5.6108  45.4464) ; H22
2254    #( 34.3856   0.4842  44.4185) ; H8
2255  ))
2256
2257(define rG09
2258  (nuc-const
2259    #( -0.9699  -0.1688  -0.1753  ; dgf-base-tfo
2260       -0.1050  -0.3598   0.9271
2261       -0.2196   0.9176   0.3312
2262       45.6217 -38.9484 -12.3208)
2263    #( -0.8644  -0.4956  -0.0851  ; P-O3*-275-tfo
2264       -0.0427   0.2409  -0.9696
2265        0.5010  -0.8345  -0.2294
2266        4.0167  54.5377  12.4779)
2267    #(  0.3706  -0.6167   0.6945  ; P-O3*-180-tfo
2268       -0.2867  -0.7872  -0.5460
2269        0.8834   0.0032  -0.4686
2270      -52.9020  18.6313  -0.6709)
2271    #(  0.4155   0.9025  -0.1137  ; P-O3*-60-tfo
2272        0.9040  -0.4236  -0.0582
2273       -0.1007  -0.0786  -0.9918
2274       -7.6624 -25.2080  49.5181)
2275    #( 31.3810   0.1400  47.5810) ; P
2276    #( 29.9860   0.6630  47.6290) ; O1P
2277    #( 31.7210  -0.6460  48.8090) ; O2P
2278    #( 32.4940   1.2540  47.2740) ; O5*
2279    #( 33.8709   0.7918  47.2113) ; C5*
2280    #( 34.1386   0.5870  46.1747) ; H5*
2281    #( 34.0186  -0.0095  47.9353) ; H5**
2282    #( 34.7297   1.9687  47.6685) ; C4*
2283    #( 34.5880   2.8482  47.0404) ; H4*
2284    #( 34.3575   2.2770  49.0081) ; O4*
2285    #( 35.5157   2.1993  49.8389) ; C1*
2286    #( 35.9424   3.2010  49.8893) ; H1*
2287    #( 36.4701   1.2820  49.1169) ; C2*
2288    #( 36.1545   0.2498  49.2683) ; H2**
2289    #( 37.8262   1.4547  49.4008) ; O2*
2290    #( 38.0227   1.6945  50.3094) ; H2*
2291    #( 36.2242   1.6797  47.6725) ; C3*
2292    #( 36.4297   0.8197  47.0351) ; H3*
2293    #( 37.0289   2.8480  47.4426) ; O3*
2294    #( 34.3005   3.5042  54.6070) ; N1
2295    #( 34.7693   3.7936  52.2874) ; N3
2296    #( 34.4484   4.2541  53.4939) ; C2
2297    #( 34.9354   2.4584  52.2785) ; C4
2298    #( 34.8092   1.5915  53.3422) ; C5
2299    #( 34.4646   2.1367  54.6085) ; C6
2300    rG
2301    #( 34.2514   5.5708  53.6503) ; N2
2302    #( 35.0641   0.2835  52.9337) ; N7
2303    #( 35.2669   1.6690  51.1915) ; N9
2304    #( 35.3288   0.3954  51.6563) ; C8
2305    #( 34.3151   1.5317  55.6650) ; O6
2306    #( 34.0623   3.9797  55.4539) ; H1
2307    #( 33.9950   6.0502  54.5016) ; H21
2308    #( 34.3512   6.1432  52.8242) ; H22
2309    #( 35.5414  -0.6006  51.2679) ; H8
2310  ))
2311
2312(define rG10
2313  (nuc-const
2314    #( -0.0980  -0.9723   0.2122  ; dgf-base-tfo
2315       -0.9731   0.1383   0.1841
2316       -0.2083  -0.1885  -0.9597
2317       17.8469  38.8265  37.0475)
2318    #( -0.8644  -0.4956  -0.0851  ; P-O3*-275-tfo
2319       -0.0427   0.2409  -0.9696
2320        0.5010  -0.8345  -0.2294
2321        4.0167  54.5377  12.4779)
2322    #(  0.3706  -0.6167   0.6945  ; P-O3*-180-tfo
2323       -0.2867  -0.7872  -0.5460
2324        0.8834   0.0032  -0.4686
2325      -52.9020  18.6313  -0.6709)
2326    #(  0.4155   0.9025  -0.1137  ; P-O3*-60-tfo
2327        0.9040  -0.4236  -0.0582
2328       -0.1007  -0.0786  -0.9918
2329       -7.6624 -25.2080  49.5181)
2330    #( 31.3810   0.1400  47.5810) ; P
2331    #( 29.9860   0.6630  47.6290) ; O1P
2332    #( 31.7210  -0.6460  48.8090) ; O2P
2333    #( 32.4940   1.2540  47.2740) ; O5*
2334    #( 32.5924   2.3488  48.2255) ; C5*
2335    #( 33.3674   2.1246  48.9584) ; H5*
2336    #( 31.5994   2.5917  48.6037) ; H5**
2337    #( 33.0722   3.5577  47.4258) ; C4*
2338    #( 34.0333   3.3761  46.9447) ; H4*
2339    #( 32.0890   3.8338  46.4332) ; O4*
2340    #( 31.6377   5.1787  46.5914) ; C1*
2341    #( 32.2499   5.8016  45.9392) ; H1*
2342    #( 31.9167   5.5319  48.0305) ; C2*
2343    #( 31.1507   5.0820  48.6621) ; H2**
2344    #( 32.0865   6.8890  48.3114) ; O2*
2345    #( 31.5363   7.4819  47.7942) ; H2*
2346    #( 33.2398   4.8224  48.2563) ; C3*
2347    #( 33.3166   4.5570  49.3108) ; H3*
2348    #( 34.2528   5.7056  47.7476) ; O3*
2349    #( 28.2782   6.3049  42.9364) ; N1
2350    #( 30.4001   5.8547  43.9258) ; N3
2351    #( 29.6195   6.1568  42.8913) ; C2
2352    #( 29.7005   5.7006  45.0649) ; C4
2353    #( 28.3383   5.8221  45.2343) ; C5
2354    #( 27.5519   6.1461  44.0958) ; C6
2355    rG
2356    #( 30.1838   6.3385  41.6890) ; N2
2357    #( 27.9936   5.5926  46.5651) ; N7
2358    #( 30.2046   5.3825  46.3136) ; N9
2359    #( 29.1371   5.3398  47.1506) ; C8
2360    #( 26.3361   6.3024  44.0495) ; O6
2361    #( 27.8122   6.5394  42.0833) ; H1
2362    #( 29.7125   6.5595  40.8235) ; H21
2363    #( 31.1859   6.2231  41.6389) ; H22
2364    #( 28.9406   5.1504  48.2059) ; H8
2365  ))
2366
2367(define rGs
2368  (list rG01 rG02 rG03 rG04 rG05 rG06 rG07 rG08 rG09 rG10))
2369
2370(define rU
2371  (nuc-const
2372    #( -0.0359  -0.8071   0.5894  ; dgf-base-tfo
2373       -0.2669   0.5761   0.7726
2374       -0.9631  -0.1296  -0.2361
2375        0.1584   8.3434   0.5434)
2376    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2377        0.0649   0.4366  -0.8973
2378        0.5521  -0.7648  -0.3322
2379        1.6833   6.8060  -7.0011)
2380    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2381       -0.4628  -0.6450  -0.6082
2382        0.8168  -0.0436  -0.5753
2383       -6.8179  -3.9778  -5.9887)
2384    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2385        0.8103  -0.5790   0.0906
2386       -0.0255  -0.1894  -0.9816
2387        6.1203  -7.1051   3.1984)
2388    #(  2.6760  -8.4960   3.2880) ; P
2389    #(  1.4950  -7.6230   3.4770) ; O1P
2390    #(  2.9490  -9.4640   4.3740) ; O2P
2391    #(  3.9730  -7.5950   3.0340) ; O5*
2392    #(  5.2430  -8.2420   2.8260) ; C5*
2393    #(  5.1974  -8.8497   1.9223) ; H5*
2394    #(  5.5548  -8.7348   3.7469) ; H5**
2395    #(  6.3140  -7.2060   2.5510) ; C4*
2396    #(  7.2954  -7.6762   2.4898) ; H4*
2397    #(  6.0140  -6.5420   1.2890) ; O4*
2398    #(  6.4190  -5.1840   1.3620) ; C1*
2399    #(  7.1608  -5.0495   0.5747) ; H1*
2400    #(  7.0760  -4.9560   2.7270) ; C2*
2401    #(  6.7770  -3.9803   3.1099) ; H2**
2402    #(  8.4500  -5.1930   2.5810) ; O2*
2403    #(  8.8309  -4.8755   1.7590) ; H2*
2404    #(  6.4060  -6.0590   3.5580) ; C3*
2405    #(  5.4021  -5.7313   3.8281) ; H3*
2406    #(  7.1570  -6.4240   4.7070) ; O3*
2407    #(  5.2170  -4.3260   1.1690) ; N1
2408    #(  4.2960  -2.2560   0.6290) ; N3
2409    #(  5.4330  -3.0200   0.7990) ; C2
2410    #(  2.9930  -2.6780   0.7940) ; C4
2411    #(  2.8670  -4.0630   1.1830) ; C5
2412    #(  3.9570  -4.8300   1.3550) ; C6
2413    rU
2414    #(  6.5470  -2.5560   0.6290) ; O2
2415    #(  2.0540  -1.9000   0.6130) ; O4
2416    #(  4.4300  -1.3020   0.3600) ; H3
2417    #(  1.9590  -4.4570   1.3250) ; H5
2418    #(  3.8460  -5.7860   1.6240) ; H6
2419  ))
2420
2421(define rU01
2422  (nuc-const
2423    #( -0.0137  -0.8012   0.5983  ; dgf-base-tfo
2424       -0.2523   0.5817   0.7733
2425       -0.9675  -0.1404  -0.2101
2426        0.2031   8.3874   0.4228)
2427    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2428        0.0649   0.4366  -0.8973
2429        0.5521  -0.7648  -0.3322
2430        1.6833   6.8060  -7.0011)
2431    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2432       -0.4628  -0.6450  -0.6082
2433        0.8168  -0.0436  -0.5753
2434       -6.8179  -3.9778  -5.9887)
2435    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2436        0.8103  -0.5790   0.0906
2437       -0.0255  -0.1894  -0.9816
2438        6.1203  -7.1051   3.1984)
2439    #(  2.6760  -8.4960   3.2880) ; P
2440    #(  1.4950  -7.6230   3.4770) ; O1P
2441    #(  2.9490  -9.4640   4.3740) ; O2P
2442    #(  3.9730  -7.5950   3.0340) ; O5*
2443    #(  5.2416  -8.2422   2.8181) ; C5*
2444    #(  5.2050  -8.8128   1.8901) ; H5*
2445    #(  5.5368  -8.7738   3.7227) ; H5**
2446    #(  6.3232  -7.2037   2.6002) ; C4*
2447    #(  7.3048  -7.6757   2.5577) ; H4*
2448    #(  6.0635  -6.5092   1.3456) ; O4*
2449    #(  6.4697  -5.1547   1.4629) ; C1*
2450    #(  7.2354  -5.0043   0.7018) ; H1*
2451    #(  7.0856  -4.9610   2.8521) ; C2*
2452    #(  6.7777  -3.9935   3.2487) ; H2**
2453    #(  8.4627  -5.1992   2.7423) ; O2*
2454    #(  8.8693  -4.8638   1.9399) ; H2*
2455    #(  6.3877  -6.0809   3.6362) ; C3*
2456    #(  5.3770  -5.7562   3.8834) ; H3*
2457    #(  7.1024  -6.4754   4.7985) ; O3*
2458    #(  5.2764  -4.2883   1.2538) ; N1
2459    #(  4.3777  -2.2062   0.7229) ; N3
2460    #(  5.5069  -2.9779   0.9088) ; C2
2461    #(  3.0693  -2.6246   0.8500) ; C4
2462    #(  2.9279  -4.0146   1.2149) ; C5
2463    #(  4.0101  -4.7892   1.4017) ; C6
2464    rU
2465    #(  6.6267  -2.5166   0.7728) ; O2
2466    #(  2.1383  -1.8396   0.6581) ; O4
2467    #(  4.5223  -1.2489   0.4716) ; H3
2468    #(  2.0151  -4.4065   1.3290) ; H5
2469    #(  3.8886  -5.7486   1.6535) ; H6
2470  ))
2471
2472(define rU02
2473  (nuc-const
2474    #(  0.5141   0.0246   0.8574  ; dgf-base-tfo
2475       -0.5547  -0.7529   0.3542
2476        0.6542  -0.6577  -0.3734
2477       -9.1111  -3.4598  -3.2939)
2478    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2479        0.0649   0.4366  -0.8973
2480        0.5521  -0.7648  -0.3322
2481        1.6833   6.8060  -7.0011)
2482    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2483       -0.4628  -0.6450  -0.6082
2484        0.8168  -0.0436  -0.5753
2485       -6.8179  -3.9778  -5.9887)
2486    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2487        0.8103  -0.5790   0.0906
2488       -0.0255  -0.1894  -0.9816
2489        6.1203  -7.1051   3.1984)
2490    #(  2.6760  -8.4960   3.2880) ; P
2491    #(  1.4950  -7.6230   3.4770) ; O1P
2492    #(  2.9490  -9.4640   4.3740) ; O2P
2493    #(  3.9730  -7.5950   3.0340) ; O5*
2494    #(  4.3825  -6.6585   4.0489) ; C5*
2495    #(  4.6841  -7.2019   4.9443) ; H5*
2496    #(  3.6189  -5.8889   4.1625) ; H5**
2497    #(  5.6255  -5.9175   3.5998) ; C4*
2498    #(  5.8732  -5.1228   4.3034) ; H4*
2499    #(  6.7337  -6.8605   3.5222) ; O4*
2500    #(  7.5932  -6.4923   2.4548) ; C1*
2501    #(  8.5661  -6.2983   2.9064) ; H1*
2502    #(  7.0527  -5.2012   1.8322) ; C2*
2503    #(  7.1627  -5.2525   0.7490) ; H2**
2504    #(  7.6666  -4.1249   2.4880) ; O2*
2505    #(  8.5944  -4.2543   2.6981) ; H2*
2506    #(  5.5661  -5.3029   2.2009) ; C3*
2507    #(  5.0841  -6.0018   1.5172) ; H3*
2508    #(  4.9062  -4.0452   2.2042) ; O3*
2509    #(  7.6298  -7.6136   1.4752) ; N1
2510    #(  8.6945  -8.7046  -0.2857) ; N3
2511    #(  8.6943  -7.6514   0.6066) ; C2
2512    #(  7.7426  -9.6987  -0.3801) ; C4
2513    #(  6.6642  -9.5742   0.5722) ; C5
2514    #(  6.6391  -8.5592   1.4526) ; C6
2515    rU
2516    #(  9.5840  -6.8186   0.6136) ; O2
2517    #(  7.8505 -10.5925  -1.2223) ; O4
2518    #(  9.4601  -8.7514  -0.9277) ; H3
2519    #(  5.9281 -10.2509   0.5782) ; H5
2520    #(  5.8831  -8.4931   2.1028) ; H6
2521  ))
2522
2523(define rU03
2524  (nuc-const
2525    #( -0.4993   0.0476   0.8651  ; dgf-base-tfo
2526        0.8078  -0.3353   0.4847
2527        0.3132   0.9409   0.1290
2528        6.2989  -5.2303  -3.8577)
2529    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2530        0.0649   0.4366  -0.8973
2531        0.5521  -0.7648  -0.3322
2532        1.6833   6.8060  -7.0011)
2533    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2534       -0.4628  -0.6450  -0.6082
2535        0.8168  -0.0436  -0.5753
2536       -6.8179  -3.9778  -5.9887)
2537    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2538        0.8103  -0.5790   0.0906
2539       -0.0255  -0.1894  -0.9816
2540        6.1203  -7.1051   3.1984)
2541    #(  2.6760  -8.4960   3.2880) ; P
2542    #(  1.4950  -7.6230   3.4770) ; O1P
2543    #(  2.9490  -9.4640   4.3740) ; O2P
2544    #(  3.9730  -7.5950   3.0340) ; O5*
2545    #(  3.9938  -6.7042   1.9023) ; C5*
2546    #(  3.2332  -5.9343   2.0319) ; H5*
2547    #(  3.9666  -7.2863   0.9812) ; H5**
2548    #(  5.3098  -5.9546   1.8564) ; C4*
2549    #(  5.3863  -5.3702   0.9395) ; H4*
2550    #(  5.3851  -5.0642   3.0076) ; O4*
2551    #(  6.7315  -4.9724   3.4462) ; C1*
2552    #(  7.0033  -3.9202   3.3619) ; H1*
2553    #(  7.5997  -5.8018   2.4948) ; C2*
2554    #(  8.3627  -6.3254   3.0707) ; H2**
2555    #(  8.0410  -4.9501   1.4724) ; O2*
2556    #(  8.2781  -4.0644   1.7570) ; H2*
2557    #(  6.5701  -6.8129   1.9714) ; C3*
2558    #(  6.4186  -7.5809   2.7299) ; H3*
2559    #(  6.9357  -7.3841   0.7235) ; O3*
2560    #(  6.8024  -5.4718   4.8475) ; N1
2561    #(  7.9218  -5.5700   6.8877) ; N3
2562    #(  7.8908  -5.0886   5.5944) ; C2
2563    #(  6.9789  -6.3827   7.4823) ; C4
2564    #(  5.8742  -6.7319   6.6202) ; C5
2565    #(  5.8182  -6.2769   5.3570) ; C6
2566    rU
2567    #(  8.7747  -4.3728   5.1568) ; O2
2568    #(  7.1154  -6.7509   8.6509) ; O4
2569    #(  8.7055  -5.3037   7.4491) ; H3
2570    #(  5.1416  -7.3178   6.9665) ; H5
2571    #(  5.0441  -6.5310   4.7784) ; H6
2572  ))
2573
2574(define rU04
2575  (nuc-const
2576    #( -0.5669  -0.8012   0.1918  ; dgf-base-tfo
2577       -0.8129   0.5817   0.0273
2578       -0.1334  -0.1404  -0.9811
2579       -0.3279   8.3874   0.3355)
2580    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2581        0.0649   0.4366  -0.8973
2582        0.5521  -0.7648  -0.3322
2583        1.6833   6.8060  -7.0011)
2584    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2585       -0.4628  -0.6450  -0.6082
2586        0.8168  -0.0436  -0.5753
2587       -6.8179  -3.9778  -5.9887)
2588    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2589        0.8103  -0.5790   0.0906
2590       -0.0255  -0.1894  -0.9816
2591        6.1203  -7.1051   3.1984)
2592    #(  2.6760  -8.4960   3.2880) ; P
2593    #(  1.4950  -7.6230   3.4770) ; O1P
2594    #(  2.9490  -9.4640   4.3740) ; O2P
2595    #(  3.9730  -7.5950   3.0340) ; O5*
2596    #(  5.2416  -8.2422   2.8181) ; C5*
2597    #(  5.2050  -8.8128   1.8901) ; H5*
2598    #(  5.5368  -8.7738   3.7227) ; H5**
2599    #(  6.3232  -7.2037   2.6002) ; C4*
2600    #(  7.3048  -7.6757   2.5577) ; H4*
2601    #(  6.0635  -6.5092   1.3456) ; O4*
2602    #(  6.4697  -5.1547   1.4629) ; C1*
2603    #(  7.2354  -5.0043   0.7018) ; H1*
2604    #(  7.0856  -4.9610   2.8521) ; C2*
2605    #(  6.7777  -3.9935   3.2487) ; H2**
2606    #(  8.4627  -5.1992   2.7423) ; O2*
2607    #(  8.8693  -4.8638   1.9399) ; H2*
2608    #(  6.3877  -6.0809   3.6362) ; C3*
2609    #(  5.3770  -5.7562   3.8834) ; H3*
2610    #(  7.1024  -6.4754   4.7985) ; O3*
2611    #(  5.2764  -4.2883   1.2538) ; N1
2612    #(  3.8961  -3.0896  -0.1893) ; N3
2613    #(  5.0095  -3.8907  -0.0346) ; C2
2614    #(  3.0480  -2.6632   0.8116) ; C4
2615    #(  3.4093  -3.1310   2.1292) ; C5
2616    #(  4.4878  -3.9124   2.3088) ; C6
2617    rU
2618    #(  5.7005  -4.2164  -0.9842) ; O2
2619    #(  2.0800  -1.9458   0.5503) ; O4
2620    #(  3.6834  -2.7882  -1.1190) ; H3
2621    #(  2.8508  -2.8721   2.9172) ; H5
2622    #(  4.7188  -4.2247   3.2295) ; H6
2623  ))
2624
2625(define rU05
2626  (nuc-const
2627    #( -0.6298   0.0246   0.7763  ; dgf-base-tfo
2628       -0.5226  -0.7529  -0.4001
2629        0.5746  -0.6577   0.4870
2630       -0.0208  -3.4598  -9.6882)
2631    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2632        0.0649   0.4366  -0.8973
2633        0.5521  -0.7648  -0.3322
2634        1.6833   6.8060  -7.0011)
2635    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2636       -0.4628  -0.6450  -0.6082
2637        0.8168  -0.0436  -0.5753
2638       -6.8179  -3.9778  -5.9887)
2639    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2640        0.8103  -0.5790   0.0906
2641       -0.0255  -0.1894  -0.9816
2642        6.1203  -7.1051   3.1984)
2643    #(  2.6760  -8.4960   3.2880) ; P
2644    #(  1.4950  -7.6230   3.4770) ; O1P
2645    #(  2.9490  -9.4640   4.3740) ; O2P
2646    #(  3.9730  -7.5950   3.0340) ; O5*
2647    #(  4.3825  -6.6585   4.0489) ; C5*
2648    #(  4.6841  -7.2019   4.9443) ; H5*
2649    #(  3.6189  -5.8889   4.1625) ; H5**
2650    #(  5.6255  -5.9175   3.5998) ; C4*
2651    #(  5.8732  -5.1228   4.3034) ; H4*
2652    #(  6.7337  -6.8605   3.5222) ; O4*
2653    #(  7.5932  -6.4923   2.4548) ; C1*
2654    #(  8.5661  -6.2983   2.9064) ; H1*
2655    #(  7.0527  -5.2012   1.8322) ; C2*
2656    #(  7.1627  -5.2525   0.7490) ; H2**
2657    #(  7.6666  -4.1249   2.4880) ; O2*
2658    #(  8.5944  -4.2543   2.6981) ; H2*
2659    #(  5.5661  -5.3029   2.2009) ; C3*
2660    #(  5.0841  -6.0018   1.5172) ; H3*
2661    #(  4.9062  -4.0452   2.2042) ; O3*
2662    #(  7.6298  -7.6136   1.4752) ; N1
2663    #(  8.5977  -9.5977   0.7329) ; N3
2664    #(  8.5951  -8.5745   1.6594) ; C2
2665    #(  7.7372  -9.7371  -0.3364) ; C4
2666    #(  6.7596  -8.6801  -0.4476) ; C5
2667    #(  6.7338  -7.6721   0.4408) ; C6
2668    rU
2669    #(  9.3993  -8.5377   2.5743) ; O2
2670    #(  7.8374 -10.6990  -1.1008) ; O4
2671    #(  9.2924 -10.3081   0.8477) ; H3
2672    #(  6.0932  -8.6982  -1.1929) ; H5
2673    #(  6.0481  -6.9515   0.3446) ; H6
2674  ))
2675
2676(define rU06
2677  (nuc-const
2678    #( -0.9837   0.0476  -0.1733  ; dgf-base-tfo
2679       -0.1792  -0.3353   0.9249
2680       -0.0141   0.9409   0.3384
2681        5.7793  -5.2303   4.5997)
2682    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2683        0.0649   0.4366  -0.8973
2684        0.5521  -0.7648  -0.3322
2685        1.6833   6.8060  -7.0011)
2686    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
2687       -0.4628  -0.6450  -0.6082
2688        0.8168  -0.0436  -0.5753
2689       -6.8179  -3.9778  -5.9887)
2690    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
2691        0.8103  -0.5790   0.0906
2692       -0.0255  -0.1894  -0.9816
2693        6.1203  -7.1051   3.1984)
2694    #(  2.6760  -8.4960   3.2880) ; P
2695    #(  1.4950  -7.6230   3.4770) ; O1P
2696    #(  2.9490  -9.4640   4.3740) ; O2P
2697    #(  3.9730  -7.5950   3.0340) ; O5*
2698    #(  3.9938  -6.7042   1.9023) ; C5*
2699    #(  3.2332  -5.9343   2.0319) ; H5*
2700    #(  3.9666  -7.2863   0.9812) ; H5**
2701    #(  5.3098  -5.9546   1.8564) ; C4*
2702    #(  5.3863  -5.3702   0.9395) ; H4*
2703    #(  5.3851  -5.0642   3.0076) ; O4*
2704    #(  6.7315  -4.9724   3.4462) ; C1*
2705    #(  7.0033  -3.9202   3.3619) ; H1*
2706    #(  7.5997  -5.8018   2.4948) ; C2*
2707    #(  8.3627  -6.3254   3.0707) ; H2**
2708    #(  8.0410  -4.9501   1.4724) ; O2*
2709    #(  8.2781  -4.0644   1.7570) ; H2*
2710    #(  6.5701  -6.8129   1.9714) ; C3*
2711    #(  6.4186  -7.5809   2.7299) ; H3*
2712    #(  6.9357  -7.3841   0.7235) ; O3*
2713    #(  6.8024  -5.4718   4.8475) ; N1
2714    #(  6.6920  -5.0495   7.1354) ; N3
2715    #(  6.6201  -4.5500   5.8506) ; C2
2716    #(  6.9254  -6.3614   7.4926) ; C4
2717    #(  7.1046  -7.2543   6.3718) ; C5
2718    #(  7.0391  -6.7951   5.1106) ; C6
2719    rU
2720    #(  6.4083  -3.3696   5.6340) ; O2
2721    #(  6.9679  -6.6901   8.6800) ; O4
2722    #(  6.5626  -4.3957   7.8812) ; H3
2723    #(  7.2781  -8.2254   6.5350) ; H5
2724    #(  7.1657  -7.4312   4.3503) ; H6
2725  ))
2726
2727(define rU07
2728  (nuc-const
2729    #( -0.9434   0.3172   0.0971  ; dgf-base-tfo
2730        0.2294   0.4125   0.8816
2731        0.2396   0.8539  -0.4619
2732        8.3625 -52.7147   1.3745)
2733    #(  0.2765  -0.1121  -0.9545  ; P-O3*-275-tfo
2734       -0.8297   0.4733  -0.2959
2735        0.4850   0.8737   0.0379
2736      -14.7774 -45.2464  21.9088)
2737    #(  0.1063  -0.6334  -0.7665  ; P-O3*-180-tfo
2738       -0.5932  -0.6591   0.4624
2739       -0.7980   0.4055  -0.4458
2740       43.7634   4.3296  28.4890)
2741    #(  0.7136  -0.5032  -0.4873  ; P-O3*-60-tfo
2742        0.6803   0.3317   0.6536
2743       -0.1673  -0.7979   0.5791
2744      -17.1858  41.4390 -27.0751)
2745    #( 21.3880  15.0780  45.5770) ; P
2746    #( 21.9980  14.5500  46.8210) ; O1P
2747    #( 21.1450  14.0270  44.5420) ; O2P
2748    #( 22.1250  16.3600  44.9460) ; O5*
2749    #( 21.5037  16.8594  43.7323) ; C5*
2750    #( 20.8147  17.6663  43.9823) ; H5*
2751    #( 21.1086  16.0230  43.1557) ; H5**
2752    #( 22.5654  17.4874  42.8616) ; C4*
2753    #( 22.1584  17.7243  41.8785) ; H4*
2754    #( 23.0557  18.6826  43.4751) ; O4*
2755    #( 24.4788  18.6151  43.6455) ; C1*
2756    #( 24.9355  19.0840  42.7739) ; H1*
2757    #( 24.7958  17.1427  43.6474) ; C2*
2758    #( 24.5652  16.7400  44.6336) ; H2**
2759    #( 26.1041  16.8773  43.2455) ; O2*
2760    #( 26.7516  17.5328  43.5149) ; H2*
2761    #( 23.8109  16.5979  42.6377) ; C3*
2762    #( 23.5756  15.5686  42.9084) ; H3*
2763    #( 24.2890  16.7447  41.2729) ; O3*
2764    #( 24.9420  19.2174  44.8923) ; N1
2765    #( 25.2655  20.5636  44.8883) ; N3
2766    #( 25.1663  21.2219  43.8561) ; C2
2767    #( 25.6911  21.1219  46.0494) ; C4
2768    #( 25.8051  20.4068  47.2048) ; C5
2769    #( 26.2093  20.9962  48.2534) ; C6
2770    rU
2771    #( 25.4692  19.0221  47.2053) ; O2
2772    #( 25.0502  18.4827  46.0370) ; O4
2773    #( 25.9599  22.1772  46.0966) ; H3
2774    #( 25.5545  18.4409  48.1234) ; H5
2775    #( 24.7854  17.4265  45.9883) ; H6
2776  ))
2777
2778(define rU08
2779  (nuc-const
2780    #( -0.0080  -0.7928   0.6094  ; dgf-base-tfo
2781       -0.7512   0.4071   0.5197
2782       -0.6601  -0.4536  -0.5988
2783       44.1482  30.7036   2.1088)
2784    #(  0.2765  -0.1121  -0.9545  ; P-O3*-275-tfo
2785       -0.8297   0.4733  -0.2959
2786        0.4850   0.8737   0.0379
2787      -14.7774 -45.2464  21.9088)
2788    #(  0.1063  -0.6334  -0.7665  ; P-O3*-180-tfo
2789       -0.5932  -0.6591   0.4624
2790       -0.7980   0.4055  -0.4458
2791       43.7634   4.3296  28.4890)
2792    #(  0.7136  -0.5032  -0.4873  ; P-O3*-60-tfo
2793        0.6803   0.3317   0.6536
2794       -0.1673  -0.7979   0.5791
2795      -17.1858  41.4390 -27.0751)
2796    #( 21.3880  15.0780  45.5770) ; P
2797    #( 21.9980  14.5500  46.8210) ; O1P
2798    #( 21.1450  14.0270  44.5420) ; O2P
2799    #( 22.1250  16.3600  44.9460) ; O5*
2800    #( 23.5096  16.1227  44.5783) ; C5*
2801    #( 23.5649  15.8588  43.5222) ; H5*
2802    #( 23.9621  15.4341  45.2919) ; H5**
2803    #( 24.2805  17.4138  44.7151) ; C4*
2804    #( 25.3492  17.2309  44.6030) ; H4*
2805    #( 23.8497  18.3471  43.7208) ; O4*
2806    #( 23.4090  19.5681  44.3321) ; C1*
2807    #( 24.2595  20.2496  44.3524) ; H1*
2808    #( 23.0418  19.1813  45.7407) ; C2*
2809    #( 22.0532  18.7224  45.7273) ; H2**
2810    #( 23.1307  20.2521  46.6291) ; O2*
2811    #( 22.8888  21.1051  46.2611) ; H2*
2812    #( 24.0799  18.1326  46.0700) ; C3*
2813    #( 23.6490  17.4370  46.7900) ; H3*
2814    #( 25.3329  18.7227  46.5109) ; O3*
2815    #( 22.2515  20.1624  43.6698) ; N1
2816    #( 22.4760  21.0609  42.6406) ; N3
2817    #( 23.6229  21.3462  42.3061) ; C2
2818    #( 21.3986  21.6081  42.0236) ; C4
2819    #( 20.1189  21.3012  42.3804) ; C5
2820    #( 19.1599  21.8516  41.7578) ; C6
2821    rU
2822    #( 19.8919  20.3745  43.4387) ; O2
2823    #( 20.9790  19.8423  44.0440) ; O4
2824    #( 21.5235  22.3222  41.2097) ; H3
2825    #( 18.8732  20.1200  43.7312) ; H5
2826    #( 20.8545  19.1313  44.8608) ; H6
2827  ))
2828
2829(define rU09
2830  (nuc-const
2831    #( -0.0317   0.1374   0.9900  ; dgf-base-tfo
2832       -0.3422  -0.9321   0.1184
2833        0.9391  -0.3351   0.0765
2834      -32.1929  25.8198 -28.5088)
2835    #(  0.2765  -0.1121  -0.9545  ; P-O3*-275-tfo
2836       -0.8297   0.4733  -0.2959
2837        0.4850   0.8737   0.0379
2838      -14.7774 -45.2464  21.9088)
2839    #(  0.1063  -0.6334  -0.7665  ; P-O3*-180-tfo
2840       -0.5932  -0.6591   0.4624
2841       -0.7980   0.4055  -0.4458
2842       43.7634   4.3296  28.4890)
2843    #(  0.7136  -0.5032  -0.4873  ; P-O3*-60-tfo
2844        0.6803   0.3317   0.6536
2845       -0.1673  -0.7979   0.5791
2846      -17.1858  41.4390 -27.0751)
2847    #( 21.3880  15.0780  45.5770) ; P
2848    #( 21.9980  14.5500  46.8210) ; O1P
2849    #( 21.1450  14.0270  44.5420) ; O2P
2850    #( 22.1250  16.3600  44.9460) ; O5*
2851    #( 21.5037  16.8594  43.7323) ; C5*
2852    #( 20.8147  17.6663  43.9823) ; H5*
2853    #( 21.1086  16.0230  43.1557) ; H5**
2854    #( 22.5654  17.4874  42.8616) ; C4*
2855    #( 23.0565  18.3036  43.3915) ; H4*
2856    #( 23.5375  16.5054  42.4925) ; O4*
2857    #( 23.6574  16.4257  41.0649) ; C1*
2858    #( 24.4701  17.0882  40.7671) ; H1*
2859    #( 22.3525  16.9643  40.5396) ; C2*
2860    #( 21.5993  16.1799  40.6133) ; H2**
2861    #( 22.4693  17.4849  39.2515) ; O2*
2862    #( 23.0899  17.0235  38.6827) ; H2*
2863    #( 22.0341  18.0633  41.5279) ; C3*
2864    #( 20.9509  18.1709  41.5846) ; H3*
2865    #( 22.7249  19.3020  41.2100) ; O3*
2866    #( 23.8580  15.0648  40.5757) ; N1
2867    #( 25.1556  14.5982  40.4523) ; N3
2868    #( 26.1047  15.3210  40.7448) ; C2
2869    #( 25.3391  13.3315  40.0020) ; C4
2870    #( 24.2974  12.5148  39.6749) ; C5
2871    #( 24.5450  11.3410  39.2610) ; C6
2872    rU
2873    #( 22.9633  12.9979  39.8053) ; O2
2874    #( 22.8009  14.2648  40.2524) ; O4
2875    #( 26.3414  12.9194  39.8855) ; H3
2876    #( 22.1227  12.3533  39.5486) ; H5
2877    #( 21.7989  14.6788  40.3650) ; H6
2878  ))
2879
2880(define rU10
2881  (nuc-const
2882    #( -0.9674   0.1021  -0.2318  ; dgf-base-tfo
2883       -0.2514  -0.2766   0.9275
2884        0.0306   0.9555   0.2933
2885       27.8571 -42.1305 -24.4563)
2886    #(  0.2765  -0.1121  -0.9545  ; P-O3*-275-tfo
2887       -0.8297   0.4733  -0.2959
2888        0.4850   0.8737   0.0379
2889      -14.7774 -45.2464  21.9088)
2890    #(  0.1063  -0.6334  -0.7665  ; P-O3*-180-tfo
2891       -0.5932  -0.6591   0.4624
2892       -0.7980   0.4055  -0.4458
2893       43.7634   4.3296  28.4890)
2894    #(  0.7136  -0.5032  -0.4873  ; P-O3*-60-tfo
2895        0.6803   0.3317   0.6536
2896       -0.1673  -0.7979   0.5791
2897      -17.1858  41.4390 -27.0751)
2898    #( 21.3880  15.0780  45.5770) ; P
2899    #( 21.9980  14.5500  46.8210) ; O1P
2900    #( 21.1450  14.0270  44.5420) ; O2P
2901    #( 22.1250  16.3600  44.9460) ; O5*
2902    #( 23.5096  16.1227  44.5783) ; C5*
2903    #( 23.5649  15.8588  43.5222) ; H5*
2904    #( 23.9621  15.4341  45.2919) ; H5**
2905    #( 24.2805  17.4138  44.7151) ; C4*
2906    #( 23.8509  18.1819  44.0720) ; H4*
2907    #( 24.2506  17.8583  46.0741) ; O4*
2908    #( 25.5830  18.0320  46.5775) ; C1*
2909    #( 25.8569  19.0761  46.4256) ; H1*
2910    #( 26.4410  17.1555  45.7033) ; C2*
2911    #( 26.3459  16.1253  46.0462) ; H2**
2912    #( 27.7649  17.5888  45.6478) ; O2*
2913    #( 28.1004  17.9719  46.4616) ; H2*
2914    #( 25.7796  17.2997  44.3513) ; C3*
2915    #( 25.9478  16.3824  43.7871) ; H3*
2916    #( 26.2154  18.4984  43.6541) ; O3*
2917    #( 25.7321  17.6281  47.9726) ; N1
2918    #( 25.5136  18.5779  48.9560) ; N3
2919    #( 25.2079  19.7276  48.6503) ; C2
2920    #( 25.6482  18.1987  50.2518) ; C4
2921    #( 25.9847  16.9266  50.6092) ; C5
2922    #( 26.0918  16.6439  51.8416) ; C6
2923    rU
2924    #( 26.2067  15.9515  49.5943) ; O2
2925    #( 26.0713  16.3497  48.3080) ; O4
2926    #( 25.4890  18.9105  51.0618) ; H3
2927    #( 26.4742  14.9310  49.8682) ; H5
2928    #( 26.2346  15.6394  47.4975) ; H6
2929  ))
2930
2931(define rUs
2932  (list rU01 rU02 rU03 rU04 rU05 rU06 rU07 rU08 rU09 rU10))
2933
2934(define rG*
2935  (nuc-const
2936    #( -0.2067  -0.0264   0.9780  ; dgf-base-tfo
2937        0.9770  -0.0586   0.2049
2938        0.0519   0.9979   0.0379
2939        1.0331 -46.8078 -36.4742)
2940    #( -0.8644  -0.4956  -0.0851  ; P-O3*-275-tfo
2941       -0.0427   0.2409  -0.9696
2942        0.5010  -0.8345  -0.2294
2943        4.0167  54.5377  12.4779)
2944    #(  0.3706  -0.6167   0.6945  ; P-O3*-180-tfo
2945       -0.2867  -0.7872  -0.5460
2946        0.8834   0.0032  -0.4686
2947      -52.9020  18.6313  -0.6709)
2948    #(  0.4155   0.9025  -0.1137  ; P-O3*-60-tfo
2949        0.9040  -0.4236  -0.0582
2950       -0.1007  -0.0786  -0.9918
2951       -7.6624 -25.2080  49.5181)
2952    #( 31.3810   0.1400  47.5810) ; P
2953    #( 29.9860   0.6630  47.6290) ; O1P
2954    #( 31.7210  -0.6460  48.8090) ; O2P
2955    #( 32.4940   1.2540  47.2740) ; O5*
2956    #( 32.1610   2.2370  46.2560) ; C5*
2957    #( 31.2986   2.8190  46.5812) ; H5*
2958    #( 32.0980   1.7468  45.2845) ; H5**
2959    #( 33.3476   3.1959  46.1947) ; C4*
2960    #( 33.2668   3.8958  45.3630) ; H4*
2961    #( 33.3799   3.9183  47.4216) ; O4*
2962    #( 34.6515   3.7222  48.0398) ; C1*
2963    #( 35.2947   4.5412  47.7180) ; H1*
2964    #( 35.1756   2.4228  47.4827) ; C2*
2965    #( 34.6778   1.5937  47.9856) ; H2**
2966    #( 36.5631   2.2672  47.4798) ; O2*
2967    #( 37.0163   2.6579  48.2305) ; H2*
2968    #( 34.6953   2.5043  46.0448) ; C3*
2969    #( 34.5444   1.4917  45.6706) ; H3*
2970    #( 35.6679   3.3009  45.3487) ; O3*
2971    #( 37.4804   4.0914  52.2559) ; N1
2972    #( 36.9670   4.1312  49.9281) ; N3
2973    #( 37.8045   4.2519  50.9550) ; C2
2974    #( 35.7171   3.8264  50.3222) ; C4
2975    #( 35.2668   3.6420  51.6115) ; C5
2976    #( 36.2037   3.7829  52.6706) ; C6
2977    rG
2978    #( 39.0869   4.5552  50.7092) ; N2
2979    #( 33.9075   3.3338  51.6102) ; N7
2980    #( 34.6126   3.6358  49.5108) ; N9
2981    #( 33.5805   3.3442  50.3425) ; C8
2982    #( 35.9958   3.6512  53.8724) ; O6
2983    #( 38.2106   4.2053  52.9295) ; H1
2984    #( 39.8218   4.6863  51.3896) ; H21
2985    #( 39.3420   4.6857  49.7407) ; H22
2986    #( 32.5194   3.1070  50.2664) ; H8
2987  ))
2988
2989(define rU*
2990  (nuc-const
2991    #( -0.0109   0.5907   0.8068  ; dgf-base-tfo
2992        0.2217  -0.7853   0.5780
2993        0.9751   0.1852  -0.1224
2994       -1.4225 -11.0956  -2.5217)
2995    #( -0.8313  -0.4738  -0.2906  ; P-O3*-275-tfo
2996        0.0649   0.4366  -0.8973
2997        0.5521  -0.7648  -0.3322
2998        1.6833   6.8060  -7.0011)
2999    #(  0.3445  -0.7630   0.5470  ; P-O3*-180-tfo
3000       -0.4628  -0.6450  -0.6082
3001        0.8168  -0.0436  -0.5753
3002       -6.8179  -3.9778  -5.9887)
3003    #(  0.5855   0.7931  -0.1682  ; P-O3*-60-tfo
3004        0.8103  -0.5790   0.0906
3005       -0.0255  -0.1894  -0.9816
3006        6.1203  -7.1051   3.1984)
3007    #(  2.6760  -8.4960   3.2880) ; P
3008    #(  1.4950  -7.6230   3.4770) ; O1P
3009    #(  2.9490  -9.4640   4.3740) ; O2P
3010    #(  3.9730  -7.5950   3.0340) ; O5*
3011    #(  5.2430  -8.2420   2.8260) ; C5*
3012    #(  5.1974  -8.8497   1.9223) ; H5*
3013    #(  5.5548  -8.7348   3.7469) ; H5**
3014    #(  6.3140  -7.2060   2.5510) ; C4*
3015    #(  5.8744  -6.2116   2.4731) ; H4*
3016    #(  7.2798  -7.2260   3.6420) ; O4*
3017    #(  8.5733  -6.9410   3.1329) ; C1*
3018    #(  8.9047  -6.0374   3.6446) ; H1*
3019    #(  8.4429  -6.6596   1.6327) ; C2*
3020    #(  9.2880  -7.1071   1.1096) ; H2**
3021    #(  8.2502  -5.2799   1.4754) ; O2*
3022    #(  8.7676  -4.7284   2.0667) ; H2*
3023    #(  7.1642  -7.4416   1.3021) ; C3*
3024    #(  7.4125  -8.5002   1.2260) ; H3*
3025    #(  6.5160  -6.9772   0.1267) ; O3*
3026    #(  9.4531  -8.1107   3.4087) ; N1
3027    #( 11.5931  -9.0015   3.6357) ; N3
3028    #( 10.8101  -7.8950   3.3748) ; C2
3029    #( 11.1439 -10.2744   3.9206) ; C4
3030    #(  9.7056 -10.4026   3.9332) ; C5
3031    #(  8.9192  -9.3419   3.6833) ; C6
3032    rU
3033    #( 11.3013  -6.8063   3.1326) ; O2
3034    #( 11.9431 -11.1876   4.1375) ; O4
3035    #( 12.5840  -8.8673   3.6158) ; H3
3036    #(  9.2891 -11.2898   4.1313) ; H5
3037    #(  7.9263  -9.4537   3.6977) ; H6
3038  ))
3039
3040
3041
3042; -- PARTIAL INSTANTIATIONS ---------------------------------------------------
3043
3044(define (make-var id tfo nuc)
3045  (vector id tfo nuc))
3046
3047(define (var-id var) (vector-ref var 0))
3048(define (var-id-set! var val) (vector-set! var 0 val))
3049(define (var-tfo var) (vector-ref var 1))
3050(define (var-tfo-set! var val) (vector-set! var 1 val))
3051(define (var-nuc var) (vector-ref var 2))
3052(define (var-nuc-set! var val) (vector-set! var 2 val))
3053
3054(define (atom-pos atom var)
3055  (tfo-apply (var-tfo var) (atom (var-nuc var))))
3056
3057(define (get-var id lst)
3058  (let ((v (car lst)))
3059    (if (= id (var-id v))
3060      v
3061      (get-var id (cdr lst)))))
3062
3063(define (make-relative-nuc tfo n)
3064  (cond ((rA? n)
3065         (make-rA
3066           (nuc-dgf-base-tfo  n)
3067           (nuc-P-O3*-275-tfo n)
3068           (nuc-P-O3*-180-tfo n)
3069           (nuc-P-O3*-60-tfo  n)
3070           (tfo-apply tfo (nuc-P    n))
3071           (tfo-apply tfo (nuc-O1P  n))
3072           (tfo-apply tfo (nuc-O2P  n))
3073           (tfo-apply tfo (nuc-O5*  n))
3074           (tfo-apply tfo (nuc-C5*  n))
3075           (tfo-apply tfo (nuc-H5*  n))
3076           (tfo-apply tfo (nuc-H5** n))
3077           (tfo-apply tfo (nuc-C4*  n))
3078           (tfo-apply tfo (nuc-H4*  n))
3079           (tfo-apply tfo (nuc-O4*  n))
3080           (tfo-apply tfo (nuc-C1*  n))
3081           (tfo-apply tfo (nuc-H1*  n))
3082           (tfo-apply tfo (nuc-C2*  n))
3083           (tfo-apply tfo (nuc-H2** n))
3084           (tfo-apply tfo (nuc-O2*  n))
3085           (tfo-apply tfo (nuc-H2*  n))
3086           (tfo-apply tfo (nuc-C3*  n))
3087           (tfo-apply tfo (nuc-H3*  n))
3088           (tfo-apply tfo (nuc-O3*  n))
3089           (tfo-apply tfo (nuc-N1   n))
3090           (tfo-apply tfo (nuc-N3   n))
3091           (tfo-apply tfo (nuc-C2   n))
3092           (tfo-apply tfo (nuc-C4   n))
3093           (tfo-apply tfo (nuc-C5   n))
3094           (tfo-apply tfo (nuc-C6   n))
3095           (tfo-apply tfo (rA-N6    n))
3096           (tfo-apply tfo (rA-N7    n))
3097           (tfo-apply tfo (rA-N9    n))
3098           (tfo-apply tfo (rA-C8    n))
3099           (tfo-apply tfo (rA-H2    n))
3100           (tfo-apply tfo (rA-H61   n))
3101           (tfo-apply tfo (rA-H62   n))
3102           (tfo-apply tfo (rA-H8    n))))
3103        ((rC? n)
3104         (make-rC
3105           (nuc-dgf-base-tfo  n)
3106           (nuc-P-O3*-275-tfo n)
3107           (nuc-P-O3*-180-tfo n)
3108           (nuc-P-O3*-60-tfo  n)
3109           (tfo-apply tfo (nuc-P    n))
3110           (tfo-apply tfo (nuc-O1P  n))
3111           (tfo-apply tfo (nuc-O2P  n))
3112           (tfo-apply tfo (nuc-O5*  n))
3113           (tfo-apply tfo (nuc-C5*  n))
3114           (tfo-apply tfo (nuc-H5*  n))
3115           (tfo-apply tfo (nuc-H5** n))
3116           (tfo-apply tfo (nuc-C4*  n))
3117           (tfo-apply tfo (nuc-H4*  n))
3118           (tfo-apply tfo (nuc-O4*  n))
3119           (tfo-apply tfo (nuc-C1*  n))
3120           (tfo-apply tfo (nuc-H1*  n))
3121           (tfo-apply tfo (nuc-C2*  n))
3122           (tfo-apply tfo (nuc-H2** n))
3123           (tfo-apply tfo (nuc-O2*  n))
3124           (tfo-apply tfo (nuc-H2*  n))
3125           (tfo-apply tfo (nuc-C3*  n))
3126           (tfo-apply tfo (nuc-H3*  n))
3127           (tfo-apply tfo (nuc-O3*  n))
3128           (tfo-apply tfo (nuc-N1   n))
3129           (tfo-apply tfo (nuc-N3   n))
3130           (tfo-apply tfo (nuc-C2   n))
3131           (tfo-apply tfo (nuc-C4   n))
3132           (tfo-apply tfo (nuc-C5   n))
3133           (tfo-apply tfo (nuc-C6   n))
3134           (tfo-apply tfo (rC-N4    n))
3135           (tfo-apply tfo (rC-O2    n))
3136           (tfo-apply tfo (rC-H41   n))
3137           (tfo-apply tfo (rC-H42   n))
3138           (tfo-apply tfo (rC-H5    n))
3139           (tfo-apply tfo (rC-H6    n))))
3140        ((rG? n)
3141         (make-rG
3142           (nuc-dgf-base-tfo  n)
3143           (nuc-P-O3*-275-tfo n)
3144           (nuc-P-O3*-180-tfo n)
3145           (nuc-P-O3*-60-tfo  n)
3146           (tfo-apply tfo (nuc-P    n))
3147           (tfo-apply tfo (nuc-O1P  n))
3148           (tfo-apply tfo (nuc-O2P  n))
3149           (tfo-apply tfo (nuc-O5*  n))
3150           (tfo-apply tfo (nuc-C5*  n))
3151           (tfo-apply tfo (nuc-H5*  n))
3152           (tfo-apply tfo (nuc-H5** n))
3153           (tfo-apply tfo (nuc-C4*  n))
3154           (tfo-apply tfo (nuc-H4*  n))
3155           (tfo-apply tfo (nuc-O4*  n))
3156           (tfo-apply tfo (nuc-C1*  n))
3157           (tfo-apply tfo (nuc-H1*  n))
3158           (tfo-apply tfo (nuc-C2*  n))
3159           (tfo-apply tfo (nuc-H2** n))
3160           (tfo-apply tfo (nuc-O2*  n))
3161           (tfo-apply tfo (nuc-H2*  n))
3162           (tfo-apply tfo (nuc-C3*  n))
3163           (tfo-apply tfo (nuc-H3*  n))
3164           (tfo-apply tfo (nuc-O3*  n))
3165           (tfo-apply tfo (nuc-N1   n))
3166           (tfo-apply tfo (nuc-N3   n))
3167           (tfo-apply tfo (nuc-C2   n))
3168           (tfo-apply tfo (nuc-C4   n))
3169           (tfo-apply tfo (nuc-C5   n))
3170           (tfo-apply tfo (nuc-C6   n))
3171           (tfo-apply tfo (rG-N2    n))
3172           (tfo-apply tfo (rG-N7    n))
3173           (tfo-apply tfo (rG-N9    n))
3174           (tfo-apply tfo (rG-C8    n))
3175           (tfo-apply tfo (rG-O6    n))
3176           (tfo-apply tfo (rG-H1    n))
3177           (tfo-apply tfo (rG-H21   n))
3178           (tfo-apply tfo (rG-H22   n))
3179           (tfo-apply tfo (rG-H8    n))))
3180        (else
3181         (make-rU
3182           (nuc-dgf-base-tfo  n)
3183           (nuc-P-O3*-275-tfo n)
3184           (nuc-P-O3*-180-tfo n)
3185           (nuc-P-O3*-60-tfo  n)
3186           (tfo-apply tfo (nuc-P    n))
3187           (tfo-apply tfo (nuc-O1P  n))
3188           (tfo-apply tfo (nuc-O2P  n))
3189           (tfo-apply tfo (nuc-O5*  n))
3190           (tfo-apply tfo (nuc-C5*  n))
3191           (tfo-apply tfo (nuc-H5*  n))
3192           (tfo-apply tfo (nuc-H5** n))
3193           (tfo-apply tfo (nuc-C4*  n))
3194           (tfo-apply tfo (nuc-H4*  n))
3195           (tfo-apply tfo (nuc-O4*  n))
3196           (tfo-apply tfo (nuc-C1*  n))
3197           (tfo-apply tfo (nuc-H1*  n))
3198           (tfo-apply tfo (nuc-C2*  n))
3199           (tfo-apply tfo (nuc-H2** n))
3200           (tfo-apply tfo (nuc-O2*  n))
3201           (tfo-apply tfo (nuc-H2*  n))
3202           (tfo-apply tfo (nuc-C3*  n))
3203           (tfo-apply tfo (nuc-H3*  n))
3204           (tfo-apply tfo (nuc-O3*  n))
3205           (tfo-apply tfo (nuc-N1   n))
3206           (tfo-apply tfo (nuc-N3   n))
3207           (tfo-apply tfo (nuc-C2   n))
3208           (tfo-apply tfo (nuc-C4   n))
3209           (tfo-apply tfo (nuc-C5   n))
3210           (tfo-apply tfo (nuc-C6   n))
3211           (tfo-apply tfo (rU-O2    n))
3212           (tfo-apply tfo (rU-O4    n))
3213           (tfo-apply tfo (rU-H3    n))
3214           (tfo-apply tfo (rU-H5    n))
3215           (tfo-apply tfo (rU-H6    n))))))
3216
3217; -- SEARCH -------------------------------------------------------------------
3218
3219; Sequential backtracking algorithm
3220
3221(define (search partial-inst domains constraint?)
3222  (if (null? domains)
3223    (list partial-inst)
3224    (let ((remaining-domains (cdr domains)))
3225
3226      (define (try-assignments lst)
3227        (if (null? lst)
3228          '()
3229          (let ((var (car lst)))
3230            (if (constraint? var partial-inst)
3231              (let* ((subsols1
3232                       (search
3233                         (cons var partial-inst)
3234                         remaining-domains
3235                         constraint?))
3236                     (subsols2
3237                       (try-assignments (cdr lst))))
3238                (append subsols1 subsols2))
3239              (try-assignments (cdr lst))))))
3240
3241      (try-assignments ((car domains) partial-inst)))))
3242
3243; -- DOMAINS ------------------------------------------------------------------
3244
3245; Primary structure:   strand A CUGCCACGUCUG, strand B CAGACGUGGCAG
3246;
3247; Secondary structure: strand A CUGCCACGUCUG
3248;                               ||||||||||||
3249;                               GACGGUGCAGAC strand B
3250;
3251; Tertiary structure:
3252;
3253;    5' end of strand A C1----G12 3' end of strand B
3254;                     U2-------A11
3255;                    G3-------C10
3256;                    C4-----G9
3257;                     C5---G8
3258;                        A6
3259;                      G6-C7
3260;                     C5----G8
3261;                    A4-------U9
3262;                    G3--------C10
3263;                     A2-------U11
3264;   5' end of strand B C1----G12 3' end of strand A
3265;
3266; "helix", "stacked" and "connected" describe the spatial relationship
3267; between two consecutive nucleotides. E.g. the nucleotides C1 and U2
3268; from the strand A.
3269;
3270; "wc" (stands for Watson-Crick and is a type of base-pairing),
3271; and "wc-dumas" describe the spatial relationship between
3272; nucleotides from two chains that are growing in opposite directions.
3273; E.g. the nucleotides C1 from strand A and G12 from strand B.
3274
3275; Dynamic Domains
3276
3277; Given,
3278;   "ref" a nucleotide which is already positioned,
3279;   "nuc" the nucleotide to be placed,
3280;   and "tfo" a transformation matrix which expresses the desired
3281;   relationship between "ref" and "nuc",
3282; the function "dgf-base" computes the transformation matrix that
3283; places the nucleotide "nuc" in the given relationship to "ref".
3284
3285(define (dgf-base tfo ref nuc)
3286  (let* ((ref-nuc (var-nuc ref))
3287         (align
3288          (tfo-inv-ortho
3289            (cond ((rA? ref-nuc)
3290                   (tfo-align (atom-pos nuc-C1* ref)
3291                              (atom-pos rA-N9   ref)
3292                              (atom-pos nuc-C4  ref)))
3293                  ((rC? ref-nuc)
3294                   (tfo-align (atom-pos nuc-C1* ref)
3295                              (atom-pos nuc-N1  ref)
3296                              (atom-pos nuc-C2  ref)))
3297                  ((rG? ref-nuc)
3298                   (tfo-align (atom-pos nuc-C1* ref)
3299                              (atom-pos rG-N9   ref)
3300                              (atom-pos nuc-C4  ref)))
3301                  (else
3302                   (tfo-align (atom-pos nuc-C1* ref)
3303                              (atom-pos nuc-N1  ref)
3304                              (atom-pos nuc-C2  ref)))))))
3305    (tfo-combine (nuc-dgf-base-tfo nuc)
3306                 (tfo-combine tfo align))))
3307
3308; Placement of first nucleotide.
3309
3310(define (reference nuc i)
3311  (lambda (partial-inst)
3312    (list (make-var i tfo-id nuc))))
3313
3314; The transformation matrix for wc is from:
3315;
3316; Chandrasekaran R. et al (1989) A Re-Examination of the Crystal
3317; Structure of A-DNA Using Fiber Diffraction Data. J. Biomol.
3318; Struct. & Dynamics 6(6):1189-1202.
3319
3320(define wc-tfo
3321  (FLOATvector-const
3322     -1.0000  0.0028 -0.0019
3323      0.0028  0.3468 -0.9379
3324     -0.0019 -0.9379 -0.3468
3325     -0.0080  6.0730  8.7208))
3326
3327(define (wc nuc i j)
3328  (lambda (partial-inst)
3329    (let* ((ref (get-var j partial-inst))
3330           (tfo (dgf-base wc-tfo ref nuc)))
3331      (list (make-var i tfo nuc)))))
3332
3333(define wc-Dumas-tfo
3334  (FLOATvector-const
3335     -0.9737 -0.1834  0.1352
3336     -0.1779  0.2417 -0.9539
3337      0.1422 -0.9529 -0.2679
3338      0.4837  6.2649  8.0285))
3339
3340(define (wc-Dumas nuc i j)
3341  (lambda (partial-inst)
3342    (let* ((ref (get-var j partial-inst))
3343           (tfo (dgf-base wc-Dumas-tfo ref nuc)))
3344      (list (make-var i tfo nuc)))))
3345
3346(define helix5*-tfo
3347  (FLOATvector-const
3348      0.9886 -0.0961  0.1156
3349      0.1424  0.8452 -0.5152
3350     -0.0482  0.5258  0.8492
3351     -3.8737  0.5480  3.8024))
3352
3353(define (helix5* nuc i j)
3354  (lambda (partial-inst)
3355    (let* ((ref (get-var j partial-inst))
3356           (tfo (dgf-base helix5*-tfo ref nuc)))
3357      (list (make-var i tfo nuc)))))
3358
3359(define helix3*-tfo
3360  (FLOATvector-const
3361      0.9886  0.1424 -0.0482
3362     -0.0961  0.8452  0.5258
3363      0.1156 -0.5152  0.8492
3364      3.4426  2.0474 -3.7042))
3365
3366(define (helix3* nuc i j)
3367  (lambda (partial-inst)
3368    (let* ((ref (get-var j partial-inst))
3369           (tfo (dgf-base helix3*-tfo ref nuc)))
3370      (list (make-var i tfo nuc)))))
3371
3372(define G37-A38-tfo
3373  (FLOATvector-const
3374      0.9991  0.0164 -0.0387
3375     -0.0375  0.7616 -0.6470
3376      0.0189  0.6478  0.7615
3377     -3.3018  0.9975  2.5585))
3378
3379(define (G37-A38 nuc i j)
3380  (lambda (partial-inst)
3381    (let* ((ref (get-var j partial-inst))
3382           (tfo (dgf-base G37-A38-tfo ref nuc)))
3383      (make-var i tfo nuc))))
3384
3385(define (stacked5* nuc i j)
3386  (lambda (partial-inst)
3387    (cons ((G37-A38 nuc i j) partial-inst)
3388          ((helix5* nuc i j) partial-inst))))
3389
3390(define A38-G37-tfo
3391  (FLOATvector-const
3392      0.9991 -0.0375  0.0189
3393      0.0164  0.7616  0.6478
3394     -0.0387 -0.6470  0.7615
3395      3.3819  0.7718 -2.5321))
3396
3397(define (A38-G37 nuc i j)
3398  (lambda (partial-inst)
3399    (let* ((ref (get-var j partial-inst))
3400           (tfo (dgf-base A38-G37-tfo ref nuc)))
3401      (make-var i tfo nuc))))
3402
3403(define (stacked3* nuc i j)
3404  (lambda (partial-inst)
3405    (cons ((A38-G37 nuc i j) partial-inst)
3406          ((helix3* nuc i j) partial-inst))))
3407
3408(define (P-O3* nucs i j)
3409  (lambda (partial-inst)
3410    (let* ((ref (get-var j partial-inst))
3411           (align
3412             (tfo-inv-ortho
3413               (tfo-align (atom-pos nuc-O3* ref)
3414                          (atom-pos nuc-C3* ref)
3415                          (atom-pos nuc-C4* ref)))))
3416      (let loop ((lst nucs) (domains '()))
3417        (if (null? lst)
3418          domains
3419          (let ((nuc (car lst)))
3420            (let ((tfo-60 (tfo-combine (nuc-P-O3*-60-tfo nuc) align))
3421                  (tfo-180 (tfo-combine (nuc-P-O3*-180-tfo nuc) align))
3422                  (tfo-275 (tfo-combine (nuc-P-O3*-275-tfo nuc) align)))
3423              (loop (cdr lst)
3424                    (cons (make-var i tfo-60 nuc)
3425                          (cons (make-var i tfo-180 nuc)
3426                                (cons (make-var i tfo-275 nuc) domains)))))))))))
3427
3428; -- PROBLEM STATEMENT --------------------------------------------------------
3429
3430; Define anticodon problem -- Science 253:1255 Figure 3a, 3b and 3c
3431
3432(define anticodon-domains
3433  (list
3434   (reference rC  27   )
3435   (helix5*   rC  28 27)
3436   (helix5*   rA  29 28)
3437   (helix5*   rG  30 29)
3438   (helix5*   rA  31 30)
3439   (wc        rU  39 31)
3440   (helix5*   rC  40 39)
3441   (helix5*   rU  41 40)
3442   (helix5*   rG  42 41)
3443   (helix5*   rG  43 42)
3444   (stacked3* rA  38 39)
3445   (stacked3* rG  37 38)
3446   (stacked3* rA  36 37)
3447   (stacked3* rA  35 36)
3448   (stacked3* rG  34 35);<-. Distance
3449   (P-O3*     rCs 32 31);  | Constraint
3450   (P-O3*     rUs 33 32);<-' 3.0 Angstroms
3451   ))
3452
3453; Anticodon constraint
3454
3455(define (anticodon-constraint? v partial-inst)
3456  (if (= (var-id v) 33)
3457    (let ((p   (atom-pos nuc-P (get-var 34 partial-inst))) ; P in nucleotide 34
3458          (o3* (atom-pos nuc-O3* v)))                      ; O3' in nucl. 33
3459      (FLOAT<= (pt-dist p o3*) 3.0))                       ; check distance
3460    #t))
3461
3462(define (anticodon)
3463  (search '() anticodon-domains anticodon-constraint?))
3464
3465; Define pseudoknot problem -- Science 253:1255 Figure 4a and 4b
3466
3467(define pseudoknot-domains
3468  (list
3469   (reference rA  23   )
3470   (wc-Dumas  rU   8 23)
3471   (helix3*   rG  22 23)
3472   (wc-Dumas  rC   9 22)
3473   (helix3*   rG  21 22)
3474   (wc-Dumas  rC  10 21)
3475   (helix3*   rC  20 21)
3476   (wc-Dumas  rG  11 20)
3477   (helix3*   rU* 19 20);<-.
3478   (wc-Dumas  rA  12 19);  | Distance
3479;                       ;  | Constraint
3480; Helix 1               ;  | 4.0 Angstroms
3481   (helix3*   rC   3 19);  |
3482   (wc-Dumas  rG  13  3);  |
3483   (helix3*   rC   2  3);  |
3484   (wc-Dumas  rG  14  2);  |
3485   (helix3*   rC   1  2);  |
3486   (wc-Dumas  rG* 15  1);  |
3487;                       ;  |
3488; L2 LOOP               ;  |
3489   (P-O3*     rUs 16 15);  |
3490   (P-O3*     rCs 17 16);  |
3491   (P-O3*     rAs 18 17);<-'
3492;
3493; L1 LOOP
3494   (helix3*   rU   7  8);<-.
3495   (P-O3*     rCs  4  3);  | Constraint
3496   (stacked5* rU   5  4);  | 4.5 Angstroms
3497   (stacked5* rC   6  5);<-'
3498   ))
3499
3500; Pseudoknot constraint
3501
3502(define (pseudoknot-constraint? v partial-inst)
3503  (case (var-id v)
3504    ((18)
3505     (let ((p   (atom-pos nuc-P (get-var 19 partial-inst)))
3506           (o3* (atom-pos nuc-O3* v)))
3507       (FLOAT<= (pt-dist p o3*) 4.0)))
3508    ((6)
3509     (let ((p   (atom-pos nuc-P (get-var 7 partial-inst)))
3510           (o3* (atom-pos nuc-O3* v)))
3511       (FLOAT<= (pt-dist p o3*) 4.5)))
3512    (else
3513     #t)))
3514
3515(define (pseudoknot)
3516  (search '() pseudoknot-domains pseudoknot-constraint?))
3517
3518; -- TESTING -----------------------------------------------------------------
3519
3520(define (list-of-atoms n)
3521  (append (list-of-common-atoms n)
3522          (list-of-specific-atoms n)))
3523
3524(define (list-of-common-atoms n)
3525  (list
3526    (nuc-P    n)
3527    (nuc-O1P  n)
3528    (nuc-O2P  n)
3529    (nuc-O5*  n)
3530    (nuc-C5*  n)
3531    (nuc-H5*  n)
3532    (nuc-H5** n)
3533    (nuc-C4*  n)
3534    (nuc-H4*  n)
3535    (nuc-O4*  n)
3536    (nuc-C1*  n)
3537    (nuc-H1*  n)
3538    (nuc-C2*  n)
3539    (nuc-H2** n)
3540    (nuc-O2*  n)
3541    (nuc-H2*  n)
3542    (nuc-C3*  n)
3543    (nuc-H3*  n)
3544    (nuc-O3*  n)
3545    (nuc-N1   n)
3546    (nuc-N3   n)
3547    (nuc-C2   n)
3548    (nuc-C4   n)
3549    (nuc-C5   n)
3550    (nuc-C6   n)))
3551
3552(define (list-of-specific-atoms n)
3553  (cond ((rA? n)
3554         (list
3555           (rA-N6   n)
3556           (rA-N7   n)
3557           (rA-N9   n)
3558           (rA-C8   n)
3559           (rA-H2   n)
3560           (rA-H61  n)
3561           (rA-H62  n)
3562           (rA-H8   n)))
3563        ((rC? n)
3564         (list
3565           (rC-N4   n)
3566           (rC-O2   n)
3567           (rC-H41  n)
3568           (rC-H42  n)
3569           (rC-H5   n)
3570           (rC-H6   n)))
3571        ((rG? n)
3572         (list
3573           (rG-N2   n)
3574           (rG-N7   n)
3575           (rG-N9   n)
3576           (rG-C8   n)
3577           (rG-O6   n)
3578           (rG-H1   n)
3579           (rG-H21  n)
3580           (rG-H22  n)
3581           (rG-H8   n)))
3582        (else
3583         (list
3584           (rU-O2   n)
3585           (rU-O4   n)
3586           (rU-H3   n)
3587           (rU-H5   n)
3588           (rU-H6   n)))))
3589
3590(define (var-most-distant-atom v)
3591
3592  (define (distance pos)
3593    (let ((abs-pos (tfo-apply (var-tfo v) pos)))
3594      (let ((x (pt-x abs-pos)) (y (pt-y abs-pos)) (z (pt-z abs-pos)))
3595        (FLOATsqrt (FLOAT+ (FLOAT* x x) (FLOAT* y y) (FLOAT* z z))))))
3596
3597  (maximum (map distance (list-of-atoms (var-nuc v)))))
3598
3599(define (sol-most-distant-atom s)
3600  (maximum (map var-most-distant-atom s)))
3601
3602(define (most-distant-atom sols)
3603  (maximum (map sol-most-distant-atom sols)))
3604
3605(define (maximum lst)
3606  (let loop ((m (car lst)) (l (cdr lst)))
3607    (if (null? l)
3608      m
3609      (let ((x (car l)))
3610        (loop (if (FLOAT> x m) x m) (cdr l))))))
3611
3612(define (run)
3613  (most-distant-atom (pseudoknot)))
3614
3615(define (main . args)
3616  (run-benchmark
3617    "nucleic"
3618    nucleic-iters
3619    (lambda () (run))
3620    (lambda (result)
3621      (and (number? result)
3622           (let ((x (FLOAT/ result 33.797594890762724)))
3623             (and (FLOAT> x 0.999999) (FLOAT< x 1.000001)))))))
3624