%% %% %CopyrightBegin% %% %% Copyright Ericsson AB 2001-2016. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. %% You may obtain a copy of the License at %% %% http://www.apache.org/licenses/LICENSE-2.0 %% %% Unless required by applicable law or agreed to in writing, software %% distributed under the License is distributed on an "AS IS" BASIS, %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %% See the License for the specific language governing permissions and %% limitations under the License. %% %% %CopyrightEnd% %% -module(pseudoknot_SUITE). -export([all/0, suite/0,groups/0,init_per_suite/1, end_per_suite/1, init_per_group/2,end_per_group/2,test/1]). suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> [test]. groups() -> []. init_per_suite(Config) -> Config. end_per_suite(_Config) -> ok. init_per_group(_GroupName, Config) -> Config. end_per_group(_GroupName, Config) -> Config. test(Config) when is_list(Config) -> statistics(runtime), R = loop(1,0), {_,Time} = statistics(runtime), io:format("\nruntime = ~p msecs\nresult = ~p\n", [Time,R]), true = abs(R-33.7976) < 0.0001, {comment,lists:flatten(io_lib:format("Time: ~w", [Time]))}. append([H|T], Z) -> [H|append(T, Z)]; append([], X) -> X. atan2(Y,X) when X>0.0 -> math:atan(Y/X); atan2(Y,X) when Y<0.0 -> if X == 0.0 -> -1.57079632679489661923; true -> math:atan(Y/X) - 3.14159265358979323846 end; atan2(Y,X) -> if X == 0.0 -> 1.57079632679489661923; true -> math:atan(Y/X) + 3.14159265358979323846 end. % -- POINTS ------------------------------------------------------------------ %pt ::= {X, Y, Z} where X,Y,Z are floats pt_sub({X1, Y1, Z1}, {X2, Y2, Z2}) when is_float(X1), is_float(Y1), is_float(Z1), is_float(X2), is_float(Y2), is_float(Z2) -> {X1 - X2, Y1 - Y2, Z1 - Z2}. pt_dist({X1, Y1, Z1}, {X2, Y2, Z2}) when is_float(X1), is_float(Y1), is_float(Z1), is_float(X2), is_float(Y2), is_float(Z2) -> Dx = X1 - X2, Dy = Y1 - Y2, Dz = Z1 - Z2, math:sqrt(Dx * Dx + Dy * Dy + Dz * Dz). pt_phi({X, Y, Z}) when is_float(X), is_float(Z) -> B = atan2(X, Z), atan2(math:cos(B) * Z + math:sin(B) * X, Y). pt_theta ({X, _, Z}) -> atan2(X, Z). % -- COORDINATE TRANSFORMATIONS ---------------------------------------------- % The notation for the transformations follows "Paul, R.P. (1981) Robot % Manipulators. MIT Press." with the exception that our transformation % matrices don't have the perspective terms and are the transpose of % Paul's one. See also "M\"antyl\"a, M. (1985) An Introduction to % Solid Modeling, Computer Science Press" Appendix A. % % The components of a transformation matrix are named like this: % % a b c % d e f % g h i % tx ty tz % % The components tx, ty, and tz are the translation vector. %tfo ::= {A,B,C,D,E,F,G,H,I,Tx,Ty,Tz} where all elements are floats 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}. % The function "tfo-apply" multiplies a transformation matrix, tfo, by a % point vector, p. The result is a new point. tfo_apply ({A,B,C,D,E,F,G,H,I,Tx,Ty,Tz}, {X,Y,Z}) when is_float(A), is_float(B), is_float(C), is_float(D), is_float(E), is_float(F), is_float(G), is_float(H), is_float(I), is_float(Tx), is_float(Ty), is_float(Tz), is_float(X), is_float(Y), is_float(Z) -> {X * A + Y * D + Z * G + Tx, X * B + Y * E + Z * H + Ty, X * C + Y * F + Z * I + Tz}. % The function "tfo-combine" multiplies two transformation matrices A and B. % The result is a new matrix which cumulates the transformations described % by A and B. 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}, {B_a,B_b,B_c,B_d,B_e,B_f,B_g,B_h,B_i,B_tx,B_ty,B_tz}) when is_float(A_a), is_float(A_b), is_float(A_c), is_float(A_d), is_float(A_e), is_float(A_f), is_float(A_g), is_float(A_h), is_float(A_i), is_float(A_tx), is_float(A_ty), is_float(A_tz), is_float(B_a), is_float(B_b), is_float(B_c), is_float(B_d), is_float(B_e), is_float(B_f), is_float(B_g), is_float(B_h), is_float(B_i), is_float(B_tx), is_float(B_ty), is_float(B_tz) -> {A_a * B_a + A_b * B_d + A_c * B_g, A_a * B_b + A_b * B_e + A_c * B_h, A_a * B_c + A_b * B_f + A_c * B_i, A_d * B_a + A_e * B_d + A_f * B_g, A_d * B_b + A_e * B_e + A_f * B_h, A_d * B_c + A_e * B_f + A_f * B_i, A_g * B_a + A_h * B_d + A_i * B_g, A_g * B_b + A_h * B_e + A_i * B_h, A_g * B_c + A_h * B_f + A_i * B_i, A_tx * B_a + A_ty * B_d + A_tz * B_g + B_tx, A_tx * B_b + A_ty * B_e + A_tz * B_h + B_ty, A_tx * B_c + A_ty * B_f + A_tz * B_i + B_tz}. % The function "tfo-inv-ortho" computes the inverse of a homogeneous % transformation matrix. tfo_inv_ortho({A,B,C,D,E,F,G,H,I,Tx,Ty,Tz}) when is_float(A), is_float(B), is_float(C), is_float(D), is_float(E), is_float(F), is_float(G), is_float(H), is_float(I), is_float(Tx), is_float(Ty), is_float(Tz) -> {A,D,G, B,E,H, C,F,I, -(A * Tx + B * Ty + C * Tz), -(D * Tx + E * Ty + F * Tz), -(G * Tx + H * Ty + I * Tz)}. % Given three points p1, p2, and p3, the function "tfo-align" computes % a transformation matrix such that point p1 gets mapped to (0,0,0), p2 gets % mapped to the Y axis and p3 gets mapped to the YZ plane. tfo_align({X1,Y1,Z1},{X2,Y2,Z2},{X3,Y3,Z3}) when is_float(X1), is_float(Y1), is_float(Z1), is_float(X2), is_float(Y2), is_float(Z2), is_float(X3), is_float(Y3), is_float(Z3) -> X31 = X3 - X1, Y31 = Y3 - Y1, Z31 = Z3 - Z1, Rotpy = pt_sub({X2,Y2,Z2},{X1,Y1,Z1}), Phi = pt_phi(Rotpy), Theta = pt_theta(Rotpy), Sinp = math:sin(Phi), Sint = math:sin(Theta), Cosp = math:cos(Phi), Cost = math:cos(Theta), Sinpsint = Sinp * Sint, Sinpcost = Sinp * Cost, Cospsint = Cosp * Sint, Cospcost = Cosp * Cost, Rotpz = {Cost * X31 - Sint * Z31, Sinpsint * X31 + Cosp * Y31 + Sinpcost * Z31, Cospsint * X31 - Sinp * Y31 + Cospcost * Z31}, Rho = pt_theta(Rotpz), Cosr = math:cos(Rho), Sinr = math:sin(Rho), X = Z1 * Sint - X1 * Cost, Y = -X1 * Sinpsint - Y1 * Cosp - Z1 * Sinpcost, Z = Y1 * Sinp - Z1 * Cospcost - X1 * Cospsint, {Cost * Cosr - Cospsint * Sinr, Sinpsint, Cost * Sinr + Cospsint * Cosr, Sinp * Sinr, Cosp, -Sinp * Cosr, -Sint * Cosr - Cospcost * Sinr, Sinpcost, Cospcost * Cosr - Sint * Sinr, X * Cosr - Z * Sinr, Y, X * Sinr + Z * Cosr}. % -- NUCLEIC ACID CONFORMATIONS DATA BASE ------------------------------------ % Numbering of atoms follows the paper: % % IUPAC-IUB Joint Commission on Biochemical Nomenclature (JCBN) % (1983) Abbreviations and Symbols for the Description of % Conformations of Polynucleotide Chains. Eur. J. Biochem 131, % 9-15. % Define part common to all 4 nucleotide types. %nuc ::= { % tfo,tfo,tfo,tfo, % pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt, % pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt, % A/C/G/U, % nuc_specific % } % dgf_base_tfo ; defines the standard position for wc and wc_dumas % p_o3'_275_tfo ; defines the standard position for the connect function % p_o3'_180_tfo % p_o3'_60_tfo % p o1p o2p o5' c5' h5' h5'' c4' h4' o4' c1' h1' c2' h2'' o2' h2' c3' % h3' o3' n1 n3 c2 c4 c5 c6 type({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,X, _}) -> X. nuc_C1_({_,_,_,_,_,_,_,_,_,_, _,_,_,_,X,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_C2({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,X,_,_,_,_, _}) -> X. nuc_C3_({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, X,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_C4({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,X,_,_,_, _}) -> X. nuc_C4_({_,_,_,_,_,_,_,_,_,_, _,X,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_N1({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,X,_,_,_,_,_,_, _}) -> X. nuc_O3_({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,X,_,_,_,_,_,_,_, _}) -> X. nuc_P({_,_,_,_,X,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_dgf_base_tfo({X,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_p_o3__180_tfo({_,_,X,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_p_o3__275_tfo({_,X,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. nuc_p_o3__60_tfo({_,_,_,X,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _}) -> X. rA_N9({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,a, {_,_,X,_,_,_,_,_}}) -> X. rG_N9({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,g, {_,_,X,_,_,_,_,_,_}}) -> X. %nuc ::= { % tfo,tfo,tfo,tfo, % pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt, % pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt,pt, % A/C/G/U, % nuc_specific % } % Define remaining atoms for each nucleotide type. %nuc_specific % a {N6,N7,N9,C8,H2,H61,H62,H8} % c {N4,O2,H41,H42,H5,H6} % g {N2,N7,N9,C8,O6,H1,H21,H22,H8} % u {O2,O4,H3,H5,H6} % Database of nucleotide conformations: rA() -> { {-0.0018, -0.8207, 0.5714, % dgf_base_tfo 0.2679, -0.5509, -0.7904, 0.9634, 0.1517, 0.2209, 0.0073, 8.4030, 0.6232}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {5.4550, 8.2120, -2.8810}, % C5' {5.4546, 8.8508, -1.9978}, % H5' {5.7588, 8.6625, -3.8259}, % H5'' {6.4970, 7.1480, -2.5980}, % C4' {7.4896, 7.5919, -2.5214}, % H4' {6.1630, 6.4860, -1.3440}, % O4' {6.5400, 5.1200, -1.4190}, % C1' {7.2763, 4.9681, -0.6297}, % H1' {7.1940, 4.8830, -2.7770}, % C2' {6.8667, 3.9183, -3.1647}, % H2'' {8.5860, 5.0910, -2.6140}, % O2' {8.9510, 4.7626, -1.7890}, % H2' {6.5720, 6.0040, -3.6090}, % C3' {5.5636, 5.7066, -3.8966}, % H3' {7.3801, 6.3562, -4.7350}, % O3' {4.7150, 0.4910, -0.1360}, % N1 {6.3490, 2.1730, -0.6020}, % N3 {5.9530, 0.9650, -0.2670}, % C2 {5.2900, 2.9790, -0.8260}, % C4 {3.9720, 2.6390, -0.7330}, % C5 {3.6770, 1.3160, -0.3660}, % C6 a, { {2.4280, 0.8450, -0.2360}, % N6 {3.1660, 3.7290, -1.0360}, % N7 {5.3170, 4.2990, -1.1930}, % N9 {4.0100, 4.6780, -1.2990}, % C8 {6.6890, 0.1903, -0.0518}, % H2 {1.6470, 1.4460, -0.4040}, % H61 {2.2780, -0.1080, -0.0280}, % H62 {3.4421, 5.5744, -1.5482}} % H8 }. rA01() -> { {-0.0043, -0.8175, 0.5759, % dgf_base_tfo 0.2617, -0.5567, -0.7884, 0.9651, 0.1473, 0.2164, 0.0359, 8.3929, 0.5532}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {5.4352, 8.2183, -2.7757}, % C5' {5.3830, 8.7883, -1.8481}, % H5' {5.7729, 8.7436, -3.6691}, % H5'' {6.4830, 7.1518, -2.5252}, % C4' {7.4749, 7.5972, -2.4482}, % H4' {6.1626, 6.4620, -1.2827}, % O4' {6.5431, 5.0992, -1.3905}, % C1' {7.2871, 4.9328, -0.6114}, % H1' {7.1852, 4.8935, -2.7592}, % C2' {6.8573, 3.9363, -3.1645}, % H2'' {8.5780, 5.1025, -2.6046}, % O2' {8.9516, 4.7577, -1.7902}, % H2' {6.5522, 6.0300, -3.5612}, % C3' {5.5420, 5.7356, -3.8459}, % H3' {7.3487, 6.4089, -4.6867}, % O3' {4.7442, 0.4514, -0.1390}, % N1 {6.3687, 2.1459, -0.5926}, % N3 {5.9795, 0.9335, -0.2657}, % C2 {5.3052, 2.9471, -0.8125}, % C4 {3.9891, 2.5987, -0.7230}, % C5 {3.7016, 1.2717, -0.3647}, % C6 a, { {2.4553, 0.7925, -0.2390}, % N6 {3.1770, 3.6859, -1.0198}, % N7 {5.3247, 4.2695, -1.1710}, % N9 {4.0156, 4.6415, -1.2759}, % C8 {6.7198, 0.1618, -0.0547}, % H2 {1.6709, 1.3900, -0.4039}, % H61 {2.3107, -0.1627, -0.0373}, % H62 {3.4426, 5.5361, -1.5199}} % H8 }. rA02() -> { {0.5566, 0.0449, 0.8296, % dgf_base_tfo 0.5125, 0.7673, -0.3854, -0.6538, 0.6397, 0.4041, -9.1161, -3.7679, -2.9968}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {4.5778, 6.6594, -4.0364}, % C5' {4.9220, 7.1963, -4.9204}, % H5' {3.7996, 5.9091, -4.1764}, % H5'' {5.7873, 5.8869, -3.5482}, % C4' {6.0405, 5.0875, -4.2446}, % H4' {6.9135, 6.8036, -3.4310}, % O4' {7.7293, 6.4084, -2.3392}, % C1' {8.7078, 6.1815, -2.7624}, % H1' {7.1305, 5.1418, -1.7347}, % C2' {7.2040, 5.1982, -0.6486}, % H2'' {7.7417, 4.0392, -2.3813}, % O2' {8.6785, 4.1443, -2.5630}, % H2' {5.6666, 5.2728, -2.1536}, % C3' {5.1747, 5.9805, -1.4863}, % H3' {4.9997, 4.0086, -2.1973}, % O3' {10.3245, 8.5459, 1.5467}, % N1 {9.8051, 6.9432, -0.1497}, % N3 {10.5175, 7.4328, 0.8408}, % C2 {8.7523, 7.7422, -0.4228}, % C4 {8.4257, 8.9060, 0.2099}, % C5 {9.2665, 9.3242, 1.2540}, % C6 a, { {9.0664, 10.4462, 1.9610}, % N6 {7.2750, 9.4537, -0.3428}, % N7 {7.7962, 7.5519, -1.3859}, % N9 {6.9479, 8.6157, -1.2771}, % C8 {11.4063, 6.9047, 1.1859}, % H2 {8.2845, 11.0341, 1.7552}, % H61 {9.6584, 10.6647, 2.7198}, % H62 {6.0430, 8.9853, -1.7594}} % H8 }. rA03() -> { {-0.5021, 0.0731, 0.8617, % dgf_base_tfo -0.8112, 0.3054, -0.4986, -0.2996, -0.9494, -0.0940, 6.4273, -5.1944, -3.7807}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {4.1214, 6.7116, -1.9049}, % C5' {3.3465, 5.9610, -2.0607}, % H5' {4.0789, 7.2928, -0.9837}, % H5'' {5.4170, 5.9293, -1.8186}, % C4' {5.4506, 5.3400, -0.9023}, % H4' {5.5067, 5.0417, -2.9703}, % O4' {6.8650, 4.9152, -3.3612}, % C1' {7.1090, 3.8577, -3.2603}, % H1' {7.7152, 5.7282, -2.3894}, % C2' {8.5029, 6.2356, -2.9463}, % H2'' {8.1036, 4.8568, -1.3419}, % O2' {8.3270, 3.9651, -1.6184}, % H2' {6.7003, 6.7565, -1.8911}, % C3' {6.5898, 7.5329, -2.6482}, % H3' {7.0505, 7.2878, -0.6105}, % O3' {9.6740, 4.7656, -7.6614}, % N1 {9.0739, 4.3013, -5.3941}, % N3 {9.8416, 4.2192, -6.4581}, % C2 {7.9885, 5.0632, -5.6446}, % C4 {7.6822, 5.6856, -6.8194}, % C5 {8.5831, 5.5215, -7.8840}, % C6 a, { {8.4084, 6.0747, -9.0933}, % N6 {6.4857, 6.3816, -6.7035}, % N7 {6.9740, 5.3703, -4.7760}, % N9 {6.1133, 6.1613, -5.4808}, % C8 {10.7627, 3.6375, -6.4220}, % H2 {7.6031, 6.6390, -9.2733}, % H61 {9.1004, 5.9708, -9.7893}, % H62 {5.1705, 6.6830, -5.3167}} % H8 }. rA04() -> { {-0.5426, -0.8175, 0.1929, % dgf_base_tfo 0.8304, -0.5567, -0.0237, 0.1267, 0.1473, 0.9809, -0.5075, 8.3929, 0.2229}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {5.4352, 8.2183, -2.7757}, % C5' {5.3830, 8.7883, -1.8481}, % H5' {5.7729, 8.7436, -3.6691}, % H5'' {6.4830, 7.1518, -2.5252}, % C4' {7.4749, 7.5972, -2.4482}, % H4' {6.1626, 6.4620, -1.2827}, % O4' {6.5431, 5.0992, -1.3905}, % C1' {7.2871, 4.9328, -0.6114}, % H1' {7.1852, 4.8935, -2.7592}, % C2' {6.8573, 3.9363, -3.1645}, % H2'' {8.5780, 5.1025, -2.6046}, % O2' {8.9516, 4.7577, -1.7902}, % H2' {6.5522, 6.0300, -3.5612}, % C3' {5.5420, 5.7356, -3.8459}, % H3' {7.3487, 6.4089, -4.6867}, % O3' {3.6343, 2.6680, 2.0783}, % N1 {5.4505, 3.9805, 1.2446}, % N3 {4.7540, 3.3816, 2.1851}, % C2 {4.8805, 3.7951, 0.0354}, % C4 {3.7416, 3.0925, -0.2305}, % C5 {3.0873, 2.4980, 0.8606}, % C6 a, { {1.9600, 1.7805, 0.7462}, % N6 {3.4605, 3.1184, -1.5906}, % N7 {5.3247, 4.2695, -1.1710}, % N9 {4.4244, 3.8244, -2.0953}, % C8 {5.0814, 3.4352, 3.2234}, % H2 {1.5423, 1.6454, -0.1520}, % H61 {1.5716, 1.3398, 1.5392}, % H62 {4.2675, 3.8876, -3.1721}} % H8 }. rA05() -> { {-0.5891, 0.0449, 0.8068, % dgf_base_tfo 0.5375, 0.7673, 0.3498, -0.6034, 0.6397, -0.4762, -0.3019, -3.7679, -9.5913}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {4.5778, 6.6594, -4.0364}, % C5' {4.9220, 7.1963, -4.9204}, % H5' {3.7996, 5.9091, -4.1764}, % H5'' {5.7873, 5.8869, -3.5482}, % C4' {6.0405, 5.0875, -4.2446}, % H4' {6.9135, 6.8036, -3.4310}, % O4' {7.7293, 6.4084, -2.3392}, % C1' {8.7078, 6.1815, -2.7624}, % H1' {7.1305, 5.1418, -1.7347}, % C2' {7.2040, 5.1982, -0.6486}, % H2'' {7.7417, 4.0392, -2.3813}, % O2' {8.6785, 4.1443, -2.5630}, % H2' {5.6666, 5.2728, -2.1536}, % C3' {5.1747, 5.9805, -1.4863}, % H3' {4.9997, 4.0086, -2.1973}, % O3' {10.2594, 10.6774, -1.0056}, % N1 {9.7528, 8.7080, -2.2631}, % N3 {10.4471, 9.7876, -1.9791}, % C2 {8.7271, 8.5575, -1.3991}, % C4 {8.4100, 9.3803, -0.3580}, % C5 {9.2294, 10.5030, -0.1574}, % C6 a, { {9.0349, 11.3951, 0.8250}, % N6 {7.2891, 8.9068, 0.3121}, % N7 {7.7962, 7.5519, -1.3859}, % N9 {6.9702, 7.8292, -0.3353}, % C8 {11.3132, 10.0537, -2.5851}, % H2 {8.2741, 11.2784, 1.4629}, % H61 {9.6733, 12.1368, 0.9529}, % H62 {6.0888, 7.3990, 0.1403}} % H8 }. rA06() -> { {-0.9815, 0.0731, -0.1772, % dgf_base_tfo 0.1912, 0.3054, -0.9328, -0.0141, -0.9494, -0.3137, 5.7506, -5.1944, 4.7470}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {4.1214, 6.7116, -1.9049}, % C5' {3.3465, 5.9610, -2.0607}, % H5' {4.0789, 7.2928, -0.9837}, % H5'' {5.4170, 5.9293, -1.8186}, % C4' {5.4506, 5.3400, -0.9023}, % H4' {5.5067, 5.0417, -2.9703}, % O4' {6.8650, 4.9152, -3.3612}, % C1' {7.1090, 3.8577, -3.2603}, % H1' {7.7152, 5.7282, -2.3894}, % C2' {8.5029, 6.2356, -2.9463}, % H2'' {8.1036, 4.8568, -1.3419}, % O2' {8.3270, 3.9651, -1.6184}, % H2' {6.7003, 6.7565, -1.8911}, % C3' {6.5898, 7.5329, -2.6482}, % H3' {7.0505, 7.2878, -0.6105}, % O3' {6.6624, 3.5061, -8.2986}, % N1 {6.5810, 3.2570, -5.9221}, % N3 {6.5151, 2.8263, -7.1625}, % C2 {6.8364, 4.5817, -5.8882}, % C4 {7.0116, 5.4064, -6.9609}, % C5 {6.9173, 4.8260, -8.2361}, % C6 a, { {7.0668, 5.5163, -9.3763}, % N6 {7.2573, 6.7070, -6.5394}, % N7 {6.9740, 5.3703, -4.7760}, % N9 {7.2238, 6.6275, -5.2453}, % C8 {6.3146, 1.7741, -7.3641}, % H2 {7.2568, 6.4972, -9.3456}, % H61 {7.0437, 5.0478, -10.2446}, % H62 {7.4108, 7.6227, -4.8418}} % H8 }. rA07() -> { {0.2379, 0.1310, -0.9624, % dgf_base_tfo -0.5876, -0.7696, -0.2499, -0.7734, 0.6249, -0.1061, 30.9870, -26.9344, 42.6416}, {0.7529, 0.1548, 0.6397, % p_o3'_275_tfo 0.2952, -0.9481, -0.1180, 0.5882, 0.2777, -0.7595, -58.8919, -11.3095, 6.0866}, {-0.0239, 0.9667, -0.2546, % p_o3'_180_tfo 0.9731, -0.0359, -0.2275, -0.2290, -0.2532, -0.9399, 3.5401, -29.7913, 52.2796}, {-0.8912, -0.4531, 0.0242, % p_o3'_60_tfo -0.1183, 0.1805, -0.9764, 0.4380, -0.8730, -0.2145, 19.9023, 54.8054, 15.2799}, {41.8210, 8.3880, 43.5890}, % P {42.5400, 8.0450, 44.8330}, % O1P {42.2470, 9.6920, 42.9910}, % O2P {40.2550, 8.2030, 43.7340}, % O5' {39.3505, 8.4697, 42.6565}, % C5' {39.1377, 7.5433, 42.1230}, % H5' {39.7203, 9.3119, 42.0717}, % H5'' {38.0405, 8.9195, 43.2869}, % C4' {37.3687, 9.3036, 42.5193}, % H4' {37.4319, 7.8146, 43.9387}, % O4' {37.1959, 8.1354, 45.3237}, % C1' {36.1788, 8.5202, 45.3970}, % H1' {38.1721, 9.2328, 45.6504}, % C2' {39.1555, 8.7939, 45.8188}, % H2'' {37.7862, 10.0617, 46.7013}, % O2' {37.3087, 9.6229, 47.4092}, % H2' {38.1844, 10.0268, 44.3367}, % C3' {39.1578, 10.5054, 44.2289}, % H3' {37.0547, 10.9127, 44.3441}, % O3' {34.8811, 4.2072, 47.5784}, % N1 {35.1084, 6.1336, 46.1818}, % N3 {34.4108, 5.1360, 46.7207}, % C2 {36.3908, 6.1224, 46.6053}, % C4 {36.9819, 5.2334, 47.4697}, % C5 {36.1786, 4.1985, 48.0035}, % C6 a, { {36.6103, 3.2749, 48.8452}, % N6 {38.3236, 5.5522, 47.6595}, % N7 {37.3887, 7.0024, 46.2437}, % N9 {38.5055, 6.6096, 46.9057}, % C8 {33.3553, 5.0152, 46.4771}, % H2 {37.5730, 3.2804, 49.1507}, % H61 {35.9775, 2.5638, 49.1828}, % H62 {39.5461, 6.9184, 47.0041}} % H8 }. rA08() -> { {0.1084, -0.0895, -0.9901, % dgf_base_tfo 0.9789, -0.1638, 0.1220, -0.1731, -0.9824, 0.0698, -2.9039, 47.2655, 33.0094}, {0.7529, 0.1548, 0.6397, % p_o3'_275_tfo 0.2952, -0.9481, -0.1180, 0.5882, 0.2777, -0.7595, -58.8919, -11.3095, 6.0866}, {-0.0239, 0.9667, -0.2546, % p_o3'_180_tfo 0.9731, -0.0359, -0.2275, -0.2290, -0.2532, -0.9399, 3.5401, -29.7913, 52.2796}, {-0.8912, -0.4531, 0.0242, % p_o3'_60_tfo -0.1183, 0.1805, -0.9764, 0.4380, -0.8730, -0.2145, 19.9023, 54.8054, 15.2799}, {41.8210, 8.3880, 43.5890}, % P {42.5400, 8.0450, 44.8330}, % O1P {42.2470, 9.6920, 42.9910}, % O2P {40.2550, 8.2030, 43.7340}, % O5' {39.4850, 8.9301, 44.6977}, % C5' {39.0638, 9.8199, 44.2296}, % H5' {40.0757, 9.0713, 45.6029}, % H5'' {38.3102, 8.0414, 45.0789}, % C4' {37.7842, 8.4637, 45.9351}, % H4' {37.4200, 7.9453, 43.9769}, % O4' {37.2249, 6.5609, 43.6273}, % C1' {36.3360, 6.2168, 44.1561}, % H1' {38.4347, 5.8414, 44.1590}, % C2' {39.2688, 5.9974, 43.4749}, % H2'' {38.2344, 4.4907, 44.4348}, % O2' {37.6374, 4.0386, 43.8341}, % H2' {38.6926, 6.6079, 45.4637}, % C3' {39.7585, 6.5640, 45.6877}, % H3' {37.8238, 6.0705, 46.4723}, % O3' {33.9162, 6.2598, 39.7758}, % N1 {34.6709, 6.5759, 42.0215}, % N3 {33.7257, 6.5186, 41.0858}, % C2 {35.8935, 6.3324, 41.5018}, % C4 {36.2105, 6.0601, 40.1932}, % C5 {35.1538, 6.0151, 39.2537}, % C6 a, { {35.3088, 5.7642, 37.9649}, % N6 {37.5818, 5.8677, 40.0507}, % N7 {37.0932, 6.3197, 42.1810}, % N9 {38.0509, 6.0354, 41.2635}, % C8 {32.6830, 6.6898, 41.3532}, % H2 {36.2305, 5.5855, 37.5925}, % H61 {34.5056, 5.7512, 37.3528}, % H62 {39.1318, 5.8993, 41.2285}} % H8 }. rA09() -> { {0.8467, 0.4166, -0.3311, % dgf_base_tfo -0.3962, 0.9089, 0.1303, 0.3552, 0.0209, 0.9346, -42.7319, -26.6223, -29.8163}, {0.7529, 0.1548, 0.6397, % p_o3'_275_tfo 0.2952, -0.9481, -0.1180, 0.5882, 0.2777, -0.7595, -58.8919, -11.3095, 6.0866}, {-0.0239, 0.9667, -0.2546, % p_o3'_180_tfo 0.9731, -0.0359, -0.2275, -0.2290, -0.2532, -0.9399, 3.5401, -29.7913, 52.2796}, {-0.8912, -0.4531, 0.0242, % p_o3'_60_tfo -0.1183, 0.1805, -0.9764, 0.4380, -0.8730, -0.2145, 19.9023, 54.8054, 15.2799}, {41.8210, 8.3880, 43.5890}, % P {42.5400, 8.0450, 44.8330}, % O1P {42.2470, 9.6920, 42.9910}, % O2P {40.2550, 8.2030, 43.7340}, % O5' {39.3505, 8.4697, 42.6565}, % C5' {39.1377, 7.5433, 42.1230}, % H5' {39.7203, 9.3119, 42.0717}, % H5'' {38.0405, 8.9195, 43.2869}, % C4' {37.6479, 8.1347, 43.9335}, % H4' {38.2691, 10.0933, 44.0524}, % O4' {37.3999, 11.1488, 43.5973}, % C1' {36.5061, 11.1221, 44.2206}, % H1' {37.0364, 10.7838, 42.1836}, % C2' {37.8636, 11.0489, 41.5252}, % H2'' {35.8275, 11.3133, 41.7379}, % O2' {35.6214, 12.1896, 42.0714}, % H2' {36.9316, 9.2556, 42.2837}, % C3' {37.1778, 8.8260, 41.3127}, % H3' {35.6285, 8.9334, 42.7926}, % O3' {38.1482, 15.2833, 46.4641}, % N1 {37.3641, 13.0968, 45.9007}, % N3 {37.5032, 14.1288, 46.7300}, % C2 {37.9570, 13.3377, 44.7113}, % C4 {38.6397, 14.4660, 44.3267}, % C5 {38.7473, 15.5229, 45.2609}, % C6 a, { {39.3720, 16.6649, 45.0297}, % N6 {39.1079, 14.3351, 43.0223}, % N7 {38.0132, 12.4868, 43.6280}, % N9 {38.7058, 13.1402, 42.6620}, % C8 {37.0731, 14.0857, 47.7306}, % H2 {39.8113, 16.8281, 44.1350}, % H61 {39.4100, 17.3741, 45.7478}, % H62 {39.0412, 12.9660, 41.6397}} % H8 }. rA10() -> { {0.7063, 0.6317, -0.3196, % dgf_base_tfo -0.0403, -0.4149, -0.9090, -0.7068, 0.6549, -0.2676, 6.4402, -52.1496, 30.8246}, {0.7529, 0.1548, 0.6397, % p_o3'_275_tfo 0.2952, -0.9481, -0.1180, 0.5882, 0.2777, -0.7595, -58.8919, -11.3095, 6.0866}, {-0.0239, 0.9667, -0.2546, % p_o3'_180_tfo 0.9731, -0.0359, -0.2275, -0.2290, -0.2532, -0.9399, 3.5401, -29.7913, 52.2796}, {-0.8912, -0.4531, 0.0242, % p_o3'_60_tfo -0.1183, 0.1805, -0.9764, 0.4380, -0.8730, -0.2145, 19.9023, 54.8054, 15.2799}, {41.8210, 8.3880, 43.5890}, % P {42.5400, 8.0450, 44.8330}, % O1P {42.2470, 9.6920, 42.9910}, % O2P {40.2550, 8.2030, 43.7340}, % O5' {39.4850, 8.9301, 44.6977}, % C5' {39.0638, 9.8199, 44.2296}, % H5' {40.0757, 9.0713, 45.6029}, % H5'' {38.3102, 8.0414, 45.0789}, % C4' {37.7099, 7.8166, 44.1973}, % H4' {38.8012, 6.8321, 45.6380}, % O4' {38.2431, 6.6413, 46.9529}, % C1' {37.3505, 6.0262, 46.8385}, % H1' {37.8484, 8.0156, 47.4214}, % C2' {38.7381, 8.5406, 47.7690}, % H2'' {36.8286, 8.0368, 48.3701}, % O2' {36.8392, 7.3063, 48.9929}, % H2' {37.3576, 8.6512, 46.1132}, % C3' {37.5207, 9.7275, 46.1671}, % H3' {35.9985, 8.2392, 45.9032}, % O3' {39.9117, 2.2278, 48.8527}, % N1 {38.6207, 3.6941, 47.4757}, % N3 {38.9872, 2.4888, 47.9057}, % C2 {39.2961, 4.6720, 48.1174}, % C4 {40.2546, 4.5307, 49.0912}, % C5 {40.5932, 3.2189, 49.4985}, % C6 a, { {41.4938, 2.9317, 50.4229}, % N6 {40.7195, 5.7755, 49.5060}, % N7 {39.1730, 6.0305, 47.9170}, % N9 {40.0413, 6.6250, 48.7728}, % C8 {38.5257, 1.5960, 47.4838}, % H2 {41.9907, 3.6753, 50.8921}, % H61 {41.6848, 1.9687, 50.6599}, % H62 {40.3571, 7.6321, 49.0452}} % H8 }. rAs() -> [rA01(),rA02(),rA03(),rA04(),rA05(),rA06(),rA07(), rA08(),rA09(),rA10()]. rC() -> { {-0.0359, -0.8071, 0.5894, % dgf_base_tfo -0.2669, 0.5761, 0.7726, -0.9631, -0.1296, -0.2361, 0.1584, 8.3434, 0.5434}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2430, -8.2420, 2.8260}, % C5' {5.1974, -8.8497, 1.9223}, % H5' {5.5548, -8.7348, 3.7469}, % H5'' {6.3140, -7.2060, 2.5510}, % C4' {7.2954, -7.6762, 2.4898}, % H4' {6.0140, -6.5420, 1.2890}, % O4' {6.4190, -5.1840, 1.3620}, % C1' {7.1608, -5.0495, 0.5747}, % H1' {7.0760, -4.9560, 2.7270}, % C2' {6.7770, -3.9803, 3.1099}, % H2'' {8.4500, -5.1930, 2.5810}, % O2' {8.8309, -4.8755, 1.7590}, % H2' {6.4060, -6.0590, 3.5580}, % C3' {5.4021, -5.7313, 3.8281}, % H3' {7.1570, -6.4240, 4.7070}, % O3' {5.2170, -4.3260, 1.1690}, % N1 {4.2960, -2.2560, 0.6290}, % N3 {5.4330, -3.0200, 0.7990}, % C2 {2.9930, -2.6780, 0.7940}, % C4 {2.8670, -4.0630, 1.1830}, % C5 {3.9570, -4.8300, 1.3550}, % C6 c, { {2.0187, -1.8047, 0.5874}, % N4 {6.5470, -2.5560, 0.6290}, % O2 {1.0684, -2.1236, 0.7109}, % H41 {2.2344, -0.8560, 0.3162}, % H42 {1.8797, -4.4972, 1.3404}, % H5 {3.8479, -5.8742, 1.6480}} % H6 }. rC01() -> { {-0.0137, -0.8012, 0.5983, % dgf_base_tfo -0.2523, 0.5817, 0.7733, -0.9675, -0.1404, -0.2101, 0.2031, 8.3874, 0.4228}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2416, -8.2422, 2.8181}, % C5' {5.2050, -8.8128, 1.8901}, % H5' {5.5368, -8.7738, 3.7227}, % H5'' {6.3232, -7.2037, 2.6002}, % C4' {7.3048, -7.6757, 2.5577}, % H4' {6.0635, -6.5092, 1.3456}, % O4' {6.4697, -5.1547, 1.4629}, % C1' {7.2354, -5.0043, 0.7018}, % H1' {7.0856, -4.9610, 2.8521}, % C2' {6.7777, -3.9935, 3.2487}, % H2'' {8.4627, -5.1992, 2.7423}, % O2' {8.8693, -4.8638, 1.9399}, % H2' {6.3877, -6.0809, 3.6362}, % C3' {5.3770, -5.7562, 3.8834}, % H3' {7.1024, -6.4754, 4.7985}, % O3' {5.2764, -4.2883, 1.2538}, % N1 {4.3777, -2.2062, 0.7229}, % N3 {5.5069, -2.9779, 0.9088}, % C2 {3.0693, -2.6246, 0.8500}, % C4 {2.9279, -4.0146, 1.2149}, % C5 {4.0101, -4.7892, 1.4017}, % C6 c, { {2.1040, -1.7437, 0.6331}, % N4 {6.6267, -2.5166, 0.7728}, % O2 {1.1496, -2.0600, 0.7287}, % H41 {2.3303, -0.7921, 0.3815}, % H42 {1.9353, -4.4465, 1.3419}, % H5 {3.8895, -5.8371, 1.6762}} % H6 }. rC02() -> { {0.5141, 0.0246, 0.8574, % dgf_base_tfo -0.5547, -0.7529, 0.3542, 0.6542, -0.6577, -0.3734, -9.1111, -3.4598, -3.2939}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {4.3825, -6.6585, 4.0489}, % C5' {4.6841, -7.2019, 4.9443}, % H5' {3.6189, -5.8889, 4.1625}, % H5'' {5.6255, -5.9175, 3.5998}, % C4' {5.8732, -5.1228, 4.3034}, % H4' {6.7337, -6.8605, 3.5222}, % O4' {7.5932, -6.4923, 2.4548}, % C1' {8.5661, -6.2983, 2.9064}, % H1' {7.0527, -5.2012, 1.8322}, % C2' {7.1627, -5.2525, 0.7490}, % H2'' {7.6666, -4.1249, 2.4880}, % O2' {8.5944, -4.2543, 2.6981}, % H2' {5.5661, -5.3029, 2.2009}, % C3' {5.0841, -6.0018, 1.5172}, % H3' {4.9062, -4.0452, 2.2042}, % O3' {7.6298, -7.6136, 1.4752}, % N1 {8.6945, -8.7046, -0.2857}, % N3 {8.6943, -7.6514, 0.6066}, % C2 {7.7426, -9.6987, -0.3801}, % C4 {6.6642, -9.5742, 0.5722}, % C5 {6.6391, -8.5592, 1.4526}, % C6 c, { {7.9033, -10.6371, -1.3010}, % N4 {9.5840, -6.8186, 0.6136}, % O2 {7.2009, -11.3604, -1.3619}, % H41 {8.7058, -10.6168, -1.9140}, % H42 {5.8585, -10.3083, 0.5822}, % H5 {5.8197, -8.4773, 2.1667}} % H6 }. rC03() -> { {-0.4993, 0.0476, 0.8651, % dgf_base_tfo 0.8078, -0.3353, 0.4847, 0.3132, 0.9409, 0.1290, 6.2989, -5.2303, -3.8577}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {3.9938, -6.7042, 1.9023}, % C5' {3.2332, -5.9343, 2.0319}, % H5' {3.9666, -7.2863, 0.9812}, % H5'' {5.3098, -5.9546, 1.8564}, % C4' {5.3863, -5.3702, 0.9395}, % H4' {5.3851, -5.0642, 3.0076}, % O4' {6.7315, -4.9724, 3.4462}, % C1' {7.0033, -3.9202, 3.3619}, % H1' {7.5997, -5.8018, 2.4948}, % C2' {8.3627, -6.3254, 3.0707}, % H2'' {8.0410, -4.9501, 1.4724}, % O2' {8.2781, -4.0644, 1.7570}, % H2' {6.5701, -6.8129, 1.9714}, % C3' {6.4186, -7.5809, 2.7299}, % H3' {6.9357, -7.3841, 0.7235}, % O3' {6.8024, -5.4718, 4.8475}, % N1 {7.9218, -5.5700, 6.8877}, % N3 {7.8908, -5.0886, 5.5944}, % C2 {6.9789, -6.3827, 7.4823}, % C4 {5.8742, -6.7319, 6.6202}, % C5 {5.8182, -6.2769, 5.3570}, % C6 c, { {7.1702, -6.7511, 8.7402}, % N4 {8.7747, -4.3728, 5.1568}, % O2 {6.4741, -7.3461, 9.1662}, % H41 {7.9889, -6.4396, 9.2429}, % H42 {5.0736, -7.3713, 6.9922}, % H5 {4.9784, -6.5473, 4.7170}} % H6 }. rC04() -> { {-0.5669, -0.8012, 0.1918, % dgf_base_tfo -0.8129, 0.5817, 0.0273, -0.1334, -0.1404, -0.9811, -0.3279, 8.3874, 0.3355}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2416, -8.2422, 2.8181}, % C5' {5.2050, -8.8128, 1.8901}, % H5' {5.5368, -8.7738, 3.7227}, % H5'' {6.3232, -7.2037, 2.6002}, % C4' {7.3048, -7.6757, 2.5577}, % H4' {6.0635, -6.5092, 1.3456}, % O4' {6.4697, -5.1547, 1.4629}, % C1' {7.2354, -5.0043, 0.7018}, % H1' {7.0856, -4.9610, 2.8521}, % C2' {6.7777, -3.9935, 3.2487}, % H2'' {8.4627, -5.1992, 2.7423}, % O2' {8.8693, -4.8638, 1.9399}, % H2' {6.3877, -6.0809, 3.6362}, % C3' {5.3770, -5.7562, 3.8834}, % H3' {7.1024, -6.4754, 4.7985}, % O3' {5.2764, -4.2883, 1.2538}, % N1 {3.8961, -3.0896, -0.1893}, % N3 {5.0095, -3.8907, -0.0346}, % C2 {3.0480, -2.6632, 0.8116}, % C4 {3.4093, -3.1310, 2.1292}, % C5 {4.4878, -3.9124, 2.3088}, % C6 c, { {2.0216, -1.8941, 0.4804}, % N4 {5.7005, -4.2164, -0.9842}, % O2 {1.4067, -1.5873, 1.2205}, % H41 {1.8721, -1.6319, -0.4835}, % H42 {2.8048, -2.8507, 2.9918}, % H5 {4.7491, -4.2593, 3.3085}} % H6 }. rC05() -> { {-0.6298, 0.0246, 0.7763, % dgf_base_tfo -0.5226, -0.7529, -0.4001, 0.5746, -0.6577, 0.4870, -0.0208, -3.4598, -9.6882}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {4.3825, -6.6585, 4.0489}, % C5' {4.6841, -7.2019, 4.9443}, % H5' {3.6189, -5.8889, 4.1625}, % H5'' {5.6255, -5.9175, 3.5998}, % C4' {5.8732, -5.1228, 4.3034}, % H4' {6.7337, -6.8605, 3.5222}, % O4' {7.5932, -6.4923, 2.4548}, % C1' {8.5661, -6.2983, 2.9064}, % H1' {7.0527, -5.2012, 1.8322}, % C2' {7.1627, -5.2525, 0.7490}, % H2'' {7.6666, -4.1249, 2.4880}, % O2' {8.5944, -4.2543, 2.6981}, % H2' {5.5661, -5.3029, 2.2009}, % C3' {5.0841, -6.0018, 1.5172}, % H3' {4.9062, -4.0452, 2.2042}, % O3' {7.6298, -7.6136, 1.4752}, % N1 {8.5977, -9.5977, 0.7329}, % N3 {8.5951, -8.5745, 1.6594}, % C2 {7.7372, -9.7371, -0.3364}, % C4 {6.7596, -8.6801, -0.4476}, % C5 {6.7338, -7.6721, 0.4408}, % C6 c, { {7.8849, -10.7881, -1.1289}, % N4 {9.3993, -8.5377, 2.5743}, % O2 {7.2499, -10.8809, -1.9088}, % H41 {8.6122, -11.4649, -0.9468}, % H42 {6.0317, -8.6941, -1.2588}, % H5 {5.9901, -6.8809, 0.3459}} % H6 }. rC06() -> { {-0.9837, 0.0476, -0.1733, % dgf_base_tfo -0.1792, -0.3353, 0.9249, -0.0141, 0.9409, 0.3384, 5.7793, -5.2303, 4.5997}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {3.9938, -6.7042, 1.9023}, % C5' {3.2332, -5.9343, 2.0319}, % H5' {3.9666, -7.2863, 0.9812}, % H5'' {5.3098, -5.9546, 1.8564}, % C4' {5.3863, -5.3702, 0.9395}, % H4' {5.3851, -5.0642, 3.0076}, % O4' {6.7315, -4.9724, 3.4462}, % C1' {7.0033, -3.9202, 3.3619}, % H1' {7.5997, -5.8018, 2.4948}, % C2' {8.3627, -6.3254, 3.0707}, % H2'' {8.0410, -4.9501, 1.4724}, % O2' {8.2781, -4.0644, 1.7570}, % H2' {6.5701, -6.8129, 1.9714}, % C3' {6.4186, -7.5809, 2.7299}, % H3' {6.9357, -7.3841, 0.7235}, % O3' {6.8024, -5.4718, 4.8475}, % N1 {6.6920, -5.0495, 7.1354}, % N3 {6.6201, -4.5500, 5.8506}, % C2 {6.9254, -6.3614, 7.4926}, % C4 {7.1046, -7.2543, 6.3718}, % C5 {7.0391, -6.7951, 5.1106}, % C6 c, { {6.9614, -6.6648, 8.7815}, % N4 {6.4083, -3.3696, 5.6340}, % O2 {7.1329, -7.6280, 9.0324}, % H41 {6.8204, -5.9469, 9.4777}, % H42 {7.2954, -8.3135, 6.5440}, % H5 {7.1753, -7.4798, 4.2735}} % H6 }. rC07() -> { {0.0033, 0.2720, -0.9623, % dgf_base_tfo 0.3013, -0.9179, -0.2584, -0.9535, -0.2891, -0.0850, 43.0403, 13.7233, 34.5710}, {0.9187, 0.2887, 0.2694, % p_o3'_275_tfo 0.0302, -0.7316, 0.6811, 0.3938, -0.6176, -0.6808, -48.4330, 26.3254, 13.6383}, {-0.1504, 0.7744, -0.6145, % p_o3'_180_tfo 0.7581, 0.4893, 0.4311, 0.6345, -0.4010, -0.6607, -31.9784, -13.4285, 44.9650}, {-0.6236, -0.7810, -0.0337, % p_o3'_60_tfo -0.6890, 0.5694, -0.4484, 0.3694, -0.2564, -0.8932, 12.1105, 30.8774, 46.0946}, {33.3400, 11.0980, 46.1750}, % P {34.5130, 10.2320, 46.4660}, % O1P {33.4130, 12.3960, 46.9340}, % O2P {31.9810, 10.3390, 46.4820}, % O5' {30.8152, 11.1619, 46.2003}, % C5' {30.4519, 10.9454, 45.1957}, % H5' {31.0379, 12.2016, 46.4400}, % H5'' {29.7081, 10.7448, 47.1428}, % C4' {28.8710, 11.4416, 47.0982}, % H4' {29.2550, 9.4394, 46.8162}, % O4' {29.3907, 8.5625, 47.9460}, % C1' {28.4416, 8.5669, 48.4819}, % H1' {30.4468, 9.2031, 48.7952}, % C2' {31.4222, 8.9651, 48.3709}, % H2'' {30.3701, 8.9157, 50.1624}, % O2' {30.0652, 8.0304, 50.3740}, % H2' {30.1622, 10.6879, 48.6120}, % C3' {31.0952, 11.2399, 48.7254}, % H3' {29.1076, 11.1535, 49.4702}, % O3' {29.7883, 7.2209, 47.5235}, % N1 {29.1825, 5.0438, 46.8275}, % N3 {28.8008, 6.2912, 47.2263}, % C2 {30.4888, 4.6890, 46.7186}, % C4 {31.5034, 5.6405, 47.0249}, % C5 {31.1091, 6.8691, 47.4156}, % C6 c, { {30.8109, 3.4584, 46.3336}, % N4 {27.6171, 6.5989, 47.3189}, % O2 {31.7923, 3.2301, 46.2638}, % H41 {30.0880, 2.7857, 46.1215}, % H42 {32.5542, 5.3634, 46.9395}, % H5 {31.8523, 7.6279, 47.6603}} % H6 }. rC08() -> { {0.0797, -0.6026, -0.7941, % dgf_base_tfo 0.7939, 0.5201, -0.3150, 0.6028, -0.6054, 0.5198, -36.8341, 41.5293, 1.6628}, {0.9187, 0.2887, 0.2694, % p_o3'_275_tfo 0.0302, -0.7316, 0.6811, 0.3938, -0.6176, -0.6808, -48.4330, 26.3254, 13.6383}, {-0.1504, 0.7744, -0.6145, % p_o3'_180_tfo 0.7581, 0.4893, 0.4311, 0.6345, -0.4010, -0.6607, -31.9784, -13.4285, 44.9650}, {-0.6236, -0.7810, -0.0337, % p_o3'_60_tfo -0.6890, 0.5694, -0.4484, 0.3694, -0.2564, -0.8932, 12.1105, 30.8774, 46.0946}, {33.3400, 11.0980, 46.1750}, % P {34.5130, 10.2320, 46.4660}, % O1P {33.4130, 12.3960, 46.9340}, % O2P {31.9810, 10.3390, 46.4820}, % O5' {31.8779, 9.9369, 47.8760}, % C5' {31.3239, 10.6931, 48.4322}, % H5' {32.8647, 9.6624, 48.2489}, % H5'' {31.0429, 8.6773, 47.9401}, % C4' {31.0779, 8.2331, 48.9349}, % H4' {29.6956, 8.9669, 47.5983}, % O4' {29.2784, 8.1700, 46.4782}, % C1' {28.8006, 7.2731, 46.8722}, % H1' {30.5544, 7.7940, 45.7875}, % C2' {30.8837, 8.6410, 45.1856}, % H2'' {30.5100, 6.6007, 45.0582}, % O2' {29.6694, 6.4168, 44.6326}, % H2' {31.5146, 7.5954, 46.9527}, % C3' {32.5255, 7.8261, 46.6166}, % H3' {31.3876, 6.2951, 47.5516}, % O3' {28.3976, 8.9302, 45.5933}, % N1 {26.2155, 9.6135, 44.9910}, % N3 {27.0281, 8.8961, 45.8192}, % C2 {26.7044, 10.3489, 43.9595}, % C4 {28.1088, 10.3837, 43.7247}, % C5 {28.8978, 9.6708, 44.5535}, % C6 c, { {25.8715, 11.0249, 43.1749}, % N4 {26.5733, 8.2371, 46.7484}, % O2 {26.2707, 11.5609, 42.4177}, % H41 {24.8760, 10.9939, 43.3427}, % H42 {28.5089, 10.9722, 42.8990}, % H5 {29.9782, 9.6687, 44.4097}} % H6 }. rC09() -> { {0.8727, 0.4760, -0.1091, % dgf_base_tfo -0.4188, 0.6148, -0.6682, -0.2510, 0.6289, 0.7359, -8.1687, -52.0761, -25.0726}, {0.9187, 0.2887, 0.2694, % p_o3'_275_tfo 0.0302, -0.7316, 0.6811, 0.3938, -0.6176, -0.6808, -48.4330, 26.3254, 13.6383}, {-0.1504, 0.7744, -0.6145, % p_o3'_180_tfo 0.7581, 0.4893, 0.4311, 0.6345, -0.4010, -0.6607, -31.9784, -13.4285, 44.9650}, {-0.6236, -0.7810, -0.0337, % p_o3'_60_tfo -0.6890, 0.5694, -0.4484, 0.3694, -0.2564, -0.8932, 12.1105, 30.8774, 46.0946}, {33.3400, 11.0980, 46.1750}, % P {34.5130, 10.2320, 46.4660}, % O1P {33.4130, 12.3960, 46.9340}, % O2P {31.9810, 10.3390, 46.4820}, % O5' {30.8152, 11.1619, 46.2003}, % C5' {30.4519, 10.9454, 45.1957}, % H5' {31.0379, 12.2016, 46.4400}, % H5'' {29.7081, 10.7448, 47.1428}, % C4' {29.4506, 9.6945, 47.0059}, % H4' {30.1045, 10.9634, 48.4885}, % O4' {29.1794, 11.8418, 49.1490}, % C1' {28.4388, 11.2210, 49.6533}, % H1' {28.5211, 12.6008, 48.0367}, % C2' {29.1947, 13.3949, 47.7147}, % H2'' {27.2316, 13.0683, 48.3134}, % O2' {27.0851, 13.3391, 49.2227}, % H2' {28.4131, 11.5507, 46.9391}, % C3' {28.4451, 12.0512, 45.9713}, % H3' {27.2707, 10.6955, 47.1097}, % O3' {29.8751, 12.7405, 50.0682}, % N1 {30.7172, 13.1841, 52.2328}, % N3 {30.0617, 12.3404, 51.3847}, % C2 {31.1834, 14.3941, 51.8297}, % C4 {30.9913, 14.8074, 50.4803}, % C5 {30.3434, 13.9610, 49.6548}, % C6 c, { {31.8090, 15.1847, 52.6957}, % N4 {29.6470, 11.2494, 51.7616}, % O2 {32.1422, 16.0774, 52.3606}, % H41 {31.9392, 14.8893, 53.6527}, % H42 {31.3632, 15.7771, 50.1491}, % H5 {30.1742, 14.2374, 48.6141}} % H6 }. rC10() -> { {0.1549, 0.8710, -0.4663, % dgf_base_tfo 0.6768, -0.4374, -0.5921, -0.7197, -0.2239, -0.6572, 25.2447, -14.1920, 50.3201}, {0.9187, 0.2887, 0.2694, % p_o3'_275_tfo 0.0302, -0.7316, 0.6811, 0.3938, -0.6176, -0.6808, -48.4330, 26.3254, 13.6383}, {-0.1504, 0.7744, -0.6145, % p_o3'_180_tfo 0.7581, 0.4893, 0.4311, 0.6345, -0.4010, -0.6607, -31.9784, -13.4285, 44.9650}, {-0.6236, -0.7810, -0.0337, % p_o3'_60_tfo -0.6890, 0.5694, -0.4484, 0.3694, -0.2564, -0.8932, 12.1105, 30.8774, 46.0946}, {33.3400, 11.0980, 46.1750}, % P {34.5130, 10.2320, 46.4660}, % O1P {33.4130, 12.3960, 46.9340}, % O2P {31.9810, 10.3390, 46.4820}, % O5' {31.8779, 9.9369, 47.8760}, % C5' {31.3239, 10.6931, 48.4322}, % H5' {32.8647, 9.6624, 48.2489}, % H5'' {31.0429, 8.6773, 47.9401}, % C4' {30.0440, 8.8473, 47.5383}, % H4' {31.6749, 7.6351, 47.2119}, % O4' {31.9159, 6.5022, 48.0616}, % C1' {31.0691, 5.8243, 47.9544}, % H1' {31.9300, 7.0685, 49.4493}, % C2' {32.9024, 7.5288, 49.6245}, % H2'' {31.5672, 6.1750, 50.4632}, % O2' {31.8416, 5.2663, 50.3200}, % H2' {30.8618, 8.1514, 49.3749}, % C3' {31.1122, 8.9396, 50.0850}, % H3' {29.5351, 7.6245, 49.5409}, % O3' {33.1890, 5.8629, 47.7343}, % N1 {34.4004, 4.2636, 46.4828}, % N3 {33.2062, 4.8497, 46.7851}, % C2 {35.5600, 4.6374, 47.0822}, % C4 {35.5444, 5.6751, 48.0577}, % C5 {34.3565, 6.2450, 48.3432}, % C6 c, { {36.6977, 4.0305, 46.7598}, % N4 {32.1661, 4.5034, 46.2348}, % O2 {37.5405, 4.3347, 47.2259}, % H41 {36.7033, 3.2923, 46.0706}, % H42 {36.4713, 5.9811, 48.5428}, % H5 {34.2986, 7.0426, 49.0839}} % H6 }. rCs() -> [rC01(),rC02(),rC03(),rC04(),rC05(),rC06(),rC07(), rC08(),rC09(),rC10()]. rG() -> { {-0.0018, -0.8207, 0.5714, % dgf_base_tfo 0.2679, -0.5509, -0.7904, 0.9634, 0.1517, 0.2209, 0.0073, 8.4030, 0.6232}, {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo -0.0433, -0.4257, 0.9038, -0.5788, 0.7480, 0.3246, 1.5227, 6.9114, -7.0765}, {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo 0.4552, 0.6637, 0.5935, -0.8042, 0.0203, 0.5941, -6.9472, -4.1186, -5.9108}, {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo -0.8247, 0.5587, -0.0878, 0.0426, 0.2162, 0.9754, 6.2694, -7.0540, 3.3316}, {2.8930, 8.5380, -3.3280}, % P {1.6980, 7.6960, -3.5570}, % O1P {3.2260, 9.5010, -4.4020}, % O2P {4.1590, 7.6040, -3.0340}, % O5' {5.4550, 8.2120, -2.8810}, % C5' {5.4546, 8.8508, -1.9978}, % H5' {5.7588, 8.6625, -3.8259}, % H5'' {6.4970, 7.1480, -2.5980}, % C4' {7.4896, 7.5919, -2.5214}, % H4' {6.1630, 6.4860, -1.3440}, % O4' {6.5400, 5.1200, -1.4190}, % C1' {7.2763, 4.9681, -0.6297}, % H1' {7.1940, 4.8830, -2.7770}, % C2' {6.8667, 3.9183, -3.1647}, % H2'' {8.5860, 5.0910, -2.6140}, % O2' {8.9510, 4.7626, -1.7890}, % H2' {6.5720, 6.0040, -3.6090}, % C3' {5.5636, 5.7066, -3.8966}, % H3' {7.3801, 6.3562, -4.7350}, % O3' {4.7150, 0.4910, -0.1360}, % N1 {6.3490, 2.1730, -0.6020}, % N3 {5.9530, 0.9650, -0.2670}, % C2 {5.2900, 2.9790, -0.8260}, % C4 {3.9720, 2.6390, -0.7330}, % C5 {3.6770, 1.3160, -0.3660}, % C6 g, { {6.8426, 0.0056, -0.0019}, % N2 {3.1660, 3.7290, -1.0360}, % N7 {5.3170, 4.2990, -1.1930}, % N9 {4.0100, 4.6780, -1.2990}, % C8 {2.4280, 0.8450, -0.2360}, % O6 {4.6151, -0.4677, 0.1305}, % H1 {6.6463, -0.9463, 0.2729}, % H21 {7.8170, 0.2642, -0.0640}, % H22 {3.4421, 5.5744, -1.5482}} % H8 }. % rG01() -> % { % {-0.0043, -0.8175, 0.5759, % dgf_base_tfo % 0.2617, -0.5567, -0.7884, % 0.9651, 0.1473, 0.2164, % 0.0359, 8.3929, 0.5532}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {5.4352, 8.2183, -2.7757}, % C5' % {5.3830, 8.7883, -1.8481}, % H5' % {5.7729, 8.7436, -3.6691}, % H5'' % {6.4830, 7.1518, -2.5252}, % C4' % {7.4749, 7.5972, -2.4482}, % H4' % {6.1626, 6.4620, -1.2827}, % O4' % {6.5431, 5.0992, -1.3905}, % C1' % {7.2871, 4.9328, -0.6114}, % H1' % {7.1852, 4.8935, -2.7592}, % C2' % {6.8573, 3.9363, -3.1645}, % H2'' % {8.5780, 5.1025, -2.6046}, % O2' % {8.9516, 4.7577, -1.7902}, % H2' % {6.5522, 6.0300, -3.5612}, % C3' % {5.5420, 5.7356, -3.8459}, % H3' % {7.3487, 6.4089, -4.6867}, % O3' % {4.7442, 0.4514, -0.1390}, % N1 % {6.3687, 2.1459, -0.5926}, % N3 % {5.9795, 0.9335, -0.2657}, % C2 % {5.3052, 2.9471, -0.8125}, % C4 % {3.9891, 2.5987, -0.7230}, % C5 % {3.7016, 1.2717, -0.3647}, % C6 % g, { % {6.8745, -0.0224, -0.0058}, % N2 % {3.1770, 3.6859, -1.0198}, % N7 % {5.3247, 4.2695, -1.1710}, % N9 % {4.0156, 4.6415, -1.2759}, % C8 % {2.4553, 0.7925, -0.2390}, % O6 % {4.6497, -0.5095, 0.1212}, % H1 % {6.6836, -0.9771, 0.2627}, % H21 % {7.8474, 0.2424, -0.0653}, % H22 % {3.4426, 5.5361, -1.5199}} % H8 % }. % rG02() -> % { % {0.5566, 0.0449, 0.8296, % dgf_base_tfo % 0.5125, 0.7673, -0.3854, % -0.6538, 0.6397, 0.4041, % -9.1161, -3.7679, -2.9968}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {4.5778, 6.6594, -4.0364}, % C5' % {4.9220, 7.1963, -4.9204}, % H5' % {3.7996, 5.9091, -4.1764}, % H5'' % {5.7873, 5.8869, -3.5482}, % C4' % {6.0405, 5.0875, -4.2446}, % H4' % {6.9135, 6.8036, -3.4310}, % O4' % {7.7293, 6.4084, -2.3392}, % C1' % {8.7078, 6.1815, -2.7624}, % H1' % {7.1305, 5.1418, -1.7347}, % C2' % {7.2040, 5.1982, -0.6486}, % H2'' % {7.7417, 4.0392, -2.3813}, % O2' % {8.6785, 4.1443, -2.5630}, % H2' % {5.6666, 5.2728, -2.1536}, % C3' % {5.1747, 5.9805, -1.4863}, % H3' % {4.9997, 4.0086, -2.1973}, % O3' % {10.3245, 8.5459, 1.5467}, % N1 % {9.8051, 6.9432, -0.1497}, % N3 % {10.5175, 7.4328, 0.8408}, % C2 % {8.7523, 7.7422, -0.4228}, % C4 % {8.4257, 8.9060, 0.2099}, % C5 % {9.2665, 9.3242, 1.2540}, % C6 % g, { % {11.6077, 6.7966, 1.2752}, % N2 % {7.2750, 9.4537, -0.3428}, % N7 % {7.7962, 7.5519, -1.3859}, % N9 % {6.9479, 8.6157, -1.2771}, % C8 % {9.0664, 10.4462, 1.9610}, % O6 % {10.9838, 8.7524, 2.2697}, % H1 % {12.2274, 7.0896, 2.0170}, % H21 % {11.8502, 5.9398, 0.7984}, % H22 % {6.0430, 8.9853, -1.7594}} % H8 % }. % rG03() -> % { % {-0.5021, 0.0731, 0.8617, % dgf_base_tfo % -0.8112, 0.3054, -0.4986, % -0.2996, -0.9494, -0.0940, % 6.4273, -5.1944, -3.7807}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {4.1214, 6.7116, -1.9049}, % C5' % {3.3465, 5.9610, -2.0607}, % H5' % {4.0789, 7.2928, -0.9837}, % H5'' % {5.4170, 5.9293, -1.8186}, % C4' % {5.4506, 5.3400, -0.9023}, % H4' % {5.5067, 5.0417, -2.9703}, % O4' % {6.8650, 4.9152, -3.3612}, % C1' % {7.1090, 3.8577, -3.2603}, % H1' % {7.7152, 5.7282, -2.3894}, % C2' % {8.5029, 6.2356, -2.9463}, % H2'' % {8.1036, 4.8568, -1.3419}, % O2' % {8.3270, 3.9651, -1.6184}, % H2' % {6.7003, 6.7565, -1.8911}, % C3' % {6.5898, 7.5329, -2.6482}, % H3' % {7.0505, 7.2878, -0.6105}, % O3' % {9.6740, 4.7656, -7.6614}, % N1 % {9.0739, 4.3013, -5.3941}, % N3 % {9.8416, 4.2192, -6.4581}, % C2 % {7.9885, 5.0632, -5.6446}, % C4 % {7.6822, 5.6856, -6.8194}, % C5 % {8.5831, 5.5215, -7.8840}, % C6 % g, { % {10.9733, 3.5117, -6.4286}, % N2 % {6.4857, 6.3816, -6.7035}, % N7 % {6.9740, 5.3703, -4.7760}, % N9 % {6.1133, 6.1613, -5.4808}, % C8 % {8.4084, 6.0747, -9.0933}, % O6 % {10.3759, 4.5855, -8.3504}, % H1 % {11.6254, 3.3761, -7.1879}, % H21 % {11.1917, 3.0460, -5.5593}, % H22 % {5.1705, 6.6830, -5.3167}} % H8 % }. % rG04() -> % { % {-0.5426, -0.8175, 0.1929, % dgf_base_tfo % 0.8304, -0.5567, -0.0237, % 0.1267, 0.1473, 0.9809, % -0.5075, 8.3929, 0.2229}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {5.4352, 8.2183, -2.7757}, % C5' % {5.3830, 8.7883, -1.8481}, % H5' % {5.7729, 8.7436, -3.6691}, % H5'' % {6.4830, 7.1518, -2.5252}, % C4' % {7.4749, 7.5972, -2.4482}, % H4' % {6.1626, 6.4620, -1.2827}, % O4' % {6.5431, 5.0992, -1.3905}, % C1' % {7.2871, 4.9328, -0.6114}, % H1' % {7.1852, 4.8935, -2.7592}, % C2' % {6.8573, 3.9363, -3.1645}, % H2'' % {8.5780, 5.1025, -2.6046}, % O2' % {8.9516, 4.7577, -1.7902}, % H2' % {6.5522, 6.0300, -3.5612}, % C3' % {5.5420, 5.7356, -3.8459}, % H3' % {7.3487, 6.4089, -4.6867}, % O3' % {3.6343, 2.6680, 2.0783}, % N1 % {5.4505, 3.9805, 1.2446}, % N3 % {4.7540, 3.3816, 2.1851}, % C2 % {4.8805, 3.7951, 0.0354}, % C4 % {3.7416, 3.0925, -0.2305}, % C5 % {3.0873, 2.4980, 0.8606}, % C6 % g, { % {5.1433, 3.4373, 3.4609}, % N2 % {3.4605, 3.1184, -1.5906}, % N7 % {5.3247, 4.2695, -1.1710}, % N9 % {4.4244, 3.8244, -2.0953}, % C8 % {1.9600, 1.7805, 0.7462}, % O6 % {3.2489, 2.2879, 2.9191}, % H1 % {4.6785, 3.0243, 4.2568}, % H21 % {5.9823, 3.9654, 3.6539}, % H22 % {4.2675, 3.8876, -3.1721}} % H8 % }. % rG05() -> % { % {-0.5891, 0.0449, 0.8068, % dgf_base_tfo % 0.5375, 0.7673, 0.3498, % -0.6034, 0.6397, -0.4762, % -0.3019, -3.7679, -9.5913}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {4.5778, 6.6594, -4.0364}, % C5' % {4.9220, 7.1963, -4.9204}, % H5' % {3.7996, 5.9091, -4.1764}, % H5'' % {5.7873, 5.8869, -3.5482}, % C4' % {6.0405, 5.0875, -4.2446}, % H4' % {6.9135, 6.8036, -3.4310}, % O4' % {7.7293, 6.4084, -2.3392}, % C1' % {8.7078, 6.1815, -2.7624}, % H1' % {7.1305, 5.1418, -1.7347}, % C2' % {7.2040, 5.1982, -0.6486}, % H2'' % {7.7417, 4.0392, -2.3813}, % O2' % {8.6785, 4.1443, -2.5630}, % H2' % {5.6666, 5.2728, -2.1536}, % C3' % {5.1747, 5.9805, -1.4863}, % H3' % {4.9997, 4.0086, -2.1973}, % O3' % {10.2594, 10.6774, -1.0056}, % N1 % {9.7528, 8.7080, -2.2631}, % N3 % {10.4471, 9.7876, -1.9791}, % C2 % {8.7271, 8.5575, -1.3991}, % C4 % {8.4100, 9.3803, -0.3580}, % C5 % {9.2294, 10.5030, -0.1574}, % C6 % g, { % {11.5110, 10.1256, -2.7114}, % N2 % {7.2891, 8.9068, 0.3121}, % N7 % {7.7962, 7.5519, -1.3859}, % N9 % {6.9702, 7.8292, -0.3353}, % C8 % {9.0349, 11.3951, 0.8250}, % O6 % {10.9013, 11.4422, -0.9512}, % H1 % {12.1031, 10.9341, -2.5861}, % H21 % {11.7369, 9.5180, -3.4859}, % H22 % {6.0888, 7.3990, 0.1403}} % H8 % }. % rG06() -> % { % {-0.9815, 0.0731, -0.1772, % dgf_base_tfo % 0.1912, 0.3054, -0.9328, % -0.0141, -0.9494, -0.3137, % 5.7506, -5.1944, 4.7470}, % {-0.8143, -0.5091, -0.2788, % p_o3'_275_tfo % -0.0433, -0.4257, 0.9038, % -0.5788, 0.7480, 0.3246, % 1.5227, 6.9114, -7.0765}, % {0.3822, -0.7477, 0.5430, % p_o3'_180_tfo % 0.4552, 0.6637, 0.5935, % -0.8042, 0.0203, 0.5941, % -6.9472, -4.1186, -5.9108}, % {0.5640, 0.8007, -0.2022, % p_o3'_60_tfo % -0.8247, 0.5587, -0.0878, % 0.0426, 0.2162, 0.9754, % 6.2694, -7.0540, 3.3316}, % {2.8930, 8.5380, -3.3280}, % P % {1.6980, 7.6960, -3.5570}, % O1P % {3.2260, 9.5010, -4.4020}, % O2P % {4.1590, 7.6040, -3.0340}, % O5' % {4.1214, 6.7116, -1.9049}, % C5' % {3.3465, 5.9610, -2.0607}, % H5' % {4.0789, 7.2928, -0.9837}, % H5'' % {5.4170, 5.9293, -1.8186}, % C4' % {5.4506, 5.3400, -0.9023}, % H4' % {5.5067, 5.0417, -2.9703}, % O4' % {6.8650, 4.9152, -3.3612}, % C1' % {7.1090, 3.8577, -3.2603}, % H1' % {7.7152, 5.7282, -2.3894}, % C2' % {8.5029, 6.2356, -2.9463}, % H2'' % {8.1036, 4.8568, -1.3419}, % O2' % {8.3270, 3.9651, -1.6184}, % H2' % {6.7003, 6.7565, -1.8911}, % C3' % {6.5898, 7.5329, -2.6482}, % H3' % {7.0505, 7.2878, -0.6105}, % O3' % {6.6624, 3.5061, -8.2986}, % N1 % {6.5810, 3.2570, -5.9221}, % N3 % {6.5151, 2.8263, -7.1625}, % C2 % {6.8364, 4.5817, -5.8882}, % C4 % {7.0116, 5.4064, -6.9609}, % C5 % {6.9173, 4.8260, -8.2361}, % C6 % g, { % {6.2717, 1.5402, -7.4250}, % N2 % {7.2573, 6.7070, -6.5394}, % N7 % {6.9740, 5.3703, -4.7760}, % N9 % {7.2238, 6.6275, -5.2453}, % C8 % {7.0668, 5.5163, -9.3763}, % O6 % {6.5754, 2.9964, -9.1545}, % H1 % {6.1908, 1.1105, -8.3354}, % H21 % {6.1346, 0.9352, -6.6280}, % H22 % {7.4108, 7.6227, -4.8418}} % H8 % }. % rG07() -> % { % {0.0894, -0.6059, 0.7905, % dgf_base_tfo % -0.6810, 0.5420, 0.4924, % -0.7268, -0.5824, -0.3642, % 34.1424, 45.9610, -11.8600}, % {-0.8644, -0.4956, -0.0851, % p_o3'_275_tfo % -0.0427, 0.2409, -0.9696, % 0.5010, -0.8345, -0.2294, % 4.0167, 54.5377, 12.4779}, % {0.3706, -0.6167, 0.6945, % p_o3'_180_tfo % -0.2867, -0.7872, -0.5460, % 0.8834, 0.0032, -0.4686, % -52.9020, 18.6313, -0.6709}, % {0.4155, 0.9025, -0.1137, % p_o3'_60_tfo % 0.9040, -0.4236, -0.0582, % -0.1007, -0.0786, -0.9918, % -7.6624, -25.2080, 49.5181}, % {31.3810, 0.1400, 47.5810}, % P % {29.9860, 0.6630, 47.6290}, % O1P % {31.7210, -0.6460, 48.8090}, % O2P % {32.4940, 1.2540, 47.2740}, % O5' % {33.8709, 0.7918, 47.2113}, % C5' % {34.1386, 0.5870, 46.1747}, % H5' % {34.0186, -0.0095, 47.9353}, % H5'' % {34.7297, 1.9687, 47.6685}, % C4' % {35.7723, 1.6845, 47.8113}, % H4' % {34.6455, 2.9768, 46.6660}, % O4' % {34.1690, 4.1829, 47.2627}, % C1' % {35.0437, 4.7633, 47.5560}, % H1' % {33.4145, 3.7532, 48.4954}, % C2' % {32.4340, 3.3797, 48.2001}, % H2'' % {33.3209, 4.6953, 49.5217}, % O2' % {33.2374, 5.6059, 49.2295}, % H2' % {34.2724, 2.5970, 48.9773}, % C3' % {33.6373, 1.8935, 49.5157}, % H3' % {35.3453, 3.1884, 49.7285}, % O3' % {34.0511, 7.8930, 43.7791}, % N1 % {34.9937, 6.3369, 45.3199}, % N3 % {35.0882, 7.3126, 44.4200}, % C2 % {33.7190, 5.9650, 45.5374}, % C4 % {32.5845, 6.4770, 44.9458}, % C5 % {32.7430, 7.5179, 43.9914}, % C6 % g, { % {36.3030, 7.7827, 44.1036}, % N2 % {31.4499, 5.8335, 45.4368}, % N7 % {33.2760, 4.9817, 46.4043}, % N9 % {31.9235, 4.9639, 46.2934}, % C8 % {31.8602, 8.1000, 43.3695}, % O6 % {34.2623, 8.6223, 43.1283}, % H1 % {36.5188, 8.5081, 43.4347}, % H21 % {37.0888, 7.3524, 44.5699}, % H22 % {31.0815, 4.4201, 46.7218}} % H8 % }. % rG08() -> % { % {0.2224, 0.6335, 0.7411, % dgf_base_tfo % -0.3644, -0.6510, 0.6659, % 0.9043, -0.4181, 0.0861, % -47.6824, -0.5823, -31.7554}, % {-0.8644, -0.4956, -0.0851, % p_o3'_275_tfo % -0.0427, 0.2409, -0.9696, % 0.5010, -0.8345, -0.2294, % 4.0167, 54.5377, 12.4779}, % {0.3706, -0.6167, 0.6945, % p_o3'_180_tfo % -0.2867, -0.7872, -0.5460, % 0.8834, 0.0032, -0.4686, % -52.9020, 18.6313, -0.6709}, % {0.4155, 0.9025, -0.1137, % p_o3'_60_tfo % 0.9040, -0.4236, -0.0582, % -0.1007, -0.0786, -0.9918, % -7.6624, -25.2080, 49.5181}, % {31.3810, 0.1400, 47.5810}, % P % {29.9860, 0.6630, 47.6290}, % O1P % {31.7210, -0.6460, 48.8090}, % O2P % {32.4940, 1.2540, 47.2740}, % O5' % {32.5924, 2.3488, 48.2255}, % C5' % {33.3674, 2.1246, 48.9584}, % H5' % {31.5994, 2.5917, 48.6037}, % H5'' % {33.0722, 3.5577, 47.4258}, % C4' % {33.0310, 4.4778, 48.0089}, % H4' % {34.4173, 3.3055, 47.0316}, % O4' % {34.5056, 3.3910, 45.6094}, % C1' % {34.7881, 4.4152, 45.3663}, % H1' % {33.1122, 3.1198, 45.1010}, % C2' % {32.9230, 2.0469, 45.1369}, % H2'' % {32.7946, 3.6590, 43.8529}, % O2' % {33.5170, 3.6707, 43.2207}, % H2' % {32.2730, 3.8173, 46.1566}, % C3' % {31.3094, 3.3123, 46.2244}, % H3' % {32.2391, 5.2039, 45.7807}, % O3' % {39.3337, 2.7157, 44.1441}, % N1 % {37.4430, 3.8242, 45.0824}, % N3 % {38.7276, 3.7646, 44.7403}, % C2 % {36.7791, 2.6963, 44.7704}, % C4 % {37.2860, 1.5653, 44.1678}, % C5 % {38.6647, 1.5552, 43.8235}, % C6 % g, { % {39.5123, 4.8216, 44.9936}, % N2 % {36.2829, 0.6110, 44.0078}, % N7 % {35.4394, 2.4314, 44.9931}, % N9 % {35.2180, 1.1815, 44.5128}, % C8 % {39.2907, 0.6514, 43.2796}, % O6 % {40.3076, 2.8048, 43.9352}, % H1 % {40.4994, 4.9066, 44.7977}, % H21 % {39.0738, 5.6108, 45.4464}, % H22 % {34.3856, 0.4842, 44.4185}} % H8 % }. % rG09() -> % { % {-0.9699, -0.1688, -0.1753, % dgf_base_tfo % -0.1050, -0.3598, 0.9271, % -0.2196, 0.9176, 0.3312, % 45.6217, -38.9484, -12.3208}, % {-0.8644, -0.4956, -0.0851, % p_o3'_275_tfo % -0.0427, 0.2409, -0.9696, % 0.5010, -0.8345, -0.2294, % 4.0167, 54.5377, 12.4779}, % {0.3706, -0.6167, 0.6945, % p_o3'_180_tfo % -0.2867, -0.7872, -0.5460, % 0.8834, 0.0032, -0.4686, % -52.9020, 18.6313, -0.6709}, % {0.4155, 0.9025, -0.1137, % p_o3'_60_tfo % 0.9040, -0.4236, -0.0582, % -0.1007, -0.0786, -0.9918, % -7.6624, -25.2080, 49.5181}, % {31.3810, 0.1400, 47.5810}, % P % {29.9860, 0.6630, 47.6290}, % O1P % {31.7210, -0.6460, 48.8090}, % O2P % {32.4940, 1.2540, 47.2740}, % O5' % {33.8709, 0.7918, 47.2113}, % C5' % {34.1386, 0.5870, 46.1747}, % H5' % {34.0186, -0.0095, 47.9353}, % H5'' % {34.7297, 1.9687, 47.6685}, % C4' % {34.5880, 2.8482, 47.0404}, % H4' % {34.3575, 2.2770, 49.0081}, % O4' % {35.5157, 2.1993, 49.8389}, % C1' % {35.9424, 3.2010, 49.8893}, % H1' % {36.4701, 1.2820, 49.1169}, % C2' % {36.1545, 0.2498, 49.2683}, % H2'' % {37.8262, 1.4547, 49.4008}, % O2' % {38.0227, 1.6945, 50.3094}, % H2' % {36.2242, 1.6797, 47.6725}, % C3' % {36.4297, 0.8197, 47.0351}, % H3' % {37.0289, 2.8480, 47.4426}, % O3' % {34.3005, 3.5042, 54.6070}, % N1 % {34.7693, 3.7936, 52.2874}, % N3 % {34.4484, 4.2541, 53.4939}, % C2 % {34.9354, 2.4584, 52.2785}, % C4 % {34.8092, 1.5915, 53.3422}, % C5 % {34.4646, 2.1367, 54.6085}, % C6 % g, { % {34.2514, 5.5708, 53.6503}, % N2 % {35.0641, 0.2835, 52.9337}, % N7 % {35.2669, 1.6690, 51.1915}, % N9 % {35.3288, 0.3954, 51.6563}, % C8 % {34.3151, 1.5317, 55.6650}, % O6 % {34.0623, 3.9797, 55.4539}, % H1 % {33.9950, 6.0502, 54.5016}, % H21 % {34.3512, 6.1432, 52.8242}, % H22 % {35.5414, -0.6006, 51.2679}} % H8 % }. % rG10() -> % { % {-0.0980, -0.9723, 0.2122, % dgf_base_tfo % -0.9731, 0.1383, 0.1841, % -0.2083, -0.1885, -0.9597, % 17.8469, 38.8265, 37.0475}, % {-0.8644, -0.4956, -0.0851, % p_o3'_275_tfo % -0.0427, 0.2409, -0.9696, % 0.5010, -0.8345, -0.2294, % 4.0167, 54.5377, 12.4779}, % {0.3706, -0.6167, 0.6945, % p_o3'_180_tfo % -0.2867, -0.7872, -0.5460, % 0.8834, 0.0032, -0.4686, % -52.9020, 18.6313, -0.6709}, % {0.4155, 0.9025, -0.1137, % p_o3'_60_tfo % 0.9040, -0.4236, -0.0582, % -0.1007, -0.0786, -0.9918, % -7.6624, -25.2080, 49.5181}, % {31.3810, 0.1400, 47.5810}, % P % {29.9860, 0.6630, 47.6290}, % O1P % {31.7210, -0.6460, 48.8090}, % O2P % {32.4940, 1.2540, 47.2740}, % O5' % {32.5924, 2.3488, 48.2255}, % C5' % {33.3674, 2.1246, 48.9584}, % H5' % {31.5994, 2.5917, 48.6037}, % H5'' % {33.0722, 3.5577, 47.4258}, % C4' % {34.0333, 3.3761, 46.9447}, % H4' % {32.0890, 3.8338, 46.4332}, % O4' % {31.6377, 5.1787, 46.5914}, % C1' % {32.2499, 5.8016, 45.9392}, % H1' % {31.9167, 5.5319, 48.0305}, % C2' % {31.1507, 5.0820, 48.6621}, % H2'' % {32.0865, 6.8890, 48.3114}, % O2' % {31.5363, 7.4819, 47.7942}, % H2' % {33.2398, 4.8224, 48.2563}, % C3' % {33.3166, 4.5570, 49.3108}, % H3' % {34.2528, 5.7056, 47.7476}, % O3' % {28.2782, 6.3049, 42.9364}, % N1 % {30.4001, 5.8547, 43.9258}, % N3 % {29.6195, 6.1568, 42.8913}, % C2 % {29.7005, 5.7006, 45.0649}, % C4 % {28.3383, 5.8221, 45.2343}, % C5 % {27.5519, 6.1461, 44.0958}, % C6 % g, { % {30.1838, 6.3385, 41.6890}, % N2 % {27.9936, 5.5926, 46.5651}, % N7 % {30.2046, 5.3825, 46.3136}, % N9 % {29.1371, 5.3398, 47.1506}, % C8 % {26.3361, 6.3024, 44.0495}, % O6 % {27.8122, 6.5394, 42.0833}, % H1 % {29.7125, 6.5595, 40.8235}, % H21 % {31.1859, 6.2231, 41.6389}, % H22 % {28.9406, 5.1504, 48.2059}} % H8 % }. % rGs() -> [rG01(),rG02(),rG03(),rG04(),rG05(),rG06(),rG07(), % rG08(),rG09(),rG10()]. rU() -> { {-0.0359, -0.8071, 0.5894, % dgf_base_tfo -0.2669, 0.5761, 0.7726, -0.9631, -0.1296, -0.2361, 0.1584, 8.3434, 0.5434}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2430, -8.2420, 2.8260}, % C5' {5.1974, -8.8497, 1.9223}, % H5' {5.5548, -8.7348, 3.7469}, % H5'' {6.3140, -7.2060, 2.5510}, % C4' {7.2954, -7.6762, 2.4898}, % H4' {6.0140, -6.5420, 1.2890}, % O4' {6.4190, -5.1840, 1.3620}, % C1' {7.1608, -5.0495, 0.5747}, % H1' {7.0760, -4.9560, 2.7270}, % C2' {6.7770, -3.9803, 3.1099}, % H2'' {8.4500, -5.1930, 2.5810}, % O2' {8.8309, -4.8755, 1.7590}, % H2' {6.4060, -6.0590, 3.5580}, % C3' {5.4021, -5.7313, 3.8281}, % H3' {7.1570, -6.4240, 4.7070}, % O3' {5.2170, -4.3260, 1.1690}, % N1 {4.2960, -2.2560, 0.6290}, % N3 {5.4330, -3.0200, 0.7990}, % C2 {2.9930, -2.6780, 0.7940}, % C4 {2.8670, -4.0630, 1.1830}, % C5 {3.9570, -4.8300, 1.3550}, % C6 u, { {6.5470, -2.5560, 0.6290}, % O2 {2.0540, -1.9000, 0.6130}, % O4 {4.4300, -1.3020, 0.3600}, % H3 {1.9590, -4.4570, 1.3250}, % H5 {3.8460, -5.7860, 1.6240}} % H6 }. rU01() -> { {-0.0137, -0.8012, 0.5983, % dgf_base_tfo -0.2523, 0.5817, 0.7733, -0.9675, -0.1404, -0.2101, 0.2031, 8.3874, 0.4228}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2416, -8.2422, 2.8181}, % C5' {5.2050, -8.8128, 1.8901}, % H5' {5.5368, -8.7738, 3.7227}, % H5'' {6.3232, -7.2037, 2.6002}, % C4' {7.3048, -7.6757, 2.5577}, % H4' {6.0635, -6.5092, 1.3456}, % O4' {6.4697, -5.1547, 1.4629}, % C1' {7.2354, -5.0043, 0.7018}, % H1' {7.0856, -4.9610, 2.8521}, % C2' {6.7777, -3.9935, 3.2487}, % H2'' {8.4627, -5.1992, 2.7423}, % O2' {8.8693, -4.8638, 1.9399}, % H2' {6.3877, -6.0809, 3.6362}, % C3' {5.3770, -5.7562, 3.8834}, % H3' {7.1024, -6.4754, 4.7985}, % O3' {5.2764, -4.2883, 1.2538}, % N1 {4.3777, -2.2062, 0.7229}, % N3 {5.5069, -2.9779, 0.9088}, % C2 {3.0693, -2.6246, 0.8500}, % C4 {2.9279, -4.0146, 1.2149}, % C5 {4.0101, -4.7892, 1.4017}, % C6 u, { {6.6267, -2.5166, 0.7728}, % O2 {2.1383, -1.8396, 0.6581}, % O4 {4.5223, -1.2489, 0.4716}, % H3 {2.0151, -4.4065, 1.3290}, % H5 {3.8886, -5.7486, 1.6535}} % H6 }. rU02() -> { {0.5141, 0.0246, 0.8574, % dgf_base_tfo -0.5547, -0.7529, 0.3542, 0.6542, -0.6577, -0.3734, -9.1111, -3.4598, -3.2939}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {4.3825, -6.6585, 4.0489}, % C5' {4.6841, -7.2019, 4.9443}, % H5' {3.6189, -5.8889, 4.1625}, % H5'' {5.6255, -5.9175, 3.5998}, % C4' {5.8732, -5.1228, 4.3034}, % H4' {6.7337, -6.8605, 3.5222}, % O4' {7.5932, -6.4923, 2.4548}, % C1' {8.5661, -6.2983, 2.9064}, % H1' {7.0527, -5.2012, 1.8322}, % C2' {7.1627, -5.2525, 0.7490}, % H2'' {7.6666, -4.1249, 2.4880}, % O2' {8.5944, -4.2543, 2.6981}, % H2' {5.5661, -5.3029, 2.2009}, % C3' {5.0841, -6.0018, 1.5172}, % H3' {4.9062, -4.0452, 2.2042}, % O3' {7.6298, -7.6136, 1.4752}, % N1 {8.6945, -8.7046, -0.2857}, % N3 {8.6943, -7.6514, 0.6066}, % C2 {7.7426, -9.6987, -0.3801}, % C4 {6.6642, -9.5742, 0.5722}, % C5 {6.6391, -8.5592, 1.4526}, % C6 u, { {9.5840, -6.8186, 0.6136}, % O2 {7.8505, -10.5925, -1.2223}, % O4 {9.4601, -8.7514, -0.9277}, % H3 {5.9281, -10.2509, 0.5782}, % H5 {5.8831, -8.4931, 2.1028}} % H6 }. rU03() -> { {-0.4993, 0.0476, 0.8651, % dgf_base_tfo 0.8078, -0.3353, 0.4847, 0.3132, 0.9409, 0.1290, 6.2989, -5.2303, -3.8577}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {3.9938, -6.7042, 1.9023}, % C5' {3.2332, -5.9343, 2.0319}, % H5' {3.9666, -7.2863, 0.9812}, % H5'' {5.3098, -5.9546, 1.8564}, % C4' {5.3863, -5.3702, 0.9395}, % H4' {5.3851, -5.0642, 3.0076}, % O4' {6.7315, -4.9724, 3.4462}, % C1' {7.0033, -3.9202, 3.3619}, % H1' {7.5997, -5.8018, 2.4948}, % C2' {8.3627, -6.3254, 3.0707}, % H2'' {8.0410, -4.9501, 1.4724}, % O2' {8.2781, -4.0644, 1.7570}, % H2' {6.5701, -6.8129, 1.9714}, % C3' {6.4186, -7.5809, 2.7299}, % H3' {6.9357, -7.3841, 0.7235}, % O3' {6.8024, -5.4718, 4.8475}, % N1 {7.9218, -5.5700, 6.8877}, % N3 {7.8908, -5.0886, 5.5944}, % C2 {6.9789, -6.3827, 7.4823}, % C4 {5.8742, -6.7319, 6.6202}, % C5 {5.8182, -6.2769, 5.3570}, % C6 u, { {8.7747, -4.3728, 5.1568}, % O2 {7.1154, -6.7509, 8.6509}, % O4 {8.7055, -5.3037, 7.4491}, % H3 {5.1416, -7.3178, 6.9665}, % H5 {5.0441, -6.5310, 4.7784}} % H6 }. rU04() -> { {-0.5669, -0.8012, 0.1918, % dgf_base_tfo -0.8129, 0.5817, 0.0273, -0.1334, -0.1404, -0.9811, -0.3279, 8.3874, 0.3355}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2416, -8.2422, 2.8181}, % C5' {5.2050, -8.8128, 1.8901}, % H5' {5.5368, -8.7738, 3.7227}, % H5'' {6.3232, -7.2037, 2.6002}, % C4' {7.3048, -7.6757, 2.5577}, % H4' {6.0635, -6.5092, 1.3456}, % O4' {6.4697, -5.1547, 1.4629}, % C1' {7.2354, -5.0043, 0.7018}, % H1' {7.0856, -4.9610, 2.8521}, % C2' {6.7777, -3.9935, 3.2487}, % H2'' {8.4627, -5.1992, 2.7423}, % O2' {8.8693, -4.8638, 1.9399}, % H2' {6.3877, -6.0809, 3.6362}, % C3' {5.3770, -5.7562, 3.8834}, % H3' {7.1024, -6.4754, 4.7985}, % O3' {5.2764, -4.2883, 1.2538}, % N1 {3.8961, -3.0896, -0.1893}, % N3 {5.0095, -3.8907, -0.0346}, % C2 {3.0480, -2.6632, 0.8116}, % C4 {3.4093, -3.1310, 2.1292}, % C5 {4.4878, -3.9124, 2.3088}, % C6 u, { {5.7005, -4.2164, -0.9842}, % O2 {2.0800, -1.9458, 0.5503}, % O4 {3.6834, -2.7882, -1.1190}, % H3 {2.8508, -2.8721, 2.9172}, % H5 {4.7188, -4.2247, 3.2295}} % H6 }. rU05() -> { {-0.6298, 0.0246, 0.7763, % dgf_base_tfo -0.5226, -0.7529, -0.4001, 0.5746, -0.6577, 0.4870, -0.0208, -3.4598, -9.6882}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {4.3825, -6.6585, 4.0489}, % C5' {4.6841, -7.2019, 4.9443}, % H5' {3.6189, -5.8889, 4.1625}, % H5'' {5.6255, -5.9175, 3.5998}, % C4' {5.8732, -5.1228, 4.3034}, % H4' {6.7337, -6.8605, 3.5222}, % O4' {7.5932, -6.4923, 2.4548}, % C1' {8.5661, -6.2983, 2.9064}, % H1' {7.0527, -5.2012, 1.8322}, % C2' {7.1627, -5.2525, 0.7490}, % H2'' {7.6666, -4.1249, 2.4880}, % O2' {8.5944, -4.2543, 2.6981}, % H2' {5.5661, -5.3029, 2.2009}, % C3' {5.0841, -6.0018, 1.5172}, % H3' {4.9062, -4.0452, 2.2042}, % O3' {7.6298, -7.6136, 1.4752}, % N1 {8.5977, -9.5977, 0.7329}, % N3 {8.5951, -8.5745, 1.6594}, % C2 {7.7372, -9.7371, -0.3364}, % C4 {6.7596, -8.6801, -0.4476}, % C5 {6.7338, -7.6721, 0.4408}, % C6 u, { {9.3993, -8.5377, 2.5743}, % O2 {7.8374, -10.6990, -1.1008}, % O4 {9.2924, -10.3081, 0.8477}, % H3 {6.0932, -8.6982, -1.1929}, % H5 {6.0481, -6.9515, 0.3446}} % H6 }. rU06() -> { {-0.9837, 0.0476, -0.1733, % dgf_base_tfo -0.1792, -0.3353, 0.9249, -0.0141, 0.9409, 0.3384, 5.7793, -5.2303, 4.5997}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {3.9938, -6.7042, 1.9023}, % C5' {3.2332, -5.9343, 2.0319}, % H5' {3.9666, -7.2863, 0.9812}, % H5'' {5.3098, -5.9546, 1.8564}, % C4' {5.3863, -5.3702, 0.9395}, % H4' {5.3851, -5.0642, 3.0076}, % O4' {6.7315, -4.9724, 3.4462}, % C1' {7.0033, -3.9202, 3.3619}, % H1' {7.5997, -5.8018, 2.4948}, % C2' {8.3627, -6.3254, 3.0707}, % H2'' {8.0410, -4.9501, 1.4724}, % O2' {8.2781, -4.0644, 1.7570}, % H2' {6.5701, -6.8129, 1.9714}, % C3' {6.4186, -7.5809, 2.7299}, % H3' {6.9357, -7.3841, 0.7235}, % O3' {6.8024, -5.4718, 4.8475}, % N1 {6.6920, -5.0495, 7.1354}, % N3 {6.6201, -4.5500, 5.8506}, % C2 {6.9254, -6.3614, 7.4926}, % C4 {7.1046, -7.2543, 6.3718}, % C5 {7.0391, -6.7951, 5.1106}, % C6 u, { {6.4083, -3.3696, 5.6340}, % O2 {6.9679, -6.6901, 8.6800}, % O4 {6.5626, -4.3957, 7.8812}, % H3 {7.2781, -8.2254, 6.5350}, % H5 {7.1657, -7.4312, 4.3503}} % H6 }. rU07() -> { {-0.9434, 0.3172, 0.0971, % dgf_base_tfo 0.2294, 0.4125, 0.8816, 0.2396, 0.8539, -0.4619, 8.3625, -52.7147, 1.3745}, {0.2765, -0.1121, -0.9545, % p_o3'_275_tfo -0.8297, 0.4733, -0.2959, 0.4850, 0.8737, 0.0379, -14.7774, -45.2464, 21.9088}, {0.1063, -0.6334, -0.7665, % p_o3'_180_tfo -0.5932, -0.6591, 0.4624, -0.7980, 0.4055, -0.4458, 43.7634, 4.3296, 28.4890}, {0.7136, -0.5032, -0.4873, % p_o3'_60_tfo 0.6803, 0.3317, 0.6536, -0.1673, -0.7979, 0.5791, -17.1858, 41.4390, -27.0751}, {21.3880, 15.0780, 45.5770}, % P {21.9980, 14.5500, 46.8210}, % O1P {21.1450, 14.0270, 44.5420}, % O2P {22.1250, 16.3600, 44.9460}, % O5' {21.5037, 16.8594, 43.7323}, % C5' {20.8147, 17.6663, 43.9823}, % H5' {21.1086, 16.0230, 43.1557}, % H5'' {22.5654, 17.4874, 42.8616}, % C4' {22.1584, 17.7243, 41.8785}, % H4' {23.0557, 18.6826, 43.4751}, % O4' {24.4788, 18.6151, 43.6455}, % C1' {24.9355, 19.0840, 42.7739}, % H1' {24.7958, 17.1427, 43.6474}, % C2' {24.5652, 16.7400, 44.6336}, % H2'' {26.1041, 16.8773, 43.2455}, % O2' {26.7516, 17.5328, 43.5149}, % H2' {23.8109, 16.5979, 42.6377}, % C3' {23.5756, 15.5686, 42.9084}, % H3' {24.2890, 16.7447, 41.2729}, % O3' {24.9420, 19.2174, 44.8923}, % N1 {25.2655, 20.5636, 44.8883}, % N3 {25.1663, 21.2219, 43.8561}, % C2 {25.6911, 21.1219, 46.0494}, % C4 {25.8051, 20.4068, 47.2048}, % C5 {26.2093, 20.9962, 48.2534}, % C6 u, { {25.4692, 19.0221, 47.2053}, % O2 {25.0502, 18.4827, 46.0370}, % O4 {25.9599, 22.1772, 46.0966}, % H3 {25.5545, 18.4409, 48.1234}, % H5 {24.7854, 17.4265, 45.9883}} % H6 }. rU08() -> { {-0.0080, -0.7928, 0.6094, % dgf_base_tfo -0.7512, 0.4071, 0.5197, -0.6601, -0.4536, -0.5988, 44.1482, 30.7036, 2.1088}, {0.2765, -0.1121, -0.9545, % p_o3'_275_tfo -0.8297, 0.4733, -0.2959, 0.4850, 0.8737, 0.0379, -14.7774, -45.2464, 21.9088}, {0.1063, -0.6334, -0.7665, % p_o3'_180_tfo -0.5932, -0.6591, 0.4624, -0.7980, 0.4055, -0.4458, 43.7634, 4.3296, 28.4890}, {0.7136, -0.5032, -0.4873, % p_o3'_60_tfo 0.6803, 0.3317, 0.6536, -0.1673, -0.7979, 0.5791, -17.1858, 41.4390, -27.0751}, {21.3880, 15.0780, 45.5770}, % P {21.9980, 14.5500, 46.8210}, % O1P {21.1450, 14.0270, 44.5420}, % O2P {22.1250, 16.3600, 44.9460}, % O5' {23.5096, 16.1227, 44.5783}, % C5' {23.5649, 15.8588, 43.5222}, % H5' {23.9621, 15.4341, 45.2919}, % H5'' {24.2805, 17.4138, 44.7151}, % C4' {25.3492, 17.2309, 44.6030}, % H4' {23.8497, 18.3471, 43.7208}, % O4' {23.4090, 19.5681, 44.3321}, % C1' {24.2595, 20.2496, 44.3524}, % H1' {23.0418, 19.1813, 45.7407}, % C2' {22.0532, 18.7224, 45.7273}, % H2'' {23.1307, 20.2521, 46.6291}, % O2' {22.8888, 21.1051, 46.2611}, % H2' {24.0799, 18.1326, 46.0700}, % C3' {23.6490, 17.4370, 46.7900}, % H3' {25.3329, 18.7227, 46.5109}, % O3' {22.2515, 20.1624, 43.6698}, % N1 {22.4760, 21.0609, 42.6406}, % N3 {23.6229, 21.3462, 42.3061}, % C2 {21.3986, 21.6081, 42.0236}, % C4 {20.1189, 21.3012, 42.3804}, % C5 {19.1599, 21.8516, 41.7578}, % C6 u, { {19.8919, 20.3745, 43.4387}, % O2 {20.9790, 19.8423, 44.0440}, % O4 {21.5235, 22.3222, 41.2097}, % H3 {18.8732, 20.1200, 43.7312}, % H5 {20.8545, 19.1313, 44.8608}} % H6 }. rU09() -> { {-0.0317, 0.1374, 0.9900, % dgf_base_tfo -0.3422, -0.9321, 0.1184, 0.9391, -0.3351, 0.0765, -32.1929, 25.8198, -28.5088}, {0.2765, -0.1121, -0.9545, % p_o3'_275_tfo -0.8297, 0.4733, -0.2959, 0.4850, 0.8737, 0.0379, -14.7774, -45.2464, 21.9088}, {0.1063, -0.6334, -0.7665, % p_o3'_180_tfo -0.5932, -0.6591, 0.4624, -0.7980, 0.4055, -0.4458, 43.7634, 4.3296, 28.4890}, {0.7136, -0.5032, -0.4873, % p_o3'_60_tfo 0.6803, 0.3317, 0.6536, -0.1673, -0.7979, 0.5791, -17.1858, 41.4390, -27.0751}, {21.3880, 15.0780, 45.5770}, % P {21.9980, 14.5500, 46.8210}, % O1P {21.1450, 14.0270, 44.5420}, % O2P {22.1250, 16.3600, 44.9460}, % O5' {21.5037, 16.8594, 43.7323}, % C5' {20.8147, 17.6663, 43.9823}, % H5' {21.1086, 16.0230, 43.1557}, % H5'' {22.5654, 17.4874, 42.8616}, % C4' {23.0565, 18.3036, 43.3915}, % H4' {23.5375, 16.5054, 42.4925}, % O4' {23.6574, 16.4257, 41.0649}, % C1' {24.4701, 17.0882, 40.7671}, % H1' {22.3525, 16.9643, 40.5396}, % C2' {21.5993, 16.1799, 40.6133}, % H2'' {22.4693, 17.4849, 39.2515}, % O2' {23.0899, 17.0235, 38.6827}, % H2' {22.0341, 18.0633, 41.5279}, % C3' {20.9509, 18.1709, 41.5846}, % H3' {22.7249, 19.3020, 41.2100}, % O3' {23.8580, 15.0648, 40.5757}, % N1 {25.1556, 14.5982, 40.4523}, % N3 {26.1047, 15.3210, 40.7448}, % C2 {25.3391, 13.3315, 40.0020}, % C4 {24.2974, 12.5148, 39.6749}, % C5 {24.5450, 11.3410, 39.2610}, % C6 u, { {22.9633, 12.9979, 39.8053}, % O2 {22.8009, 14.2648, 40.2524}, % O4 {26.3414, 12.9194, 39.8855}, % H3 {22.1227, 12.3533, 39.5486}, % H5 {21.7989, 14.6788, 40.3650}} % H6 }. rU10() -> { {-0.9674, 0.1021, -0.2318, % dgf_base_tfo -0.2514, -0.2766, 0.9275, 0.0306, 0.9555, 0.2933, 27.8571, -42.1305, -24.4563}, {0.2765, -0.1121, -0.9545, % p_o3'_275_tfo -0.8297, 0.4733, -0.2959, 0.4850, 0.8737, 0.0379, -14.7774, -45.2464, 21.9088}, {0.1063, -0.6334, -0.7665, % p_o3'_180_tfo -0.5932, -0.6591, 0.4624, -0.7980, 0.4055, -0.4458, 43.7634, 4.3296, 28.4890}, {0.7136, -0.5032, -0.4873, % p_o3'_60_tfo 0.6803, 0.3317, 0.6536, -0.1673, -0.7979, 0.5791, -17.1858, 41.4390, -27.0751}, {21.3880, 15.0780, 45.5770}, % P {21.9980, 14.5500, 46.8210}, % O1P {21.1450, 14.0270, 44.5420}, % O2P {22.1250, 16.3600, 44.9460}, % O5' {23.5096, 16.1227, 44.5783}, % C5' {23.5649, 15.8588, 43.5222}, % H5' {23.9621, 15.4341, 45.2919}, % H5'' {24.2805, 17.4138, 44.7151}, % C4' {23.8509, 18.1819, 44.0720}, % H4' {24.2506, 17.8583, 46.0741}, % O4' {25.5830, 18.0320, 46.5775}, % C1' {25.8569, 19.0761, 46.4256}, % H1' {26.4410, 17.1555, 45.7033}, % C2' {26.3459, 16.1253, 46.0462}, % H2'' {27.7649, 17.5888, 45.6478}, % O2' {28.1004, 17.9719, 46.4616}, % H2' {25.7796, 17.2997, 44.3513}, % C3' {25.9478, 16.3824, 43.7871}, % H3' {26.2154, 18.4984, 43.6541}, % O3' {25.7321, 17.6281, 47.9726}, % N1 {25.5136, 18.5779, 48.9560}, % N3 {25.2079, 19.7276, 48.6503}, % C2 {25.6482, 18.1987, 50.2518}, % C4 {25.9847, 16.9266, 50.6092}, % C5 {26.0918, 16.6439, 51.8416}, % C6 u, { {26.2067, 15.9515, 49.5943}, % O2 {26.0713, 16.3497, 48.3080}, % O4 {25.4890, 18.9105, 51.0618}, % H3 {26.4742, 14.9310, 49.8682}, % H5 {26.2346, 15.6394, 47.4975}} % H6 }. rUs() -> [rU01(),rU02(),rU03(),rU04(),rU05(),rU06(),rU07(), rU08(),rU09(),rU10()]. rG_() -> { {-0.2067, -0.0264, 0.9780, % dgf_base_tfo 0.9770, -0.0586, 0.2049, 0.0519, 0.9979, 0.0379, 1.0331, -46.8078, -36.4742}, {-0.8644, -0.4956, -0.0851, % p_o3'_275_tfo -0.0427, 0.2409, -0.9696, 0.5010, -0.8345, -0.2294, 4.0167, 54.5377, 12.4779}, {0.3706, -0.6167, 0.6945, % p_o3'_180_tfo -0.2867, -0.7872, -0.5460, 0.8834, 0.0032, -0.4686, -52.9020, 18.6313, -0.6709}, {0.4155, 0.9025, -0.1137, % p_o3'_60_tfo 0.9040, -0.4236, -0.0582, -0.1007, -0.0786, -0.9918, -7.6624, -25.2080, 49.5181}, {31.3810, 0.1400, 47.5810}, % P {29.9860, 0.6630, 47.6290}, % O1P {31.7210, -0.6460, 48.8090}, % O2P {32.4940, 1.2540, 47.2740}, % O5' {32.1610, 2.2370, 46.2560}, % C5' {31.2986, 2.8190, 46.5812}, % H5' {32.0980, 1.7468, 45.2845}, % H5'' {33.3476, 3.1959, 46.1947}, % C4' {33.2668, 3.8958, 45.3630}, % H4' {33.3799, 3.9183, 47.4216}, % O4' {34.6515, 3.7222, 48.0398}, % C1' {35.2947, 4.5412, 47.7180}, % H1' {35.1756, 2.4228, 47.4827}, % C2' {34.6778, 1.5937, 47.9856}, % H2'' {36.5631, 2.2672, 47.4798}, % O2' {37.0163, 2.6579, 48.2305}, % H2' {34.6953, 2.5043, 46.0448}, % C3' {34.5444, 1.4917, 45.6706}, % H3' {35.6679, 3.3009, 45.3487}, % O3' {37.4804, 4.0914, 52.2559}, % N1 {36.9670, 4.1312, 49.9281}, % N3 {37.8045, 4.2519, 50.9550}, % C2 {35.7171, 3.8264, 50.3222}, % C4 {35.2668, 3.6420, 51.6115}, % C5 {36.2037, 3.7829, 52.6706}, % C6 g, { {39.0869, 4.5552, 50.7092}, % N2 {33.9075, 3.3338, 51.6102}, % N7 {34.6126, 3.6358, 49.5108}, % N9 {33.5805, 3.3442, 50.3425}, % C8 {35.9958, 3.6512, 53.8724}, % O6 {38.2106, 4.2053, 52.9295}, % H1 {39.8218, 4.6863, 51.3896}, % H21 {39.3420, 4.6857, 49.7407}, % H22 {32.5194, 3.1070, 50.2664}} % H8 }. rU_() -> { {-0.0109, 0.5907, 0.8068, % dgf_base_tfo 0.2217, -0.7853, 0.5780, 0.9751, 0.1852, -0.1224, -1.4225, -11.0956, -2.5217}, {-0.8313, -0.4738, -0.2906, % p_o3'_275_tfo 0.0649, 0.4366, -0.8973, 0.5521, -0.7648, -0.3322, 1.6833, 6.8060, -7.0011}, {0.3445, -0.7630, 0.5470, % p_o3'_180_tfo -0.4628, -0.6450, -0.6082, 0.8168, -0.0436, -0.5753, -6.8179, -3.9778, -5.9887}, {0.5855, 0.7931, -0.1682, % p_o3'_60_tfo 0.8103, -0.5790, 0.0906, -0.0255, -0.1894, -0.9816, 6.1203, -7.1051, 3.1984}, {2.6760, -8.4960, 3.2880}, % P {1.4950, -7.6230, 3.4770}, % O1P {2.9490, -9.4640, 4.3740}, % O2P {3.9730, -7.5950, 3.0340}, % O5' {5.2430, -8.2420, 2.8260}, % C5' {5.1974, -8.8497, 1.9223}, % H5' {5.5548, -8.7348, 3.7469}, % H5'' {6.3140, -7.2060, 2.5510}, % C4' {5.8744, -6.2116, 2.4731}, % H4' {7.2798, -7.2260, 3.6420}, % O4' {8.5733, -6.9410, 3.1329}, % C1' {8.9047, -6.0374, 3.6446}, % H1' {8.4429, -6.6596, 1.6327}, % C2' {9.2880, -7.1071, 1.1096}, % H2'' {8.2502, -5.2799, 1.4754}, % O2' {8.7676, -4.7284, 2.0667}, % H2' {7.1642, -7.4416, 1.3021}, % C3' {7.4125, -8.5002, 1.2260}, % H3' {6.5160, -6.9772, 0.1267}, % O3' {9.4531, -8.1107, 3.4087}, % N1 {11.5931, -9.0015, 3.6357}, % N3 {10.8101, -7.8950, 3.3748}, % C2 {11.1439, -10.2744, 3.9206}, % C4 {9.7056, -10.4026, 3.9332}, % C5 {8.9192, -9.3419, 3.6833}, % C6 u, { {11.3013, -6.8063, 3.1326}, % O2 {11.9431, -11.1876, 4.1375}, % O4 {12.5840, -8.8673, 3.6158}, % H3 {9.2891, -11.2898, 4.1313}, % H5 {7.9263, -9.4537, 3.6977}} % H6 }. % -- PARTIAL INSTANTIATIONS -------------------------------------------------- %var ::= {Int, Tfo, Nuc} absolute_pos({_I,T,_N}, P) -> tfo_apply(T,P). atom_pos(Atom, {I,T,N}) -> absolute_pos({I,T,N}, p_apply(Atom, N)). get_var(Id,[{Id,T,N}|_]) -> {Id,T,N}; get_var(Id,[_|Lst]) -> get_var(Id,Lst). % make_relative_nuc(T, % { % Dgf_base_tfo,P_o3__275_tfo,P_o3__180_tfo,P_o3__60_tfo, % P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, % C3_,H3_,O3_,N1,N3,C2,C4,C5,C6, % a, {N6,N7,N9,C8,H2,H61,H62,H8} % }) -> % { % Dgf_base_tfo, P_o3__275_tfo, P_o3__180_tfo, P_o3__60_tfo, % tfo_apply(T, P), % tfo_apply(T, O1p), % tfo_apply(T, O2p), % tfo_apply(T, O5_), % tfo_apply(T, C5_), % tfo_apply(T, H5_), % tfo_apply(T, H5__), % tfo_apply(T, C4_), % tfo_apply(T, H4_), % tfo_apply(T, O4_), % tfo_apply(T, C1_), % tfo_apply(T, H1_), % tfo_apply(T, C2_), % tfo_apply(T, H2__), % tfo_apply(T, O2_), % tfo_apply(T, H2_), % tfo_apply(T, C3_), % tfo_apply(T, H3_), % tfo_apply(T, O3_), % tfo_apply(T, N1), % tfo_apply(T, N3), % tfo_apply(T, C2), % tfo_apply(T, C4), % tfo_apply(T, C5), % tfo_apply(T, C6), % a, { % tfo_apply(T, N6), % tfo_apply(T, N7), % tfo_apply(T, N9), % tfo_apply(T, C8), % tfo_apply(T, H2), % tfo_apply(T, H61), % tfo_apply(T, H62), % tfo_apply(T, H8)} % }; % make_relative_nuc(T, % { % Dgf_base_tfo,P_o3__275_tfo,P_o3__180_tfo,P_o3__60_tfo, % P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, % C3_,H3_,O3_,N1,N3,C2,C4,C5,C6, % c, {N4,O2,H41,H42,H5,H6} % }) -> % { % Dgf_base_tfo, P_o3__275_tfo, P_o3__180_tfo, P_o3__60_tfo, % tfo_apply(T, P), % tfo_apply(T, O1p), % tfo_apply(T, O2p), % tfo_apply(T, O5_), % tfo_apply(T, C5_), % tfo_apply(T, H5_), % tfo_apply(T, H5__), % tfo_apply(T, C4_), % tfo_apply(T, H4_), % tfo_apply(T, O4_), % tfo_apply(T, C1_), % tfo_apply(T, H1_), % tfo_apply(T, C2_), % tfo_apply(T, H2__), % tfo_apply(T, O2_), % tfo_apply(T, H2_), % tfo_apply(T, C3_), % tfo_apply(T, H3_), % tfo_apply(T, O3_), % tfo_apply(T, N1), % tfo_apply(T, N3), % tfo_apply(T, C2), % tfo_apply(T, C4), % tfo_apply(T, C5), % tfo_apply(T, C6), % c, { % tfo_apply(T, N4), % tfo_apply(T, O2), % tfo_apply(T, H41), % tfo_apply(T, H42), % tfo_apply(T, H5), % tfo_apply(T, H6)} % }; % make_relative_nuc(T, % { % Dgf_base_tfo,P_o3__275_tfo,P_o3__180_tfo,P_o3__60_tfo, % P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, % C3_,H3_,O3_,N1,N3,C2,C4,C5,C6, % g, {N2,N7,N9,C8,O6,H1,H21,H22,H8} % }) -> % { % Dgf_base_tfo, P_o3__275_tfo, P_o3__180_tfo, P_o3__60_tfo, % tfo_apply(T, P), % tfo_apply(T, O1p), % tfo_apply(T, O2p), % tfo_apply(T, O5_), % tfo_apply(T, C5_), % tfo_apply(T, H5_), % tfo_apply(T, H5__), % tfo_apply(T, C4_), % tfo_apply(T, H4_), % tfo_apply(T, O4_), % tfo_apply(T, C1_), % tfo_apply(T, H1_), % tfo_apply(T, C2_), % tfo_apply(T, H2__), % tfo_apply(T, O2_), % tfo_apply(T, H2_), % tfo_apply(T, C3_), % tfo_apply(T, H3_), % tfo_apply(T, O3_), % tfo_apply(T, N1), % tfo_apply(T, N3), % tfo_apply(T, C2), % tfo_apply(T, C4), % tfo_apply(T, C5), % tfo_apply(T, C6), % g, { % tfo_apply(T, N2), % tfo_apply(T, N7), % tfo_apply(T, N9), % tfo_apply(T, C8), % tfo_apply(T, O6), % tfo_apply(T, H1), % tfo_apply(T, H21), % tfo_apply(T, H22), % tfo_apply(T, H8)} % }; % make_relative_nuc(T, % { % Dgf_base_tfo,P_o3__275_tfo,P_o3__180_tfo,P_o3__60_tfo, % P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, % C3_,H3_,O3_,N1,N3,C2,C4,C5,C6, % u, {O2,O4,H3,H5,H6} % }) -> % { % Dgf_base_tfo, P_o3__275_tfo, P_o3__180_tfo, P_o3__60_tfo, % tfo_apply(T, P), % tfo_apply(T, O1p), % tfo_apply(T, O2p), % tfo_apply(T, O5_), % tfo_apply(T, C5_), % tfo_apply(T, H5_), % tfo_apply(T, H5__), % tfo_apply(T, C4_), % tfo_apply(T, H4_), % tfo_apply(T, O4_), % tfo_apply(T, C1_), % tfo_apply(T, H1_), % tfo_apply(T, C2_), % tfo_apply(T, H2__), % tfo_apply(T, O2_), % tfo_apply(T, H2_), % tfo_apply(T, C3_), % tfo_apply(T, H3_), % tfo_apply(T, O3_), % tfo_apply(T, N1), % tfo_apply(T, N3), % tfo_apply(T, C2), % tfo_apply(T, C4), % tfo_apply(T, C5), % tfo_apply(T, C6), % u, { % tfo_apply(T, O2), % tfo_apply(T, O4), % tfo_apply(T, H3), % tfo_apply(T, H5), % tfo_apply(T, H6)} % }. % -- SEARCH ------------------------------------------------------------------ % Sequential backtracking algorithm search(Partial_inst,[],_) -> [Partial_inst]; search(Partial_inst,[{F,Arg0,Arg1}|T],Constraint) -> try_assignments(p_apply(F, Arg0,Arg1,Partial_inst), Constraint, Partial_inst, T); search(Partial_inst,[{F,Arg0,Arg1,Arg2}|T],Constraint) -> try_assignments(p_apply(F, Arg0,Arg1,Arg2,Partial_inst), Constraint, Partial_inst, T). try_assignments([],_,_,_) -> []; try_assignments([V|Vs], Constraint, Partial_inst,T) -> case p_apply(Constraint, V, Partial_inst) of true -> append(search([V|Partial_inst],T,Constraint), try_assignments(Vs, Constraint, Partial_inst,T)); _ -> try_assignments(Vs, Constraint, Partial_inst,T) end. % -- DOMAINS ----------------------------------------------------------------- % Primary structure: strand A CUGCCACGUCUG, strand B CAGACGUGGCAG % % Secondary structure: strand A CUGCCACGUCUG % |||||| % GACGGUGCAGAC strand B % % Tertiary structure: % % 5' end of strand A C1----G12 3' end of strand B % U2-------A11 % G3-------C10 % C4-----G9 % C5---G8 % A6 % G6-C7 % C5----G8 % A4-------U9 % G3--------C10 % A2-------U11 % 5' end of strand B C1----G12 3' end of strand A % % "helix", "stacked" and "connected" describe the spatial relationship % between two consecutive nucleotides. E.g. the nucleotides C1 and U2 % from the strand A. % % "wc" (stands for Watson-Crick and is a type of base-pairing), % and "wc-dumas" describe the spatial relationship between % nucleotides from two chains that are growing in opposite directions. % E.g. the nucleotides C1 from strand A and G12 from strand B. % Dynamic Domains % Given, % "ref" a nucleotide which is already positioned, % "nuc" the nucleotide to be placed, % and "tfo" a transformation matrix which expresses the desired % relationship between "ref" and "nuc", % the function "dgf-base" computes the transformation matrix that % places the nucleotide "nuc" in the given relationship to "ref". dgf_base(Tfo, V, Nuc) -> {_I,_T,N} = V, tfo_combine(nuc_dgf_base_tfo(Nuc), tfo_combine(Tfo,tfo_inv_ortho(process_type(type(N),V)))). process_type(a,V) -> tfo_align(atom_pos(nuc_C1_, V),atom_pos(rA_N9, V),atom_pos(nuc_C4, V)); process_type(c,V) -> tfo_align(atom_pos(nuc_C1_, V),atom_pos(nuc_N1, V),atom_pos(nuc_C2, V)); process_type(g,V) -> tfo_align(atom_pos(nuc_C1_, V),atom_pos(rG_N9, V),atom_pos(nuc_C4, V)); process_type(_,V) -> tfo_align(atom_pos(nuc_C1_, V),atom_pos(nuc_N1, V),atom_pos(nuc_C2, V)). % Placement of first nucleotide. reference(Nuc,I,_) -> [{I,tfo_id(),Nuc}]. % The transformation matrix for wc is from: % % Chandrasekaran R. et al (1989) A Re-Examination of the Crystal % Structure of A-DNA Using Fiber Diffraction Data. J. Biomol. % Struct. & Dynamics 6(6):1189-1202. wc_tfo() -> { -1.0000, 0.0028, -0.0019, 0.0028, 0.3468, -0.9379, -0.0019, -0.9379, -0.3468, -0.0080, 6.0730, 8.7208 }. wc(Nuc,I,J,Partial_inst) -> [{I,dgf_base(wc_tfo(),get_var(J,Partial_inst),Nuc),Nuc}]. wc_dumas_tfo() -> { -0.9737, -0.1834, 0.1352, -0.1779, 0.2417, -0.9539, 0.1422, -0.9529, -0.2679, 0.4837, 6.2649, 8.0285 }. wc_dumas(Nuc,I,J,Partial_inst) -> [{I,dgf_base(wc_dumas_tfo(),get_var(J,Partial_inst),Nuc),Nuc}]. helix5__tfo() -> { 0.9886, -0.0961, 0.1156, 0.1424, 0.8452, -0.5152, -0.0482, 0.5258, 0.8492, -3.8737, 0.5480, 3.8024 }. helix5_(Nuc,I,J,Partial_inst) -> [{I,dgf_base(helix5__tfo(),get_var(J,Partial_inst),Nuc),Nuc}]. helix3__tfo() -> { 0.9886, 0.1424, -0.0482, -0.0961, 0.8452, 0.5258, 0.1156, -0.5152, 0.8492, 3.4426, 2.0474, -3.7042 }. helix3_(Nuc,I,J,Partial_inst) -> [{I,dgf_base(helix3__tfo(),get_var(J,Partial_inst),Nuc),Nuc}]. g37_a38_tfo() -> { 0.9991, 0.0164, -0.0387, -0.0375, 0.7616, -0.6470, 0.0189, 0.6478, 0.7615, -3.3018, 0.9975, 2.5585 }. g37_a38(Nuc,I,J,Partial_inst) -> {I,dgf_base(g37_a38_tfo(),get_var(J,Partial_inst),Nuc),Nuc}. stacked5_(Nuc,I,J,Partial_inst) -> [g37_a38(Nuc,I,J,Partial_inst) | helix5_(Nuc,I,J,Partial_inst)]. a38_g37_tfo() -> { 0.9991, -0.0375, 0.0189, 0.0164, 0.7616, 0.6478, -0.0387, -0.6470, 0.7615, 3.3819, 0.7718, -2.5321 }. a38_g37(Nuc,I,J,Partial_inst) -> {I,dgf_base(a38_g37_tfo(),get_var(J,Partial_inst),Nuc),Nuc}. stacked3_(Nuc,I,J,Partial_inst) -> [a38_g37(Nuc,I,J,Partial_inst) | helix3_(Nuc,I,J,Partial_inst)]. p_o3_(Nucs,I,J,Partial_inst) -> generate([],Nucs,I,J,Partial_inst). generate(Domains,[],_,_,_) -> Domains; generate(Domains,[N|Ns],I,J,Partial_inst) -> Ref = get_var(J,Partial_inst), Align = tfo_inv_ortho(tfo_align(atom_pos(nuc_O3_,Ref), atom_pos(nuc_C3_,Ref), atom_pos(nuc_C4_,Ref))), generate([{I,tfo_combine(nuc_p_o3__60_tfo(N),Align),N}, {I,tfo_combine(nuc_p_o3__180_tfo(N),Align),N}, {I,tfo_combine(nuc_p_o3__275_tfo(N),Align),N} | Domains], Ns,I,J,Partial_inst). % -- PROBLEM STATEMENT ------------------------------------------------------- % Define anticodon problem -- Science 253:1255 Figure 3a, 3b and 3c % anticodon_domains() -> % [ % {reference, rC(), 27}, % {helix5_, rC(), 28, 27}, % {helix5_, rA(), 29, 28}, % {helix5_, rG(), 30, 29}, % {helix5_, rA(), 31, 30}, % {wc, rU(), 39, 31}, % {helix5_, rC(), 40, 39}, % {helix5_, rU(), 41, 40}, % {helix5_, rG(), 42, 41}, % {helix5_, rG(), 43, 42}, % {stacked3_, rA(), 38, 39}, % {stacked3_, rG(), 37, 38}, % {stacked3_, rA(), 36, 37}, % {stacked3_, rA(), 35, 36}, % {stacked3_, rG(), 34, 35}, %<-. Distance % {p_o3_, rCs(), 32, 31}, % | Constraint % {p_o3_, rUs(), 33, 32} %<-' 3.0 Angstroms % ]. % Anticodon constraint anticodon_constraint({33,T,N},Partial_inst) -> check0(dist(34,{33,T,N},Partial_inst)); anticodon_constraint(_,_) -> true. check0(Dist) when is_float(Dist), Dist =< 3.0 -> true; check0(_) -> false. dist(J,V,Partial_inst) -> pt_dist(atom_pos(nuc_P, get_var(J,Partial_inst)), atom_pos(nuc_O3_,V)). % anticodon() -> search([], anticodon_domains(), anticodon_constraint). % Define pseudoknot problem -- Science 253:1255 Figure 4a and 4b pseudoknot_domains() -> [ {reference, rA(), 23}, {wc_dumas, rU(), 8, 23}, {helix3_, rG(), 22, 23}, {wc_dumas, rC(), 9, 22}, {helix3_, rG(), 21, 22}, {wc_dumas, rC(), 10, 21}, {helix3_, rC(), 20, 21}, {wc_dumas, rG(), 11, 20}, {helix3_, rU_(), 19, 20}, %<-. {wc_dumas, rA(), 12, 19}, % | Distance % % | Constraint % Helix 1 % | 4.0 Angstroms {helix3_, rC(), 3, 19}, % | {wc_dumas, rG(), 13, 3}, % | {helix3_, rC(), 2, 3}, % | {wc_dumas, rG(), 14, 2}, % | {helix3_, rC(), 1, 2}, % | {wc_dumas, rG_(), 15, 1}, % | % % | % L2 LOOP % | {p_o3_, rUs(), 16, 15}, % | {p_o3_, rCs(), 17, 16}, % | {p_o3_, rAs(), 18, 17}, %<-' % % L1 LOOP {helix3_, rU(), 7, 8}, %<-. {p_o3_, rCs(), 4, 3}, % | Constraint {stacked5_, rU(), 5, 4}, % | 4.5 Angstroms {stacked5_, rC(), 6, 5} %<-' ]. % Pseudoknot constraint pseudoknot_constraint({18,T,N}, Partial_inst) -> check1(dist(19, {18,T,N}, Partial_inst)); pseudoknot_constraint({6,T,N}, Partial_inst) -> check2(dist(7, {6,T,N}, Partial_inst)); pseudoknot_constraint(_,_) -> true. check1(Dist) when is_float(Dist), Dist =< 4.0 -> true; check1(_) -> false. check2(Dist) when is_float(Dist), Dist =< 4.5 -> true; check2(_) -> false. pseudoknot() -> search([], pseudoknot_domains(), pseudoknot_constraint). % -- TESTING ----------------------------------------------------------------- list_of_atoms(N) -> append(list_of_common_atoms(N),list_of_specific_atoms(N)). list_of_common_atoms ({ _,_,_,_, P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, C3_,H3_,O3_,N1,N3,C2,C4,C5,C6, _,_ }) -> [P,O1p,O2p,O5_,C5_,H5_,H5__,C4_,H4_,O4_,C1_,H1_,C2_,H2__,O2_,H2_, C3_,H3_,O3_,N1,N3,C2,C4,C5,C6]. list_of_specific_atoms({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,a, {N6,N7,N9,C8,H2,H61,H62,H8}}) -> [N6,N7,N9,C8,H2,H61,H62,H8]; list_of_specific_atoms({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,c, {N4,O2,H41,H42,H5,H6}}) -> [N4,O2,H41,H42,H5,H6]; list_of_specific_atoms({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,g, {N2,N7,N9,C8,O6,H1,H21,H22,H8}}) -> [N2,N7,N9,C8,O6,H1,H21,H22,H8]; list_of_specific_atoms({_,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,_, _,_,_,_,_,_,_,_,_,u, {O2,O4,H3,H5,H6}}) -> [O2,O4,H3,H5,H6]. var_most_distant_atom(V) -> {_,_,N} = V, maximum(map(distance,V,list_of_atoms(N))). distance(V,P) -> {X,Y,Z} = absolute_pos(V,P), distance(X,Y,Z). distance(X,Y,Z) when is_float(X), is_float(Y), is_float(Z) -> math:sqrt(X * X + Y * Y + Z * Z). sol_most_distant_atom(S) -> maximum(map(var_most_distant_atom,S)). most_distant_atom(Sols) -> maximum(map(sol_most_distant_atom, Sols)). maximum([H|T]) -> max1(T,H). max1([H|T],M) when is_float(H), is_float(M), H > M -> max1(T,H); max1([_|T],M) -> max1(T,M); max1([],M) -> M. map(_Func,[]) -> []; map(Func,[H|T]) -> [p_apply(Func,H) | map(Func, T)]. map(_Func,_Arg,[]) -> []; map(Func,Arg,[H|T]) -> [p_apply(Func,Arg,H) | map(Func,Arg,T)]. % p_apply implements higher order functions p_apply(sol_most_distant_atom, S) -> sol_most_distant_atom(S); p_apply(var_most_distant_atom, V) -> var_most_distant_atom(V); p_apply(nuc_C1_, X) -> nuc_C1_(X); p_apply(nuc_C2, X) -> nuc_C2(X); p_apply(nuc_C3_, X) -> nuc_C3_(X); p_apply(nuc_C4, X) -> nuc_C4(X); p_apply(nuc_C4_, X) -> nuc_C4_(X); p_apply(nuc_N1, X) -> nuc_N1(X); p_apply(nuc_O3_, X) -> nuc_O3_(X); p_apply(nuc_P, X) -> nuc_P(X); p_apply(nuc_dgf_base_tfo, X) -> nuc_dgf_base_tfo(X); p_apply(nuc_p_o3__180_tfo, X) -> nuc_p_o3__180_tfo(X); p_apply(nuc_p_o3__275_tfo, X) -> nuc_p_o3__275_tfo(X); p_apply(nuc_p_o3__60_tfo, X) -> nuc_p_o3__60_tfo(X); p_apply(rA_N9, X) -> rA_N9(X); p_apply(rG_N9, X) -> rG_N9(X). p_apply(anticodon_constraint, V, P) -> anticodon_constraint(V, P); p_apply(pseudoknot_constraint, V, P) -> pseudoknot_constraint(V, P); p_apply(distance, V, P) -> distance(V, P). p_apply(reference, A1, A2, A3) -> reference(A1, A2, A3). p_apply(helix5_, A1, A2, A3, A4) -> helix5_(A1, A2, A3, A4); p_apply(wc, A1, A2, A3, A4) -> wc(A1, A2, A3, A4); p_apply(stacked3_, A1, A2, A3, A4) -> stacked3_(A1, A2, A3, A4); p_apply(p_o3_, A1, A2, A3, A4) -> p_o3_(A1, A2, A3, A4); p_apply(wc_dumas, A1, A2, A3, A4) -> wc_dumas(A1, A2, A3, A4); p_apply(helix3_, A1, A2, A3, A4) -> helix3_(A1, A2, A3, A4); p_apply(stacked5_, A1, A2, A3, A4) -> stacked5_(A1, A2, A3, A4). loop(0,R) -> R; loop(N,_) -> loop(N-1,most_distant_atom(pseudoknot())).