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