Commits

Anonymous committed b277c96

fft: suppression d'une reference inutile.
nucleic: passage a la version Gallium (avec records de flottants au
lieu de tuples).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@155f963ae5c-01c2-4b8c-9fe0-0dff7051ff02

Comments (0)

Files changed (3)

 	$(CAMLC) -o $*.byt $<
 
 .ml.fast.byt:
-	cp $*.ml $*.fast.ml
-	$(CAMLC) -fast -o $*.fast.byt $*.fast.ml
-	rm -f $*.fast.ml
+	cp $*.ml $*_fast.ml
+	$(CAMLC) -fast -o $*.fast.byt $*_fast.ml
+	rm -f $*_fast.ml
 
 .ml.out:
 	$(CAMLOPT) $(OPTFLAGS) -o $*.out $<
 
 .ml.fast.out:
-	cp $*.ml $*.fast.ml
-	$(CAMLOPT) $(OPTFLAGS) -fast -o $*.fast.out $*.fast.ml
-	rm -f $*.fast.ml
+	cp $*.ml $*_fast.ml
+	$(CAMLOPT) $(OPTFLAGS) -fast -o $*.fast.out $*_fast.ml
+	rm -f $*_fast.ml
 
 .mli.cmi:
 	$(CAMLC) -c $<
     n2 := !n2 / 2; 
     let n4 = !n2 / 4 in
     let e  = tpi /. float !n2 in
-    let a = ref 0.0 in
 
     for j = 1 to n4 do
-      let a3 = 3.0 *. !a in
-      let cc1 = cos(!a) in
-      let ss1 = sin(!a) in
+      let a = e *. float(j - 1) in
+      let a3 = 3.0 *. a in
+      let cc1 = cos(a) in
+      let ss1 = sin(a) in
       let cc3 = cos(a3) in
       let ss3 = sin(a3) in
-      a := e *. float j;
       let is = ref j in
       let id = ref(2 * !n2) in
 	  
   done;
 (**
   print_newline();
-  for i=0 to 15 do printf "%d  %f  %f\n" i pxr.(i+1) pxi.(i+1) done;
+  for i=0 to 15 do Printf.printf "%d  %f  %f\n" i pxr.(i+1) pxi.(i+1) done;
 **)
   fft pxr pxi np;
 (**
-  for i=0 to 15 do printf "%d  %f  %f\n" i pxr.(i+1) pxi.(i+1) done;
+  for i=0 to 15 do Printf.printf "%d  %f  %f\n" i pxr.(i+1) pxi.(i+1) done;
 **)
   let zr = ref 0.0 in
   let zi = ref 0.0 in
 
 (* -- POINTS ----------------------------------------------------------------*)
 
-type pt = float * float * float
+type pt = { x : float; y : float; z : float }
 
 let
-pt_sub ((x1,y1,z1):pt) ((x2,y2,z2):pt)
-  = (x1 - x2, y1 - y2, z1 - z2)
-
+pt_sub p1 p2
+  = { x = p1.x - p2.x; y = p1.y - p2.y; z = p1.z - p2.z }
 
 let
-pt_dist ((x1,y1,z1):pt) ((x2,y2,z2):pt)
-  = let dx = x1 - x2
-    and dy = y1 - y2
-    and dz = z1 - z2
+pt_dist p1 p2
+  = let dx = p1.x - p2.x
+    and dy = p1.y - p2.y
+    and dz = p1.z - p2.z
     in
       sqrt ((dx * dx) + (dy * dy) + (dz * dz))
 
-
 let
-pt_phi ((x,y,z):pt)
-  = let b = atan2 x z
+pt_phi p
+  = let b = atan2 p.x p.z
     in
-      atan2 (((cos b) * z + (sin b) * x)) y
-
+      atan2 ((cos b) * p.z + (sin b) * p.x) p.y
 
 let
-pt_theta ((x,y,z):pt)
-  =  atan2 x z
-
+pt_theta p
+  =  atan2 p.x p.z
 
 (* -- COORDINATE TRANSFORMATIONS --------------------------------------------*)
 
 *)
 
 type tfo =
-  float*float*float*float*float*float*float*float*float*float*float*float
-
+  {a: float;   b: float;   c: float;
+   d: float;   e: float;   f: float;
+   g: float;   h: float;   i: float;
+   tx: float;  ty: float;  tz: float}
 
-let tfo_id = (1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0)
+let tfo_id =
+  {a=1.0; b=0.0; c=0.0;
+   d=0.0; e=1.0; f=0.0;
+   g=0.0; h=0.0; i=1.0;
+   tx=0.0; ty=0.0; tz=0.0}
 
 (*
    The function "tfo-apply" multiplies a transformation matrix, tfo, by a
 *)
 
 let
-tfo_apply ((a,b,c,d,e,f,g,h,i,tx,ty,tz):tfo) ((x,y,z):pt)
-  = (
-      ((x * a) + (y * d) + (z * g) + tx)
-      ,
-      ((x * b) + (y * e) + (z * h) + ty)
-      ,
-      ((x * c) + (y * f) + (z * i) + tz)
-    )
-
+tfo_apply t p
+  = { x = ((p.x * t.a) + (p.y * t.d) + (p.z * t.g) + t.tx);
+      y = ((p.x * t.b) + (p.y * t.e) + (p.z * t.h) + t.ty);
+      z = ((p.x * t.c) + (p.y * t.f) + (p.z * t.i) + t.tz) }
 
 (*
-   The function "tfo-combine" multiplies two transformation matrices A and B.
+   The function "tfo-List.combine" multiplies two transformation matrices A and B.
    The result is a new matrix which cumulates the transformations described
    by A and B.
 *)
 
 let
-tfo_combine
-  ((a_a,a_b,a_c,a_d,a_e,a_f,a_g,a_h,a_i,a_tx,a_ty,a_tz):tfo)
-  ((b_a,b_b,b_c,b_d,b_e,b_f,b_g,b_h,b_i,b_tx,b_ty,b_tz):tfo)
-  = (
-      ((a_a * b_a) + (a_b * b_d) + (a_c * b_g))
-      ,
-      ((a_a * b_b) + (a_b * b_e) + (a_c * b_h))
-      ,
-      ((a_a * b_c) + (a_b * b_f) + (a_c * b_i))
-      ,
-      ((a_d * b_a) + (a_e * b_d) + (a_f * b_g))
-      ,
-      ((a_d * b_b) + (a_e * b_e) + (a_f * b_h))
-      ,
-      ((a_d * b_c) + (a_e * b_f) + (a_f * b_i))
-      ,
-      ((a_g * b_a) + (a_h * b_d) + (a_i * b_g))
-      ,
-      ((a_g * b_b) + (a_h * b_e) + (a_i * b_h))
-      ,
-      ((a_g * b_c) + (a_h * b_f) + (a_i * b_i))
-      ,
-      ((a_tx * b_a) + (a_ty * b_d) + (a_tz * b_g) + b_tx)
-      ,
-      ((a_tx * b_b) + (a_ty * b_e) + (a_tz * b_h) + b_ty)
-      ,
-      ((a_tx * b_c) + (a_ty * b_f) + (a_tz * b_i) + b_tz)
-    )
-
+tfo_combine a b =
+  let a_a = a.a  and a_b = a.b  and a_c = a.c  and a_d = a.d
+  and a_e = a.e  and a_f = a.f  and a_g = a.g  and a_h = a.h
+  and a_i = a.i  and a_tx = a.tx  and a_ty = a.ty  and a_tz = a.tz
+  and b_a = b.a  and b_b = b.b  and b_c = b.c  and b_d = b.d
+  and b_e = b.e  and b_f = b.f  and b_g = b.g  and b_h = b.h
+  and b_i = b.i  and b_tx = b.tx  and b_ty = b.ty  and b_tz = b.tz in
+    { a = ((a_a * b_a) + (a_b * b_d) + (a_c * b_g));
+      b = ((a_a * b_b) + (a_b * b_e) + (a_c * b_h));
+      c = ((a_a * b_c) + (a_b * b_f) + (a_c * b_i));
+      d = ((a_d * b_a) + (a_e * b_d) + (a_f * b_g));
+      e = ((a_d * b_b) + (a_e * b_e) + (a_f * b_h));
+      f = ((a_d * b_c) + (a_e * b_f) + (a_f * b_i));
+      g = ((a_g * b_a) + (a_h * b_d) + (a_i * b_g));
+      h = ((a_g * b_b) + (a_h * b_e) + (a_i * b_h));
+      i = ((a_g * b_c) + (a_h * b_f) + (a_i * b_i));
+      tx = ((a_tx * b_a) + (a_ty * b_d) + (a_tz * b_g) + b_tx);
+      ty = ((a_tx * b_b) + (a_ty * b_e) + (a_tz * b_h) + b_ty);
+      tz = ((a_tx * b_c) + (a_ty * b_f) + (a_tz * b_i) + b_tz)
+    }
 (*
    The function "tfo-inv-ortho" computes the inverse of a homogeneous
    transformation matrix.
 *)
 
 let
-tfo_inv_ortho ((a,b,c,d,e,f,g,h,i,tx,ty,tz):tfo)
-  = (
-      a,d,g,
-      b,e,h,
-      c,f,i,
-      (-.((a * tx) + (b * ty) + (c * tz)))
-      ,
-      (-.((d * tx) + (e * ty) + (f * tz)))
-      ,
-      (-.((g * tx) + (h * ty) + (i * tz)))
-    )
-
+tfo_inv_ortho t =
+  { a = t.a; b = t.d; c = t.g;
+    d = t.b; e = t.e; f = t.h;
+    g = t.c; h = t.f; i = t.i;
+    tx = (-.((t.a * t.tx) + (t.b * t.ty) + (t.c * t.tz)));
+    ty = (-.((t.d * t.tx) + (t.e * t.ty) + (t.f * t.tz)));
+    tz = (-.((t.g * t.tx) + (t.h * t.ty) + (t.i * t.tz)))
+  }
 
 (*
    Given three points p1, p2, and p3, the function "tfo-align" computes
 *)
 
 let
-tfo_align ((x1,y1,z1):pt) ((x2,y2,z2):pt) ((x3,y3,z3):pt)
-  = let x31 = x3 - x1 in
-    let y31 = y3 - y1 in
-    let z31 = z3 - z1 in
-    let rotpy = pt_sub (x2,y2,z2) (x1,y1,z1) in
+tfo_align p1 p2 p3
+  = let x31 = p3.x - p1.x in
+    let y31 = p3.y - p1.y in
+    let z31 = p3.z - p1.z in
+    let rotpy = pt_sub p2 p1 in
     let phi = pt_phi rotpy in
     let theta = pt_theta rotpy in
     let sinp = sin phi in
     let sinpcost = sinp * cost in
     let cospsint = cosp * sint in
     let cospcost = cosp * cost in
-    let rotpz = (
-                    ((cost * x31) - (sint * z31))
-                    ,
-                    ((sinpsint * x31) + (cosp * y31) + (sinpcost * z31))
-                    ,
-                    ((cospsint * x31) + (-.(sinp * y31)) + (cospcost * z31))
-                  ) in
+    let rotpz =
+      { x = ((cost * x31) - (sint * z31));
+        y = ((sinpsint * x31) + (cosp * y31) + (sinpcost * z31));
+        z = ((cospsint * x31) + (-.(sinp * y31)) + (cospcost * z31)) } in
     let rho = pt_theta rotpz in
     let cosr = cos rho in
     let sinr = sin rho in
-    let x = (-.(x1 * cost)) + (z1 * sint) in
-    let y = ((-.(x1 * sinpsint)) - (y1 * cosp)) - (z1 * sinpcost) in
-    let z = ((-.(x1 * cospsint) + (y1 * sinp))) - (z1 * cospcost) in
-      (
-        ((cost * cosr) - (cospsint * sinr))
-        ,
-        sinpsint
-        ,
-        ((cost * sinr) + (cospsint * cosr))
-        ,
-        (sinp * sinr)
-        ,
-        cosp
-        ,
-        (-.(sinp * cosr))
-        ,
-        ((-.(sint * cosr)) - (cospcost * sinr))
-        ,
-        sinpcost
-        ,
-        ((-.(sint * sinr) + (cospcost * cosr)))
-        ,
-        ((x * cosr) - (z * sinr))
-        ,
-        y
-        ,
-        ((x * sinr + (z * cosr)))
-      )
-
+    let x = (-.(p1.x * cost)) + (p1.z * sint) in
+    let y = ((-.(p1.x * sinpsint)) - (p1.y * cosp)) - (p1.z * sinpcost) in
+    let z = ((-.(p1.x * cospsint) + (p1.y * sinp))) - (p1.z * cospcost) in
+      { a = ((cost * cosr) - (cospsint * sinr));
+        b = sinpsint;
+        c = ((cost * sinr) + (cospsint * cosr));
+        d = (sinp * sinr);
+        e = cosp;
+        f = (-.(sinp * cosr));
+        g = ((-.(sint * cosr)) - (cospcost * sinr));
+        h = sinpcost;
+        i = ((-.(sint * sinr) + (cospcost * cosr)));
+        tx = ((x * cosr) - (z * sinr));
+        ty = y;
+        tz = ((x * sinr + (z * cosr)))
+      }
 
 (* -- NUCLEIC ACID CONFORMATIONS DATA BASE ----------------------------------*)
 
 | G of pt*pt*pt*pt*pt*pt*pt*pt*pt
 | U of pt*pt*pt*pt*pt
 
-
 (*
    A n6 n7 n9 c8 h2 h61 h62 h8
    C n4 o2 h41 h42 h5 h6
 
 (* Define part common to all 4 nucleotide types. *)
 
-type nuc = tfo*tfo*tfo*tfo*
-           pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*
-           pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*
-           pt*nuc_specific
-
+type nuc =
+  N of tfo*tfo*tfo*tfo*
+       pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*
+       pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*pt*
+       pt*nuc_specific
 
 (*
     dgf_base_tfo  ; defines the standard position for wc and wc_dumas
 *)
 
 let is_A = function
-     (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+     N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
       p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
       c3',h3',o3',n1,n3,c2,c4,c5,c6,A(_,_,_,_,_,_,_,_)) -> true
    | _ -> false
 
-
 let is_C = function
-     (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+     N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
       p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
       c3',h3',o3',n1,n3,c2,c4,c5,c6,C(_,_,_,_,_,_)) -> true
   | _ -> false
 
-
 let is_G = function
-     (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+     N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
       p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
       c3',h3',o3',n1,n3,c2,c4,c5,c6,G(_,_,_,_,_,_,_,_,_)) -> true
   | _ -> false
 
-
 let
 nuc_C1'
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = c1'
 
-
 let
 nuc_C2 
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = c2
 
-
 let
 nuc_C3'
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = c3'
 
-
 let
 nuc_C4 
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = c4
 
-
 let
 nuc_C4'
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = c4'
 
-
 let
 nuc_N1 
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = n1
 
-
 let
 nuc_O3'
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = o3'
 
-
 let
 nuc_P
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = p
 
-
 let
 nuc_dgf_base_tfo
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = dgf_base_tfo
 
-
 let
 nuc_p_o3'_180_tfo
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = p_o3'_180_tfo
 
-
 let
 nuc_p_o3'_275_tfo
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = p_o3'_275_tfo
 
-
 let
 nuc_p_o3'_60_tfo
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,_)
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,_))
   = p_o3'_60_tfo
 
-
 let
 rA_N9  
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,A (n6,n7,n9,c8,h2,h61,h62,h8))
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,A (n6,n7,n9,c8,h2,h61,h62,h8)))
   = n9
 
-
 let
 rG_N9  
-  (dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
+(N(dgf_base_tfo,p_o3'_275_tfo,p_o3'_180_tfo,p_o3'_60_tfo,
    p,o1p,o2p,o5',c5',h5',h5'',c4',h4',o4',c1',h1',c2',h2'',o2',h2',
-   c3',h3',o3',n1,n3,c2,c4,c5,c6,G (n2,n7,n9,c8,o6,h1,h21,h22,h8))
+   c3',h3',o3',n1,n3,c2,c4,c5,c6,G (n2,n7,n9,c8,o6,h1,h21,h22,h8)))
   = n9
 
-
 (* Database of nucleotide conformations: *)
 
 let rA
-  = (
-      (    (-0.0018),  (-0.8207),   (0.5714),  (* dgf_base_tfo *)
-            (0.2679),  (-0.5509),  (-0.7904),
-            (0.9634),   (0.1517),   (0.2209),
-            (0.0073),   (8.4030),   (0.6232)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (5.4550),   (8.2120),  (-2.8810)), (* C5'  *)
-      (    (5.4546),   (8.8508),  (-1.9978)), (* H5'  *)
-      (    (5.7588),   (8.6625),  (-3.8259)), (* H5'' *)
-      (    (6.4970),   (7.1480),  (-2.5980)), (* C4'  *)
-      (    (7.4896),   (7.5919),  (-2.5214)), (* H4'  *)
-      (    (6.1630),   (6.4860),  (-1.3440)), (* O4'  *)
-      (    (6.5400),   (5.1200),  (-1.4190)), (* C1'  *)
-      (    (7.2763),   (4.9681),  (-0.6297)), (* H1'  *)
-      (    (7.1940),   (4.8830),  (-2.7770)), (* C2'  *)
-      (    (6.8667),   (3.9183),  (-3.1647)), (* H2'' *)
-      (    (8.5860),   (5.0910),  (-2.6140)), (* O2'  *)
-      (    (8.9510),   (4.7626),  (-1.7890)), (* H2'  *)
-      (    (6.5720),   (6.0040),  (-3.6090)), (* C3'  *)
-      (    (5.5636),   (5.7066),  (-3.8966)), (* H3'  *)
-      (    (7.3801),   (6.3562),  (-4.7350)), (* O3'  *)
-      (    (4.7150),   (0.4910),  (-0.1360)), (* N1   *)
-      (    (6.3490),   (2.1730),  (-0.6020)), (* N3   *)
-      (    (5.9530),   (0.9650),  (-0.2670)), (* C2   *)
-      (    (5.2900),   (2.9790),  (-0.8260)), (* C4   *)
-      (    (3.9720),   (2.6390),  (-0.7330)), (* C5   *)
-      (    (3.6770),   (1.3160),  (-0.3660)), (* C6 *)
+  = N(
+      {    a= -0.0018; b= -0.8207; c=0.5714; (* dgf_base_tfo *)
+           d=0.2679; e= -0.5509; f= -0.7904;
+           g=0.9634; h=0.1517; i=0.2209;
+           tx=0.0073; ty=8.4030; tz=0.6232 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 5.4550; y = 8.2120; z = -2.8810 }, (* C5'  *)
+      { x = 5.4546; y = 8.8508; z = -1.9978 }, (* H5'  *)
+      { x = 5.7588; y = 8.6625; z = -3.8259 }, (* H5'' *)
+      { x = 6.4970; y = 7.1480; z = -2.5980 }, (* C4'  *)
+      { x = 7.4896; y = 7.5919; z = -2.5214 }, (* H4'  *)
+      { x = 6.1630; y = 6.4860; z = -1.3440 }, (* O4'  *)
+      { x = 6.5400; y = 5.1200; z = -1.4190 }, (* C1'  *)
+      { x = 7.2763; y = 4.9681; z = -0.6297 }, (* H1'  *)
+      { x = 7.1940; y = 4.8830; z = -2.7770 }, (* C2'  *)
+      { x = 6.8667; y = 3.9183; z = -3.1647 }, (* H2'' *)
+      { x = 8.5860; y = 5.0910; z = -2.6140 }, (* O2'  *)
+      { x = 8.9510; y = 4.7626; z = -1.7890 }, (* H2'  *)
+      { x = 6.5720; y = 6.0040; z = -3.6090 }, (* C3'  *)
+      { x = 5.5636; y = 5.7066; z = -3.8966 }, (* H3'  *)
+      { x = 7.3801; y = 6.3562; z = -4.7350 }, (* O3'  *)
+      { x = 4.7150; y = 0.4910; z = -0.1360 }, (* N1   *)
+      { x = 6.3490; y = 2.1730; z = -0.6020 }, (* N3   *)
+      { x = 5.9530; y = 0.9650; z = -0.2670 }, (* C2   *)
+      { x = 5.2900; y = 2.9790; z = -0.8260 }, (* C4   *)
+      { x = 3.9720; y = 2.6390; z = -0.7330 }, (* C5   *)
+      { x = 3.6770; y = 1.3160; z = -0.3660 }, (* C6 *)
       (A (
-      (    (2.4280),   (0.8450),  (-0.2360)), (* N6   *)
-      (    (3.1660),   (3.7290),  (-1.0360)), (* N7   *)
-      (    (5.3170),   (4.2990),  (-1.1930)), (* N9   *)
-      (    (4.0100),   (4.6780),  (-1.2990)), (* C8   *)
-      (    (6.6890),   (0.1903),  (-0.0518)), (* H2   *)
-      (    (1.6470),   (1.4460),  (-0.4040)), (* H61  *)
-      (    (2.2780),  (-0.1080),  (-0.0280)), (* H62  *)
-      (    (3.4421),   (5.5744),  (-1.5482))) (* H8   *)
+      { x = 2.4280; y = 0.8450; z = -0.2360 }, (* N6   *)
+      { x = 3.1660; y = 3.7290; z = -1.0360 }, (* N7   *)
+      { x = 5.3170; y = 4.2990; z = -1.1930 }, (* N9   *)
+      { x = 4.0100; y = 4.6780; z = -1.2990 }, (* C8   *)
+      { x = 6.6890; y = 0.1903; z = -0.0518 }, (* H2   *)
+      { x = 1.6470; y = 1.4460; z = -0.4040 }, (* H61  *)
+      { x = 2.2780; y = -0.1080; z = -0.0280 }, (* H62  *)
+      { x = 3.4421; y = 5.5744; z = -1.5482 }) (* H8   *)
       )
     )
 
-
 let rA01
-  = (
-      (    (-0.0043),  (-0.8175),   (0.5759),  (* dgf_base_tfo *)
-            (0.2617),  (-0.5567),  (-0.7884),
-            (0.9651),   (0.1473),   (0.2164),
-            (0.0359),   (8.3929),   (0.5532)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (5.4352),   (8.2183),  (-2.7757)), (* C5'  *)
-      (    (5.3830),   (8.7883),  (-1.8481)), (* H5'  *)
-      (    (5.7729),   (8.7436),  (-3.6691)), (* H5'' *)
-      (    (6.4830),   (7.1518),  (-2.5252)), (* C4'  *)
-      (    (7.4749),   (7.5972),  (-2.4482)), (* H4'  *)
-      (    (6.1626),   (6.4620),  (-1.2827)), (* O4'  *)
-      (    (6.5431),   (5.0992),  (-1.3905)), (* C1'  *)
-      (    (7.2871),   (4.9328),  (-0.6114)), (* H1'  *)
-      (    (7.1852),   (4.8935),  (-2.7592)), (* C2'  *)
-      (    (6.8573),   (3.9363),  (-3.1645)), (* H2'' *)
-      (    (8.5780),   (5.1025),  (-2.6046)), (* O2'  *)
-      (    (8.9516),   (4.7577),  (-1.7902)), (* H2'  *)
-      (    (6.5522),   (6.0300),  (-3.5612)), (* C3'  *)
-      (    (5.5420),   (5.7356),  (-3.8459)), (* H3'  *)
-      (    (7.3487),   (6.4089),  (-4.6867)), (* O3'  *)
-      (    (4.7442),   (0.4514),  (-0.1390)), (* N1   *)
-      (    (6.3687),   (2.1459),  (-0.5926)), (* N3   *)
-      (    (5.9795),   (0.9335),  (-0.2657)), (* C2   *)
-      (    (5.3052),   (2.9471),  (-0.8125)), (* C4   *)
-      (    (3.9891),   (2.5987),  (-0.7230)), (* C5   *)
-      (    (3.7016),   (1.2717),  (-0.3647)), (* C6 *)
+  = N(
+      {    a= -0.0043; b= -0.8175; c=0.5759; (* dgf_base_tfo *)
+           d=0.2617; e= -0.5567; f= -0.7884;
+           g=0.9651; h=0.1473; i=0.2164;
+           tx=0.0359; ty=8.3929; tz=0.5532 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 5.4352; y = 8.2183; z = -2.7757 }, (* C5'  *)
+      { x = 5.3830; y = 8.7883; z = -1.8481 }, (* H5'  *)
+      { x = 5.7729; y = 8.7436; z = -3.6691 }, (* H5'' *)
+      { x = 6.4830; y = 7.1518; z = -2.5252 }, (* C4'  *)
+      { x = 7.4749; y = 7.5972; z = -2.4482 }, (* H4'  *)
+      { x = 6.1626; y = 6.4620; z = -1.2827 }, (* O4'  *)
+      { x = 6.5431; y = 5.0992; z = -1.3905 }, (* C1'  *)
+      { x = 7.2871; y = 4.9328; z = -0.6114 }, (* H1'  *)
+      { x = 7.1852; y = 4.8935; z = -2.7592 }, (* C2'  *)
+      { x = 6.8573; y = 3.9363; z = -3.1645 }, (* H2'' *)
+      { x = 8.5780; y = 5.1025; z = -2.6046 }, (* O2'  *)
+      { x = 8.9516; y = 4.7577; z = -1.7902 }, (* H2'  *)
+      { x = 6.5522; y = 6.0300; z = -3.5612 }, (* C3'  *)
+      { x = 5.5420; y = 5.7356; z = -3.8459 }, (* H3'  *)
+      { x = 7.3487; y = 6.4089; z = -4.6867 }, (* O3'  *)
+      { x = 4.7442; y = 0.4514; z = -0.1390 }, (* N1   *)
+      { x = 6.3687; y = 2.1459; z = -0.5926 }, (* N3   *)
+      { x = 5.9795; y = 0.9335; z = -0.2657 }, (* C2   *)
+      { x = 5.3052; y = 2.9471; z = -0.8125 }, (* C4   *)
+      { x = 3.9891; y = 2.5987; z = -0.7230 }, (* C5   *)
+      { x = 3.7016; y = 1.2717; z = -0.3647 }, (* C6 *)
       (A (
-      (    (2.4553),   (0.7925),  (-0.2390)), (* N6   *)
-      (    (3.1770),   (3.6859),  (-1.0198)), (* N7   *)
-      (    (5.3247),   (4.2695),  (-1.1710)), (* N9   *)
-      (    (4.0156),   (4.6415),  (-1.2759)), (* C8   *)
-      (    (6.7198),   (0.1618),  (-0.0547)), (* H2   *)
-      (    (1.6709),   (1.3900),  (-0.4039)), (* H61  *)
-      (    (2.3107),  (-0.1627),  (-0.0373)), (* H62  *)
-      (    (3.4426),   (5.5361),  (-1.5199))) (* H8   *)
+      { x = 2.4553; y = 0.7925; z = -0.2390 }, (* N6   *)
+      { x = 3.1770; y = 3.6859; z = -1.0198 }, (* N7   *)
+      { x = 5.3247; y = 4.2695; z = -1.1710 }, (* N9   *)
+      { x = 4.0156; y = 4.6415; z = -1.2759 }, (* C8   *)
+      { x = 6.7198; y = 0.1618; z = -0.0547 }, (* H2   *)
+      { x = 1.6709; y = 1.3900; z = -0.4039 }, (* H61  *)
+      { x = 2.3107; y = -0.1627; z = -0.0373 }, (* H62  *)
+      { x = 3.4426; y = 5.5361; z = -1.5199 }) (* H8   *)
       )
     )
 
-
 let rA02
-  = (
-      (     (0.5566),   (0.0449),   (0.8296),  (* dgf_base_tfo *)
-            (0.5125),   (0.7673),  (-0.3854),
-           (-0.6538),   (0.6397),   (0.4041),
-           (-9.1161),  (-3.7679),  (-2.9968)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (4.5778),   (6.6594),  (-4.0364)), (* C5'  *)
-      (    (4.9220),   (7.1963),  (-4.9204)), (* H5'  *)
-      (    (3.7996),   (5.9091),  (-4.1764)), (* H5'' *)
-      (    (5.7873),   (5.8869),  (-3.5482)), (* C4'  *)
-      (    (6.0405),   (5.0875),  (-4.2446)), (* H4'  *)
-      (    (6.9135),   (6.8036),  (-3.4310)), (* O4'  *)
-      (    (7.7293),   (6.4084),  (-2.3392)), (* C1'  *)
-      (    (8.7078),   (6.1815),  (-2.7624)), (* H1'  *)
-      (    (7.1305),   (5.1418),  (-1.7347)), (* C2'  *)
-      (    (7.2040),   (5.1982),  (-0.6486)), (* H2'' *)
-      (    (7.7417),   (4.0392),  (-2.3813)), (* O2'  *)
-      (    (8.6785),   (4.1443),  (-2.5630)), (* H2'  *)
-      (    (5.6666),   (5.2728),  (-2.1536)), (* C3'  *)
-      (    (5.1747),   (5.9805),  (-1.4863)), (* H3'  *)
-      (    (4.9997),   (4.0086),  (-2.1973)), (* O3'  *)
-      (   (10.3245),   (8.5459),   (1.5467)), (* N1   *)
-      (    (9.8051),   (6.9432),  (-0.1497)), (* N3   *)
-      (   (10.5175),   (7.4328),   (0.8408)), (* C2   *)
-      (    (8.7523),   (7.7422),  (-0.4228)), (* C4   *)
-      (    (8.4257),   (8.9060),   (0.2099)), (* C5   *)
-      (    (9.2665),   (9.3242),   (1.2540)), (* C6 *)
+  = N(
+      {    a=0.5566; b=0.0449; c=0.8296; (* dgf_base_tfo *)
+           d=0.5125; e=0.7673; f= -0.3854;
+           g= -0.6538; h=0.6397; i=0.4041;
+           tx= -9.1161; ty= -3.7679; tz= -2.9968 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 4.5778; y = 6.6594; z = -4.0364 }, (* C5'  *)
+      { x = 4.9220; y = 7.1963; z = -4.9204 }, (* H5'  *)
+      { x = 3.7996; y = 5.9091; z = -4.1764 }, (* H5'' *)
+      { x = 5.7873; y = 5.8869; z = -3.5482 }, (* C4'  *)
+      { x = 6.0405; y = 5.0875; z = -4.2446 }, (* H4'  *)
+      { x = 6.9135; y = 6.8036; z = -3.4310 }, (* O4'  *)
+      { x = 7.7293; y = 6.4084; z = -2.3392 }, (* C1'  *)
+      { x = 8.7078; y = 6.1815; z = -2.7624 }, (* H1'  *)
+      { x = 7.1305; y = 5.1418; z = -1.7347 }, (* C2'  *)
+      { x = 7.2040; y = 5.1982; z = -0.6486 }, (* H2'' *)
+      { x = 7.7417; y = 4.0392; z = -2.3813 }, (* O2'  *)
+      { x = 8.6785; y = 4.1443; z = -2.5630 }, (* H2'  *)
+      { x = 5.6666; y = 5.2728; z = -2.1536 }, (* C3'  *)
+      { x = 5.1747; y = 5.9805; z = -1.4863 }, (* H3'  *)
+      { x = 4.9997; y = 4.0086; z = -2.1973 }, (* O3'  *)
+      { x = 10.3245; y = 8.5459; z = 1.5467 }, (* N1   *)
+      { x = 9.8051; y = 6.9432; z = -0.1497 }, (* N3   *)
+      { x = 10.5175; y = 7.4328; z = 0.8408 }, (* C2   *)
+      { x = 8.7523; y = 7.7422; z = -0.4228 }, (* C4   *)
+      { x = 8.4257; y = 8.9060; z = 0.2099 }, (* C5   *)
+      { x = 9.2665; y = 9.3242; z = 1.2540 }, (* C6 *)
       (A (
-      (    (9.0664),  (10.4462),   (1.9610)), (* N6   *)
-      (    (7.2750),   (9.4537),  (-0.3428)), (* N7   *)
-      (    (7.7962),   (7.5519),  (-1.3859)), (* N9   *)
-      (    (6.9479),   (8.6157),  (-1.2771)), (* C8   *)
-      (   (11.4063),   (6.9047),   (1.1859)), (* H2   *)
-      (    (8.2845),  (11.0341),   (1.7552)), (* H61  *)
-      (    (9.6584),  (10.6647),   (2.7198)), (* H62  *)
-      (    (6.0430),   (8.9853),  (-1.7594))) (* H8   *)
+      { x = 9.0664; y = 10.4462; z = 1.9610 }, (* N6   *)
+      { x = 7.2750; y = 9.4537; z = -0.3428 }, (* N7   *)
+      { x = 7.7962; y = 7.5519; z = -1.3859 }, (* N9   *)
+      { x = 6.9479; y = 8.6157; z = -1.2771 }, (* C8   *)
+      { x = 11.4063; y = 6.9047; z = 1.1859 }, (* H2   *)
+      { x = 8.2845; y = 11.0341; z = 1.7552 }, (* H61  *)
+      { x = 9.6584; y = 10.6647; z = 2.7198 }, (* H62  *)
+      { x = 6.0430; y = 8.9853; z = -1.7594 }) (* H8   *)
       )
     )
-
 let rA03
-  = (
-      (    (-0.5021),   (0.0731),   (0.8617),  (* dgf_base_tfo *)
-           (-0.8112),   (0.3054),  (-0.4986),
-           (-0.2996),  (-0.9494),  (-0.0940),
-            (6.4273),  (-5.1944),  (-3.7807)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (4.1214),   (6.7116),  (-1.9049)), (* C5'  *)
-      (    (3.3465),   (5.9610),  (-2.0607)), (* H5'  *)
-      (    (4.0789),   (7.2928),  (-0.9837)), (* H5'' *)
-      (    (5.4170),   (5.9293),  (-1.8186)), (* C4'  *)
-      (    (5.4506),   (5.3400),  (-0.9023)), (* H4'  *)
-      (    (5.5067),   (5.0417),  (-2.9703)), (* O4'  *)
-      (    (6.8650),   (4.9152),  (-3.3612)), (* C1'  *)
-      (    (7.1090),   (3.8577),  (-3.2603)), (* H1'  *)
-      (    (7.7152),   (5.7282),  (-2.3894)), (* C2'  *)
-      (    (8.5029),   (6.2356),  (-2.9463)), (* H2'' *)
-      (    (8.1036),   (4.8568),  (-1.3419)), (* O2'  *)
-      (    (8.3270),   (3.9651),  (-1.6184)), (* H2'  *)
-      (    (6.7003),   (6.7565),  (-1.8911)), (* C3'  *)
-      (    (6.5898),   (7.5329),  (-2.6482)), (* H3'  *)
-      (    (7.0505),   (7.2878),  (-0.6105)), (* O3'  *)
-      (    (9.6740),   (4.7656),  (-7.6614)), (* N1   *)
-      (    (9.0739),   (4.3013),  (-5.3941)), (* N3   *)
-      (    (9.8416),   (4.2192),  (-6.4581)), (* C2   *)
-      (    (7.9885),   (5.0632),  (-5.6446)), (* C4   *)
-      (    (7.6822),   (5.6856),  (-6.8194)), (* C5   *)
-      (    (8.5831),   (5.5215),  (-7.8840)), (* C6 *)
+  = N(
+      {    a= -0.5021; b=0.0731; c=0.8617; (* dgf_base_tfo *)
+           d= -0.8112; e=0.3054; f= -0.4986;
+           g= -0.2996; h= -0.9494; i= -0.0940;
+           tx=6.4273; ty= -5.1944; tz= -3.7807 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 4.1214; y = 6.7116; z = -1.9049 }, (* C5'  *)
+      { x = 3.3465; y = 5.9610; z = -2.0607 }, (* H5'  *)
+      { x = 4.0789; y = 7.2928; z = -0.9837 }, (* H5'' *)
+      { x = 5.4170; y = 5.9293; z = -1.8186 }, (* C4'  *)
+      { x = 5.4506; y = 5.3400; z = -0.9023 }, (* H4'  *)
+      { x = 5.5067; y = 5.0417; z = -2.9703 }, (* O4'  *)
+      { x = 6.8650; y = 4.9152; z = -3.3612 }, (* C1'  *)
+      { x = 7.1090; y = 3.8577; z = -3.2603 }, (* H1'  *)
+      { x = 7.7152; y = 5.7282; z = -2.3894 }, (* C2'  *)
+      { x = 8.5029; y = 6.2356; z = -2.9463 }, (* H2'' *)
+      { x = 8.1036; y = 4.8568; z = -1.3419 }, (* O2'  *)
+      { x = 8.3270; y = 3.9651; z = -1.6184 }, (* H2'  *)
+      { x = 6.7003; y = 6.7565; z = -1.8911 }, (* C3'  *)
+      { x = 6.5898; y = 7.5329; z = -2.6482 }, (* H3'  *)
+      { x = 7.0505; y = 7.2878; z = -0.6105 }, (* O3'  *)
+      { x = 9.6740; y = 4.7656; z = -7.6614 }, (* N1   *)
+      { x = 9.0739; y = 4.3013; z = -5.3941 }, (* N3   *)
+      { x = 9.8416; y = 4.2192; z = -6.4581 }, (* C2   *)
+      { x = 7.9885; y = 5.0632; z = -5.6446 }, (* C4   *)
+      { x = 7.6822; y = 5.6856; z = -6.8194 }, (* C5   *)
+      { x = 8.5831; y = 5.5215; z = -7.8840 }, (* C6 *)
       (A (
-      (    (8.4084),   (6.0747),  (-9.0933)), (* N6   *)
-      (    (6.4857),   (6.3816),  (-6.7035)), (* N7   *)
-      (    (6.9740),   (5.3703),  (-4.7760)), (* N9   *)
-      (    (6.1133),   (6.1613),  (-5.4808)), (* C8   *)
-      (   (10.7627),   (3.6375),  (-6.4220)), (* H2   *)
-      (    (7.6031),   (6.6390),  (-9.2733)), (* H61  *)
-      (    (9.1004),   (5.9708),  (-9.7893)), (* H62  *)
-      (    (5.1705),   (6.6830),  (-5.3167))) (* H8   *)
+      { x = 8.4084; y = 6.0747; z = -9.0933 }, (* N6   *)
+      { x = 6.4857; y = 6.3816; z = -6.7035 }, (* N7   *)
+      { x = 6.9740; y = 5.3703; z = -4.7760 }, (* N9   *)
+      { x = 6.1133; y = 6.1613; z = -5.4808 }, (* C8   *)
+      { x = 10.7627; y = 3.6375; z = -6.4220 }, (* H2   *)
+      { x = 7.6031; y = 6.6390; z = -9.2733 }, (* H61  *)
+      { x = 9.1004; y = 5.9708; z = -9.7893 }, (* H62  *)
+      { x = 5.1705; y = 6.6830; z = -5.3167 }) (* H8   *)
       )
     )
 
-
 let rA04
-  = (
-      (    (-0.5426),  (-0.8175),   (0.1929),  (* dgf_base_tfo *)
-            (0.8304),  (-0.5567),  (-0.0237),
-            (0.1267),   (0.1473),   (0.9809),
-           (-0.5075),   (8.3929),   (0.2229)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (5.4352),   (8.2183),  (-2.7757)), (* C5'  *)
-      (    (5.3830),   (8.7883),  (-1.8481)), (* H5'  *)
-      (    (5.7729),   (8.7436),  (-3.6691)), (* H5'' *)
-      (    (6.4830),   (7.1518),  (-2.5252)), (* C4'  *)
-      (    (7.4749),   (7.5972),  (-2.4482)), (* H4'  *)
-      (    (6.1626),   (6.4620),  (-1.2827)), (* O4'  *)
-      (    (6.5431),   (5.0992),  (-1.3905)), (* C1'  *)
-      (    (7.2871),   (4.9328),  (-0.6114)), (* H1'  *)
-      (    (7.1852),   (4.8935),  (-2.7592)), (* C2'  *)
-      (    (6.8573),   (3.9363),  (-3.1645)), (* H2'' *)
-      (    (8.5780),   (5.1025),  (-2.6046)), (* O2'  *)
-      (    (8.9516),   (4.7577),  (-1.7902)), (* H2'  *)
-      (    (6.5522),   (6.0300),  (-3.5612)), (* C3'  *)
-      (    (5.5420),   (5.7356),  (-3.8459)), (* H3'  *)
-      (    (7.3487),   (6.4089),  (-4.6867)), (* O3'  *)
-      (    (3.6343),   (2.6680),   (2.0783)), (* N1   *)
-      (    (5.4505),   (3.9805),   (1.2446)), (* N3   *)
-      (    (4.7540),   (3.3816),   (2.1851)), (* C2   *)
-      (    (4.8805),   (3.7951),   (0.0354)), (* C4   *)
-      (    (3.7416),   (3.0925),  (-0.2305)), (* C5   *)
-      (    (3.0873),   (2.4980),   (0.8606)), (* C6 *)
+  = N(
+      {    a= -0.5426; b= -0.8175; c=0.1929; (* dgf_base_tfo *)
+           d=0.8304; e= -0.5567; f= -0.0237;
+           g=0.1267; h=0.1473; i=0.9809;
+           tx= -0.5075; ty=8.3929; tz=0.2229 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 5.4352; y = 8.2183; z = -2.7757 }, (* C5'  *)
+      { x = 5.3830; y = 8.7883; z = -1.8481 }, (* H5'  *)
+      { x = 5.7729; y = 8.7436; z = -3.6691 }, (* H5'' *)
+      { x = 6.4830; y = 7.1518; z = -2.5252 }, (* C4'  *)
+      { x = 7.4749; y = 7.5972; z = -2.4482 }, (* H4'  *)
+      { x = 6.1626; y = 6.4620; z = -1.2827 }, (* O4'  *)
+      { x = 6.5431; y = 5.0992; z = -1.3905 }, (* C1'  *)
+      { x = 7.2871; y = 4.9328; z = -0.6114 }, (* H1'  *)
+      { x = 7.1852; y = 4.8935; z = -2.7592 }, (* C2'  *)
+      { x = 6.8573; y = 3.9363; z = -3.1645 }, (* H2'' *)
+      { x = 8.5780; y = 5.1025; z = -2.6046 }, (* O2'  *)
+      { x = 8.9516; y = 4.7577; z = -1.7902 }, (* H2'  *)
+      { x = 6.5522; y = 6.0300; z = -3.5612 }, (* C3'  *)
+      { x = 5.5420; y = 5.7356; z = -3.8459 }, (* H3'  *)
+      { x = 7.3487; y = 6.4089; z = -4.6867 }, (* O3'  *)
+      { x = 3.6343; y = 2.6680; z = 2.0783 }, (* N1   *)
+      { x = 5.4505; y = 3.9805; z = 1.2446 }, (* N3   *)
+      { x = 4.7540; y = 3.3816; z = 2.1851 }, (* C2   *)
+      { x = 4.8805; y = 3.7951; z = 0.0354 }, (* C4   *)
+      { x = 3.7416; y = 3.0925; z = -0.2305 }, (* C5   *)
+      { x = 3.0873; y = 2.4980; z = 0.8606 }, (* C6 *)
       (A (
-      (    (1.9600),   (1.7805),   (0.7462)), (* N6   *)
-      (    (3.4605),   (3.1184),  (-1.5906)), (* N7   *)
-      (    (5.3247),   (4.2695),  (-1.1710)), (* N9   *)
-      (    (4.4244),   (3.8244),  (-2.0953)), (* C8   *)
-      (    (5.0814),   (3.4352),   (3.2234)), (* H2   *)
-      (    (1.5423),   (1.6454),  (-0.1520)), (* H61  *)
-      (    (1.5716),   (1.3398),   (1.5392)), (* H62  *)
-      (    (4.2675),   (3.8876),  (-3.1721))) (* H8   *)
+      { x = 1.9600; y = 1.7805; z = 0.7462 }, (* N6   *)
+      { x = 3.4605; y = 3.1184; z = -1.5906 }, (* N7   *)
+      { x = 5.3247; y = 4.2695; z = -1.1710 }, (* N9   *)
+      { x = 4.4244; y = 3.8244; z = -2.0953 }, (* C8   *)
+      { x = 5.0814; y = 3.4352; z = 3.2234 }, (* H2   *)
+      { x = 1.5423; y = 1.6454; z = -0.1520 }, (* H61  *)
+      { x = 1.5716; y = 1.3398; z = 1.5392 }, (* H62  *)
+      { x = 4.2675; y = 3.8876; z = -3.1721 }) (* H8   *)
       )
     )
 
-
 let rA05
-  = (
-      (    (-0.5891),   (0.0449),   (0.8068),  (* dgf_base_tfo *)
-            (0.5375),   (0.7673),   (0.3498),
-           (-0.6034),   (0.6397),  (-0.4762),
-           (-0.3019),  (-3.7679),  (-9.5913)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (4.5778),   (6.6594),  (-4.0364)), (* C5'  *)
-      (    (4.9220),   (7.1963),  (-4.9204)), (* H5'  *)
-      (    (3.7996),   (5.9091),  (-4.1764)), (* H5'' *)
-      (    (5.7873),   (5.8869),  (-3.5482)), (* C4'  *)
-      (    (6.0405),   (5.0875),  (-4.2446)), (* H4'  *)
-      (    (6.9135),   (6.8036),  (-3.4310)), (* O4'  *)
-      (    (7.7293),   (6.4084),  (-2.3392)), (* C1'  *)
-      (    (8.7078),   (6.1815),  (-2.7624)), (* H1'  *)
-      (    (7.1305),   (5.1418),  (-1.7347)), (* C2'  *)
-      (    (7.2040),   (5.1982),  (-0.6486)), (* H2'' *)
-      (    (7.7417),   (4.0392),  (-2.3813)), (* O2'  *)
-      (    (8.6785),   (4.1443),  (-2.5630)), (* H2'  *)
-      (    (5.6666),   (5.2728),  (-2.1536)), (* C3'  *)
-      (    (5.1747),   (5.9805),  (-1.4863)), (* H3'  *)
-      (    (4.9997),   (4.0086),  (-2.1973)), (* O3'  *)
-      (   (10.2594),  (10.6774),  (-1.0056)), (* N1   *)
-      (    (9.7528),   (8.7080),  (-2.2631)), (* N3   *)
-      (   (10.4471),   (9.7876),  (-1.9791)), (* C2   *)
-      (    (8.7271),   (8.5575),  (-1.3991)), (* C4   *)
-      (    (8.4100),   (9.3803),  (-0.3580)), (* C5   *)
-      (    (9.2294),  (10.5030),  (-0.1574)), (* C6 *)
+  = N(
+      {    a= -0.5891; b=0.0449; c=0.8068; (* dgf_base_tfo *)
+           d=0.5375; e=0.7673; f=0.3498;
+           g= -0.6034; h=0.6397; i= -0.4762;
+           tx= -0.3019; ty= -3.7679; tz= -9.5913 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 4.5778; y = 6.6594; z = -4.0364 }, (* C5'  *)
+      { x = 4.9220; y = 7.1963; z = -4.9204 }, (* H5'  *)
+      { x = 3.7996; y = 5.9091; z = -4.1764 }, (* H5'' *)
+      { x = 5.7873; y = 5.8869; z = -3.5482 }, (* C4'  *)
+      { x = 6.0405; y = 5.0875; z = -4.2446 }, (* H4'  *)
+      { x = 6.9135; y = 6.8036; z = -3.4310 }, (* O4'  *)
+      { x = 7.7293; y = 6.4084; z = -2.3392 }, (* C1'  *)
+      { x = 8.7078; y = 6.1815; z = -2.7624 }, (* H1'  *)
+      { x = 7.1305; y = 5.1418; z = -1.7347 }, (* C2'  *)
+      { x = 7.2040; y = 5.1982; z = -0.6486 }, (* H2'' *)
+      { x = 7.7417; y = 4.0392; z = -2.3813 }, (* O2'  *)
+      { x = 8.6785; y = 4.1443; z = -2.5630 }, (* H2'  *)
+      { x = 5.6666; y = 5.2728; z = -2.1536 }, (* C3'  *)
+      { x = 5.1747; y = 5.9805; z = -1.4863 }, (* H3'  *)
+      { x = 4.9997; y = 4.0086; z = -2.1973 }, (* O3'  *)
+      { x = 10.2594; y = 10.6774; z = -1.0056 }, (* N1   *)
+      { x = 9.7528; y = 8.7080; z = -2.2631 }, (* N3   *)
+      { x = 10.4471; y = 9.7876; z = -1.9791 }, (* C2   *)
+      { x = 8.7271; y = 8.5575; z = -1.3991 }, (* C4   *)
+      { x = 8.4100; y = 9.3803; z = -0.3580 }, (* C5   *)
+      { x = 9.2294; y = 10.5030; z = -0.1574 }, (* C6 *)
       (A (
-      (    (9.0349),  (11.3951),   (0.8250)), (* N6   *)
-      (    (7.2891),   (8.9068),   (0.3121)), (* N7   *)
-      (    (7.7962),   (7.5519),  (-1.3859)), (* N9   *)
-      (    (6.9702),   (7.8292),  (-0.3353)), (* C8   *)
-      (   (11.3132),  (10.0537),  (-2.5851)), (* H2   *)
-      (    (8.2741),  (11.2784),   (1.4629)), (* H61  *)
-      (    (9.6733),  (12.1368),   (0.9529)), (* H62  *)
-      (    (6.0888),   (7.3990),   (0.1403))) (* H8   *)
+      { x = 9.0349; y = 11.3951; z = 0.8250 }, (* N6   *)
+      { x = 7.2891; y = 8.9068; z = 0.3121 }, (* N7   *)
+      { x = 7.7962; y = 7.5519; z = -1.3859 }, (* N9   *)
+      { x = 6.9702; y = 7.8292; z = -0.3353 }, (* C8   *)
+      { x = 11.3132; y = 10.0537; z = -2.5851 }, (* H2   *)
+      { x = 8.2741; y = 11.2784; z = 1.4629 }, (* H61  *)
+      { x = 9.6733; y = 12.1368; z = 0.9529 }, (* H62  *)
+      { x = 6.0888; y = 7.3990; z = 0.1403 }) (* H8   *)
       )
     )
 
-
 let rA06
-  = (
-      (    (-0.9815),   (0.0731),  (-0.1772),  (* dgf_base_tfo *)
-            (0.1912),   (0.3054),  (-0.9328),
-           (-0.0141),  (-0.9494),  (-0.3137),
-            (5.7506),  (-5.1944),   (4.7470)),
-      (    (-0.8143),  (-0.5091),  (-0.2788),  (* P_O3'_275_tfo *)
-           (-0.0433),  (-0.4257),   (0.9038),
-           (-0.5788),   (0.7480),   (0.3246),
-            (1.5227),   (6.9114),  (-7.0765)),
-      (     (0.3822),  (-0.7477),   (0.5430),  (* P_O3'_180_tfo *)
-            (0.4552),   (0.6637),   (0.5935),
-           (-0.8042),   (0.0203),   (0.5941),
-           (-6.9472),  (-4.1186),  (-5.9108)),
-      (     (0.5640),   (0.8007),  (-0.2022),  (* P_O3'_60_tfo *)
-           (-0.8247),   (0.5587),  (-0.0878),
-            (0.0426),   (0.2162),   (0.9754),
-            (6.2694),  (-7.0540),   (3.3316)),
-      (    (2.8930),   (8.5380),  (-3.3280)), (* P    *)
-      (    (1.6980),   (7.6960),  (-3.5570)), (* O1P  *)
-      (    (3.2260),   (9.5010),  (-4.4020)), (* O2P  *)
-      (    (4.1590),   (7.6040),  (-3.0340)), (* O5'  *)
-      (    (4.1214),   (6.7116),  (-1.9049)), (* C5'  *)
-      (    (3.3465),   (5.9610),  (-2.0607)), (* H5'  *)
-      (    (4.0789),   (7.2928),  (-0.9837)), (* H5'' *)
-      (    (5.4170),   (5.9293),  (-1.8186)), (* C4'  *)
-      (    (5.4506),   (5.3400),  (-0.9023)), (* H4'  *)
-      (    (5.5067),   (5.0417),  (-2.9703)), (* O4'  *)
-      (    (6.8650),   (4.9152),  (-3.3612)), (* C1'  *)
-      (    (7.1090),   (3.8577),  (-3.2603)), (* H1'  *)
-      (    (7.7152),   (5.7282),  (-2.3894)), (* C2'  *)
-      (    (8.5029),   (6.2356),  (-2.9463)), (* H2'' *)
-      (    (8.1036),   (4.8568),  (-1.3419)), (* O2'  *)
-      (    (8.3270),   (3.9651),  (-1.6184)), (* H2'  *)
-      (    (6.7003),   (6.7565),  (-1.8911)), (* C3'  *)
-      (    (6.5898),   (7.5329),  (-2.6482)), (* H3'  *)
-      (    (7.0505),   (7.2878),  (-0.6105)), (* O3'  *)
-      (    (6.6624),   (3.5061),  (-8.2986)), (* N1   *)
-      (    (6.5810),   (3.2570),  (-5.9221)), (* N3   *)
-      (    (6.5151),   (2.8263),  (-7.1625)), (* C2   *)
-      (    (6.8364),   (4.5817),  (-5.8882)), (* C4   *)
-      (    (7.0116),   (5.4064),  (-6.9609)), (* C5   *)
-      (    (6.9173),   (4.8260),  (-8.2361)), (* C6 *)
+  = N(
+      {    a= -0.9815; b=0.0731; c= -0.1772; (* dgf_base_tfo *)
+           d=0.1912; e=0.3054; f= -0.9328;
+           g= -0.0141; h= -0.9494; i= -0.3137;
+           tx=5.7506; ty= -5.1944; tz=4.7470 },
+      {    a= -0.8143; b= -0.5091; c= -0.2788; (* P_O3'_275_tfo *)
+           d= -0.0433; e= -0.4257; f=0.9038;
+           g= -0.5788; h=0.7480; i=0.3246;
+           tx=1.5227; ty=6.9114; tz= -7.0765 },
+      {    a=0.3822; b= -0.7477; c=0.5430; (* P_O3'_180_tfo *)
+           d=0.4552; e=0.6637; f=0.5935;
+           g= -0.8042; h=0.0203; i=0.5941;
+           tx= -6.9472; ty= -4.1186; tz= -5.9108 },
+      {    a=0.5640; b=0.8007; c= -0.2022; (* P_O3'_60_tfo *)
+           d= -0.8247; e=0.5587; f= -0.0878;
+           g=0.0426; h=0.2162; i=0.9754;
+           tx=6.2694; ty= -7.0540; tz=3.3316 },
+      { x = 2.8930; y = 8.5380; z = -3.3280 }, (* P    *)
+      { x = 1.6980; y = 7.6960; z = -3.5570 }, (* O1P  *)
+      { x = 3.2260; y = 9.5010; z = -4.4020 }, (* O2P  *)
+      { x = 4.1590; y = 7.6040; z = -3.0340 }, (* O5'  *)
+      { x = 4.1214; y = 6.7116; z = -1.9049 }, (* C5'  *)
+      { x = 3.3465; y = 5.9610; z = -2.0607 }, (* H5'  *)
+      { x = 4.0789; y = 7.2928; z = -0.9837 }, (* H5'' *)
+      { x = 5.4170; y = 5.9293; z = -1.8186 }, (* C4'  *)
+      { x = 5.4506; y = 5.3400; z = -0.9023 }, (* H4'  *)
+      { x = 5.5067; y = 5.0417; z = -2.9703 }, (* O4'  *)
+      { x = 6.8650; y = 4.9152; z = -3.3612 }, (* C1'  *)
+      { x = 7.1090; y = 3.8577; z = -3.2603 }, (* H1'  *)
+      { x = 7.7152; y = 5.7282; z = -2.3894 }, (* C2'  *)
+      { x = 8.5029; y = 6.2356; z = -2.9463 }, (* H2'' *)
+      { x = 8.1036; y = 4.8568; z = -1.3419 }, (* O2'  *)
+      { x = 8.3270; y = 3.9651; z = -1.6184 }, (* H2'  *)
+      { x = 6.7003; y = 6.7565; z = -1.8911 }, (* C3'  *)
+      { x = 6.5898; y = 7.5329; z = -2.6482 }, (* H3'  *)
+      { x = 7.0505; y = 7.2878; z = -0.6105 }, (* O3'  *)
+      { x = 6.6624; y = 3.5061; z = -8.2986 }, (* N1   *)
+      { x = 6.5810; y = 3.2570; z = -5.9221 }, (* N3   *)
+      { x = 6.5151; y = 2.8263; z = -7.1625 }, (* C2   *)
+      { x = 6.8364; y = 4.5817; z = -5.8882 }, (* C4   *)
+      { x = 7.0116; y = 5.4064; z = -6.9609 }, (* C5   *)
+      { x = 6.9173; y = 4.8260; z = -8.2361 }, (* C6 *)
       (A (
-      (    (7.0668),   (5.5163),  (-9.3763)), (* N6   *)
-      (    (7.2573),   (6.7070),  (-6.5394)), (* N7   *)
-      (    (6.9740),   (5.3703),  (-4.7760)), (* N9   *)
-      (    (7.2238),   (6.6275),  (-5.2453)), (* C8   *)
-      (    (6.3146),   (1.7741),  (-7.3641)), (* H2   *)
-      (    (7.2568),   (6.4972),  (-9.3456)), (* H61  *)
-      (    (7.0437),   (5.0478), (-10.2446)), (* H62  *)
-      (    (7.4108),   (7.6227),  (-4.8418))) (* H8   *)
+      { x = 7.0668; y = 5.5163; z = -9.3763 }, (* N6   *)
+      { x = 7.2573; y = 6.7070; z = -6.5394 }, (* N7   *)
+      { x = 6.9740; y = 5.3703; z = -4.7760 }, (* N9   *)
+      { x = 7.2238; y = 6.6275; z = -5.2453 }, (* C8   *)
+      { x = 6.3146; y = 1.7741; z = -7.3641 }, (* H2   *)
+      { x = 7.2568; y = 6.4972; z = -9.3456 }, (* H61  *)
+      { x = 7.0437; y = 5.0478; z = -10.2446 }, (* H62  *)
+      { x = 7.4108; y = 7.6227; z = -4.8418 }) (* H8   *)
       )
     )
 
-
 let rA07
-  = (
-      (     (0.2379),   (0.1310),  (-0.9624),  (* dgf_base_tfo *)
-           (-0.5876),  (-0.7696),  (-0.2499),
-           (-0.7734),   (0.6249),  (-0.1061),
-           (30.9870), (-26.9344),  (42.6416)),
-      (     (0.7529),   (0.1548),   (0.6397),  (* P_O3'_275_tfo *)
-            (0.2952),  (-0.9481),  (-0.1180),
-            (0.5882),   (0.2777),  (-0.7595),
-          (-58.8919), (-11.3095),   (6.0866)),
-      (    (-0.0239),   (0.9667),  (-0.2546),  (* P_O3'_180_tfo *)
-            (0.9731),  (-0.0359),  (-0.2275),
-           (-0.2290),  (-0.2532),  (-0.9399),
-            (3.5401), (-29.7913),  (52.2796)),
-      (    (-0.8912),  (-0.4531),   (0.0242),  (* P_O3'_60_tfo *)
-           (-0.1183),   (0.1805),  (-0.9764),
-            (0.4380),  (-0.8730),  (-0.2145),
-           (19.9023),  (54.8054),  (15.2799)),
-      (   (41.8210),   (8.3880),  (43.5890)), (* P    *)
-      (   (42.5400),   (8.0450),  (44.8330)), (* O1P  *)
-      (   (42.2470),   (9.6920),  (42.9910)), (* O2P  *)
-      (   (40.2550),   (8.2030),  (43.7340)), (* O5'  *)
-      (   (39.3505),   (8.4697),  (42.6565)), (* C5'  *)
-      (   (39.1377),   (7.5433),  (42.1230)), (* H5'  *)
-      (   (39.7203),   (9.3119),  (42.0717)), (* H5'' *)
-      (   (38.0405),   (8.9195),  (43.2869)), (* C4'  *)
-      (   (37.3687),   (9.3036),  (42.5193)), (* H4'  *)
-      (   (37.4319),   (7.8146),  (43.9387)), (* O4'  *)
-      (   (37.1959),   (8.1354),  (45.3237)), (* C1'  *)
-      (   (36.1788),   (8.5202),  (45.3970)), (* H1'  *)
-      (   (38.1721),   (9.2328),  (45.6504)), (* C2'  *)
-      (   (39.1555),   (8.7939),  (45.8188)), (* H2'' *)
-      (   (37.7862),  (10.0617),  (46.7013)), (* O2'  *)
-      (   (37.3087),   (9.6229),  (47.4092)), (* H2'  *)
-      (   (38.1844),  (10.0268),  (44.3367)), (* C3'  *)
-      (   (39.1578),  (10.5054),  (44.2289)), (* H3'  *)
-      (   (37.0547),  (10.9127),  (44.3441)), (* O3'  *)
-      (   (34.8811),   (4.2072),  (47.5784)), (* N1   *)
-      (   (35.1084),   (6.1336),  (46.1818)), (* N3   *)
-      (   (34.4108),   (5.1360),  (46.7207)), (* C2   *)
-      (   (36.3908),   (6.1224),  (46.6053)), (* C4   *)
-      (   (36.9819),   (5.2334),  (47.4697)), (* C5   *)
-      (   (36.1786),   (4.1985),  (48.0035)), (* C6 *)
+  = N(
+      {    a=0.2379; b=0.1310; c= -0.9624; (* dgf_base_tfo *)
+           d= -0.5876; e= -0.7696; f= -0.2499;
+           g= -0.7734; h=0.6249; i= -0.1061;
+           tx=30.9870; ty= -26.9344; tz=42.6416 },
+      {    a=0.7529; b=0.1548; c=0.6397; (* P_O3'_275_tfo *)
+           d=0.2952; e= -0.9481; f= -0.1180;
+           g=0.5882; h=0.2777; i= -0.7595;
+           tx= -58.8919; ty= -11.3095; tz=6.0866 },
+      {    a= -0.0239; b=0.9667; c= -0.2546; (* P_O3'_180_tfo *)
+           d=0.9731; e= -0.0359; f= -0.2275;
+           g= -0.2290; h= -0.2532; i= -0.9399;
+           tx=3.5401; ty= -29.7913; tz=52.2796 },
+      {    a= -0.8912; b= -0.4531; c=0.0242; (* P_O3'_60_tfo *)
+           d= -0.1183; e=0.1805; f= -0.9764;
+           g=0.4380; h= -0.8730; i= -0.2145;
+           tx=19.9023; ty=54.8054; tz=15.2799 },
+      { x = 41.8210; y = 8.3880; z = 43.5890 }, (* P    *)
+      { x = 42.5400; y = 8.0450; z = 44.8330 }, (* O1P  *)
+      { x = 42.2470; y = 9.6920; z = 42.9910 }, (* O2P  *)
+      { x = 40.2550; y = 8.2030; z = 43.7340 }, (* O5'  *)
+      { x = 39.3505; y = 8.4697; z = 42.6565 }, (* C5'  *)
+      { x = 39.1377; y = 7.5433; z = 42.1230 }, (* H5'  *)
+      { x = 39.7203; y = 9.3119; z = 42.0717 }, (* H5'' *)
+      { x = 38.0405; y = 8.9195; z = 43.2869 }, (* C4'  *)
+      { x = 37.3687; y = 9.3036; z = 42.5193 }, (* H4'  *)
+      { x = 37.4319; y = 7.8146; z = 43.9387 }, (* O4'  *)
+      { x = 37.1959; y = 8.1354; z = 45.3237 }, (* C1'  *)
+      { x = 36.1788; y = 8.5202; z = 45.3970 }, (* H1'  *)
+      { x = 38.1721; y = 9.2328; z = 45.6504 }, (* C2'  *)
+      { x = 39.1555; y = 8.7939; z = 45.8188 }, (* H2'' *)
+      { x = 37.7862; y = 10.0617; z = 46.7013 }, (* O2'  *)
+      { x = 37.3087; y = 9.6229; z = 47.4092 }, (* H2'  *)
+      { x = 38.1844; y = 10.0268; z = 44.3367 }, (* C3'  *)
+      { x = 39.1578; y = 10.5054; z = 44.2289 }, (* H3'  *)
+      { x = 37.0547; y = 10.9127; z = 44.3441 }, (* O3'  *)
+      { x = 34.8811; y = 4.2072; z = 47.5784 }, (* N1   *)
+      { x = 35.1084; y = 6.1336; z = 46.1818 }, (* N3   *)
+      { x = 34.4108; y = 5.1360; z = 46.7207 }, (* C2   *)
+      { x = 36.3908; y = 6.1224; z = 46.6053 }, (* C4   *)
+      { x = 36.9819; y = 5.2334; z = 47.4697 }, (* C5   *)
+      { x = 36.1786; y = 4.1985; z = 48.0035 }, (* C6 *)
       (A (
-      (   (36.6103),   (3.2749),  (48.8452)), (* N6   *)
-      (   (38.3236),   (5.5522),  (47.6595)), (* N7   *)
-      (   (37.3887),   (7.0024),  (46.2437)), (* N9   *)
-      (   (38.5055),   (6.6096),  (46.9057)), (* C8   *)
-      (   (33.3553),   (5.0152),  (46.4771)), (* H2   *)
-      (   (37.5730),   (3.2804),  (49.1507)), (* H61  *)
-      (   (35.9775),   (2.5638),  (49.1828)), (* H62  *)
-      (   (39.5461),   (6.9184),  (47.0041))) (* H8   *)
+      { x = 36.6103; y = 3.2749; z = 48.8452 }, (* N6   *)
+      { x = 38.3236; y = 5.5522; z = 47.6595 }, (* N7   *)
+      { x = 37.3887; y = 7.0024; z = 46.2437 }, (* N9   *)
+      { x = 38.5055; y = 6.6096; z = 46.9057 }, (* C8   *)
+      { x = 33.3553; y = 5.0152; z = 46.4771 }, (* H2   *)
+      { x = 37.5730; y = 3.2804; z = 49.1507 }, (* H61  *)
+      { x = 35.9775; y = 2.5638; z = 49.1828 }, (* H62  *)
+      { x = 39.5461; y = 6.9184; z = 47.0041 }) (* H8   *)
       )
     )
 
-
 let rA08
-  = (
-      (     (0.1084),  (-0.0895),  (-0.9901),  (* dgf_base_tfo *)
-            (0.9789),  (-0.1638),   (0.1220),
-           (-0.1731),  (-0.9824),   (0.0698),
-           (-2.9039),  (47.2655),  (33.0094)),
-      (     (0.7529),   (0.1548),   (0.6397),  (* P_O3'_275_tfo *)
-            (0.2952),  (-0.9481),  (-0.1180),
-            (0.5882),   (0.2777),  (-0.7595),
-          (-58.8919), (-11.3095),   (6.0866)),
-      (    (-0.0239),   (0.9667),  (-0.2546),  (* P_O3'_180_tfo *)
-            (0.9731),  (-0.0359),  (-0.2275),
-           (-0.2290),  (-0.2532),  (-0.9399),
-            (3.5401), (-29.7913),  (52.2796)),
-      (    (-0.8912),  (-0.4531),   (0.0242),  (* P_O3'_60_tfo *)
-           (-0.1183),   (0.1805),  (-0.9764),
-            (0.4380),  (-0.8730),  (-0.2145),
-           (19.9023),  (54.8054),  (15.2799)),
-      (   (41.8210),   (8.3880),  (43.5890)), (* P    *)
-      (   (42.5400),   (8.0450),  (44.8330)), (* O1P  *)
-      (   (42.2470),   (9.6920),  (42.9910)), (* O2P  *)
-      (   (40.2550),   (8.2030),  (43.7340)), (* O5'  *)
-      (   (39.4850),   (8.9301),  (44.6977)), (* C5'  *)
-      (   (39.0638),   (9.8199),  (44.2296)), (* H5'  *)
-      (   (40.0757),   (9.0713),  (45.6029)), (* H5'' *)
-      (   (38.3102),   (8.0414),  (45.0789)), (* C4'  *)
-      (   (37.7842),   (8.4637),  (45.9351)), (* H4'  *)
-      (   (37.4200),   (7.9453),  (43.9769)), (* O4'  *)
-      (   (37.2249),   (6.5609),  (43.6273)), (* C1'  *)
-      (   (36.3360),   (6.2168),  (44.1561)), (* H1'  *)
-      (   (38.4347),   (5.8414),  (44.1590)), (* C2'  *)
-      (   (39.2688),   (5.9974),  (43.4749)), (* H2'' *)
-      (   (38.2344),   (4.4907),  (44.4348)), (* O2'  *)
-      (   (37.6374),   (4.0386),  (43.8341)), (* H2'  *)
-      (   (38.6926),   (6.6079),  (45.4637)), (* C3'  *)
-      (   (39.7585),   (6.5640),  (45.6877)), (* H3'  *)
-      (   (37.8238),   (6.0705),  (46.4723)), (* O3'  *)
-      (   (33.9162),   (6.2598),  (39.7758)), (* N1   *)
-      (   (34.6709),   (6.5759),  (42.0215)), (* N3   *)
-      (   (33.7257),   (6.5186),  (41.0858)), (* C2   *)
-      (   (35.8935),   (6.3324),  (41.5018)), (* C4   *)
-      (   (36.2105),   (6.0601),  (40.1932)), (* C5   *)
-      (   (35.1538),   (6.0151),  (39.2537)), (* C6 *)
+  = N(
+      {    a=0.1084; b= -0.0895; c= -0.9901; (* dgf_base_tfo *)
+           d=0.9789; e= -0.1638; f=0.1220;
+           g= -0.1731; h= -0.9824; i=0.0698;
+           tx= -2.9039; ty=47.2655; tz=33.0094 },
+      {    a=0.7529; b=0.1548; c=0.6397; (* P_O3'_275_tfo *)
+           d=0.2952; e= -0.9481; f= -0.1180;
+           g=0.5882; h=0.2777; i= -0.7595;
+           tx= -58.8919; ty= -11.3095; tz=6.0866 },
+      {    a= -0.0239; b=0.9667; c= -0.2546; (* P_O3'_180_tfo *)
+           d=0.9731; e= -0.0359; f= -0.2275;
+           g= -0.2290; h= -0.2532; i= -0.9399;
+           tx=3.5401; ty= -29.7913; tz=52.2796 },
+      {    a= -0.8912; b= -0.4531; c=0.0242; (* P_O3'_60_tfo *)
+           d= -0.1183; e=0.1805; f= -0.9764;
+           g=0.4380; h= -0.8730; i= -0.2145;
+           tx=19.9023; ty=54.8054; tz=15.2799 },
+      { x = 41.8210; y = 8.3880; z = 43.5890 }, (* P    *)
+      { x = 42.5400; y = 8.0450; z = 44.8330 }, (* O1P  *)
+      { x = 42.2470; y = 9.6920; z = 42.9910 }, (* O2P  *)
+      { x = 40.2550; y = 8.2030; z = 43.7340 }, (* O5'  *)
+      { x = 39.4850; y = 8.9301; z = 44.6977 }, (* C5'  *)
+      { x = 39.0638; y = 9.8199; z = 44.2296 }, (* H5'  *)
+      { x = 40.0757; y = 9.0713; z = 45.6029 }, (* H5'' *)
+      { x = 38.3102; y = 8.0414; z = 45.0789 }, (* C4'  *)
+      { x = 37.7842; y = 8.4637; z = 45.9351 }, (* H4'  *)
+      { x = 37.4200; y = 7.9453; z = 43.9769 }, (* O4'  *)
+      { x = 37.2249; y = 6.5609; z = 43.6273 }, (* C1'  *)
+      { x = 36.3360; y = 6.2168; z = 44.1561 }, (* H1'  *)
+      { x = 38.4347; y = 5.8414; z = 44.1590 }, (* C2'  *)
+      { x = 39.2688; y = 5.9974; z = 43.4749 }, (* H2'' *)
+      { x = 38.2344; y = 4.4907; z = 44.4348 }, (* O2'  *)
+      { x = 37.6374; y = 4.0386; z = 43.8341 }, (* H2'  *)
+      { x = 38.6926; y = 6.6079; z = 45.4637 }, (* C3'  *)
+      { x = 39.7585; y = 6.5640; z = 45.6877 }, (* H3'  *)
+      { x = 37.8238; y = 6.0705; z = 46.4723 }, (* O3'  *)
+      { x = 33.9162; y = 6.2598; z = 39.7758 }, (* N1   *)
+      { x = 34.6709; y = 6.5759; z = 42.0215 }, (* N3   *)
+      { x = 33.7257; y = 6.5186; z = 41.0858 }, (* C2   *)
+      { x = 35.8935; y = 6.3324; z = 41.5018 }, (* C4   *)
+      { x = 36.2105; y = 6.0601; z = 40.1932 }, (* C5   *)
+      { x = 35.1538; y = 6.0151; z = 39.2537 }, (* C6 *)
       (A (
-      (   (35.3088),   (5.7642),  (37.9649)), (* N6   *)
-      (   (37.5818),   (5.8677),  (40.0507)), (* N7   *)
-      (   (37.0932),   (6.3197),  (42.1810)), (* N9   *)
-      (   (38.0509),   (6.0354),  (41.2635)), (* C8   *)
-      (   (32.6830),   (6.6898),  (41.3532)), (* H2   *)
-      (   (36.2305),   (5.5855),  (37.5925)), (* H61  *)
-      (   (34.5056),   (5.7512),  (37.3528)), (* H62  *)
-      (   (39.1318),   (5.8993),  (41.2285))) (* H8   *)
+      { x = 35.3088; y = 5.7642; z = 37.9649 }, (* N6   *)
+      { x = 37.5818; y = 5.8677; z = 40.0507 }, (* N7   *)
+      { x = 37.0932; y = 6.3197; z = 42.1810 }, (* N9   *)
+      { x = 38.0509; y = 6.0354; z = 41.2635 }, (* C8   *)
+      { x = 32.6830; y = 6.6898; z = 41.3532 }, (* H2   *)
+      { x = 36.2305; y = 5.5855; z = 37.5925 }, (* H61  *)
+      { x = 34.5056; y = 5.7512; z = 37.3528 }, (* H62  *)
+      { x = 39.1318; y = 5.8993; z = 41.2285 }) (* H8   *)
       )
     )
 
-
 let rA09
-  = (
-      (     (0.8467),   (0.4166),  (-0.3311),  (* dgf_base_tfo *)
-           (-0.3962),   (0.9089),   (0.1303),
-            (0.3552),   (0.0209),   (0.9346),
-          (-42.7319), (-26.6223), (-29.8163)),
-      (     (0.7529),   (0.1548),   (0.6397),  (* P_O3'_275_tfo *)
-            (0.2952),  (-0.9481),  (-0.1180),
-            (0.5882),   (0.2777),  (-0.7595),
-          (-58.8919), (-11.3095),   (6.0866)),
-      (    (-0.0239),   (0.9667),  (-0.2546),  (* P_O3'_180_tfo *)
-            (0.9731),  (-0.0359),  (-0.2275),
-           (-0.2290),  (-0.2532),  (-0.9399),
-            (3.5401), (-29.7913),  (52.2796)),
-      (    (-0.8912),  (-0.4531),   (0.0242),  (* P_O3'_60_tfo *)
-           (-0.1183),   (0.1805),  (-0.9764),
-            (0.4380),  (-0.8730),  (-0.2145),
-           (19.9023),  (54.8054),  (15.2799)),
-      (   (41.8210),   (8.3880),  (43.5890)), (* P    *)
-      (   (42.5400),   (8.0450),  (44.8330)), (* O1P  *)
-      (   (42.2470),   (9.6920),  (42.9910)), (* O2P  *)
-      (   (40.2550),   (8.2030),  (43.7340)), (* O5'  *)
-      (   (39.3505),   (8.4697),  (42.6565)), (* C5'  *)
-      (   (39.1377),   (7.5433),  (42.1230)), (* H5'  *)
-      (   (39.7203),   (9.3119),  (42.0717)), (* H5'' *)
-      (   (38.0405),   (8.9195),  (43.2869)), (* C4'  *)
-      (   (37.6479),   (8.1347),  (43.9335)), (* H4'  *)
-      (   (38.2691),  (10.0933),  (44.0524)), (* O4'  *)
-      (   (37.3999),  (11.1488),  (43.5973)), (* C1'  *)
-      (   (36.5061),  (11.1221),  (44.2206)), (* H1'  *)
-      (   (37.0364),  (10.7838),  (42.1836)), (* C2'  *)
-      (   (37.8636),  (11.0489),  (41.5252)), (* H2'' *)
-      (   (35.8275),  (11.3133),  (41.7379)), (* O2'  *)
-      (   (35.6214),  (12.1896),  (42.0714)), (* H2'  *)
-      (   (36.9316),   (9.2556),  (42.2837)), (* C3'  *)
-      (   (37.1778),   (8.8260),  (41.3127)), (* H3'  *)
-      (   (35.6285),   (8.9334),  (42.7926)), (* O3'  *)
-      (   (38.1482),  (15.2833),  (46.4641)), (* N1   *)
-      (   (37.3641),  (13.0968),  (45.9007)), (* N3   *)
-      (   (37.5032),  (14.1288),  (46.7300)), (* C2   *)
-      (   (37.9570),  (13.3377),  (44.7113)), (* C4   *)
-      (   (38.6397),  (14.4660),  (44.3267)), (* C5   *)
-      (   (38.7473),  (15.5229),  (45.2609)), (* C6 *)
+  = N(
+      {    a=0.8467; b=0.4166; c= -0.3311; (* dgf_base_tfo *)
+           d= -0.3962; e=0.9089; f=0.1303;
+           g=0.3552; h=0.0209; i=0.9346;
+           tx= -42.7319; ty= -26.6223; tz= -29.8163 },
+      {    a=0.7529; b=0.1548; c=0.6397; (* P_O3'_275_tfo *)
+           d=0.2952; e= -0.9481; f= -0.1180;
+           g=0.5882; h=0.2777; i= -0.7595;
+           tx= -58.8919; ty= -11.3095; tz=6.0866 },
+      {    a= -0.0239; b=0.9667; c= -0.2546; (* P_O3'_180_tfo *)
+           d=0.9731; e= -0.0359; f= -0.2275;
+           g= -0.2290; h= -0.2532; i= -0.9399;
+           tx=3.5401; ty= -29.7913; tz=52.2796 },
+      {    a= -0.8912; b= -0.4531; c=0.0242; (* P_O3'_60_tfo *)
+           d= -0.1183; e=0.1805; f= -0.9764;
+           g=0.4380; h= -0.8730; i= -0.2145;
+           tx=19.9023; ty=54.8054; tz=15.2799 },
+      { x = 41.8210; y = 8.3880; z = 43.5890 }, (* P    *)
+      { x = 42.5400; y = 8.0450; z = 44.8330 }, (* O1P  *)
+      { x = 42.2470; y = 9.6920; z = 42.9910 }, (* O2P  *)
+      { x = 40.2550; y = 8.2030; z = 43.7340 }, (* O5'  *)
+      { x = 39.3505; y = 8.4697; z = 42.6565 }, (* C5'  *)
+      { x = 39.1377; y = 7.5433; z = 42.1230 }, (* H5'  *)
+      { x = 39.7203; y = 9.3119; z = 42.0717 }, (* H5'' *)
+      { x = 38.0405; y = 8.9195; z = 43.2869 }, (* C4'  *)
+      { x = 37.6479; y = 8.1347; z = 43.9335 }, (* H4'  *)
+      { x = 38.2691; y = 10.0933; z = 44.0524 }, (* O4'  *)
+      { x = 37.3999; y = 11.1488; z = 43.5973 }, (* C1'  *)
+      { x = 36.5061; y = 11.1221; z = 44.2206 }, (* H1'  *)
+      { x = 37.0364; y = 10.7838; z = 42.1836 }, (* C2'  *)
+      { x = 37.8636; y = 11.0489; z = 41.5252 }, (* H2'' *)
+      { x = 35.8275; y = 11.3133; z = 41.7379 }, (* O2'  *)
+      { x = 35.6214; y = 12.1896; z = 42.0714 }, (* H2'  *)
+      { x = 36.9316; y = 9.2556; z = 42.2837 }, (* C3'  *)
+      { x = 37.1778; y = 8.8260; z = 41.3127 }, (* H3'  *)
+      { x = 35.6285; y = 8.9334; z = 42.7926 }, (* O3'  *)
+      { x = 38.1482; y = 15.2833; z = 46.4641 }, (* N1   *)
+      { x = 37.3641; y = 13.0968; z = 45.9007 }, (* N3   *)
+      { x = 37.5032; y = 14.1288; z = 46.7300 }, (* C2   *)
+      { x = 37.9570; y = 13.3377; z = 44.7113 }, (* C4   *)
+      { x = 38.6397; y = 14.4660; z = 44.3267 }, (* C5   *)
+      { x = 38.7473; y = 15.5229; z = 45.2609 }, (* C6 *)
       (A (
-      (   (39.3720),  (16.6649),  (45.0297)), (* N6   *)
-      (   (39.1079),  (14.3351),  (43.0223)), (* N7   *)
-      (   (38.0132),  (12.4868),  (43.6280)), (* N9   *)
-      (   (38.7058),  (13.1402),  (42.6620)), (* C8   *)
-      (   (37.0731),  (14.0857),  (47.7306)), (* H2   *)
-      (   (39.8113),  (16.8281),  (44.1350)), (* H61  *)
-      (   (39.4100),  (17.3741),  (45.7478)), (* H62  *)
-      (   (39.0412),  (12.9660),  (41.6397))) (* H8   *)
+      { x = 39.3720; y = 16.6649; z = 45.0297 }, (* N6   *)
+      { x = 39.1079; y = 14.3351; z = 43.0223 }, (* N7   *)
+      { x = 38.0132; y = 12.4868; z = 43.6280 }, (* N9   *)
+      { x = 38.7058; y = 13.1402; z = 42.6620 }, (* C8   *)
+      { x = 37.0731; y = 14.0857; z = 47.7306 }, (* H2   *)
+      { x = 39.8113; y = 16.8281; z = 44.1350 }, (* H61  *)
+      { x = 39.4100; y = 17.3741; z = 45.7478 }, (* H62  *)
+      { x = 39.0412; y = 12.9660; z = 41.6397 }) (* H8   *)
       )
     )
 
-
 let rA10
-  = (
-      (     (0.7063),   (0.6317),  (-0.3196),  (* dgf_base_tfo *)
-           (-0.0403),  (-0.4149),  (-0.9090),
-           (-0.7068),   (0.6549),  (-0.2676),
-            (6.4402), (-52.1496),  (30.8246)),
-      (     (0.7529),   (0.1548),   (0.6397),  (* P_O3'_275_tfo *)
-            (0.2952),  (-0.9481),  (-0.1180),
-            (0.5882),   (0.2777),  (-0.7595),
-          (-58.8919), (-11.3095),   (6.0866)),
-      (    (-0.0239),   (0.9667),  (-0.2546),  (* P_O3'_180_tfo *)
-            (0.9731),  (-0.0359),  (-0.2275),
-           (-0.2290),  (-0.2532),  (-0.9399),
-            (3.5401), (-29.7913),  (52.2796)),
-      (    (-0.8912),  (-0.4531),   (0.0242),  (* P_O3'_60_tfo *)
-           (-0.1183),   (0.1805),  (-0.9764),
-            (0.4380),  (-0.8730),  (-0.2145),
-           (19.9023),  (54.8054),  (15.2799)),
-      (   (41.8210),   (8.3880),  (43.5890)), (* P    *)
-      (   (42.5400),   (8.0450),  (44.8330)), (* O1P  *)
-      (   (42.2470),   (9.6920),  (42.9910)), (* O2P  *)
-      (   (40.2550),   (8.2030),  (43.7340)), (* O5'  *)
-      (   (39.4850),   (8.9301),  (44.6977)), (* C5'  *)
-      (   (39.0638),   (9.8199),  (44.2296)), (* H5'  *)
-      (   (40.0757),   (9.0713),  (45.6029)), (* H5'' *)
-      (   (38.3102),   (8.0414),  (45.0789)), (* C4'  *)
-      (   (37.7099),   (7.8166),  (44.1973)), (* H4'  *)
-      (   (38.8012),   (6.8321),  (45.6380)), (* O4'  *)
-      (   (38.2431),   (6.6413),  (46.9529)), (* C1'  *)
-      (   (37.3505),   (6.0262),  (46.8385)), (* H1'  *)
-      (   (37.8484),   (8.0156),  (47.4214)), (* C2'  *)
-      (   (38.7381),   (8.5406),  (47.7690)), (* H2'' *)
-      (   (36.8286),   (8.0368),  (48.3701)), (* O2'  *)
-      (   (36.8392),   (7.3063),  (48.9929)), (* H2'  *)
-      (   (37.3576),   (8.6512),  (46.1132)), (* C3'  *)
-      (   (37.5207),   (9.7275),  (46.1671)), (* H3'  *)
-      (   (35.9985),   (8.2392),  (45.9032)), (* O3'  *)
-      (   (39.9117),   (2.2278),  (48.8527)), (* N1   *)
-      (   (38.6207),   (3.6941),  (47.4757)), (* N3   *)
-      (   (38.9872),   (2.4888),  (47.9057)), (* C2   *)
-      (   (39.2961),   (4.6720),  (48.1174)), (* C4   *)
-      (   (40.2546),   (4.5307),  (49.0912)), (* C5   *)
-      (   (40.5932),   (3.2189),  (49.4985)), (* C6 *)
+  = N(
+      {    a=0.7063; b=0.6317; c= -0.3196; (* dgf_base_tfo *)
+           d= -0.0403; e= -0.4149; f= -0.9090;
+           g= -0.7068; h=0.6549; i= -0.2676;
+           tx=6.4402; ty= -52.1496; tz=30.8246 },
+      {    a=0.7529; b=0.1548; c=0.6397; (* P_O3'_275_tfo *)
+           d=0.2952; e= -0.9481; f= -0.1180;
+           g=0.5882; h=0.2777; i= -0.7595;
+           tx= -58.8919; ty= -11.3095; tz=6.0866 },
+      {    a= -0.0239; b=0.9667; c= -0.2546; (* P_O3'_180_tfo *)
+           d=0.9731; e= -0.0359; f= -0.2275;
+           g= -0.2290; h= -0.2532; i= -0.9399;
+           tx=3.5401; ty= -29.7913; tz=52.2796 },
+      {    a= -0.8912; b= -0.4531; c=0.0242; (* P_O3'_60_tfo *)
+           d= -0.1183; e=0.1805; f= -0.9764;
+           g=0.4380; h= -0.8730; i= -0.2145;
+           tx=19.9023; ty=54.8054; tz=15.2799 },
+      { x = 41.8210; y = 8.3880; z = 43.5890 }, (* P    *)
+      { x = 42.5400; y = 8.0450; z = 44.8330 }, (* O1P  *)
+      { x = 42.2470; y = 9.6920; z = 42.9910 }, (* O2P  *)
+      { x = 40.2550; y = 8.2030; z = 43.7340 }, (* O5'  *)
+      { x = 39.4850; y = 8.9301; z = 44.6977 }, (* C5'  *)
+      { x = 39.0638; y = 9.8199; z = 44.2296 }, (* H5'  *)
+      { x = 40.0757; y = 9.0713; z = 45.6029 }, (* H5'' *)
+      { x = 38.3102; y = 8.0414; z = 45.0789 }, (* C4'  *)
+      { x = 37.7099; y = 7.8166; z = 44.1973 }, (* H4'  *)
+      { x = 38.8012; y = 6.8321; z = 45.6380 }, (* O4'  *)
+      { x = 38.2431; y = 6.6413; z = 46.9529 }, (* C1'  *)
+      { x = 37.3505; y = 6.0262; z = 46.8385 }, (* H1'  *)
+      { x = 37.8484; y = 8.0156; z = 47.4214 }, (* C2'  *)
+      { x = 38.7381; y = 8.5406; z = 47.7690 }, (* H2'' *)
+      { x = 36.8286; y = 8.0368; z = 48.3701 }, (* O2'  *)
+      { x = 36.8392; y = 7.3063; z = 48.9929 }, (* H2'  *)
+      { x = 37.3576; y = 8.6512; z = 46.1132 }, (* C3'  *)
+      { x = 37.5207; y = 9.7275; z = 46.1671 }, (* H3'  *)
+      { x = 35.9985; y = 8.2392; z = 45.9032 }, (* O3'  *)
+      { x = 39.9117; y = 2.2278; z = 48.8527 }, (* N1   *)
+      { x = 38.6207; y = 3.6941; z = 47.4757 }, (* N3   *)
+      { x = 38.9872; y = 2.4888; z = 47.9057 }, (* C2   *)
+      { x = 39.2961; y = 4.6720; z = 48.1174 }, (* C4   *)
+      { x = 40.2546; y = 4.5307; z = 49.0912 }, (* C5   *)
+      { x = 40.5932; y = 3.2189; z = 49.4985 }, (* C6 *)
       (A (
-      (   (41.4938),   (2.9317),  (50.4229)), (* N6   *)
-      (   (40.7195),   (5.7755),  (49.5060)), (* N7   *)
-      (   (39.1730),   (6.0305),  (47.9170)), (* N9   *)
-      (   (40.0413),   (6.6250),  (48.7728)), (* C8   *)
-      (   (38.5257),   (1.5960),  (47.4838)), (* H2   *)
-      (   (41.9907),   (3.6753),  (50.8921)), (* H61  *)
-      (   (41.6848),   (1.9687),  (50.6599)), (* H62  *)
-      (   (40.3571),   (7.6321),  (49.0452))) (* H8   *)
+      { x = 41.4938; y = 2.9317; z = 50.4229 }, (* N6   *)
+      { x = 40.7195; y = 5.7755; z = 49.5060 }, (* N7   *)
+      { x = 39.1730; y = 6.0305; z = 47.9170 }, (* N9   *)
+      { x = 40.0413; y = 6.6250; z = 48.7728 }, (* C8   *)
+      { x = 38.5257; y = 1.5960; z = 47.4838 }, (* H2   *)
+      { x = 41.9907; y = 3.6753; z = 50.8921 }, (* H61  *)
+      { x = 41.6848; y = 1.9687; z = 50.6599 }, (* H62  *)
+      { x = 40.3571; y = 7.6321; z = 49.0452 }) (* H8   *)
       )
     )
 
-
 let rAs = [rA01;rA02;rA03;rA04;rA05;rA06;rA07;rA08;rA09;rA10]
 
 let rC
-  = (
-      (    (-0.0359),  (-0.8071),   (0.5894),  (* dgf_base_tfo *)
-           (-0.2669),   (0.5761),   (0.7726),
-           (-0.9631),  (-0.1296),  (-0.2361),
-            (0.1584),   (8.3434),   (0.5434)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (5.2430),  (-8.2420),   (2.8260)), (* C5'  *)
-      (    (5.1974),  (-8.8497),   (1.9223)), (* H5'  *)
-      (    (5.5548),  (-8.7348),   (3.7469)), (* H5'' *)
-      (    (6.3140),  (-7.2060),   (2.5510)), (* C4'  *)
-      (    (7.2954),  (-7.6762),   (2.4898)), (* H4'  *)
-      (    (6.0140),  (-6.5420),   (1.2890)), (* O4'  *)
-      (    (6.4190),  (-5.1840),   (1.3620)), (* C1'  *)
-      (    (7.1608),  (-5.0495),   (0.5747)), (* H1'  *)
-      (    (7.0760),  (-4.9560),   (2.7270)), (* C2'  *)
-      (    (6.7770),  (-3.9803),   (3.1099)), (* H2'' *)
-      (    (8.4500),  (-5.1930),   (2.5810)), (* O2'  *)
-      (    (8.8309),  (-4.8755),   (1.7590)), (* H2'  *)
-      (    (6.4060),  (-6.0590),   (3.5580)), (* C3'  *)
-      (    (5.4021),  (-5.7313),   (3.8281)), (* H3'  *)
-      (    (7.1570),  (-6.4240),   (4.7070)), (* O3'  *)
-      (    (5.2170),  (-4.3260),   (1.1690)), (* N1   *)
-      (    (4.2960),  (-2.2560),   (0.6290)), (* N3   *)
-      (    (5.4330),  (-3.0200),   (0.7990)), (* C2   *)
-      (    (2.9930),  (-2.6780),   (0.7940)), (* C4   *)
-      (    (2.8670),  (-4.0630),   (1.1830)), (* C5   *)
-      (    (3.9570),  (-4.8300),   (1.3550)), (* C6 *)
+  = N(
+      {    a= -0.0359; b= -0.8071; c=0.5894; (* dgf_base_tfo *)
+           d= -0.2669; e=0.5761; f=0.7726;
+           g= -0.9631; h= -0.1296; i= -0.2361;
+           tx=0.1584; ty=8.3434; tz=0.5434 },
+      {    a= -0.8313; b= -0.4738; c= -0.2906; (* P_O3'_275_tfo *)
+           d=0.0649; e=0.4366; f= -0.8973;
+           g=0.5521; h= -0.7648; i= -0.3322;
+           tx=1.6833; ty=6.8060; tz= -7.0011 },
+      {    a=0.3445; b= -0.7630; c=0.5470; (* P_O3'_180_tfo *)
+           d= -0.4628; e= -0.6450; f= -0.6082;
+           g=0.8168; h= -0.0436; i= -0.5753;
+           tx= -6.8179; ty= -3.9778; tz= -5.9887 },
+      {    a=0.5855; b=0.7931; c= -0.1682; (* P_O3'_60_tfo *)
+           d=0.8103; e= -0.5790; f=0.0906;
+           g= -0.0255; h= -0.1894; i= -0.9816;
+           tx=6.1203; ty= -7.1051; tz=3.1984 },
+      { x = 2.6760; y = -8.4960; z = 3.2880 }, (* P    *)
+      { x = 1.4950; y = -7.6230; z = 3.4770 }, (* O1P  *)
+      { x = 2.9490; y = -9.4640; z = 4.3740 }, (* O2P  *)
+      { x = 3.9730; y = -7.5950; z = 3.0340 }, (* O5'  *)
+      { x = 5.2430; y = -8.2420; z = 2.8260 }, (* C5'  *)
+      { x = 5.1974; y = -8.8497; z = 1.9223 }, (* H5'  *)
+      { x = 5.5548; y = -8.7348; z = 3.7469 }, (* H5'' *)
+      { x = 6.3140; y = -7.2060; z = 2.5510 }, (* C4'  *)
+      { x = 7.2954; y = -7.6762; z = 2.4898 }, (* H4'  *)
+      { x = 6.0140; y = -6.5420; z = 1.2890 }, (* O4'  *)
+      { x = 6.4190; y = -5.1840; z = 1.3620 }, (* C1'  *)
+      { x = 7.1608; y = -5.0495; z = 0.5747 }, (* H1'  *)
+      { x = 7.0760; y = -4.9560; z = 2.7270 }, (* C2'  *)
+      { x = 6.7770; y = -3.9803; z = 3.1099 }, (* H2'' *)
+      { x = 8.4500; y = -5.1930; z = 2.5810 }, (* O2'  *)
+      { x = 8.8309; y = -4.8755; z = 1.7590 }, (* H2'  *)
+      { x = 6.4060; y = -6.0590; z = 3.5580 }, (* C3'  *)
+      { x = 5.4021; y = -5.7313; z = 3.8281 }, (* H3'  *)
+      { x = 7.1570; y = -6.4240; z = 4.7070 }, (* O3'  *)
+      { x = 5.2170; y = -4.3260; z = 1.1690 }, (* N1   *)
+      { x = 4.2960; y = -2.2560; z = 0.6290 }, (* N3   *)
+      { x = 5.4330; y = -3.0200; z = 0.7990 }, (* C2   *)
+      { x = 2.9930; y = -2.6780; z = 0.7940 }, (* C4   *)
+      { x = 2.8670; y = -4.0630; z = 1.1830 }, (* C5   *)
+      { x = 3.9570; y = -4.8300; z = 1.3550 }, (* C6 *)
       (C (
-      (    (2.0187),  (-1.8047),   (0.5874)), (* N4   *)
-      (    (6.5470),  (-2.5560),   (0.6290)), (* O2   *)
-      (    (1.0684),  (-2.1236),   (0.7109)), (* H41  *)
-      (    (2.2344),  (-0.8560),   (0.3162)), (* H42  *)
-      (    (1.8797),  (-4.4972),   (1.3404)), (* H5   *)
-      (    (3.8479),  (-5.8742),   (1.6480))) (* H6   *)
+      { x = 2.0187; y = -1.8047; z = 0.5874 }, (* N4   *)
+      { x = 6.5470; y = -2.5560; z = 0.6290 }, (* O2   *)
+      { x = 1.0684; y = -2.1236; z = 0.7109 }, (* H41  *)
+      { x = 2.2344; y = -0.8560; z = 0.3162 }, (* H42  *)
+      { x = 1.8797; y = -4.4972; z = 1.3404 }, (* H5   *)
+      { x = 3.8479; y = -5.8742; z = 1.6480 }) (* H6   *)
       )
     )
 
-
 let rC01
-  = (
-      (    (-0.0137),  (-0.8012),   (0.5983),  (* dgf_base_tfo *)
-           (-0.2523),   (0.5817),   (0.7733),
-           (-0.9675),  (-0.1404),  (-0.2101),
-            (0.2031),   (8.3874),   (0.4228)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (5.2416),  (-8.2422),   (2.8181)), (* C5'  *)
-      (    (5.2050),  (-8.8128),   (1.8901)), (* H5'  *)
-      (    (5.5368),  (-8.7738),   (3.7227)), (* H5'' *)
-      (    (6.3232),  (-7.2037),   (2.6002)), (* C4'  *)
-      (    (7.3048),  (-7.6757),   (2.5577)), (* H4'  *)
-      (    (6.0635),  (-6.5092),   (1.3456)), (* O4'  *)
-      (    (6.4697),  (-5.1547),   (1.4629)), (* C1'  *)
-      (    (7.2354),  (-5.0043),   (0.7018)), (* H1'  *)
-      (    (7.0856),  (-4.9610),   (2.8521)), (* C2'  *)
-      (    (6.7777),  (-3.9935),   (3.2487)), (* H2'' *)
-      (    (8.4627),  (-5.1992),   (2.7423)), (* O2'  *)
-      (    (8.8693),  (-4.8638),   (1.9399)), (* H2'  *)
-      (    (6.3877),  (-6.0809),   (3.6362)), (* C3'  *)
-      (    (5.3770),  (-5.7562),   (3.8834)), (* H3'  *)
-      (    (7.1024),  (-6.4754),   (4.7985)), (* O3'  *)
-      (    (5.2764),  (-4.2883),   (1.2538)), (* N1   *)
-      (    (4.3777),  (-2.2062),   (0.7229)), (* N3   *)
-      (    (5.5069),  (-2.9779),   (0.9088)), (* C2   *)
-      (    (3.0693),  (-2.6246),   (0.8500)), (* C4   *)
-      (    (2.9279),  (-4.0146),   (1.2149)), (* C5   *)
-      (    (4.0101),  (-4.7892),   (1.4017)), (* C6 *)
+  = N(
+      {    a= -0.0137; b= -0.8012; c=0.5983; (* dgf_base_tfo *)
+           d= -0.2523; e=0.5817; f=0.7733;
+           g= -0.9675; h= -0.1404; i= -0.2101;
+           tx=0.2031; ty=8.3874; tz=0.4228 },
+      {    a= -0.8313; b= -0.4738; c= -0.2906; (* P_O3'_275_tfo *)
+           d=0.0649; e=0.4366; f= -0.8973;
+           g=0.5521; h= -0.7648; i= -0.3322;
+           tx=1.6833; ty=6.8060; tz= -7.0011 },
+      {    a=0.3445; b= -0.7630; c=0.5470; (* P_O3'_180_tfo *)
+           d= -0.4628; e= -0.6450; f= -0.6082;
+           g=0.8168; h= -0.0436; i= -0.5753;
+           tx= -6.8179; ty= -3.9778; tz= -5.9887 },
+      {    a=0.5855; b=0.7931; c= -0.1682; (* P_O3'_60_tfo *)
+           d=0.8103; e= -0.5790; f=0.0906;
+           g= -0.0255; h= -0.1894; i= -0.9816;
+           tx=6.1203; ty= -7.1051; tz=3.1984 },
+      { x = 2.6760; y = -8.4960; z = 3.2880 }, (* P    *)
+      { x = 1.4950; y = -7.6230; z = 3.4770 }, (* O1P  *)
+      { x = 2.9490; y = -9.4640; z = 4.3740 }, (* O2P  *)
+      { x = 3.9730; y = -7.5950; z = 3.0340 }, (* O5'  *)
+      { x = 5.2416; y = -8.2422; z = 2.8181 }, (* C5'  *)
+      { x = 5.2050; y = -8.8128; z = 1.8901 }, (* H5'  *)
+      { x = 5.5368; y = -8.7738; z = 3.7227 }, (* H5'' *)
+      { x = 6.3232; y = -7.2037; z = 2.6002 }, (* C4'  *)
+      { x = 7.3048; y = -7.6757; z = 2.5577 }, (* H4'  *)
+      { x = 6.0635; y = -6.5092; z = 1.3456 }, (* O4'  *)
+      { x = 6.4697; y = -5.1547; z = 1.4629 }, (* C1'  *)
+      { x = 7.2354; y = -5.0043; z = 0.7018 }, (* H1'  *)
+      { x = 7.0856; y = -4.9610; z = 2.8521 }, (* C2'  *)
+      { x = 6.7777; y = -3.9935; z = 3.2487 }, (* H2'' *)
+      { x = 8.4627; y = -5.1992; z = 2.7423 }, (* O2'  *)
+      { x = 8.8693; y = -4.8638; z = 1.9399 }, (* H2'  *)
+      { x = 6.3877; y = -6.0809; z = 3.6362 }, (* C3'  *)
+      { x = 5.3770; y = -5.7562; z = 3.8834 }, (* H3'  *)
+      { x = 7.1024; y = -6.4754; z = 4.7985 }, (* O3'  *)
+      { x = 5.2764; y = -4.2883; z = 1.2538 }, (* N1   *)
+      { x = 4.3777; y = -2.2062; z = 0.7229 }, (* N3   *)
+      { x = 5.5069; y = -2.9779; z = 0.9088 }, (* C2   *)
+      { x = 3.0693; y = -2.6246; z = 0.8500 }, (* C4   *)
+      { x = 2.9279; y = -4.0146; z = 1.2149 }, (* C5   *)
+      { x = 4.0101; y = -4.7892; z = 1.4017 }, (* C6 *)
       (C (
-      (    (2.1040),  (-1.7437),   (0.6331)), (* N4   *)
-      (    (6.6267),  (-2.5166),   (0.7728)), (* O2   *)
-      (    (1.1496),  (-2.0600),   (0.7287)), (* H41  *)
-      (    (2.3303),  (-0.7921),   (0.3815)), (* H42  *)
-      (    (1.9353),  (-4.4465),   (1.3419)), (* H5   *)
-      (    (3.8895),  (-5.8371),   (1.6762))) (* H6   *)
+      { x = 2.1040; y = -1.7437; z = 0.6331 }, (* N4   *)
+      { x = 6.6267; y = -2.5166; z = 0.7728 }, (* O2   *)
+      { x = 1.1496; y = -2.0600; z = 0.7287 }, (* H41  *)
+      { x = 2.3303; y = -0.7921; z = 0.3815 }, (* H42  *)
+      { x = 1.9353; y = -4.4465; z = 1.3419 }, (* H5   *)
+      { x = 3.8895; y = -5.8371; z = 1.6762 }) (* H6   *)
       )
     )
 
-
 let rC02
-  = (
-      (     (0.5141),   (0.0246),   (0.8574),  (* dgf_base_tfo *)
-           (-0.5547),  (-0.7529),   (0.3542),
-            (0.6542),  (-0.6577),  (-0.3734),
-           (-9.1111),  (-3.4598),  (-3.2939)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (4.3825),  (-6.6585),   (4.0489)), (* C5'  *)
-      (    (4.6841),  (-7.2019),   (4.9443)), (* H5'  *)
-      (    (3.6189),  (-5.8889),   (4.1625)), (* H5'' *)
-      (    (5.6255),  (-5.9175),   (3.5998)), (* C4'  *)
-      (    (5.8732),  (-5.1228),   (4.3034)), (* H4'  *)
-      (    (6.7337),  (-6.8605),   (3.5222)), (* O4'  *)
-      (    (7.5932),  (-6.4923),   (2.4548)), (* C1'  *)
-      (    (8.5661),  (-6.2983),   (2.9064)), (* H1'  *)
-      (    (7.0527),  (-5.2012),   (1.8322)), (* C2'  *)
-      (    (7.1627),  (-5.2525),   (0.7490)), (* H2'' *)
-      (    (7.6666),  (-4.1249),   (2.4880)), (* O2'  *)
-      (    (8.5944),  (-4.2543),   (2.6981)), (* H2'  *)
-      (    (5.5661),  (-5.3029),   (2.2009)), (* C3'  *)
-      (    (5.0841),  (-6.0018),   (1.5172)), (* H3'  *)
-      (    (4.9062),  (-4.0452),   (2.2042)), (* O3'  *)
-      (    (7.6298),  (-7.6136),   (1.4752)), (* N1   *)
-      (    (8.6945),  (-8.7046),  (-0.2857)), (* N3   *)
-      (    (8.6943),  (-7.6514),   (0.6066)), (* C2   *)
-      (    (7.7426),  (-9.6987),  (-0.3801)), (* C4   *)
-      (    (6.6642),  (-9.5742),   (0.5722)), (* C5   *)
-      (    (6.6391),  (-8.5592),   (1.4526)), (* C6 *)
+  = N(
+      {    a=0.5141; b=0.0246; c=0.8574; (* dgf_base_tfo *)
+           d= -0.5547; e= -0.7529; f=0.3542;
+           g=0.6542; h= -0.6577; i= -0.3734;
+           tx= -9.1111; ty= -3.4598; tz= -3.2939 },
+      {    a= -0.8313; b= -0.4738; c= -0.2906; (* P_O3'_275_tfo *)
+           d=0.0649; e=0.4366; f= -0.8973;
+           g=0.5521; h= -0.7648; i= -0.3322;
+           tx=1.6833; ty=6.8060; tz= -7.0011 },
+      {    a=0.3445; b= -0.7630; c=0.5470; (* P_O3'_180_tfo *)
+           d= -0.4628; e= -0.6450; f= -0.6082;
+           g=0.8168; h= -0.0436; i= -0.5753;
+           tx= -6.8179; ty= -3.9778; tz= -5.9887 },
+      {    a=0.5855; b=0.7931; c= -0.1682; (* P_O3'_60_tfo *)
+           d=0.8103; e= -0.5790; f=0.0906;
+           g= -0.0255; h= -0.1894; i= -0.9816;
+           tx=6.1203; ty= -7.1051; tz=3.1984 },
+      { x = 2.6760; y = -8.4960; z = 3.2880 }, (* P    *)
+      { x = 1.4950; y = -7.6230; z = 3.4770 }, (* O1P  *)
+      { x = 2.9490; y = -9.4640; z = 4.3740 }, (* O2P  *)
+      { x = 3.9730; y = -7.5950; z = 3.0340 }, (* O5'  *)
+      { x = 4.3825; y = -6.6585; z = 4.0489 }, (* C5'  *)
+      { x = 4.6841; y = -7.2019; z = 4.9443 }, (* H5'  *)
+      { x = 3.6189; y = -5.8889; z = 4.1625 }, (* H5'' *)
+      { x = 5.6255; y = -5.9175; z = 3.5998 }, (* C4'  *)
+      { x = 5.8732; y = -5.1228; z = 4.3034 }, (* H4'  *)
+      { x = 6.7337; y = -6.8605; z = 3.5222 }, (* O4'  *)
+      { x = 7.5932; y = -6.4923; z = 2.4548 }, (* C1'  *)
+      { x = 8.5661; y = -6.2983; z = 2.9064 }, (* H1'  *)
+      { x = 7.0527; y = -5.2012; z = 1.8322 }, (* C2'  *)
+      { x = 7.1627; y = -5.2525; z = 0.7490 }, (* H2'' *)
+      { x = 7.6666; y = -4.1249; z = 2.4880 }, (* O2'  *)
+      { x = 8.5944; y = -4.2543; z = 2.6981 }, (* H2'  *)
+      { x = 5.5661; y = -5.3029; z = 2.2009 }, (* C3'  *)
+      { x = 5.0841; y = -6.0018; z = 1.5172 }, (* H3'  *)
+      { x = 4.9062; y = -4.0452; z = 2.2042 }, (* O3'  *)
+      { x = 7.6298; y = -7.6136; z = 1.4752 }, (* N1   *)
+      { x = 8.6945; y = -8.7046; z = -0.2857 }, (* N3   *)
+      { x = 8.6943; y = -7.6514; z = 0.6066 }, (* C2   *)
+      { x = 7.7426; y = -9.6987; z = -0.3801 }, (* C4   *)
+      { x = 6.6642; y = -9.5742; z = 0.5722 }, (* C5   *)
+      { x = 6.6391; y = -8.5592; z = 1.4526 }, (* C6 *)
       (C (
-      (    (7.9033), (-10.6371),  (-1.3010)), (* N4   *)
-      (    (9.5840),  (-6.8186),   (0.6136)), (* O2   *)
-      (    (7.2009), (-11.3604),  (-1.3619)), (* H41  *)
-      (    (8.7058), (-10.6168),  (-1.9140)), (* H42  *)
-      (    (5.8585), (-10.3083),   (0.5822)), (* H5   *)
-      (    (5.8197),  (-8.4773),   (2.1667))) (* H6   *)
+      { x = 7.9033; y = -10.6371; z = -1.3010 }, (* N4   *)
+      { x = 9.5840; y = -6.8186; z = 0.6136 }, (* O2   *)
+      { x = 7.2009; y = -11.3604; z = -1.3619 }, (* H41  *)
+      { x = 8.7058; y = -10.6168; z = -1.9140 }, (* H42  *)
+      { x = 5.8585; y = -10.3083; z = 0.5822 }, (* H5   *)
+      { x = 5.8197; y = -8.4773; z = 2.1667 }) (* H6   *)
       )
     )
 
-
 let rC03
-  = (
-      (    (-0.4993),   (0.0476),   (0.8651),  (* dgf_base_tfo *)
-            (0.8078),  (-0.3353),   (0.4847),
-            (0.3132),   (0.9409),   (0.1290),
-            (6.2989),  (-5.2303),  (-3.8577)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (3.9938),  (-6.7042),   (1.9023)), (* C5'  *)
-      (    (3.2332),  (-5.9343),   (2.0319)), (* H5'  *)
-      (    (3.9666),  (-7.2863),   (0.9812)), (* H5'' *)
-      (    (5.3098),  (-5.9546),   (1.8564)), (* C4'  *)
-      (    (5.3863),  (-5.3702),   (0.9395)), (* H4'  *)
-      (    (5.3851),  (-5.0642),   (3.0076)), (* O4'  *)
-      (    (6.7315),  (-4.9724),   (3.4462)), (* C1'  *)
-      (    (7.0033),  (-3.9202),   (3.3619)), (* H1'  *)
-      (    (7.5997),  (-5.8018),   (2.4948)), (* C2'  *)
-      (    (8.3627),  (-6.3254),   (3.0707)), (* H2'' *)
-      (    (8.0410),  (-4.9501),   (1.4724)), (* O2'  *)
-      (    (8.2781),  (-4.0644),   (1.7570)), (* H2'  *)
-      (    (6.5701),  (-6.8129),   (1.9714)), (* C3'  *)
-      (    (6.4186),  (-7.5809),   (2.7299)), (* H3'  *)
-      (    (6.9357),  (-7.3841),   (0.7235)), (* O3'  *)
-      (    (6.8024),  (-5.4718),   (4.8475)), (* N1   *)
-      (    (7.9218),  (-5.5700),   (6.8877)), (* N3   *)
-      (    (7.8908),  (-5.0886),   (5.5944)), (* C2   *)
-      (    (6.9789),  (-6.3827),   (7.4823)), (* C4   *)
-      (    (5.8742),  (-6.7319),   (6.6202)), (* C5   *)
-      (    (5.8182),  (-6.2769),   (5.3570)), (* C6 *)
+  = N(
+      {    a= -0.4993; b=0.0476; c=0.8651; (* dgf_base_tfo *)
+           d=0.8078; e= -0.3353; f=0.4847;
+           g=0.3132; h=0.9409; i=0.1290;
+           tx=6.2989; ty= -5.2303; tz= -3.8577 },
+      {    a= -0.8313; b= -0.4738; c= -0.2906; (* P_O3'_275_tfo *)
+           d=0.0649; e=0.4366; f= -0.8973;
+           g=0.5521; h= -0.7648; i= -0.3322;
+           tx=1.6833; ty=6.8060; tz= -7.0011 },
+      {    a=0.3445; b= -0.7630; c=0.5470; (* P_O3'_180_tfo *)
+           d= -0.4628; e= -0.6450; f= -0.6082;
+           g=0.8168; h= -0.0436; i= -0.5753;
+           tx= -6.8179; ty= -3.9778; tz= -5.9887 },
+      {    a=0.5855; b=0.7931; c= -0.1682; (* P_O3'_60_tfo *)
+           d=0.8103; e= -0.5790; f=0.0906;
+           g= -0.0255; h= -0.1894; i= -0.9816;
+           tx=6.1203; ty= -7.1051; tz=3.1984 },
+      { x = 2.6760; y = -8.4960; z = 3.2880 }, (* P    *)
+      { x = 1.4950; y = -7.6230; z = 3.4770 }, (* O1P  *)
+      { x = 2.9490; y = -9.4640; z = 4.3740 }, (* O2P  *)
+      { x = 3.9730; y = -7.5950; z = 3.0340 }, (* O5'  *)
+      { x = 3.9938; y = -6.7042; z = 1.9023 }, (* C5'  *)
+      { x = 3.2332; y = -5.9343; z = 2.0319 }, (* H5'  *)
+      { x = 3.9666; y = -7.2863; z = 0.9812 }, (* H5'' *)
+      { x = 5.3098; y = -5.9546; z = 1.8564 }, (* C4'  *)
+      { x = 5.3863; y = -5.3702; z = 0.9395 }, (* H4'  *)
+      { x = 5.3851; y = -5.0642; z = 3.0076 }, (* O4'  *)
+      { x = 6.7315; y = -4.9724; z = 3.4462 }, (* C1'  *)
+      { x = 7.0033; y = -3.9202; z = 3.3619 }, (* H1'  *)
+      { x = 7.5997; y = -5.8018; z = 2.4948 }, (* C2'  *)
+      { x = 8.3627; y = -6.3254; z = 3.0707 }, (* H2'' *)
+      { x = 8.0410; y = -4.9501; z = 1.4724 }, (* O2'  *)
+      { x = 8.2781; y = -4.0644; z = 1.7570 }, (* H2'  *)
+      { x = 6.5701; y = -6.8129; z = 1.9714 }, (* C3'  *)
+      { x = 6.4186; y = -7.5809; z = 2.7299 }, (* H3'  *)
+      { x = 6.9357; y = -7.3841; z = 0.7235 }, (* O3'  *)
+      { x = 6.8024; y = -5.4718; z = 4.8475 }, (* N1   *)
+      { x = 7.9218; y = -5.5700; z = 6.8877 }, (* N3   *)
+      { x = 7.8908; y = -5.0886; z = 5.5944 }, (* C2   *)
+      { x = 6.9789; y = -6.3827; z = 7.4823 }, (* C4   *)
+      { x = 5.8742; y = -6.7319; z = 6.6202 }, (* C5   *)
+      { x = 5.8182; y = -6.2769; z = 5.3570 }, (* C6 *)
       (C (
-      (    (7.1702),  (-6.7511),   (8.7402)), (* N4   *)
-      (    (8.7747),  (-4.3728),   (5.1568)), (* O2   *)
-      (    (6.4741),  (-7.3461),   (9.1662)), (* H41  *)
-      (    (7.9889),  (-6.4396),   (9.2429)), (* H42  *)
-      (    (5.0736),  (-7.3713),   (6.9922)), (* H5   *)
-      (    (4.9784),  (-6.5473),   (4.7170))) (* H6   *)
+      { x = 7.1702; y = -6.7511; z = 8.7402 }, (* N4   *)
+      { x = 8.7747; y = -4.3728; z = 5.1568 }, (* O2   *)
+      { x = 6.4741; y = -7.3461; z = 9.1662 }, (* H41  *)
+      { x = 7.9889; y = -6.4396; z = 9.2429 }, (* H42  *)
+      { x = 5.0736; y = -7.3713; z = 6.9922 }, (* H5   *)
+      { x = 4.9784; y = -6.5473; z = 4.7170 }) (* H6   *)
       )
     )
 
-
 let rC04
-  = (
-      (    (-0.5669),  (-0.8012),   (0.1918),  (* dgf_base_tfo *)
-           (-0.8129),   (0.5817),   (0.0273),
-           (-0.1334),  (-0.1404),  (-0.9811),
-           (-0.3279),   (8.3874),   (0.3355)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (5.2416),  (-8.2422),   (2.8181)), (* C5'  *)
-      (    (5.2050),  (-8.8128),   (1.8901)), (* H5'  *)
-      (    (5.5368),  (-8.7738),   (3.7227)), (* H5'' *)
-      (    (6.3232),  (-7.2037),   (2.6002)), (* C4'  *)
-      (    (7.3048),  (-7.6757),   (2.5577)), (* H4'  *)
-      (    (6.0635),  (-6.5092),   (1.3456)), (* O4'  *)
-      (    (6.4697),  (-5.1547),   (1.4629)), (* C1'  *)
-      (    (7.2354),  (-5.0043),   (0.7018)), (* H1'  *)
-      (    (7.0856),  (-4.9610),   (2.8521)), (* C2'  *)
-      (    (6.7777),  (-3.9935),   (3.2487)), (* H2'' *)
-      (    (8.4627),  (-5.1992),   (2.7423)), (* O2'  *)
-      (    (8.8693),  (-4.8638),   (1.9399)), (* H2'  *)
-      (    (6.3877),  (-6.0809),   (3.6362)), (* C3'  *)
-      (    (5.3770),  (-5.7562),   (3.8834)), (* H3'  *)
-      (    (7.1024),  (-6.4754),   (4.7985)), (* O3'  *)
-      (    (5.2764),  (-4.2883),   (1.2538)), (* N1   *)
-      (    (3.8961),  (-3.0896),  (-0.1893)), (* N3   *)
-      (    (5.0095),  (-3.8907),  (-0.0346)), (* C2   *)
-      (    (3.0480),  (-2.6632),   (0.8116)), (* C4   *)
-      (    (3.4093),  (-3.1310),   (2.1292)), (* C5   *)
-      (    (4.4878),  (-3.9124),   (2.3088)), (* C6 *)
+  = N(
+      {    a= -0.5669; b= -0.8012; c=0.1918; (* dgf_base_tfo *)
+           d= -0.8129; e=0.5817; f=0.0273;
+           g= -0.1334; h= -0.1404; i= -0.9811;
+           tx= -0.3279; ty=8.3874; tz=0.3355 },
+      {    a= -0.8313; b= -0.4738; c= -0.2906; (* P_O3'_275_tfo *)
+           d=0.0649; e=0.4366; f= -0.8973;
+           g=0.5521; h= -0.7648; i= -0.3322;
+           tx=1.6833; ty=6.8060; tz= -7.0011 },
+      {    a=0.3445; b= -0.7630; c=0.5470; (* P_O3'_180_tfo *)
+           d= -0.4628; e= -0.6450; f= -0.6082;
+           g=0.8168; h= -0.0436; i= -0.5753;
+           tx= -6.8179; ty= -3.9778; tz= -5.9887 },
+      {    a=0.5855; b=0.7931; c= -0.1682; (* P_O3'_60_tfo *)
+           d=0.8103; e= -0.5790; f=0.0906;
+           g= -0.0255; h= -0.1894; i= -0.9816;
+           tx=6.1203; ty= -7.1051; tz=3.1984 },
+      { x = 2.6760; y = -8.4960; z = 3.2880 }, (* P    *)
+      { x = 1.4950; y = -7.6230; z = 3.4770 }, (* O1P  *)
+      { x = 2.9490; y = -9.4640; z = 4.3740 }, (* O2P  *)
+      { x = 3.9730; y = -7.5950; z = 3.0340 }, (* O5'  *)
+      { x = 5.2416; y = -8.2422; z = 2.8181 }, (* C5'  *)
+      { x = 5.2050; y = -8.8128; z = 1.8901 }, (* H5'  *)
+      { x = 5.5368; y = -8.7738; z = 3.7227 }, (* H5'' *)
+      { x = 6.3232; y = -7.2037; z = 2.6002 }, (* C4'  *)
+      { x = 7.3048; y = -7.6757; z = 2.5577 }, (* H4'  *)
+      { x = 6.0635; y = -6.5092; z = 1.3456 }, (* O4'  *)
+      { x = 6.4697; y = -5.1547; z = 1.4629 }, (* C1'  *)
+      { x = 7.2354; y = -5.0043; z = 0.7018 }, (* H1'  *)
+      { x = 7.0856; y = -4.9610; z = 2.8521 }, (* C2'  *)
+      { x = 6.7777; y = -3.9935; z = 3.2487 }, (* H2'' *)
+      { x = 8.4627; y = -5.1992; z = 2.7423 }, (* O2'  *)
+      { x = 8.8693; y = -4.8638; z = 1.9399 }, (* H2'  *)
+      { x = 6.3877; y = -6.0809; z = 3.6362 }, (* C3'  *)
+      { x = 5.3770; y = -5.7562; z = 3.8834 }, (* H3'  *)
+      { x = 7.1024; y = -6.4754; z = 4.7985 }, (* O3'  *)
+      { x = 5.2764; y = -4.2883; z = 1.2538 }, (* N1   *)
+      { x = 3.8961; y = -3.0896; z = -0.1893 }, (* N3   *)
+      { x = 5.0095; y = -3.8907; z = -0.0346 }, (* C2   *)
+      { x = 3.0480; y = -2.6632; z = 0.8116 }, (* C4   *)
+      { x = 3.4093; y = -3.1310; z = 2.1292 }, (* C5   *)
+      { x = 4.4878; y = -3.9124; z = 2.3088 }, (* C6 *)
       (C (
-      (    (2.0216),  (-1.8941),   (0.4804)), (* N4   *)
-      (    (5.7005),  (-4.2164),  (-0.9842)), (* O2   *)
-      (    (1.4067),  (-1.5873),   (1.2205)), (* H41  *)
-      (    (1.8721),  (-1.6319),  (-0.4835)), (* H42  *)
-      (    (2.8048),  (-2.8507),   (2.9918)), (* H5   *)
-      (    (4.7491),  (-4.2593),   (3.3085))) (* H6   *)
+      { x = 2.0216; y = -1.8941; z = 0.4804 }, (* N4   *)
+      { x = 5.7005; y = -4.2164; z = -0.9842 }, (* O2   *)
+      { x = 1.4067; y = -1.5873; z = 1.2205 }, (* H41  *)
+      { x = 1.8721; y = -1.6319; z = -0.4835 }, (* H42  *)
+      { x = 2.8048; y = -2.8507; z = 2.9918 }, (* H5   *)
+      { x = 4.7491; y = -4.2593; z = 3.3085 }) (* H6   *)
       )
     )
 
-
 let rC05
-  = (
-      (    (-0.6298),   (0.0246),   (0.7763),  (* dgf_base_tfo *)
-           (-0.5226),  (-0.7529),  (-0.4001),
-            (0.5746),  (-0.6577),   (0.4870),
-           (-0.0208),  (-3.4598),  (-9.6882)),
-      (    (-0.8313),  (-0.4738),  (-0.2906),  (* P_O3'_275_tfo *)
-            (0.0649),   (0.4366),  (-0.8973),
-            (0.5521),  (-0.7648),  (-0.3322),
-            (1.6833),   (6.8060),  (-7.0011)),
-      (     (0.3445),  (-0.7630),   (0.5470),  (* P_O3'_180_tfo *)
-           (-0.4628),  (-0.6450),  (-0.6082),
-            (0.8168),  (-0.0436),  (-0.5753),
-           (-6.8179),  (-3.9778),  (-5.9887)),
-      (     (0.5855),   (0.7931),  (-0.1682),  (* P_O3'_60_tfo *)
-            (0.8103),  (-0.5790),   (0.0906),
-           (-0.0255),  (-0.1894),  (-0.9816),
-            (6.1203),  (-7.1051),   (3.1984)),
-      (    (2.6760),  (-8.4960),   (3.2880)), (* P    *)
-      (    (1.4950),  (-7.6230),   (3.4770)), (* O1P  *)
-      (    (2.9490),  (-9.4640),   (4.3740)), (* O2P  *)
-      (    (3.9730),  (-7.5950),   (3.0340)), (* O5'  *)
-      (    (4.3825),  (-6.6585),   (4.0489)), (* C5'  *)