tRNAscan-SE-1.3.1/0000750000543100001440000000000011704500475012500 5ustar pchanuserstRNAscan-SE-1.3.1/PSELCinf-c.cm0000644000543100001440000011015111143740102014576 0ustar pchanusersINFERNAL-1 [1.0] NAME prok-selcysteine-tRNA STATES 295 NODES 73 ALPHABET 1 ELSELF -0.08926734 WBETA 1e-07 NSEQ 8 EFFNSEQ 8.000 CLEN 92 BCOM cmbuild --rf --enone PSELCinf-nc.cm prok-selc.sto BDATE Sun Feb 8 16:47:12 2009 CCOM cmcalibrate --exp-hfile cmcalibrate_files/PSELCinf.hfile --exp-sfile cmcalibrate_files/PSELCinf.sfile --exp-qqfile cmcalibrate_files/PSELCinf.qqfile --exp-ffile cmcalibrate_files/PSELCinf.ffile --fil-dfile cmcalibrate_files/PSELCinf.dfile -s 208 PSELCinf-c.cm CDATE Sun Feb 8 20:35:21 2009 NULL 0.000 0.000 0.000 0.000 PART 1 0 100 E-LC 0 0.83067 -5.33369 2.13858 1500000 558251 0.002015 E-GC 0 0.37779 -32.13896 -19.42138 1500000 45775 0.008192 E-LI 0 0.69607 -6.28673 2.49866 1500000 509317 0.002209 E-GI 0 0.41203 -25.24054 -13.68825 1500000 43773 0.008567 E-LV 0 0.91490 -0.71814 4.25595 15000000 106548 0.010559 E-GV 0 0.35889 -26.83591 -11.09940 15000000 106358 0.003526 E-LF 0 0.99295 1.07082 5.65406 15000000 106560 0.010557 E-GF 0 0.38395 -20.69631 -5.98375 15000000 106494 0.003521 FT-LC 20 0.99500 10000 1500000 0 7.08987 5.68736 4.14569 3.2086 3.13248 2.97336 2.478 2.42514 2.11587 2.11384 1.45721 1.45721 1.45721 1.45721 1.44241 1.44241 1.44241 1.43435 3.19316e-07 1.80078e-07 4799.95 4078.63 3175.73 2755.35 2393 1923.41 1662.19 1478.41 1295.51 1125.14 951.323 537.489 465.878 366.365 307.622 222.112 148.715 111.668 11.7174 11.1668 FT-LI 19 0.99500 10000 1500000 0 22.8434 19.6436 13.2041 12.6502 10.4378 8.76801 8.56663 8.20153 7.69122 7.50921 5.49652 5.49652 5.49652 5.49652 5.4496 5.4496 5.4496 5.41432 2.00107e-06 4799.95 4078.63 3175.73 2755.35 2393 1923.41 1662.19 1478.41 1295.51 1125.14 951.323 537.489 465.878 366.365 307.622 222.112 151.999 111.668 11.1668 FT-GC 2 0.99500 10000 1500000 1 0.000557072 0.000148877 88.2441 8.82441 FT-GI 2 0.99500 10000 1500000 1 0.000165821 0.000132357 88.2441 8.82441 MODEL: [ ROOT 0 ] S 0 -1 0 1 6 -9.837 -9.776 -0.203 -8.553 -3.001 -9.227 IL 1 1 2 1 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 2 2 3 2 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 1 ] MP 3 2 3 7 6 -9.648 -9.587 -0.100 -8.364 -4.067 -9.038 -5.993 -4.008 -6.722 -0.176 -6.518 -4.764 -1.083 -6.026 -5.097 3.659 -4.707 -1.561 -1.136 -4.630 -0.115 -4.946 ML 4 2 3 7 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 5 2 3 7 6 -8.732 -7.461 -0.325 -7.439 -2.573 -5.653 -1.176 1.514 -2.003 -1.146 D 6 2 3 7 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 7 7 5 7 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 8 8 6 8 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 2 ] MP 9 8 6 13 6 -9.763 -9.702 -0.013 -8.478 -8.758 -9.153 -8.148 -4.230 -8.694 -0.961 -8.193 -4.552 -2.256 -7.376 -5.375 3.859 -4.870 -1.907 -2.177 -4.616 -4.083 -6.226 ML 10 8 6 13 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 11 8 6 13 6 -7.959 -6.688 -0.610 -6.666 -1.800 -4.879 -0.169 -0.887 -0.964 1.041 D 12 8 6 13 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 13 13 5 13 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 14 14 6 14 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 3 ] MP 15 14 6 19 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.208 -3.290 -4.919 3.427 -5.303 -4.962 -0.984 -4.045 -4.572 1.662 -4.997 -1.433 -0.953 -4.655 -2.496 -3.546 ML 16 14 6 19 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 17 14 6 19 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 18 14 6 19 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 19 19 5 19 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 20 20 6 20 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 4 ] MP 21 20 6 25 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.114 -3.170 -4.915 2.993 -5.404 -4.882 -0.506 -4.201 -4.364 1.922 -4.379 1.040 -0.507 -4.416 -2.076 -3.456 ML 22 20 6 25 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 23 20 6 25 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 24 20 6 25 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 25 25 5 25 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 26 26 6 26 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 5 ] MP 27 26 6 31 6 -9.837 -9.776 -0.103 -8.553 -8.832 -4.017 -6.268 -4.085 -7.039 -0.433 -6.932 -4.709 -1.718 -6.355 -5.165 3.727 -4.762 -1.729 -1.637 -4.627 -3.361 -0.408 ML 28 26 6 31 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 29 26 6 31 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 30 26 6 31 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 31 31 5 31 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 32 32 6 32 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 6 ] MP 33 32 6 37 6 -9.747 -9.687 -0.014 -8.463 -8.743 -9.138 -4.193 -3.189 -5.088 2.308 -5.528 -4.939 0.892 -4.570 -4.312 2.754 -4.025 -0.729 -0.034 -4.331 -1.629 -3.480 ML 34 32 6 37 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 35 32 6 37 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 36 32 6 37 6 -10.475 -9.173 -0.600 -5.652 -5.670 -1.745 IL 37 37 5 37 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 38 38 6 38 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 7 ] MP 39 38 6 43 6 -9.837 -9.776 -0.203 -2.995 -8.832 -9.227 -3.342 -3.462 -3.984 0.204 -3.207 -4.487 -0.363 -4.007 1.240 2.538 -4.000 -1.439 2.156 -3.615 -1.538 -3.055 ML 40 38 6 43 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 41 38 6 43 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 42 38 6 43 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 43 43 5 43 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 44 44 6 44 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 8 ] MP 45 44 6 49 4 -8.079 -8.286 -0.024 -6.701 -3.629 -4.174 -3.852 -0.204 -2.817 -4.529 2.826 0.753 -4.135 -0.305 -4.188 -1.838 2.013 -3.909 -0.887 -3.063 ML 46 44 6 49 4 -5.350 -5.533 -0.149 -4.262 -1.250 -2.301 1.615 -1.672 MR 47 44 6 49 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 48 44 6 49 4 -4.568 -4.250 -2.265 -0.520 IL 49 49 5 49 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 50 50 6 50 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 9 ] ML 51 50 6 53 3 -9.343 -0.008 -7.997 1.224 -2.297 0.216 -1.742 D 52 50 6 53 3 -6.174 -1.687 -0.566 IL 53 53 3 53 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 10 ] ML 54 53 3 56 2 -9.904 -0.002 -3.221 -3.065 -3.956 1.891 D 55 53 3 56 2 -8.445 -0.004 IL 56 56 3 56 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ BIF 11 ] B 57 56 3 58 173 [ BEGL 12 ] S 58 57 1 59 1 0.000 [ BIF 13 ] B 59 58 1 60 110 [ BEGL 14 ] S 60 59 1 61 4 -0.024 -7.737 -7.144 -7.784 [ MATP 15 ] MP 61 60 1 65 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159 3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 ML 62 60 1 65 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 63 60 1 65 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 64 60 1 65 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 65 65 5 65 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 66 66 6 66 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 16 ] MP 67 66 6 71 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.453 -3.293 -5.378 1.644 -6.067 -4.804 -0.455 -4.862 -4.410 3.117 -4.078 1.008 -0.453 -4.325 -2.059 -3.753 ML 68 66 6 71 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 69 66 6 71 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 70 66 6 71 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 71 71 5 71 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 72 72 6 72 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 17 ] MP 73 72 6 77 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -6.793 -5.809 -7.039 -2.012 -6.268 -8.657 -2.144 -6.229 -6.397 -2.222 -6.473 1.841 -1.833 -6.715 3.502 -5.483 ML 74 72 6 77 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 75 72 6 77 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 76 72 6 77 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 77 77 5 77 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 78 78 6 78 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 18 ] MP 79 78 6 83 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -6.650 -6.159 -5.257 -1.010 -4.633 -5.927 3.498 -5.587 -7.521 1.362 -5.260 -2.637 -0.115 -7.102 -1.496 -5.104 ML 80 78 6 83 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 81 78 6 83 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 82 78 6 83 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 83 83 5 83 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 84 84 6 84 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 19 ] MP 85 84 6 89 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.768 -4.861 -4.928 1.536 -3.498 -5.576 2.479 -4.862 -5.246 0.084 -5.220 -1.665 2.380 -4.845 -0.945 -3.534 ML 86 84 6 89 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 87 84 6 89 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 88 84 6 89 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 89 89 5 89 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 90 90 6 90 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 20 ] MP 91 90 6 95 4 -8.394 -8.601 -0.019 -7.015 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159 3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 ML 92 90 6 95 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 93 90 6 95 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 94 90 6 95 4 -4.568 -4.250 -2.265 -0.520 IL 95 95 5 95 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 96 96 6 96 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 21 ] ML 97 96 6 99 3 -9.343 -0.008 -7.997 -2.133 1.571 -3.010 -0.565 D 98 96 6 99 3 -6.174 -1.687 -0.566 IL 99 99 3 99 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 22 ] ML 100 99 3 102 3 -9.343 -0.008 -7.997 -2.576 -4.009 1.875 -3.290 D 101 99 3 102 3 -6.174 -1.687 -0.566 IL 102 102 3 102 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 23 ] ML 103 102 3 105 3 -9.343 -0.008 -7.997 -2.576 -4.009 1.875 -3.290 D 104 102 3 105 3 -6.174 -1.687 -0.566 IL 105 105 3 105 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 24 ] ML 106 105 3 108 2 * 0.000 -3.221 -3.065 -3.956 1.891 D 107 105 3 108 2 * 0.000 IL 108 108 3 108 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 25 ] E 109 108 3 -1 0 [ BEGR 26 ] S 110 59 1 111 3 -9.343 -0.539 -1.688 IL 111 111 2 111 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 27 ] ML 112 111 2 114 5 -7.860 -1.684 -7.675 -1.953 -1.247 -2.830 1.854 -3.714 -2.565 D 113 111 2 114 5 -7.324 -0.125 -6.585 -4.960 -4.872 IL 114 114 3 114 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 28 ] MP 115 114 3 119 6 -9.269 -9.208 -0.019 -7.985 -8.265 -8.660 -6.091 -4.562 -6.091 -0.710 -5.655 -7.603 -1.043 -5.061 -5.359 -0.806 -5.259 3.729 -0.768 -5.693 -2.057 -4.410 ML 116 114 3 119 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 117 114 3 119 6 -8.732 -7.461 -0.325 -7.439 -2.573 -5.653 -1.039 -1.496 -1.821 1.524 D 118 114 3 119 6 -11.790 -10.488 -0.212 -6.967 -6.985 -3.060 IL 119 119 5 119 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 120 120 6 120 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 29 ] MP 121 120 6 125 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159 3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 ML 122 120 6 125 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 123 120 6 125 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 124 120 6 125 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 125 125 5 125 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 126 126 6 126 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 30 ] MP 127 126 6 131 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.686 -4.844 -4.921 1.370 -3.485 -5.595 2.059 -4.858 -5.163 0.044 -5.240 -1.685 2.801 -4.803 -0.967 -3.528 ML 128 126 6 131 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 129 126 6 131 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 130 126 6 131 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 131 131 5 131 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 132 132 6 132 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 31 ] MP 133 132 6 137 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425 3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 ML 134 132 6 137 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 135 132 6 137 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 136 132 6 137 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 137 137 5 137 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 138 138 6 138 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 32 ] MP 139 138 6 143 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425 3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 ML 140 138 6 143 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 141 138 6 143 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 142 138 6 143 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 143 143 5 143 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 144 144 6 144 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 33 ] MP 145 144 6 149 4 -8.394 -8.601 -0.019 -7.015 -5.018 -4.289 -5.616 3.470 -5.244 -6.010 -1.008 -4.851 -5.312 -0.630 -5.807 -2.122 1.620 -5.433 -2.489 -4.259 ML 146 144 6 149 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 147 144 6 149 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 148 144 6 149 4 -4.568 -4.250 -2.265 -0.520 IL 149 149 5 149 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 150 150 6 150 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 34 ] ML 151 150 6 153 3 -9.343 -0.008 -7.997 -2.420 1.672 -3.322 -0.925 D 152 150 6 153 3 -6.174 -1.687 -0.566 IL 153 153 3 153 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 35 ] ML 154 153 3 156 3 -9.343 -0.008 -7.997 -3.221 -3.065 -3.956 1.891 D 155 153 3 156 3 -6.174 -1.687 -0.566 IL 156 156 3 156 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 36 ] ML 157 156 3 159 3 -9.343 -0.008 -7.997 -3.221 -3.065 -3.956 1.891 D 158 156 3 159 3 -6.174 -1.687 -0.566 IL 159 159 3 159 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 37 ] ML 160 159 3 162 3 -9.343 -0.008 -7.997 -3.417 1.902 -4.334 -3.061 D 161 159 3 162 3 -6.174 -1.687 -0.566 IL 162 162 3 162 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 38 ] ML 163 162 3 165 3 -9.343 -0.008 -7.997 1.931 -4.287 -4.033 -3.748 D 164 162 3 165 3 -6.174 -1.687 -0.566 IL 165 165 3 165 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 39 ] ML 166 165 3 168 3 -9.343 -0.008 -7.997 1.931 -4.287 -4.033 -3.748 D 167 165 3 168 3 -6.174 -1.687 -0.566 IL 168 168 3 168 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 40 ] ML 169 168 3 171 2 * 0.000 1.931 -4.287 -4.033 -3.748 D 170 168 3 171 2 * 0.000 IL 171 171 3 171 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 41 ] E 172 171 3 -1 0 [ BEGR 42 ] S 173 57 1 174 2 -1.570 -0.592 IL 174 174 2 174 2 -1.796 -0.490 0.000 0.000 0.000 0.000 [ BIF 43 ] B 175 174 2 176 238 [ BEGL 44 ] S 176 175 1 177 4 -0.428 -2.028 -7.144 -7.784 [ MATP 45 ] MP 177 176 1 181 6 -9.506 -9.445 -0.016 -8.221 -8.501 -8.896 -3.378 -3.853 -3.949 -1.085 -3.040 -4.739 -0.947 -3.991 -3.724 -1.326 2.242 -1.938 -0.186 -3.687 3.004 -3.147 ML 178 176 1 181 6 -8.715 -9.061 -0.165 -3.470 -8.911 -6.440 -0.601 -1.220 0.224 0.802 MR 179 176 1 181 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 180 176 1 181 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 181 181 5 181 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 182 182 6 182 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 46 ] MP 183 182 6 187 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -5.006 -4.027 -5.698 0.474 -5.411 -5.718 1.714 -5.166 -5.098 2.620 -4.831 1.848 -0.103 -5.083 -1.654 -4.100 ML 184 182 6 187 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 185 182 6 187 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 186 182 6 187 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 187 187 5 187 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 188 188 6 188 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 47 ] MP 189 188 6 193 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.129 -3.118 -5.049 2.401 -5.767 -4.881 -0.248 -4.521 -4.243 2.714 -3.965 0.707 -0.244 -4.272 -1.831 -3.461 ML 190 188 6 193 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 191 188 6 193 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 192 188 6 193 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 193 193 5 193 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 194 194 6 194 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 48 ] MP 195 194 6 199 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.459 -3.437 -5.332 1.870 -5.553 -5.158 1.466 -4.823 -4.559 2.866 -4.248 -0.902 -0.041 -4.558 -1.641 -3.691 ML 196 194 6 199 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 197 194 6 199 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 198 194 6 199 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 199 199 5 199 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 200 200 6 200 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 49 ] MP 201 200 6 205 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.047 -3.129 -4.573 0.668 -4.627 -0.223 -0.692 -4.289 -3.960 3.175 -3.781 1.273 -0.630 -3.664 -2.133 -3.546 ML 202 200 6 205 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 203 200 6 205 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 204 200 6 205 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 205 205 5 205 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 206 206 6 206 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 50 ] MP 207 206 6 211 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -3.385 -3.309 -3.584 1.433 -3.005 -3.924 2.424 0.476 -3.626 0.394 -3.728 1.200 0.673 -3.304 -1.080 -2.864 ML 208 206 6 211 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 209 206 6 211 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 210 206 6 211 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 211 211 5 211 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 212 212 6 212 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 51 ] MP 213 212 6 217 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -5.355 -5.860 -4.133 -1.809 -3.729 -4.753 3.568 -4.795 -6.453 -1.787 -0.323 -3.587 -0.163 -5.916 0.563 -4.677 ML 214 212 6 217 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 215 212 6 217 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 216 212 6 217 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 217 217 5 217 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 218 218 6 218 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 52 ] MP 219 218 6 223 4 -8.394 -8.601 -0.019 -7.015 -5.969 -5.343 -6.148 -0.121 -4.780 -6.742 2.509 -5.715 -6.345 2.277 -6.103 -1.840 0.373 -6.196 1.467 -4.534 ML 220 218 6 223 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 221 218 6 223 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 222 218 6 223 4 -4.568 -4.250 -2.265 -0.520 IL 223 223 5 223 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 224 224 6 224 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 53 ] ML 225 224 6 227 3 -9.343 -0.125 -3.614 0.068 0.720 -0.274 -1.066 D 226 224 6 227 3 -6.174 -1.687 -0.566 IL 227 227 3 227 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 54 ] ML 228 227 3 230 3 -9.226 -0.009 -7.880 1.361 -0.244 -2.138 -1.472 D 229 227 3 230 3 -7.695 -0.396 -2.087 IL 230 230 3 230 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 55 ] ML 231 230 3 233 3 -9.343 -0.314 -2.364 0.230 -0.194 0.317 -0.499 D 232 230 3 233 3 -6.174 -1.687 -0.566 IL 233 233 3 233 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 56 ] ML 234 233 3 236 2 * 0.000 0.201 -0.454 0.707 -1.034 D 235 233 3 236 2 * 0.000 IL 236 236 3 236 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 57 ] E 237 236 3 -1 0 [ BEGR 58 ] S 238 175 1 239 3 -2.411 -0.695 -2.364 IL 239 239 2 239 3 -2.530 -1.886 -0.846 0.000 0.000 0.000 0.000 [ MATL 59 ] ML 240 239 2 242 5 -7.718 -0.025 -7.533 -7.746 -8.637 -2.059 -3.381 1.811 -2.687 D 241 239 2 242 5 -7.568 -0.954 -6.829 -1.182 -5.117 IL 242 242 3 242 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 60 ] MP 243 242 3 247 6 -9.652 -9.591 -0.014 -8.368 -8.648 -9.043 -6.485 -5.009 -6.736 -0.900 -6.567 -7.484 -1.404 -5.770 -5.968 2.262 -5.756 3.258 -1.318 -6.198 -2.674 -5.020 ML 244 242 3 247 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 245 242 3 247 6 -8.711 -7.440 -0.330 -7.418 -2.552 -5.632 -1.012 -1.476 -1.795 1.514 D 246 242 3 247 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 247 247 5 247 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 248 248 6 248 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 61 ] MP 249 248 6 253 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.858 -5.138 -5.212 -0.346 -3.831 -6.027 2.410 -5.162 -5.329 -0.370 -5.568 -1.988 3.019 -5.141 -1.244 -3.912 ML 250 248 6 253 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 251 248 6 253 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 252 248 6 253 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 253 253 5 253 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 254 254 6 254 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 62 ] MP 255 254 6 259 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -4.440 -3.425 -5.282 2.894 -5.833 -5.214 -0.557 -4.619 -4.584 2.597 -4.428 -1.090 -0.557 -4.642 -2.114 -3.724 ML 256 254 6 259 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 257 254 6 259 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 258 254 6 259 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 259 259 5 259 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 260 260 6 260 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 63 ] MP 261 260 6 265 6 -9.837 -9.776 -0.013 -8.553 -8.832 -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425 3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 ML 262 260 6 265 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 263 260 6 265 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 264 260 6 265 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 265 265 5 265 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 266 266 6 266 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 64 ] MP 267 266 6 271 4 -8.394 -8.601 -0.019 -7.015 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425 3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 ML 268 266 6 271 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 269 266 6 271 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 270 266 6 271 4 -4.568 -4.250 -2.265 -0.520 IL 271 271 5 271 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 272 272 6 272 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 65 ] ML 273 272 6 275 3 -9.343 -0.008 -7.997 -3.221 -3.065 -3.956 1.891 D 274 272 6 275 3 -6.174 -1.687 -0.566 IL 275 275 3 275 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 66 ] ML 276 275 3 278 3 -9.343 -0.008 -7.997 -3.221 -3.065 -3.956 1.891 D 277 275 3 278 3 -6.174 -1.687 -0.566 IL 278 278 3 278 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 67 ] ML 279 278 3 281 3 -9.343 -0.008 -7.997 -3.417 1.902 -4.334 -3.061 D 280 278 3 281 3 -6.174 -1.687 -0.566 IL 281 281 3 281 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 68 ] ML 282 281 3 284 3 -9.343 -0.008 -7.997 -0.885 -3.485 1.688 -2.763 D 283 281 3 284 3 -6.174 -1.687 -0.566 IL 284 284 3 284 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 69 ] ML 285 284 3 287 3 -9.343 -0.008 -7.997 1.931 -4.287 -4.033 -3.748 D 286 284 3 287 3 -6.174 -1.687 -0.566 IL 287 287 3 287 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 70 ] ML 288 287 3 290 3 -9.343 -0.008 -7.997 -2.133 1.571 -3.010 -0.565 D 289 287 3 290 3 -6.174 -1.687 -0.566 IL 290 290 3 290 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 71 ] ML 291 290 3 293 2 * 0.000 -3.221 -3.065 -3.956 1.891 D 292 290 3 293 2 * 0.000 IL 293 293 3 293 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 72 ] E 294 293 3 -1 0 // tRNAscan-SE-1.3.1/revcomp_main.c0000644000543100001440000000447011021467312015327 0ustar pchanusers/* SQUID - A C function library for biological sequence analysis * Copyright (C) 1992-1996 Sean R. Eddy * * This source code is distributed under terms of the * GNU General Public License. See the files COPYING * and GNULICENSE for further details. * */ /* main for revcomp * * revcomp - generate reverse complement of sequences * SRE, Thu Aug 5 17:36:57 1993 */ #include #include #include "squid.h" #define OPTIONS "h" char usage[] = "Usage: revcomp [-options] \n\ Reverse complement a nucleic acid sequence.\n\ Available options:\n\ -h : help; print version and usage info\n"; int main(int argc, char **argv) { char *seqfile; /* name of sequence file */ SQFILE *dbfp; /* open sequence file */ int fmt; /* format of seqfile */ char *seq; /* sequence */ SQINFO sqinfo; /* additional sequence info */ char *rev; /* reverse complement */ int swap; int optchar; /* option character, command line */ extern int optind; /*********************************************** * Parse command line ***********************************************/ while ((optchar = getopt(argc, argv, OPTIONS)) != -1) switch (optchar) { case 'h': printf("revcomp %s, %s\n%s\n", squid_version, squid_date, usage); exit(EXIT_SUCCESS); default: Die("%s\n", usage); } if (argc - optind != 1) Die("%s\n", usage); seqfile = argv[optind]; if (! SeqfileFormat(seqfile, &fmt, NULL)) Die("Failed to determine format of file %s", seqfile); if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL) Die("Failed to open sequence file %s for reading", seqfile); while (ReadSeq(dbfp, fmt, &seq, &sqinfo)) { if ((rev = (char *) malloc ((sqinfo.len + 1) * sizeof(char))) == NULL) Die("malloc failed"); revcomp(rev, seq); if (sqinfo.flags & (SQINFO_START | SQINFO_STOP)) { swap = sqinfo.start; sqinfo.start = sqinfo.stop; sqinfo.stop = swap; } /* secondary structure of reverse strand is nonsense */ if (sqinfo.flags & SQINFO_SS) { sqinfo.flags = sqinfo.flags & ~SQINFO_SS; free(sqinfo.ss); } WriteSeq(stdout, kPearson, rev, &sqinfo); free(rev); FreeSequence(seq, &sqinfo); } SeqfileClose(dbfp); return 0; } tRNAscan-SE-1.3.1/seqstat_main.c0000644000543100001440000000676411021467311015347 0ustar pchanusers/* SQUID - A C function library for biological sequence analysis * Copyright (C) 1992-1996 Sean R. Eddy * * This source code is distributed under terms of the * GNU General Public License. See the files COPYING * and GNULICENSE for further details. * */ /* seqstat_main.c * Wed Aug 10 15:47:14 1994 * * Look at a sequence file, determine some simple statistics. */ #include #include #include "squid.h" #define OPTIONS "ah" #ifdef MEMDEBUG #include "dbmalloc.h" #endif char usage[] = "Usage: seqstat [-options] \n\ Verify a sequence file; print some simple statistics and info.\n\ Available options:\n\ -a : report per-sequence info, not just a summary\n\ -h : help; display usage and version\n"; int main(int argc, char **argv) { char *seqfile; /* name of sequence file */ SQFILE *dbfp; /* open sequence file */ int fmt; /* format of seqfile */ char *seq; /* sequence */ SQINFO sqinfo; /* extra info about sequence */ int nseqs; int small; /* smallest length */ int large; /* largest length */ int total; /* total length */ int optchar; /* option character, command line */ extern int optind; int allreport; #ifdef MEMDEBUG unsigned long histid1, histid2, orig_size, current_size; #endif /*********************************************** * Parse command line ***********************************************/ allreport = FALSE; /* default: summary only */ while ((optchar = getopt(argc, argv, OPTIONS)) != -1) switch (optchar) { case 'a': allreport = TRUE; break; case 'h': printf("seqstat %s, %s\n%s\n", squid_version, squid_date, usage); exit(EXIT_SUCCESS); default: Die("%s\n", usage); } if (argc - optind != 1) Die("%s\n", usage); seqfile = argv[argc-1]; #ifdef MEMDEBUG orig_size = malloc_size(&histid1); #endif /*********************************************** * Read the file. ***********************************************/ printf("seqstat %s, %s\n\n", squid_version, squid_date); if (! SeqfileFormat(seqfile, &fmt, NULL)) Die("Can't determine format of file %s\n", seqfile); if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL) Die("Failed to open sequence file %s for reading", seqfile); if (allreport) { printf(" %-15s %-5s %s\n", " NAME", "LEN", "DESCRIPTION"); printf(" --------------- ----- -----------\n"); } small = 9999999; large = 0; nseqs = 0; total = 0; while (ReadSeq(dbfp, fmt, &seq, &sqinfo)) { if (allreport) printf("* %-15s %5d %-50.50s\n", sqinfo.name, sqinfo.len, sqinfo.flags & SQINFO_DESC ? sqinfo.desc : ""); if (sqinfo.len < small) small = sqinfo.len; if (sqinfo.len > large) large = sqinfo.len; total += sqinfo.len; nseqs++; FreeSequence(seq, &sqinfo); } if (allreport) puts(""); printf("Format: %s\n", SeqFormatString(fmt)); printf("Number of sequences: %d\n", nseqs); printf("Total # residues: %d\n", total); printf("Smallest: %d\n", small); printf("Largest: %d\n", large); printf("Average length: %.1f\n", (float) total / (float) nseqs); SeqfileClose(dbfp); #ifdef MEMDEBUG current_size = malloc_size(&histid2); if (current_size != orig_size) malloc_list(2, histid1, histid2); else fprintf(stderr, "[No memory leaks]\n"); #endif return 0; } tRNAscan-SE-1.3.1/ESELC.cm0000644000543100001440000012017311021467310013655 0ustar pchanusers### cove V2 65 nodes ### node 0 type 6 1 -1 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 1 type 1 2 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.26087 0.08696 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 2 type 1 3 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.08696 0.30435 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 3 type 1 4 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.34783 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 4 type 1 5 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.34783 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 5 type 1 6 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.08696 0.04348 # MATP 0.04348 0.30435 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 6 type 1 7 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.08696 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.30435 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 7 type 1 8 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.30435 # MATP 0.04348 0.04348 0.08696 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 8 type 1 9 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.08696 0.30435 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 9 type 1 10 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.30435 0.04348 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 10 type 2 11 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.72727 0.09091 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 11 type 2 12 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.27273 0.27273 0.09091 0.36364 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 12 type 0 13 24 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 13 type 4 14 -1 0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 14 type 1 15 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.34783 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 15 type 1 16 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.30435 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.08696 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 16 type 1 17 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.30435 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 17 type 1 18 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.30435 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.08696 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 18 type 1 19 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.26087 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.08696 0.04348 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 19 type 1 20 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.34783 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 20 type 2 21 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.18182 0.09091 0.63636 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 21 type 2 22 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.72727 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 22 type 2 23 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.72727 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 23 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 24 type 5 25 -1 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 25 type 0 26 40 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 26 type 4 27 -1 0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 27 type 1 28 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.34783 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 28 type 1 29 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.34783 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 29 type 1 30 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.34783 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 30 type 1 31 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.30435 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.08696 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 31 type 1 32 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.34783 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 32 type 1 33 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.13043 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.26087 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 33 type 2 34 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.72727 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 34 type 2 35 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 35 type 2 36 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 36 type 2 37 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.72727 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 37 type 2 38 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.72727 0.09091 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 38 type 2 39 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.72727 0.09091 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 39 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.72727 0.09091 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 40 type 5 41 -1 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 41 type 0 42 53 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 42 type 4 43 -1 0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 43 type 1 44 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.34783 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 44 type 1 45 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.26087 0.04348 # MATP 0.04348 0.08696 0.04348 0.04348 # MATP 0.08696 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 45 type 1 46 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.13043 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.26087 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 46 type 1 47 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.34783 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 47 type 1 48 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.08696 0.04348 0.04348 # MATP 0.26087 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 48 type 1 49 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.21739 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.17391 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 49 type 2 50 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 50 type 2 51 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.63636 0.09091 0.09091 0.18182 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 51 type 2 52 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.72727 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 52 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.72727 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 53 type 5 54 -1 0.08333 0.66667 0.08333 0.08333 0.08333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 54 type 1 55 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.30435 0.04348 0.08696 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 55 type 1 56 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.34783 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 56 type 1 57 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.34783 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 57 type 1 58 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.04348 0.34783 0.04348 0.04348 # MATP 0.04348 0.04348 0.04348 0.04348 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 58 type 2 59 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 59 type 2 60 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 60 type 2 61 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.72727 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 61 type 2 62 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.54545 0.09091 0.27273 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 62 type 2 63 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.72727 0.09091 0.09091 0.09091 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 63 type 2 64 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.18182 0.09091 0.63636 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 64 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.09091 0.09091 0.72727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR tRNAscan-SE-1.3.1/TRNAinf-bact-ns-c.cm0000644000543100001440000010117011143734505016034 0ustar pchanusersINFERNAL-1 [1.0] NAME tRNA1415G-bact-nostruct STATES 283 NODES 95 ALPHABET 1 ELSELF -0.08926734 WBETA 1e-07 NSEQ 249 EFFNSEQ 249.000 CLEN 93 BCOM cmbuild --rf --enone -F TRNAinf-bact-ns-nc.cm trna1415G-bact-ns.sto BDATE Sun Feb 8 19:01:31 2009 CCOM cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-bact-ns.hfile --exp-sfile cmcalibrate_files/TRNAinf-bact-ns.sfile --exp-qqfile cmcalibrate_files/TRNAinf-bact-ns.qqfile --exp-ffile cmcalibrate_files/TRNAinf-bact-ns.ffile --fil-dfile cmcalibrate_files/TRNAinf-bact-ns.dfile -s 208 TRNAinf-bact-ns-c.cm CDATE Sun Feb 8 20:09:03 2009 NULL 0.000 0.000 0.000 0.000 PART 1 0 100 E-LC 0 0.70264 -10.82259 -1.38740 1500000 851757 0.001321 E-GC 0 0.28941 -34.21287 -19.62910 1500000 25529 0.014689 E-LI 0 0.67728 -10.43186 -0.86376 1500000 733642 0.001533 E-GI 0 0.29780 -31.78663 -17.63305 1500000 25383 0.014774 E-LV 0 0.73241 -3.92074 2.34835 15000000 110978 0.010137 E-GV 0 0.33174 -29.02309 -11.88229 15000000 110546 0.003392 E-LF 0 0.69034 -1.32503 5.32787 15000000 111111 0.010125 E-GF 0 0.36826 -24.79156 -9.35237 15000000 110472 0.003395 FT-LC 35 0.99500 10000 1500000 0 6755.17 6755.17 6589.94 6243.09 5097.19 5097.19 4121.57 4034.91 3448.66 2502.68 2486.75 2348.89 2318.76 2123.49 1842.51 1728.92 1523.79 1407.62 1221.04 1108.92 998.952 899.061 808.255 786.504 786.504 785.304 16.4974 15.8164 7.60229 6.67111 4.89523 4.3201 2.60093 2.07945 1.74401 5628.99 4954.11 4027.38 3613.71 3045.09 2574.82 2273.95 2046.02 1789.56 1395.78 1223.35 1087.14 947.594 784.286 454.282 405.935 363.987 315.519 283.697 250.72 223.883 199.504 173.536 154.214 131.029 130.366 75.478 67.3522 55.5144 42.7049 35.4429 25.3934 17.9935 16.1119 13.0366 FT-LI 37 0.99500 10000 1500000 0 8453.39 6879.88 5537.3 5373.85 4651.59 4430.14 3979 3940.88 3379 2957.99 2659.64 2485.79 2426.45 1870.07 1581.5 1505.05 1435.57 1342.59 1281.56 1173.99 1145.21 1135.67 748.061 721.295 657.544 653.259 24.8213 17.4623 15.6529 9.27504 8.26042 6.04424 5.52297 4.43905 3.59112 2.76614 2.34579 5628.99 4954.11 4027.38 3613.71 3045.09 2574.82 2273.95 2046.02 1789.56 1395.78 1223.35 1087.14 947.594 784.286 454.282 405.935 363.987 315.519 283.697 250.72 223.883 199.504 173.536 154.214 131.029 130.366 115.002 85.4056 72.3656 47.8901 38.3449 28.8327 25.3934 18.459 15.5223 13.5767 13.0366 FT-GC 1 0.99500 10000 1500000 1 0.0401648 10.6271 FT-GI 1 0.99500 10000 1500000 1 0.0373644 10.6271 MODEL: [ ROOT 0 ] S 0 -1 0 1 4 -4.210 -13.308 -0.097 -6.552 IL 1 1 2 1 4 -5.839 -6.522 -0.044 -9.007 0.000 0.000 0.000 0.000 IR 2 2 3 2 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 1 ] ML 3 2 3 5 3 -13.997 -0.000 -12.651 -2.433 -1.567 1.688 -1.970 D 4 2 3 5 3 -9.048 -0.143 -3.439 IL 5 5 3 5 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 2 ] ML 6 5 3 8 3 -14.012 -0.000 -12.666 -2.883 0.487 1.147 -2.015 D 7 5 3 8 3 -6.174 -1.687 -0.566 IL 8 8 3 8 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 3 ] ML 9 8 3 11 3 -14.012 -0.000 -12.666 -0.516 0.434 0.637 -1.343 D 10 8 3 11 3 -6.174 -1.687 -0.566 IL 11 11 3 11 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 4 ] ML 12 11 3 14 3 -14.012 -0.000 -12.666 -1.720 0.238 0.982 -0.885 D 13 11 3 14 3 -6.174 -1.687 -0.566 IL 14 14 3 14 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 5 ] ML 15 14 3 17 3 -14.012 -0.000 -12.666 -0.052 0.365 0.554 -1.840 D 16 14 3 17 3 -6.174 -1.687 -0.566 IL 17 17 3 17 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 6 ] ML 18 17 3 20 3 -8.201 -0.005 -12.666 -0.230 -0.137 0.012 0.298 D 19 17 3 20 3 -6.174 -1.687 -0.566 IL 20 20 3 20 3 -2.039 -0.476 -4.739 0.000 0.000 0.000 0.000 [ MATL 7 ] ML 21 20 3 23 3 -14.012 -0.005 -8.162 0.201 -2.565 0.863 -0.212 D 22 20 3 23 3 -6.174 -1.687 -0.566 IL 23 23 3 23 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 8 ] ML 24 23 3 26 3 -14.007 -0.005 -8.118 -7.763 -7.499 -4.305 1.978 D 25 23 3 26 3 -7.779 -0.371 -2.171 IL 26 26 3 26 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 9 ] ML 27 26 3 29 3 -14.007 -0.000 -12.661 1.348 -2.468 0.202 -3.024 D 28 26 3 29 3 -7.807 -0.363 -2.198 IL 29 29 3 29 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 10 ] ML 30 29 3 32 3 -14.012 -0.000 -12.666 -4.334 -1.630 1.833 -3.960 D 31 29 3 32 3 -6.174 -1.687 -0.566 IL 32 32 3 32 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 11 ] ML 33 32 3 35 3 -14.012 -0.000 -12.666 -2.529 1.501 -3.830 -0.112 D 34 32 3 35 3 -6.174 -1.687 -0.566 IL 35 35 3 35 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 12 ] ML 36 35 3 38 3 -14.012 -0.000 -12.666 -2.627 -0.551 0.197 1.007 D 37 35 3 38 3 -6.174 -1.687 -0.566 IL 38 38 3 38 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 13 ] ML 39 38 3 41 3 -14.012 -0.000 -12.666 -0.336 1.105 -0.569 -1.387 D 40 38 3 41 3 -6.174 -1.687 -0.566 IL 41 41 3 41 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 14 ] ML 42 41 3 44 3 -14.012 -0.000 -12.666 1.969 -5.517 -5.623 -4.509 D 43 41 3 44 3 -6.174 -1.687 -0.566 IL 44 44 3 44 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 15 ] ML 45 44 3 47 3 -14.012 -0.028 -5.681 -0.099 -3.932 1.558 -4.175 D 46 44 3 47 3 -6.174 -1.687 -0.566 IL 47 47 3 47 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 16 ] ML 48 47 3 50 3 -13.984 -0.616 -1.525 -2.120 0.318 -3.020 1.263 D 49 47 3 50 3 -9.856 -5.369 -0.037 IL 50 50 3 50 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 17 ] ML 51 50 3 53 3 -2.893 -0.209 -12.022 -1.849 -0.318 -6.368 1.540 D 52 50 3 53 3 -13.963 -0.005 -8.354 IL 53 53 3 53 3 -3.488 -0.141 -8.069 0.000 0.000 0.000 0.000 [ MATL 18 ] ML 54 53 3 56 3 -14.012 -0.000 -12.666 -7.659 -9.041 1.985 -4.890 D 55 53 3 56 3 -6.174 -1.687 -0.566 IL 56 56 3 56 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 19 ] ML 57 56 3 59 3 -14.012 -0.000 -12.666 -9.488 -10.488 1.999 -10.286 D 58 56 3 59 3 -6.174 -1.687 -0.566 IL 59 59 3 59 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 20 ] ML 60 59 3 62 3 -0.920 -1.085 -12.666 -1.932 -0.228 -2.234 1.418 D 61 59 3 62 3 -6.174 -1.687 -0.566 IL 62 62 3 62 3 -2.288 -0.332 -10.826 0.000 0.000 0.000 0.000 [ MATL 21 ] ML 63 62 3 65 3 -14.012 -0.000 -12.666 1.778 -6.312 -0.996 -4.154 D 64 62 3 65 3 -6.174 -1.687 -0.566 IL 65 65 3 65 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 22 ] ML 66 65 3 68 3 -14.012 -0.000 -12.666 0.495 -7.283 1.268 -2.501 D 67 65 3 68 3 -6.174 -1.687 -0.566 IL 68 68 3 68 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 23 ] ML 69 68 3 71 3 -14.012 -0.000 -12.666 1.008 0.156 -0.487 -2.631 D 70 68 3 71 3 -6.174 -1.687 -0.566 IL 71 71 3 71 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 24 ] ML 72 71 3 74 3 -14.012 -0.000 -12.666 -0.212 -4.233 1.545 -2.604 D 73 71 3 74 3 -6.174 -1.687 -0.566 IL 74 74 3 74 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 25 ] ML 75 74 3 77 3 -14.012 -0.017 -6.409 -3.990 1.768 -1.650 -2.228 D 76 74 3 77 3 -6.174 -1.687 -0.566 IL 77 77 3 77 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 26 ] ML 78 77 3 80 3 -13.995 -0.000 -12.649 1.154 -3.089 0.613 -2.969 D 79 77 3 80 3 -9.193 -0.128 -3.584 IL 80 80 3 80 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 27 ] ML 81 80 3 83 3 -14.012 -0.000 -12.666 -0.462 0.948 -0.818 -0.362 D 82 80 3 83 3 -6.174 -1.687 -0.566 IL 83 83 3 83 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 28 ] ML 84 83 3 86 3 -14.012 -0.000 -12.666 -0.660 1.007 -1.254 -0.091 D 85 83 3 86 3 -6.174 -1.687 -0.566 IL 86 86 3 86 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 29 ] ML 87 86 3 89 3 -14.012 -0.000 -12.666 -0.595 -0.363 0.514 0.180 D 88 86 3 89 3 -6.174 -1.687 -0.566 IL 89 89 3 89 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 30 ] ML 90 89 3 92 3 -14.012 -0.000 -12.666 -3.824 -0.081 1.560 -4.819 D 91 89 3 92 3 -6.174 -1.687 -0.566 IL 92 92 3 92 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 31 ] ML 93 92 3 95 3 -14.012 -0.000 -12.666 0.588 0.514 -0.671 -1.181 D 94 92 3 95 3 -6.174 -1.687 -0.566 IL 95 95 3 95 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 32 ] ML 96 95 3 98 3 -14.012 -0.000 -12.666 -3.533 1.448 -7.551 0.238 D 97 95 3 98 3 -6.174 -1.687 -0.566 IL 98 98 3 98 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 33 ] ML 99 98 3 101 3 -14.012 -0.000 -12.666 -8.939 -9.084 -9.393 1.998 D 100 98 3 101 3 -6.174 -1.687 -0.566 IL 101 101 3 101 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 34 ] ML 102 101 3 104 3 -14.012 -0.000 -12.666 -2.883 -0.034 0.578 0.481 D 103 101 3 104 3 -6.174 -1.687 -0.566 IL 104 104 3 104 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 35 ] ML 105 104 3 107 3 -14.012 -0.000 -12.666 0.183 -0.085 -0.221 0.089 D 106 104 3 107 3 -6.174 -1.687 -0.566 IL 107 107 3 107 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 36 ] ML 108 107 3 110 3 -14.012 -0.000 -12.666 0.178 -0.228 -0.328 0.285 D 109 107 3 110 3 -6.174 -1.687 -0.566 IL 110 110 3 110 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 37 ] ML 111 110 3 113 3 -14.012 -0.000 -12.666 1.722 -9.712 -0.516 -9.399 D 112 110 3 113 3 -6.174 -1.687 -0.566 IL 113 113 3 113 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 38 ] ML 114 113 3 116 3 -14.012 -0.000 -12.666 1.516 -0.515 -5.325 -1.267 D 115 113 3 116 3 -6.174 -1.687 -0.566 IL 116 116 3 116 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 39 ] ML 117 116 3 119 3 -14.012 -0.000 -12.666 -1.242 -0.648 0.530 0.581 D 118 116 3 119 3 -6.174 -1.687 -0.566 IL 119 119 3 119 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 40 ] ML 120 119 3 122 3 -14.012 -0.000 -12.666 -7.294 1.520 -0.061 -2.575 D 121 119 3 122 3 -6.174 -1.687 -0.566 IL 122 122 3 122 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 41 ] ML 123 122 3 125 3 -14.012 -0.000 -12.666 0.203 0.502 -0.368 -0.603 D 124 122 3 125 3 -6.174 -1.687 -0.566 IL 125 125 3 125 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 42 ] ML 126 125 3 128 3 -14.012 -0.000 -12.666 -0.230 -1.753 1.041 -0.333 D 127 125 3 128 3 -6.174 -1.687 -0.566 IL 128 128 3 128 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 43 ] ML 129 128 3 131 3 -14.012 -0.000 -12.666 -0.471 -1.613 0.970 -0.011 D 130 128 3 131 3 -6.174 -1.687 -0.566 IL 131 131 3 131 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 44 ] ML 132 131 3 134 3 -14.012 -0.347 -2.226 0.255 -0.169 -0.179 0.048 D 133 131 3 134 3 -6.174 -1.687 -0.566 IL 134 134 3 134 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 45 ] ML 135 134 3 137 3 -5.759 -4.024 -0.120 -0.282 -3.163 1.294 -0.705 D 136 134 3 137 3 -13.215 -0.008 -7.607 IL 137 137 3 137 3 -3.129 -0.204 -5.829 0.000 0.000 0.000 0.000 [ MATL 46 ] ML 138 137 3 140 3 -12.158 -0.029 -5.654 -0.068 -1.916 1.228 -1.187 D 139 137 3 140 3 -14.967 -10.480 -0.001 IL 140 140 3 140 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 47 ] ML 141 140 3 143 3 -12.130 -0.030 -5.608 -1.425 0.318 0.352 0.144 D 142 140 3 143 3 -14.977 -10.490 -0.001 IL 143 143 3 143 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 48 ] ML 144 143 3 146 3 -12.101 -0.481 -1.820 -1.125 0.931 -0.271 -0.312 D 145 143 3 146 3 -14.988 -10.501 -0.001 IL 146 146 3 146 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 49 ] ML 147 146 3 149 3 -11.622 -0.623 -1.513 -0.750 0.772 0.093 -0.664 D 148 146 3 149 3 -15.128 -10.641 -0.001 IL 149 149 3 149 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 50 ] ML 150 149 3 152 3 -11.001 -0.615 -1.529 -0.778 -1.016 1.291 -1.072 D 151 149 3 152 3 -15.242 -10.755 -0.001 IL 152 152 3 152 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 51 ] ML 153 152 3 155 3 -10.390 -1.083 -0.923 -0.617 -0.560 0.837 -0.179 D 154 152 3 155 3 -15.311 -10.824 -0.001 IL 155 155 3 155 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 52 ] ML 156 155 3 158 3 -9.315 -0.008 -7.969 -1.416 0.193 -2.236 1.183 D 157 155 3 158 3 -15.376 -2.046 -0.400 IL 158 158 3 158 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 53 ] ML 159 158 3 161 3 -12.130 -0.001 -10.784 -1.552 -1.933 0.893 0.623 D 160 158 3 161 3 -14.977 -10.490 -0.001 IL 161 161 3 161 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 54 ] ML 162 161 3 164 3 -12.130 -0.001 -10.784 -0.009 -0.075 -3.569 0.980 D 163 161 3 164 3 -14.977 -10.490 -0.001 IL 164 164 3 164 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 55 ] ML 165 164 3 167 3 -4.478 -0.309 -2.759 1.306 -0.395 -2.943 -0.652 D 166 164 3 167 3 -14.977 -10.490 -0.001 IL 167 167 3 167 3 -2.958 -0.232 -5.659 0.000 0.000 0.000 0.000 [ MATL 56 ] ML 168 167 3 170 3 -1.768 -4.343 -0.606 0.963 -0.810 -0.300 -0.582 D 169 167 3 170 3 -15.054 -10.567 -0.001 IL 170 170 3 170 3 -4.956 -1.278 -0.848 0.000 0.000 0.000 0.000 [ MATL 57 ] ML 171 170 3 173 3 -9.315 -0.008 -7.969 0.011 -2.096 1.092 -0.676 D 172 170 3 173 3 -15.376 -4.479 -0.066 IL 173 173 3 173 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 58 ] ML 174 173 3 176 3 -10.390 -0.004 -9.044 -1.125 0.661 0.378 -0.598 D 175 173 3 176 3 -15.311 -4.409 -0.070 IL 176 176 3 176 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 59 ] ML 177 176 3 179 3 -11.001 -0.002 -9.655 -1.259 0.839 -1.192 0.438 D 178 176 3 179 3 -15.242 -3.707 -0.115 IL 179 179 3 179 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 60 ] ML 180 179 3 182 3 -11.622 -0.002 -10.276 -0.552 0.104 0.819 -1.061 D 181 179 3 182 3 -15.128 -3.421 -0.141 IL 182 182 3 182 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 61 ] ML 183 182 3 185 3 -12.101 -0.001 -10.755 -1.133 -0.519 1.185 -0.806 D 184 182 3 185 3 -14.988 -6.958 -0.012 IL 185 185 3 185 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 62 ] ML 186 185 3 188 3 -12.130 -0.001 -10.784 0.145 0.288 0.381 -1.430 D 187 185 3 188 3 -14.977 -10.490 -0.001 IL 188 188 3 188 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 63 ] ML 189 188 3 191 3 -12.130 -0.573 -1.609 -1.703 0.654 -0.301 0.387 D 190 188 3 191 3 -14.977 -0.002 -9.369 IL 191 191 3 191 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 64 ] ML 192 191 3 194 3 -0.527 -1.710 -12.532 -1.166 -3.477 1.564 -0.980 D 193 191 3 194 3 -11.963 -0.018 -6.355 IL 194 194 3 194 3 -8.059 -0.006 -10.759 0.000 0.000 0.000 0.000 [ MATL 65 ] ML 195 194 3 197 3 -14.012 -0.000 -12.666 -4.810 1.566 -3.513 -0.127 D 196 194 3 197 3 -6.174 -1.687 -0.566 IL 197 197 3 197 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 66 ] ML 198 197 3 200 3 -14.012 -0.000 -12.666 -0.392 -1.681 1.513 -3.788 D 199 197 3 200 3 -6.174 -1.687 -0.566 IL 200 200 3 200 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 67 ] ML 201 200 3 203 3 -14.012 -0.000 -12.666 -0.577 0.585 0.144 -0.465 D 202 200 3 203 3 -6.174 -1.687 -0.566 IL 203 203 3 203 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 68 ] ML 204 203 3 206 3 -14.012 -0.000 -12.666 -0.179 -0.131 0.789 -1.071 D 205 203 3 206 3 -6.174 -1.687 -0.566 IL 206 206 3 206 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 69 ] ML 207 206 3 209 3 -14.012 -0.000 -12.666 -0.865 -5.525 1.774 -6.634 D 208 206 3 209 3 -6.174 -1.687 -0.566 IL 209 209 3 209 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 70 ] ML 210 209 3 212 3 -14.012 -0.000 -12.666 -4.940 -9.009 1.986 -8.371 D 211 209 3 212 3 -6.174 -1.687 -0.566 IL 212 212 3 212 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 71 ] ML 213 212 3 215 3 -14.012 -0.002 -9.561 -8.939 -9.084 -9.393 1.998 D 214 212 3 215 3 -6.174 -1.687 -0.566 IL 215 215 3 215 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 72 ] ML 216 215 3 218 3 -14.010 -0.000 -12.664 -8.937 -9.081 -9.390 1.998 D 217 215 3 218 3 -6.953 -0.742 -1.344 IL 218 218 3 218 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 73 ] ML 219 218 3 221 3 -14.012 -0.000 -12.666 -9.158 1.998 -9.627 -9.349 D 220 218 3 221 3 -6.174 -1.687 -0.566 IL 221 221 3 221 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 74 ] ML 222 221 3 224 3 -14.012 -0.000 -12.666 0.321 -8.969 1.457 -8.325 D 223 221 3 224 3 -6.174 -1.687 -0.566 IL 224 224 3 224 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 75 ] ML 225 224 3 227 3 -14.012 -0.002 -9.561 1.997 -8.633 -8.089 -8.568 D 226 224 3 227 3 -6.174 -1.687 -0.566 IL 227 227 3 227 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 76 ] ML 228 227 3 230 3 -14.010 -0.013 -6.815 0.625 -2.188 0.582 -0.432 D 229 227 3 230 3 -6.953 -0.742 -1.344 IL 230 230 3 230 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 77 ] ML 231 230 3 233 3 -13.999 -0.000 -12.653 -5.368 -0.963 -7.616 1.790 D 232 230 3 233 3 -8.837 -0.166 -3.228 IL 233 233 3 233 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 78 ] ML 234 233 3 236 3 -14.012 -0.000 -12.666 -6.839 1.969 -5.804 -4.065 D 235 233 3 236 3 -6.174 -1.687 -0.566 IL 236 236 3 236 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 79 ] ML 237 236 3 239 3 -14.012 -0.000 -12.666 -6.827 1.786 -5.646 -0.936 D 238 236 3 239 3 -6.174 -1.687 -0.566 IL 239 239 3 239 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 80 ] ML 240 239 3 242 3 -14.012 -0.000 -12.666 -1.244 0.637 -0.073 0.101 D 241 239 3 242 3 -6.174 -1.687 -0.566 IL 242 242 3 242 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 81 ] ML 243 242 3 245 3 -14.012 -0.000 -12.666 -1.057 -0.352 0.768 0.047 D 244 242 3 245 3 -6.174 -1.687 -0.566 IL 245 245 3 245 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 82 ] ML 246 245 3 248 3 -14.012 -0.000 -12.666 -3.868 0.774 -1.607 0.921 D 247 245 3 248 3 -6.174 -1.687 -0.566 IL 248 248 3 248 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 83 ] ML 249 248 3 251 3 -14.012 -0.000 -12.666 -0.210 0.752 -2.586 0.362 D 250 248 3 251 3 -6.174 -1.687 -0.566 IL 251 251 3 251 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 84 ] ML 252 251 3 254 3 -14.012 -0.000 -12.666 0.041 0.034 0.108 -0.202 D 253 251 3 254 3 -6.174 -1.687 -0.566 IL 254 254 3 254 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 85 ] ML 255 254 3 257 3 -14.012 -0.000 -12.666 -2.431 0.491 0.458 0.050 D 256 254 3 257 3 -6.174 -1.687 -0.566 IL 257 257 3 257 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 86 ] ML 258 257 3 260 3 -14.012 -0.000 -12.666 -1.076 0.939 0.318 -1.466 D 259 257 3 260 3 -6.174 -1.687 -0.566 IL 260 260 3 260 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 87 ] ML 261 260 3 263 3 -14.012 -0.000 -12.666 -1.376 0.490 0.441 -0.230 D 262 260 3 263 3 -6.174 -1.687 -0.566 IL 263 263 3 263 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 88 ] ML 264 263 3 266 3 -14.012 -0.000 -12.666 -2.471 1.051 0.590 -2.043 D 265 263 3 266 3 -6.174 -1.687 -0.566 IL 266 266 3 266 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 89 ] ML 267 266 3 269 3 -6.360 -0.037 -6.213 -1.614 1.560 -1.917 -1.121 D 268 266 3 269 3 -6.174 -1.687 -0.566 IL 269 269 3 269 3 -2.958 -0.232 -5.659 0.000 0.000 0.000 0.000 [ MATL 90 ] ML 270 269 3 272 3 -13.993 -0.264 -2.580 1.183 -2.858 0.062 -0.868 D 271 269 3 272 3 -9.368 -4.881 -0.052 IL 272 272 3 272 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 91 ] ML 273 272 3 275 3 -13.729 -0.000 -12.383 -8.745 1.998 -9.265 -8.847 D 274 272 3 275 3 -12.955 -8.468 -0.004 IL 275 275 3 275 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 92 ] ML 276 275 3 278 3 -13.729 -0.000 -12.383 -8.745 1.998 -9.265 -8.847 D 277 275 3 278 3 -12.955 -8.468 -0.004 IL 278 278 3 278 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 93 ] ML 279 278 3 281 2 * 0.000 1.996 -8.236 -7.705 -8.011 D 280 278 3 281 2 * 0.000 IL 281 281 3 281 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 94 ] E 282 281 3 -1 0 // tRNAscan-SE-1.3.1/model.c0000644000543100001440000005126511021467304013755 0ustar pchanusers/* model.c * Allocation, initialization, free'ing of models. * * Includes code supporting both original node-based CM structure, as well * as the modified, state-based CM structure used by the newer alignment * implementations. * * SRE, Tue Sep 7 09:22:03 1993 * */ #include #include #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif static void fill_state(struct istate_s *st, int nodeidx, int statetype, int offset); static void copy_singlet_emissions(struct istate_s *st, double *emvec, double *rfreq); static void copy_pairwise_emissions(struct istate_s *st, double *em, double *rfreq); static void copy_state_transitions(struct istate_s *st, double *tvec, int tflags); static void copy_pstate_transitions(struct pstate_s *st, double *tvec, int tflags); static void fill_pstate(struct pstate_s *st, int nodeidx, int statetype, int offset); /* Function: AllocCM() * * Purpose: Allocate for a model containing some number of nodes, * inclusive of root but exclusive of ENDs. Blank the model. * * Args: nodes - number of nodes to allocate for * * Return: pointer to the new model. Caller must free, with FreeCM() */ struct cm_s * AllocCM(int nodes) { struct cm_s *cm; int k; if ((cm = (struct cm_s *) malloc (sizeof(struct cm_s))) == NULL) Die("malloc failed"); cm->nodes = nodes; if ((cm->nd = (struct node_s *) malloc (nodes * sizeof(struct node_s))) == NULL) Die("malloc failed"); /* fast way to wipe everything to zero */ memset(cm->nd, 0, (nodes * sizeof(struct node_s))); /* set all the topology connections to -1 */ for (k = 0; k < nodes; k++) cm->nd[k].nxt = cm->nd[k].nxt2 = -1; return cm; } /* Function: FreeCM() * * Purpose: Free memory allocated to a covariance model. * * Return: (void) */ void FreeCM(struct cm_s *cm) { free(cm->nd); free(cm); } /* Function: NormalizeCM() * * Purpose: Normalize all the probability distributions in a model. * Only normalizes the meaningful ones: i.e., matr_emit * emission statistics are ignored for MATL_NODEs, etc. * * Return: (void) */ void NormalizeCM(struct cm_s *cm) { int k; /* counter over nodes */ int fy; /* from statetype, to statetype */ for (k = 0; k < cm->nodes; k++) { for (fy = 0; fy < STATETYPES; fy++) DNorm(cm->nd[k].tmx[fy], STATETYPES); /* state transitions */ DNorm((double *) cm->nd[k].mp_emit, ALPHASIZE * ALPHASIZE); /* MATP emissions */ DNorm(cm->nd[k].ml_emit, ALPHASIZE); /* MATL emissions */ DNorm(cm->nd[k].mr_emit, ALPHASIZE); /* MATR emissions */ DNorm(cm->nd[k].il_emit, ALPHASIZE); /* INSL emissions */ DNorm(cm->nd[k].ir_emit, ALPHASIZE); /* INSR emissions */ } } /* Function: VerifyCM() * * Purpose: Have a look at a CM and make sure nothing stupid * is wrong with it. Returns 0 if something's wrong * and writes diagnostics to stderr. Returns 1 if * everything looks OK. */ int VerifyCM(struct cm_s *cm) { int status = 1; int k; /* counter over nodes */ for (k = 0; k < cm->nodes; k++) { if (cm->nd[k].type < 0 || cm->nd[k].type >= NODETYPES) { status = 0; fprintf(stderr, "Node %d has invalid type %d\n", k, cm->nd[k].type); } if ((cm->nd[k].nxt <= k && cm->nd[k].nxt != -1) || (cm->nd[k].nxt >= cm->nodes)) { status = 0; fprintf(stderr, "Node %d points to invalid left child %d\n", k, cm->nd[k].nxt); } if ((cm->nd[k].nxt2 <= k && cm->nd[k].nxt2 != -1) || (cm->nd[k].nxt2 >= cm->nodes)) { status = 0; fprintf(stderr, "Node %d points to invalid right child %d\n", k, cm->nd[k].nxt2); } } return status; } /* Function: RearrangeCM() * * Purpose: Convert a cm into an "integer cm", a specialized structure * used only in the alignment algorithms. * * The integer CM is an array of istate_s structures; i.e., rather * than a node-oriented form, a state-oriented form. Rearrange * transition tables to optimize the recursion in recurse_mx(). * * The node is expanded into states in proper order (uDEL_ST, * uMATP_ST, uMATL_ST, uMATR_ST, uINSL_ST, uINSR_ST). However, the * state transition vectors are rearranged such that INSL, INSR * are the first elements. * * Insert states are explicitly assumed to have a zero emission * score! * * Args: cm - a covariance model, probability form * rfreq - frequencies to use as a random model (expected background) * ret_icm - RETURN: array of istate_s structures for states * in model. Contains a state 0 for the root; * does not contain anything for the end * ret_statenum - number of states in ret_icm, 0..statenum-1 * * Return: 1 on success, 0 on failure. * ret_icm is malloc'ed here and must be free'ed by caller; * use free(*ret_icm). */ int RearrangeCM(struct cm_s *cm, double *rfreq, struct istate_s **ret_icm, int *ret_statenum) { struct istate_s *icm; /* new int-lod states-based model */ struct istate_s *smallicm; /* streamlined (realloc'ed) icm */ struct m2ali_s *bifstack; /* pda for deferring bifurc connection assignment */ int bifidx; /* state index of a BEGINR's parent bifurc */ int k; /* counter for nodes */ int y; /* counter for states */ int tflags; /* flags for which to state transitions are used */ int fflags; /* flags for which from state transitions are used */ int offset; /* offset to next connected state */ /* We know we can fit the new model into cm->nodes * STATETYPES * states. We'll give back the excess memory later. */ if ((icm = (struct istate_s *) calloc ((cm->nodes * STATETYPES), sizeof(struct istate_s))) == NULL) return 0; bifstack = Init_m2ali(); y = 0; for (k = 0; k < cm->nodes; k++) { /* figure out what we're connected to */ if (cm->nd[k].nxt == -1) tflags = uEND_ST; else { switch (cm->nd[cm->nd[k].nxt].type) { case BIFURC_NODE: tflags = uBIFURC_ST; break; case MATP_NODE: tflags = uDEL_ST | uMATP_ST | uMATR_ST | uMATL_ST; break; case MATL_NODE: tflags = uDEL_ST | uMATL_ST; break; case MATR_NODE: tflags = uDEL_ST | uMATR_ST; break; case BEGINL_NODE: case BEGINR_NODE: tflags = uBEGIN_ST; break; default: Die("no such node type %d", cm->nd[cm->nd[k].nxt].type); } } /* figure out what we're coming from */ switch (cm->nd[k].type) { case BIFURC_NODE: fflags = uBIFURC_ST; offset = 1; break; case MATP_NODE: fflags = uDEL_ST | uMATP_ST | uMATL_ST | uMATR_ST | uINSL_ST | uINSR_ST; tflags |= uINSL_ST | uINSR_ST; offset = 4; break; case MATL_NODE: fflags = uDEL_ST | uMATL_ST | uINSL_ST; tflags |= uINSL_ST; offset = 2; break; case MATR_NODE: fflags = uDEL_ST | uMATR_ST | uINSR_ST; tflags |= uINSR_ST; offset = 2; break; case BEGINL_NODE: fflags = uBEGIN_ST; offset = 1; break; case BEGINR_NODE: fflags = uBEGIN_ST | uINSL_ST; offset = 1; tflags |= uINSL_ST; break; case ROOT_NODE: fflags = uBEGIN_ST | uINSL_ST | uINSR_ST; offset = 1; tflags |= uINSL_ST | uINSR_ST; break; default: Die("No such node type %d\n", cm->nd[k].type); } if (fflags & uDEL_ST) { fill_state(&icm[y], k, uDEL_ST, offset); copy_state_transitions(&icm[y], cm->nd[k].tmx[DEL_ST], tflags); offset--; y++; } else if (fflags & uBIFURC_ST) { fill_state(&icm[y], k, uBIFURC_ST, offset); /* A hack. tmx[0] gets the state index of the left connected BEGIN * child; tmx[1] gets the right connected BEGIN child. The left * child is guaranteed to be the next state, but the assignment * of the right state must be deferred: we push the bifurc state index * into a pda */ icm[y].tmx[0] = y+1; Push_m2ali(bifstack, y, 0, NULL); y++; } else if (fflags & uBEGIN_ST) { fill_state(&icm[y], k, uBEGIN_ST, offset); copy_state_transitions(&icm[y], cm->nd[k].tmx[DEL_ST], tflags); /* continuation of the above commentary. If we're a right BEGIN_ST, * then we pop the state index of our parent bifurc off the pda */ if (cm->nd[k].type == BEGINR_NODE) { Pop_m2ali(bifstack, &bifidx, (int *) NULL, (struct align_s **) NULL); icm[bifidx].tmx[1] = y; } offset--; y++; } if (fflags & uMATP_ST) { fill_state(&icm[y], k, uMATP_ST, offset); copy_pairwise_emissions(&icm[y], (double *) cm->nd[k].mp_emit, rfreq); copy_state_transitions(&icm[y], cm->nd[k].tmx[MATP_ST], tflags); offset--; y++; } if (fflags & uMATL_ST) { fill_state(&icm[y], k, uMATL_ST, offset); copy_singlet_emissions(&icm[y], cm->nd[k].ml_emit, rfreq); copy_state_transitions(&icm[y], cm->nd[k].tmx[MATL_ST], tflags); offset--; y++; } if (fflags & uMATR_ST) { fill_state(&icm[y], k, uMATR_ST, offset); copy_singlet_emissions(&icm[y], cm->nd[k].mr_emit, rfreq); copy_state_transitions(&icm[y], cm->nd[k].tmx[MATR_ST], tflags); offset--; y++; } if (fflags & uINSL_ST) { fill_state(&icm[y], k, uINSL_ST, 0); copy_singlet_emissions(&icm[y], cm->nd[k].il_emit, rfreq); copy_state_transitions(&icm[y], cm->nd[k].tmx[INSL_ST], tflags); y++; } if (fflags & uINSR_ST) { /* beware an asymmetry: INSR->INSL transits are disallowed */ fill_state(&icm[y], k, uINSR_ST, 0); copy_singlet_emissions(&icm[y], cm->nd[k].ir_emit, rfreq); copy_state_transitions(&icm[y], cm->nd[k].tmx[INSR_ST], tflags & ~uINSL_ST); y++; } /* End states must be added */ if (cm->nd[k].nxt == -1) { fill_state(&icm[y], -1, uEND_ST, 0); y++; } } /* end loop over nodes */ Free_m2ali(bifstack); /* Return some of the alloc'ed memory */ smallicm = (struct istate_s *) realloc (icm, y * sizeof(struct istate_s)); *ret_icm = (smallicm != NULL) ? smallicm : icm; *ret_statenum = y; return 1; } /* Function: fill_state() * * Purpose: fill in values in a state: node index, state type unique * identifier, offset to first of the next states, and number * of ynext connections. * * transition and emission probabilities are dealt with * elsewhere. * */ static void fill_state(struct istate_s *st, int nodeidx, int statetype, int offset) { st->nodeidx = nodeidx; st->statetype = statetype; st->offset = offset; } /* Function: copy_singlet_emissions() * * Purpose: Copy a singlet emission vector into a state structure, * converting the probabilities into integer log odds. */ static void copy_singlet_emissions(struct istate_s *st, double *emvec, double *rfreq) { int x; for (x = 0; x < ALPHASIZE; x++) st->emit[x] = ILOG2(emvec[x] / rfreq[x]); } /* Function: copy_pairwise_emissions() * * Purpose: Copy a pairwise emission table into a state structure, * converting the probabilities into integer log odds. * Beware the funny business with the pairwise emission * array; it was mp_emit[4][4], now cast to a pointer, * and accessed like a vector. */ static void copy_pairwise_emissions(struct istate_s *st, double *em, double *rfreq) { int x; for (x = 0; x < ALPHASIZE * ALPHASIZE; x++) st->emit[x] = ILOG2(em[x] / (rfreq[x % ALPHASIZE] * rfreq[x / ALPHASIZE])); } /* Function: copy_state_transitions() * * Purpose: Copy a state transition vector from a CM into a state * structure, copying only the used state transitions * as given by tflags. The state transition vector is * rearranged for an optimization: transits to INSL, INSR * are placed first. */ static void copy_state_transitions(struct istate_s *st, double *tvec, int tflags) { int stx; /* counter for state vector */ stx = 0; if (tflags & uINSL_ST) { st->tmx[stx] = ILOG2(tvec[INSL_ST]); stx++; } if (tflags & uINSR_ST) { st->tmx[stx] = ILOG2(tvec[INSR_ST]); stx++; } if (tflags & uDEL_ST || tflags & uBIFURC_ST || tflags & uBEGIN_ST || tflags & uEND_ST) { st->tmx[stx] = ILOG2(tvec[DEL_ST]); stx++; } if (tflags & uMATP_ST) { st->tmx[stx] = ILOG2(tvec[MATP_ST]); stx++; } if (tflags & uMATL_ST) { st->tmx[stx] = ILOG2(tvec[MATL_ST]); stx++; } if (tflags & uMATR_ST) { st->tmx[stx] = ILOG2(tvec[MATR_ST]); stx++; } st->connectnum = stx; } /* Function: MakePCM() * * Purpose: Like RearrangeCM(), but leaving the model * in floating-point probabilities in struct pstate_s * structures. * * Args: cm - a covariance model, probability form * ret_pcm - RETURN: array of pstate_s structures for states * in model. Contains a state 0 for the root. * end states are explicit. * ret_statenum - number of states in ret_pcm, 0..statenum-1 * * Return: 1 on success, 0 on failure. * ret_pcm is malloc'ed here and must be free'ed by caller; * use free(*ret_pcm). */ int MakePCM(struct cm_s *cm, struct pstate_s **ret_pcm, int *ret_statenum) { struct pstate_s *pcm; /* new states-based model */ struct pstate_s *smallpcm; /* streamlined (realloc'ed) pcm */ struct intstack_s *bifstack; /* pda for deferring bifurc connection assignment */ int bifidx; /* state index of a BEGINR's parent bifurc */ int k; /* counter for nodes */ int y; /* counter for states */ int tflags; /* flags for which to state transitions are used */ int fflags; /* flags for which from state transitions are used */ int offset; /* offset to next connected state */ /* We know we can fit the new model into cm->nodes * STATETYPES * states. We'll give back the excess memory later. */ if ((pcm = (struct pstate_s *) calloc ((cm->nodes * STATETYPES), sizeof(struct pstate_s))) == NULL) return 0; bifstack = InitIntStack(); y = 0; for (k = 0; k < cm->nodes; k++) { /* figure out what we're connected to */ if (cm->nd[k].nxt == -1) tflags = uEND_ST; else { switch (cm->nd[cm->nd[k].nxt].type) { case BIFURC_NODE: tflags = uBIFURC_ST; break; case MATP_NODE: tflags = uDEL_ST | uMATP_ST | uMATR_ST | uMATL_ST; break; case MATL_NODE: tflags = uDEL_ST | uMATL_ST; break; case MATR_NODE: tflags = uDEL_ST | uMATR_ST; break; case BEGINL_NODE: tflags = uBEGIN_ST; break; case BEGINR_NODE: tflags = uBEGIN_ST; break; default: Die("no such node type %d", cm->nd[cm->nd[k].nxt].type); } } /* figure out what we're coming from */ switch (cm->nd[k].type) { case BIFURC_NODE: fflags = uBIFURC_ST; offset = 1; break; case MATP_NODE: fflags = uDEL_ST | uMATP_ST | uMATL_ST | uMATR_ST | uINSL_ST | uINSR_ST; tflags |= uINSL_ST | uINSR_ST; offset = 4; break; case MATL_NODE: fflags = uDEL_ST | uMATL_ST | uINSL_ST; tflags |= uINSL_ST; offset = 2; break; case MATR_NODE: fflags = uDEL_ST | uMATR_ST | uINSR_ST; tflags |= uINSR_ST; offset = 2; break; case BEGINL_NODE: fflags = uBEGIN_ST; offset = 1; break; case BEGINR_NODE: fflags = uBEGIN_ST | uINSL_ST; offset = 1; tflags |= uINSL_ST; break; case ROOT_NODE: fflags = uBEGIN_ST | uINSL_ST | uINSR_ST; offset = 1; tflags |= uINSL_ST | uINSR_ST; break; default: Die("No such node type %d\n", cm->nd[k].type); } if (fflags & uDEL_ST) { fill_pstate(&pcm[y], k, uDEL_ST, offset); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[DEL_ST], tflags); offset--; y++; } else if (fflags & uBIFURC_ST) { fill_pstate(&pcm[y], k, uBIFURC_ST, offset); /* We defer the assignment of bifr */ PushIntStack(bifstack, y); y++; } else if (fflags & uBEGIN_ST) { fill_pstate(&pcm[y], k, uBEGIN_ST, offset); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[DEL_ST], tflags); /* continuation of the above commentary. If we're a right BEGIN_ST, * then we pop the state index of our parent bifurc off the pda */ if (cm->nd[k].type == BEGINR_NODE) { PopIntStack(bifstack, &bifidx); pcm[bifidx].bifr = y; } offset--; y++; } if (fflags & uMATP_ST) { fill_pstate(&pcm[y], k, uMATP_ST, offset); memcpy(pcm[y].emit, cm->nd[k].mp_emit, sizeof(double) * ALPHASIZE * ALPHASIZE); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATP_ST], tflags); offset--; y++; } if (fflags & uMATL_ST) { fill_pstate(&pcm[y], k, uMATL_ST, offset); memcpy(pcm[y].emit, cm->nd[k].ml_emit, sizeof(double) * ALPHASIZE); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATL_ST], tflags); offset--; y++; } if (fflags & uMATR_ST) { fill_pstate(&pcm[y], k, uMATR_ST, offset); memcpy(pcm[y].emit, cm->nd[k].mr_emit, sizeof(double) * ALPHASIZE); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATR_ST], tflags); offset--; y++; } if (fflags & uINSL_ST) { fill_pstate(&pcm[y], k, uINSL_ST, 0); memcpy(pcm[y].emit, cm->nd[k].il_emit, sizeof(double) * ALPHASIZE); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[INSL_ST], tflags); y++; } if (fflags & uINSR_ST) { /* beware an asymmetry: INSR->INSL transits are disallowed */ fill_pstate(&pcm[y], k, uINSR_ST, 0); memcpy(pcm[y].emit, cm->nd[k].ir_emit, sizeof(double) * ALPHASIZE); copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[INSR_ST], tflags & ~uINSL_ST); y++; } /* End states must be added */ if (cm->nd[k].nxt == -1) { fill_pstate(&pcm[y], -1, uEND_ST, 0); y++; } } /* end loop over nodes */ FreeIntStack(bifstack); /* Return some of the alloc'ed memory */ smallpcm = (struct pstate_s *) realloc (pcm, y * sizeof(struct pstate_s)); *ret_pcm = (smallpcm != NULL) ? smallpcm : pcm; *ret_statenum = y; return 1; } /* Function: copy_pstate_transitions() * * Purpose: Copy a state transition vector from a CM into a state * structure, copying only the used state transitions * as given by tflags. The state transition vector is * rearranged for an optimization: transits to INSL, INSR * are placed first. */ static void copy_pstate_transitions(struct pstate_s *st, double *tvec, int tflags) { int stx; /* counter for state vector */ stx = 0; if (tflags & uINSL_ST) { st->tmx[stx] = tvec[INSL_ST]; stx++; } if (tflags & uINSR_ST) { st->tmx[stx] = tvec[INSR_ST]; stx++; } if (tflags & uDEL_ST || tflags & uBIFURC_ST || tflags & uBEGIN_ST || tflags & uEND_ST) { st->tmx[stx] = tvec[DEL_ST]; stx++; } if (tflags & uMATP_ST) { st->tmx[stx] = tvec[MATP_ST]; stx++; } if (tflags & uMATL_ST) { st->tmx[stx] = tvec[MATL_ST]; stx++; } if (tflags & uMATR_ST) { st->tmx[stx] = tvec[MATR_ST]; stx++; } st->connectnum = stx; } /* Function: fill_pstate() * * Purpose: fill in values in a state: node index, state type unique * identifier, offset to first of the next states. * * transition and emission probabilities are dealt with * elsewhere. * */ static void fill_pstate(struct pstate_s *st, int nodeidx, int statetype, int offset) { st->nodeidx = nodeidx; st->statetype = statetype; st->offset = offset; } /* Function: NormalizePCM() * * Purpose: Make damn sure a probability-form, states-based CM is * properly normalized. Workaround for a bug! */ void NormalizePCM(struct pstate_s *pcm, int M) { int y; for (y = 0; y < M; y++) { /* emission distributions */ switch (pcm[y].statetype) { case uMATP_ST: DNorm(pcm[y].emit, ALPHASIZE * ALPHASIZE); break; case uMATL_ST: case uMATR_ST: case uINSL_ST: case uINSR_ST: DNorm(pcm[y].emit, ALPHASIZE); break; } /* transition distributions */ if (pcm[y].statetype != uBIFURC_ST) DNorm(pcm[y].tmx, pcm[y].connectnum); } } tRNAscan-SE-1.3.1/align.c0000644000543100001440000003517611021467303013751 0ustar pchanusers/* align.c * SRE, Tue Jun 29 14:05:48 1993 * 2.0: Thu Sep 30 14:43:05 1993 * * Code for producing a multiple sequence alignment from tracebacks. * * */ #include #include #include #include #include "squid.h" #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif /* Function: create_master() * * Purpose: Produce a "master copy" of the linear order in * which a model's states produce a sequence. Used * for reference during alignment construction. * * This linked list is created with Init_align() * and must be free'd by Free_align(). Each structure * in the list represents a possible emission from * a match state, and contains the index of the responsible * state. The sym field is used as an internal flag * (temporary dummy structures are used for bifurc's, and * flagged in the sym field for later removal). The * pos and substate fields are not used or meaningful. ret_len * is the maximum number of symbols that can be * emitted by non-insert states. */ static int create_master(struct cm_s *cm, struct align_s **ret_master, int *ret_len) { struct m2ali_s *stack; /* stack used to traverse the model cv */ struct align_s *master; /* RETURN: maximal match emission alignment */ struct align_s *curr; int oldidx; int oldtype; struct align_s *oldafter; int newidx; int newtype; struct align_s *newafter; int len; /* Initialize the linked list of state order, master */ master = Init_align(); /* Initialize pushdown stack for traversing the model. */ stack = Init_m2ali(); newidx = (cm->nodes > 1) ? 1 : -1; newtype = uMATP_ST; /* assume 'worst' case, all nodes generate pairs */ Push_m2ali(stack, newidx, newtype, master); /* While there are still active nodes on the stack, pop one off * and deal with it. */ len = 0; while (Pop_m2ali(stack, &oldidx, &oldtype, &oldafter)) { if (oldidx == -1) continue; /* END */ if (cm->nd[oldidx].type == BIFURC_NODE) { /* deal with right branch. * Gotta insert a dummy temporarily */ newafter = Insafter_align(-1, '-', ' ', oldidx, uBIFURC_ST, oldafter); Push_m2ali(stack, cm->nd[oldidx].nxt2, uBEGIN_ST, newafter); len++; /* deal with left branch */ Push_m2ali(stack, cm->nd[oldidx].nxt, uBEGIN_ST, oldafter); } else if (cm->nd[oldidx].type == BEGINL_NODE || cm->nd[oldidx].type == BEGINL_NODE || cm->nd[oldidx].type == ROOT_NODE) { /* BEGIN's aren't reponsible for any MAT states */ Push_m2ali(stack, cm->nd[oldidx].nxt, uBEGIN_ST, oldafter); } else { (void) Insafter_align(-1, '.', ' ', oldidx, uMATP_ST, oldafter); newafter = Insafter_align(-1, '.', ' ', oldidx, uMATP_ST, oldafter); len += 2; Push_m2ali(stack, cm->nd[oldidx].nxt, uBEGIN_ST, newafter); } } /* Remove the temporary dummies used to BIFURC */ for (curr = master->nxt; curr->nxt != NULL; curr = curr->nxt) if (curr->nxt->sym == '-') { Delafter_align(curr); len--; } Free_m2ali(stack); *ret_len = len; *ret_master = master; #ifdef DEBUG /* print_align(master); */ #endif return 1; } /* Function: Trace2ali() * * Purpose: Given a traceback (tree-structure alignment of a model * to a sequence), construct a linear linked list representation * (align_s) of the sequence alignment to the model. * * Args: seq - 0..len-1 sequence to align * tr - traceback containing tree-wise alignment * watsoncrick - if TRUE, only canonical pairs get structure annotation * ret_ali - RETURN: linear list alignment */ int Trace2ali(char *seq, struct trace_s *tr, int watsoncrick, struct align_s **ret_ali) { struct align_s *ali; /* RETURN: linear list of alignment */ struct t2ali_s *stack; /* stack used to traverse the traceback tr */ struct trace_s *currtr; struct align_s *newafter; struct align_s *oldafter; struct align_s *curr; char ssl, ssr;/* symbols <.> for secondary structure rep. */ /* Initialize the linked list for the alignment of sequence to model */ ali = Init_align(); /* Initialize the pushdown stack for traversal of the traceback */ stack = Init_t2ali(); Push_t2ali(stack, tr, ali); while (Pop_t2ali(stack, &currtr, &oldafter)) { switch (currtr->type) { case END_ST: break; /* ignore END states */ case uBIFURC_ST: /* deal with right branch; insert a dummy */ newafter = Insafter_align(-1, '*', ' ', currtr->nodeidx, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtr, newafter); /* deal with left branch */ Push_t2ali(stack, currtr->nxtl, oldafter); break; case uBEGIN_ST: Push_t2ali(stack, currtr->nxtl, oldafter); break; case uDEL_ST: Insafter_align(-1, '-', '.', currtr->nodeidx, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, oldafter); break; case uMATP_ST: if (! watsoncrick || IsRNAComplement(seq[currtr->emitr], seq[currtr->emitl], TRUE)) { ssr = '<'; ssl = '>'; } else { ssr = '.'; ssl = '.'; } (void) Insafter_align(currtr->emitr, seq[currtr->emitr], ssr, currtr->nodeidx, currtr->type, oldafter); newafter = Insafter_align(currtr->emitl, seq[currtr->emitl], ssl, currtr->nodeidx, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, newafter); break; case uINSL_ST: case uMATL_ST: newafter = Insafter_align(currtr->emitl, seq[currtr->emitl], '.', currtr->nodeidx, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, newafter); break; case uINSR_ST: case uMATR_ST: (void) Insafter_align(currtr->emitr, seq[currtr->emitr], '.', currtr->nodeidx, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, oldafter); break; } } /* Remove the temporary dummies used to BIFURC */ for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt) if (curr->nxt->sym == '*') Delafter_align(curr); Free_t2ali(stack); *ret_ali = ali; #ifdef DEBUG /* print_align(ali); */ #endif return 1; } /* Function: Traces2Alignment() * * Purpose: Given a set of tracebacks for alignments of multiple sequences to * a model, construct a multiple sequence alignment. * * The tricky bit, which involves some precalculations, is allowing * the proper amount of space for insertions. */ int Traces2Alignment(char **rseqs, SQINFO *sqinfo, struct trace_s **tr, int nseq, struct cm_s *cm, int watsoncrick, /* TRUE to annotate only canonical pairs */ char ***ret_aseqs, AINFO *ainfo) { struct align_s *master; /* representation of how MAT columns map onto the model */ struct align_s **ali; /* array of align_s alignments of the sequences to model */ int *matuse; /* 0 if MAT column is never used, 1 otherwise, 1..len */ int *insuse; /* per sequence, count use of inserts between MAT columns; 0..len */ int *max_insuse; /* overall maxima, keep track of ins use between columns */ int *matpos; /* array of MAT column positions in the alignment, 1..len */ int len; /* length of master - maximum number of MAT columns */ int idx; /* counter for sequences */ struct align_s *currmaster; struct align_s *currali; int aseqlen; /* length of multiple sequence alignment */ char **aseqs; /* RETURN: multiple sequence alignment */ char **ss; /* secondary structures */ int apos; /* position in absolute alignment columns */ int matcol; /* position in MAT column coord arrays (matuse, matpos) */ /* First we use the model to calculate "master", which will define * the columns of the multiple sequence alignment (MAT-produced) and * represents how they map onto the model states. Only the stateidx field of * the align_s structures is meaningful. */ if (! create_master(cm, &master, &len)) return 0; /* Next we "invert" each traceback (from seq->model tree alignments * to model->seq linear alignments) and create an array "ali" of individual * alignments of the model to the sequences. */ if ((ali = (struct align_s **) malloc (nseq * sizeof(struct align_s *))) == NULL) { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; } for (idx = 0; idx < nseq; idx++) if (! Trace2ali(rseqs[idx], tr[idx], watsoncrick, &ali[idx])) return 0; /* Now we're ready to start counting MAT and INS use. * * For MAT use, all we're doing is determining whether a given * column in the master alignment is used or not (matuse[1..len] is * 1 if yes, 0 if no) * * For INS use, we are counting the maximum number of occurrences * of insert emissions between each MAT column of the master. max_insuse[0..len] * keeps these numbers. max_insuse[5] is the maximum number of inserted * symbols between columns 5 and 6, for example. Because there is * some redundancy in the model -- different INS states may emit in * the same place -- we have to first increment a counter array, insuse, * for each individual sequence. */ if (((matuse = (int *) calloc (len+1, sizeof(int))) == NULL) || ((insuse = (int *) calloc (len+1, sizeof(int))) == NULL) || ((max_insuse = (int *) calloc (len+1, sizeof(int))) == NULL) ) { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; } for (idx = 0; idx < nseq; idx++) { for (matcol = 0; matcol <= len; matcol++) insuse[matcol] = 0; matcol = 0; currmaster = master->nxt; for (currali = ali[idx]->nxt; currali != NULL; currali = currali->nxt) { switch (currali->type) { case uMATP_ST: case uMATR_ST: case uMATL_ST: case uDEL_ST: matcol++; while (currmaster->nodeidx != currali->nodeidx) { currmaster = currmaster->nxt; matcol++; } matuse[matcol] = 1; currmaster = currmaster->nxt; break; case uINSR_ST: case uINSL_ST: insuse[matcol]++; break; } } /* update max_insuse with new maxima, if any*/ for (matcol = 0; matcol <= len; matcol++) if (insuse[matcol] > max_insuse[matcol]) max_insuse[matcol] = insuse[matcol]; } /* calculate length of mult seq alignment, and alloc */ aseqlen = 0; for (matcol = 0; matcol <= len; matcol++) { if (matuse[matcol] == 1) aseqlen++; aseqlen += max_insuse[matcol]; } if ((aseqs = (char **) malloc (nseq * sizeof(char *))) == NULL || (ss = (char **) malloc (nseq * sizeof(char *))) == NULL) { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; } for (idx = 0; idx < nseq; idx++) if ((aseqs[idx] = (char *) malloc ((aseqlen+1) * sizeof(char))) == NULL || (ss[idx] = (char *) malloc ((aseqlen+1) * sizeof(char))) == NULL) { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; } /* Now we use matuse and max_insuse to calculate an array for the * coordinates of the MAT columns in the multiple alignment. */ if ((matpos = (int *) calloc (len+1 , sizeof(int))) == NULL) { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; } for (matcol = 1; matcol <= len; matcol++) matpos[matcol] = matpos[matcol-1] + max_insuse[matcol-1] + matuse[matcol-1]; /* And finally, we're ready to actually construct the multiple sequence * alignment. The resulting alignment is flushed-right with gaps. */ for (idx = 0; idx < nseq; idx++) { matcol = 0; apos = 0; currmaster = master; for (currali = ali[idx]->nxt; currali != NULL; currali = currali->nxt) { switch (currali->type) { case uMATP_ST: case uMATR_ST: case uMATL_ST: /* goes in a MAT column */ while (currmaster->nodeidx != currali->nodeidx) { currmaster = currmaster->nxt; matcol++; } for (; apos < matpos[matcol]; apos++) { aseqs[idx][apos] = '.'; ss[idx][apos] = ' '; } aseqs[idx][apos] = toupper((int)currali->sym); ss[idx][apos] = currali->ss; apos++; currmaster = currmaster->nxt; matcol++; break; case uINSR_ST: case uINSL_ST: aseqs[idx][apos] = tolower((int)currali->sym); ss[idx][apos] = currali->ss; apos++; break; case uDEL_ST: aseqs[idx][apos] = '.'; ss[idx][apos] = ' '; apos++; currmaster = currmaster->nxt; matcol++; break; } } /* flush right */ for (; apos < aseqlen; apos++) { aseqs[idx][apos] = '.'; ss[idx][apos] = ' '; } aseqs[idx][apos] = '\0'; ss[idx][apos] = '\0'; } for (idx = 0; idx < nseq; idx++) Free_align(ali[idx]); Free_align(master); free(matpos); free(max_insuse); free(insuse); free(matuse); free(ali); if (ainfo != NULL) { int leftcount; int rightcount; ainfo->flags = 0; strcpy(ainfo->au, "CM RNA automatic alignment"); ainfo->flags |= AINFO_AUTH; ainfo->alen = aseqlen; ainfo->flags |= AINFO_ALEN; /* copy sqinfo structure array */ if ((ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO) * nseq)) == NULL) Die("malloc failed"); for (idx = 0; idx < nseq; idx++) SeqinfoCopy(&(ainfo->sqinfo[idx]), &(sqinfo[idx])); /* Construct a consensus structure string. * Secondary structure strings, ss, are currently aligned to * the aseqs. Calculate an aligned consensus structure from * them. */ if ((ainfo->cs = (char *) malloc (sizeof(char) * (aseqlen+1))) == NULL) Die("malloc failed"); for (apos = 0; apos < aseqlen; apos ++) { leftcount = rightcount = 0; for (idx = 0; idx < nseq; idx++) if (ss[idx][apos] == '<') rightcount++; else if (ss[idx][apos] == '>') leftcount++; if (rightcount > nseq / 2) ainfo->cs[apos] = '<'; else if (leftcount > nseq / 2) ainfo->cs[apos] = '>'; else ainfo->cs[apos] = '.'; } ainfo->cs[aseqlen] = '\0'; ainfo->flags |= AINFO_CS; /* Construct individual secondary structure strings by de-aligning * the individuals. */ for (idx = 0; idx < nseq; idx++) { MakeDealignedString(aseqs[idx], aseqlen, ss[idx], &(ainfo->sqinfo[idx].ss)); ainfo->sqinfo[idx].flags |= SQINFO_SS; } } Free2DArray(ss, nseq); *ret_aseqs = aseqs; return 1; } tRNAscan-SE-1.3.1/msf.c0000644000543100001440000001036111021467305013433 0ustar pchanusers/* SQUID - A C function library for biological sequence analysis * Copyright (C) 1992-1996 Sean R. Eddy * * This source code is distributed under terms of the * GNU General Public License. See the files COPYING * and GNULICENSE for further details. * */ /* msf.c * SRE, Sun Jul 11 16:17:32 1993 * * Export of GCG MSF multiple sequence alignment * formatted files. * */ #include #include #include #include #include "squid.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif /* Function: WriteMSF() * * Purpose: Write aseqs, names, weights to an open fp, * in GCG MSF format. The alignment must * be flushed (all aseqs the same length, padded * with gaps) * * Returns 1 on success. Returns 0 on failure, and sets * squid_errno to indicate the cause. */ int WriteMSF(FILE *fp, /* open fp for writing */ char **aseqs, /* aligned sequences */ int num, struct aliinfo_s *ainfo) { int still_going; /* True if writing another block */ int idx; /* counter for sequences */ int pos; /* position counter */ int namelen; /* maximum name length used */ int len; /* tmp variable for name lengths */ char buffer[51]; /* buffer for writing seq */ char **sqptr; /* ptrs into each sequence */ int charcount; /* num. symbols we're writing */ float weight; /* allocate seq pointers that we'll move across each sequence */ if ((sqptr = (char **) malloc (num * sizeof(char *))) == NULL) { squid_errno = SQERR_MEM; return 0; } /* set sqptrs to start of each seq */ for (idx = 0; idx < num; idx++) sqptr[idx] = aseqs[idx]; /* calculate max namelen used */ namelen = 0; for (idx = 0; idx < num; idx++) if ((len = strlen(ainfo->sqinfo[idx].name)) > namelen) namelen = len; /***************************************************** * Write the title line *****************************************************/ fprintf(fp, "\n"); /* ack! we're writing bullshit here */ fprintf(fp, " MSF: 000 Type: X Check: 0000 ..\n"); fprintf(fp, "\n"); /***************************************************** * Write the names *****************************************************/ for (idx = 0; idx < num; idx++) { weight = 1.0; if (ainfo->sqinfo[idx].flags & SQINFO_WGT) weight = ainfo->sqinfo[idx].weight; fprintf(fp, " Name: %-*.*s Len: %5d Check: %5d Weight: %.4f\n", namelen, namelen, ainfo->sqinfo[idx].name, ainfo->alen, GCGchecksum(aseqs[idx], ainfo->alen), weight); } fprintf(fp, "\n"); fprintf(fp, "//\n"); fprintf(fp, "\n"); /***************************************************** * Write the sequences *****************************************************/ still_going = 1; while (still_going) { still_going = 0; for (idx = 0; idx < num; idx++) { fprintf(fp, "%-*.*s ", namelen, namelen, ainfo->sqinfo[idx].name); /* get next line's worth of 50 from seq */ strncpy(buffer, sqptr[idx], 50); buffer[50] = '\0'; charcount = strlen(buffer); /* is there still more to go? */ if (charcount == 50 && sqptr[idx][50] != '\0') still_going = 1; /* shift the seq ptr by a line */ sqptr[idx] += charcount; /* draw the sequence line */ pos = 0; while (pos < charcount) { if (isgap(buffer[pos])) fputc('.', fp); else fputc(buffer[pos], fp); pos++; if (!(pos % 10)) fputc(' ', fp); } fputc('\n', fp); } /* put blank line between blocks */ fputc('\n', fp); } free(sqptr); return 1; } void FlushAlignment(char **aseqs, int num, int *ret_alen) { int len, alen; int idx; int apos; alen = strlen(aseqs[0]); for (idx = 1; idx < num; idx++) if ((len = strlen(aseqs[idx])) > alen) alen = len; for (idx = 0; idx < num; idx++) { if ((aseqs[idx] = (char *) realloc (aseqs[idx], sizeof(char) * (alen+1))) == NULL) Die("realloc failed"); for (apos = strlen(aseqs[idx]); apos < alen; apos++) aseqs[idx][apos] = '.'; aseqs[idx][apos] = '\0'; } *ret_alen = alen; } tRNAscan-SE-1.3.1/emit_main.c0000644000543100001440000001111311021467304014603 0ustar pchanusers/* emit_main.c * main() for emitting sequences from a stored model * written as a debugging aid * * 1.0: SRE, Tue Jun 15 09:32:43 1993 * 2.0: SRE, Fri Sep 10 08:06:37 1993 */ #include #include #include #include #ifdef NEED_GETOPTH #include #endif #include "structs.h" #include "funcs.h" #include "version.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif #define OPTIONS "abls:L" static char usage[] = "\ Usage: covee [-options] \n\ where options are:\n\ -a : annotate all pairs, not just canonical ones\n\ -b : emit single most probable sequence\n\ -l : print as mountain landscape\n\ -s : set seed for random()\n\ EXPERIMENTAL OPTIONS:\n\ -L : calculate expected length distributions for states\n"; static char banner[] = "covee: emit sequences from a covariance model"; int main(int argc, char **argv) { char *cmfile; /* file to read model from */ struct cm_s *cm; /* model */ int i; /* counter for sequences */ char *seq; /* generated sequence */ char *khseq; /* generated structure */ struct align_s *ali; /* generated "alignment" */ int emitnum; /* number of sequences to emit */ int seed; /* seed for random number generator */ int do_best; /* TRUE if generating only best seq */ int do_landscape; /* TRUE if printing as landscape */ int watsoncrick; /* TRUE to annotate only canonical pairs */ int do_lengths; /* TRUE to do length distributions */ int optc; extern char *optarg; /* for getopt() */ extern int optind; /* for getopt() */ /*********************************************** * Parse command line ***********************************************/ emitnum = 20; seed = (int) time (0); do_best = FALSE; do_landscape = FALSE; watsoncrick = TRUE; do_lengths = FALSE; while ((optc = getopt(argc, argv, OPTIONS)) != -1) switch (optc) { case 'a': watsoncrick = FALSE; break; case 'b': do_best = TRUE; break; case 'l': do_landscape = TRUE; break; case 's': seed = atoi(optarg); break; case 'L': do_lengths = TRUE; break; default: Die("Error: unrecognized option %c\n", optc); } if (argc - optind != 1) Die("Wrong number of arguments.\n%s", usage); cmfile = argv[optind]; sre_srandom((unsigned) seed); /*********************************************** * Read in the model ***********************************************/ if (! ReadCM(cmfile, &cm)) Die("Failed to read model from file %s\n", cmfile); /*********************************************** * Generate sequences from model and print them. ***********************************************/ puts(banner); printf(" version %s, %s\n\n", RELEASE, RELEASEDATE); if (do_lengths) { struct pstate_s *pcm; int statenum; double **lmx; int *min, *max; int y; MakePCM(cm, &pcm, &statenum); NormalizePCM(pcm, statenum); LengthDistribution(pcm, statenum, 200, &lmx); LengthBounds(lmx, statenum, 200, 1.0e-6, &min, &max); for (y = 0; y < statenum; y++) printf("%4d %4d %4d (%4d) %8.8f %s\n", y, min[y], max[y], max[y]-min[y]+1, (float) (max[y]-min[y]+1) / 200.0, UstatetypeName(pcm[y].statetype)); Free2DArray(lmx, statenum); free(min); free(max); free(pcm); } else if (do_best) { if (! EmitBestSequence(cm, watsoncrick, &ali, &khseq, &seq)) Die("EmitBestSequence() failed"); if (do_landscape) { if (! PrintAliLandscape(stdout, cm, ali)) Warn("PrintAliLandscape failed\n"); } else { printf("%s\n", seq); printf("%s\n", khseq); puts(""); } free(ali); free(khseq); free(seq); } else { for (i = 0; i < emitnum; i++) { if (! EmitSequence(cm, watsoncrick, &ali, &khseq, &seq)) Die("failed to generate a sequence from the model."); if (do_landscape) PrintAliLandscape(stdout, cm, ali); else { printf("seq %2d: %s\n", i, seq); printf(" %s\n", khseq); puts(""); } free(ali); free(khseq); free(seq); } } /*********************************************** * Cleanup and exit ***********************************************/ FreeCM(cm); return 0; } tRNAscan-SE-1.3.1/gnuregex.h0000644000543100001440000004426511021467306014512 0ustar pchanusers/* Definitions for data structures and routines for the regular expression library, version 0.12. Copyright (C) 1985,1989,1990,1991,1992,1993 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef __REGEXP_LIBRARY_H__ #define __REGEXP_LIBRARY_H__ /* POSIX says that must be included (by the caller) before . */ #ifdef VMS /* VMS doesn't have `size_t' in , even though POSIX says it should be there. */ #include #endif /* The following bits are used to determine the regexp syntax we recognize. The set/not-set meanings are chosen so that Emacs syntax remains the value 0. The bits are given in alphabetical order, and the definitions shifted by one from the previous bit; thus, when we add or remove a bit, only one other definition need change. */ typedef unsigned reg_syntax_t; /* If this bit is not set, then \ inside a bracket expression is literal. If set, then such a \ quotes the following character. */ #define RE_BACKSLASH_ESCAPE_IN_LISTS (1) /* If this bit is not set, then + and ? are operators, and \+ and \? are literals. If set, then \+ and \? are operators and + and ? are literals. */ #define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) /* If this bit is set, then character classes are supported. They are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */ #define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) /* If this bit is set, then ^ and $ are always anchors (outside bracket expressions, of course). If this bit is not set, then it depends: ^ is an anchor if it is at the beginning of a regular expression or after an open-group or an alternation operator; $ is an anchor if it is at the end of a regular expression, or before a close-group or an alternation operator. This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because POSIX draft 11.2 says that * etc. in leading positions is undefined. We already implemented a previous draft which made those constructs invalid, though, so we haven't changed the code back. */ #define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) /* If this bit is set, then special characters are always special regardless of where they are in the pattern. If this bit is not set, then special characters are special only in some contexts; otherwise they are ordinary. Specifically, * + ? and intervals are only special when not after the beginning, open-group, or alternation operator. */ #define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) /* If this bit is set, then *, +, ?, and { cannot be first in an re or immediately after an alternation or begin-group operator. */ #define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) /* If this bit is set, then . matches newline. If not set, then it doesn't. */ #define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) /* If this bit is set, then . doesn't match NUL. If not set, then it does. */ #define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) /* If this bit is set, nonmatching lists [^...] do not match newline. If not set, they do. */ #define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) /* If this bit is set, either \{...\} or {...} defines an interval, depending on RE_NO_BK_BRACES. If not set, \{, \}, {, and } are literals. */ #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) /* If this bit is set, +, ? and | aren't recognized as operators. If not set, they are. */ #define RE_LIMITED_OPS (RE_INTERVALS << 1) /* If this bit is set, newline is an alternation operator. If not set, newline is literal. */ #define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) /* If this bit is set, then `{...}' defines an interval, and \{ and \} are literals. If not set, then `\{...\}' defines an interval. */ #define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) /* If this bit is set, (...) defines a group, and \( and \) are literals. If not set, \(...\) defines a group, and ( and ) are literals. */ #define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) /* If this bit is set, then \ matches . If not set, then \ is a back-reference. */ #define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) /* If this bit is set, then | is an alternation operator, and \| is literal. If not set, then \| is an alternation operator, and | is literal. */ #define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) /* If this bit is set, then an ending range point collating higher than the starting range point, as in [z-a], is invalid. If not set, then when ending range point collates higher than the starting range point, the range is ignored. */ #define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) /* If this bit is set, then an unmatched ) is ordinary. If not set, then an unmatched ) is invalid. */ #define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) /* This global variable defines the particular regexp syntax to use (for some interfaces). When a regexp is compiled, the syntax used is stored in the pattern buffer, so changing this does not affect already-compiled regexps. */ extern reg_syntax_t re_syntax_options; /* Define combinations of the above bits for the standard possibilities. (The [[[ comments delimit what gets put into the Texinfo file, so don't delete them!) */ /* [[[begin syntaxes]]] */ #define RE_SYNTAX_EMACS 0 #define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_UNMATCHED_RIGHT_PAREN_ORD) #define RE_SYNTAX_POSIX_AWK \ (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS) #define RE_SYNTAX_GREP \ (RE_BK_PLUS_QM | RE_CHAR_CLASSES \ | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \ | RE_NEWLINE_ALT) #define RE_SYNTAX_EGREP \ (RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \ | RE_NEWLINE_ALT | RE_NO_BK_PARENS \ | RE_NO_BK_VBAR) #define RE_SYNTAX_POSIX_EGREP \ (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES) /* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ #define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC #define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC /* Syntax bits common to both basic and extended POSIX regex syntax. */ #define _RE_SYNTAX_POSIX_COMMON \ (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ | RE_INTERVALS | RE_NO_EMPTY_RANGES) #define RE_SYNTAX_POSIX_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM) /* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this isn't minimal, since other operators, such as \`, aren't disabled. */ #define RE_SYNTAX_POSIX_MINIMAL_BASIC \ (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) #define RE_SYNTAX_POSIX_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */ #define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) /* [[[end syntaxes]]] */ /* Maximum number of duplicates an interval can allow. Some systems (erroneously) define this in other header files, but we want our value, so remove any previous define. */ #ifdef RE_DUP_MAX #undef RE_DUP_MAX #endif #define RE_DUP_MAX ((1 << 15) - 1) /* POSIX `cflags' bits (i.e., information for `regcomp'). */ /* If this bit is set, then use extended regular expression syntax. If not set, then use basic regular expression syntax. */ #define REG_EXTENDED 1 /* If this bit is set, then ignore case when matching. If not set, then case is significant. */ #define REG_ICASE (REG_EXTENDED << 1) /* If this bit is set, then anchors do not match at newline characters in the string. If not set, then anchors do match at newlines. */ #define REG_NEWLINE (REG_ICASE << 1) /* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (REG_NEWLINE << 1) /* POSIX `eflags' bits (i.e., information for regexec). */ /* If this bit is set, then the beginning-of-line operator doesn't match the beginning of the string (presumably because it's not the beginning of a line). If not set, then the beginning-of-line operator does match the beginning of the string. */ #define REG_NOTBOL 1 /* Like REG_NOTBOL, except for the end-of-line. */ #define REG_NOTEOL (1 << 1) /* If any error codes are removed, changed, or added, update the `re_error_msg' table in regex.c. */ typedef enum { REG_NOERROR = 0, /* Success. */ REG_NOMATCH, /* Didn't find a match (for regexec). */ /* POSIX regcomp return error codes. (In the order listed in the standard.) */ REG_BADPAT, /* Invalid pattern. */ REG_ECOLLATE, /* Not implemented. */ REG_ECTYPE, /* Invalid character class name. */ REG_EESCAPE, /* Trailing backslash. */ REG_ESUBREG, /* Invalid back reference. */ REG_EBRACK, /* Unmatched left bracket. */ REG_EPAREN, /* Parenthesis imbalance. */ REG_EBRACE, /* Unmatched \{. */ REG_BADBR, /* Invalid contents of \{\}. */ REG_ERANGE, /* Invalid range end. */ REG_ESPACE, /* Ran out of memory. */ REG_BADRPT, /* No preceding re for repetition op. */ /* Error codes we've added. */ REG_EEND, /* Premature end. */ REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */ REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ } reg_errcode_t; /* This data structure represents a compiled pattern. Before calling the pattern compiler, the fields `buffer', `allocated', `fastmap', `translate', and `no_sub' can be set. After the pattern has been compiled, the `re_nsub' field is available. All other fields are private to the regex routines. */ struct re_pattern_buffer { /* [[[begin pattern_buffer]]] */ /* Space that holds the compiled pattern. It is declared as `unsigned char *' because its elements are sometimes used as array indexes. */ unsigned char *buffer; /* Number of bytes to which `buffer' points. */ unsigned long allocated; /* Number of bytes actually used in `buffer'. */ unsigned long used; /* Syntax setting with which the pattern was compiled. */ reg_syntax_t syntax; /* Pointer to a fastmap, if any, otherwise zero. re_search uses the fastmap, if there is one, to skip over impossible starting points for matches. */ char *fastmap; /* Either a translate table to apply to all characters before comparing them, or zero for no translation. The translation is applied to a pattern when it is compiled and to a string when it is matched. */ char *translate; /* Number of subexpressions found by the compiler. */ size_t re_nsub; /* Zero if this pattern cannot match the empty string, one else. Well, in truth it's used only in `re_search_2', to see whether or not we should use the fastmap, so we don't set this absolutely perfectly; see `re_compile_fastmap' (the `duplicate' case). */ unsigned can_be_null : 1; /* If REGS_UNALLOCATED, allocate space in the `regs' structure for `max (RE_NREGS, re_nsub + 1)' groups. If REGS_REALLOCATE, reallocate space if necessary. If REGS_FIXED, use what's there. */ #define REGS_UNALLOCATED 0 #define REGS_REALLOCATE 1 #define REGS_FIXED 2 unsigned regs_allocated : 2; /* Set to zero when `regex_compile' compiles a pattern; set to one by `re_compile_fastmap' if it updates the fastmap. */ unsigned fastmap_accurate : 1; /* If set, `re_match_2' does not return information about subexpressions. */ unsigned no_sub : 1; /* If set, a beginning-of-line anchor doesn't match at the beginning of the string. */ unsigned not_bol : 1; /* Similarly for an end-of-line anchor. */ unsigned not_eol : 1; /* If true, an anchor at a newline matches. */ unsigned newline_anchor : 1; /* [[[end pattern_buffer]]] */ }; typedef struct re_pattern_buffer regex_t; /* search.c (search_buffer) in Emacs needs this one opcode value. It is defined both in `regex.c' and here. */ #define RE_EXACTN_VALUE 1 /* Type for byte offsets within the string. POSIX mandates this. */ typedef int regoff_t; /* This is the structure we store register match data in. See regex.texinfo for a full description of what registers match. */ struct re_registers { unsigned num_regs; regoff_t *start; regoff_t *end; }; /* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer, `re_match_2' returns information about at least this many registers the first time a `regs' structure is passed. */ #ifndef RE_NREGS #define RE_NREGS 30 #endif /* POSIX specification for registers. Aside from the different names than `re_registers', POSIX uses an array of structures, instead of a structure of arrays. */ typedef struct { regoff_t rm_so; /* Byte offset from string's start to substring's start. */ regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ } regmatch_t; /* Declarations for routines. */ /* To avoid duplicating every routine declaration -- once with a prototype (if we are ANSI), and once without (if we aren't) -- we use the following macro to declare argument types. This unfortunately clutters up the declarations a bit, but I think it's worth it. */ #if __STDC__ #define _RE_ARGS(args) args #else /* not __STDC__ */ #define _RE_ARGS(args) () #endif /* not __STDC__ */ /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the `re_syntax_options' variable. */ extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax)); /* Compile the regular expression PATTERN, with length LENGTH and syntax given by the global `re_syntax_options', into the buffer BUFFER. Return NULL if successful, and an error string if not. */ extern char *re_compile_pattern _RE_ARGS ((char *pattern, int length, struct re_pattern_buffer *buffer)); /* Compile a fastmap for the compiled pattern in BUFFER; used to accelerate searches. Return 0 if successful and -2 if was an internal error. */ extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer)); /* Search in the string STRING (with length LENGTH) for the pattern compiled into BUFFER. Start searching at position START, for RANGE characters. Return the starting position of the match, -1 for no match, or -2 for an internal error. Also return register information in REGS (if REGS and BUFFER->no_sub are nonzero). */ extern int re_search _RE_ARGS ((struct re_pattern_buffer *buffer, char *string, int length, int start, int range, struct re_registers *regs)); /* Like `re_search', but search in the concatenation of STRING1 and STRING2. Also, stop searching at index START + STOP. */ extern int re_search_2 _RE_ARGS ((struct re_pattern_buffer *buffer, char *string1, int length1, char *string2, int length2, int start, int range, struct re_registers *regs, int stop)); /* Like `re_search', but return how many characters in STRING the regexp in BUFFER matched, starting at position START. */ extern int re_match _RE_ARGS ((struct re_pattern_buffer *buffer, char *string, int length, int start, struct re_registers *regs)); /* Relates to `re_match' as `re_search_2' relates to `re_search'. */ extern int re_match_2 _RE_ARGS ((struct re_pattern_buffer *buffer, char *string1, int length1, char *string2, int length2, int start, struct re_registers *regs, int stop)); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and ENDS. Subsequent matches using BUFFER and REGS will use this memory for recording register information. STARTS and ENDS must be allocated with malloc, and must each be at least `NUM_REGS * sizeof (regoff_t)' bytes long. If NUM_REGS == 0, then subsequent matches should allocate their own register data. Unless this function is called, the first search or match using PATTERN_BUFFER will allocate its own register data, without freeing the old data. */ extern void re_set_registers _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs, unsigned num_regs, regoff_t *starts, regoff_t *ends)); /* 4.2 bsd compatibility. */ extern char *re_comp _RE_ARGS ((char *)); extern int re_exec _RE_ARGS ((char *)); /* POSIX compatibility. */ extern int regcomp _RE_ARGS ((regex_t *preg, char *pattern, int cflags)); extern int regexec _RE_ARGS ((regex_t *preg, char *string, size_t nmatch, regmatch_t pmatch[], int eflags)); extern size_t regerror _RE_ARGS ((int errcode, regex_t *preg, char *errbuf, size_t errbuf_size)); extern void regfree _RE_ARGS ((regex_t *preg)); #endif /* not __REGEXP_LIBRARY_H__ */ /* Local variables: make-backup-files: t version-control: t trim-versions-without-asking: nil End: */ tRNAscan-SE-1.3.1/PSELC.cm0000644000543100001440000013070311021467310013670 0ustar pchanusers### cove V2 72 nodes ### node 0 type 6 1 -1 0.06250 0.56250 0.06250 0.18750 0.06250 0.06250 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 1 type 1 2 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07143 0.64286 0.07143 0.07143 0.07143 0.07143 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04167 0.04167 0.04167 0.04167 # MATP 0.04167 0.04167 0.04167 0.04167 # MATP 0.04167 0.37500 0.04167 0.04167 # MATP 0.04167 0.04167 0.04167 0.04167 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.16667 0.50000 0.16667 0.16667 # MATR ### node 2 type 1 3 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 3 type 1 4 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.34615 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.11538 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 4 type 1 5 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.26923 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.11538 0.03846 0.11538 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 5 type 1 6 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 6 type 1 7 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.19231 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.03846 0.19231 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 7 type 1 8 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.56250 0.18750 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.11538 0.19231 0.03846 0.03846 # MATP 0.19231 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 8 type 1 9 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.08333 0.00000 0.75000 0.00000 0.08333 0.08333 0.16667 0.00000 0.50000 0.00000 0.16667 0.16667 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04167 0.04167 0.04167 0.04167 # MATP 0.04167 0.04167 0.20833 0.12500 # MATP 0.04167 0.04167 0.04167 0.04167 # MATP 0.12500 0.04167 0.04167 0.04167 # MATP 0.16667 0.16667 0.50000 0.16667 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 9 type 2 10 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.50000 0.07143 0.35714 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 10 type 2 11 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 11 type 0 12 23 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 12 type 4 13 -1 0.07143 0.78571 0.07143 0.07143 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 13 type 1 14 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.42308 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 14 type 1 15 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.26923 0.03846 0.11538 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 15 type 1 16 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.34615 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 16 type 1 17 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.34615 0.03846 # MATP 0.03846 0.11538 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 17 type 1 18 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.19231 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.19231 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 18 type 1 19 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.42308 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 19 type 2 20 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.64286 0.07143 0.21429 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 20 type 2 21 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.78571 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 21 type 2 22 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.78571 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 22 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 23 type 5 24 -1 0.38462 0.00000 0.53846 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 24 type 2 25 -1 0.83333 0.00000 0.00000 0.00000 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.10000 0.70000 0.10000 0.10000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 25 type 0 26 40 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 26 type 4 27 -1 0.35714 0.35714 0.07143 0.21429 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 27 type 1 28 -1 0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.05000 0.05000 0.05000 0.05000 # MATP 0.05000 0.05000 0.05000 0.05000 # MATP 0.05000 0.05000 0.05000 0.25000 # MATP 0.05000 0.05000 0.05000 0.05000 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.16667 0.16667 0.16667 0.50000 # MATR ### node 28 type 1 29 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.42308 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 29 type 1 30 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.26923 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 30 type 1 31 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 31 type 1 32 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 32 type 1 33 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.34615 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.11538 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 33 type 2 34 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.64286 0.07143 0.21429 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 34 type 2 35 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 35 type 2 36 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 36 type 2 37 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.78571 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 37 type 2 38 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.78571 0.07143 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 38 type 2 39 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.78571 0.07143 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 39 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.78571 0.07143 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 40 type 5 41 -1 0.69231 0.00000 0.23077 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 41 type 2 42 -1 0.63636 0.00000 0.27273 0.00000 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.50000 0.16667 0.16667 0.16667 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 42 type 2 43 -1 0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.83333 0.00000 0.00000 0.00000 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.12500 0.12500 0.12500 0.62500 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 43 type 0 44 57 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 44 type 4 45 -1 0.07143 0.50000 0.35714 0.07143 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 45 type 1 46 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.08333 0.58333 0.08333 0.08333 0.08333 0.08333 0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04545 0.04545 0.04545 0.04545 # MATP 0.04545 0.04545 0.04545 0.04545 # MATP 0.04545 0.04545 0.13636 0.04545 # MATP 0.04545 0.04545 0.22727 0.04545 # MATP 0.12500 0.12500 0.37500 0.37500 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 46 type 1 47 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.03846 0.19231 0.03846 0.19231 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 47 type 1 48 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.19231 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.19231 0.03846 0.11538 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 48 type 1 49 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.03846 0.26923 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 49 type 1 50 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.11538 0.03846 0.03846 # MATP 0.03846 0.19231 0.03846 0.19231 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 50 type 1 51 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.19231 0.11538 # MATP 0.03846 0.03846 0.03846 0.11538 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 51 type 1 52 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.26923 0.03846 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 52 type 1 53 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.19231 0.03846 # MATP 0.03846 0.19231 0.03846 0.03846 # MATP 0.03846 0.03846 0.11538 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 53 type 2 54 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21429 0.50000 0.21429 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 54 type 2 55 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.50000 0.35714 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 55 type 2 56 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.23077 0.00000 0.69231 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.35714 0.21429 0.35714 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 56 type 2 -1 -1 0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.90000 0.00000 0.00000 0.00000 0.10000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.25000 0.25000 0.41667 0.08333 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 57 type 5 58 -1 0.69231 0.00000 0.23077 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 58 type 2 59 -1 0.27273 0.00000 0.63636 0.00000 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16667 0.16667 0.50000 0.16667 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 59 type 2 60 -1 0.11111 0.33333 0.11111 0.33333 0.11111 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.09091 0.63636 0.09091 0.09091 0.09091 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.10000 0.10000 0.70000 0.10000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 60 type 1 61 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.07143 0.64286 0.07143 0.07143 0.07143 0.07143 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.04167 0.04167 0.04167 0.04167 # MATP 0.04167 0.04167 0.04167 0.04167 # MATP 0.04167 0.12500 0.04167 0.29167 # MATP 0.04167 0.04167 0.04167 0.04167 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.16667 0.16667 0.16667 0.50000 # MATR ### node 61 type 1 62 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.19231 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.26923 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 62 type 1 63 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.26923 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.19231 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 63 type 1 64 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 64 type 1 65 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.03846 0.42308 0.03846 0.03846 # MATP 0.03846 0.03846 0.03846 0.03846 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 65 type 2 66 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 66 type 2 67 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 67 type 2 68 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.78571 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 68 type 2 69 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21429 0.07143 0.64286 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 69 type 2 70 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.78571 0.07143 0.07143 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 70 type 2 71 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.64286 0.07143 0.21429 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 71 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07143 0.07143 0.07143 0.78571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR tRNAscan-SE-1.3.1/Makefile0000644000543100001440000002321311704476640014154 0ustar pchanusers# Makefile for tRNAscan-SE # TML, Feb 11, 1996 # COV_RELEASE = "2.4.4" EUFIND_RELEASE = "1.1" SE_RELEASE = "1.3.1" RELEASEDATE= "January 2012" RFLAGS = -DRELEASE=$(COV_RELEASE) -DRELEASEDATE=$(RELEASEDATE) ## Note: if you want to use the -i option, use "make no-ambig" ## This compiles versions of the pre-scanners that skip over N's, ## greatly speeding scans of unfinished sequence ## where Perl v.5 (or greater) is installed PERLDIR = /usr/bin ## what you call the Perl v.5 executable on your system ## (this could be 'perl5' or otherwise on some systems) PERLBIN = perl ## where you want things installed BINDIR = $(HOME)/bin LIBDIR = $(HOME)/lib/tRNAscan-SE MANDIR = $(HOME)/man ## NOTE !! If you later manually move the location of ## binaries or data files in the BINDIR or LIBDIR directories, ## you need to delete the tRNAscan-SE executable, update those ## locations in this Makefile, and re-make tRNAscan-SE ## where you want temporary files stored TEMPDIR = /tmp ## your compiler CC = gcc # GNU cc (if available) otherwise use vendor's cc ## any special compiler flags you want CFLAGS = -O # ok for most machines (remove -O for DEC OSF/1 cc compiler) ## machine specific definitions # You shouldn't need any. The specific #define's in squid are historical. # However, if you do run into compilation trouble, you might need: # -DNO_STRDUP no strdup() function (lots of BSDish Unix) # -DNOSTR no strstr() function (rarer) # MDEFS = ## how to install the man pages ## either cp -- to copy unformatted man page ## or a script with identical syntax to cp, to format & install formatted page INSTMAN = cp # INSTMAN = instman MANSUFFIX = 1 ####### ## should not need to modify below this line ####### SHELL = /bin/sh LIBS = -lm .SUFFIXES : .c .o DOCS = README MANUAL INSTALL COPYING GNULICENSE FILES Release.history MANSRC= tRNAscan-SE.man PROGS = trnascan-1.4 covels-SE coves-SE eufindtRNA UTILS = reformat revcomp seqstat shuffle SCRIPTS = fasta2gsi.pl sstofa.pl checkversion.pl instman.pl TSCAN13 = trnascan.c TPCsignal Dsignal EUFIND = eufind_const.h eufind_main.c pavesi.c SQUID-UTILS = seqstat_main.c reformat_main.c\ shuffle_main.c revcomp_main.c getopt.c COVE_SUITE = covea coveb covee covet covels coves structcheck MAIN = align_main.c build_main.c emit_main.c learnprior_main.c train_main.c \ scan_main.c score_main.c structcheck_main.c SQUIDSRC = alignio.c sqerror.c sqio.c iupac.c msf.c revcomp.c\ selex.c sre_ctype.c sre_math.c sre_string.c stack.c types.c\ gnuregex.c interleaved.c getopt.c SQUIDOBJ = alignio.o sqerror.o sqio.o iupac.o msf.o revcomp.o\ selex.o sre_ctype.o sre_math.o sre_string.o stack.o types.o\ gnuregex.o interleaved.o getopt.o SQUIDHDRS = squid.h sqfuncs.h gnuregex.h SRC = align.c dbviterbi.c debug.c emit.c fast-dbviterbi.c fastmodelmaker.c\ konings.c lengthdist.c maxmodelmaker.c\ misc.c model.c modelmaking.c prior.c probify.c save.c smallviterbi.c\ scorestack.c structs.c trace.c viterbi.c $(SQUIDSRC) MPSRC = mpviterbi.m mp-dbviterbi.m OBJ = align.o dbviterbi.o debug.o emit.o fast-dbviterbi.o fastmodelmaker.o\ konings.o lengthdist.o maxmodelmaker.o\ misc.o model.o modelmaking.o prior.o probify.o save.o smallviterbi.o\ scorestack.o structs.o trace.o viterbi.o $(SQUIDOBJ) MPOBJ = mpviterbi.o mp-dbviterbi.o all: $(PROGS) tRNAscan-SE setpaths covels-SE: $(OBJ) scan_main.o $(CC) $(CFLAGS) $(RFLAGS) -o covels-SE scan_main.o $(OBJ) $(LIBS) coves-SE: $(OBJ) score_main.o $(CC) $(CFLAGS) $(RFLAGS) -o coves-SE score_main.o $(OBJ) $(LIBS) eufindtRNA: $(SQUIDOBJ) pavesi.o eufind_main.o $(CC) $(CFLAGS) -o eufindtRNA eufind_main.o \ pavesi.o $(SQUIDOBJ) $(LIBS) trnascan-1.4: trnascan.o $(CC) $(CFLAGS) -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4 trnascan.c tRNAscan-SE: $(PERLDIR)/$(PERLBIN) checkversion.pl sed 's#/tmp#$(TEMPDIR)#g' tRNAscan-SE.src | \ sed 's#bindir = ""#bindir =\"$(BINDIR)/"#g' | \ sed 's#/usr/local/lib/tRNAscanSE#$(LIBDIR)#g' | \ sed 's#version = ""#version = $(SE_RELEASE)#' | \ sed 's#release_date = ""#release_date = $(RELEASEDATE)#' | \ sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' > tRNAscan-SE sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' instman.pl > instman sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' sstofa.pl > sstofa @chmod +x tRNAscan-SE @chmod +x instman @echo "" @echo "tRNAscan-SE built" @echo "" @echo "" setpaths: @echo 'setenv PATH "$$PATH"":""$(BINDIR)"' > setup.tRNAscan-SE @echo 'setenv PERL5LIB "$$PERL5LIB"":""$(BINDIR)"' >> setup.tRNAscan-SE @echo 'setenv MANPATH "$$MANPATH"":""$(MANDIR)"' >> setup.tRNAscan-SE @echo "" @echo "The file \"setup.tRNAscan-SE\" has been created." @echo "If you type \"source setup.tRNAscan-SE; rehash\", the paths" @echo "in your environment will be updated for this session." @echo "" @echo "To update your environment upon every login, you should" @echo "add the line:" @echo "" @echo "source $(PWD)/setup.tRNAscan-SE" @echo "" @echo "to your \".cshrc\" file." @echo "" @echo "If you prefer to manually update your environment variables," @echo "be sure to make the following changes:" @echo "" @echo "1) Add $(BINDIR) to your PATH variable" @echo "2) Add $(BINDIR) to your PERl5LIB variable" @echo "3) Add $(MANDIR) to your MANPATH variable" @echo "" install: $(PROGS) tRNAscanSE @if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi @if test -d $(LIBDIR); then echo .; else mkdir -p $(LIBDIR); fi @if test -d $(TEMPDIR); then echo .; else mkdir -p $(TEMPDIR); fi @if test -d $(MANDIR)/man$(MANSUFFIX); then echo .; else mkdir -p $(MANDIR)/man$(MANSUFFIX); fi cp $(PROGS) tRNAscan-SE $(BINDIR)/. cp -R tRNAscanSE $(BINDIR)/ cp TPCsignal Dsignal *.cm gcode.* $(LIBDIR)/. @if test -r trnascan-1.4-NA; then cp trnascan-1.4-NA $(BINDIR)/.; fi @if test -r eufindtRNA-NA; then cp eufindtRNA-NA $(BINDIR)/.; fi @if test -r mpcovels; then cp mpcovels $(BINDIR)/.; fi $(INSTMAN) $(MANSRC) $(MANDIR)/man$(MANSUFFIX)/tRNAscan-SE.$(MANSUFFIX) testrun: @echo "" @echo "Running tRNAscan-SE on sample sequence F22B2.fa" @echo "" @rm -f testrun.out @echo "tRNAscan-SE -d -y -o testrun.out Demo/F22B7.fa" @if tRNAscan-SE -d -y -o testrun.out Demo/F22B7.fa; \ then echo ""; \ else echo "tRNAscan-SE did NOT complete properly."; fi @if diff testrun.out testrun.ref; \ then echo ""; cat testrun.out; \ echo ""; echo ""; \ echo "tRNAscan-SE up and running correctly!"; echo ""; \ else echo "Test run result file differs from reference result file!";\ echo "tRNAscan-SE may not have executed correctly."; echo ""; \ echo "Please double check for correct compilation & installation"; \ echo " and try 'make testrun' again."; echo ""; fi # compiles versions of pre-scanners that do not conservatively # call tRNAs with ambiguous bases # Not really needed since Oct. 2000 modification to tRNAscan-SE (v 1.21) noambig: trnascan-1.4-NA eufindtRNA-NA trnascan-1.4-NA: trnascan.o $(CC) $(CFLAGS) -DNO_AMBIG -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4-NA trnascan.c eufindtRNA-NA: $(SQUIDOBJ) eufind_main.o $(CC) $(CFLAGS) -DNO_AMBIG -c -o pavesi-NA.o pavesi.c $(CC) $(CFLAGS) -o eufindtRNA-NA eufind_main.o \ pavesi-NA.o $(SQUIDOBJ) $(LIBS) clean: -rm -f *.o *~ Makefile.bak core testrun.out \ $(PROGS) $(UTILS) $(COVE_SUITE) mpcovels tRNAscan-SE instman uninstall: (cd $(BINDIR); rm -f $(PROGS) $(UTILS)) (cd $(LIBDIR); rm -f TPCsignal Dsignal *.cm gcode.*) rmdir -ps $(LIBDIR) rm -f $(MANDIR)/man$(MANSUFFIX)/tRNAscan-SE.$(MANSUFFIX) rmdir -ps $(MANDIR) .c.o: $(CC) $(CFLAGS) $(MDEFS) -c $< ## programs from Sean Eddy's sequence i/o function library not ## needed for tRNAscan-SE but included for their utility utils: $(UTILS) install-utils: $(UTILS) @if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' fasta2gsi.pl > fasta2gsi cp $(UTILS) $(BINDIR)/. reformat: $(SQUIDOBJ) reformat_main.o $(CC) $(CFLAGS) $(MDEFS) -o reformat $(SQUIDOBJ) reformat_main.o $(LIBS) revcomp: $(SQUIDOBJ) revcomp_main.o $(CC) $(CFLAGS) $(MDEFS) -o revcomp $(SQUIDOBJ) revcomp_main.o $(LIBS) seqstat: $(SQUIDOBJ) seqstat_main.o $(CC) $(CFLAGS) $(MDEFS) -o seqstat $(SQUIDOBJ) seqstat_main.o $(LIBS) shuffle: $(SQUIDOBJ) shuffle_main.o $(CC) $(CFLAGS) $(MDEFS) -o shuffle $(SQUIDOBJ) shuffle_main.o $(LIBS) ## other programs in Cove package (below) not needed for ## tRNAscan-SE, but are included for users who wish to apply ## them for other RNA prediction work all-cove: $(COVE_SUITE) install-cove: $(COVE_SUITE) @if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi cp $(COVE_SUITE) $(BINDIR)/. covea: $(OBJ) align_main.o $(CC) $(CFLAGS) $(RFLAGS) -o covea align_main.o $(OBJ) $(LIBS) coveb: $(OBJ) build_main.o $(CC) $(CFLAGS) $(RFLAGS) -o coveb build_main.o $(OBJ) $(LIBS) covee: $(OBJ) emit_main.o $(CC) $(CFLAGS) $(RFLAGS) -o covee emit_main.o $(OBJ) $(LIBS) covet: $(OBJ) train_main.o $(CC) $(CFLAGS) $(RFLAGS) -o covet train_main.o $(OBJ) $(LIBS) covels: $(OBJ) scan_main.o $(CC) $(CFLAGS) $(RFLAGS) -o covels scan_main.o $(OBJ) $(LIBS) coves: $(OBJ) score_main.o $(CC) $(CFLAGS) $(RFLAGS) -o coves score_main.o $(OBJ) $(LIBS) structcheck: $(OBJ) structcheck_main.o $(CC) $(CFLAGS) $(RFLAGS) -o structcheck structcheck_main.o $(OBJ) $(LIBS) ## Maspar memory limits # do "mpctl" to see the system defaults for CMEM (ACU) and # PMEM (DPU) memory. The make will do an "mplimit" to reset # resources according to what you give for CMEM and PMEM needs. # CMEM = 480K PMEM = 63K ## Maspar version of covels ## need to set constants in "maspar.h" for your ## maspar machine size (i.e. 128x128, 64x64, ...) mpcovels: $(OBJ) $(MPOBJ) mpcovels_main.o mpl_cc $(RFLAGS) -o mpcovels mpcovels_main.o $(MPOBJ) $(OBJ) $(LIBS) mplimit mpcovels cmem $(CMEM) pmem $(PMEM) tRNAscan-SE-1.3.1/eufind_const.h0000644000543100001440000000232411021467303015331 0ustar pchanusers /* tRNA scanning cutoffs */ #define BBOX_CUTOFF -14.14 #define BBOX_START_IDX 45 #define SEC_LOBOUND -4.9 /* orig: -3.6 euk: -3.8 prok (hflu) -4.9 */ #define SEC_HIBOUND -2.1 /* -2.2 */ #define MAX_PENALTY -5.442 /* log(1/231) */ #define INT_SCORE_THRESH -31.25 #define TOT_SCORE_THRESH -31.8 /* -31.8 */ #define MAX_AB_BOX_DIST 140 /* not used anymore, instead /* AB_BOX_DIST_RANGE used */ #define MIN_AB_BOX_DIST 24 #define AB_BOX_DIST_RANGE 116 /* check this far over MIN_AB_BOX /* distance for A-B box pairs */ #define SEC_AB_BOX_DIST 26 #define SEC_BBOX_DIST_CORR 12 #define MIN_BTERM_DIST 11 #define MAX_TERM_SEARCH 133 /* Max distance to search for termination signal (was 59, changed to 133 (as in Pavesi paper) on 11/96 since was missing 4 yeast tRNAs */ #define ABOX_LEN 21 #define BBOX_LEN 11 #define MAX_OVLAP 10 /* max #bp tRNA hits are allowed to overlap */ struct trna_info_s { char iso_type[5]; char acodon[4]; int start, end, Abox_st, Abox_end, Abox_gap, Bbox_st, Bbox_end, Term_st, acodon_idx, intron, idno; float totSc, AboxSc, BboxSc, ABdistSc, TermSc; }; typedef struct trna_info_s TRNA_TYPE; tRNAscan-SE-1.3.1/TRNAinf-c.cm0000644000543100001440000011404111143753033014505 0ustar pchanusersINFERNAL-1 [1.0] NAME tRNA1415G STATES 289 NODES 76 ALPHABET 1 ELSELF -0.08926734 WBETA 1e-07 NSEQ 1415 EFFNSEQ 1415.000 CLEN 90 BCOM cmbuild --rf --enone TRNAinf.cm trna1415G.sto BDATE Sun Feb 8 16:42:04 2009 CCOM cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf.hfile --exp-sfile cmcalibrate_files/TRNAinf.sfile --exp-qqfile cmcalibrate_files/TRNAinf.qqfile --exp-ffile cmcalibrate_files/TRNAinf.ffile --fil-dfile cmcalibrate_files/TRNAinf.dfile -s 208 TRNAinf-c.cm CDATE Sun Feb 8 20:33:25 2009 NULL 0.000 0.000 0.000 0.000 PART 1 0 100 E-LC 0 0.81122 -5.88321 1.22345 1500000 358822 0.003135 E-GC 0 0.33246 -23.80877 -11.44044 1500000 22900 0.016376 E-LI 0 0.70671 -5.92548 2.03289 1500000 311704 0.003609 E-GI 0 0.33394 -22.04403 -9.70721 1500000 23079 0.016249 E-LV 0 0.48454 -2.90587 4.34254 49520000 124497 0.029832 E-GV 0 0.46613 -4.01423 5.85082 49520000 122964 0.010068 E-LF 0 0.56706 1.45970 7.65260 49520000 124445 0.029845 E-GF 0 0.47996 -1.92556 7.65678 49520000 123054 0.010061 FT-LC 44 0.99500 10000 1500000 0 5.57553e-07 2.16687e-07 9.52295e-08 6.87971e-08 5.62574e-08 3.03739e-08 1.62142e-08 8.43269e-09 4.94182e-09 2.50475e-09 1.79964e-09 1.42675e-09 9.96612e-10 6.81506e-10 3.97576e-10 3.22726e-10 2.59854e-10 1.68466e-10 7.88383e-11 6.46629e-11 4.16314e-11 2.70369e-11 2.35029e-11 1.63449e-11 1.52098e-11 1.12244e-11 7.31163e-12 7.08743e-12 5.09621e-12 3.35466e-12 2.82909e-12 2.16847e-12 1.73177e-12 1.73143e-12 1.40412e-12 1.2231e-12 1.07635e-12 6.44585e-13 5.14461e-13 4.07215e-13 2.46516e-16 2.60405e-17 1.46636e-17 3.42887e-18 1295.06 1146.42 1029.32 880.198 729.98 652.453 581.179 523.002 453.874 400.641 359.72 320.788 287.696 254.674 215.934 190.5 169.786 151.84 136.64 122.129 109.406 97.953 85.9756 77.1065 68.5667 61.2846 52.8836 47.2671 42.0798 34.8192 30.718 26.9313 23.935 21.1517 18.4395 15.8128 14.0694 12.6467 11.2652 10.1486 7.40874 4.12192 1.53321 1.01486 FT-LI 46 0.99500 10000 1500000 0 6.89922e-06 3.06551e-06 1.57661e-06 1.49394e-06 6.04001e-07 4.45103e-07 3.26106e-07 2.32644e-07 1.27765e-07 7.47124e-08 5.71024e-08 5.43605e-08 3.49974e-08 2.45767e-08 1.51903e-08 9.20428e-09 8.18388e-09 7.08352e-09 4.38e-09 3.50359e-09 2.08868e-09 1.80038e-09 1.66966e-09 1.08623e-09 9.40417e-10 6.827e-10 5.77718e-10 5.19002e-10 3.53504e-10 2.6564e-10 2.31906e-10 2.0578e-10 1.64723e-10 1.63555e-10 1.49853e-10 1.33499e-10 1.02591e-10 7.52308e-11 5.35186e-11 4.66752e-11 8.5792e-14 1.36524e-14 5.10635e-15 2.45908e-15 2.31465e-15 1.81013e-15 1295.06 1146.42 1029.32 880.198 729.98 652.453 581.179 523.002 453.874 400.641 359.72 320.788 287.696 254.674 215.934 190.5 169.786 151.84 136.64 122.129 109.406 97.953 85.9756 77.1065 68.5667 61.2846 52.8836 47.2671 42.0798 34.8192 30.718 27.3779 24.4148 21.1517 18.4395 15.8038 14.0694 12.6467 11.2652 10.1486 7.40874 4.12192 1.53321 1.35109 1.11165 1.01486 FT-GC 43 0.99500 10000 1500000 0 0.00212796 0.00142322 0.000817938 0.000580356 0.00051241 0.000356634 0.000276589 0.000228027 0.00016251 0.000141133 0.000135338 0.000126419 0.000112685 0.000100657 8.43962e-05 7.21917e-05 6.68068e-05 6.34907e-05 5.27774e-05 3.64472e-05 3.35322e-05 2.05204e-05 1.86393e-05 1.79424e-05 1.61423e-05 1.42128e-05 1.06091e-05 9.80572e-06 9.07388e-06 7.43298e-06 7.25012e-06 6.6924e-06 5.9947e-06 5.67473e-06 5.34725e-06 5.01684e-06 4.21121e-06 3.78684e-06 3.61696e-06 3.12791e-06 6.29451e-08 3.30615e-08 2.64426e-08 1343.7 1191.19 1052.96 928.984 832.29 744.231 628.242 540.351 470.14 397.822 344.97 300.579 269.422 239.073 214.292 187.885 167.845 147.374 129.337 111.35 99.9514 79.6135 70.1724 62.8986 55.4929 49.1711 42.6181 37.6363 33.8649 29.3658 25.1124 22.0708 19.5283 17.5546 15.5547 13.5271 11.8545 10.2895 8.91819 7.84071 2.7162 1.41003 0.784071 FT-GI 43 0.99500 10000 1500000 0 0.00252739 0.00166999 0.00117539 0.000705901 0.000608685 0.0004661 0.000396784 0.000266913 0.000232868 0.000213123 0.00020136 0.000176415 0.000154849 0.000124641 0.000113922 9.76335e-05 8.7818e-05 8.03046e-05 5.66026e-05 5.31501e-05 4.0909e-05 2.82436e-05 2.59482e-05 2.34735e-05 2.21661e-05 1.80153e-05 1.44263e-05 1.3675e-05 1.23961e-05 1.06437e-05 9.5988e-06 9.20984e-06 8.33912e-06 8.05843e-06 7.57917e-06 6.70309e-06 5.78847e-06 5.21944e-06 4.93228e-06 4.56416e-06 7.25273e-08 3.616e-08 3.2695e-08 1343.7 1191.19 1052.96 928.984 832.29 744.231 628.242 540.351 470.14 397.822 344.97 300.579 269.422 239.073 214.292 187.885 167.845 147.374 129.337 111.35 99.9514 79.6135 70.1724 62.8986 55.4929 49.1711 42.6181 37.6363 33.8649 29.3658 25.1124 22.0708 19.5283 17.5546 15.5547 13.5271 11.657 10.2895 8.91819 7.84071 2.7162 1.41003 0.784071 MODEL: [ ROOT 0 ] S 0 -1 0 1 4 -5.648 -2.579 -0.319 -6.501 IL 1 1 2 1 4 -7.563 -1.162 -0.883 -7.444 0.000 0.000 0.000 0.000 IR 2 2 3 2 3 -0.590 -1.575 -13.397 0.000 0.000 0.000 0.000 [ MATR 1 ] MR 3 2 3 5 5 -8.975 -0.004 -15.243 -10.019 -16.346 1.100 -2.060 -0.143 -0.494 D 4 2 3 5 5 -9.586 -0.666 -7.212 -1.507 -6.638 IR 5 5 3 5 5 -3.882 -0.160 -7.394 -5.561 -6.667 0.000 0.000 0.000 0.000 [ MATP 2 ] MP 6 5 3 10 6 -16.368 -16.308 -0.000 -15.084 -15.364 -15.759 -6.525 -3.792 -3.521 1.443 -3.625 -4.783 0.563 -6.319 -9.800 3.068 -7.050 0.583 0.501 -9.830 -6.513 -2.432 ML 7 5 3 10 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 8 5 3 10 6 -10.281 -9.010 -0.103 -8.988 -4.122 -7.202 -1.923 -0.767 -2.731 1.584 D 9 5 3 10 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 10 10 5 10 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 11 11 6 11 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 3 ] MP 12 11 6 16 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -9.524 -9.538 -9.735 1.448 -4.029 -5.545 2.274 -4.561 -5.315 2.386 -5.710 -0.523 1.085 -7.201 -2.529 -4.652 ML 13 11 6 16 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 14 11 6 16 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 15 11 6 16 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 16 16 5 16 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 17 17 6 17 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 4 ] MP 18 17 6 22 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -4.541 -5.056 -5.214 1.547 -4.251 -5.755 2.045 -4.937 -9.891 2.122 -4.743 -0.609 1.740 -6.039 -1.771 -4.282 ML 19 17 6 22 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 20 17 6 22 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 21 17 6 22 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 22 22 5 22 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 23 23 6 23 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 5 ] MP 24 23 6 28 6 -9.206 -16.315 -0.003 -15.091 -10.765 -15.766 -3.151 -4.461 -6.395 1.752 -3.365 -4.465 1.711 -5.161 -6.037 2.234 -5.802 -0.546 1.499 -9.381 -0.431 -5.277 ML 25 23 6 28 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 26 23 6 28 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 27 23 6 28 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 28 28 5 28 6 -4.405 -4.668 -0.177 -6.323 -7.099 -6.759 0.000 0.000 0.000 0.000 IR 29 29 6 29 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 6 ] MP 30 29 6 34 6 -16.375 -16.314 -0.000 -15.090 -15.370 -15.765 -4.149 -3.448 -5.046 2.230 -3.502 -5.433 1.788 -4.536 -5.589 1.709 -5.018 -0.348 1.398 -7.202 -0.564 -3.383 ML 31 29 6 34 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 32 29 6 34 6 -7.974 -6.703 -0.602 -6.681 -1.815 -4.895 -0.178 0.869 -1.029 -0.324 D 33 29 6 34 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 34 34 5 34 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 35 35 6 35 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 7 ] MP 36 35 6 40 6 -10.854 -16.315 -0.003 -9.744 -15.371 -15.766 -5.207 -4.740 -5.197 1.814 -3.776 -5.987 1.514 -4.949 -9.895 1.580 -9.857 -1.028 2.158 -4.964 0.081 -1.393 ML 37 35 6 40 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 38 35 6 40 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 39 35 6 40 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 40 40 5 40 6 -3.427 -3.690 -0.373 -5.345 -6.121 -5.782 0.000 0.000 0.000 0.000 IR 41 41 6 41 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 8 ] MP 42 41 6 46 4 -15.599 -7.747 -0.011 -8.592 -10.069 -5.487 -11.029 2.479 -11.887 -10.869 -0.898 -10.539 -6.032 2.548 -9.870 -0.551 1.705 -10.226 -5.615 -4.833 ML 43 41 6 46 4 -5.210 -5.393 -0.165 -4.122 -0.855 -1.359 -1.638 1.452 MR 44 41 6 46 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 45 41 6 46 4 -4.568 -4.250 -2.265 -0.520 IL 46 46 5 46 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 47 47 6 47 3 -3.769 -0.128 -6.469 0.000 0.000 0.000 0.000 [ MATL 9 ] ML 48 47 6 50 3 -7.229 -0.022 -6.842 -2.035 -4.901 -2.973 1.846 D 49 47 6 50 3 -9.461 -0.106 -3.853 IL 50 50 3 50 3 -4.199 -0.094 -6.899 0.000 0.000 0.000 0.000 [ MATL 10 ] ML 51 50 3 53 2 -6.781 -0.013 1.370 -2.907 0.244 -3.366 D 52 50 3 53 2 -9.934 -0.001 IL 53 53 3 53 2 -5.693 -0.028 0.000 0.000 0.000 0.000 [ BIF 11 ] B 54 53 3 55 164 [ BEGL 12 ] S 55 54 1 56 1 0.000 [ BIF 13 ] B 56 55 1 57 107 [ BEGL 14 ] S 57 56 1 58 4 -0.000 -14.504 -13.911 -14.551 [ MATP 15 ] MP 58 57 1 62 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -4.982 -5.279 -3.473 0.151 -5.638 -4.923 -0.527 -5.338 -4.119 3.473 -5.094 1.108 -0.938 -10.116 -4.101 -4.610 ML 59 57 1 62 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 60 57 1 62 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 61 57 1 62 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 62 62 5 62 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 63 63 6 63 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 16 ] MP 64 63 6 68 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -9.445 -4.818 -7.218 -1.008 -5.649 -10.166 3.101 -9.620 -9.900 -0.074 -6.604 -4.832 2.450 -3.763 -1.743 -5.491 ML 65 63 6 68 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 66 63 6 68 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 67 63 6 68 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 68 68 5 68 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 69 69 6 69 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 17 ] MP 70 69 6 74 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -3.216 -4.370 -9.589 0.965 -3.416 -6.636 1.533 -6.131 -4.906 1.423 -9.862 -3.559 2.957 -7.218 -1.772 -5.940 ML 71 69 6 74 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 72 69 6 74 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 73 69 6 74 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 74 74 5 74 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 75 75 6 75 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 18 ] MP 76 75 6 80 4 -15.600 -15.807 -0.004 -8.390 0.578 -3.706 -2.865 -0.125 -2.517 -3.878 2.050 -5.093 1.038 -2.011 -3.551 -1.815 1.845 -3.332 0.894 -0.433 ML 77 75 6 80 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 78 75 6 80 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 79 75 6 80 4 -4.568 -4.250 -2.265 -0.520 IL 80 80 5 80 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 81 81 6 81 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 19 ] ML 82 81 6 84 3 -16.505 -0.017 -6.438 1.873 -5.019 -3.121 -2.389 D 83 81 6 84 3 -9.649 -5.162 -0.043 IL 84 84 3 84 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 20 ] ML 85 84 3 87 3 -16.489 -0.260 -2.602 0.760 -2.963 0.888 -1.611 D 86 84 3 87 3 -11.840 -7.353 -0.009 IL 87 87 3 87 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 21 ] ML 88 87 3 90 3 -16.229 -1.139 -0.873 -0.871 -0.362 -2.505 1.321 D 89 87 3 90 3 -15.430 -10.943 -0.001 IL 90 90 3 90 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 22 ] ML 91 90 3 93 3 -2.064 -0.410 -6.932 -1.344 0.043 -3.899 1.327 D 92 90 3 93 3 -17.254 -0.140 -3.439 IL 93 93 3 93 3 -4.644 -0.060 -10.489 0.000 0.000 0.000 0.000 [ MATL 23 ] ML 94 93 3 96 3 -16.419 -0.000 -15.073 -1.181 -2.707 1.649 -1.886 D 95 93 3 96 3 -13.891 -9.404 -0.002 IL 96 96 3 96 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 24 ] ML 97 96 3 99 3 -16.419 -0.319 -2.335 -1.565 -2.573 1.615 -1.218 D 98 96 3 99 3 -13.891 -9.404 -0.002 IL 99 99 3 99 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 25 ] ML 100 99 3 102 3 -0.979 -1.031 -8.141 -1.478 -1.029 -2.625 1.580 D 101 99 3 102 3 -5.311 -0.057 -6.216 IL 102 102 3 102 3 -2.215 -0.364 -7.102 0.000 0.000 0.000 0.000 [ MATL 26 ] ML 103 102 3 105 2 * 0.000 1.761 -3.648 -1.627 -2.270 D 104 102 3 105 2 * 0.000 IL 105 105 3 105 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 27 ] E 106 105 3 -1 0 [ BEGR 28 ] S 107 56 1 108 3 -16.510 -0.006 -7.945 IL 108 108 2 108 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 29 ] ML 109 108 2 111 5 -7.291 -0.010 -10.711 -15.465 -16.356 0.871 -2.591 0.703 -1.403 D 110 108 2 111 5 -8.103 -0.071 -7.364 -5.739 -5.652 IL 111 111 3 111 5 -5.174 -0.316 -2.622 -8.685 -7.958 0.000 0.000 0.000 0.000 [ MATP 30 ] MP 112 111 3 116 6 -10.027 -10.988 -0.002 -15.089 -15.369 -15.764 -2.275 -4.519 -5.191 1.364 -2.449 -3.128 2.152 -2.093 -3.346 -0.037 -9.507 -0.054 2.317 -2.913 -0.382 -1.999 ML 113 111 3 116 6 -8.418 -8.764 -0.206 -3.173 -8.614 -6.144 -0.633 -0.349 0.997 -0.800 MR 114 111 3 116 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 115 111 3 116 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 116 116 5 116 6 -3.860 -4.123 -0.266 -5.778 -6.555 -6.215 0.000 0.000 0.000 0.000 IR 117 117 6 117 5 -2.935 -0.326 -6.446 -4.614 -5.719 0.000 0.000 0.000 0.000 [ MATP 31 ] MP 118 117 6 122 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -9.444 -9.644 -9.587 1.469 -8.195 -5.438 2.423 -3.814 -9.898 0.212 -9.860 -1.084 2.434 -9.404 -0.984 -2.166 ML 119 117 6 122 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 120 117 6 122 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 121 117 6 122 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 122 122 5 122 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 123 123 6 123 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 32 ] MP 124 123 6 128 6 -16.375 -16.315 -0.001 -15.091 -10.136 -15.766 -5.455 -2.800 -10.463 2.102 -4.795 -5.771 0.873 -10.218 -10.099 2.373 -7.377 -3.302 2.056 -7.863 -3.353 -3.249 ML 125 123 6 128 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 126 123 6 128 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 127 123 6 128 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 128 128 5 128 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 129 129 6 129 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 33 ] MP 130 129 6 134 6 -16.374 -16.313 -0.000 -15.090 -15.370 -15.765 -5.626 -5.061 -11.029 1.022 -6.809 -10.870 1.567 -5.910 -10.185 3.199 -9.871 0.030 -1.500 -5.947 -2.003 -3.280 ML 131 129 6 134 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 132 129 6 134 6 -8.333 -7.062 -0.446 -7.040 -2.174 -5.253 -0.561 -1.145 -1.345 1.308 D 133 129 6 134 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 134 134 5 134 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 135 135 6 135 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 34 ] MP 136 135 6 140 4 -15.600 -15.807 -0.000 -14.221 -4.643 -3.598 -4.445 2.520 -5.324 -10.061 1.891 -5.575 -5.849 1.582 -4.152 -1.774 1.115 -5.848 -0.751 -2.312 ML 137 135 6 140 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 138 135 6 140 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 139 135 6 140 4 -4.568 -4.250 -2.265 -0.520 IL 140 140 5 140 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 141 141 6 141 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 35 ] ML 142 141 6 144 3 -8.892 -0.003 -15.164 -3.426 1.205 -4.796 0.646 D 143 141 6 144 3 -6.174 -1.687 -0.566 IL 144 144 3 144 3 -2.936 -0.236 -5.636 0.000 0.000 0.000 0.000 [ MATL 36 ] ML 145 144 3 147 3 -16.510 -0.000 -15.164 -9.794 -3.318 -10.511 1.963 D 146 144 3 147 3 -6.174 -1.687 -0.566 IL 147 147 3 147 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 37 ] ML 148 147 3 150 3 -16.510 -0.000 -15.164 -2.395 -0.665 0.411 0.887 D 149 147 3 150 3 -6.174 -1.687 -0.566 IL 150 150 3 150 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 38 ] ML 151 150 3 153 3 -16.510 -0.000 -15.164 0.200 -0.175 -0.316 0.217 D 152 150 3 153 3 -6.174 -1.687 -0.566 IL 153 153 3 153 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 39 ] ML 154 153 3 156 3 -16.510 -0.000 -15.164 0.119 -0.102 -0.270 0.205 D 155 153 3 156 3 -6.174 -1.687 -0.566 IL 156 156 3 156 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 40 ] ML 157 156 3 159 3 -5.040 -0.045 -15.164 1.609 -7.196 -0.129 -5.136 D 158 156 3 159 3 -6.174 -1.687 -0.566 IL 159 159 3 159 3 -0.077 -4.263 -13.157 0.000 0.000 0.000 0.000 [ MATL 41 ] ML 160 159 3 162 2 * 0.000 1.421 -0.510 -2.807 -1.067 D 161 159 3 162 2 * 0.000 IL 162 162 3 162 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 42 ] E 163 162 3 -1 0 [ BEGR 43 ] S 164 54 1 165 3 -16.510 -0.000 -15.164 IL 165 165 2 165 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 44 ] ML 166 165 2 168 3 -16.510 -0.213 -2.864 0.945 -0.909 -1.101 0.105 D 167 165 2 168 3 -6.174 -1.687 -0.566 IL 168 168 3 168 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 45 ] ML 169 168 3 171 2 -8.437 -0.004 0.209 -2.944 1.009 -0.511 D 170 168 3 171 2 -13.333 -0.000 IL 171 171 3 171 2 -4.072 -0.088 0.000 0.000 0.000 0.000 [ BIF 46 ] B 172 171 3 173 229 [ BEGL 47 ] S 173 172 1 174 4 -2.739 -7.052 -13.911 -0.247 [ MATP 48 ] MP 174 173 1 178 6 -13.651 -13.590 -0.001 -12.367 -12.646 -13.042 -7.378 -3.262 -2.664 1.401 -9.191 -8.178 0.916 -7.848 -7.494 2.950 -1.326 0.241 0.599 -2.960 -2.133 -6.726 ML 175 173 1 178 6 -10.279 -10.625 -5.340 -2.063 -10.475 -0.447 -1.323 -0.765 0.179 0.911 MR 176 173 1 178 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 177 173 1 178 6 -20.150 -18.848 -14.645 -15.327 -15.345 -0.000 IL 178 178 5 178 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 179 179 6 179 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 49 ] MP 180 179 6 184 6 -13.651 -13.590 -0.066 -12.367 -12.646 -4.502 -6.818 -2.333 -6.978 1.203 -2.760 -7.540 2.220 -6.998 -7.263 2.149 -3.605 -3.587 1.847 -6.783 -2.348 -1.991 ML 181 179 6 184 6 -8.391 -8.737 -3.451 -0.174 -8.587 -6.116 -1.508 -2.625 1.693 -1.979 MR 182 179 6 184 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 183 179 6 184 6 -20.160 -18.858 -14.655 -15.337 -15.355 -0.000 IL 184 184 5 184 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 185 185 6 185 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 50 ] MP 186 185 6 190 6 -5.550 -7.140 -0.646 -12.302 -12.582 -1.590 -2.978 -6.926 -6.872 1.351 -1.939 -2.601 2.503 -2.814 -7.180 1.357 -3.580 -1.004 1.542 -6.687 -0.240 -2.743 ML 187 185 6 190 6 -8.391 -8.737 -3.451 -0.174 -8.587 -6.116 -1.508 -2.625 1.693 -1.979 MR 188 185 6 190 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 189 185 6 190 6 -20.171 -18.869 -14.666 -15.348 -15.366 -0.000 IL 190 190 5 190 6 -5.078 -5.341 -0.109 -6.996 -7.772 -7.433 0.000 0.000 0.000 0.000 IR 191 191 6 191 5 -3.357 -0.236 -6.868 -5.036 -6.142 0.000 0.000 0.000 0.000 [ MATP 51 ] MP 192 191 6 196 6 -13.004 -12.943 -0.862 -11.720 -12.000 -1.155 -2.675 -6.404 -6.348 0.030 -2.186 -6.923 2.431 -6.376 -6.658 1.555 -6.621 -1.547 1.902 -1.179 0.569 -2.313 ML 193 191 6 196 6 -8.391 -8.737 -3.451 -0.174 -8.587 -6.116 -1.356 -1.735 -2.137 1.624 MR 194 191 6 196 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 195 191 6 196 6 -20.250 -18.948 -14.745 -15.427 -15.445 -0.000 IL 196 196 5 196 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 197 197 6 197 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 52 ] MP 198 197 6 202 6 -12.145 -12.084 -0.644 -10.860 -11.140 -1.480 -5.488 -5.309 -5.782 1.654 -0.421 -6.196 1.066 -5.713 -5.833 1.703 -5.746 1.008 1.654 -1.415 0.063 -4.481 ML 199 197 6 202 6 -8.391 -8.737 -0.210 -3.146 -8.587 -6.116 1.778 -2.623 -2.546 -2.083 MR 200 197 6 202 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 201 197 6 202 6 -20.318 -19.016 -14.813 -15.495 -15.513 -0.000 IL 202 202 5 202 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 203 203 6 203 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 53 ] MP 204 203 6 208 6 -11.574 -11.513 -0.890 -10.289 -10.569 -1.126 -4.895 -4.674 -5.193 1.765 -4.209 -5.561 1.609 -5.102 -1.734 1.630 -1.867 -2.226 1.414 -4.868 0.796 0.041 ML 205 203 6 208 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 206 203 6 208 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 207 203 6 208 6 -20.346 -19.045 -14.842 -15.524 -15.541 -0.000 IL 208 208 5 208 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 209 209 6 209 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 54 ] MP 210 209 6 214 4 -9.587 -0.703 -1.392 -8.209 -4.042 -4.606 -4.454 -0.413 -3.162 -5.149 2.248 -4.598 -1.338 -0.611 -4.856 -0.859 2.459 -4.254 1.259 -0.760 ML 211 209 6 214 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 212 209 6 214 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 213 209 6 214 4 -15.793 -5.734 -3.090 -0.211 IL 214 214 5 214 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 215 215 6 215 3 -6.101 -0.024 -8.801 0.000 0.000 0.000 0.000 [ MATL 55 ] ML 216 215 6 218 3 -13.770 -0.010 -7.152 -0.289 -1.583 0.139 0.804 D 217 215 6 218 3 -17.695 -13.208 -0.000 IL 218 218 3 218 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 56 ] ML 219 218 3 221 3 -13.760 -0.088 -4.086 0.094 -0.451 -1.987 0.963 D 220 218 3 221 3 -17.697 -13.210 -0.000 IL 221 221 3 221 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 57 ] ML 222 221 3 224 3 -5.013 -0.584 -1.729 0.935 -0.852 -2.754 0.471 D 223 221 3 224 3 -17.711 -13.224 -0.000 IL 224 224 3 224 3 -2.268 -0.355 -6.610 0.000 0.000 0.000 0.000 [ MATL 58 ] ML 225 224 3 227 2 * 0.000 0.723 -1.172 0.113 -0.280 D 226 224 3 227 2 * 0.000 IL 227 227 3 227 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 59 ] E 228 227 3 -1 0 [ BEGR 60 ] S 229 172 1 230 3 -16.510 -0.070 -4.391 IL 230 230 2 230 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 61 ] ML 231 230 2 233 3 -1.100 -0.910 -9.578 0.539 -3.489 0.896 -0.742 D 232 230 2 233 3 -5.057 -0.050 -7.937 IL 233 233 3 233 3 -5.401 -0.035 -12.774 0.000 0.000 0.000 0.000 [ MATL 62 ] ML 234 233 3 236 5 -15.441 -0.000 -15.257 -15.469 -16.360 -1.725 0.910 -2.834 0.747 D 235 233 3 236 5 -6.712 -0.196 -5.973 -4.348 -4.260 IL 236 236 3 236 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 63 ] MP 237 236 3 241 6 -16.375 -8.028 -0.006 -15.091 -15.371 -15.766 -4.363 -5.904 -4.951 2.195 -5.887 -10.865 1.261 -7.646 -10.183 2.553 -7.261 0.855 -0.188 -2.969 -2.582 -4.438 ML 238 236 3 241 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 239 236 3 241 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 240 236 3 241 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 241 241 5 241 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 242 242 6 242 5 -4.580 -0.096 -8.091 -6.259 -7.365 0.000 0.000 0.000 0.000 [ MATP 64 ] MP 243 242 6 247 6 -16.375 -16.315 -0.000 -15.091 -15.371 -15.766 -9.443 -4.760 -9.587 1.719 -4.752 -5.369 2.210 -6.231 -9.897 1.303 -9.860 -0.406 1.985 -4.679 -0.783 -2.597 ML 244 242 6 247 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 245 242 6 247 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 246 242 6 247 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 247 247 5 247 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 248 248 6 248 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 65 ] MP 249 248 6 253 6 -8.053 -9.845 -0.025 -15.091 -15.371 -6.379 -10.069 -2.783 -11.026 2.249 -11.860 -10.869 1.059 -6.596 -7.201 2.500 -5.368 -1.059 1.201 -10.226 -1.256 -3.093 ML 250 248 6 253 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 251 248 6 253 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 252 248 6 253 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 253 253 5 253 6 -5.319 -5.582 -0.091 -7.237 -8.013 -7.674 0.000 0.000 0.000 0.000 IR 254 254 6 254 5 -3.399 -0.228 -6.910 -5.078 -6.184 0.000 0.000 0.000 0.000 [ MATP 66 ] MP 255 254 6 259 6 -16.358 -16.297 -0.099 -11.314 -10.478 -3.945 -10.053 -2.531 -11.013 1.762 -4.682 -7.764 -1.490 -4.833 -4.809 3.412 -9.855 -2.099 -0.242 -5.823 -2.336 -5.371 ML 256 254 6 259 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 257 254 6 259 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 258 254 6 259 6 -14.063 -12.761 -8.558 -9.240 -9.258 -0.009 IL 259 259 5 259 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 260 260 6 260 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 67 ] MP 261 260 6 265 4 -15.484 -15.691 -0.061 -4.602 -13.326 -2.480 -14.240 -0.224 -2.730 -4.165 -3.425 -4.997 -10.239 3.806 -6.447 -2.361 -2.185 -4.262 -3.341 -3.952 ML 262 260 6 265 4 -4.389 -4.572 -0.306 -3.301 0.095 0.542 -0.787 -0.158 MR 263 260 6 265 4 -6.056 -5.085 -0.499 -2.013 -0.341 1.024 -1.181 -0.443 D 264 260 6 265 4 -12.113 -11.794 -0.905 -1.103 IL 265 265 5 265 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 266 266 6 266 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 68 ] ML 267 266 6 269 3 -10.928 -0.001 -12.013 -1.929 -2.701 -3.856 1.813 D 268 266 6 269 3 -14.166 -0.088 -4.081 IL 269 269 3 269 3 -1.931 -0.520 -4.631 0.000 0.000 0.000 0.000 [ MATL 69 ] ML 270 269 3 272 3 -16.503 -0.003 -8.936 -2.119 -3.122 -1.967 1.765 D 271 269 3 272 3 -10.178 -0.063 -4.570 IL 272 272 3 272 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 70 ] ML 273 272 3 275 3 -16.507 -0.002 -9.836 -0.819 1.547 -3.433 -1.258 D 274 272 3 275 3 -9.161 -0.131 -3.553 IL 275 275 3 275 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 71 ] ML 276 275 3 278 3 -7.363 -0.027 -6.334 0.774 -2.691 0.903 -1.915 D 277 275 3 278 3 -8.400 -0.230 -2.791 IL 278 278 3 278 3 -4.087 -0.101 -6.787 0.000 0.000 0.000 0.000 [ MATL 72 ] ML 279 278 3 281 3 -16.492 -0.081 -4.192 1.833 -3.456 -3.499 -1.953 D 280 278 3 281 3 -11.623 -7.136 -0.011 IL 281 281 3 281 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 73 ] ML 282 281 3 284 3 -6.078 -0.150 -3.576 0.776 -1.355 -0.284 0.105 D 283 281 3 284 3 -14.021 -5.762 -0.027 IL 284 284 3 284 3 -2.594 -0.268 -8.060 0.000 0.000 0.000 0.000 [ MATL 74 ] ML 285 284 3 287 2 * 0.000 -2.332 -0.701 -3.752 1.638 D 286 284 3 287 2 * 0.000 IL 287 287 3 287 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 75 ] E 288 287 3 -1 0 // tRNAscan-SE-1.3.1/TRNA2-bactns.cm0000644000543100001440000016402311021467310015122 0ustar pchanusers### cove V2 94 nodes ### node 0 type 6 1 -1 0.01186 0.00000 0.93676 0.00000 0.04743 0.00395 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.06667 0.00000 0.80000 0.00000 0.06667 0.06667 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.13333 0.06667 0.66667 0.13333 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 1 type 2 2 -1 0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00400 0.00000 0.99200 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03984 0.11155 0.78884 0.05976 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 2 type 2 3 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.02372 0.34783 0.58498 0.04348 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 3 type 2 4 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16206 0.30435 0.43874 0.09486 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 4 type 2 5 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.06719 0.29644 0.50988 0.12648 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 5 type 2 6 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21344 0.35573 0.35968 0.07115 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 6 type 2 7 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.98810 0.00000 0.00794 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.20000 0.40000 0.20000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.22530 0.23320 0.24506 0.29644 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 7 type 2 8 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.24901 0.02767 0.46245 0.26087 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 8 type 2 9 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00797 0.00000 0.98805 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00397 0.00397 0.00794 0.98413 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 9 type 2 10 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.68254 0.03175 0.26587 0.01984 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 10 type 2 11 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00791 0.06324 0.91304 0.01581 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 11 type 2 12 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.05929 0.73913 0.01186 0.18972 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 12 type 2 13 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.02372 0.13834 0.26087 0.57708 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 13 type 2 14 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16206 0.62846 0.13834 0.07115 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 14 type 2 15 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.97628 0.00791 0.00791 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 15 type 2 16 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01190 0.00000 0.98413 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.20553 0.01186 0.77470 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 16 type 2 17 -1 0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.28000 0.00000 0.71600 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03984 0.33068 0.03187 0.59761 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 17 type 2 18 -1 0.01351 0.00000 0.97297 0.00000 0.01351 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00552 0.00000 0.83978 0.00000 0.15470 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03226 0.00000 0.90323 0.00000 0.06452 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03125 0.25000 0.03125 0.68750 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.06593 0.17582 0.00549 0.75275 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 18 type 2 19 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.98419 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 19 type 2 20 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.98814 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 20 type 2 21 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.52381 0.00000 0.47222 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00685 0.00000 0.81507 0.00000 0.17808 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.21769 0.08844 0.12245 0.57143 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.06324 0.17787 0.09881 0.66008 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 21 type 2 22 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.87747 0.00395 0.10672 0.01186 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 22 type 2 23 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.29644 0.00395 0.66798 0.03162 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 23 type 2 24 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.58103 0.25692 0.13834 0.02372 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 24 type 2 25 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.18182 0.00791 0.75099 0.05929 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 25 type 2 26 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.01581 0.87352 0.06324 0.04743 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 26 type 2 27 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.55159 0.03175 0.38095 0.03571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 27 type 2 28 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16206 0.51779 0.11858 0.20158 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 28 type 2 29 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.15810 0.52964 0.08300 0.22925 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 29 type 2 30 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16996 0.20949 0.30830 0.31225 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 30 type 2 31 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.01581 0.22925 0.74704 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 31 type 2 32 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.32806 0.38735 0.19763 0.08696 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 32 type 2 33 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.01976 0.64822 0.00395 0.32806 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 33 type 2 34 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.00395 0.98814 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 34 type 2 35 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03162 0.24506 0.34387 0.37945 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 35 type 2 36 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.30830 0.19763 0.24901 0.24506 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 36 type 2 37 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21344 0.25296 0.20949 0.32411 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 37 type 2 38 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.80632 0.00395 0.18577 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 38 type 2 39 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.68775 0.20158 0.00791 0.10277 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 39 type 2 40 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.08300 0.19763 0.39130 0.32806 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 40 type 2 41 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.72332 0.22925 0.04348 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 41 type 2 42 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.31621 0.30435 0.20949 0.16996 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 42 type 2 43 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21344 0.06324 0.53755 0.18577 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 43 type 2 44 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.19368 0.07510 0.52174 0.20949 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 44 type 2 45 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.00000 0.82937 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.33992 0.19763 0.25296 0.20949 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 45 type 2 46 -1 0.02273 0.00000 0.95455 0.00000 0.02273 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.93839 0.00000 0.04739 0.00000 0.01422 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.50000 0.16667 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16038 0.02358 0.68396 0.13208 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 46 type 2 47 -1 0.99000 0.00000 0.00500 0.00000 0.00500 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03636 0.00000 0.94545 0.00000 0.01818 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.23214 0.07143 0.62500 0.07143 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 47 type 2 48 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03704 0.00000 0.94444 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.07273 0.29091 0.30909 0.32727 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 48 type 2 49 -1 0.99010 0.00000 0.00495 0.00000 0.00495 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.30189 0.00000 0.67925 0.00000 0.01887 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09259 0.53704 0.18519 0.18519 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 49 type 2 50 -1 0.99078 0.00000 0.00461 0.00000 0.00461 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.39474 0.00000 0.57895 0.00000 0.02632 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.15385 0.43590 0.25641 0.15385 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 50 type 2 51 -1 0.99134 0.00000 0.00433 0.00000 0.00433 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.37500 0.00000 0.58333 0.00000 0.04167 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16000 0.12000 0.60000 0.12000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 51 type 2 52 -1 0.99163 0.00000 0.00418 0.00000 0.00418 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.56250 0.00000 0.37500 0.00000 0.06250 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.17647 0.11765 0.47059 0.23529 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 52 type 2 53 -1 0.80567 0.00000 0.19028 0.00000 0.00405 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.11111 0.22222 0.11111 0.55556 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 53 type 2 54 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.07273 0.45455 0.38182 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 54 type 2 55 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.23636 0.21818 0.03636 0.50909 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 55 type 2 56 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.18519 0.00000 0.77778 0.00000 0.03704 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.40000 0.20000 0.20000 0.20000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.61818 0.16364 0.05455 0.16364 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 56 type 2 57 -1 0.99048 0.00000 0.00476 0.00000 0.00476 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.66667 0.00000 0.04444 0.00000 0.28889 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.60000 0.00000 0.33333 0.00000 0.06667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.18750 0.06250 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.52174 0.17391 0.17391 0.13043 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 57 type 2 58 -1 0.95951 0.00000 0.03644 0.00000 0.00405 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.33333 0.11111 0.33333 0.22222 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 58 type 2 59 -1 0.95816 0.00000 0.03766 0.00000 0.00418 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.06250 0.00000 0.87500 0.00000 0.06250 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.11765 0.41176 0.29412 0.17647 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 59 type 2 60 -1 0.93074 0.00000 0.06494 0.00000 0.00433 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.04167 0.00000 0.91667 0.00000 0.04167 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.08000 0.52000 0.12000 0.28000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 60 type 2 61 -1 0.92166 0.00000 0.07373 0.00000 0.00461 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.17949 0.25641 0.43590 0.12821 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 61 type 2 62 -1 0.98515 0.00000 0.00990 0.00000 0.00495 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01887 0.00000 0.96226 0.00000 0.01887 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.11111 0.14815 0.61111 0.12963 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 62 type 2 63 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.32727 0.29091 0.30909 0.07273 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 63 type 2 64 -1 0.00498 0.00000 0.99005 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.31481 0.00000 0.66667 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.05455 0.43636 0.20000 0.30909 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 64 type 2 65 -1 0.05263 0.00000 0.89474 0.00000 0.05263 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00424 0.00000 0.22458 0.00000 0.77119 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00543 0.00000 0.98913 0.00000 0.00543 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.02162 0.03784 0.03243 0.90811 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.08861 0.02532 0.78481 0.10127 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 65 type 2 66 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00791 0.77075 0.01186 0.20949 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 66 type 2 67 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.22134 0.07905 0.67984 0.01976 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 67 type 2 68 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.15415 0.37154 0.29644 0.17787 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 68 type 2 69 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.23715 0.23715 0.40711 0.11858 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 69 type 2 70 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.12648 0.00791 0.86166 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 70 type 2 71 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00791 0.00395 0.98419 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 71 type 2 72 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.00395 0.98814 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 72 type 2 73 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00397 0.00397 0.00397 0.98810 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 73 type 2 74 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.98814 0.00395 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 74 type 2 75 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.31225 0.00395 0.67984 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 75 type 2 76 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.98814 0.00395 0.00395 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 76 type 2 77 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01594 0.00000 0.98008 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.38095 0.03968 0.38095 0.19841 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 77 type 2 78 -1 0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00402 0.00000 0.99197 0.00000 0.00402 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00800 0.16000 0.00400 0.82800 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 78 type 2 79 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.97233 0.00791 0.01581 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 79 type 2 80 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.86561 0.00791 0.12253 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 80 type 2 81 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.11067 0.36759 0.24111 0.28063 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 81 type 2 82 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.11858 0.20553 0.42292 0.25296 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 82 type 2 83 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.01186 0.39526 0.07905 0.51383 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 83 type 2 84 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.26087 0.43083 0.02767 0.28063 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 84 type 2 85 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.24901 0.24901 0.27273 0.22925 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 85 type 2 86 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.04743 0.34783 0.37549 0.22925 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 86 type 2 87 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.10672 0.49407 0.31621 0.08300 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 87 type 2 88 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.36759 0.30830 0.23320 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 88 type 2 89 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03557 0.55336 0.35968 0.05138 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 89 type 2 90 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01190 0.00000 0.98016 0.00000 0.00794 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.40000 0.20000 0.20000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.08696 0.73123 0.07115 0.11067 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 90 type 2 91 -1 0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.17600 0.00000 0.82000 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.62550 0.03586 0.22311 0.11554 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 91 type 2 92 -1 0.95833 0.00000 0.02083 0.00000 0.02083 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00483 0.00000 0.99034 0.00000 0.00483 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00481 0.98558 0.00481 0.00481 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 92 type 2 93 -1 0.95833 0.00000 0.02083 0.00000 0.02083 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00483 0.00000 0.99034 0.00000 0.00483 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00481 0.98558 0.00481 0.00481 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 93 type 2 -1 -1 0.97872 0.00000 0.00000 0.00000 0.02128 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99515 0.00000 0.00000 0.00000 0.00485 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.98558 0.00481 0.00481 0.00481 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR tRNAscan-SE-1.3.1/maxmodelmaker.c0000644000543100001440000017513111021467304015502 0ustar pchanusers/* maxmodelmaker.c - maximum likelihood construction of a covariance model * Tue Aug 31 14:54:35 1993 * * Given a multiple sequence alignment, construct the model * which generates that alignment with maximal likelihood. * Uses a dynamic programming algorithm to assign a score * to the optimal subtree with a "root" node MATP, MATR, MATL, * BEGINL, BEGINR, or BIFURC aligned to matrix cell i,j, * where i and j are column and row positions in a multiple * sequence alignment. The alignment of ROOT to i=0,j=N-1 is * the score of the best model; a traceback from this point * creates the optimal tree structure. The tree structure is * explicitly aligned to the multiple sequence alignment, * so it is trivial to estimate the parameters of the model. * * * */ #include #include #include #include "version.h" #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif #define MAXINSERT 6 /* maximum INSL or INSR path length between MATP nodes */ /* Structure maxmx_s * * One per cell of the 2D diagonal matrix of the alignment * against itself. */ struct maxmx_s { int sc[NODETYPES-1]; /* scores of assigning each possible node type */ /*** Traceback info: */ short matp_i2; /* matp assignment connects to node ftype at i2,j2 */ short matp_j2; char matp_ftype; short matl_i2; /* matl assignment connects to node ftype at i2,j */ char matl_ftype; short matr_j2; /* matr assignment connects to node ftype at i,j2 */ char matr_ftype; char begl_ftype; /* begl assignment connects to node ftype at i,j */ short begr_i2; /* begr assignment connects to node ftype at i2, j */ char begr_ftype; short bifurc_mid; /* best bifurcation is into i,mid, mid+1,j */ }; static struct maxmx_s **alloc_maxmx(int alen); static void init_maxmx(struct maxmx_s **mmx, int nseq, int alen, struct prior_s *prior, int *mscore, double *gapcount); static void recurse_maxmx(int **aseqsT, float *weights, int alen, int nseq, struct prior_s *prior, int *mscore, double *gapcount, double gapthresh, struct maxmx_s **mmx); static void trace_maxmx(struct maxmx_s **mmx, int alen, struct trace_s **ret_mtr); static void transpose_alignment(char **aseqs, int alen, int nseq, int ***ret_aseqsT); static void singlet_emissions(int **aseqsT, float *weights, int alen,int nseq, struct prior_s *prior, int **ret_mscore, double **ret_gapcount); static int pair_emissioncost(int *coli, int *colj,float *weights, int nseq, struct prior_s *prior); static void frommatp_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int i2, int j2, int *accum_insl, int *accum_insr, double trans[STATETYPES][STATETYPES]); static void frommatl_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int i2, int *accum_insl, double trans[STATETYPES][STATETYPES]); static void frommatr_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int j2, int *accum_insr, double trans[STATETYPES][STATETYPES]); static void frombeginr_transtable(int **aseqsT, float *weights, int nseq, int j, int i2, int *accum_insl, double trans[STATETYPES][STATETYPES]); static void frombeginl_transtable(int **aseqsT, float *weights, int nseq, int i, int j, double trans[STATETYPES][STATETYPES]); static void fromroot_transtable(int **aseqsT, float *weights, int nseq, int i2,int j2, int *accum_insl, int *accum_insr, double trans[STATETYPES][STATETYPES]); static int assign_cell(int i, int j, int symi, int symj); static void to_matp_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]); static void to_matr_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]); static void to_matl_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]); static void to_bifurc_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]); static int dot_score(double *cvec, double *pvec, int veclen); #ifdef DEBUG static void print_mmx(struct maxmx_s **mmx, int alen); static void print_assignments(struct trace_s *mtr, int nseq, int alen, double *gapcount); #endif /* MACROS: copy_transtable() * copy_singlet() * copy_pairwise() * * For speed, we use memcpy() to do the operations, relying * on the fact that C stores 2D arrays in 1D. */ #define copy_transtable(tomx, frommx) memcpy((void *) tomx, (void *) frommx, sizeof(double) * STATETYPES * STATETYPES) #define copy_singlet(tovec, fromvec) memcpy((void *) tovec, (void *) fromvec, sizeof(double) * ALPHASIZE) #define copy_pairwise(tomx, frommx) memcpy((void *) tomx, (void *) frommx, sizeof(double) * ALPHASIZE * ALPHASIZE) /* MACROS: zero_transtable() * zero_singlet() * zero_pairwise() * * For speed, we use memset() to initialize, relying * on the fact that C stores 2D arrays in 1D. Are doubles * really eight 0 bytes when they're == 0.0? */ #define zero_transtable(mx) memset(mx, (char) 0, sizeof(double) * STATETYPES * STATETYPES) #define zero_singlet(vec) memset(vec, (char) 0, sizeof(double) * ALPHASIZE) #define zero_pairwise(mx) memset(mx, (char) 0, sizeof(double) * ALPHASIZE * ALPHASIZE) /* Function: Maxmodelmaker() * * Purpose: Create a maximally likely model structure from a multiple * sequence alignment. * * Args: aseqs - flushed sequence alignment; each seq is 0..alen-1 * ainfo - information about the alignment * nseq - number of sequences * gapthresh - heuristic: fractional occupancy <= a column must be a MAT of some kind * prior - prior probability distributions, and alphabet info * ret_ssinfo - RETURN: total info content of the alignment (may pass NULL) * ret_cm - RETURN: the new covariance model (may pass NULL) * ret_mtr - RETURN: master traceback for aseqs (may pass NULL) * * Return: 1 on success, 0 on failure. * ret_cm is alloc'ed here and must be free'd by the caller. */ int Maxmodelmaker(char **aseqs, AINFO *ainfo, int nseq, double gapthresh, struct prior_s *prior, double *ret_ssinfo, struct cm_s **ret_cm, struct trace_s **ret_mtr) { int **aseqsT; /* transpose of alignment, [1..alen+1][0..nseq-1] */ int *mscore; /* emission scores of single columns as MATR or MATL */ double *gapcount; /* weighted count of gap occurrence in each column */ struct maxmx_s **mmx; /* saved score and traceback pointer matrix */ struct cm_s *cm; /* RETURN: new model */ int nodes; /* size of new model in nodes */ struct trace_s *mtr; /* consensus master traceback */ struct trace_s *tr; /* individual "fake" traceback */ struct trmem_s *pool; /* memory pool for traceback */ int idx; /* counter for sequences */ float *wt; /* array of 0..nseq-1 weights */ double ssinfo; /* information content */ /* Set up an array of sequence weights */ if ((wt = (float *) malloc (sizeof(float) * nseq)) == NULL) Die("malloc failed"); for (idx = 0; idx < nseq; idx++) wt[idx] = (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? ainfo->sqinfo[idx].weight : 1.0; /* Transpose (and shift by 1 column index) aseqs[0..nseq-1][0..alen-1] to * aseqsT[1..alen+1][0..nseq-1]. */ transpose_alignment(aseqs, ainfo->alen, nseq, &aseqsT); /* Pre-calculate expected singlet emission scores for each column; * also, pick up a weighted count of gap occurrences in each column. */ singlet_emissions(aseqsT, wt, ainfo->alen, nseq, prior, &mscore, &gapcount); /* Allocate the scoring matrix. It is j=0..alen rows by i=1..j+1 columns; * i.e., a lower left diagonal matrix for 1..alen, with an extra off-diagonal * (j+1,j) for boundary conditions. */ mmx = alloc_maxmx(ainfo->alen); /* Initialize the off-diagonal (j+1,j) and the diagonal (j,j), to * set our boundary conditions. */ init_maxmx(mmx, nseq, ainfo->alen, prior, mscore, gapcount); /* The heart of the calculation: recursively calculate scores for all * subsequences i..j, and save traceback pointers. */ recurse_maxmx(aseqsT, wt, ainfo->alen, nseq, prior, mscore, gapcount, gapthresh, mmx); #ifdef DEBUG print_mmx(mmx,ainfo->alen); #endif /* Now we know the info content */ ssinfo = (double) (mmx[ainfo->alen][0].sc[MATP_NODE] / INTPRECISION); /* Traceback, constructing a consensus tree. */ trace_maxmx(mmx, ainfo->alen, &mtr); /* PrintTrace(stdout, mtr); */ /* Count nodes in the consensus tree and number them */ NumberMasterTrace(mtr, &nodes); /* Create a new model */ if ((cm = AllocCM(nodes)) == NULL) Die("failed to allocate for new model of %d nodes\n", nodes); TopofyNewCM(cm, mtr); /* For each sequence, construct an individual "fake" traceback * using the master, and count it into the new model. */ for (idx = 0; idx < nseq; idx++) { Transmogrify(mtr, aseqs[idx], &tr, &pool); if (! TraceCount(cm, aseqs[idx], wt[idx], tr)) Die("TraceCount() failed"); FreeTrace(tr, pool); } #ifdef DEBUG printf("Checking model after trace counts\n"); if (! VerifyCM(cm)) Die("Verification fails -- baaaad model\n"); #endif /* And, finally, convert the new model to probabilities. * There. Wasn't that simple? */ ProbifyCM(cm, prior); #ifdef DEBUG printf("Checking model after probify\n"); if (! VerifyCM(cm)) Die("Verification fails -- baaaad model\n"); #endif free(mscore); free(gapcount); Free2DArray(mmx, ainfo->alen+1); Free2DArray(aseqsT, ainfo->alen+2); free(wt); if (ret_mtr != NULL) *ret_mtr = mtr; else FreeTrace(mtr, NULL); if (ret_ssinfo != NULL) *ret_ssinfo = ssinfo; if (ret_cm != NULL) *ret_cm = cm; else FreeCM(cm); return 1; } /* Function: alloc_maxmx() * * Purpose: allocate the storage matrix. It is a lower left diagonal * matrix with inverted indexing, mmx[j][i], i <= j+1. * * Args: alen - width of alignment * * Return: mmx: allocated storage matrix. Can be free'd by Free2DArray(mmx, alen+1). */ static struct maxmx_s ** alloc_maxmx(int alen) { struct maxmx_s **mmx; int i, j, y; if ((mmx = (struct maxmx_s **) malloc ((alen+1) * sizeof(struct maxmx_s))) == NULL) Die("malloc failed"); for (j = 0; j <= alen; j++) if ((mmx[j] = (struct maxmx_s *) malloc ((j+2) * sizeof(struct maxmx_s))) == NULL) Die("malloc failed"); /* Set the whole matrix so that scores are NEGINFINITY and * each cell's traceback pointers point at itself. */ for (j = 0; j <= alen; j++) for (i = 0; i <= j+1; i++) { for (y = 0; y < NODETYPES-1; y++) mmx[j][i].sc[y] = NEGINFINITY; mmx[j][i].matp_i2 = (short) i; mmx[j][i].matp_j2 = (short) j; mmx[j][i].matp_ftype = (char) MATP_NODE; mmx[j][i].matl_i2 = (short) i; mmx[j][i].matl_ftype = (char) MATL_NODE; mmx[j][i].matr_j2 = (short) j; mmx[j][i].matr_ftype = (char) MATR_NODE; mmx[j][i].begl_ftype = (char) BEGINL_NODE; mmx[j][i].begr_i2 = (short) i; mmx[j][i].begr_ftype = (char) BEGINR_NODE; mmx[j][i].bifurc_mid = (short) i; } return mmx; } /* Function: init_maxmx() * * Purpose: Initialize the scoring matrix. The offdiagonal j+1,j and the * diagonal j,j are initialized. * * In the offdiagonal, we use BIFURC to represent END, and set * its score to zero. * * In the diagonal, it doesn't matter whether we use MATL or * MATR to generate single symbols; we use MATL for an implementation- * specific reason (if we use MATR, we need an extra row for i=0,j=-1) * MATL's get calculated scores and traceback pointers to * (j+1,j,END). BEGINL, BEGINR are also calculated here. * MATR, MATP, BIFURC are left at NEGINFINITY. * * Args: mmx: saved score/traceback pointer matrix * nseq: number of sequences in alignment * alen: number of columns in alignment * prior: prior probability distributions * mscore: singlet emission costs for each column * gapcount: weighted counts of gaps in each column * * Return: (void). maxmx() is initialized. */ static void init_maxmx(struct maxmx_s **mmx, int nseq, int alen, struct prior_s *prior, int *mscore, double *gapcount) { int j; int fromstate, tostate; double trans[STATETYPES][STATETYPES]; /* state transition matrix */ /* Do the offdiagonal (j+1,j). * set BIFURC/END alignment costs to zero. * Everything else is left at -oo. */ for (j = 0; j <= alen; j++) mmx[j][j+1].sc[END_NODE] = 0; /* Do the diagonal (j,j). * MATL is calculated; MATR is the same; then BEGINL, BEGINR are calculated. */ for (j = 1; j <= alen; j++) { /* Make a transition matrix for MATL -> END for this (j,j) */ for (fromstate = 0; fromstate < STATETYPES; fromstate++) for (tostate = 0; tostate < STATETYPES; tostate++) trans[fromstate][tostate] = 0.0; trans[MATL_ST][END_ST] = (double) nseq - gapcount[j]; trans[DEL_ST][END_ST] = gapcount[j]; ProbifyTransitionMatrix(trans, MATL_NODE, END_NODE, prior); /* Score = sum P(j | MATL) + sum T(END | j,j,(DEL|MATL)) * Set traceback pointers. */ mmx[j][j].sc[MATL_NODE] = mscore[j] + (int) (INTPRECISION * ((log(trans[MATL_ST][END_ST]) * ((double) nseq - gapcount[j])) + (log(trans[DEL_ST][END_ST]) * gapcount[j])) ); mmx[j][j].matl_i2 = j+1; mmx[j][j].matl_ftype = END_NODE; /* MATR_NODE scores are exactly the same as MATL_NODE on * the diagonal */ mmx[j][j].sc[MATR_NODE] = mmx[j][j].sc[MATL_NODE]; mmx[j][j].matr_j2 = j-1; mmx[j][j].matr_ftype = END_NODE; /* Calculate BEGINL -> MATL; * set traceback pointer. */ for (fromstate = 0; fromstate < STATETYPES; fromstate++) for (tostate = 0; tostate < STATETYPES; tostate++) trans[fromstate][tostate] = 0.0; trans[BEGIN_ST][MATL_ST] = (double) nseq - gapcount[j]; trans[BEGIN_ST][DEL_ST] = gapcount[j]; ProbifyTransitionMatrix(trans, BEGINL_NODE, MATL_NODE, prior); mmx[j][j].sc[BEGINL_NODE] = mmx[j][j].sc[MATL_NODE] + (int) (INTPRECISION * ((log(trans[BEGIN_ST][MATL_ST]) * ((double) nseq - gapcount[j])) + (log(trans[BEGIN_ST][DEL_ST]) * gapcount[j])) ); mmx[j][j].begl_ftype = MATL_NODE; /* Make a transition matrix for BEGINR -> MATL for this (j,j) */ for (fromstate = 0; fromstate < STATETYPES; fromstate++) for (tostate = 0; tostate < STATETYPES; tostate++) trans[fromstate][tostate] = 0.0; trans[BEGIN_ST][DEL_ST] = gapcount[j]; trans[BEGIN_ST][MATL_ST] = (double) nseq - gapcount[j]; ProbifyTransitionMatrix(trans, BEGINR_NODE, MATL_NODE, prior); /* Score for (j,j,BEGINR_NODE), and set traceback pointers */ mmx[j][j].sc[BEGINR_NODE] = mmx[j][j].sc[MATL_NODE] + (int) (INTPRECISION * ((log(trans[BEGIN_ST][MATL_ST]) * ((double) nseq - gapcount[j])) + (log(trans[BEGIN_ST][DEL_ST]) * gapcount[j])) ); mmx[j][j].begr_i2 = j; mmx[j][j].begr_ftype = MATL_NODE; } } /* Function: recurse_maxmx() * * Purpose: Recursion calculations of the maximum likelihood CM construction * algorithm. * * Args: aseqsT - transposed alignment; [1..alen+1][0..nseq-1] * weights - weights assigned to each sequence, usually 1.0 * alen - number of columns in alignment * nseq - number of aseqs * prior - structure containing prior probability distributions * mscore - singlet match emission costs * mmx - scoring matrix we fill in; mmx[j][i], lower diagonal * * Return: (void). mmx is filled with scores and traceback pointers. */ static void recurse_maxmx(int **aseqsT, float *weights, int alen, int nseq, struct prior_s *prior, int *mscore, double *gapcount, double gapthresh, struct maxmx_s **mmx) { int **insl_accum; /* accumulated INSL counts for all starting positions, all seqs */ int **insr_accum; /* accumulated INSR counts for all starting positions, all seqs */ double tmaster[STATETYPES][STATETYPES]; /* master copy of state transition table, counts */ double tcounts[STATETYPES][STATETYPES]; /* state transition table, counts */ double tmx[STATETYPES][STATETYPES]; /* state transition probabilities post-regularization */ int tonode; /* node type to connect to */ int i,j; /* current cell column, row */ int i2, j2; /* i', j': cell to connect to */ int idx; /* counter for sequences */ int sc; /* temp variable holding a score */ int mid; /* midpoint for a bifurcation */ if ((insr_accum = (int **) malloc ((alen+1) * sizeof(int *))) == NULL || (insl_accum = (int **) malloc ((alen+2) * sizeof(int *))) == NULL) Die("malloc failed"); for (i = 0; i <= alen; i++) if ((insr_accum[i] = (int *) malloc (nseq * sizeof(int))) == NULL) Die("malloc failed"); for (i = 0; i <= alen+1; i++) if ((insl_accum[i] = (int *) malloc (nseq * sizeof(int))) == NULL) Die("malloc failed"); gapthresh *= (double) nseq; /* scale gapthresh to be comparable to counts in gapcount array */ /* Initialize insr_accum. (Vertical, j insertion accumulator) * insr_accum contains, for each sequence, a count of how many symbols * must be inserted to get from any row fromj to the current row (exclusive * of fromj and the current column). * insr_accum is therefore [0..alen-1][0..nseq-1] */ for (j2 = 1; j2 <= alen; j2++) for (idx = 0; idx < nseq; idx++) insr_accum[j2][idx] = 0; for (idx = 0; idx < nseq; idx++) if (aseqsT[1][idx] >= 0) insr_accum[0][idx] = 1; for (j = 2; j <= alen; j++) { /* Initialize insl_accum (horizontal, i insertion) array each time we start * a new row. insl_accum contains, for each sequence, how many symbols * must be inserted to get from any column i2 to the current column, * exclusive. insl_accum is therefore [1..alen+1][0..nseq] */ for (i2 = 1; i2 <= j+1; i2++) for (idx = 0; idx < nseq; idx++) insl_accum[i2][idx] = 0; for (idx = 0; idx < nseq; idx++) if (aseqsT[j][idx] >= 0) insl_accum[j+1][idx]++; for (i = j-1; i > 0; i--) { /* BIFURC: explain i,j as sum of i,mid,BEGINL + mid+1,j,BEGINR * i <= mid <= j */ for (mid = i; mid <= j; mid++) { sc = mmx[mid][i].sc[BEGINL_NODE] + mmx[j][mid+1].sc[BEGINR_NODE]; if (sc > mmx[j][i].sc[BIFURC_NODE]) { mmx[j][i].sc[BIFURC_NODE] = sc; mmx[j][i].bifurc_mid = mid; } } /* MATP: Score subsequence i,j, given that i,j are emitted by MATP * Look at all possible connections i'j': i < i' < j, i < j' < j, * i' <= j'+1 * Could be i < i' <= j' < j: the extra i' <= j'+1 condition * allows for checking all the ways of generating i'..j' * as entirely insertion, and we may just as well define a * default... */ for (j2 = j-1; j2 >= i && j - j2 - 1 <= MAXINSERT ; j2--) /* for (j2 = j-1; j2 >= i; j2--) */ { for (i2 = i+1; i2 <= j2+1 && i2 - i - 1 <= MAXINSERT; i2++) /* for (i2 = i+1; i2 <= j2+1; i2++) */ { if (mmx[j2][i2].sc[MATP_NODE] < mmx[j][i].sc[MATP_NODE] && mmx[j2][i2].sc[MATL_NODE] < mmx[j][i].sc[MATP_NODE] && mmx[j2][i2].sc[MATR_NODE] < mmx[j][i].sc[MATP_NODE] && mmx[j2][i2].sc[BIFURC_NODE] < mmx[j][i].sc[MATP_NODE]) continue; frommatp_transtable(aseqsT, weights, nseq, i,j, i2, j2, insl_accum[i2], insr_accum[j2], tmaster); for (tonode = 0; tonode < 4; tonode++) { if (i2 > j2 && tonode != BIFURC_NODE) continue; if (i2 == j2 && tonode == MATP_NODE) continue; if (mmx[j2][i2].sc[tonode] < mmx[j][i].sc[MATP_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, MATP_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j2][i2].sc[tonode]; if (sc > mmx[j][i].sc[MATP_NODE]) { mmx[j][i].sc[MATP_NODE] = sc; mmx[j][i].matp_i2 = i2; mmx[j][i].matp_j2 = j2; mmx[j][i].matp_ftype = tonode; } } if (gapcount[i2] <= gapthresh) break; } if (gapcount[j2] <= gapthresh) break; } mmx[j][i].sc[MATP_NODE] += pair_emissioncost(aseqsT[i], aseqsT[j], weights, nseq, prior); /* MATR: i,j is accounted for by emitting j and connecting * to some i,j2. */ for (j2 = j-1; j2 >= i-1; j2--) { if (mmx[j2][i].sc[MATP_NODE] < mmx[j][i].sc[MATR_NODE] && mmx[j2][i].sc[MATL_NODE] < mmx[j][i].sc[MATR_NODE] && mmx[j2][i].sc[MATR_NODE] < mmx[j][i].sc[MATR_NODE] && mmx[j2][i].sc[BIFURC_NODE] < mmx[j][i].sc[MATR_NODE]) continue; frommatr_transtable(aseqsT, weights, nseq, i, j, j2, insr_accum[j2], tmaster); for (tonode = 0; tonode < 4; tonode++) { if (i > j2 && tonode != BIFURC_NODE) continue; if (i == j2 && tonode == MATP_NODE) continue; if (mmx[j2][i].sc[tonode] < mmx[j][i].sc[MATR_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, MATR_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j2][i].sc[tonode]; if (sc > mmx[j][i].sc[MATR_NODE]) { mmx[j][i].sc[MATR_NODE] = sc; mmx[j][i].matr_j2 = j2; mmx[j][i].matr_ftype = tonode; } } if (gapcount[j2] <= gapthresh) break; } mmx[j][i].sc[MATR_NODE] += mscore[j]; /* MATL: account for i,j by emitting i and connecting to some (i2,j) */ for (i2 = i+1; i2 <= j+1; i2++) { if (mmx[j][i2].sc[MATP_NODE] < mmx[j][i].sc[MATL_NODE] && mmx[j][i2].sc[MATL_NODE] < mmx[j][i].sc[MATL_NODE] && mmx[j][i2].sc[MATR_NODE] < mmx[j][i].sc[MATL_NODE] && mmx[j][i2].sc[BIFURC_NODE] < mmx[j][i].sc[MATL_NODE]) continue; frommatl_transtable(aseqsT, weights, nseq, i, j, i2, insl_accum[i2], tmaster); for (tonode = 0; tonode < 4; tonode++) { if (i2 > j && tonode != BIFURC_NODE) continue; if (i2 == j && tonode == MATP_NODE) continue; if (mmx[j][i2].sc[tonode] < mmx[j][i].sc[MATL_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, MATL_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j][i2].sc[tonode]; if (sc > mmx[j][i].sc[MATL_NODE]) { mmx[j][i].sc[MATL_NODE] = sc; mmx[j][i].matl_i2 = i2; mmx[j][i].matl_ftype = tonode; } } if (gapcount[i2] <= gapthresh) break; } mmx[j][i].sc[MATL_NODE] += mscore[i]; /* bump insl_accum: add column i to horizontal accumulator as insertion. */ for (i2 = i+1; i2 <= j+1; i2++) for (idx = 0; idx < nseq; idx++) if (aseqsT[i][idx] >= 0) insl_accum[i2][idx]++; /* BEGINR: has an INSL state, so it can connect to any * (i2,j) *inclusive* of (i,j) -- that's why we just bumped * the insl_accum insert counters */ for (i2 = i; i2 <= j+1; i2++) { if (mmx[j][i2].sc[MATP_NODE] < mmx[j][i].sc[BEGINR_NODE] && mmx[j][i2].sc[MATL_NODE] < mmx[j][i].sc[BEGINR_NODE] && mmx[j][i2].sc[MATR_NODE] < mmx[j][i].sc[BEGINR_NODE] && mmx[j][i2].sc[BIFURC_NODE] < mmx[j][i].sc[BEGINR_NODE]) continue; frombeginr_transtable(aseqsT, weights, nseq, j, i2, insl_accum[i2], tmaster); for (tonode = 0; tonode < 4; tonode++) { if (i2 > j && tonode != BIFURC_NODE) continue; if (i2 == j && tonode == MATP_NODE) continue; if (mmx[j][i2].sc[tonode] < mmx[j][i].sc[BEGINR_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, BEGINR_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j][i2].sc[tonode]; if (sc > mmx[j][i].sc[BEGINR_NODE]) { mmx[j][i].sc[BEGINR_NODE] = sc; mmx[j][i].begr_i2 = i2; mmx[j][i].begr_ftype = tonode; } } if (gapcount[i2] <= gapthresh) break; } /* BEGINL: has no inserts, so must connect to (i,j) */ frombeginl_transtable(aseqsT, weights, nseq, i, j, tmaster); for (tonode = 0; tonode < 4; tonode++) { if (mmx[j][i].sc[MATP_NODE] < mmx[j][i].sc[BEGINL_NODE] && mmx[j][i].sc[MATL_NODE] < mmx[j][i].sc[BEGINL_NODE] && mmx[j][i].sc[MATR_NODE] < mmx[j][i].sc[BEGINL_NODE] && mmx[j][i].sc[BIFURC_NODE] < mmx[j][i].sc[BEGINL_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, BEGINL_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j][i].sc[tonode]; if (sc > mmx[j][i].sc[BEGINL_NODE]) { mmx[j][i].sc[BEGINL_NODE] = sc; mmx[j][i].begl_ftype = tonode; } } } /* end loop over columns i */ /* bump insr_accum: add row j to vertical accumulator as insertion. */ for (j2 = 0; j2 < j; j2++) for (idx = 0; idx < nseq; idx++) if (aseqsT[j][idx] >= 0) insr_accum[j2][idx]++; } /* end loop over rows j */ /* Termination. ROOT can connect anywhere. * We hack here: ROOT alignment info is stored in the cell mmx[alen][0] * (otherwise, the i==0 column is unused), and score/traceback info is kept as if * for MATP_NODE (because ROOT and MATP have similar traceback requirements, * since they permit inserts on both sides.) * */ for (j2 = alen; j2 >= 0; j2--) { for (i2 = 1; i2 <= j2+1; i2++) { if (mmx[j2][i2].sc[MATP_NODE] < mmx[alen][0].sc[MATP_NODE] && mmx[j2][i2].sc[MATL_NODE] < mmx[alen][0].sc[MATP_NODE] && mmx[j2][i2].sc[MATR_NODE] < mmx[alen][0].sc[MATP_NODE] && mmx[j2][i2].sc[BIFURC_NODE] < mmx[alen][0].sc[MATP_NODE]) continue; fromroot_transtable(aseqsT, weights, nseq, i2, j2, insl_accum[i2], insr_accum[j2], tmaster); for (tonode = 0; tonode < 4; tonode++) { if (i2 > j2 && tonode != BIFURC_NODE) continue; if (i2 == j2 && tonode == MATP_NODE) continue; if (mmx[j2][i2].sc[tonode] < mmx[alen][0].sc[MATP_NODE]) continue; switch (tonode) { case MATP_NODE: to_matp_transtable(tmaster, tcounts); break; case MATL_NODE: to_matl_transtable(tmaster, tcounts); break; case MATR_NODE: to_matr_transtable(tmaster, tcounts); break; case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break; default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3"); } copy_transtable(tmx, tcounts); ProbifyTransitionMatrix(tmx, ROOT_NODE, tonode, prior); sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + mmx[j2][i2].sc[tonode]; if (sc > mmx[alen][0].sc[MATP_NODE]) { mmx[alen][0].sc[MATP_NODE] = sc; mmx[alen][0].matp_i2 = i2; mmx[alen][0].matp_j2 = j2; mmx[alen][0].matp_ftype = tonode; } } if (gapcount[i2] <= gapthresh) break; } if (gapcount[j2] <= gapthresh) break; } Free2DArray(insr_accum, alen+1); Free2DArray(insl_accum, alen+2); } /* Function: trace_maxmx() * * Purpose: Traceback of the filled matrix. Constructs a consensus * tree structure. The trace_s structures are only partially * used: emitl and emitr hold 0..alen-1 column coords of emitted * columns (even if not responsible for the emission); nodeidx * is unused; type holds a *node* type, not a state type. * * Note that the alignment of ROOT_NODE has been stored in * mmx[alen][0] like a MATP_NODE, due to some convenient * hacking by the recursion routine. * * The mmx[] scoring matrix traceback pointers are 1..alen coords. * They have to be converted to 0..alen-1 for the traceback tree. * * Args: mmx - filled scoring matrix: mmx[j][i], lower diagonal * alen - width of alignment * ret_mtr - RETURN: master (consensus) traceback * * Return: (void). ret_mtr must be free'd by the caller. */ static void trace_maxmx(struct maxmx_s **mmx, int alen, struct trace_s **ret_mtr) { struct trace_s *mtr; /* master (consensus) traceback */ struct trace_s *curr_mtr; /* current node on traceback tree */ struct tracestack_s *dolist; /* pushdown stack for traversing mtr */ int i,j; /* coords to connect to, next trace ssegment */ int nxti, nxtj; InitTrace(&mtr, NULL); dolist = InitTracestack(); /* Initialization. First attach a root node. Then, trace first segment, * attach it, and start the tracestack to-do list with it. */ curr_mtr = AttachTrace(mtr, NULL, 0, alen-1, 0, ROOT_NODE); PushTracestack(dolist, AttachTrace(curr_mtr, NULL, mmx[alen][0].matp_i2 -1, mmx[alen][0].matp_j2 -1, 0, mmx[alen][0].matp_ftype)); while ((curr_mtr = PopTracestack(dolist)) != NULL) { i = curr_mtr->emitl + 1; /* i,j are 1..alen */ j = curr_mtr->emitr + 1; /* avoid dummy END node on trace tree leaves, and * avoid tracing back from off-diagonal */ if (curr_mtr->nxtl == NULL || i > j) continue; switch (curr_mtr->type) { case MATP_NODE: nxti = mmx[j][i].matp_i2 - 1; nxtj = mmx[j][i].matp_j2 - 1; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matp_ftype)); else { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; } break; case MATL_NODE: nxti = mmx[j][i].matl_i2 - 1; nxtj = j-1; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matl_ftype)); else { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; } break; case MATR_NODE: nxti = i-1; nxtj = mmx[j][i].matr_j2 -1; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matr_ftype)); else { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; } break; case BIFURC_NODE: /* BIFURC must attach right side first */ PushTracestack(dolist, AttachTrace(curr_mtr, NULL, mmx[j][i].bifurc_mid, j -1, 0, BEGINR_NODE)); PushTracestack(dolist, AttachTrace(curr_mtr, NULL, i -1, mmx[j][i].bifurc_mid -1, 0, BEGINL_NODE)); break; case BEGINL_NODE: nxti = i-1; nxtj = j-1; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].begl_ftype)); else { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; } break; case BEGINR_NODE: nxti = mmx[j][i].begr_i2 - 1; nxtj = j-1; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].begr_ftype)); else { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; } break; default: Die("Invalid node type %d", curr_mtr->type); } } FreeTracestack(dolist); *ret_mtr = mtr; } /* Function: transpose_alignment() * * Purpose: Alignments are indexed [seqidx][position]; it turns out to * be more convenient here to index them as [position][seqidx], * because of memory access patterns. This transpose also * lets us switch to a 1..alen indexing scheme for the alignment * columns, from 0..alen-1; this is important for implementing * boundary conditions properly in the scoring matrix. And * finally, we store the symbols as indices to save time in * further lookups: -1 for gaps, 0..3 for ACGU (or 0..19 for aminos) * * Args: aseqs - flushed sequence alignment, each seq indexed 0..alen-1 * alen - number of columns in alignment * nseq - number of sequences * prior - contains alphabet info * ret_aseqsT - RETURN: transposed alignment, [1..alen][0..nseq-1] * * Return: (void). ret_aseqsT is malloc'ed here and must be free'd * by caller. */ static void transpose_alignment(char **aseqs, int alen, int nseq, int ***ret_aseqsT) { int **aseqsT; int acol; int seqidx; if ((aseqsT = (int **) malloc ((alen+2) * sizeof(int *))) == NULL) Die("malloc failed"); for (acol = 0; acol <= alen+1; acol++) if ((aseqsT[acol] = (int *) malloc (nseq * sizeof(int))) == NULL) Die("malloc failed"); /* "guard" columns 0 and alen+1 */ for (seqidx = 0; seqidx < nseq; seqidx++) { aseqsT[0][seqidx] = -1; aseqsT[alen+1][seqidx] = -1; } /* gaps are assigned value -1 in aseqsT */ for (seqidx = 0; seqidx < nseq; seqidx++) for (acol = 0; acol < alen; acol++) aseqsT[acol+1][seqidx] = isgap(aseqs[seqidx][acol]) ? -1 : SymbolIndex(aseqs[seqidx][acol]); *ret_aseqsT = aseqsT; } /* Function: singlet_emissions() * * Purpose: Count emission statistics for all the columns of * a multiple alignment; calculate and return an * array of emission scores for each column emitted * by MATL. (The caller can assume that MATR is scored * the same way.) * * Args: aseqsT - [1..alen][0..nseqs-1] transpose of sequence alignment * weights - weights on sequences (usually just 1.0 for each) * alen - number of columns in alignment * nseq - number of sequences * prior - prior probability distributions, and alphabet info * ret_mscore - RETURN: array of singlet emission costs * ret_gapcount - RETURN: weighted counts of gaps in each column * * Return: (void). ret_mscore is passed back; it is malloc'ed here * and must be free'd by the caller. */ static void singlet_emissions(int **aseqsT, float *weights, int alen, int nseq, struct prior_s *prior, int **ret_mscore, double **ret_gapcount) { double **emcounts; double *gapcount; int *mscore; double emvec[ALPHASIZE]; int i; int idx; int sym; /* Allocations */ if ((emcounts = (double **) malloc ((alen+1) * sizeof(double *))) == NULL || (mscore = (int *) malloc ((alen+1) * sizeof(int))) == NULL || (gapcount = (double *) malloc ((alen+2) * sizeof(double))) == NULL) Die("malloc failed"); for (i = 0; i <= alen; i++) if ((emcounts[i] = (double *) malloc (ALPHASIZE * sizeof(double))) == NULL) Die("malloc failed"); /* Count symbol occurrences in each column */ for (i = 1; i <= alen; i++) { gapcount[i] = 0.0; for (sym = 0; sym < ALPHASIZE; sym++) emcounts[i][sym] = 0.0; for (idx = 0; idx < nseq; idx++) { if (aseqsT[i][idx] >= 0) emcounts[i][aseqsT[i][idx]] += weights[idx]; else gapcount[i] += weights[idx]; } } gapcount[0] = 0.0; gapcount[alen+1] = 0.0; /* For each column, create an emission probability vector, * and calculate score using emcounts. */ for (i = 1; i <= alen; i++) { for (sym = 0; sym < ALPHASIZE; sym++) emvec[sym] = emcounts[i][sym]; ProbifySingletEmission(emvec, uMATL_ST, prior); mscore[i] = dot_score(emcounts[i], emvec, ALPHASIZE); mscore[i] += (nseq - gapcount[i]) * (int) (INTPRECISION * log((float) ALPHASIZE)); } Free2DArray(emcounts, alen+1); *ret_gapcount = gapcount; *ret_mscore = mscore; } /* Function: pair_emissioncost() * * Purpose: Count emission statistics for a given MATP_NODE-assigned * i,j, and assign a cost. * * Args: coli - ptr to column i from aseqsT transposed alignment, [0..nseq-1] * colj - ptr to column j from aseqsT transposed alignment, [0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * prior - prior probability distributions * * Return: The cost of emitting the (i,j) column pair (integer). */ static int pair_emissioncost(int *coli, int *colj, float *weights, int nseq, struct prior_s *prior) { double matp_count[ALPHASIZE][ALPHASIZE]; double matl_count[ALPHASIZE]; double matr_count[ALPHASIZE]; double matp_emit[ALPHASIZE][ALPHASIZE]; double matl_emit[ALPHASIZE]; double matr_emit[ALPHASIZE]; int sc; int symi, symj; int idx; /* Zero the counter arrays */ for (symi = 0; symi < ALPHASIZE; symi++) { matr_count[symi] = 0.0; matl_count[symi] = 0.0; for (symj = 0; symj < ALPHASIZE; symj++) matp_count[symi][symj] = 0.0; } /* Count pairs, singlets */ for (idx = 0; idx < nseq; idx++) { if (coli[idx] == -1) { if (colj[idx] == -1) continue; else matl_count[colj[idx]] += weights[idx]; } else if (colj[idx] == -1) matr_count[coli[idx]] += weights[idx]; else matp_count[coli[idx]][colj[idx]] += weights[idx]; } /* Create probability matrices */ copy_singlet(matl_emit, matl_count); copy_singlet(matr_emit, matr_count); copy_pairwise(matp_emit, matp_count); ProbifySingletEmission(matl_emit, uMATL_ST, prior); ProbifySingletEmission(matr_emit, uMATR_ST, prior); ProbifyPairEmission(matp_emit, prior); /* convert probs to log odds */ for (symi = 0; symi < ALPHASIZE; symi++) { matl_emit[symi] *= (double) ALPHASIZE; matr_emit[symi] *= (double) ALPHASIZE; for (symj = 0; symj < ALPHASIZE; symj ++) matp_emit[symi][symj] *= (double) (ALPHASIZE*ALPHASIZE); } /* Score is the sum of dot products of counts and probability matrices */ sc = dot_score((double *) matl_count, (double *) matl_emit, ALPHASIZE) + dot_score((double *) matr_count, (double *) matr_emit, ALPHASIZE) + dot_score((double *) matp_count, (double *) matp_emit, ALPHASIZE*ALPHASIZE); return sc; } /* Function: frommatp_transtable() * * Purpose: Given an starting cell i,j and an ending cell * i',j' (i < i' < j' < j), calculate the * 6x6 transition table between these pairs, * assuming both (i,j) and (i',j') are assigned * to MATP. Transitions to other types of nodes * at i',j' (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i,j - i,j * i2,j2 - i',j' * accum_insl - (0..nseq-1) array of number of inserted symbols * between i,i' for each sequence * accum_insr - (0..nseq-1) array of number of inserted symbols * between j',j for each sequence * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void frommatp_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int i2, int j2, int *accum_insl, int *accum_insr, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign fy, based on symbols vs. gaps at i,j * assign ty, based on symbols vs. gaps at i',j' * use accum_insr and accum_insl and bump counters appropriately. */ for (idx = 0; idx < nseq; idx++) { fy = assign_cell(i,j,aseqsT[i][idx], aseqsT[j][idx]); ty = assign_cell(i2,j2,aseqsT[i2][idx], aseqsT[j2][idx]); if (accum_insl[idx] == 0 && accum_insr[idx] == 0) { trans[fy][ty] += weights[idx]; } else if (accum_insl[idx] > 0) { trans[fy][INSL_ST] += weights[idx]; trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx]; if (accum_insr[idx] > 0) { trans[INSL_ST][INSR_ST] += weights[idx]; trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx]; trans[INSR_ST][ty] += weights[idx]; } else { trans[INSL_ST][ty] += weights[idx]; } } else if (accum_insr[idx] > 0) { trans[fy][INSR_ST] += weights[idx]; trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx]; trans[INSR_ST][ty] += weights[idx]; } } /* end loop over all sequences */ } /* Function: frommatl_transtable() * * Purpose: Given an starting cell i,j assigned to MATL_NODE * and an ending cell i',j (i < i' < j), calculate the * 6x6 transition table between these pairs, * assuming (i',j) is assigned to MATP. * Transitions to other types of nodes * at i',j (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i,j - i,j * i2 - i' * accum_insl - (0..nseq-1) array of number of inserted symbols * between i,i' for each sequence * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void frommatl_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int i2, int *accum_insl, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign fy, based on symbols vs. gaps at i * assign ty, based on symbols vs. gaps at i',j * use accum_insl and bump counters appropriately. */ for (idx = 0; idx < nseq; idx++) { fy = (aseqsT[i][idx] == -1) ? DEL_ST : MATL_ST; ty = assign_cell(i2, j, aseqsT[i2][idx], aseqsT[j][idx]); if (accum_insl[idx] == 0) { trans[fy][ty] += weights[idx]; } else { trans[fy][INSL_ST] += weights[idx]; trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx]; trans[INSL_ST][ty] += weights[idx]; } } /* end loop over all sequences */ } /* Function: frommatr_transtable() * * Purpose: Given an starting cell i,j assigned to MATR_NODE * and an ending cell i,j' (i < j' < j), calculate the * 6x6 transition table between these pairs, * assuming (i,j') is assigned to MATP. * Transitions to other types of nodes * at i,j' (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i,j - i,j * j2 - j' * accum_insr - (0..nseq-1) array of number of inserted symbols * between j',j for each sequence * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void frommatr_transtable(int **aseqsT, float *weights, int nseq, int i, int j, int j2, int *accum_insr, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign fy, based on symbols vs. gaps at j * assign ty, based on symbols vs. gaps at i,j' * use accum_insr and bump counters appropriately. */ for (idx = 0; idx < nseq; idx++) { fy = (aseqsT[j][idx] == -1) ? DEL_ST : MATR_ST; ty = assign_cell(i, j2, aseqsT[i][idx], aseqsT[j2][idx]); if (accum_insr[idx] == 0) { trans[fy][ty] += weights[idx]; } else { trans[fy][INSR_ST] += weights[idx]; trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx]; trans[INSR_ST][ty] += weights[idx]; } } /* end loop over all sequences */ } /* Function: frombeginr_transtable() * * Purpose: Given an starting cell i,j assigned to BEGINR_NODE * and an ending cell i',j (i < i' < j), calculate the * 6x6 transition table between these pairs, * assuming (i',j) is assigned to MATP. * Transitions to other types of nodes * at i',j (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i,j - i,j * i2 - i' * accum_insl - (0..nseq-1) array of number of inserted symbols * between j',j for each sequence * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void frombeginr_transtable(int **aseqsT, float *weights, int nseq, int j, int i2, int *accum_insl, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign ty, based on symbols vs. gaps at i',j * use accum_insr and bump counters appropriately. */ fy = BEGIN_ST; for (idx = 0; idx < nseq; idx++) { ty = assign_cell(i2, j, aseqsT[i2][idx], aseqsT[j][idx]); if (accum_insl[idx] == 0) { trans[fy][ty] += weights[idx]; } else { trans[fy][INSL_ST] += weights[idx]; trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx]; trans[INSL_ST][ty] += weights[idx]; } } /* end loop over all sequences */ } /* Function: frombeginl_transtable() * * Purpose: Given an starting cell i,j assigned to BEGINR_NODE (which must * connect to i,j itself), * calculate the 6x6 transition table between the BEGINR * and the other states in the cell, assuming i,j is * assigned to MATP. * Transitions to other types of nodes * at i,j (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i,j - i,j * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void frombeginl_transtable(int **aseqsT, float *weights, int nseq, int i, int j, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign ty, based on symbols vs. gaps at i',j * use accum_insr and bump counters appropriately. */ fy = BEGIN_ST; for (idx = 0; idx < nseq; idx++) { ty = assign_cell(i, j, aseqsT[i][idx], aseqsT[j][idx]); trans[fy][ty] += weights[idx]; } } /* Function: fromroot_transtable() * * Purpose: Given an ending cell i2,j2, calculate the * 6x6 transition table between 1,alen,ROOT and this pair, * assuming (i',j') is assigned * to MATP. Transitions to other types of nodes * at i',j' (MATR, MATL, BIFURC) are easily derived from this one. * * Args: aseqsT - transpose of alignment, [1..alen][0..nseq-1] * weights - weights on sequences (usually just 1.0 for each) * nseq - number of sequences * i2,j2 - i',j' * accum_insl - (0..nseq-1) array of number of inserted symbols * between i,i' for each sequence * accum_insr - (0..nseq-1) array of number of inserted symbols * between j',j for each sequence * trans[][] - filled in: state transition matrix (counts) * * Return: (void) * trans[][] is filled in. */ static void fromroot_transtable(int **aseqsT, float *weights, int nseq, int i2, int j2, int *accum_insl, int *accum_insr, double trans[STATETYPES][STATETYPES]) { int fy, ty; /* from state index, to state index */ int idx; /* counter for sequences */ /* Zero the counter array */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = 0.0; /* For each sequence: * assign ty, based on symbols vs. gaps at i',j' * use accum_insr and accum_insl and bump counters appropriately. */ for (idx = 0; idx < nseq; idx++) { ty = assign_cell(i2,j2,aseqsT[i2][idx], aseqsT[j2][idx]); if (accum_insl[idx] == 0 && accum_insr[idx] == 0) { trans[BEGIN_ST][ty] += weights[idx]; } else if (accum_insl[idx] > 0) { trans[BEGIN_ST][INSL_ST] += weights[idx]; trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx]; if (accum_insr[idx] > 0) { trans[INSL_ST][INSR_ST] += weights[idx]; trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx]; trans[INSR_ST][ty] += weights[idx]; } else { trans[INSL_ST][ty] += weights[idx]; } } else if (accum_insr[idx] > 0) { trans[BEGIN_ST][INSR_ST] += weights[idx]; trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx]; trans[INSR_ST][ty] += weights[idx]; } } /* end loop over all sequences */ } /* Function: assign_cell() * * Purpose: Given that we assign a cell i,j to MATP for the * whole alignment, return the actual assignment * for the given sequence seq. This will be MATP * if seq has symbols in both columns i,j; * MATL if j is a gap; MATR if i is a gap; * DEL if both i,j are gaps. * * If i == j, assign_cell returns MATP or DEL even though * MATP is not a valid assignment; the to_matr or to_matl functions * straighten this out later. * * Args: i,j : coordinates (columns in alignment) * symi: symbol in position i * symj: symbol in position j * * Return: DEL_ST, MATP_ST, MATR_ST, or MATL_ST */ static int assign_cell(int i, int j, int symi, int symj) { if (i > j) return END_ST; else if (symi >= 0) { if (symj >= 0) return MATP_ST; else return MATL_ST; } else if (symj >= 0) return MATR_ST; else return DEL_ST; } /* Function: to_matp_transtable() * * Purpose: Given a master state transition tables containing * counts, create a table specific for transitions * to an (i',j') assigned to MATP_NODE. * * Args: master_table[][] - the master table containing counts * trans[][] - the new table, returned containing counts * * Return: (void) * trans[][] is filled. */ static void to_matp_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]) { int fy,ty; /* indices for from state, to state */ /* Just copy the table. */ for (fy = 0; fy < STATETYPES; fy++) for (ty = 0; ty < STATETYPES; ty++) trans[fy][ty] = master_table[fy][ty]; } /* Function: to_matr_transtable() * * Purpose: Given a master state transition tables containing * counts, create a table specific for transitions * to an (i',j') assigned to MATR_NODE. * * Args: master_table[][] - the master table containing counts * trans[][] - the new table, returned containing counts * * Return: (void) * trans[][] is filled. */ static void to_matr_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]) { int fy; /* indices for from state, to state */ for (fy = 0; fy < STATETYPES; fy++) { trans[fy][DEL_ST] = master_table[fy][DEL_ST] + master_table[fy][MATL_ST]; trans[fy][MATP_ST] = 0.0; trans[fy][MATL_ST] = 0.0; trans[fy][MATR_ST] = master_table[fy][MATR_ST] + master_table[fy][MATP_ST]; trans[fy][INSL_ST] = master_table[fy][INSL_ST]; trans[fy][INSR_ST] = master_table[fy][INSR_ST]; } } /* Function: to_matl_transtable() * * Purpose: Given a master state transition tables containing * counts, create a table specific for transitions * to an (i',j') assigned to MATL_NODE. * * Args: master_table[][] - the master table containing counts * trans[][] - the new table, returned containing counts * * Return: (void) * trans[][] is filled. */ static void to_matl_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]) { int fy; /* indices for from state, to state */ for (fy = 0; fy < STATETYPES; fy++) { trans[fy][DEL_ST] = master_table[fy][DEL_ST] + master_table[fy][MATR_ST]; trans[fy][MATP_ST] = 0.0; trans[fy][MATL_ST] = master_table[fy][MATL_ST] + master_table[fy][MATP_ST]; trans[fy][MATR_ST] = 0.0; trans[fy][INSL_ST] = master_table[fy][INSL_ST]; trans[fy][INSR_ST] = master_table[fy][INSR_ST]; } } /* Function: to_bifurc_transtable() * * Purpose: Given a master state transition tables containing * counts, create a table specific for transitions * to an (i',j') assigned to BIFURC_NODE. * * Args: master_table[][] - the master table containing counts * trans[][] - the new table, returned containing counts * * Return: (void) * trans[][] is filled. */ static void to_bifurc_transtable(double master_table[STATETYPES][STATETYPES], double trans[STATETYPES][STATETYPES]) { int fy; /* indices for from state, to state */ for (fy = 0; fy < STATETYPES; fy++) { trans[fy][BIFURC_ST] = master_table[fy][DEL_ST] + master_table[fy][MATR_ST] + master_table[fy][MATL_ST] + master_table[fy][MATP_ST]; trans[fy][MATP_ST] = 0.0; trans[fy][MATL_ST] = 0.0; trans[fy][MATR_ST] = 0.0; trans[fy][INSL_ST] = master_table[fy][INSL_ST]; trans[fy][INSR_ST] = master_table[fy][INSR_ST]; } } /* Function: dot_score() * * Purpose: Calculate the dot product of counts by probabilities * for s set of state transitions: i.e. a total score * * Args: cmx: count vector * pmx: probability vector * * Return: score, the dot product, as an integer */ static int dot_score(double *cvec, double *pvec, int veclen) { int i; double score = 0.0; for (i = 0; i < veclen; i++, cvec++, pvec++) if (*pvec > 0.0) score += *cvec * log(*pvec); return ((int) INTPRECISION * score); } #ifdef DEBUG static void print_mmx(struct maxmx_s **mmx, int alen) { int i,j,y; for (j = 0; j <= alen; j++) { for (y = 0; y < NODETYPES-1; y++) { for (i = 0; i <= j+1; i++) printf("%5d ", mmx[j][i].sc[y] * 10 / (int) INTPRECISION); printf("\n"); } puts(""); } } /* Function: print_assignments() * * Purpose: Using a master max likelihood tree constructed from an * alignment, print a line for each column of the alignment: * (column) (fractional occupancy) (assignment) * * The master tree, mtr, is a traceback tree with some of * the fields misused. emitl, emitr contain 0..alen-1 column * coordinates (even if only one of them is emitted by * this tree node). nodeidx is unused. type contains * a node type, not a state type. * * Code partly borrowed from Trace2ali(). */ static void print_assignments(struct trace_s *mtr, int nseq, int alen, double *gapcount) { struct align_s *ali; /* linear list of alignment */ struct t2ali_s *stack; /* stack used to traverse the traceback tr */ struct trace_s *currtr; struct align_s *currali; struct align_s *newafter; struct align_s *oldafter; int currpos; /* First, we generate a linear linked align_s list from the tree. * The align_s structure fields are used as follows: * pos = 0..alen-1 position in alignment * sym = unused * nodeidx = unused * type = node type (e.g. MATP_NODE) */ /* Initialize the linked list for the alignment of sequence to model */ ali = Init_align(); /* Initialize the pushdown stack for traversal of the traceback */ stack = Init_t2ali(); Push_t2ali(stack, mtr->nxtl, ali); while (Pop_t2ali(stack, &currtr, &oldafter)) { if (currtr->nxtl == NULL) continue; /* ignore END nodes */ if (currtr->nxtr != NULL) /* BIFURC node */ { /* deal with right branch; insert a dummy */ newafter = Insafter_align(-1, '-', ' ', 0, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtr, newafter); /* deal with left branch */ Push_t2ali(stack, currtr->nxtl, oldafter); } else{ switch (currtr->type) { case BEGINL_NODE: case BEGINR_NODE: case ROOT_NODE: Push_t2ali(stack, currtr->nxtl, oldafter); break; case MATP_NODE: (void) Insafter_align(currtr->emitr, ' ', ' ', 0, currtr->type, oldafter); newafter = Insafter_align(currtr->emitl, ' ', ' ', 0, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, newafter); break; case MATL_NODE: newafter = Insafter_align(currtr->emitl, ' ', ' ', 0, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, newafter); break; case MATR_NODE: (void) Insafter_align(currtr->emitr, ' ', ' ', 0, currtr->type, oldafter); Push_t2ali(stack, currtr->nxtl, oldafter); break; case END_NODE: break; default: Die("no such node type %d", currtr->type); } } } Free_t2ali(stack); currpos = 0; for (currali = ali->nxt; currali != NULL; currali = currali->nxt) { currpos++; while (currpos < currali->pos) { printf("%4d %.3f INS\n", currpos, ((double) nseq - gapcount[currpos]) / (double) nseq); currpos++; } switch (currali->type) { case BEGINL_NODE: case BEGINR_NODE: case ROOT_NODE: break; case MATL_NODE: case MATR_NODE: printf("%4d %.3f MAT singlet\n", currali->pos, ((double) nseq - gapcount[currali->pos]) / (double) nseq); break; case MATP_NODE: printf("%4d %.3f MAT pairwise\n", currali->pos, ((double) nseq - gapcount[currali->pos]) / (double) nseq); break; } } while (currpos <= alen) { printf("%4d %.3f INS\n", currpos, ((double) nseq - gapcount[currpos]) / (double) nseq); currpos++; } Free_align(ali); } #endif /* DEBUG */ tRNAscan-SE-1.3.1/modelmaking.c0000644000543100001440000004104211021467304015134 0ustar pchanusers/* modelmaking.c * Tue Oct 4 15:33:21 1994 * * Bring together common elements of the model construction process. * Also, provides EasyModelmaker() for making a model given a structure. * * All model makers have in common that they construct a "master" traceback * for the alignment, specifying which columns are match vs. insert and * how the model tree branches. This traceback is assigned a numbering * system by NumberMasterTrace(), which returns the number of nodes; * the caller then allocates a new CM. This new model is numbered (assigned * a branching structure) by TopofyNewCM(). Then individual tracebacks * are constructed from individual aligned sequences by Transmogrify(). * The individual tracebacks are counted into a new model with TraceCount() * and the counts converted to probabilities with ProbifyCM(). * * The master tree is a (slightly misused) trace_s structure with the following * properties: * insert columns are not represented at all. Transmogrify() must deal. * * emitl, emitr == 0..alen-1 coords of assigned columns. Set and valid for all * nodes, even non-emitters. END values will be * on the off-diagonal, emitl = emitr+1. (If this is * not true, Transmogrify() breaks.) The trace * construction function is responsible for this. * * nodeidx == this is numbered by preorder traversal by NumberMasterTrace(), * which also numbers a model. ENDs are not explicitly * represented in a CM, so they get nodeidx = -1. * * type == a number 0..6 for *node* type. (Usually this is a unique * state type identifier.) ENDs are -1. The trace construction * function is reponsible for this. */ #include #include #include "version.h" #include "squid.h" #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif /* Function: NumberMasterTrace() * * Purpose: Given a master trace for an alignment, number the trace tree * (in the nodeidx field) in preorder traversal. END nodes * will not be represented explicitly in the final CM. They * get numbered -1. */ void NumberMasterTrace(struct trace_s *mtr, int *ret_nodes) { struct trace_s *curr; struct tracestack_s *dolist; int nodes = 0; dolist = InitTracestack(); PushTracestack(dolist, mtr->nxtl); /* push root onto stack */ while ((curr = PopTracestack(dolist)) != NULL) { if (curr->nxtl == NULL) /* END node */ curr->nodeidx = -1; else /* other nodes */ curr->nodeidx = nodes++; if (curr->nxtr != NULL) PushTracestack(dolist, curr->nxtr); if (curr->nxtl != NULL) PushTracestack(dolist, curr->nxtl); } FreeTracestack(dolist); *ret_nodes = nodes; } /* Function: TopofyNewCM() * * Purpose: Given the mtr master traceback tree, which defines the * topology of the model, write the nxt and nxt2 connections * into the model. For the most part, these are already * contained in mtr thanks to NumberMasterTrace(); the * only tricky bit is converting END states from multiple * real states (in mtr) to -1 nxt flags in the cm. * * Return: 1 on success, 0 on failure. */ void TopofyNewCM(struct cm_s *cm, struct trace_s *mtr) { struct tracestack_s *dolist; struct trace_s *curr; dolist = InitTracestack(); PushTracestack(dolist, mtr->nxtl); /* push ROOT onto stack */ while ((curr = PopTracestack(dolist)) != NULL) { if (curr->nxtl == NULL) continue; /* ignore ENDs */ if (curr->nxtr != NULL) /* deal with BIFURC states */ { cm->nd[curr->nodeidx].nxt2 = curr->nxtr->nodeidx; PushTracestack(dolist, curr->nxtr); } else cm->nd[curr->nodeidx].nxt2 = -1; /* watch out for curr pointing to END states. */ cm->nd[curr->nodeidx].type = curr->type; cm->nd[curr->nodeidx].nxt = (curr->nxtl->nxtl == NULL) ? -1 : curr->nxtl->nodeidx; PushTracestack(dolist, curr->nxtl); } FreeTracestack(dolist); } /* Function: Transmogrify() * * Purpose: Given a master consensus traceback, create an individual * "fake" traceback. The fake traceback contains inserts * and converts the type field of mtr (which contains NODE * type indices) into _ST type indices, including proper * classification of nodes into DEL_ST or the various match * states depending on what aseq[idx] looks like. * * Args: mtr - master consensus traceback tree * aseq - 0..alen-1 aligned sequence. * ret_tr - RETURN: individual traceback * ret_pool - RETURN: memory pool for traceback * * Return: (void). *ret_tr must be free'd by the caller */ void Transmogrify(struct trace_s *mtr, char *aseq, struct trace_s **ret_tr, struct trmem_s **ret_pool) { struct trace_s *tr; struct trmem_s *pool; struct tracestack_s *mtr_stack; struct tracestack_s *tr_stack; struct trace_s *curr_mtr; struct trace_s *curr_tr; int i2,j2; mtr_stack = InitTracestack(); tr_stack = InitTracestack(); InitTrace(&tr, &pool); /* Push ROOT onto both stacks */ PushTracestack(mtr_stack, mtr->nxtl); PushTracestack(tr_stack, AttachTrace(tr, pool, -1, -1, 0, uBEGIN_ST)); while ((curr_mtr = PopTracestack(mtr_stack)) != NULL) { curr_tr = PopTracestack(tr_stack); switch (curr_mtr->type) { case uEND_ST: DeleteTracenode(curr_tr, pool); break; case MATP_NODE: if (isgap(aseq[curr_mtr->emitl])) { if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uDEL_ST; else curr_tr->type = uMATR_ST; } else { if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uMATL_ST; else curr_tr->type = uMATP_ST; } /* May have to deal with INSL and INSR; INSL precedes INSR */ for (i2 = curr_mtr->emitl+1; i2 < curr_mtr->nxtl->emitl; i2++) if (!isgap(aseq[i2])) curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST); /* May have to deal with INSR */ for (j2 = curr_mtr->emitr-1; j2 > curr_mtr->nxtl->emitr; j2--) if (! isgap(aseq[j2])) curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST); break; case MATL_NODE: if (isgap(aseq[curr_mtr->emitl])) curr_tr->type = uDEL_ST; else curr_tr->type = uMATL_ST; /* May have to deal with INSL */ for (i2 = curr_mtr->emitl+1; i2 < curr_mtr->nxtl->emitl; i2++) if (!isgap(aseq[i2])) curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST); break; case MATR_NODE: if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uDEL_ST; else curr_tr->type = uMATR_ST; /* May have to deal with INSR */ for (j2 = curr_mtr->emitr-1; j2 > curr_mtr->nxtl->emitr; j2--) if (! isgap(aseq[j2])) curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST); break; case BIFURC_NODE: curr_tr->type = uBIFURC_ST; break; case BEGINL_NODE: curr_tr->type = uBEGIN_ST; break; case BEGINR_NODE: curr_tr->type = uBEGIN_ST; /* May have to deal with INSL. * Inserts from BEGINR are *inclusive* of i */ for (i2 = curr_mtr->emitl; i2 < curr_mtr->nxtl->emitl; i2++) if (!isgap(aseq[i2])) curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST); break; case ROOT_NODE: curr_tr->type = uBEGIN_ST; /* May have to deal with INSL and INSR; note INSL precedes INSR * inserts from root are inclusive of i */ for (i2 = curr_mtr->emitl; i2 < curr_mtr->nxtl->emitl; i2++) if (!isgap(aseq[i2])) curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST); /* May have to deal with INSR */ for (j2 = curr_mtr->emitr; j2 > curr_mtr->nxtl->emitr; j2--) if (! isgap(aseq[j2])) curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST); break; default: Die("Invalid node type %d", curr_mtr->type); } /* Push the children onto stacks, if they're not END nodes */ if (curr_mtr->nxtr != NULL) { PushTracestack(mtr_stack, curr_mtr->nxtr); PushTracestack(tr_stack, AttachTrace(curr_tr, pool, curr_mtr->nxtr->emitl, curr_mtr->nxtr->emitr, curr_mtr->nxtr->nodeidx, curr_mtr->nxtr->type)); } if (curr_mtr->nxtl != NULL) { PushTracestack(mtr_stack, curr_mtr->nxtl); PushTracestack(tr_stack, AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, curr_mtr->nxtl->emitr, curr_mtr->nxtl->nodeidx, curr_mtr->nxtl->type)); } } FreeTracestack(mtr_stack); FreeTracestack(tr_stack); *ret_pool = pool; *ret_tr = tr; } /* Function: EasyModelmaker() * * Purpose: The customer always knows best. * * Construct a model given a stated structure. The structure * is provided via a "cs" (consensus sequence) line, as would * occur in an annotated SELEX file. Only > and < characters * in this line are interpreted (as base pairs). * * Match vs. insert can be determined one of two ways. By default, * the assignment is made by "gapthresh"; for columns with * fractional occurence of gaps greater than this, the column * is assigned to insert. If "use_rf" is TRUE, the rf (reference) * line is interpreted as the assignment -- columns with non-space * characters in the rf line are assigned to MATCH. * * Both rf and cs are provided in the ainfo structure. * * Args: aseq - aligned sequences. [0..nseq-1] by [0..alen-1] * ainfo - info about the alignment, including alen, cs, * and rf * nseq - number of seqs in aseq * prior - prior distributions for CM construction * gapthresh - over this fraction of gaps, assign column as INS * use_rf - if TRUE, use rf field of ainfo for MAT/INS assignment * ret_cm - RETURN: new model (maybe NULL) * ret_mtr - RETURN: master traceback for alignment (maybe NULL) * * Return: void * cm is allocated here. FreeCM(*ret_cm). * tr is allocated here. FreeTrace() on each one, then free(*ret_tr). */ void EasyModelmaker(char **aseq, AINFO *ainfo, int nseq, struct prior_s *prior, double gapthresh, int use_rf, struct cm_s **ret_cm, struct trace_s **ret_mtr) { struct cm_s *cm; /* new covariance model */ struct trace_s *mtr; /* master traceback tree for alignment */ struct trace_s *tr; /* individual sequence traceback tree */ struct trmem_s *pool; /* memory pool for traceback tree */ struct tracestack_s *dolist; struct trace_s *cur; int *matassign; int nodes; int idx, apos; int *ct; int i,j, nxti, nxtj; if (! (ainfo->flags & AINFO_CS)) Die("No cs (consensus structure) line available for that alignment."); /* Determine match/insert assignments * matassign is 0..alen-1. Values are 1 if MAT, 0 if INS. */ matassign = (int *) MallocOrDie(sizeof(int) * ainfo->alen); if (use_rf) { if (! (ainfo->flags & AINFO_RF)) Die("No rf (reference coord) line available for that alignment."); for (apos = 0; apos < ainfo->alen; apos++) matassign[apos] = (ainfo->rf[apos] == ' ') ? 0 : 1; } else { int gaps; for (apos = 0; apos < ainfo->alen; apos++) { for (gaps = 0, idx = 0; idx < nseq; idx++) if (isgap(aseq[idx][apos])) gaps++; matassign[apos] = ((double) gaps / (double) nseq > gapthresh) ? 0 : 1; } } /* Determine a "ct" array, base-pairing partners for each position */ if (! KHS2ct(ainfo->cs, ainfo->alen, FALSE, &ct)) Die("Consensus structure string is inconsistent"); /* Make sure the consensus structure "ct" is consistent with the match assignments. * Wipe out all structure under INS; including the base-paired * partner of INS-assigned positions */ for (apos = 0; apos < ainfo->alen; apos++) if (! matassign[apos]) { if (ct[apos] != -1) ct[ct[apos]] = -1; ct[apos] = -1; } /* Construct a master traceback tree. * This code is borrowed from yarn's KHS2Trace(). * mtr's emitl, emitr, and type are properly set by this section. */ InitTrace(&mtr, NULL); dolist = InitTracestack(); cur = AttachTrace(mtr, NULL, 0, ainfo->alen-1, -1, ROOT_NODE); /* attach the root */ PushTracestack(dolist, cur); while ((cur = PopTracestack(dolist)) != NULL) { i = cur->emitl; j = cur->emitr; /* This node accounts for i..j, but we don't know how yet. * Six possibilities: * i > j; this is an END state; do nothing. * this is already assigned as a BEGIN; push i,j * i is unpaired; this is a MATL state; push i+1, j * j is unpaired; this is a MATR state; push i,j-1 * i,j pair to each other; this is a MATP state; push i+1,j-1 * i,j pair but not to each other; this is a BIFURC state; * pick mid ip <= mid < jp; push BEGIN i,mid and working i,mid, * and push BEGIN mid+1,j and working mid+1,j */ if (i > j) cur->type = uEND_ST; else if (cur->type == ROOT_NODE) { /* try to push i,j; but deal with INSL and INSR */ for (nxti = i; nxti <= j; nxti++) if (matassign[nxti]) break; for (nxtj = j; nxtj >= nxti; nxtj--) if (matassign[nxtj]) break; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, nxtj, -1, uEND_ST)); else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = nxtj; } /* deal with END_ST */ } else if (cur->type == BEGINL_NODE) /* no inserts */ { if (i <= j) PushTracestack(dolist, AttachTrace(cur, NULL, i, j, -1, uEND_ST)); else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; } } else if (cur->type == BEGINR_NODE) /* INSL */ { for (nxti = i; nxti <= j; nxti++) if (matassign[nxti]) break; if (nxti <= j) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, j, -1, uEND_ST)); else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; } /* deal with END_ST */ } else if (ct[i] == -1) /* i unpaired. This is a MATL node; allow INSL */ { cur->type = MATL_NODE; for (nxti = i+1; nxti <= j; nxti++) if (matassign[nxti]) break; if (nxti <= j) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, j, -1, uEND_ST)); else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; } /* deal with END_ST */ } else if (ct[j] == -1) /* j unpaired. MATR node. Deal with INSR */ { cur->type = MATR_NODE; for (nxtj = j-1; nxtj >= i; nxtj--) if (matassign[nxtj]) break; if (i <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, i, nxtj, -1, uEND_ST)); else { cur->nxtl->emitl = i; cur->nxtl->emitr = nxtj; } /* deal with END_ST */ } else if (ct[i] == j) /* i,j paired to each other. MATP. deal with INSL, INSR */ { cur->type = MATP_NODE; for (nxti = i+1; nxti <= j; nxti++) if (matassign[nxti]) break; for (nxtj = j-1; nxtj >= nxti; nxtj--) if (matassign[nxtj]) break; if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, nxtj, -1, uEND_ST)); else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = nxtj; } /* deal with END_ST */ } else /* i,j paired but not to each other. BIFURC. no INS. */ { /* by convention, right side of bifurc deals with insert in middle */ cur->type = BIFURC_NODE; PushTracestack(dolist, AttachTrace(cur, NULL, ct[i]+1, j, -1, BEGINR_NODE)); PushTracestack(dolist, AttachTrace(cur, NULL, i, ct[i], -1, BEGINL_NODE)); } } /* while something's on dolist stack */ FreeTracestack(dolist); free(ct); /* Now, do the drill for constructing a model using this master trace. */ NumberMasterTrace(mtr, &nodes); if ((cm = AllocCM(nodes)) == NULL) Die("failed to allocate for new model of %d nodes\n", nodes); TopofyNewCM(cm, mtr); for (idx = 0; idx < nseq; idx++) { Transmogrify(mtr, aseq[idx], &tr, &pool); if (! TraceCount(cm, aseq[idx], (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? (double) ainfo->sqinfo[idx].weight : 1.0, tr)) Die("TraceCount() failed"); FreeTrace(tr, pool); } ProbifyCM(cm, prior); free(matassign); if (ret_cm != NULL) *ret_cm = cm; else FreeCM(cm); if (ret_mtr != NULL) *ret_mtr = mtr; else FreeTrace(mtr, NULL); } tRNAscan-SE-1.3.1/structs.c0000644000543100001440000001733511021467306014366 0ustar pchanusers/* structs.c * 1.0: SRE, Tue Jul 6 18:52:34 1993 * 2.0: SRE, Thu Sep 9 14:19:19 1993 * * Boring stuff which had better be flawless. * * Implementation of data structures. Includes * various pushdown stacks used for traversing model trees and * traceback trees, and linked lists used for collapsing trees * into linear alignments/strings. * * Stacks have dummy start states. The end is just a NULL * pointer off the last state in the stack. * * Linked lists have dummy start and end states, to facilitate * insertion and deletion. * * Pop functions only return values when the passed pointers * are non-NULL, so you can ask for whatever fields you want. * * For implementation of traceback tree structures, see trace.c. * For implementation of model structures, see model.c. */ #include #include #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif /* Function: StatetypeIndex() * * Purpose: Convert a unique statetype identifier to a valid * array index */ int StatetypeIndex(int type) { switch (type) { case uBEGIN_ST: return BEGIN_ST; case uBIFURC_ST: return BIFURC_ST; case uDEL_ST: return DEL_ST; case uEND_ST: return END_ST; case uMATP_ST: return MATP_ST; case uMATL_ST: return MATL_ST; case uMATR_ST: return MATR_ST; case uINSR_ST: return INSR_ST; case uINSL_ST: return INSL_ST; default: Die("no such state, %d", type); } /*NOTREACHED*/ return 0; } /* Function: UniqueStatetype() * * Purpose: Convert an array index statetype into a unique statetype, * using the additional information of what kind of node * the state is from. */ int UniqueStatetype(int nodetype, int stidx) { switch (stidx) { case DEL_ST: switch (nodetype) { case -1: return uEND_ST; case BIFURC_NODE: return uBIFURC_ST; case BEGINL_NODE: case BEGINR_NODE: return uBEGIN_ST; default: return uDEL_ST; } case MATP_ST: return uMATP_ST; case MATL_ST: return uMATL_ST; case MATR_ST: return uMATR_ST; case INSR_ST: return uINSR_ST; case INSL_ST: return uINSL_ST; default: Die("no such state index %d", stidx); } /*NOTREACHED*/ return 0; } /************************************************************ * m2ali_s implementation. * * Functions: Init_m2ali() * Push_m2ali() * Pop_m2ali() * Free_m2ali() * * Implementation of the pushdown stack for traversing a model * and producing an alignment as a linked list of align_s * structures. Must keep track of a current node in the model * tree (stateidx, subtype) and a current insertion point in * the alignment (insafter) *************************************************************/ struct m2ali_s * Init_m2ali(void) { struct m2ali_s *stack; if ((stack = (struct m2ali_s *) malloc (sizeof(struct m2ali_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); stack->nxt = NULL; return stack; } void Push_m2ali(struct m2ali_s *stack, int nodeidx, int type, struct align_s *after) { struct m2ali_s *new; if ((new = (struct m2ali_s *) malloc (sizeof(struct m2ali_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); new->nodeidx= nodeidx; new->type = type; new->after = after; new->nxt = stack->nxt; stack->nxt = new; } int Pop_m2ali(struct m2ali_s *stack, int *ret_nodeidx, int *ret_type, struct align_s **ret_after) { struct m2ali_s *old; if (stack->nxt == NULL) return 0; old = stack->nxt; stack->nxt = old->nxt; if (ret_nodeidx != NULL) *ret_nodeidx = old->nodeidx; if (ret_type != NULL) *ret_type = old->type; if (ret_after != NULL) *ret_after = old->after; free(old); return 1; } void Free_m2ali( struct m2ali_s *stack ) { while (Pop_m2ali(stack, (int *) NULL, (int *) NULL, (struct align_s **) NULL)) ; free(stack); } /*************************************************************** * t2ali_s implementation. * * Functions: Init_t2ali() * Push_t2ali() * Pop_t2ali() * Free_t2ali() * * Implementation of the pushdown stack for traversing a traceback * and producing a linked list of align_s structures. ****************************************************************/ struct t2ali_s * Init_t2ali(void) { struct t2ali_s *stack; if ((stack = (struct t2ali_s *) malloc (sizeof(struct t2ali_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); stack->nxt = NULL; return stack; } void Push_t2ali(struct t2ali_s *stack, struct trace_s *tracenode, struct align_s *after) { struct t2ali_s *new; if ((new = (struct t2ali_s *) malloc (sizeof(struct t2ali_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); new->tracenode = tracenode; new->after = after; new->nxt = stack->nxt; stack->nxt = new; } int Pop_t2ali(struct t2ali_s *stack, struct trace_s **ret_tracenode, struct align_s **ret_after) { struct t2ali_s *old; if (stack->nxt == NULL) return 0; old = stack->nxt; stack->nxt = old->nxt; if (ret_tracenode != NULL) *ret_tracenode = old->tracenode; if (ret_after != NULL) *ret_after = old->after; free(old); return 1; } void Free_t2ali( struct t2ali_s *stack ) { while (Pop_t2ali(stack, (struct trace_s **) NULL, (struct align_s **) NULL)) ; free(stack); } /************************************************************ * align_s implementation * * Functions: Init_align() * Insafter_align() * Free_align() * Print_align() * * Implementation of a forward-linked list for alignment of * a model to a sequence. ************************************************************/ struct align_s * Init_align(void) { struct align_s *head; struct align_s *tail; if ((head = (struct align_s *) malloc (sizeof(struct align_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); if ((tail = (struct align_s *) malloc (sizeof(struct align_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); head->sym = tail->sym = ' '; head->ss = tail->ss = ' '; head->pos = tail->pos = -1; head->nodeidx = tail->nodeidx = -1; head->type = tail->type = -1; head->nxt = tail; tail->nxt = NULL; return head; } struct align_s * Insafter_align(int pos, char sym, /* ACGU base character */ char ss, /* <.> secondary structure character */ int nodeidx, int type, struct align_s *after) { struct align_s *new; if ((new = (struct align_s *) malloc (sizeof(struct align_s))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); new->pos = pos; new->sym = sym; new->ss = ss; new->nodeidx = nodeidx; new->type = type; new->nxt = after->nxt; after->nxt = new; return new; } void Delafter_align(struct align_s *after) { struct align_s *old; old = after->nxt; after->nxt = old->nxt; free(old); } void Free_align(struct align_s *head) { struct align_s *old; while (head != NULL) { old = head; head = head->nxt; free(old); } } #ifdef DEBUG void Print_align(struct align_s *head) { struct align_s *curr; for (curr = head->nxt; curr->nxt != NULL; curr = curr->nxt) fprintf(stderr, "%2d %c %c %2d %2d\n", curr->pos, curr->sym, curr->ss, curr->nodeidx, curr->type); } #endif /* DEBUG */ tRNAscan-SE-1.3.1/lengthdist.c0000644000543100001440000001246211021467304015016 0ustar pchanusers/* lengthdist.c * SRE, Fri Sep 30 09:51:14 1994 * * Calculate length distributions expected at each state. */ #include #include #include "squid.h" #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif #ifdef DEBUG #include #endif /* Function: LengthDistribution() * * Purpose: Given a covariance model, calculate the * length distribution that we expect each state * to be aligned to. Uses a full forward * (summed probabilities) calculation. * * Args: cm - covariance model (probability form) * N - maximum length to look at. * ret_lmx - RETURN: (0..M-1) by (0..N) matrix of probabilities * for states 0..M-1 emitting lengths of (0..N). * * Return: (void) * ret_lmx is alloc'ed here. Free2DArray(*ret_lmx, M) */ void LengthDistribution(struct pstate_s *pcm, int statenum, int N, double ***ret_lmx) { double **lmx; int y, len; int ynext; int mid; /* Allocate the matrix for storing probability * distributions. */ lmx = (double **) MallocOrDie(statenum * sizeof(double *)); for (y = 0; y < statenum; y++) lmx[y] = (double *) MallocOrDie ( (N+1) * sizeof(double)); /* Set whole thing to zero. */ for (y = 0; y < statenum; y++) for (len = 0; len <= N; len++) lmx[y][len] = 0.0; /* Initialize at length = 0. */ for (y = statenum-1; y >= 0; y--) switch (pcm[y].statetype) { case uEND_ST: lmx[y][0] = 1.0; break; case uBIFURC_ST: lmx[y][0] = lmx[y+1][0] * lmx[pcm[y].bifr][0]; break; case uDEL_ST: case uBEGIN_ST: for (ynext = 0; ynext < pcm[y].connectnum; ynext++) lmx[y][0] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][0]; break; } /* Recurse for lengths 1..N. */ for (len = 1; len <= N; len++) for (y = statenum-1; y >= 0; y--) switch (pcm[y].statetype) { case uEND_ST: break; case uBIFURC_ST: for (mid = 0; mid <= len; mid++) lmx[y][len] += lmx[y+1][mid] * lmx[pcm[y].bifr][len-mid]; break; case uDEL_ST: case uBEGIN_ST: for (ynext = 0; ynext < pcm[y].connectnum; ynext++) lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len]; break; case uMATP_ST: if (len > 1) for (ynext = 0; ynext < pcm[y].connectnum; ynext++) lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len-2]; break; case uMATR_ST: case uMATL_ST: case uINSL_ST: case uINSR_ST: for (ynext = 0; ynext < pcm[y].connectnum; ynext++) lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len-1]; break; default: Die("unrecognized state type %d", pcm[y].statetype); } *ret_lmx = lmx; return; } /* Function: LengthBounds() * * Purpose: Takes the probability distributions produced by * LengthDistribution() and produces a set of * minimum and maximum length bounds, within which * lies a specified amount of the probability. * * The algorithm is simple. Find the peak of the * probability distribution and include it. Then * look left and right; choose whichever one is * higher P, and include it. Continue until the * included probability exceeds the target. * * Args: lmx: probability distributions from LengthDistribution() * statenum: # of rows in lmx * N: max length (lmx is [0..statenum-1[0..N]) * epsilon: target probability is 1.0 - epsilon. * ret_min: RETURN: [0..statenum-1] array of minimum * lengths for each state * ret_max: RETURN: [0..statenum-1] array of maximum * lengths for each state * * Return: (void) * ret_min, ret_max alloced here. free(). */ void LengthBounds(double **lmx, int statenum, int N, double epsilon, int **ret_min, int **ret_max) { int *min, *max; int y, len; int cmin, cmax; /* current min and max */ double best; double p_remain; min = (int *) MallocOrDie (sizeof(int) * statenum); max = (int *) MallocOrDie (sizeof(int) * statenum); for (y = 0; y < statenum; y++) { /* danger! assuming that N was large enough! */ DNorm(lmx[y], (N+1)); /* step 1. find peak */ best = lmx[y][0]; cmin = 0; for (len = 1; len <= N; len++) if (lmx[y][len] > best) { best = lmx[y][len]; cmin = len; } /* that's where we start */ cmax = cmin; p_remain = 1.0 - lmx[y][cmin]; /* extend to find bounds */ while (p_remain > epsilon) { if (cmin == 0 && cmax == N) break; /* Die("state %d distribution not within set bound of %d; %f remains\n", y, N, p_remain); */ else if (cmin == 0) /* must look right */ p_remain -= lmx[y][++cmax]; else if (cmax == N) /* must look left */ p_remain -= lmx[y][--cmin]; else /* look left and right */ { if (lmx[y][cmin-1] > lmx[y][cmax+1]) p_remain -= lmx[y][--cmin]; else p_remain -= lmx[y][++cmax]; } } min[y] = cmin; max[y] = cmax; } *ret_min = min; *ret_max = max; } tRNAscan-SE-1.3.1/TRNA2-bact.cm0000644000543100001440000013445311021467310014565 0ustar pchanusers### cove V2 75 nodes ### node 0 type 6 1 -1 0.17391 0.00000 0.00000 0.77470 0.04743 0.00395 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.00000 0.00000 0.66667 0.06667 0.06667 0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 0.13333 0.06667 0.66667 0.13333 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 1 type 3 2 -1 0.95833 0.00000 0.00000 0.02083 0.00000 0.02083 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.98558 0.00481 0.00481 0.00481 # MATR ### node 2 type 3 3 -1 0.95833 0.00000 0.00000 0.02083 0.00000 0.02083 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00481 0.98558 0.00481 0.00481 # MATR ### node 3 type 3 4 -1 0.06250 0.00000 0.00000 0.91667 0.00000 0.02083 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00481 0.98558 0.00481 0.00481 # MATR ### node 4 type 3 5 -1 0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.97222 0.00397 0.01190 0.00000 0.00794 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 0.00000 0.00000 0.00000 0.00000 # INSL 0.20000 0.40000 0.20000 0.20000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.62550 0.03984 0.21912 0.11554 # MATR ### node 5 type 1 6 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00395 0.98024 0.00395 0.00395 0.00395 0.00395 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00380 0.00380 0.00380 0.03802 # MATP 0.03042 0.00380 0.06844 0.01141 # MATP 0.00380 0.69962 0.00380 0.06084 # MATP 0.05703 0.00380 0.00380 0.00380 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.16667 0.33333 0.16667 0.33333 # MATR ### node 6 type 1 7 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.02264 # MATP 0.00377 0.00377 0.33208 0.00377 # MATP 0.00377 0.52830 0.00755 0.03019 # MATP 0.03396 0.00377 0.01132 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 7 type 1 8 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.15472 # MATP 0.00377 0.00377 0.29057 0.00377 # MATP 0.00377 0.35094 0.00377 0.07170 # MATP 0.08679 0.00377 0.00755 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 8 type 1 9 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.06415 # MATP 0.00377 0.00377 0.28302 0.00377 # MATP 0.00377 0.47170 0.00377 0.01887 # MATP 0.10189 0.00377 0.02264 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 9 type 1 10 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.01132 0.00377 0.19623 # MATP 0.00377 0.00377 0.33585 0.00755 # MATP 0.00377 0.32453 0.00377 0.02264 # MATP 0.04528 0.00377 0.02642 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 10 type 1 11 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.97647 0.00392 0.00392 0.00784 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.20000 0.20000 0.40000 0.20000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.21509 # MATP 0.00377 0.00377 0.21887 0.00755 # MATP 0.00377 0.23396 0.00377 0.00377 # MATP 0.23774 0.00755 0.04528 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 11 type 1 12 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.00791 0.00000 0.98419 0.00000 0.00395 0.00395 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.23774 # MATP 0.00377 0.00377 0.02642 0.00377 # MATP 0.00377 0.41132 0.00377 0.03396 # MATP 0.24906 0.00377 0.00377 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 12 type 2 13 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00797 0.00000 0.98805 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00397 0.00397 0.00794 0.98413 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 13 type 2 14 -1 0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99600 0.00000 0.00000 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.68254 0.03175 0.26587 0.01984 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 14 type 0 15 28 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 15 type 4 16 -1 0.00395 0.98814 0.00395 0.00395 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 16 type 1 17 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.00755 # MATP 0.00377 0.00377 0.06038 0.00377 # MATP 0.00377 0.83396 0.00377 0.04151 # MATP 0.01509 0.00377 0.00377 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 17 type 1 18 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.05660 # MATP 0.00377 0.00377 0.70566 0.00377 # MATP 0.00377 0.00755 0.00755 0.00377 # MATP 0.17358 0.00377 0.01132 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 18 type 1 19 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.02264 # MATP 0.00377 0.00755 0.12830 0.00377 # MATP 0.01132 0.24151 0.00377 0.00377 # MATP 0.54717 0.00377 0.00755 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 19 type 1 20 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.13962 0.00377 0.00377 0.01887 # MATP 0.00755 0.00377 0.59245 0.00755 # MATP 0.12830 0.00377 0.00755 0.00377 # MATP 0.01887 0.00377 0.04528 0.01132 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 20 type 2 21 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.97628 0.00791 0.00791 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 21 type 2 22 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01190 0.00000 0.98413 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.20553 0.01186 0.77470 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 22 type 2 23 -1 0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.28000 0.00000 0.71600 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03984 0.33068 0.03187 0.59761 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 23 type 2 24 -1 0.01351 0.00000 0.97297 0.00000 0.01351 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00552 0.00000 0.83978 0.00000 0.15470 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03226 0.00000 0.90323 0.00000 0.06452 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.03125 0.25000 0.03125 0.68750 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.06593 0.17582 0.00549 0.75275 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 24 type 2 25 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.98419 0.00791 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 25 type 2 26 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.98814 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 26 type 2 27 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.52381 0.00000 0.47222 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00685 0.00000 0.81507 0.00000 0.17808 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.21769 0.08844 0.12245 0.57143 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.06324 0.17787 0.09881 0.66008 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 27 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99602 0.00000 0.00000 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.87747 0.00395 0.10672 0.01186 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 28 type 5 29 -1 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 29 type 2 30 -1 0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99600 0.00000 0.00000 0.00000 0.00400 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.55159 0.03175 0.38095 0.03571 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 30 type 0 31 44 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 31 type 4 32 -1 0.00395 0.98814 0.00395 0.00395 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 32 type 1 33 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.15472 # MATP 0.01132 0.00377 0.48302 0.00755 # MATP 0.01132 0.06792 0.00377 0.04151 # MATP 0.16981 0.00755 0.01887 0.00755 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 33 type 1 34 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.15094 # MATP 0.00377 0.00377 0.50566 0.00377 # MATP 0.00377 0.06038 0.00377 0.02264 # MATP 0.20377 0.00377 0.01132 0.01132 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 34 type 1 35 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00755 0.00377 0.00377 0.15849 # MATP 0.00377 0.00377 0.20000 0.00377 # MATP 0.00377 0.29057 0.00377 0.00755 # MATP 0.29811 0.00377 0.00377 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 35 type 1 36 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.01509 # MATP 0.00377 0.00377 0.21887 0.00377 # MATP 0.00377 0.69057 0.00377 0.02642 # MATP 0.00377 0.00377 0.00377 0.00755 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 36 type 1 37 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00755 0.00377 0.30943 # MATP 0.00377 0.00377 0.36981 0.00377 # MATP 0.00377 0.18491 0.00377 0.00755 # MATP 0.07925 0.00377 0.00755 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 37 type 2 38 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.01976 0.64822 0.00395 0.32806 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 38 type 2 39 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.00395 0.98814 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 39 type 2 40 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.03162 0.24506 0.34387 0.37945 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 40 type 2 41 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.30830 0.19763 0.24901 0.24506 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 41 type 2 42 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.21344 0.25296 0.20949 0.32411 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 42 type 2 43 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.80632 0.00395 0.18577 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 43 type 2 -1 -1 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99602 0.00000 0.00000 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.68775 0.20158 0.00791 0.10277 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 44 type 5 45 -1 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 45 type 2 46 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.00000 0.82937 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.33992 0.19763 0.25296 0.20949 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 46 type 2 47 -1 0.97674 0.00000 0.00000 0.00000 0.02326 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.98571 0.00000 0.00000 0.00000 0.01429 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.50000 0.16667 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.16038 0.02358 0.68396 0.13208 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 47 type 0 48 60 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 48 type 4 49 -1 0.78261 0.20553 0.00791 0.00395 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 49 type 1 50 -1 0.97537 0.00493 0.00493 0.00493 0.00493 0.00493 0.01754 0.91228 0.01754 0.01754 0.01754 0.01754 0.28571 0.14286 0.14286 0.14286 0.14286 0.14286 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.01493 0.01493 0.04478 0.16418 # MATP 0.01493 0.01493 0.04478 0.01493 # MATP 0.01493 0.35821 0.08955 0.10448 # MATP 0.04478 0.01493 0.02985 0.01493 # MATP 0.20000 0.40000 0.20000 0.20000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 50 type 1 51 -1 0.97549 0.00490 0.00490 0.00490 0.00490 0.00490 0.03509 0.89474 0.01754 0.01754 0.01754 0.01754 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.01493 0.01493 0.01493 0.05970 # MATP 0.01493 0.01493 0.23881 0.01493 # MATP 0.01493 0.23881 0.02985 0.01493 # MATP 0.26866 0.01493 0.01493 0.01493 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 51 type 1 52 -1 0.97561 0.00488 0.00488 0.00488 0.00488 0.00488 0.28571 0.64286 0.01786 0.01786 0.01786 0.01786 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.01515 0.01515 0.01515 0.07576 # MATP 0.01515 0.03030 0.42424 0.01515 # MATP 0.01515 0.10606 0.03030 0.04545 # MATP 0.09091 0.01515 0.07576 0.01515 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 52 type 1 53 -1 0.97727 0.00455 0.00455 0.00455 0.00455 0.00455 0.36585 0.53659 0.02439 0.02439 0.02439 0.02439 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03922 0.01961 0.01961 0.09804 # MATP 0.03922 0.01961 0.31373 0.01961 # MATP 0.01961 0.19608 0.01961 0.01961 # MATP 0.09804 0.01961 0.03922 0.01961 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 53 type 1 54 -1 0.97863 0.00427 0.00427 0.00427 0.00427 0.00427 0.33333 0.51852 0.03704 0.03704 0.03704 0.03704 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.02703 0.02703 0.02703 0.10811 # MATP 0.05405 0.02703 0.05405 0.02703 # MATP 0.02703 0.32432 0.02703 0.10811 # MATP 0.02703 0.05405 0.05405 0.02703 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 54 type 1 55 -1 0.97934 0.00413 0.00413 0.00413 0.00413 0.00413 0.47368 0.31579 0.05263 0.05263 0.05263 0.05263 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.03448 0.03448 0.03448 0.10345 # MATP 0.03448 0.03448 0.06897 0.03448 # MATP 0.06897 0.24138 0.03448 0.03448 # MATP 0.03448 0.03448 0.13793 0.03448 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 55 type 1 56 -1 0.80242 0.00000 0.15726 0.00000 0.00403 0.03629 0.11111 0.00000 0.22222 0.00000 0.11111 0.55556 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.06667 0.00000 0.86667 0.00000 0.00000 0.06667 0.25000 0.25000 0.25000 0.25000 # INSL 0.50000 0.18750 0.06250 0.25000 # INSR 0.04762 0.04762 0.04762 0.04762 # MATP 0.04762 0.04762 0.09524 0.04762 # MATP 0.04762 0.04762 0.04762 0.04762 # MATP 0.14286 0.04762 0.09524 0.09524 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 56 type 2 57 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.09091 0.07273 0.45455 0.38182 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 57 type 2 58 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.23636 0.21818 0.03636 0.50909 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 58 type 2 59 -1 0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.18519 0.00000 0.77778 0.00000 0.03704 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.40000 0.20000 0.20000 0.20000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.61818 0.16364 0.05455 0.16364 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 59 type 2 -1 -1 0.99522 0.00000 0.00000 0.00000 0.00478 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.97727 0.00000 0.00000 0.00000 0.02273 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.52174 0.17391 0.17391 0.13043 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 60 type 5 61 -1 0.06746 0.00000 0.92857 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 61 type 2 62 -1 0.05263 0.00000 0.89474 0.00000 0.05263 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00424 0.00000 0.22458 0.00000 0.77119 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00543 0.00000 0.98913 0.00000 0.00543 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.02162 0.03784 0.03243 0.90811 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.08861 0.02532 0.78481 0.10127 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 62 type 2 63 -1 0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00394 0.98425 0.00394 0.00394 0.00394 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00791 0.77075 0.01186 0.20949 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 63 type 1 64 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.21132 # MATP 0.00377 0.00377 0.07547 0.00377 # MATP 0.00377 0.37736 0.00377 0.27547 # MATP 0.01132 0.00377 0.00377 0.01132 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 64 type 1 65 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00755 0.00377 0.14340 # MATP 0.00377 0.00755 0.35094 0.00377 # MATP 0.00377 0.18868 0.00377 0.09811 # MATP 0.11321 0.00377 0.05660 0.00755 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 65 type 1 66 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.01132 0.00377 0.21887 # MATP 0.00377 0.00377 0.22264 0.00755 # MATP 0.00377 0.34340 0.00377 0.04906 # MATP 0.10566 0.00377 0.01132 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 66 type 1 67 -1 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00755 0.00377 0.11698 # MATP 0.00377 0.00377 0.00755 0.00377 # MATP 0.00377 0.82264 0.00377 0.00377 # MATP 0.00377 0.00377 0.00377 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 67 type 1 68 -1 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 0.25000 0.25000 0.25000 0.25000 # INSL 0.25000 0.25000 0.25000 0.25000 # INSR 0.00377 0.00377 0.00377 0.00755 # MATP 0.00377 0.00377 0.00377 0.00377 # MATP 0.00377 0.92830 0.00755 0.01132 # MATP 0.00377 0.00377 0.00377 0.00377 # MATP 0.25000 0.25000 0.25000 0.25000 # MATL 0.25000 0.25000 0.25000 0.25000 # MATR ### node 68 type 2 69 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.00395 0.00395 0.98814 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 69 type 2 70 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00397 0.00397 0.00397 0.98810 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 70 type 2 71 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00395 0.98814 0.00395 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 71 type 2 72 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.31225 0.00395 0.67984 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 72 type 2 73 -1 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.98814 0.00395 0.00395 0.00395 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 73 type 2 74 -1 0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.01594 0.00000 0.98008 0.00000 0.00398 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.38095 0.03968 0.38095 0.19841 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR ### node 74 type 2 -1 -1 0.80000 0.00000 0.00000 0.00000 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.99597 0.00000 0.00000 0.00000 0.00403 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.25000 0.25000 0.25000 0.25000 # INSL 0.00000 0.00000 0.00000 0.00000 # INSR 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00000 0.00000 0.00000 0.00000 # MATP 0.00800 0.16000 0.00400 0.82800 # MATL 0.00000 0.00000 0.00000 0.00000 # MATR tRNAscan-SE-1.3.1/save.c0000644000543100001440000002063411672025122013607 0ustar pchanusers/* save.c * Saving models to disk, and reading them back in * SRE, Wed Sep 8 17:14:43 1993 * * Both binary and flat text save formats are supported. */ #include #include #include #include "funcs.h" #include "structs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif /* The magic number for our binary file is "cm20" + 0x80808080 */ static int v20magic = 0xe3edb2b0; static int read_cm20 (FILE *fp, struct cm_s **ret_cm); static int read_bincm20(FILE *fp, struct cm_s **ret_cm); /* Function: WriteCM() * * Purpose: Print a flat text copy of the data from a model * to a file handle. * * Returns: 1 on success, 0 on failure. */ int WriteCM(FILE *fp, struct cm_s *cm) { int i, j, k; /* header info */ fprintf(fp, "### cove V2\n"); fprintf(fp, "%d \tnodes\n", cm->nodes); /* over all nodes, 0..cm->nodes-1 */ for (k = 0; k < cm->nodes; k++) { fprintf(fp, "### node %d type %d\n", k, cm->nd[k].type); fprintf(fp, "%d %d\n", cm->nd[k].nxt, cm->nd[k].nxt2); /* transitions */ for (i = 0; i < STATETYPES; i++) { for (j = 0; j < STATETYPES; j++) fprintf(fp, "%.5f ", cm->nd[k].tmx[i][j]); putc('\n', fp); } /* INSL emissions */ for (i = 0; i < ALPHASIZE; i++) fprintf(fp, "%.5f ", cm->nd[k].il_emit[i]); fputs("# INSL\n", fp); /* INSR emissions */ for (i = 0; i < ALPHASIZE; i++) fprintf(fp, "%.5f ", cm->nd[k].ir_emit[i]); fputs("# INSR\n", fp); /* MATP emissions */ for (i = 0; i < ALPHASIZE; i++) { for (j = 0; j < ALPHASIZE; j++) fprintf(fp, "%.5f ", cm->nd[k].mp_emit[i][j]); fputs("# MATP\n", fp); } /* MATL emissions */ for (i = 0; i < ALPHASIZE; i++) fprintf(fp, "%.5f ", cm->nd[k].ml_emit[i]); fputs("# MATL\n", fp); /* MATR emissions */ for (i = 0; i < ALPHASIZE; i++) fprintf(fp, "%.5f ", cm->nd[k].mr_emit[i]); fputs("# MATR\n", fp); } return 1; } /* Function: WriteBinaryCM() * * Purpose: Save a model in binary format; somewhat nonportable * but much more compressed. * * Args: fp - open file pointer to write to * cm - model to save * * Return: 1 on success, 0 on failure. */ int WriteBinaryCM(FILE *fp, struct cm_s *cm) { int k; /* counter for nodes */ /* Write the four-byte magic number. It identifies the file * as binary (because the high bits are set), and identifies * the major version of the program. It can be used to * identify and possibly humor byte-swapped architectures, * although we don't bother for now. */ fwrite((void *) &v20magic, 4, 1, fp); /* header info */ fwrite((void *) &(cm->nodes), sizeof(int), 1, fp); /* loop over all nodes in model */ for (k = 0; k < cm->nodes; k++) { /* type of node */ fwrite((void *) &cm->nd[k].type, sizeof(int), 1, fp); /* indices of child nodes */ fwrite((void *) &cm->nd[k].nxt, sizeof(int), 1, fp); fwrite((void *) &cm->nd[k].nxt2, sizeof(int), 1, fp); /* transitions */ fwrite((void *) cm->nd[k].tmx, sizeof(double), STATETYPES*STATETYPES, fp); /* INS emissions */ fwrite((void *) cm->nd[k].il_emit, sizeof(double), ALPHASIZE, fp); fwrite((void *) cm->nd[k].ir_emit, sizeof(double), ALPHASIZE, fp); /* MAT emissions */ fwrite((void *) cm->nd[k].mp_emit, sizeof(double), ALPHASIZE * ALPHASIZE, fp); fwrite((void *) cm->nd[k].ml_emit, sizeof(double), ALPHASIZE, fp); fwrite((void *) cm->nd[k].mr_emit, sizeof(double), ALPHASIZE, fp); } return 1; } /* Function: ReadCM() * * Purpose: Read a flat text copy of the data from a model * from a file. * * Returns: 1 on success, 0 on failure. */ int ReadCM(char *filename, struct cm_s **ret_cm) { FILE *fp; char buffer[512]; int magic_number; /* Open file for reading */ if ((fp = fopen(filename, "r")) == NULL) { Warn("Cannot open model file %s for reading", filename); return 0; } /* Look for "magic" header and dispatch reading * to the appropriate routine. First we check the leading * 4 bytes to see if it's a binary save file. */ if (! fread((void *) &magic_number, 4, 1, fp)) Die("Failed to read magic number from model file %s", filename); if (magic_number == v20magic) { if (! read_bincm20(fp, ret_cm)) Die("Failed to read binary model file %s", filename); } else { rewind(fp); if (fgets(buffer, 512, fp) == NULL) { Warn("ain't no data in the model file %s, pal", filename); return 0; } if (strncmp(buffer, "### cove V2", 11) == 0) { if (! read_cm20(fp, ret_cm)) return 0; } else { Warn("File %s is not a recognized covariance model format", filename); return 0; } } /* We're vulnerable to some roundoff error when we've read * files in; make sure all probabilities sum to 1. */ NormalizeCM(*ret_cm); fclose(fp); return 1; } /* Function: read_cm20() * * Purpose: Read flat text model files from version 2.0 of the * package. The file pointer fp is positioned on the line * just after the "magic" header. Allocates, reads in, * and returns the model. */ static int read_cm20(FILE *fp, struct cm_s **ret_cm) { struct cm_s *cm; int i, j, k; int nodes; int ret = 0; /* header info */ ret = fscanf(fp, "%d \tnodes\n", &nodes); /* Given that header info, alloc for a model. */ cm = AllocCM(nodes); if (cm == NULL) { Warn("Failed to allocate model"); return 0; } /* over all nodes, 0..nodes-1 */ for (k = 0; k < nodes; k++) { ret = fscanf(fp, "### node %*d"); ret = fscanf(fp, " type %d\n", &cm->nd[k].type); ret = fscanf(fp, "%d %d\n", &cm->nd[k].nxt, &cm->nd[k].nxt2); /* transitions */ for (i = 0; i < STATETYPES; i++) { for (j = 0; j < STATETYPES; j++) ret = fscanf(fp, "%lf ", &cm->nd[k].tmx[i][j]); ret = fscanf(fp, "\n"); } /* INSL emissions */ for (i = 0; i < ALPHASIZE; i++) ret = fscanf(fp, "%lf ", &cm->nd[k].il_emit[i]); ret = fscanf(fp, "# INSL\n"); /* INSR emissions */ for (i = 0; i < ALPHASIZE; i++) ret = fscanf(fp, "%lf ", &cm->nd[k].ir_emit[i]); ret = fscanf(fp, "# INSR\n"); /* MATP emissions */ for (i = 0; i < ALPHASIZE; i++) { for (j = 0; j < ALPHASIZE; j++) ret = fscanf(fp, "%lf ", &cm->nd[k].mp_emit[i][j]); ret = fscanf(fp, "# MATP\n"); } /* MATL emissions */ for (i = 0; i < ALPHASIZE; i++) ret = fscanf(fp, "%lf ", &cm->nd[k].ml_emit[i]); ret = fscanf(fp, "# MATL\n"); /* MATR emissions */ for (i = 0; i < ALPHASIZE; i++) ret = fscanf(fp, "%lf ", &cm->nd[k].mr_emit[i]); ret = fscanf(fp, "# MATR\n"); } *ret_cm = cm; return 1; } /* Function: read_bincm20() * * Purpose: Read binary save files. * * Args: fp - open file pointer for reading, positioned after magic number * ret_cm - RETURN: model * * Return: 1 on success, 0 on failure */ static int read_bincm20(FILE *fp, struct cm_s **ret_cm) { struct cm_s *cm; int nodes; int k; /* counter for nodes */ if (! fread((void *) &(nodes), sizeof(int), 1, fp)) return 0; /* now create space for CM. */ cm = AllocCM(nodes); if (cm == NULL) return 0; /* everything else is nodes */ for (k = 0; k < nodes; k++) { /* type of node */ if (! fread((void *) &cm->nd[k].type, sizeof(int), 1, fp)) return 0; /* indices of child nodes */ if (! fread((void *) &cm->nd[k].nxt, sizeof(int), 1, fp)) return 0; if (! fread((void *) &cm->nd[k].nxt2, sizeof(int), 1, fp)) return 0; /* transitions */ if (! fread((void *) cm->nd[k].tmx, sizeof(double), STATETYPES*STATETYPES, fp)) return 0; /* INS emissions */ if (! fread((void *) cm->nd[k].il_emit, sizeof(double), ALPHASIZE, fp)) return 0; if (! fread((void *) cm->nd[k].ir_emit, sizeof(double), ALPHASIZE, fp)) return 0; /* MAT emissions */ if (! fread((void *) cm->nd[k].mp_emit, sizeof(double), ALPHASIZE*ALPHASIZE, fp)) return 0; if (! fread((void *) cm->nd[k].ml_emit, sizeof(double), ALPHASIZE, fp)) return 0; if (! fread((void *) cm->nd[k].mr_emit, sizeof(double), ALPHASIZE, fp)) return 0; } *ret_cm = cm; return 1; } tRNAscan-SE-1.3.1/score_main.c0000644000543100001440000001412711021467305014771 0ustar pchanusers/* score_main.c * Fri Feb 18 10:31:48 1994 * * main() for scoring test sequences with a model. * Also, can print out alignments of model to sequence so * that the pairwise assignments can be seen. */ #include #include #include #include #include #ifdef NEED_GETOPTH #include #endif #include "structs.h" #include "funcs.h" #include "squid.h" #include "version.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif #define OPTIONS "ag:ms" static char usage[] = "\ Usage: coves [-options] \n\ where options are:\n\ -a : show all pairs, not just Watson-Crick\n\ -g : set expected background GC composition (default 0.5)\n\ -m : mountain representation of structural alignment\n\ -s : secondary structure string representation of \n\ structural alignment\n"; static char banner[] = "\ coves - scoring and structure prediction of RNA sequences\n\ using a covariance model"; int main(int argc, char **argv) { char *seq; /* a sequence to score */ SQINFO sqinfo; /* info about seq */ char *seqfile; /* sequence file */ int fmt; /* format of sequence file */ SQFILE *dbfp; /* open sequence file for reading */ char *cmfile; /* file containing covariance model */ struct cm_s *cm; /* model */ double score; /* score of alignment */ struct trace_s *tr; /* traceback of alignment */ struct align_s *ali; /* alignment of seq to model */ char *aseq; /* "aligned" sequence string */ char *khstruct; /* secondary structure string */ char buffer[61]; /* output buffer for structures */ int len; /* length of aseq, khstruct */ int apos; /* position in aseq, khstruct */ double rfreq[ALPHASIZE]; /* expected background symbol frequencies */ struct istate_s *icm; /* integer log odds model */ int statenum; /* # of states in icm */ int do_khstructure; /* TRUE if we print a structure string */ int do_mountain; /* TRUE if we show a mountain structure */ int watsoncrick; /* TRUE if only canonical pairs are indicated */ double gcfrac; /* expected background GC fraction */ #ifdef MEMDEBUG unsigned long histid1, histid2, orig_size, curr_size; #endif int optc; extern char *optarg; /* for getopt() */ extern int optind; /* for getopt() */ /*********************************************** * Parse command line ***********************************************/ do_khstructure = FALSE; do_mountain = FALSE; watsoncrick = TRUE; gcfrac = 0.5; while ((optc = getopt(argc, argv, OPTIONS)) != -1) switch (optc) { case 'a': watsoncrick = FALSE; break; case 'g': gcfrac = (double) atof(optarg); break; case 'm': do_mountain = TRUE; break; case 's': do_khstructure = TRUE; break; case 'h': printf("%s\n version %s (%s)\n%s\n", banner, RELEASE, RELEASEDATE, usage); exit(0); default: Die("unrecognized option %c\n", optc); } if (argc - optind != 2) Die("%s\n", usage); cmfile = argv[argc-2]; seqfile = argv[argc-1]; if (! SeqfileFormat(seqfile, &fmt, NULL)) Die("Failed to determine format of sequence database %s", seqfile); if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL) Die("Failed to open sequence file %s for reading", seqfile); if (! ReadCM(cmfile, &cm)) Die("Failed to read model from file %s", cmfile); rfreq[1] = rfreq[2] = gcfrac / 2.; rfreq[0] = rfreq[3] = (1. - gcfrac) / 2.; if (! RearrangeCM(cm, rfreq, &icm, &statenum)) Die("failed to make integer log odds model"); /*********************************************** * Print banner ***********************************************/ puts(banner); printf(" version %s, %s\n\n", RELEASE, RELEASEDATE); printf("---------------------------------------------------\n"); printf("Database to search/score: %s\n", seqfile); printf("Model: %s\n", cmfile); printf("GC%% of background model: %.0f%%\n", (gcfrac*100.)); printf("---------------------------------------------------\n"); puts(""); /*********************************************** * Score each sequence ***********************************************/ #ifdef MEMDEBUG orig_size = malloc_size(&histid1); #endif while (ReadSeq(dbfp, fmt, &seq, &sqinfo)) { char *prepseq; prepseq = Strdup(seq); PrepareSequence(prepseq); if (! ViterbiAlign(icm, statenum, prepseq, &score, &tr)) Die("ViterbiAlign() failed on sequence %s", sqinfo.name); free(prepseq); printf("%6.2f bits : %s\n", score, sqinfo.name); if (do_khstructure || do_mountain) { if (! Trace2ali(seq, tr, watsoncrick, &ali)) Die("Trace2ali failed"); if (do_khstructure) { if (! Align2kh(ali, &aseq, &khstruct)) Die("Align2kh failed\n"); /* Print out the sequence and structure */ len = strlen(aseq); buffer[60] = '\0'; for (apos = 1; apos <= len; apos += 60) { strncpy(buffer, aseq + apos - 1, 60); printf(" %10s %s\n", sqinfo.name, buffer); strncpy(buffer, khstruct + apos - 1, 60); printf(" %10s %s\n", sqinfo.name, buffer); puts(""); } free(aseq); free(khstruct); } if (do_mountain) { PrintAliLandscape(stdout, cm, ali); puts(""); } Free_align(ali); } FreeSequence(seq, &sqinfo); #ifdef MEMDEBUG curr_size = malloc_size(&histid2); if (curr_size != orig_size) { Warn("malloc-debug: current size %ul, starting size %ul\n", curr_size, orig_size); malloc_list(2,histid1, histid2); } #endif } SeqfileClose(dbfp); FreeCM(cm); free(icm); return 0; } tRNAscan-SE-1.3.1/INSTALL0000644000543100001440000000353111021467312013532 0ustar pchanusers Installation of tRNAscan-SE: a tool for finding transfer RNAs ----------------------------------------------------------------- 1) Edit the top of the Makefile. Set the paths and other make variables to suit your system. In particular, you need to specify: 1) where executables are to be installed 2) where data files are to be installed 3) where Perl is already installed on the system 4) what the Perl binary is called (i.e. 'perl' or 'perl5') 5) where temporary files will reside 6) where to install man pages 2) type 'make' to build the programs 3) type 'make install' to install the programs and man pages. !! NOTE: If you later manually move the location of binaries or data files from the directories specified in the 'Makefile', you need to delete the tRNAscan-SE executable, update the locations specified in the Makefile, and 'make install' again. 4) type 'make testrun' to run tRNAscan-SE on a sample sequence; if the program runs with no error messages, tRNAscan-SE has been installed correctly 5) type 'make clean' to clean up. !! Note: A small Perl script (checkversion.pl) will run in the process of 'make'ing tRNAscan-SE. If you have specified an invalid location or version of Perl (<5.0) in the Makefile PERLDIR variable, the make will fail. If you plan to install a correct version of Perl AFTER installing the tRNAscan-SE package, you may short-circut this check by commenting out the line in the makefile containing 'checkversion.pl'. tRNAscan-SE is known to build cleanly on a number of different UNIX platforms and OS's, including: SGI, IRIX Sun, Solaris DEC Alpha, OSF/1 Intel x86, Linux Non-ANSI compilers may need one or more -MDEFS defined (see notes in Makefile if you have a compilation problem). It is currently maintained under Linux on an Intel PIII-500 using gcc. tRNAscan-SE-1.3.1/interleaved.c0000644000543100001440000004016611021467304015155 0ustar pchanusers/* SQUID - A C function library for biological sequence analysis * Copyright (C) 1992-1996 Sean R. Eddy * * This source code is distributed under terms of the * GNU General Public License. See the files COPYING * and GNULICENSE for further details. * */ /* interleaved.c * I/O of interleaved format multiple alignments. * Modified from selex.c * * Fri Dec 4 17:43:24 1992, SRE: * Reading and writing aligned sequences to/from disk files. * Implements a new, broader specification of SELEX format * and supercedes alignio.c. * * SRE, Tue Nov 9 17:40:50 1993: * major revision. #= special comments and aliinfo_s optional * alignment info support added. Support for #=CS (consensus * secondary structure), #=SS (individual secondary structure), * #=RF (reference coordinate system), #=SQ (per-sequence header info), * and #=AU ("author") added. * * SRE, Mon Jan 30 14:41:49 1995: * #=SA side chain % surface accessibility annotation supported * * SRE, Mon Sep 11 09:20:08 1995 * selex.c generalized and simplified to make interleaved.c * * SELEX format is documented in Docs/formats.tex. **************************************************************************** */ #include #include #include #include #include #include /* SunOS 4.x isn't fully ANSI-compliant. */ #include "squid.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif static void homogenize_gapsym(char *s, char gapsym); static int copy_alignment_line(char *aseq, int apos, int name_rcol, char *buffer, int lcol, int rcol); static char commentsyms[] = "#%"; /* Function: homogenize_gapsym() * * Purpose: Make gap symbols homogeneous. */ static void homogenize_gapsym(char *s, char gapsym) { for (; *s != '\0'; s++) if (isgap(*s)) *s = gapsym; } /* Function: copy_alignment_line() * * Purpose: Given a line from an alignment file, and bounds lcol,rcol * on what part of it may be sequence, save the alignment into * aseq starting at position apos. * * name_rcol is set to the rightmost column this aseqs's name * occupies; if name_rcol >= lcol, we have a special case in * which the name intrudes into the sequence zone. */ static int copy_alignment_line(char *aseq, int apos, int name_rcol, char *buffer, int lcol, int rcol) { char *s1, *s2; int i; s1 = aseq + apos; s2 = buffer; /* be careful that buffer doesn't end before lcol! */ for (i = 0; i < lcol; i++) if (*s2) s2++; for (i = lcol; i <= rcol; i++) { if (*s2 == '\t') { Warn("TAB characters will corrupt a SELEX alignment! Please remove them first."); return 0; } if (name_rcol >= i) *s1 = '.'; /* name intrusion: pad left w/ gaps */ else if (*s2 == '\0' || *s2 == '\n') *s1 = '.'; /* short buffer: pad right w/ gaps */ else *s1 = *s2; /* normal: copy buffer into aseq */ s1++; if (*s2) s2++; } return 1; } /* Function: is_blankline() * * Return TRUE if line is all whitespace. */ static int is_blankline(char *buffer) { for (; *buffer != '\0'; buffer++) if (! isspace(*buffer)) return 0; return 1; } /* CLUSTALV and CLUSTALW support * * parse_header() and is_dataline() functions for ClustalV and ClustalW * interleaved multiple alignment format */ /*ARGSUSED*/ static int parse_clustal(FILE *fp, AINFO *ainfo, int *got_sqinfo) { char buffer[LINEBUFLEN]; do { if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; } } while (strncmp(buffer, "CLUSTAL ", 8) != 0 || strstr(buffer, "multiple sequence alignment") == NULL); *got_sqinfo = FALSE; return 1; } static int dataline_clustal(char *buf, char *expected_name) { while (*buf && isspace(*buf)) buf++; if (*buf == '\0' || strchr(commentsyms, *buf) != NULL) return 0; /* blank or comment */ if (expected_name != NULL && strncmp(buf, expected_name, strlen(expected_name) == 0)) return 1; /* matches expected seq name */ for (; *buf != '\0'; buf++) { /* Clustal has no coord lines to worry about */ if (*buf == '*' || *buf == '.') continue; /* possible consensus line */ if (isalnum(*buf)) return 1; /* name or seq character */ if (*buf != ' ' && isgap(*buf)) return 1; /* possible all-gap line */ } return 0; } /* GCG MSF support * * parse_header() and is_dataline() routines for GCG MSF alignments */ static int parse_MSF(FILE *fp, AINFO *ainfo, int *got_sqinfo) { char buffer[LINEBUFLEN]; char *sptr; int nseq; /* Get first dividing line. MSF format specifies ints after MSF: and Check: * but we don't make sure of this */ do { if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; } } while (strstr(buffer, " MSF: ") == NULL || strstr(buffer, " Check: ") == NULL || strstr(buffer, " ..") == NULL); /* Get names, weight from header */ nseq = 0; /*CONSTCOND*/ while (1) { if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; } if (is_blankline(buffer)) continue; if (strncmp(buffer, "//", 2) == 0) break; sptr = strtok(buffer, WHITESPACE); if (sptr == NULL || strcmp(sptr, "Name:") != 0 || strstr(sptr+5, "Weight:") != 0) { squid_errno = SQERR_FORMAT; return 0; } if (nseq == 0) ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO)); else ainfo->sqinfo = (SQINFO *) realloc (ainfo->sqinfo, (nseq + 1) * sizeof(SQINFO)); if (ainfo->sqinfo == NULL) { squid_errno = SQERR_MEM; return 0; } ainfo->sqinfo[nseq].flags = 0; if ((sptr = strtok(NULL, WHITESPACE)) == NULL) {squid_errno=SQERR_FORMAT; return 0; } SetSeqinfoString(&(ainfo->sqinfo[nseq]), sptr, SQINFO_NAME); while (sptr != NULL && strcmp(sptr, "Weight:") != 0) sptr = strtok(NULL, WHITESPACE); if ((sptr = strtok(NULL, WHITESPACE)) == NULL) {squid_errno=SQERR_FORMAT; return 0; } SetSeqinfoString(&(ainfo->sqinfo[nseq]), sptr, SQINFO_WGT); nseq++; } *got_sqinfo = TRUE; return 1; } static int dataline_MSF(char *buf, char *expected_name) { while (*buf && isspace(*buf)) buf++; if (*buf == '\0' || strchr(commentsyms, *buf) != NULL) return 0; /* blank or comment */ if (expected_name != NULL && strncmp(buf, expected_name, strlen(expected_name) == 0)) return 1; /* matches expected seq name */ for (; *buf != '\0'; buf++) { /* MSF has coordinate lines to worry about */ if (isspace(*buf)) continue; /* no info from spaces */ if (isalpha(*buf)||isgap(*buf)) return 1; /* has data on it */ } return 0; } /* Function: ReadInterleaved() * * Purpose: Read multiple aligned sequences from the file seqfile. * Store aligned sequences in aseqs, names in names, and * the number of sequences in num. * * Memory is allocated for aseqs and names, and they must be * free'd by the caller. * * If optional information is desired, a non-NULL ainfo * pointer is passed. * * Args: seqfile: name of alignment file to read. * parse_header(): routine to parse the header of the file * is_dataline(): routine to determine if a line contains data * ret_aseqs: RETURN: 2D array of aligned sequences * ret_anum: RETURN: number of aligned sequences * ainfo: RETURN: optional alignment information * * Returns 1 on success. Returns 0 on failure and sets * squid_errno to indicate the cause of the failure. */ int ReadInterleaved(char *seqfile, int (*parse_header)(FILE *, AINFO *, int *), int (*is_dataline)(char *, char *), char ***ret_aseqs, int *ret_num, AINFO *ainfo) { FILE *fp; /* ptr to opened seqfile */ char **aseqs; /* aligned seqs */ int nseq; /* number of seqs read */ char buffer[LINEBUFLEN]; /* input buffer for lines */ char bufcpy[LINEBUFLEN]; /* copy of buffer for strtok */ struct block_struc { /** alignment data for a block: */ int lcol; /* furthest left aligned sym */ int rcol; /* furthest right aligned sym */ } *blocks; int blocknum; /* number of blocks in file */ char *sptr; /* ptr into line during parsing */ int currblock; /* index for blocks */ int seqidx; /* counter for seqs */ int alen; /* length of alignment */ int warn_names; /* becomes TRUE if names don't match between blocks */ int currlen; int count; int inblock; /* TRUE if in a block of data */ long offset; /* used for skipping header */ int got_sqinfo; /* TRUE if header gave us sqinfo */ /*************************************************** * Parse the header of the file, according to caller-supplied function. * The parser is responsible for making sure there are * no non-comment lines before the first block. Comment * or blank lines are OK. The parser may also fill fields * into ainfo. ***************************************************/ /* open the file for reading */ fp = fopen(seqfile, "r"); if (fp == NULL) { squid_errno = SQERR_NOFILE; return 0; } if (! (*parse_header) (fp, ainfo, &got_sqinfo)) return 0; offset = ftell(fp); /* where are we in the file? */ /*************************************************** * First pass across file. * Count seqs, get names, determine column info ***************************************************/ ainfo->flags = 0; blocknum = 0; nseq = 0; inblock = FALSE; blocks = NULL; warn_names = FALSE; while (!feof(fp)) { /* allocate for info about this block. */ if (blocknum == 0) blocks = (struct block_struc *) malloc (sizeof(struct block_struc)); else blocks = (struct block_struc *) realloc (blocks, (blocknum+1) * sizeof(struct block_struc)); if (blocks == NULL) { squid_errno = SQERR_MEM; return 0; } blocks[blocknum].lcol = LINEBUFLEN+1; blocks[blocknum].rcol = -1; seqidx = 0; /*CONSTCOND*/ while (1) /* breaks out when blank line or EOF is hit, see below */ { /* get a data line */ do { if (fgets(buffer, LINEBUFLEN, fp) == NULL) goto BREAKOUT; if (inblock && is_blankline(buffer)) goto BREAKOUT; } while (! (*is_dataline)(buffer, (got_sqinfo || (seqidx < nseq && blocknum > 0)) ? ainfo->sqinfo[seqidx].name : NULL)); /* copy line for strtok'ing. set sptr to first word */ inblock = TRUE; strcpy(bufcpy, buffer); sptr = strtok(bufcpy, WHITESPACE); /* First block only: save names */ if (blocknum == 0 && !got_sqinfo) { if (seqidx == 0) ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO)); else ainfo->sqinfo = (SQINFO *) realloc (ainfo->sqinfo, (seqidx + 1) * sizeof(SQINFO)); if (ainfo->sqinfo == NULL) { squid_errno = SQERR_MEM; return 0; } ainfo->sqinfo[seqidx].flags = 0; SetSeqinfoString(&(ainfo->sqinfo[seqidx]), sptr, SQINFO_NAME); } else /* in each additional block: check names */ { if (strcmp(ainfo->sqinfo[seqidx].name, sptr) != 0) warn_names = TRUE; } seqidx++; /* bump sequence counter */ /* check rcol, lcol */ if ((sptr = strtok(NULL, WHITESPACE)) != NULL) { /* is this the furthest left we've seen word 2 in this block? */ if (sptr - bufcpy < blocks[blocknum].lcol) blocks[blocknum].lcol = sptr - bufcpy; /* look for right side in buffer */ for (sptr = buffer + strlen(buffer) - 1; isspace(*sptr); sptr --) /* do nothing */ ; if (sptr - buffer > blocks[blocknum].rcol) blocks[blocknum].rcol = sptr - buffer; } } /* check that number of sequences matches expected */ BREAKOUT: if (inblock) { if (blocknum != 0 && seqidx != nseq) { squid_errno = SQERR_FORMAT; return 0; } nseq = seqidx; blocknum++; inblock = FALSE; } } /*************************************************** * Get ready for second pass: * figure out the length of the alignment * malloc space * rewind the file ***************************************************/ alen = 0; for (currblock = 0; currblock < blocknum; currblock++) alen += blocks[currblock].rcol - blocks[currblock].lcol + 1; fseek(fp, offset, SEEK_SET); /* rewind to first data block */ /* allocations */ if ((aseqs = (char **) malloc (nseq * sizeof(char *))) == NULL) { squid_errno = SQERR_MEM; return 0; } for (seqidx = 0; seqidx < nseq; seqidx++) if ((aseqs[seqidx] = (char *) malloc ((alen+1) * sizeof(char))) == NULL) { squid_errno = SQERR_MEM; return 0; } ainfo->alen = alen; ainfo->flags |= AINFO_ALEN; /*************************************************** * Second pass across file. Parse alignment ***************************************************/ /* We've now made a complete first pass over the file. We know how * many blocks it contains, we know the number of seqs in the first * block, and we know every block has the same number of blocks; * so we can be a bit more cavalier about error-checking as we * make the second pass. */ currlen = 0; for (currblock = 0 ; currblock < blocknum; currblock++) { for (seqidx = 0; seqidx < nseq; seqidx++) { /* get next line */ do { if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; } } while (! (*is_dataline)(buffer, ainfo->sqinfo[seqidx].name)); /* find right boundary of name */ sptr = buffer; while (*sptr && isspace(*sptr)) sptr++; while (*sptr && !isspace(*sptr)) sptr++; /* parse line */ if (! copy_alignment_line(aseqs[seqidx], currlen, sptr - buffer, buffer, blocks[currblock].lcol, blocks[currblock].rcol)) { squid_errno = SQERR_FORMAT; return 0; } } currlen += blocks[currblock].rcol - blocks[currblock].lcol + 1; } /* NULL-terminate all the strings */ for (seqidx = 0; seqidx < nseq; seqidx++) { aseqs[seqidx][alen] = '\0'; homogenize_gapsym(aseqs[seqidx], (char) '.'); } /* find raw sequence lengths for sqinfo */ for (seqidx = 0; seqidx < nseq; seqidx++) { count = 0; for (sptr = aseqs[seqidx]; *sptr != '\0'; sptr++) if (!isgap(*sptr)) count++; ainfo->sqinfo[seqidx].len = count; ainfo->sqinfo[seqidx].flags |= SQINFO_LEN; } /* tidy up the alignment */ MingapAlignment(aseqs, nseq, ainfo); /*************************************************** * Garbage collection and return ***************************************************/ fclose(fp); free(blocks); if (warn_names) Warn("sequences may be in different orders in blocks of %s?", seqfile); *ret_num = nseq; *ret_aseqs = aseqs; return 1; } /* Function: ReadAlignment() * * Purpose: Given a seqfile name and format, hand it off to appropriate * parser. * * Currently, squid can parse alignments from the following * multiple sequence alignment formats: * MSF (U. of Wisconsin GCG package MSF format) * SELEX (NeXagen/CU Boulder SELEX format) * CLUSTAL (Des Higgins' CLUSTALV and CLUSTALW programs) * * Return: 1 on success; 0 on failure. * Returned data should be freed by caller with FreeAlignment() */ int ReadAlignment(char *seqfile, int format, char ***ret_aseqs, int *ret_num, struct aliinfo_s *ret_ainfo) { switch (format) { case kMSF: if (! ReadInterleaved(seqfile, parse_MSF, dataline_MSF, ret_aseqs, ret_num, ret_ainfo)) return 0; break; case kSelex: if (! ReadSELEX(seqfile, ret_aseqs, ret_num, ret_ainfo)) return 0; break; case kClustal: if (! ReadInterleaved(seqfile, parse_clustal, dataline_clustal, ret_aseqs, ret_num, ret_ainfo)) return 0; break; default: squid_errno = SQERR_FORMAT; return 0; } return 1; } tRNAscan-SE-1.3.1/TRNAinf-arch-c.cm0000644000543100001440000011066011143753664015435 0ustar pchanusersINFERNAL-1 [1.0] NAME tRNA1415G-arch STATES 298 NODES 79 ALPHABET 1 ELSELF -0.08926734 WBETA 1e-07 NSEQ 62 EFFNSEQ 62.000 CLEN 93 BCOM cmbuild --rf --enone TRNAinf-arch-nc.cm trna1415G-arch.sto BDATE Sun Feb 8 16:46:36 2009 CCOM cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-arch.hfile --exp-sfile cmcalibrate_files/TRNAinf-arch.sfile --exp-qqfile cmcalibrate_files/TRNAinf-arch.qqfile --exp-ffile cmcalibrate_files/TRNAinf-arch.ffile --fil-dfile cmcalibrate_files/TRNAinf-arch.dfile -s 208 TRNAinf-arch-c.cm CDATE Sun Feb 8 19:56:48 2009 NULL 0.000 0.000 0.000 0.000 PART 1 0 100 E-LC 0 0.79080 -6.05377 1.74701 1500000 537353 0.002094 E-GC 0 0.34092 -36.60830 -23.07041 1500000 37885 0.009898 E-LI 0 0.68252 -7.04406 1.91352 1500000 508509 0.002212 E-GI 0 0.35486 -32.60887 -19.71497 1500000 36405 0.010301 E-LV 0 0.74538 -0.99223 3.70630 48670000 121144 0.030131 E-GV 0 0.32837 -22.22404 -8.21495 48670000 121066 0.010050 E-LF 0 0.66040 -0.10168 5.20152 48670000 121149 0.030130 E-GF 0 0.35058 -18.76218 -5.63802 48670000 121181 0.010041 FT-LC 27 0.99500 10000 1500000 0 27.834 27.834 26.7192 26.2711 25.3709 7.0174 4.96286 3.46051 2.95227 2.75284 1.2807 1.15246 0.960678 0.684234 0.486205 0.320843 0.225312 0.14124 0.107615 0.1057 0.0808781 0.0808781 0.0808781 0.0806581 0.07573 0.0546174 8.30129e-17 1343.66 1171.2 948.726 815.033 694.195 572.823 472.048 423.594 258.645 217.838 174.143 153.304 134.958 111.289 93.36 77.2409 62.5272 49.1992 43.5986 30.5208 22.6144 18.4644 16.591 14.0104 11.7766 9.60599 0.960599 FT-LI 27 0.99500 10000 1500000 0 51.723 49.9161 47.7457 46.4376 40.6566 14.531 9.99927 7.44873 7.12282 3.92067 3.62885 3.10429 2.00265 1.79171 1.38061 0.819573 0.541235 0.509414 0.334516 0.334516 0.334516 0.292453 0.239123 0.238371 0.205372 0.149049 2.89719e-14 1343.66 1171.2 948.726 815.033 694.195 572.823 472.048 423.594 258.645 217.838 174.143 153.304 134.958 111.289 93.36 77.2409 62.5272 49.1992 43.5986 30.5208 22.6144 18.4644 16.591 14.0104 11.7766 9.60599 0.960599 FT-GC 4 0.99500 10000 1500000 1 1.54861e-05 1.06157e-05 9.83182e-06 3.29077e-07 2.89211 1.22643 0.904344 0.754031 FT-GI 4 0.99500 10000 1500000 1 1.43094e-05 1.163e-05 2.50222e-06 4.25207e-07 2.89211 1.22643 0.904344 0.754031 MODEL: [ ROOT 0 ] S 0 -1 0 1 4 -4.693 -12.169 -2.552 -0.339 IL 1 1 2 1 4 -4.509 -6.011 -0.869 -1.348 0.000 0.000 0.000 0.000 IR 2 2 3 2 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 1 ] MR 3 2 3 5 3 -9.983 -0.006 -8.301 1.945 -4.637 -4.343 -4.086 D 4 2 3 5 3 -13.130 -8.308 -0.005 IR 5 5 3 5 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 2 ] MR 6 5 3 8 3 -9.983 -0.006 -8.301 -3.682 1.918 -4.609 -3.302 D 7 5 3 8 3 -13.130 -5.234 -0.039 IR 8 8 3 8 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 3 ] MR 9 8 3 11 3 -10.117 -0.005 -8.435 -3.307 1.818 -4.292 -1.633 D 10 8 3 11 3 -13.096 -0.009 -7.326 IR 11 11 3 11 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 4 ] MR 12 11 3 14 5 -10.983 -0.003 -10.799 -11.011 -11.902 1.338 -2.349 -0.204 -1.296 D 13 11 3 14 5 -5.352 -0.707 -2.978 -4.409 -2.404 IR 14 14 3 14 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 5 ] MP 15 14 3 19 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -10.015 -5.364 -10.853 0.082 -9.814 -5.560 -1.394 -9.328 -6.521 3.833 -5.990 -3.123 -3.626 -5.674 -5.827 -7.885 ML 16 14 3 19 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 17 14 3 19 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 18 14 3 19 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 19 19 5 19 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 20 20 6 20 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 6 ] MP 21 20 6 25 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -10.632 -8.947 -10.202 -3.165 -8.192 -11.711 3.044 -9.086 -10.671 2.689 -10.196 -4.740 0.111 -10.978 -4.045 -7.887 ML 22 20 6 25 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 23 20 6 25 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 24 20 6 25 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 25 25 5 25 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 26 26 6 26 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 7 ] MP 27 26 6 31 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -9.177 -7.906 -9.453 0.514 -7.789 -9.963 2.919 -8.555 -9.513 2.009 -9.037 1.142 -0.585 -9.556 -3.603 -7.260 ML 28 26 6 31 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 29 26 6 31 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 30 26 6 31 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 31 31 5 31 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 32 32 6 32 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 8 ] MP 33 32 6 37 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -8.554 -7.403 -9.035 0.230 -7.707 -9.342 2.679 -8.257 -8.824 2.735 -8.416 -1.500 0.206 -8.847 -2.137 -6.989 ML 34 32 6 37 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 35 32 6 37 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 36 32 6 37 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 37 37 5 37 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 38 38 6 38 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 9 ] MP 39 38 6 43 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -9.759 -8.672 -9.457 0.501 -7.457 -10.407 3.004 -8.692 -10.488 1.962 -9.841 -4.353 0.655 -10.227 0.030 -7.343 ML 40 38 6 43 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 41 38 6 43 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 42 38 6 43 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 43 43 5 43 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 44 44 6 44 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 10 ] MP 45 44 6 49 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -9.659 -8.313 -9.712 -0.053 -7.765 -10.458 2.430 -8.738 -10.144 2.976 -9.596 -4.281 -0.316 -10.185 -0.145 -7.409 ML 46 44 6 49 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 47 44 6 49 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 48 44 6 49 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 49 49 5 49 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 50 50 6 50 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 11 ] MP 51 50 6 55 4 -11.123 -11.330 -0.003 -9.744 -8.521 -5.291 -9.442 0.877 -9.342 -5.635 -3.351 -8.517 -6.443 3.684 -5.942 -1.265 -0.596 -5.697 -5.329 -7.219 ML 52 50 6 55 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 53 50 6 55 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 54 50 6 55 4 -4.568 -4.250 -2.265 -0.520 IL 55 55 5 55 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 56 56 6 56 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 12 ] ML 57 56 6 59 3 -12.038 -0.045 -5.039 -5.136 -2.870 -5.889 1.933 D 58 56 6 59 3 -6.174 -1.687 -0.566 IL 59 59 3 59 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 13 ] ML 60 59 3 62 2 -7.097 -0.011 0.978 -1.766 0.622 -2.341 D 61 59 3 62 2 -8.802 -0.003 IL 62 62 3 62 2 -2.377 -0.309 0.000 0.000 0.000 0.000 [ BIF 14 ] B 63 62 3 64 173 [ BEGL 15 ] S 64 63 1 65 1 0.000 [ BIF 16 ] B 65 64 1 66 116 [ BEGL 17 ] S 66 65 1 67 4 -0.005 -10.099 -9.506 -10.146 [ MATP 18 ] MP 67 66 1 71 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -11.570 -8.496 -10.949 -4.651 -10.793 -10.605 0.413 -9.410 -9.578 3.414 -9.225 1.967 -4.868 -9.682 -6.186 -8.764 ML 68 66 1 71 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 69 66 1 71 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 70 66 1 71 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 71 71 5 71 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 72 72 6 72 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 19 ] MP 73 72 6 77 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -9.985 -8.856 -9.567 -2.938 -7.732 -10.684 3.126 -8.843 -10.515 1.108 -9.827 -4.582 2.278 -10.545 -3.773 -7.621 ML 74 72 6 77 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 75 72 6 77 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 76 72 6 77 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 77 77 5 77 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 78 78 6 78 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 20 ] MP 79 78 6 83 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -7.146 -0.744 -7.345 -2.165 -5.854 -8.035 2.715 -7.237 -7.636 1.424 -7.681 -1.198 2.408 -7.261 -3.177 -5.890 ML 80 78 6 83 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 81 78 6 83 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 82 78 6 83 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 83 83 5 83 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 84 84 6 84 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 21 ] MP 85 84 6 89 4 -11.123 -11.330 -0.003 -9.744 -1.059 -1.207 -4.350 -0.986 -3.920 -1.588 2.273 -4.321 1.158 -2.680 -4.660 -3.308 -0.663 -1.273 1.421 1.585 ML 86 84 6 89 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 87 84 6 89 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 88 84 6 89 4 -4.568 -4.250 -2.265 -0.520 IL 89 89 5 89 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 90 90 6 90 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 22 ] ML 91 90 6 93 3 -12.038 -0.001 -10.692 1.985 -6.571 -6.091 -5.965 D 92 90 6 93 3 -6.174 -1.687 -0.566 IL 93 93 3 93 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 23 ] ML 94 93 3 96 3 -12.038 -0.001 -10.692 -6.252 -7.554 1.991 -7.009 D 95 93 3 96 3 -6.174 -1.687 -0.566 IL 96 96 3 96 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 24 ] ML 97 96 3 99 3 -12.038 -0.296 -2.433 -2.146 1.034 -3.180 0.692 D 98 96 3 99 3 -6.174 -1.687 -0.566 IL 99 99 3 99 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 25 ] ML 100 99 3 102 3 -0.346 -2.234 -10.398 -1.682 1.432 -4.485 -0.080 D 101 99 3 102 3 -11.068 -0.034 -5.460 IL 102 102 3 102 3 -6.146 -0.024 -8.847 0.000 0.000 0.000 0.000 [ MATL 26 ] ML 103 102 3 105 3 -12.038 -0.001 -10.692 -6.252 -7.554 1.991 -7.009 D 104 102 3 105 3 -6.174 -1.687 -0.566 IL 105 105 3 105 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 27 ] ML 106 105 3 108 3 -12.038 -0.001 -10.692 -6.252 -7.554 1.991 -7.009 D 107 105 3 108 3 -6.174 -1.687 -0.566 IL 108 108 3 108 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 28 ] ML 109 108 3 111 3 -0.829 -1.196 -10.692 -0.760 0.255 -1.274 0.850 D 110 108 3 111 3 -6.174 -1.687 -0.566 IL 111 111 3 111 3 -1.387 -0.699 -9.337 0.000 0.000 0.000 0.000 [ MATL 29 ] ML 112 111 3 114 2 * 0.000 1.946 -5.710 -3.349 -5.078 D 113 111 3 114 2 * 0.000 IL 114 114 3 114 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 30 ] E 115 114 3 -1 0 [ BEGR 31 ] S 116 65 1 117 3 -12.038 -0.001 -10.692 IL 117 117 2 117 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 32 ] ML 118 117 2 120 5 -10.983 -0.003 -10.799 -11.011 -11.902 -1.084 -3.136 1.640 -1.751 D 119 117 2 120 5 -4.959 -0.803 -4.221 -2.596 -2.508 IL 120 120 3 120 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 33 ] MP 121 120 3 125 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -9.079 -8.455 -8.492 0.844 -6.990 -9.259 3.175 -8.246 -9.864 0.619 -8.762 -4.331 0.991 -9.411 0.647 -7.059 ML 122 120 3 125 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 123 120 3 125 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 124 120 3 125 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 125 125 5 125 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 126 126 6 126 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 34 ] MP 127 126 6 131 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -6.404 -6.495 -6.524 1.364 -5.076 -7.122 2.869 -6.476 -6.870 0.667 -6.804 -0.571 1.686 -6.386 -0.999 -5.105 ML 128 126 6 131 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 129 126 6 131 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 130 126 6 131 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 131 131 5 131 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 132 132 6 132 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 35 ] MP 133 132 6 137 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -8.148 -6.758 -8.804 0.185 -7.901 -8.135 1.101 -8.076 -8.017 3.430 -7.624 -3.768 0.806 -7.825 -3.760 -6.856 ML 134 132 6 137 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 135 132 6 137 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 136 132 6 137 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 137 137 5 137 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 138 138 6 138 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 36 ] MP 139 138 6 143 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -11.083 -7.134 -10.902 -3.666 -10.264 -7.695 1.527 -9.382 -8.277 3.641 -7.797 -1.096 -4.303 -7.664 -5.886 -8.492 ML 140 138 6 143 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 141 138 6 143 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 142 138 6 143 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 143 143 5 143 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 144 144 6 144 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 37 ] MP 145 144 6 149 4 -11.123 -11.330 -0.003 -9.744 -7.595 -6.513 -8.344 2.053 -7.762 -8.392 2.582 -7.691 -7.765 2.292 -7.411 -2.340 -0.674 -7.807 -3.597 -6.492 ML 146 144 6 149 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 147 144 6 149 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 148 144 6 149 4 -4.568 -4.250 -2.265 -0.520 IL 149 149 5 149 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 150 150 6 150 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 38 ] ML 151 150 6 153 3 -12.038 -0.001 -10.692 -5.181 1.706 -6.181 -0.522 D 152 150 6 153 3 -6.174 -1.687 -0.566 IL 153 153 3 153 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 39 ] ML 154 153 3 156 3 -12.038 -0.001 -10.692 -5.986 -5.748 -6.637 1.984 D 155 153 3 156 3 -6.174 -1.687 -0.566 IL 156 156 3 156 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 40 ] ML 157 156 3 159 3 -12.038 -0.001 -10.692 -3.411 0.262 0.295 0.566 D 158 156 3 159 3 -6.174 -1.687 -0.566 IL 159 159 3 159 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 41 ] ML 160 159 3 162 3 -12.038 -0.001 -10.692 0.373 -0.476 -0.090 0.066 D 161 159 3 162 3 -6.174 -1.687 -0.566 IL 162 162 3 162 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 42 ] ML 163 162 3 165 3 -12.038 -0.001 -10.692 -0.414 0.235 -0.281 0.321 D 164 162 3 165 3 -6.174 -1.687 -0.566 IL 165 165 3 165 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 43 ] ML 166 165 3 168 3 -3.068 -0.184 -10.692 1.104 -7.571 0.879 -7.144 D 167 165 3 168 3 -6.174 -1.687 -0.566 IL 168 168 3 168 3 -0.088 -4.101 -10.629 0.000 0.000 0.000 0.000 [ MATL 44 ] ML 169 168 3 171 2 * 0.000 1.737 -1.357 -2.681 -3.044 D 170 168 3 171 2 * 0.000 IL 171 171 3 171 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 45 ] E 172 171 3 -1 0 [ BEGR 46 ] S 173 63 1 174 3 -12.038 -0.001 -10.692 IL 174 174 2 174 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 47 ] ML 175 174 2 177 3 -12.038 -0.289 -2.463 0.488 -0.754 -1.483 0.720 D 176 174 2 177 3 -6.174 -1.687 -0.566 IL 177 177 3 177 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 48 ] ML 178 177 3 180 2 -12.389 -0.000 -1.059 -1.734 1.473 -1.172 D 179 177 3 180 2 -9.877 -0.002 IL 180 180 3 180 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ BIF 49 ] B 181 180 3 182 238 [ BEGL 50 ] S 182 181 1 183 4 -2.034 -10.099 -9.506 -0.408 [ MATP 51 ] MP 183 182 1 187 6 -10.137 -10.077 -0.010 -8.853 -9.133 -9.528 -5.612 -4.384 -6.384 0.059 -6.159 -5.891 1.866 -5.766 -5.528 3.126 -5.192 0.545 -0.600 -5.428 -2.152 -4.640 ML 184 182 1 187 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 185 182 1 187 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 186 182 1 187 6 -15.597 -14.295 -10.092 -10.774 -10.792 -0.003 IL 187 187 5 187 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 188 188 6 188 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 52 ] MP 189 188 6 193 6 -10.137 -10.077 -0.010 -8.853 -9.133 -9.528 -5.672 -4.642 -6.349 1.199 -5.704 -6.447 2.476 -5.751 -5.823 2.690 -5.497 -1.722 -0.197 -5.834 -1.765 -4.574 ML 190 188 6 193 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 191 188 6 193 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 192 188 6 193 6 -15.597 -14.295 -10.092 -10.774 -10.792 -0.003 IL 193 193 5 193 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 194 194 6 194 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 53 ] MP 195 194 6 199 6 -10.137 -10.077 -0.901 -8.853 -9.133 -1.125 -6.048 -6.135 -4.941 0.687 -4.221 -5.572 3.391 -5.389 -7.061 -0.965 -5.049 -2.799 1.000 -6.442 -0.000 -4.781 ML 196 194 6 199 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 197 194 6 199 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 198 194 6 199 6 -15.597 -14.295 -10.092 -10.774 -10.792 -0.003 IL 199 199 5 199 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 200 200 6 200 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 54 ] MP 201 200 6 205 6 -9.256 -9.195 -0.019 -7.972 -8.251 -8.646 -4.124 -4.353 -4.244 0.359 -3.051 -4.935 2.710 -4.310 -4.625 0.371 -4.507 -1.343 2.376 -4.360 -0.534 -3.181 ML 202 200 6 205 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 203 200 6 205 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 204 200 6 205 6 -15.822 -14.520 -10.317 -11.000 -11.017 -0.003 IL 205 205 5 205 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 206 206 6 206 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 55 ] MP 207 206 6 211 6 -9.256 -9.195 -0.514 -7.972 -8.251 -1.791 -5.601 -5.515 -4.260 -0.876 -3.785 -4.908 3.662 -4.752 -6.510 -0.827 -4.279 -2.472 0.271 -6.055 -1.047 -4.463 ML 208 206 6 211 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 209 206 6 211 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 210 206 6 211 6 -15.822 -14.520 -10.317 -11.000 -11.017 -0.003 IL 211 211 5 211 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 212 212 6 212 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 56 ] MP 213 212 6 217 6 -8.769 -8.708 -0.027 -7.485 -7.765 -8.160 -3.305 -2.766 -3.576 1.411 -2.869 -4.048 1.948 -3.248 -3.354 2.027 -3.320 -0.140 1.330 -3.299 -0.204 -2.459 ML 214 212 6 217 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 215 212 6 217 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 216 212 6 217 6 -15.891 -14.590 -10.387 -11.069 -11.086 -0.002 IL 217 217 5 217 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 218 218 6 218 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 57 ] MP 219 218 6 223 4 -5.802 -6.009 -0.120 -4.423 -3.305 -2.766 -3.576 1.411 -2.869 -4.048 1.948 -3.248 -3.354 2.027 -3.320 -0.140 1.330 -3.299 -0.204 -2.459 ML 220 218 6 223 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 221 218 6 223 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 222 218 6 223 4 -11.314 -3.805 -3.116 -0.299 IL 223 223 5 223 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 224 224 6 224 3 -3.338 -0.175 -6.038 0.000 0.000 0.000 0.000 [ MATL 58 ] ML 225 224 6 227 3 -9.786 -0.006 -8.440 -2.444 -3.838 1.744 -1.334 D 226 224 6 227 3 -13.129 -8.642 -0.004 IL 227 227 3 227 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 59 ] ML 228 227 3 230 3 -9.786 -0.006 -8.440 -3.029 -1.352 -3.811 1.772 D 229 227 3 230 3 -13.129 -8.642 -0.004 IL 230 230 3 230 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 60 ] ML 231 230 3 233 3 -9.786 -0.189 -3.037 1.230 -0.834 -2.296 -0.169 D 232 230 3 233 3 -13.129 -8.642 -0.004 IL 233 233 3 233 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 61 ] ML 234 233 3 236 2 * 0.000 -0.014 -0.636 1.024 -1.587 D 235 233 3 236 2 * 0.000 IL 236 236 3 236 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 62 ] E 237 236 3 -1 0 [ BEGR 63 ] S 238 181 1 239 3 -12.038 -0.042 -5.118 IL 239 239 2 239 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 64 ] ML 240 239 2 242 3 -0.515 -1.740 -10.651 0.696 -2.789 0.714 -0.749 D 241 239 2 242 3 -0.292 -4.117 -2.996 IL 242 242 3 242 3 -4.682 -0.060 -9.023 0.000 0.000 0.000 0.000 [ MATL 65 ] ML 243 242 3 245 5 -10.983 -0.003 -10.799 -11.011 -11.902 -6.177 1.986 -6.986 -5.896 D 244 242 3 245 5 -4.959 -0.803 -4.221 -2.596 -2.508 IL 245 245 3 245 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 66 ] MP 246 245 3 250 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -8.425 -7.280 -8.956 0.151 -7.726 -9.214 2.599 -8.192 -8.674 2.629 -8.275 -0.285 -0.503 -8.706 0.108 -6.934 ML 247 245 3 250 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 248 245 3 250 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 249 245 3 250 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 250 250 5 250 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 251 251 6 251 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 67 ] MP 252 251 6 256 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -8.347 -7.950 -8.279 0.577 -6.642 -8.987 3.159 -7.948 -8.896 1.290 -8.568 -0.379 1.041 -8.469 -1.935 -6.608 ML 253 251 6 256 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 254 251 6 256 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 255 251 6 256 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 256 256 5 256 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 257 257 6 257 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 68 ] MP 258 257 6 262 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -7.857 -6.453 -8.580 0.294 -7.858 -7.755 1.193 -7.892 -7.689 3.497 -7.295 -3.582 -0.772 -7.467 -1.082 -6.674 ML 259 257 6 262 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 260 257 6 262 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 261 257 6 262 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 262 262 5 262 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 263 263 6 263 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 69 ] MP 264 263 6 268 6 -12.016 -11.955 -0.003 -10.732 -11.012 -11.407 -10.077 -5.384 -10.899 -1.124 -9.844 -5.579 -3.698 -9.350 -6.540 3.897 -6.010 -3.142 -1.577 -5.693 -5.855 -7.912 ML 265 263 6 268 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 266 263 6 268 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 267 263 6 268 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 268 268 5 268 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 269 269 6 269 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 70 ] MP 270 269 6 274 4 -11.123 -11.330 -0.003 -9.744 -11.170 -6.905 -11.033 -3.627 -10.757 -7.380 -4.824 -9.431 -8.041 3.977 -7.551 -4.453 -4.613 -7.379 -6.287 -8.552 ML 271 269 6 274 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 272 269 6 274 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 273 269 6 274 4 -4.568 -4.250 -2.265 -0.520 IL 274 274 5 274 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 275 275 6 275 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 71 ] ML 276 275 6 278 3 -12.038 -0.001 -10.692 -5.986 -5.748 -6.637 1.984 D 277 275 6 278 3 -6.174 -1.687 -0.566 IL 278 278 3 278 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 72 ] ML 279 278 3 281 3 -12.038 -0.001 -10.692 -5.165 -3.547 -5.915 1.952 D 280 278 3 281 3 -6.174 -1.687 -0.566 IL 281 281 3 281 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 73 ] ML 282 281 3 284 3 -12.038 -0.001 -10.692 -5.531 1.967 -4.665 -5.111 D 283 281 3 284 3 -6.174 -1.687 -0.566 IL 284 284 3 284 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 74 ] ML 285 284 3 287 3 -12.038 -0.001 -10.692 1.305 -7.468 0.600 -7.082 D 286 284 3 287 3 -6.174 -1.687 -0.566 IL 287 287 3 287 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 75 ] ML 288 287 3 290 3 -12.038 -0.001 -10.692 1.985 -6.571 -6.091 -5.965 D 289 287 3 290 3 -6.174 -1.687 -0.566 IL 290 290 3 290 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 76 ] ML 291 290 3 293 3 -12.038 -0.001 -10.692 1.773 -4.394 -1.488 -2.493 D 292 290 3 293 3 -6.174 -1.687 -0.566 IL 293 293 3 293 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 77 ] ML 294 293 3 296 2 * 0.000 -5.125 -1.961 -5.878 1.887 D 295 293 3 296 2 * 0.000 IL 296 296 3 296 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 78 ] E 297 296 3 -1 0 // tRNAscan-SE-1.3.1/fastmodelmaker.c0000644000543100001440000004460111021467304015647 0ustar pchanusers/* fastmodelmaker.c * * Construct a covariance model from an alignment, using an approximate * but fast algorithm. Complexity is N^2 in memory, N^3 in time. Get * back a covariance model, and information contents in bits for * both primary and secondary structure. * * - use Stormo/Gutell MIXY algorithm to calculate pairwise covariances * for all aligned column pairs i,j. This produces the matrix **mxy; * it is indexed 0..alen-1 by 0..alen-1, as a flipped diagonal matrix * mxy[j][i], j > i. The diagonal (i == j) is unused (and unallocated * for). * * - use a quick and dirty Zuker-like algorithm to reduce this N^2 * matrix to the optimal model of non-overlapping chords. This * produces the matrix **zmat. zmat is a flipped diagonal matrix, * zmat[j][i], j >= i. The diagonal (i==j) is initialized to zero. * All other cells take on positive values, summing covariances. * * - traceback thru the zmat matrix and construct a dynamic binary * tree *ztr, excluding inserted columns. *ztr * is constructed much the same as a normal traceback tree is constructed. * emitl and emitr store the 0..alen-1 indices of the column this node is * responsible for, even for BEGIN and BIFURC nodes. type is * a node type (MATP_NODE), not a state type. * Note that these are exceptions to the indexing scheme used * by traceback structures everywhere else! * * - Then, for each *individual* sequence, construct a fake traceback based * on *ztr. Use these tracebacks to collect statistics from the alignment * and initialize probabilities in a new model. */ #include #include #include #include #include "version.h" #include "squid.h" #include "structs.h" #include "funcs.h" #ifdef MEMDEBUG #include "dbmalloc.h" #endif static void mixy(char **aseq, int nseq, int alen, int ***ret_mixy); static void free_mixy(int **mxy, int acol); static void zfill(int **mxy, int acol, int ***ret_zmat, double *ret_sum); static void free_zmat(int **zmat, int acol); static void ztrace(int **zmat, double *gapfq, double gapthresh, int **mxy, int acol, struct trace_s **ret_ztr); #ifdef DEBUG static void dump_mixy(int **mxy, int alen); static void dump_zmat(int **zmat, int alen); static void dump_ztr(struct trace_s *ztr); #endif /* DEBUG */ /* Function: Fastmodelmaker() * * Purpose: Given a sequence alignment, construct a reasonable * starting model. Returns the model, as well as numbers * for the primary and secondary structure information * content of the alignment. * * Args: aseqs - sequence alignment. * ainfo - info about the alignment * nseq - number of sequences * prior - prior distributions for CM construction * gapthresh - over this fraction of gaps, assign to INS * ret_secinfo - RETURN: sec structure info content (bits) (maybe NULL) * ret_cm - RETURN: new model (maybe NULL) * ret_mtr - RETURN: master traceback for aseqs (maybe NULL) * * Return: 1 on success, 0 on failure. */ int Fastmodelmaker(char **aseqs, AINFO *ainfo, int nseq, struct prior_s *prior, double gapthresh, double *ret_secinfo, struct cm_s **ret_cm, struct trace_s **ret_mtr) { struct cm_s *cm; int **mxy; int **zmat; int M; double secinfo; double *gapfq; /* frequencies of gap occurrence per column */ struct trace_s *ztr; struct trace_s *tr; /* individual traceback */ struct trmem_s *pool; /* memory pool for traceback */ int idx; int gaps; int apos; /* Precalculate gap frequencies seen in each column of alignment */ if ((gapfq = (double *) malloc (sizeof(double) * ainfo->alen)) == NULL) Die("malloc failed, line %d file %s", __LINE__, __FILE__); for (apos = 0; apos < ainfo->alen; apos++) { gaps = 0; for (idx = 0; idx < nseq; idx++) if (isgap(aseqs[idx][apos])) gaps++; gapfq[apos] = (double) gaps / (double) nseq; } /* build Mxy matrix */ mixy(aseqs, nseq, ainfo->alen, &mxy); /* dynamic programming fill of zmat, using mxy */ zfill(mxy, ainfo->alen, &zmat, &secinfo); /* traceback of zmat to make ztr tree */ ztrace(zmat, gapfq, gapthresh, mxy, ainfo->alen, &ztr); /* PrintTrace(stdout, ztr); */ NumberMasterTrace(ztr, &M); /* allocate for a model */ if ((cm = AllocCM(M)) == NULL) Die("AllocCM() failed"); TopofyNewCM(cm, ztr); /* For each sequence: convert consensus tree ztr to individual fake traceback. * Count traceback into new model. */ for (idx = 0; idx < nseq; idx++) { Transmogrify(ztr, aseqs[idx], &tr, &pool); if (! TraceCount(cm, aseqs[idx], (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? ainfo->sqinfo[idx].weight : 1.0, tr)) Die("TraceCount() failed"); FreeTrace(tr, pool); } if (! VerifyCM(cm)) Die("Bad cm after trace counts."); /* convert CM to probabilities */ ProbifyCM(cm, prior); /* garbage collect & return */ free_mixy(mxy, ainfo->alen); free_zmat(zmat, ainfo->alen); free(gapfq); if (ret_mtr != NULL) *ret_mtr = ztr; else FreeTrace(ztr, NULL); if (ret_cm != NULL) *ret_cm = cm; else FreeCM(cm); if (ret_secinfo != NULL) *ret_secinfo = secinfo / (double) nseq; return 1; } /* Function: mixy() * * Purpose: given a set of N aligned sequences aseq, calculate * pairwise covariances (mutual information). ret_mixy * is allocated, filled, and returned, as a diagonal 2D * (NxN) matrix of values. It must be freed by * the caller. It is a lower diagonal matrix mxy[j][i], * j > i, 0..alen-1 by 0..j-1. * * The values in mxy are integers. They are the average * secondary structure information content (i.e. weighted for * the number of pairs actually occurring in columns i,j) * in bits, to two decimal places (i.e. info*100). * * Returns: mxy, which must be free'd by caller with free_mixy(). */ static void mixy(char **aseq, /* array of aligned sequences, flushed right */ int nseq, /* number of aligned sequences */ int alen, /* length of each sequence (all the same) */ int ***ret_mxy) /* RETURN: mxy array */ { int **mxy; /* RETURN: diagonal covariance matrix */ float fx[ALPHASIZE]; /* singlet frequency vector */ float fy[ALPHASIZE]; /* another singlet frequency vector */ float fxy[ALPHASIZE][ALPHASIZE]; /* pairwise frequency 2D array */ int idx; /* counter for sequences */ int i, j; /* counters for columns x,y */ int symi, symj; /* counters for symbols */ int pairs; /* counter for pairs in which there are no gaps */ long test; /* Allocate for mxy */ if ((mxy = (int **) malloc (alen * sizeof(int *))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); for (j = 1; j < alen; j++) if ((mxy[j] = (int *) malloc (j * sizeof(int))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); test = (long) mxy[20]; /* calculate mxy */ for (j = 1; j < alen; j++) for (i = 0; i < j; i++) { /* zero counter array */ for (symj = 0; symj < ALPHASIZE; symj++) { fx[symj] = fy[symj] = 0.0; for (symi = 0; symi < ALPHASIZE; symi++) fxy[symj][symi] = 0.0; } /* count symbols in a column */ pairs = 0; for (idx = 0; idx < nseq; idx++) { if (isgap(aseq[idx][i]) || isgap(aseq[idx][j])) continue; symi = SymbolIndex(aseq[idx][i]); symj = SymbolIndex(aseq[idx][j]); fx[symi] += 1.0; fy[symj] += 1.0; fxy[symi][symj] += 1.0; pairs++; } /* convert to frequencies */ if (pairs > 0) for (symi = 0; symi < ALPHASIZE; symi++) { fx[symi] /= (float) pairs; fy[symi] /= (float) pairs; for (symj = 0; symj < ALPHASIZE; symj++) fxy[symi][symj] /= (float) pairs; } /* calculate mxy. 144.269504 is a conversion of ln's into * bits * 100: i.e. 100 * (1/log(2)) */ mxy[j][i] = 0; for (symi = 0; symi < ALPHASIZE; symi++) for (symj = 0; symj < ALPHASIZE; symj++) { if (fxy[symi][symj] > 0.0) mxy[j][i] += (int) (144.269504 * fxy[symi][symj] * log((fxy[symi][symj] / (fx[symi] * fy[symj])))); } /* Sat Jul 17 22:17:17 1993: We weight by pairs to get an expected score * over all the sequences. Fixes a problem that columns with few symbols * could dominate the calculation just because of noise. */ mxy[j][i] = (mxy[j][i] * pairs) / nseq; } /* dump debugging info */ #ifdef DEBUG dump_mixy(mxy, alen); #endif *ret_mxy = mxy; } /* Function: free_mixy() * * Purpose: free the space allocated for a flipped diagonal * covariance matrix. To do this we also need to * know alen, the number of columns in the starting * sequence alignment. * * Returns: (void) */ static void free_mixy(int **mxy, int alen) { int j; for (j = 1; j < alen; j++) free(mxy[j]); free(mxy); } /* Function: zfill() * * Purpose: Calculate the optimal structure for a covariance matrix * produced by mixy(). Uses a way-simplified form of the * Zuker/Nussinov dynamic programming RNA folding algorithm * to find the structure which a) the emitted pairs sum * to a maximum number of bits of covariance and b) * has no overlapping chords (no pseudoknots). The dynamic * programming matrix is allocated, filled, and returned. * * Returns: ret_zmat is returned thru a passed pointer; it must be * free'd by the caller using free_zmat(). */ static void zfill(int **mxy, /* diagonal covariance matrix from mixy() */ int acol, /* size of mxy; number of aligned columns */ int ***ret_zmat, /* RETURN: filled dynamic programming matrix */ double *ret_sum) /* RETURN: total sum of Mxy for tree (bits) */ { int **zmat; int i, j; int diff; int mid; /* Allocations. * zmat is a flipped diagonal matrix, inclusive of the diagonal; * positions on both axes are numbered 0..acol-1. */ if ((zmat = (int **) malloc (acol * sizeof (int *))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); for (j = 0; j < acol; j++) if ((zmat[j] = (int *) malloc ((j+1) * sizeof(int))) == NULL) Die("Memory allocation failure at %s line %d", __FILE__, __LINE__); /* Initialization. * We initialize the diagonal to 0. */ for (j = 0; j < acol; j++) zmat[j][j] = 0; /* Dynamic programming stage. * Our recursion is: * Sij = max { Si+1,j (emit left, no covariance) * Si,j-1 (emit right, no covariance) * Si+1,j-1 + mxy[j][i]. * max over mid: Si,mid + Smid+1,j (bifurcation) * } */ for (diff = 1; diff < acol; diff++) for (i = 0; (j = i+diff) < acol; i++) { if (j-1 >= i+1) zmat[j][i] = zmat[j-1][i+1] + mxy[j][i]; else zmat[j][i] = mxy[j][i]; if (zmat[j][i+1] > zmat[j][i]) zmat[j][i] = zmat[j][i+1]; if (zmat[j-1][i] > zmat[j][i]) zmat[j][i] = zmat[j-1][i]; for (mid = i+1; mid < j-1; mid++) if (zmat[mid][i] + zmat[j][mid+1] > zmat[j][i]) zmat[j][i] = zmat[mid][i] + zmat[j][mid+1]; } /* Return */ #ifdef DEBUG dump_zmat(zmat, acol); #endif *ret_sum = (double) zmat[acol-1][0] / 100.0; *ret_zmat = zmat; } static void free_zmat(int **zmat, int acol) { int j; for (j = 0; j < acol; j++) free(zmat[j]); free(zmat); } /* Function: ztrace() * * Purpose: Traceback through the dynamic programming matrix constructed * by zfill(). Constructs a dynamic binary tree (ztr) of ztrace_s * structures, which keep track of both topology and the * order in which various aligned columns are emitted. * * ztr ends up being the "shell" or template upon which the * final model is built. ztr captures the branching structure * of the model tree. * * Inserts are dealt with at this point. Columns with a gap frequency * exceeding gapthresh are excluded from ztr. The final tree ztr contains * MATR, MATL, MATP nodes only (with BEGIN and BIFURC of course). * * Data: ztr: a traceback tree. * emitl = index of column emitted left (0..acol-1) * or -1 * emitr = index of column emitted right (0..acol-1) * or -1 * nodeidx = index of node in new model * type = type of node (MATP_NODE, etc.) * * Return: ret_ztr is allocated here and must be free'd by the caller. */ static void ztrace(int **zmat, /* dynamic programming matrix from zfill() */ double *gapfq, /* frequencies of gaps in columns 0..acol-1 */ double gapthresh, /* above this, column is INS-generated */ int **mxy, /* the covariance matrix from mixy() */ int acol, /* number of aligned columns (size of zmat) */ struct trace_s **ret_ztr)/* RETURN: binary tree of best structure */ { struct trace_s *ztr; /* binary tree of best structure */ struct trace_s *curr_ztr; /* ptr to node of ztr we're working on */ struct tracestack_s *dolist; /* pushdown stack of active ztr nodes */ int i,j; /* coords in zmat (0..acol-1) */ int mid; /* midpoint of a bifurcation */ /* Initialize. * Start at i = 0, j = acol-1 and work towards diagonal. */ InitTrace(&ztr, NULL); /* start a trace tree */ dolist = InitTracestack(); /* start a stack for traversing the trace tree */ /* start with root aligned to 0..acol-1 */ curr_ztr = AttachTrace(ztr, NULL, 0, acol-1, -1, ROOT_NODE); curr_ztr = AttachTrace(curr_ztr, NULL, 0, acol-1, -1, -1); PushTracestack(dolist, curr_ztr); while ((curr_ztr = PopTracestack(dolist)) != NULL) { /* where we are now in the traceback. */ i = curr_ztr->emitl; j = curr_ztr->emitr; /* dummy END state on trace tree leaves. */ if (i > j) curr_ztr->type = uEND_ST; /* never executes. */ /* watch out for diagonal, where j-1,i+1 is nonsense */ else if (i == j) /* default to push-left; i is explained */ { curr_ztr->type = MATL_NODE; curr_ztr->nxtl->emitl = i+1; curr_ztr->nxtl->emitr = j; } else if (j-1 == i && zmat[j][i] == mxy[j][i]) { curr_ztr->type = MATP_NODE; curr_ztr->nxtl->emitl = i+1; curr_ztr->nxtl->emitr = j-1; } else if (zmat[j][i] == zmat[j-1][i+1] + mxy[j][i]) { curr_ztr->type = MATP_NODE; if (j-1 >= i+1) PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i+1, j-1, -1,-1)); else { curr_ztr->nxtl->emitl = i+1; curr_ztr->nxtl->emitr = j-1; } } else if (zmat[j][i] == zmat[j][i+1]) { curr_ztr->type = MATL_NODE; if ( j >= i+1) PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i+1, j, -1,-1)); else { curr_ztr->nxtl->emitl = i+1; curr_ztr->nxtl->emitr = j; } } else if (zmat[j][i] == zmat[j-1][i]) { curr_ztr->type = MATR_NODE; if ( j-1 >= i) PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i, j-1, -1,-1)); else { curr_ztr->nxtl->emitl = i; curr_ztr->nxtl->emitr = j-1; } } else { for (mid = i+1; mid < j-1; mid++) if (zmat[j][i] == zmat[mid][i] + zmat[j][mid+1]) { struct trace_s *branch; /* the current node is a bifurc node */ curr_ztr->type = BIFURC_NODE; /* it will connect to BEGIN-SEGMENT * nodes on either side, which are followed * by normal segments again */ /* right branch */ branch = AttachTrace(curr_ztr, NULL, mid+1, j, -1, BEGINR_NODE); if (mid+1 <= j) PushTracestack(dolist, AttachTrace(branch, NULL, mid+1, j, -1,-1)); else { branch->nxtl->emitl = mid+1; branch->nxtl->emitr = j; } /* left branch */ branch = AttachTrace(curr_ztr, NULL, i, mid, -1, BEGINL_NODE); if (i <= mid) PushTracestack(dolist, AttachTrace(branch, NULL, i, mid, -1,-1)); else { branch->nxtl->emitl = i; branch->nxtl->emitr = mid; } break; } } /* clean up current node: deal with insertions */ if (curr_ztr->type == MATP_NODE) { if (gapfq[i] > gapthresh && gapfq[j] > gapthresh) DeleteTracenode(curr_ztr, NULL); else if (gapfq[i] > gapthresh) curr_ztr->type = MATR_NODE; else if (gapfq[j] > gapthresh) curr_ztr->type = MATL_NODE; } else if ( (curr_ztr->type == MATR_NODE && gapfq[j] > gapthresh) || (curr_ztr->type == MATL_NODE && gapfq[i] > gapthresh)) DeleteTracenode(curr_ztr, NULL); } FreeTracestack(dolist); *ret_ztr = ztr; } #ifdef DEBUG static void dump_mixy(int **mxy, int alen) { int i, j; for (j = 1; j < alen; j++) { for (i = 0; i < j; i++) printf("%6d", mxy[j][i]); puts("\n"); } } static void dump_zmat(int **zmat, int alen) { int i, j; for (j = 0; j < alen; j++) { for (i = 0; i <= j; i++) printf("%6d", zmat[j][i]); puts("\n"); } } static void dump_ztr(struct trace_s *ztr) { struct tracestack_s *dolist; struct trace_s *curr; dolist = InitTracestack(); PushTracestack(dolist, ztr->nxtl); while ((curr = PopTracestack(dolist)) != NULL) { printf("## ZTR STATE %#x\n", curr); printf("emitl : %d\n", curr->emitl); printf("emitr : %d\n", curr->emitr); printf("nodeidx : %d\n", curr->nodeidx); printf("type : %d\n", curr->type); if (curr->nxtl != NULL) printf("nxtl : %#x\n", curr->nxtl); else printf("nxtl : NULL\n"); if (curr->nxtr != NULL) printf("nxtr : %#x\n", curr->nxtr); else printf("nxtr : NULL\n"); if (curr->nxtr != NULL) PushTracestack(dolist, curr->nxtr); if (curr->nxtl != NULL) PushTracestack(dolist, curr->nxtl); } FreeTracestack(dolist); } #endif tRNAscan-SE-1.3.1/TRNAinf-bact-c.cm0000644000543100001440000011007411143735633015424 0ustar pchanusersINFERNAL-1 [1.0] NAME tRNA1415G-eub STATES 298 NODES 79 ALPHABET 1 ELSELF -0.08926734 WBETA 1e-07 NSEQ 249 EFFNSEQ 249.000 CLEN 93 BCOM cmbuild --rf --enone TRNAinf-bact-nc.cm trna1415G-bact.sto BDATE Sun Feb 8 16:45:45 2009 CCOM cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-bact.hfile --exp-sfile cmcalibrate_files/TRNAinf-bact.sfile --exp-qqfile cmcalibrate_files/TRNAinf-bact.qqfile --exp-ffile cmcalibrate_files/TRNAinf-bact.ffile --fil-dfile cmcalibrate_files/TRNAinf-bact.dfile -s 208 TRNAinf-bact-c.cm CDATE Sun Feb 8 20:07:08 2009 NULL 0.000 0.000 0.000 0.000 PART 1 0 100 E-LC 0 0.67174 -7.74784 1.35716 1500000 509766 0.002207 E-GC 0 0.35637 -41.39324 -28.49011 1500000 37244 0.010069 E-LI 0 0.61266 -8.31345 1.57664 1500000 481577 0.002336 E-GI 0 0.36329 -38.02444 -25.47379 1500000 35827 0.010467 E-LV 0 0.87314 -1.12092 4.12302 15000000 109563 0.010268 E-GV 0 0.34365 -27.90220 -11.38503 15000000 109430 0.003427 E-LF 0 0.79464 -0.33504 5.42687 15000000 109554 0.010269 E-GF 0 0.36226 -24.54848 -8.87863 15000000 109476 0.003425 FT-LC 20 0.99500 10000 1500000 0 32.7319 26.005 17.0953 12.7323 11.3108 7.05091 6.41222 6.21019 6.01368 5.84247 5.84247 5.71223 4.23466 3.67566 2.9638 2.91846 1.93825 1.79231 1.79231 5.73661e-06 5409.32 4680.94 3822.35 2792.63 2510.55 2231.99 1962.39 1437.16 902.851 761.664 676.616 415.381 313.779 275.658 227.977 186.902 163.285 133.229 123.171 12.3171 FT-LI 21 0.99500 10000 1500000 0 51.2091 36.9391 24.8352 20.0348 18.027 11.3314 10.9201 10.8943 10.8943 10.6111 10.6111 9.15061 7.29256 5.70272 5.70184 5.12687 3.87866 3.61164 3.61164 7.80008e-05 7.82384e-06 5409.32 4680.94 3822.35 2792.63 2510.55 2231.99 1962.39 1437.16 902.851 761.664 676.616 415.381 313.779 275.658 227.977 186.902 163.285 133.229 123.171 53.1262 12.3171 FT-GC 2 0.99500 10000 1500000 1 4.6166e-06 3.08769e-07 87.4853 9.71507 FT-GI 2 0.99500 10000 1500000 1 8.55844e-06 6.08794e-07 87.4853 9.71507 MODEL: [ ROOT 0 ] S 0 -1 0 1 4 -4.212 -14.142 -0.360 -2.582 IL 1 1 2 1 4 -6.557 -8.059 -0.372 -2.231 0.000 0.000 0.000 0.000 IR 2 2 3 2 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 1 ] MR 3 2 3 5 3 -14.024 -0.000 -12.341 1.996 -8.236 -7.705 -8.011 D 4 2 3 5 3 -12.926 -8.103 -0.005 IR 5 5 3 5 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 2 ] MR 6 5 3 8 3 -14.024 -0.000 -12.341 -8.745 1.998 -9.265 -8.847 D 7 5 3 8 3 -12.926 -8.103 -0.005 IR 8 8 3 8 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 3 ] MR 9 8 3 11 3 -14.024 -0.000 -12.341 -8.745 1.998 -9.265 -8.847 D 10 8 3 11 3 -12.926 -0.122 -3.626 IR 11 11 3 11 3 -1.925 -0.554 -4.164 0.000 0.000 0.000 0.000 [ MATR 4 ] MR 12 11 3 14 5 -6.336 -0.034 -12.744 -6.561 -13.848 1.183 -2.858 0.062 -0.868 D 13 11 3 14 5 -7.629 -0.120 -5.256 -6.686 -4.681 IR 14 14 3 14 5 -3.975 -0.149 -7.486 -5.654 -6.760 0.000 0.000 0.000 0.000 [ MATP 5 ] MP 15 14 3 19 6 -13.888 -13.828 -0.001 -12.604 -12.884 -13.279 -7.177 -6.400 -7.823 -0.211 -2.016 -7.733 0.101 -3.727 -7.269 3.544 -7.051 -0.067 0.057 -7.294 -5.262 -6.681 ML 16 14 3 19 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 17 14 3 19 6 -9.075 -7.804 -0.250 -7.782 -2.916 -5.996 -0.624 -0.170 -1.457 1.069 D 18 14 3 19 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 19 19 5 19 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 20 20 6 20 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 6 ] MP 21 20 6 25 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.707 -6.730 -8.656 -0.676 -9.309 -8.526 2.459 -6.587 -7.835 3.054 -3.164 -1.200 -0.572 -7.876 -1.764 -6.110 ML 22 20 6 25 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 23 20 6 25 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 24 20 6 25 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 25 25 5 25 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 26 26 6 26 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 7 ] MP 27 26 6 31 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -9.405 -8.330 -10.166 1.466 -9.625 -10.198 2.431 -9.525 -9.576 2.496 -9.222 -0.655 0.578 -9.614 -4.061 -8.325 ML 28 26 6 31 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 29 26 6 31 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 30 26 6 31 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 31 31 5 31 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 32 32 6 32 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 8 ] MP 33 32 6 37 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -10.770 -9.556 -11.165 0.222 -9.670 -11.548 2.247 -10.324 -11.071 2.940 -10.626 -2.006 0.893 -11.102 -1.755 -9.040 ML 34 32 6 37 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 35 32 6 37 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 36 32 6 37 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 37 37 5 37 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 38 38 6 38 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 9 ] MP 39 38 6 43 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.643 -3.651 -8.602 1.918 -9.439 -8.444 2.316 -5.189 -7.760 2.497 -7.445 -1.414 -0.536 -7.801 -1.359 -6.988 ML 40 38 6 43 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 41 38 6 43 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 42 38 6 43 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 43 43 5 43 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 44 44 6 44 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 10 ] MP 45 44 6 49 6 -8.229 -13.842 -0.005 -12.619 -12.899 -13.294 -7.105 -7.196 -7.296 1.716 -5.947 -7.838 1.864 -3.826 -7.537 1.967 -7.482 -4.430 2.052 -4.132 -0.368 -5.943 ML 46 44 6 49 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 47 44 6 49 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 48 44 6 49 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 49 49 5 49 6 -3.498 -3.761 -0.352 -5.416 -6.192 -5.853 0.000 0.000 0.000 0.000 IR 50 50 6 50 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 11 ] MP 51 50 6 55 4 -13.101 -13.308 -0.006 -8.103 -7.894 -6.882 -8.838 2.191 -9.502 -8.695 -0.588 -8.333 -8.014 2.763 -7.697 -0.800 1.741 -8.056 -5.405 -7.203 ML 52 50 6 55 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 53 50 6 55 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 54 50 6 55 4 -4.568 -4.250 -2.265 -0.520 IL 55 55 5 55 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 56 56 6 56 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 12 ] ML 57 56 6 59 3 -14.007 -0.005 -8.118 -7.763 -7.499 -4.305 1.978 D 58 56 6 59 3 -7.779 -0.371 -2.171 IL 59 59 3 59 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 13 ] ML 60 59 3 62 2 -14.659 -0.000 1.348 -2.468 0.202 -3.024 D 61 59 3 62 2 -8.617 -0.004 IL 62 62 3 62 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ BIF 14 ] B 63 62 3 64 173 [ BEGL 15 ] S 64 63 1 65 1 0.000 [ BIF 16 ] B 65 64 1 66 116 [ BEGL 17 ] S 66 65 1 67 4 -0.001 -12.021 -11.428 -12.068 [ MATP 18 ] MP 67 66 1 71 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -11.606 -6.912 -12.457 -2.375 -11.305 -7.102 0.280 -10.922 -8.071 3.771 -7.538 -0.565 -2.126 -7.218 -7.324 -9.448 ML 68 66 1 71 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 69 66 1 71 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 70 66 1 71 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 71 71 5 71 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 72 72 6 72 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 19 ] MP 73 72 6 77 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -9.240 -9.577 -7.207 -0.703 -6.953 -7.803 3.525 -7.976 -11.664 -2.259 -4.137 -7.040 1.735 -10.062 -2.061 -8.224 ML 74 72 6 77 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 75 72 6 77 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 76 72 6 77 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 77 77 5 77 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 78 78 6 78 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 20 ] MP 79 78 6 83 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.115 -7.535 -7.452 -0.649 -6.118 -4.162 1.464 -7.553 -2.412 2.100 -7.790 -4.927 2.952 -7.255 -2.078 -6.220 ML 80 78 6 83 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 81 78 6 83 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 82 78 6 83 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 83 83 5 83 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 84 84 6 84 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 21 ] MP 85 84 6 89 4 -13.101 -13.308 -0.001 -11.722 1.474 -8.224 -7.865 -1.561 -3.150 -8.836 3.078 -3.335 1.394 -6.594 -4.545 -6.996 -1.665 -7.647 -0.097 -1.864 ML 86 84 6 89 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 87 84 6 89 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 88 84 6 89 4 -4.568 -4.250 -2.265 -0.520 IL 89 89 5 89 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 90 90 6 90 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 22 ] ML 91 90 6 93 3 -14.012 -0.000 -12.666 1.969 -5.517 -5.623 -4.509 D 92 90 6 93 3 -6.174 -1.687 -0.566 IL 93 93 3 93 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 23 ] ML 94 93 3 96 3 -14.012 -0.028 -5.681 -0.099 -3.932 1.558 -4.175 D 95 93 3 96 3 -6.174 -1.687 -0.566 IL 96 96 3 96 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 24 ] ML 97 96 3 99 3 -13.984 -0.616 -1.525 -2.120 0.318 -3.020 1.263 D 98 96 3 99 3 -9.856 -5.369 -0.037 IL 99 99 3 99 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 25 ] ML 100 99 3 102 3 -2.893 -0.209 -12.022 -1.849 -0.318 -6.368 1.540 D 101 99 3 102 3 -13.963 -0.005 -8.354 IL 102 102 3 102 3 -3.488 -0.141 -8.069 0.000 0.000 0.000 0.000 [ MATL 26 ] ML 103 102 3 105 3 -14.012 -0.000 -12.666 -7.659 -9.041 1.985 -4.890 D 104 102 3 105 3 -6.174 -1.687 -0.566 IL 105 105 3 105 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 27 ] ML 106 105 3 108 3 -14.012 -0.000 -12.666 -9.488 -10.488 1.999 -10.286 D 107 105 3 108 3 -6.174 -1.687 -0.566 IL 108 108 3 108 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 28 ] ML 109 108 3 111 3 -0.920 -1.085 -12.666 -1.932 -0.228 -2.234 1.418 D 110 108 3 111 3 -6.174 -1.687 -0.566 IL 111 111 3 111 3 -2.288 -0.332 -10.826 0.000 0.000 0.000 0.000 [ MATL 29 ] ML 112 111 3 114 2 * 0.000 1.778 -6.312 -0.996 -4.154 D 113 111 3 114 2 * 0.000 IL 114 114 3 114 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 30 ] E 115 114 3 -1 0 [ BEGR 31 ] S 116 65 1 117 3 -14.012 -0.017 -6.409 IL 117 117 2 117 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 32 ] ML 118 117 2 120 5 -12.931 -0.001 -12.746 -12.959 -13.850 1.154 -3.089 0.613 -2.969 D 119 117 2 120 5 -7.281 -0.129 -6.542 -4.917 -4.829 IL 120 120 3 120 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 33 ] MP 121 120 3 125 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.037 -7.238 -7.181 1.483 -3.802 -7.756 2.890 -3.509 -2.786 0.308 -7.454 -0.163 1.498 -3.576 -1.631 -3.419 ML 122 120 3 125 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 123 120 3 125 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 124 120 3 125 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 125 125 5 125 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 126 126 6 126 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 34 ] MP 127 126 6 131 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.562 -7.728 -7.698 1.296 -6.285 -8.282 2.986 -7.700 -8.021 0.253 -7.975 -0.964 1.796 -7.531 -2.098 -2.634 ML 128 126 6 131 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 129 126 6 131 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 130 126 6 131 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 131 131 5 131 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 132 132 6 132 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 35 ] MP 133 132 6 137 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -3.770 -7.034 -8.756 1.366 -8.689 -8.741 1.613 -8.338 -8.095 2.514 -7.814 -3.330 2.142 -8.082 -5.249 -7.171 ML 134 132 6 137 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 135 132 6 137 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 136 132 6 137 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 137 137 5 137 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 138 138 6 138 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 36 ] MP 139 138 6 143 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -12.633 -9.383 -12.525 -2.043 -11.426 -10.132 1.965 -11.177 -10.560 3.509 -10.096 -1.569 -5.642 -10.042 -7.160 -3.277 ML 140 138 6 143 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 141 138 6 143 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 142 138 6 143 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 143 143 5 143 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 144 144 6 144 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 37 ] MP 145 144 6 149 4 -13.101 -13.308 -0.001 -11.722 -9.123 -2.953 -9.846 2.544 -9.260 -9.919 2.508 -9.301 -9.311 1.305 -8.992 -3.043 0.719 -9.306 -3.360 -8.095 ML 146 144 6 149 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 147 144 6 149 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 148 144 6 149 4 -4.568 -4.250 -2.265 -0.520 IL 149 149 5 149 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 150 150 6 150 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 38 ] ML 151 150 6 153 3 -14.012 -0.000 -12.666 -3.533 1.448 -7.551 0.238 D 152 150 6 153 3 -6.174 -1.687 -0.566 IL 153 153 3 153 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 39 ] ML 154 153 3 156 3 -14.012 -0.000 -12.666 -8.939 -9.084 -9.393 1.998 D 155 153 3 156 3 -6.174 -1.687 -0.566 IL 156 156 3 156 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 40 ] ML 157 156 3 159 3 -14.012 -0.000 -12.666 -2.883 -0.034 0.578 0.481 D 158 156 3 159 3 -6.174 -1.687 -0.566 IL 159 159 3 159 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 41 ] ML 160 159 3 162 3 -14.012 -0.000 -12.666 0.183 -0.085 -0.221 0.089 D 161 159 3 162 3 -6.174 -1.687 -0.566 IL 162 162 3 162 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 42 ] ML 163 162 3 165 3 -14.012 -0.000 -12.666 0.178 -0.228 -0.328 0.285 D 164 162 3 165 3 -6.174 -1.687 -0.566 IL 165 165 3 165 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 43 ] ML 166 165 3 168 3 -14.012 -0.000 -12.666 1.722 -9.712 -0.516 -9.399 D 167 165 3 168 3 -6.174 -1.687 -0.566 IL 168 168 3 168 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 44 ] ML 169 168 3 171 2 * 0.000 1.516 -0.515 -5.325 -1.267 D 170 168 3 171 2 * 0.000 IL 171 171 3 171 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 45 ] E 172 171 3 -1 0 [ BEGR 46 ] S 173 63 1 174 3 -14.012 -0.000 -12.666 IL 174 174 2 174 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 47 ] ML 175 174 2 177 3 -14.012 -0.347 -2.226 0.255 -0.169 -0.179 0.048 D 176 174 2 177 3 -6.174 -1.687 -0.566 IL 177 177 3 177 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 48 ] ML 178 177 3 180 2 -5.757 -0.027 -0.282 -3.163 1.294 -0.705 D 179 177 3 180 2 -11.596 -0.000 IL 180 180 3 180 2 -4.108 -0.086 0.000 0.000 0.000 0.000 [ BIF 49 ] B 181 180 3 182 238 [ BEGL 50 ] S 182 181 1 183 4 -1.839 -7.503 -11.428 -0.485 [ MATP 51 ] MP 183 182 1 187 6 -12.101 -12.040 -0.003 -10.817 -11.097 -11.492 -5.896 -4.895 -1.135 1.822 -7.689 -6.694 -0.351 -6.364 -6.013 2.709 0.199 0.771 0.011 -6.051 -0.531 -5.246 ML 184 182 1 187 6 -7.801 -8.147 -2.861 -2.556 -7.997 -0.556 -0.705 1.288 -1.533 -0.738 MR 185 182 1 187 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 186 182 1 187 6 -17.432 -16.131 -11.928 -12.610 -12.627 -0.001 IL 187 187 5 187 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 188 188 6 188 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 52 ] MP 189 188 6 193 6 -12.101 -12.040 -0.030 -10.817 -11.097 -5.733 -6.042 -5.966 -6.292 0.490 -4.985 -6.803 2.313 -6.238 -6.447 2.197 -2.045 -3.144 2.130 -6.059 -2.718 -4.898 ML 190 188 6 193 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 191 188 6 193 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 192 188 6 193 6 -17.443 -16.141 -11.938 -12.620 -12.638 -0.001 IL 193 193 5 193 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 194 194 6 194 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 53 ] MP 195 194 6 199 6 -12.074 -12.013 -0.441 -10.790 -11.070 -1.934 -5.425 -5.569 -5.574 0.769 -4.218 -2.004 2.789 -5.599 -5.868 1.249 -2.214 -0.790 1.274 -5.392 0.395 -4.246 ML 196 194 6 199 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 197 194 6 199 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 198 194 6 199 6 -17.454 -16.152 -11.949 -12.631 -12.648 -0.001 IL 199 199 5 199 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 200 200 6 200 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 54 ] MP 201 200 6 205 6 -11.637 -11.576 -0.549 -10.353 -10.633 -1.669 -1.416 -5.275 -5.261 0.796 -1.392 -5.837 2.611 -5.293 -5.525 1.880 -5.519 -2.505 1.348 -5.069 -0.390 -3.937 ML 202 200 6 205 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 203 200 6 205 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 204 200 6 205 6 -17.594 -16.292 -12.089 -12.771 -12.789 -0.001 IL 205 205 5 205 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 206 206 6 206 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 55 ] MP 207 206 6 211 6 -11.094 -11.033 -0.509 -9.809 -10.089 -1.763 -4.464 -3.752 -5.033 1.425 -0.401 -5.071 0.164 -4.728 -4.595 2.715 -4.442 1.415 -1.117 -0.314 -0.807 -3.966 ML 208 206 6 211 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 209 206 6 211 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 210 206 6 211 6 -17.708 -16.406 -12.203 -12.885 -12.903 -0.001 IL 211 211 5 211 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 212 212 6 212 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 56 ] MP 213 212 6 217 6 -10.592 -10.531 -0.786 -9.307 -9.587 -1.266 -4.520 -3.607 -5.395 1.492 -5.866 -5.313 1.117 -4.970 -0.766 2.781 -4.391 -1.218 -0.687 -4.663 1.092 -3.899 ML 214 212 6 217 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 215 212 6 217 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 216 212 6 217 6 -17.776 -16.475 -12.272 -12.954 -12.971 -0.001 IL 217 217 5 217 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 218 218 6 218 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 57 ] MP 219 218 6 223 4 -8.365 -0.471 -1.902 -6.986 -3.687 -4.181 -4.019 0.126 -2.770 -4.697 2.468 -4.147 -4.181 -0.010 -4.393 -1.619 2.199 -3.893 0.852 0.077 ML 220 218 6 223 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 221 218 6 223 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 222 218 6 223 4 -13.264 -4.552 -2.325 -0.400 IL 223 223 5 223 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 224 224 6 224 3 -4.956 -0.055 -7.657 0.000 0.000 0.000 0.000 [ MATL 58 ] ML 225 224 6 227 3 -12.130 -0.001 -10.784 -1.552 -1.933 0.893 0.623 D 226 224 6 227 3 -14.977 -10.490 -0.001 IL 227 227 3 227 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 59 ] ML 228 227 3 230 3 -12.130 -0.001 -10.784 -0.009 -0.075 -3.569 0.980 D 229 227 3 230 3 -14.977 -10.490 -0.001 IL 230 230 3 230 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 60 ] ML 231 230 3 233 3 -4.478 -0.309 -2.759 1.306 -0.395 -2.943 -0.652 D 232 230 3 233 3 -14.977 -10.490 -0.001 IL 233 233 3 233 3 -2.958 -0.232 -5.659 0.000 0.000 0.000 0.000 [ MATL 61 ] ML 234 233 3 236 2 * 0.000 0.963 -0.810 -0.300 -0.582 D 235 233 3 236 2 * 0.000 IL 236 236 3 236 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 62 ] E 237 236 3 -1 0 [ BEGR 63 ] S 238 181 1 239 3 -14.012 -0.134 -3.491 IL 239 239 2 239 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 64 ] ML 240 239 2 242 3 -0.527 -1.710 -12.532 -1.166 -3.477 1.564 -0.980 D 241 239 2 242 3 -11.963 -0.018 -6.355 IL 242 242 3 242 3 -8.059 -0.006 -10.759 0.000 0.000 0.000 0.000 [ MATL 65 ] ML 243 242 3 245 5 -12.948 -0.001 -12.763 -12.975 -13.867 -4.810 1.566 -3.513 -0.127 D 244 242 3 245 5 -4.959 -0.803 -4.221 -2.596 -2.508 IL 245 245 3 245 5 -2.408 -0.496 -4.087 -5.920 -5.193 0.000 0.000 0.000 0.000 [ MATP 66 ] MP 246 245 3 250 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.688 -6.681 -8.645 1.666 -9.459 -8.489 0.368 -8.152 -7.805 2.786 -7.490 2.090 -2.079 -7.846 -5.378 -3.561 ML 247 245 3 250 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 248 245 3 250 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 249 245 3 250 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 250 250 5 250 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 251 251 6 251 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 67 ] MP 252 251 6 256 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.164 -3.930 -7.425 1.355 -6.165 -3.575 2.544 -7.386 -7.552 1.564 -7.449 0.499 1.030 -7.159 -0.127 -3.582 ML 253 251 6 256 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 254 251 6 256 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 255 251 6 256 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 256 256 5 256 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 257 257 6 257 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 68 ] MP 258 257 6 262 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -7.629 -3.082 -8.585 1.776 -9.406 -8.429 1.804 -4.067 -7.746 2.629 -7.432 -0.249 0.686 -7.786 -2.088 -6.973 ML 259 257 6 262 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 260 257 6 262 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 261 257 6 262 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 262 262 5 262 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 263 263 6 263 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 69 ] MP 264 263 6 268 6 -13.903 -13.842 -0.001 -12.619 -12.899 -13.294 -11.641 -3.835 -12.487 1.001 -11.420 -7.137 -3.552 -10.940 -8.101 3.781 -7.570 -4.706 -5.223 -7.252 -7.438 -9.487 ML 265 263 6 268 6 -6.250 -6.596 -1.310 -1.005 -6.446 -3.975 0.660 -0.612 -0.293 -0.076 MR 266 263 6 268 6 -6.988 -5.717 -1.625 -5.695 -0.829 -3.908 0.660 -0.612 -0.293 -0.076 D 267 263 6 268 6 -9.049 -7.747 -3.544 -4.226 -4.244 -0.319 IL 268 268 5 268 6 -2.579 -2.842 -0.760 -4.497 -5.274 -4.934 0.000 0.000 0.000 0.000 IR 269 269 6 269 5 -2.408 -0.496 -5.920 -4.087 -5.193 0.000 0.000 0.000 0.000 [ MATP 70 ] MP 270 269 6 274 4 -13.101 -13.308 -0.001 -11.722 -11.596 -6.880 -12.474 -2.533 -11.371 -7.068 -5.211 -10.924 -8.038 3.960 -4.139 -3.060 -5.172 -7.185 -7.405 -9.447 ML 271 269 6 274 4 -3.758 -3.940 -0.507 -2.670 0.660 -0.612 -0.293 -0.076 MR 272 269 6 274 4 -4.809 -3.838 -1.706 -0.766 0.660 -0.612 -0.293 -0.076 D 273 269 6 274 4 -4.568 -4.250 -2.265 -0.520 IL 274 274 5 274 4 -1.686 -2.369 -1.117 -4.855 0.000 0.000 0.000 0.000 IR 275 275 6 275 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 71 ] ML 276 275 6 278 3 -14.012 -0.002 -9.561 -8.939 -9.084 -9.393 1.998 D 277 275 6 278 3 -6.174 -1.687 -0.566 IL 278 278 3 278 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 72 ] ML 279 278 3 281 3 -14.010 -0.000 -12.664 -8.937 -9.081 -9.390 1.998 D 280 278 3 281 3 -6.953 -0.742 -1.344 IL 281 281 3 281 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 73 ] ML 282 281 3 284 3 -14.012 -0.000 -12.666 -9.158 1.998 -9.627 -9.349 D 283 281 3 284 3 -6.174 -1.687 -0.566 IL 284 284 3 284 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 74 ] ML 285 284 3 287 3 -14.012 -0.000 -12.666 0.321 -8.969 1.457 -8.325 D 286 284 3 287 3 -6.174 -1.687 -0.566 IL 287 287 3 287 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 75 ] ML 288 287 3 290 3 -14.012 -0.002 -9.561 1.997 -8.633 -8.089 -8.568 D 289 287 3 290 3 -6.174 -1.687 -0.566 IL 290 290 3 290 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 76 ] ML 291 290 3 293 3 -14.010 -0.013 -6.815 0.625 -2.188 0.582 -0.432 D 292 290 3 293 3 -6.953 -0.742 -1.344 IL 293 293 3 293 3 -1.442 -0.798 -4.142 0.000 0.000 0.000 0.000 [ MATL 77 ] ML 294 293 3 296 2 * 0.000 -5.368 -0.963 -7.616 1.790 D 295 293 3 296 2 * 0.000 IL 296 296 3 296 2 -1.823 -0.479 0.000 0.000 0.000 0.000 [ END 78 ] E 297 296 3 -1 0 // tRNAscan-SE-1.3.1/COPYING0000644000543100001440000000441511021467312013536 0ustar pchanuserstRNAscan-SE -- a program for finding transfer RNAs Copyright (C) 1996 Todd M.J. Lowe & Sean R. Eddy This set of programs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program, in the file GNULICENSE; if not, write to the Free Software Foundation, Inc., 675 Mass. Ave, Cambridge, MA 02139 USA. This distribution includes source code originally derived from other sources. In particular, modified source code from the program trnascan 1.3 (Fichant & Burks, 1991) is included under the conditions of the following notice: Copyright, 1991, The Regents of the University of California. This software was produced by the Los Alamos National Laboratory, which is operated by the University of California for the United States Department of Energy under contract W-7405-ENG-36. The U. S. Government is licensed to use, reproduce, and distribute this software. Permission is granted to the public to copy and use this software without charge, provided that this Notice and any statement of authorship are reproduced on all copies. Neither the Government nor the University makes any warranty, express or implied, or assumes any liability or responsibility for the use of this software. Also, the complete COVE package (Covariance models of RNA sequence and structure, Eddy & Durbin, 1994) is included under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please see accompanying files from the COVE package for more information. References 1. Fichant, G.A. and Burks, C. (1991) "Identifying potential tRNA genes in genomic DNA sequences", J. Mol. Biol., 220, 659-671. 2. Eddy, S.R. and Durbin, R. (1994) "RNA sequence analysis using covariance models", Nucl. Acids Res., 22, 2079-2088. tRNAscan-SE-1.3.1/tRNAscan-SE.src0000644000543100001440000012744511672027271015213 0ustar pchanusers#! /usr/bin/perl # # -------------------------------------------------------------------- # tRNAscan-SE: a program for improved detection of transfer RNA # genes in genomic sequence # # Version 1.3.1 # # Copyright (C) 2011 Patricia Chan and Todd Lowe # # School of Engineering, University of California, Santa Cruz # lowe@soe.ucsc.edu # http://lowelab.ucsc.edu/ # -------------------------------------------------------------------- # # Algorithm & performance published in # Lowe, T.M. & Eddy, S.R., # Nucl. Acids Res. 25, 955-964, 1997. # # -------------------------------------------------------------------- # # Usage: # tRNAscan-SE [options] # use strict; use Getopt::Long; use tRNAscanSE::Utils; use tRNAscanSE::Constants; use tRNAscanSE::GeneticCode; use tRNAscanSE::Options; use tRNAscanSE::Eufind; use tRNAscanSE::Tscan; use tRNAscanSE::CM; use tRNAscanSE::LogFile; use tRNAscanSE::Stats; use tRNAscanSE::Sequence; use tRNAscanSE::ScanResult; use tRNAscanSE::SS; # set when built by 'make' our $version = ""; our $release_date = ""; our $program_id = "tRNAscan-SE-".$version; # modified by 'make' our $bindir = ""; our $lib_dir = "/usr/local/lib/tRNAscanSE/"; our $temp_dir = "/tmp"; # set location of temp files if ($ENV{TMPDIR}) { $temp_dir = $ENV{TMPDIR}; } # Global variables our @fp_start_time; our $constants = tRNAscanSE::Constants->new; our $opts = tRNAscanSE::Options->new; our $log = tRNAscanSE::LogFile->new; our $eufind = tRNAscanSE::Eufind->new; our $tscan = tRNAscanSE::Tscan->new; our $cm = tRNAscanSE::CM->new; our $gc = tRNAscanSE::GeneticCode->new; our $stats = tRNAscan::Stats->new; our $seq_file = tRNAscanSE::Sequence->new; # Signal handling $SIG{'TERM'} = 'error_handler'; $SIG{'QUIT'} = 'error_handler'; $SIG{'INT'} = 'error_handler'; &set_options(); # set user-selectable options # set location of binaries & data files, # plus, check to make sure they are there $cm->set_file_paths($opts); $cm->check_lib_files($opts, $lib_dir); $cm->set_bin($bindir); $eufind->set_bin($bindir); $tscan->set_bin($bindir); # initialize variables $constants->set_temp_file_names($temp_dir); $gc->read_transl_table($opts); if ($opts->save_stats()) { $stats->file_name($opts->stats_file()); } my @prescan_tRNAs = (); my %global_vars = ('constants' => $constants, 'opts' => $opts, 'cm' => $cm); # Start processing &initialize_process(); if ($opts->tscan_mode() || $opts->eufind_mode()) { &first_pass_prescan(); } # (prescan with either tRNAscan/eufind or both) # Check to see if no sequences were read from input file(s) if (($stats->numscanned() == 0) && ($opts->eufind_mode() || $opts->tscan_mode())) { if ($opts->seq_key() ne '\S*') { die "\nNo FASTA sequences matching \'".$opts->raw_seq_key()."\' key found\n\n"; } elsif ($opts->multiple_files()) { die "\nFATAL: No sequences in FASTA format found in ", join(', ',@ARGV),"\n\n"; } else { die "\nFATAL: No sequences in FASTA format found in file ".$opts->fastafile()."\n\n"; } } # Run Cove or Infernal on candidate tRNAs picked in first pass, # or by itself on seqs if no first pass searches elsif ($opts->cove_mode() || $opts->infernal_mode()) { &run_cm_scan(); } # if Using second-pass scanner $stats->end_sp_timer(); if ($opts->save_stats()) { $stats->open_file(); $stats->save_final_stats($opts, $gc, \@prescan_tRNAs, $cm->tab_results()); $stats->close_file(); } $log->close_file(); &cleanup(); # clean up temp files exit(0); # END main sub initialize_process { # print program info header, credits, & selected run options if (!$opts->quiet_mode()) { print STDERR "\ntRNAscan-SE v.$version ($release_date) -", " scan sequences for transfer RNAs\n"; &display_credits(); $opts->display_run_options($cm, $tscan, $eufind, *STDERR); } $stats->start_fp_timer(); # save starting time # if statistics are being saved, write run options in stats file if ($opts->save_stats()) { my $host = `hostname`; chomp($host); $stats->open_file(); $stats->write_line("\ntRNAscan-SE v.$version ($release_date) scan results (on host $host)\nStarted: ".`date`); $opts->display_run_options($cm, $tscan, $eufind, $stats->FILE_H()); $stats->close_file(); } } # Running tRNAscan and/or EufindtRNA sub first_pass_prescan { $log->write_line("\nPhase I: Searching for tRNAs with tRNAscan and/or EufindtRNA\n"); # open seq file to search $seq_file->open_file($opts->fasta_file(), "read"); # Main loop for reading seqs & scanning with tRNAscan and/or # EufindtRNA my $targ_seq_id = 0; # Don't look for a specific Seq number my $start_index = 1; my $sequence_scanned = 0; my $eufind_output; my @hit_list = (); my $tmp_raw = $constants->tmp_raw(); my $tmp_fa = $constants->tmp_fa(); my $tmp_fa_file = tRNAscanSE::Sequence->new; my $missing_fa_file = tRNAscanSE::Sequence->new; while ($seq_file->read_fasta($opts, $targ_seq_id)) { if ($opts->cove_mode() || $opts->infernal_mode()) { $log->write_line("Scanned seqs: ".$stats->numscanned()." (at ".$seq_file->seq_name().")"); } $stats->increment_numscanned(); $stats->increment_first_pass_base_ct($seq_file->seq_length()); do { # Write one input sequence / seq buffer to tmp_fa file $tmp_fa_file->open_file($tmp_fa, "write"); $tmp_fa_file->set_seq_info($seq_file->seq_name(), $seq_file->seq_description(), $seq_file->seq_length(), $seq_file->sequence()); $tmp_fa_file->write_fasta(); $tmp_fa_file->close_file(); # Run tRNAscan on $tmp_fa file & write results to # $tmp_raw output file if ($opts->tscan_mode()) { $tscan->run_tRNAscan($tmp_fa, $tmp_raw, $start_index, $lib_dir, $seq_file->seq_name()); if ($opts->save_verbose()) { $tscan->append_verbfile($opts->verb_file(), $tmp_fa, $seq_file->seq_name()); } $tscan->process_tRNAscan_hits($constants, $gc, $stats, $seq_file->seq_name(), \@hit_list); } # Run eufindtRNA program & save results in memory # in $Eufind_output array if ($opts->eufind_mode()) { $eufind_output = $eufind->run_eufind($tmp_fa, $start_index, $opts->max_int_len(), $seq_file->seq_name()); if ($eufind_output ne "") { $eufind->process_Eufind_hits($constants, $stats, \@hit_list, $eufind_output); $eufind_output = ""; } } $sequence_scanned = 1; # Flag indicating current sequence has been scanned # Check to see if all of sequence was read in last buffer-sized chunck if ($seq_file->seq_buf_overrun()) { $start_index = $seq_file->buffer_end_index() + 1; if ($seq_file->read_more_fasta()) { $sequence_scanned = 0; } } } until ($sequence_scanned); if ($#hit_list >= 0) { $stats->increment_seqs_hit(); # save results in ACeDB format now if not # using Cove analysis if ($opts->ace_output() && (!$opts->CM_mode())) { &save_Acedb_from_firstpass($opts->output_codon(), $gc->one_let_trans_map(), \@hit_list, $opts->out_file()); } else { # save all hits for this seq my $fpass_trna_base_ct = $stats->fpass_trna_base_ct(); &save_firstpass_output($opts, \@hit_list, $constants->source_tab(), \$fpass_trna_base_ct, $seq_file->seq_length(), $seq_file->seq_id()); $stats->fpass_trna_base_ct($fpass_trna_base_ct); } @hit_list = (); # clear hit array } elsif ($opts->save_missed()) { # save sequence that had no tRNA hits if -M param set # NOTE: only writes last frame of seq buffer if seq length > max_seq_buffer $missing_fa_file->open_file($opts->missed_seq_file(), "append"); $missing_fa_file->set_seq_info($seq_file->seq_name(), $seq_file->seq_description(), $seq_file->seq_length(), $seq_file->sequence()); $missing_fa_file->write_fasta(); $missing_fa_file->close_file(); } $seq_file->reset_buffer_ct(); $start_index = 1; } # while (read_fasta()) - still more seqs to scan $seq_file->close_file(); # remove temporary files system("rm -f $tmp_raw $tmp_fa"); $seq_file->release_memory(); # release memory $log->write_line("\n".$stats->numscanned()." seqs scanned, ".$stats->seqs_hit()." seqs had at ". "least one hit.\n".$stats->trnatotal()." total tRNAs predicted in first pass scans\n"); if ((!$opts->CM_mode()) && ($stats->trnatotal() == 0) && (!$opts->quiet_mode())) { print STDERR "No tRNAs found.\n\n"; } $stats->end_fp_timer(); # save time first-pass scans are done if ($opts->save_stats()) { $stats->open_file(); $stats->save_firstpass_stats(); $stats->close_file(); } } # Run Cove or Infernal sub run_cm_scan { $stats->start_sp_timer(); if ($opts->tscan_mode() || $opts->eufind_mode()) { $log->write_line("\nPhase II: ".$opts->second_pass_label()." verification of candidate ". "tRNAs detected\n with tRNAscan and/or EufindtRNA\n"); } else { $log->write_line("\nRunning ".$opts->second_pass_label()." analysis\n"); if (!$opts->use_prev_ts_run()) { &prep_for_secpass_only($opts, $stats, $seq_file); } } my $prev_seq_name = ''; # Name of tRNA sequence currently in memory my $seqinfo_flag = 0; # flag indicates if seqid and seqlen are saved # in firstpass result file my $curseq_trnact = 0; my $r_prescan_tRNA; my $tRNAs_found = 0; my @sec_pass_hits = (); $seq_file->open_file($opts->fasta_file(), "read"); &parse_tabular_output($opts, \@prescan_tRNAs, \$seqinfo_flag); for (my $tRNA_ct=0; $tRNA_ct <= $#prescan_tRNAs; $tRNA_ct++) { $r_prescan_tRNA = $prescan_tRNAs[$tRNA_ct]; # Reset tRNA counter for each new sequence if ($r_prescan_tRNA->{src_seqname} ne $prev_seq_name) { $curseq_trnact = 0; } # Retrieve tRNA sequence and write to tmp_trnaseq_file if (!&prepare_tRNA_to_scan($seq_file, $r_prescan_tRNA)) { next; } if ($opts->cove_mode()) { $tRNAs_found = $cm->analyze_with_cove($opts, $constants, $stats, $gc, $log, $program_id, $r_prescan_tRNA, $constants->tmp_trnaseq_file(), \$curseq_trnact, \@sec_pass_hits); } elsif ($opts->infernal_mode()) { $tRNAs_found = $cm->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, $program_id, $r_prescan_tRNA, $constants->tmp_trnaseq_file(), \$curseq_trnact, \@sec_pass_hits); } $prev_seq_name = $r_prescan_tRNA->{src_seqname}; if (!$cm->CM_check_for_introns()) { $stats->increment_total_secpass_ct($tRNAs_found); } } if (($cm->CM_check_for_introns() || $cm->CM_check_for_split_halves()) && (scalar(@sec_pass_hits) > 0)) { $cm->scan_noncanonical_introns($opts, $constants, $stats, $gc, $log, $seq_file, \@sec_pass_hits); if ($cm->CM_check_for_split_halves()) { $cm->scan_split_tRNAs($opts, $constants, $stats, $gc, $log, \@sec_pass_hits); } for (my $ct = 0; $ct < scalar(@sec_pass_hits); $ct++) { &output_tRNA($opts, $gc, $log, $cm->tab_results(), $cm->get_hmm_score(), $program_id, $sec_pass_hits[$ct], $sec_pass_hits[$ct], $ct+1); $stats->increment_total_secpass_ct(1); } } $seq_file->close_file(); if (($stats->total_secpass_ct() == 0) && (!$opts->quiet_mode())) { print STDERR "No tRNAs found.\n\n"; } } # Extracts tRNA sequence with given coordinates, and writes to # $tmp_ sub prepare_tRNA_to_scan { my ($seq_file, $r_tRNA_info) = @_; my ($tRNA_seq, $upstream, $downstream) = $seq_file->get_tRNA_sequence($r_tRNA_info->{src_seqname}, $r_tRNA_info->{strand}, $r_tRNA_info->{start}, $r_tRNA_info->{end}, $log, $opts, $constants); $r_tRNA_info->{seq} = $tRNA_seq; $r_tRNA_info->{upstream} = $upstream; $r_tRNA_info->{downstream} = $downstream; $stats->increment_secpass_base_ct($r_tRNA_info->{len}); &write_tRNA($constants->tmp_trnaseq_file(), $seq_file->seq_name(), $seq_file->seq_description(), $r_tRNA_info->{seq}, 1); $seq_file->release_memory(); return 1; } sub cleanup { # clean up temp files system("rm -f ".$opts->temp_dir()."/tscan$$".'*'); system("rm -f ".$opts->fafile().".pid"); } sub error_handler { print "\nAborting tRNAscan-SE\n\n"; my $ppid = $$; my $psout = `ps -ef`; my @ps_lines = split(/\n/,$psout); foreach my $line (0..$#ps_lines) { if ($ps_lines[$line] =~/^\s+\S+\s+(\d+)\s+($ppid)\s/) { # print STDERR "Killing process $1:\n",$ps_lines[$line],"\n"; my $killct = kill 'KILL', $1; # print STDERR "$killct jobs received the kill signal\n"; } } &cleanup(); exit(1); } sub display_credits { print STDERR "\n Please cite: \n", "\tLowe, T.M. & Eddy, S.R. (1997) \"tRNAscan-SE: A program for\n", "\timproved detection of transfer RNA genes in genomic sequence\"\n", "\tNucl. Acids Res. 25: 955-964.\n", "\n This program uses a modified, optimized version of tRNAscan v1.3\n", " (Fichant & Burks, J. Mol. Biol. 1991, 220: 659-671),\n", " a new implementation of a multistep weight matrix algorithm\n", " for identification of eukaryotic tRNA promoter regions\n", " (Pavesi et al., Nucl. Acids Res. 1994, 22: 1247-1256),\n", " as well as the RNA covariance analysis package Cove v.2.4.2\n", " (Eddy & Durbin, Nucl. Acids Res. 1994, 22: 2079-2088).\n\n"; } sub print_usage { print STDERR "\nUsage: tRNAscan-SE [-options] \n\n"; print STDERR " Scan a sequence file for tRNAs using tRNAscan, EufindtRNA &\n", " tRNA covariance models\n", " -- defaults to use with eukaryotic sequences \n", " (use -B, -A, -O or -G to scan other types of sequences)\n\n", "Basic Options\n", " -B : search for bacterial tRNAs (use bacterial tRNA model)\n", " -A : search for archaeal tRNAs (use archaeal tRNA model)\n", " -O : search for organellar (mitochondrial/chloroplast) tRNAs\n", " -G : use general tRNA model (cytoplasmic tRNAs from all 3 domains included)\n\n", " -i : search using Infernal cm analysis only (max sensitivity, very slow)\n", " -C : search using Cove analysis only (high sensitivity, very slow)\n\n", " -o : save final results in \n", " -f : save tRNA secondary structures to \n", " -a : output results in ACeDB output format instead of default\n", " tabular format\n", " -m : save statistics summary for run in \n", " (speed, # tRNAs found in each part of search, etc)\n", " -H : show both primary and secondary structure components to\n", " covariance model bit scores\n", " -q : quiet mode (credits & run option selections suppressed)\n\n", " -h : print full list (long) of available options\n\n"; } sub print_all_options { print "\nUsage: tRNAscan-SE [-options] \n\n"; print " Scan a sequence file for tRNAs using tRNAscan, EufindtRNA &\n", " tRNA covariance models\n", " -- defaults to use with eukaryotic sequences \n", " (use 'Search Mode Options' below to scan other types of sequences)\n\n", "Search Mode Options:\n\n", " -B --bact : search for bacterial tRNAs (use bacterial tRNA model)\n", " -A --arch : search for archaeal tRNAs (use archaeal tRNA model)\n", " -O --organ : search for organellar (mitochondrial/chloroplast) tRNAs\n", " -G --general : use general tRNA model (cytoplasmic tRNAs from all 3 domains included)\n\n", " -C --cove : search using covariance model analysis only (max sensitivity, slow)\n", " -i --infernal : search using Infernal cm analysis only (max sensitivity, very slow)\n", " --newscan : search using Infernal and new cm models instead of Cove\n", " -H --breakdown : show breakdown of primary and secondary structure components to\n", " covariance model bit scores\n", " -D --nopseudo : disable pseudogene checking\n\n", "Achaeal-specific options:\n\n", " --ncintron : scan for noncanonical introns\n", " --frag : scan for putative tRNA gene fragments that may form split tRNAs\n", " and save results in \n\n", "Output options:\n\n", " -o --output : save final results in \n", " -f --struct : save tRNA secondary structures to \n", " -a --acedb : output results in ACeDB output format instead of default\n", " tabular format\n", " -m --stats : save statistics summary for run in \n", " (speed, # tRNAs found in each part of search, etc)\n\n", " -d --progress : display program progress messages\n", " -l --log : save log of program progress in \n\n", " -q --quiet : quiet mode (credits & run option selections suppressed)\n", " -b --brief : brief output format (no column headers)\n\n", " -N --codons : output corresponding codons instead of tRNA anticodons\n\n", " -? \# : '#' in place of chooses default name for output files\n", " -p --prefix