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