seqinr/0000755000176000001440000000000012444333513011605 5ustar ripleyusersseqinr/inst/0000755000176000001440000000000012440112027012551 5ustar ripleyusersseqinr/inst/abif/0000755000176000001440000000000012440112027013452 5ustar ripleyusersseqinr/inst/abif/Promega_Panels_v1.txt0000644000176000001440000000652711155704135017540 0ustar ripleyusersVersion GM v 3.0 Kit type: MICROSATELLITE Chemistry Kit Promega_Panels_v1 none Panel PowerPlex_16_v1 null TPOX yellow 255.0 303.0 8 4 0.06 none 6, 7, 8, 9, 10, 11, 12, 13, FGA yellow 305.0 466.0 23,24 4 0.14 none 16, 17, 18, 18.2, 19, 19.2, 20, 20.2, 21, 21.2, 22, 22.2, 23, 23.2, 24, 24.2, 25, 25.2, 26, 27, 28, 29, 30, 31.2, 43.2, 44.2, 45.2, 46.2, D3S1358 blue 94.0 151.0 14,15 4 0.13 none 12, 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 152.0 195.0 8,9.3 4 0.06 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D21S11 blue 196.0 262.0 30 4 0.22 none 24, 24.2, 25, 25.2, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 blue 279.0 364.0 15,19 4 0.13 none 8, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, Penta_E blue 370.0 480.0 12,13 5 0.13 none 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D5S818 green 112.0 158.0 11 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 green 166.0 208.0 11 4 0.12 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 green 210.0 252.0 10,11 4 0.1 none 6, 7, 8, 9, 10, 11, 12, 13, 14, D16S539 green 260.0 310.0 11,12 4 0.13 none 5, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO green 312.0 361.0 10,12 4 0.1 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Penta_D green 365.0 449.0 12 5 0.06 none 2.2, 3.2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, AMEL yellow 102.0 112.0 x 9 0.0 none X, Y, vWA yellow 120.0 184.0 17,18 4 0.14 none 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, D8S1179 yellow 200.0 252.0 13 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, Panel PowerPlex_12_v1 null D5S818 blue 107.0 152.0 11,12 4 0.13 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D13S317 blue 159.0 206.0 8 4 0.13 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 blue 207.0 249.0 9,11 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, 14, D16S539 blue 253.0 309.0 11,12 4 0.13 none 5, 8, 9, 10, 11, 12, 13, 14, 15, vWA yellow 118.0 170.0 16 4 0.13 none 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, TH01 yellow 172.0 204.0 9.3 4 0.13 none 5, 6, 7, 8, 9, 10, 11, AMEL yellow 208.0 217.0 x 9 0.0 none X, Y, TPOX yellow 218.0 258.0 8,9 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO yellow 283.0 335.0 9,10 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Penta_E_v1 null Penta_E blue 370.0 480.0 12,13 5 0.13 none 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, Panel Penta_D_v1 null Penta_D green 365.0 449.0 12 5 0.06 none 2.2, 3.2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, Panel SE33_v1 null SE33 green 194.0 334.0 19,29.2 4 0.14 none 4.2, 6.3, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20.2, 21, 21.2, 22, 22.2, 23.2, 24.2, 25.2, 26.2, 27.2, 28.2, 29.2, 30.2, 31.2, 32.2, 33.2, 34.2, 35, 36, 37, Panel FFFL_v1 null LPL blue 92.0 130.0 10,12 4 0.09 none 7, 9, 10, 11, 12, 13, 14, F13B blue 159.0 193.0 10 4 0.04 none 6, 7, 8, 9, 10, 11, FESFPS blue 213.0 251.0 10,12 4 0.07 none 7, 8, 9, 10, 11, 12, 13, 14, F13A01 blue 270.0 336.0 4,5 4 0.04 none 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, Panel CTTV_v1 null vWA blue 126.0 168.0 16 4 0.14 none 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 169.0 203.5 9.3 4 0.06 none 5, 6, 7, 8, 9, 10, 11, AMEL blue 205.0 218.0 x 9 0.0 none X, Y, TPOX blue 219.0 253.0 8,9 4 0.06 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO blue 282.0 327.0 9,10 4 0.1 none 7, 8, 9, 10, 11, 12, 13, 14, 15, seqinr/inst/abif/AmpFLSTR_Panels_v1.txt0000644000176000001440000002427411155704135017475 0ustar ripleyusers#GeneMapper ID v3.1 Last edited 071403 #GMv3.0 for import into GeneMapper ID v3.1 Version GMv3.0 Kit type Microsatellite Chemistry Kit AmpFLSTR_Panels_v1 Panel Blue_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, Panel Green_I_v1 AMEL green 106.00 114.00 x 9 0.060 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Profiler_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D5S818 yellow 128.00 180.00 11 4 0.100 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.100 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Profiler_Plus_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, D8S1179 green 118.00 183.50 13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 30 4 0.130 none 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 38, D18S51 green 264.49 350.00 15,19 4 0.160 none 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, D5S818 yellow 128.00 180.00 11 4 0.100 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.100 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel COfiler_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, D16S539 blue 229.00 279.00 11,12 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel SGM_Plus_v1 D3S1358 blue 98.00 148.00 15,16 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 213.50 14,16 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D16S539 blue 229.00 279.00 9,10 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 blue 284.00 354.00 20,23 4 0.150 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, AMEL green 106.00 114.00 x,y 9 0.000 none X, Y, D8S1179 green 118.00 183.50 12,13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 28,31 4 0.130 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 green 264.49 350.00 12,15 4 0.160 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, D19S433 yellow 101.00 148.00 14,15 4 0.170 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, TH01 yellow 159.00 205.00 7,9.3 4 0.060 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, FGA yellow 206.25 360.00 24,26 4 0.110 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, Panel Identifiler_v1 D8S1179 blue 118.00 183.50 13 4 0.082 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 blue 184.50 247.50 30 4 0.094 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D7S820 blue 251.00 298.50 10,11 4 0.082 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO blue 302.12 348.63 10,12 4 0.092 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D3S1358 green 98.00 148.00 14,15 4 0.107 none 12, 13, 14, 15, 16, 17, 18, 19, TH01 green 159.00 205.00 8,9.3 4 0.051 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D13S317 green 205.65 250.16 11 4 0.080 none 8, 9, 10, 11, 12, 13, 14, 15, D16S539 green 255.30 301.81 11,12 4 0.104 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 green 304.80 370.31 19,23 4 0.111 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, vWA yellow 151.00 213.50 17,18 4 0.126 none 11,12,13,14,15,16,17,18,19,20,21,22,23,24, TPOX yellow 216.99 260.99 8 4 0.048 none 6, 7, 8, 9, 10, 11, 12, 13, D18S51 yellow 264.49 350.00 15,19 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, AMEL red 106.00 114.00 x 9 0.000 none X, Y, D5S818 red 128.00 180.00 11 4 0.068 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, FGA red 206.25 360.00 23,24 4 0.147 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, Panel SEfiler_v1 D3S1358 blue 98.00 148.00 15,16 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 213.50 14,16 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D16S539 blue 229.00 279.00 9,10 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 blue 284.00 350.00 20,23 4 0.150 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, AMEL green 106.00 114.00 x,Y 9 0.000 none X, Y" D8S1179 green 118.00 183.50 12,13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, SE33 green 190.00 350.00 17,25.2 4 0.120 none 4.2, 6.3, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20.2, 21, 21.1, 21.2, 22.2, 23.2, 24.2, 25.2, 26.2, 27.2, 28.2, 29.2, 30.2, 31.2, 32.2, 33.2, 34.2, 35, 35.2, 36, 37, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, TH01 yellow 159.00 205.00 7,9.3 4 0.060 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, FGA yellow 206.25 360.00 24,26 4 0.110 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, D21S11 red 184.50 247.50 28,31 4 0.130 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 red 264.49 350.00 12,15 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, Panel Profiler_Plus_CODIS_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, D8S1179 green 118.00 183.50 13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 30 4 0.130 none 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 38, D18S51 green 264.49 350.00 15,19 4 0.160 none 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, D5S818 yellow 128.00 180.00 11 4 0.010 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.010 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel COfiler_CODIS_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, D16S539 blue 229.00 279.00 11,12 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Identifiler_CODIS_v1 D8S1179 blue 118.00 183.50 13 4 0.082 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 blue 184.50 247.50 30 4 0.094 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D7S820 blue 251.00 298.50 10,11 4 0.082 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO blue 302.12 348.63 10,12 4 0.092 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D3S1358 green 98.00 148.00 14,15 4 0.107 none 12, 13, 14, 15, 16, 17, 18, 19, TH01 green 159.00 205.00 8,9.3 4 0.051 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D13S317 green 205.65 250.16 11 4 0.080 none 8, 9, 10, 11, 12, 13, 14, 15, D16S539 green 255.30 301.81 11,12 4 0.104 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 green 304.80 370.31 19,23 4 0.111 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, vWA yellow 151.00 213.50 17,18 4 0.126 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, TPOX yellow 216.99 260.99 8 4 0.048 none 6, 7, 8, 9, 10, 11, 12, 13, D18S51 yellow 264.49 350.00 15,19 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, AMEL red 106.00 114.00 x 9 0.000 none X, Y, D5S818 red 128.00 180.00 11 4 0.068 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, FGA red 206.25 360.00 23,24 4 0.147 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, seqinr/inst/abif/1_FAC321_0000205983_B02_004.fsa0000755000176000001440000033224111135131406017336 0ustar ripleyusersABIFetdir] !Samplemethod FTA Id v3Identifiler_v2GS500LIZ(75-450)FAC3213130xl-1473-02131XXUnitID=7;CPUBoard=ECPU500;ArraySize=16;SerialNumber=1473-021;3130xl0802043 Aug 22, 2008[%currentuser%]                                !'*)1112131202/-.-/++,(*)((%(&%&*+)&,/1069:88;99646633534076353200//,2/,---)+.,..&(')(+(((&&%$$'%$ $&%%%%!$""#"!!#!""& #" !  $ %$'*.0208887568;7785;86636786331343263011.201-1-00031...*)+)*.&)(*,(&'($%))"&&''#&"%#"##$!" !""  ! ! !#   !",058=@GHJHLIJIHLIGGEIFFGGHHADE@B@A@@A?@D=@><=<;;:8;:78:698745;8777355533336611400210///111/0/438:DHOUZ`hmlhfcZRMH=783320122/4<@KSdtyqnhda`]a[][^[_XMNJD@BA?DDEJJLNJJHHE@?<;98:499=CAKOQRUY]XWSMLH?;;99AHOV_bhea_RNCD?;8<:=998:=<7:;8;99:<COMYdiw~{zutpiga^YW\cbjsx|z}wxrib\XROOTVX]ceihgdla`_\^blo})@XxiT=/'!/2Rl (&voz{cPNSd|1Aag>"    [%*bJHYgmuxr8hq'FdUDFRm}~F%?R\astkN;=- F{"rDkA0D'   J:Q| 9 6 = C G I J I E ? <p:W ElsN> .A~e 4 ; B G I I F @ ;6$j g 4 } x '  &VR; wb``0jGoEEP3Y"I"_H)RlZ1%0 # c \7Be  ; J I I H H H H G E C  a= c#FD}0h 2dnE>!1INThI8IBSjc[Q>:4Un\^}Z;$tmgng^`chjcehkcZaZI=,  =mP{ /i t   ",22%%    46B@P`j|9ij  24kzM=a Z  "7N_a^_ZUWG:.%&! /cVyN jkZe,DHq#S|&;V0  L u| A M Q S Q P P Q R S T P H:2H5e ~ @ ! 3%Rl\\Zf~gEynK#waUZQMJH@7& xqighTTUSSZRTCGC:5+*!# ~~|{zzpsqrrtnqnqjkoskmnmlqoknnjlihgcb_]`a]d\_``a`]^`[ZZ^``adbZ[[^]Z`USURRTURPPNNRONNMRPPNNMOIKLNNNHJHHHHLHEHGHILLNNMSNNSRHHGC=DCEDDA>:=?@<?=?BB;A<;@A?>???=;<;;7:<7889;:75::989;<9:996865134165453438252283475462459263002131117798894:57105360/010/41.-0/.///-,/201042125,.--/.*..-/11-./.../,1.897;6664554.1//3.,-.3,-2132/100./+*.0,/-,-++,-+-,/32332-.0*.))*'&)'*')%''&(')'(((*+*&%%'%'''(((%)$&%%&')&',.**)(''&($'+*%%$''&%"'*%'*'*'))+-*+')(+*)**'&%)&'('%&(('*&%*&)+)(+()&)*(((*(,*&')*%%(-*+*-+*%'&()('+**)++(*()*'))&)(()%&%$$$''$&'%$" "! "" !!%###&$$$&&(%%& " " !"$!  !!"## " #!  "%(&(&'$# #!  !"#(,,/2-,($""  "$#$%)$ #"##%'($!!$##"#!$$&(((*'"$!### '" !!%"%#'+1;AMYafcaSD<0)#!!$&&*/18AKXczgd%]pGjVOJJC9?9<<;>BBCC>963-,1/43:>9760,+(&)+0/8:962/)&#"%#$%$&""   # !! ! !!!!"!""%&,3=NYaddYOC7.$!" $)/6>FNbv 0n*vQzaOGD>;683...+.*)&%#""$#%!!!!!#"$% !$#!$!"!                                                      $-8ADFB9/& #).5864+%  " &,6Kow}" ONnMD;66;@Kb($(0_G:30*+%$$"# %$&"$#!                                                                 &+18;@KXy9;`\"#sPA2,&$                                                                                                                                 !!!    &2BW{!bgxS@1$                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   "',5=EINQTX^SRWTKNSVQKKLHDLGJHHGKIGGLDIGGJ??>@9AB?@9@99;:7:?;4331616321,4/503//-1-5.-11+-1,*/-,*-'))(&",$-&(-,%*('*%&!(*$'' %%)& $ $!" !$!" """ " "   "!#$#"%'"%"((%()))(+&($*$#!#'"$)#%&$$%!!$#!'! #$!!$""(!#!"###" " !$ $$ " $$$#&)(.577<?FF@FNIGLEHPHLJKHJIIKJEMADFFBF?EH<DH?FCDFFCF?:IA?=?;:><9A;6>?=59476>60;27719513/;./213524,.3/1,31.,.2,,-*1+(*'/-2',+(*./('/.604;<;;@@=A@BF<D<C=;E8AC<=;7A><>>>?7;9<<0<<9;;66:7:839912633581,0112.32..2,+.30).*...-/.-*(.(---* )'&**+'(%(+&('&#')'+(&$"%%+*!&'#& !#!*+*$$+$'&()&'&"%'$,##)#&)$&&'&%%$ !/'$%'!$(""$!%&')&$!!(%&!$*'*''.%'*1-/.368?@AIFCANCCCAFEPOSZ`bnu}rf\SWRTaki~|ukscgddjlnqx~ HT_YT)s||~v '>y X+amdJ# Z|^AFC>ELNMYXVY_ny :SCag5bM& .<cmrrkF1 %X##$$   |vh|:=G|?kO1wytintxu &<<_vtvyN:!L 58@Ciq!Lz@ C   n'\#   F unB ` z x z Y>Do a%uL4Af*zKM*{ | | q  i ` ~ l V U uKO #?  |b"}7X 9YpLq2?ir_%^j;==[-B<p=Mp( > l ` c f h h g g h k m N:iBt[ ! , 7w e !6!M!S!?B>?@B=?::=<<;33474<;:99;;496>97775455230454/22/63.1415-/./3.,1-+2*+-/-/314../.41-2,.--0--413//+-0.--+.-(.*.1*0+/+-*--,&)).**)+-*,',)*(&*('$+***)&'*(*+)*)*-+,')-)+'$*)$'))+'/*('$)%2)$,(('$"%%##)+%($(')+#'$&#$&#)$*"$%$  ))"*(&%'&($''+&()/***',.(&*'*(%),$" %-'$'$+'$((*'$"""##%&#&$'&*%,+0*02>@EOQJQ@>787-*&')!((&$%*'%-+"+"('(*(,./4:;GPPbqx&RQ iYKLDDB?9=7;=880.-51+-*-00),*./687767/3440475.31+303/593+7434/.-(*+*' )%(+$*0+)**))*22361768=DQacnmtf]ZE>:21100-.51/+0.'+)'"'".),+/.24>GO\gpt} h{/clXHHB?I876654+10-0-,,+2-+*-.+0-6/*10-)%.,)*/-.,+(.(12,./2-0'.'$$'!"#&""(!"# &"%)'+*?,6-.*-42*1.+&)(" !%"'&&+("$($&!$ # &! #$"!#&%$%% "  !!#"  "!! "!$"" !  !# !  %&)217#&%#*("(#)!!!#" !#") "  " !!(%)"('" '!%(!!)0<IuO/wZE1/)(& !!%#$-%'*)/E]+MZJ TxR>6,$&# % ! #!            $$!"                $'4:FKSLI>4,#&/=IZ$wi   0nRI=9:874*1)/-4656330/+,)'!$%"%&#$&%,,-,-)%"                                                                  ""&&     #-@\KiiP70$""%);Rp,xEiI1/'#                                                                                  "      !,5BWxnV>5)  %)8Ib|~_J4%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           %#  ! "-!&#.+*23%4+),63"$/.-*-6,$*%)-$$$$"%!$(#&. ( !#$"! "" #("'!   !&!!'#*++(&;1.'*$++,7255-//+.)6*3@07;735>>802'83+351.271''.--*-6+45.+/-)-,(&",% $"#)(')"#'%!)."'%%$ &!"%##! $&  !#                                                                           ! ('-508=AMAA@?CDG57:@>BKCGF?K;8>4 *300),31A=FR\`usw~'IG^\LC &[D }:h~niK;/3lI3KQY^YTKGA'+/Ei;MD81" -F_6Y]cNDJ_Oq|rE=XLI:Gp{Ds *Zz~yJo`EXk5|39 Ba(  4GD_GA{Dj.)Nk}S|X=;}0VpK qMP(3{=i$OxI$5~:}&] H c g y \Q}- _>1xi5< :L  "<5ZGl4TP$4BLKA3 @s%+. D # 0 ' 6 y kpO] 2  H w ,  ?NNbQql9M=" hVyk) P\ {wP/j  oX1 4 w>dHz, }aN=Gl  j d%pt }=N{xK Bt<Zf w\l 0 d TvH3\:b+}4?A6R]HL%tJ%NQJmmOXC\O4:;7--'& "vsrr{scNnY10=G2+]xK u+eoy=`L22>' y9`8~ b) z~vqquiuupzonnk`OjZpwakuYsiU^]]`X\gaiYHLe^PIMR*A)Sd .Z<^0-|uhmUv|t}}r{do[lp^{i}~k|xnfaMbLYSUaGGDTYBJVMUMUR[OM\IPOFYTIF?9@OHJJNG@BTJJMNMV^Qbwcso}}yspuf^^c[\HPVEJFD@9;<D2=/?84A:9.:<>,D5769)987<<7=776.;4/3H;5>CCD1B>:B@FPGLCC:DEBE@ADB@1<,,5-295A,612,)1%01,/0(1#1-(%,))/.4*-*$0)--%'!$!%+( +!"++"*#++*/ $"$$# )!)&&)( '')!$( )""%-!-$..%+$!%"$,$&*",#%-!!$& ''&"%.*"+ ( (%$!#*&%#&$"##+( '"%!((##&"(&')"'+"/(&%/#(%#$#(,)* %!)*'-!%#'$(!)&!(%")$ &"&%$#! !% #$"%'*'"%#& *%# "##&'"#' " "$&$&& !$#$"!(%+"#'' $$")"%$ (.)),&(()1'#)&#$! #$""&%%$"( $$#'&%))$&"!%.5+.&$"& &"*(" %$%'*$*+0#$!!)%$&" )&" '$ '%$(!&##  !##'($!!!'"*$,%1$!* " !"#')'*"(-00!)& %05DRX^bX\C88$#$ (&6-8OSgWb]=:#&)0/65Olr WovoRH8349A;?WwqX |xvH@5:5..3+/5,10.5,-*&1'1)*  $$ #"!"* #&#)#"$ "   %$* $,$! " &!           !  $!"" !   !' !$ %"#1/9+"#! $( "&$  !""  ""                  !       "!4=JZsnslXQG<$'%'10<RV]Zeox\?qN{bOHC>C<94-.++//'+%(') "&(%%!1(8O\myyg\K;/1!'  !!%,219F=LYVVu4Y'JiXCFA924.22)%-'&%# %$ '!!$!"$"+'%&                                                          78Yo MQrV@-%          #   !#%#..:VwMTvb=/+                                                                                                                          $$,1;855-+/    %*1Md*5j`Yp{QD0)*"#!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 !                                                                                                                                                                                                                                    &%% (#$(-&$*-+-(((**,$'(*++,&*&-//02'14)1+**,-(('""'-2%*.81:10.1,/989>:5.A597=;67;9&27=1?412+//+416818.44(2++//.('+1.2"+3((+1-$*.+(-,,&)!$+#+#"%'+#,(()&%!&+"!#$ "%! $"# ## !                                                                                                                $( 4G@CO`i\ndUfWdUN\aT\Reej[zqtqkzsahvh|}wfuj~sjtl]nuuy~yvv{tr]wu^jf]QHU_fp[cjut^hrn}{ktxgeq\ULm\eZXTWrUco| , ;2 97?#(A$/2KLTWRQVz'65HNi7\wmV= yzV(2^qh E Wu~CT= ] II&nm_  f:~1=Ej<W V5B >,M%Iof<K1&my :c.K  Y g N ajL=dJ?kGT(G8<hvkb w  cb>C ,/  NDJy.:Q { N D _ Mk,QL, ""}pYq<MxZ[GuUQ/+~ii^fLaR`IIVPCIDMMP`VP9:LG23/ #""#      )K(3"Jr z5n5{rjkx}_uxzhospwhd F#G"' /'i n>XuiYii^Qvkdpspv{d\SRX3ElShWDVm``bXDVQM[[NeaGm`_h^lcGUShpo{~sqmsy~uzt}suukukexrifz\f]y w S5 iE~- !?Zh\^a|bWZOF>LHGHNQbMIaMODA=MU4IEJ07<;:R:G?HF5GC?94C@696BA><:?*B;4A,,<=AEG-/17.-;<..8.6:68H8,@.<5208'8C(+/6#./(&!C,!5, *-8(,52,4)<,)3*0%-0'$")$, (%'"(0 %(%*&-*-,#-%%%!8&(1#'#$%%0'(.+,.&%(/,*+4-)-$9.7-8;9EAC@632=1!$'/'2/+,%&#"*) (-0;671)=' "&$,($%"'.1789)/(!$ -#&"'++,1?69;2.)  $) " &$%#!"!%#$/1*/-.$ .%#+  "                      !   $ !   !     %$      !"!2:EUfz {2sYKl[SLGE@3C?30*,(%"),$$$1'" !%,$#'"##('!" #!)*/:LPhu05+-?K~Lk[PIIGDI;>7/73++-%.1",(%/(,,()1#+$#'   !  !            "                                           $,6>@F?D6-      %#3U\)9(oPM7-/,$*$$!"  !$0/IrQh#| kSF<6*&), "   !                                                         *   *Dy(l]!yL5'  '%' )    -CX =ZgL(jF4$                                                                                          { LWzH`S-> tf% V!C "9< | 2  !N!Q!V![!\!\![!V!R!L&N M5 L uM pI~D2-!"& %#!)#%$+',5/,-/&1104;,;81?756<;;5CNX* :A+{}Q { g =ipnC V )B MO'0 M ?[`A A !R!S!X!Y!Y!Z!X!W!V kV?%[ ;w 6D 0RR WT+O^RIZSDR?=EGC<F9.C@E;G:IIO\Q\q|nYJIA79..+..#+%)&"'%!!$$ !!#3EMewa p" Uk             V 5}%eY GY                 ,9=`wwbH>*"  dW 5_g <0                         /A`jH4$           $7LrgC/           6Rs\;%           ,H_mK7!          &4SxcH1!                 )CZ fI0%       1Dh\O2*    "1Pr ]C4!    #9QyfL2*    (<Wt $.{^F6&    -C^-&e@.! -?\~!"vY=. !1Ie(&#bJ3)   #2A^x $,mT=.! #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@AB * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@AB * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D ddIIIDDDvkk   333RRepp888VVVjjj~~~  222FFFYYYmmmyz{{{{{{|{|{{{{{{{{{{{{{{{{{zzzzzzz+ %%%)))---111444777:::===@@@CBDEEGHHJJJLLLNNNPPPRRRTTTVVVXXXZZY[[[]]]^^^```aaaccdeefffghhiiikkklllmmmooopppqqqqqqqqqqqppppppppppppppppppoooooooooooooonnnnnnnnnnnnnnnnnmnmmmmmmmmmmmmmmmmmlmlllllllllllllllllkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiihihihhhhhhhhhhhhhhhhhhggggggggggggggggggfffffffffffffffffffeeeeeeeeeeeeeeeeeeeedeeddddddddddddddddddccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbaaaaaaaaaaa <<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Fragment Format 2.0+6286200-02 6286202-01 6286103-04 6258005-00 Run Started Run StoppedCollection StartedCollection Stopped POP4 6-FAMComment: a2de3f04ac0211dd9a0600065bddb0edmodule_1kV_10smodule_1kV_10s module_1kV_10s2FragmentAnalysis36_POP41Oven_Temperature60Temperature_Tolerance3Oven_Wait_Time1200Poly_Fill_Vol6500Cap_Fill_Vol2280DC_Cap16_EPS_ARC_SELF11Max_Current300Current_Stability5.0Current_Tolerance100Run_Current100Voltage_Tolerance0.6PreRun_Voltage15.0DC_PreRun_Time180Injection_Voltage1.0DC_Injection_Time10Voltage_Number_Of_Steps40Voltage_Step_Interval15DC_Data_Delay1Run_Voltage15.0DC_Run_Time1600First_ReadOut_Time160Second_ReadOut_Time160Exposure_Time0DC_RS_Plate_TypeA 12 8DC_RS_CSDatacap1 A1DC_RS_Binning_PatternDC_Scale_Divisor8.0DC_Down_Sample1DC_Laser_Power_Setting15.0W_Identifiler_1kV_10sRun_3130xl_2008-11-06_14-03_5133RG96_IndividusJAA313JAA313[%currentuser%]96-WellFAC321_0000205983ANMECTIDCTNMCTOwCTTL GCpEPDATA&M>DATA&MODATA&MDATA&MDATADATADATADATADATAi&M8~DCHTDSamDySNG5Dye#DyeB DyeB DyeB DyeB DyeB DyeNADyeNVICDyeNNEDDyeNPETDyeNLIZDyeW DyeW*DyeW?DyeWSDyeWEPVt:EVNT EVNT EVNTEVNTGTyp!! HCFGCEHCFGHCFGHCFG>>InSc InVtLANELIMS!!PLNTD$LsrP:MCHNMODFqMODL3100NAVGNLNEOfSc5"PANLPSZE`PTYPPXLBRGNmRMXV1RMdNRMdV1RMdX  RPrNRPrV1RUND  RUND  RUND  RUND  RUNT RUNT .7RUNT RUNT ..Rate RunN!!SCAN&SMED !SMLtSTYPSVER3.0SVER,,SVERSatd5NScalAScan&SpNmStdFTUBEB2Tmpr<UDEFUser.seqinr/inst/abif/2_FAC321_0000205983_B02_004.fsa0000755000176000001440000034022111135131406017334 0ustar ripleyusersABIFetdir] Samplemethod FTA Id v3Identifiler_v2GS500LIZ(75-450)FAC3213130xl-1473-02131XXUnitID=7;CPUBoard=ECPU500;ArraySize=16;SerialNumber=1473-021;3130xl0802043 Aug 22, 2008[%currentuser%]                 #08@Ogw " }{xy{xu{trtqpvsprqmknlkliiejdecfaa`fa^`aX]c_\ac_b]c_aaagnt|    }|~yy{x{trpumqjnkjjdjkced_c^ca^b^_`\XZXWTYUVRUSQQNONOPKOLLGKGIIJHIDCGKGCJFCCBACBBB?B>A>?@;;=<>;9=:575986655725;453634042641/62/46862177665611022./-//+)+-+),,),.,*&+,*)((*)'(**)('*&*'(('#'&(% %($'$#!##$$'&$"$& !"## $#%""$!# "!" %!$"#! !## !!!!!$%""%$#" ## #&%"$"&$(%'#&&%((,()*)*+,2.4;CGUe}!.9JGED?AC99;45221.+$ !"  ~xz{v|z~x~~{}~~}+7;98&xy}(]/\sW6#ygL;(!#'6Zto`LJH;<HA:..34DWmrueE4 %)4?5'+#!&8Hh+]&`ON; J<x}umaK5bm1'[m9<qs,dkypWP_p3<{C0t ~ Ue5 [ B.TrW]W@-EPlgPA7( c  DM c ,O7Al*  1 6 c s^mlbv ! U3 l j G \ ~ _ ] p K b Y  ( " ~ #<2s? kv B  v @ ? > [ 3^@3xH  Sac - 6 : ? = ; 9 7 6 6 6 6 7 9 : < = < =;p  / 0 1 2 2 2 2 2 2 1 / /D5: : : ; ; 9 7 4 3 3 4 6 9 ; ; 9 "m[SOG8*D<9JrB 0'"7y ) ' % ( W { o , & (1D ?ni`ZI;}o=i@v , . 1 2 2 2 2 2 2 2 2 2 2 2 / - /HdI5 #vNB3b= [   = / < Q @  /  gx,|PLO@Vo~+Z'>>kJF{\5k?%w~hsnq]%)  d ?HM/Ym^3E   %+qZFD9L]is1` , R N i$3',:  X ` ~ 5(xrJz3 - / 1 1 / .7V|; ~  ` A  9 l  [ w@CDjN:yqY9?l$ [ 4 7 " v=An E ~ 5 u  = V-l+H@ucf , 7 9 5 1 2 2 2 2 2 2 2 2 2 2 7 : : 2#E))hm1? _ E E z z ^ % < T = 4   >e(i9gBsl]F; waC%~tfhgjgg`]cPTPEEMNXXhc[k`gfdhY`POKMKK;0*sjmg_[`_Y]OQISMRQMNLRIOXGMPJM?<462-#%$'% #%!%#!!}~}}}utqlrstlptrrmst|x{w}quomoooptswvxsrojppons{~|tqqqqqonjonvx|v{orjfidklkmlmlmdkchlmr}xurj_]^dae_`^^]ZW^X\\^[`\a^_a[WTYTY[VWXXRSNXRQPWUUZ[_\\]`XUWVVWX[]ZVRPSUQTXT[R\WZZ_`bd^c_c_`Z\YX\ZYXZYUYUZW\^\]YUW]Z_ZYY[U[^[]^\]ZWVVRY\_bkhc`[a^TTWZV`]gebdYY\\Z_cbfga`[ZUVVYSTXSVUQJFGIIFIFJMJOONILRQUTSRTLMJIEBCADDECHLDDH@BDDAEGGADE><9<:034204787=A;87:958;6=9773498;;>=?CKHGECBEDLPW`d_TTJDA=87:;;>>;:641-,) ))),+*%&',+,/27<:=DB<A=DIR]hmuqkd_LIDB>>A78520% "%#"($)*(++('!%$''"-+,2554=<CLOURPLG>7/+("#!##$!%#"#&%&-+/*,*(*,)'-0025888;75;@BGIOUUSLG=9564675661,*((+'&'-/0316321323657>;;<AGEPZgu}zti`YSPKOOHB@80)++(&%')))1+.35-1../0.234887<76:@@CGEMQ`r!) xeSJ>83303.131-+,-0232;?BHKTZfq0Q-| 1    D yQ@"ztnebcfep{xsusxtd]SSR^mwr`TOCCBAHFKOFA837066;?@?A:;=7<6=@ELORTURUXS^os_K@810*&)((),)),)-..,658:=AITbpb d ?|qgZYQNKEE>9<153045731312/7715;;;8?;<DA8597,,)++,*.(*,*'*)**#!##"! #%!%!"%&%#'#$#!&!$"!# "!$$!"###!" ! !  #"(,17>CIBC:/)$                                                $%%                *=WpyY?-$ +ASg|~q_O<4+'.4;FN\sb$.Be+sot~Ntt3 .WC91)-+)$$)&)*.()&"                                        &.//'  "1H^p8HW09sVB4)    *4<>;5,&  ';XJ9K0^M^>%                (%3**.4588BTg!Qxxgtqge[j[TRRGFT>:4=0,4)(   ||z~zwtwsnwoiprlorplejfegfaZffa_T__Y][_Zb\UZc___W^]]ZQWSSPQWWRZPJRSNUOJNJNLQKMGLFKLIGBDC@;H=FHBGA@@BH@DEC=BA@:@<?C>C=@=8D>9?EB9=<:7A>;7<769;99?9<A:?7=9+::7:7;;8647734=69<;5=788<9;:?:94@7?8?<:@9:;;?>A;>>:<>B;<EBFBNGTV[g{!4Sg}xxoxqcoen_ah^^QUXYQCHJHF<<06306&+($$! )>@DTRUTUXRGPGKDG;IDC;/1/9//'-#,  {}}}|{zzrttvvunjqnkoqsmhmnqhvirolnwyll|swvsvlsoongolneohfh_dk_bh_^`]bd]d`hhmlekhlg^deffj_^jmhjoklwq~.J[l(UN{A1)GY}gaP@:6HXa_V8%Y6}K {t}o Ai!iZ9 U F  _ b K 3nf.+FWqkikc   2 x ) : 0 AP> aN\S; 6 C o U  ,^4M]  t   l "  " f 7/ + Y` R r n d ><  .Z  g y 7 % Q ~ps$ Y  * w   ? r2,Ey/|M):-I$;~R~ytptf[ O q T I = @ B F I K M L K I G D A ? > ; ~ :  W U T S S S S S S T V S k EqU Q H @ A B F J N Q R P L G B B E W 9NX\fwUXY:UV/CC] =%=I<~cVF?X.gn->E<$ J= K 7 @ 9  M [ W T S S S S S S S S S S S V Z O j<*EYo| 7JvmRe}|NYDxm'IHMFb *  d -  U 0 V 5 . l Q  4  }MKiY6.DN%Oe]ifyvvqm <i !!M!A!& ;< r*A^4-WB^I E! bYl"2OTM[| < n ux75l e } Q !! ! dlPh%Fot  a Z V T T W W G0g~ oO|VWVZDi7p#1wtVI&*!%Z4 =wp\]UVR4d@?JYTO r P I P U T S S S S S S T T T L G I \ ^t_G:/'$" , rBp  | B    P F E # x  nng6;)( |X0 lpbAD-%lfOFM==!uxlnmUedPYCR72%-2&<@#4' yyozlfYnaiglwhluzqg\`SSZR\Zfanehxv~paXK20    >79")(,lknemoi]_M\JMQMTMORUEVUWXcxyZMQF>?B<78:8929$+/*"*%.)-&$$ -%%$4-,$*$11NEOO<4#{}y~|vzmszsoxsqtn{rwqxsvyrqoyst{vxuuojsmsozntv{uponrmpcqkgnnfmkfhfceghklcpjkceegcjldcid``d^ke_g\dd[]W_]\bU\``Y\ZWU[Z[d[Y[`]ZUVXVZRQWU[S^]X\YWZ[XZ[[Y]\UZURLXXTUTOXSNQWWMJRFJ[bjjZb][[b```caegjhllsnekgafe_[WWUVUPUWU[X\YXOXTPSMLOWVXTTW[^akpzpfjfXYWT\^Y`iichib^ca][gt V \ C ( Y9 o {~zrvqemc^[]SZW[_Xghlgptzzzzwxjkvdjlrnwzsrspvwrbbf[UVUPVXQTZ]]_^c]ahpw{$$~{wyxv{xomhib`c`_]cdhko6Zx? ` kLkd8tnk^b\^]`_becbd^]d_knmrpnpioga]_akcggmmjmnomvrrpprhc^U]WTOKSJRQSPMIBGLEWQ\Ruydnvgote[YLOPTQX_^_c\YV\SNKHGLOIOQCMD=FFMNROKOMFE=96ABC@FBAD<FD;ELLRKTJLJFIHGLMAHAB@>::<;>BE<<A><:635;;=<6@==3:18:::IBD@D=;<15567?;;:B;D<748776000'!4>Haqhon]S]JQ[XaV[_WJIH;=113--3+0+./2-+46.;-35/5/-..-.25,)/3+,011066423/0,/0**&))*(%*&!2)(/*/%&((#'&)(0/57=588-.2.-*.-*('&'$$!#+#$"+&!" %#(%!!"!"!&0:9EDHQB=51.(&% '$"#(#%.++.&,(&$!  "'-.)/(%! ()/1:>951- !&)438B>:0/*!! &,$0)+-$0.8CFMM=8.)!$"!#!#%&',%+" !(%%&/*"  #*08?GJTTTONLB6)"! +/2HDHPXTTQdT(CI3K^L:0/2*+0889EFJGNJMe{We;)oJ631-*&(%"#$#'&)')-/15-3---#$$(''"*' !& $'&,,'( $!                   4:;D.&!$&6=CLLHH?A5,#*8/>A;=#0" !$"                         ".>Sxq[F3'# %!&,+0CVkZL ?xWq gHgz]=:906,.105:@KKMHG<975/+)+-,43=GKNXVSHC97),$%                                                                           ',.&        !.9DPKOK@4)       (8ZQq XzQ?/#$!+@W(kG;STiH.1&                               ).6:9/)! $/7Sh"fe,cD4     #8LUV)R#a<"#       $                                                 !#"##%+# #%%")% && #&'($$-'* $*%(*'%&$'!..-.4+0.+4-<HOI\g5C]gaiec[WUcZDH6)0,-+ }{y}|xlxt}vqvqykwxuwzskpptttkn`hns^nrhgfrrmuariw|sx{z (')&2<<??=,%'14;VNPld{|o~tmrY\]U^OK@C<J;@8L2A335--++1#   |}utkl|zpuu}plx{{urtpwspnfpcpnnijem`i_fehY_o\^^d]`bRW[Vd^f`MMVZQW]_SJ[QSa^_USXUUNUNVSQHJROLNWNQNQQUILIKLMTMPIONDLKMHGVOOIJEU=HOA;GDJLGO<VBHE6H=EAF=DE@7?ECDBG;>7E9:889:9H?4=A4=DCH?@6<E2=:397<77.:9;:867:7C5<7/895;055:3-.5,6985(:?/*4;-08&<1)9"10**.#'&895/'%;41 0'+/)./#0%("1&3-70**&:'3/(#..-10,1/,(/*6 /,,',8(/$++)42(12&#,'8#%&'-)"*%*,'+///5/0"%/.&/944@=><:=24;6+%(5,'.,1&0662907<:9<075:<6713&:68>;9=PI.B<BHQNMcXfxz <^:5]unL!'5GZB^Ph<-= ZQ N!ljQKT` cLx{eT4rv*eoWCP Q  / { { P ! * - m 1 ({a  I ] A V t A S 7    2;d J Q s t B@2A) x > G l l s 7,Z   (QI?A9[+5yIr|/^X5,= \ f " i LMDC y N~n '%!szNkX0   ?j8Lyp $  ON/'4'3O^Wf^B.'5\Y&6M[zAri}Mw`Sg1!#/m;[x#YE  G 8 L w V N  N  9M" celTF~*1V1c 9;7 7 ;  {a*Q!j, G+x ?6)xT f h 6 kj-Ns@>#+ fF);x\)OEn l5n  7 ! Oh.?HG<' 8~    | p j O =l< ]Y`f& fquqx">p_%E T&9N`0{@  d se : e q f ?^jLqZ{pcp`MWYGx_YTB|RgUjwV6DGs)c ~\c`}zqDTK-.0,0(  $5#P@]nmt'')<(N95"xWM* }bxzqvykt}oipnuvWnobo]cgn[j\tlqteZiig]]lleYgodkeffdafhY_^YiZ[\ZagbaZ]JgY]\VM[XS\YvSX_^ZaWdVfXj]fp_]ej[kd`_aYpd^O^cah`RY^ZYeW`ZSjMST`JTLeWRWZTQ\OXUOOPZ^ZKiR]VSimUUY]dM^SVhWVW^^TeQ_aecg`iijskeanmpjcbWbjOcgeaW\Y\ZX^]`ZSWIMIYDOOPZILDQSIZXSJT\SNW[VRWWTQROP_UULWWY]TZXdXWONU`X_VbX][]_YZVX`UUUPKOTSRTWULVIWWQNSM[P\LXXV_c^[\WT\fc`Vh^^galimlgohi[Wjag]gjrtwiaadVYa`TVaTT]RMTLUFTQ\ZROVYSaTKVTV__Xg_aUbUR[Ydr{v{pf`ZUP]Q_Od_aSS`fablbxfcod\mlbnkb`jb]f[dZQ\c_bXa^TVb_YX\JRLRPFSHBIHSGBIHULINSVPMPKPOIQWLMXMLLKMAKMEK;JECFGJL;HJCBJOKBLECNJ?AUNW[V[Y^YLX_PZR54--M=:,:&178895;6@9HACZIITCIMFFLEIQPVYcmnwty|a^[T_^U_OPEFHJSV]hjz}nNOaP[jlbbgW[XSdtscghn_{dbU^R]z&A&lgl~uuZ[o I ' !Ekjmxz3fj f  m rqlki\bfjiiWgghbkedb]UXbWPMHHHIESLHIOSUP[gT`cOIQFGJEOLQFPILLHQD@G=6F@B?GAC99F>J,8:7//-'8.5(AD;..*!8DKUY`[LSJD<6C;6@3A6;3:D<A5;93652174/93102<68:(;*:/*=;A>FACBMC1>>:B+---5-0:16-,:7.&4'$3! ,&'*&$14A2:25@157-0-1#&.&&+260*'8+$7.',.")6$,3+724.,+)'!'."!/)&/021,25+**1((.(,,%#('$$#-%%&*!"(+&)+0724;H4;13&6$+/98ABA@:?3;1<RJJL2>7/*!"&1<==E<+'  2?OZOL<M(.//68F;PTLKM@JBRHO]nwmdk<D9#,-42.8). (# !($,(1*(#$ ()37AHMQJDB?@.;'++><0!+0>EFH?>2*+,"'25;BC>@@75<C@H?GB.(($(%)%")*3*/)),!.&%'"$+! !# $%"!%% $!!' +!"$%((!#( % $#)$(#! +'-))#*''&5(-30)-(!)) &+)#(' ""'*%'%)"11495>:(=152/'44+23//(.&-(*,'%%'$'(%($)-1/0 /$-/,0=:A8<<8+1,-(+"." '#"#$%$$&+%'.--1=8CNJSU_qz(HI5q[KL=1564>AHB<@2B8*123;AVeo2t R  [ E0|vbjkWTNKC>?C<@BDC>FJELOMZ^IciBmiOC~hVL>8><6C>83:6998433/;8AQa%r $pz T C #  3nflSSROOBAG9=61-96B:6:6=86?9/?;IL?QIRTQQGOB=80,-''+*42+,2&12)-,%'''+',+&'#4,%)35-814'#),).117#-,#%"+!&%*$"6-#"!('!'%%"**''&#%$ 1+!&#'&)("*,#'#!#$#"%$  "!#& #& %* """* !!"!$($"##$+% " !" +!!#   !" !$#      $%(*!4&&  &,@;%@E ep-mP=%\=31""% $)$!!!* $%!"&"  !3,78<5373##*( !'#%()&(*)(5EEDdt)3!u|tp z_96#%! "  "$  '                                                                  "!        &                    $6Og{ocI4&!    !+8M`~!}Y_epPA+!"!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       x#                                                                                                                                                                                                                                                                                         $+ :7BOk\j`]qusr|uy}ozyzuvuqlamkv\tynedibbRZK_^MPNV\WNJPHKKGO0@G=;G@A925::835;46)45.'1,2.-%*').&,',"%0'# % !!       (Fl (  J;Tz`S@* "`u^na +64&C9GUF>JR>X+=>-;# ,";ZvUk|hV 4W=jL 9Qvl6EN|y} ^GRiV(#l] MM<~Ihj =Ugxv2K" X - N N  { W O C ` @ ;lE30>W !{sheeeeeeeeef`^frzyqpxc{8pK\~zsbXW^f{oO|%~f_jn(rT\3QA>c4*FEDX  RfFtghgeeeeeeeeeeeegX\o{allhb/vZ@j~x  W L2"P}LGPIY?7\9I*nn[+{aU+6zQ|yocl|ubcN91X#Y||kJK7)z -}{}| sIKCA9W(0*6x9 X < L)G-@dSM = 3 *7 [Es$zjdeeec^crFk # pzx{S<l`Na1g1 D'[bVbZHPL$,DDU$LxUg &E OikheeeeehjrO* liLV+Dj?pWlfcxkqppYv^hhht|akYlb]hpp`~j|\ilVeU^WVd`X^He]pXmjf\ng[`bTYkMI\QId8DOISMLOWFmPJPBUPPTeangU\_T:.'7 ' "%'"#&$&*"'5@G?8CK928>&IDMIENE;FQ5.8.&(.!.=CH6P=:9&+ A>DXI?GUZixXY=1+7+'ATLWIIZ>17%,0..THdPWQ>?:  $"-" )46`PST50("  #  %.$)!0Jbkpuf\O7 !   64-3(( !.:->) $*"  "*2.EE@1/'%#-0224'    )%2&. $#+7)'      *.2;''$ +.:POI@>:036+7ETY) b  H u17XushkUSM9:;/>6&,.*+'!' '$ 1*61*>FDF>A?6BGMPQXZslF v sWcA ,p^~lmqRQGHB3/2//'3*%,5 " '!)#  %(      !&'"$.Xw~SF,     9b-Q c :$" j  j{S/) &-O?<V A [ D ; ~MDzjK7&  .B=)lu& : ]v;;@49Ur(;z@7-)& $%9UYI6<M_c1N8%R` 7lk< 4e+rw.|^ ` 1I~j a!7!7!!>!>!>!>!;!7!2 )IJ0 k f91r$[ dAB!!1!5!;!;!;!;!;!;!;!;!;!;!!=!=!:!7 o*!7!3!7!;!;!;!;!;!;!;!;!;!;!;!;!;!=!>!>!=!=!>!>!>!RLU;! " /!!3!3!( ca24 bY_',SwFA2_:"6AQZjvy )TixdfH Dr!!'!,!4!;!;!;!;!iRC8Y  3\Q%"A /dn;e\1~E#ALT69|H &Rt2.n6 FRgYUM((Y qHL% 4y7DNPZ5  %HS`-;=,H'6aqr#+ <E[2  ;`^m1n6tlB$ ">hnvGxCn]h= (Gxr\/d[E2V/ 5_5:~b6<fF$Cf+ /nsJ9[uE,XYZ[\]^_mnopqrsxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:jklmnopqrstuvwxyz{|}~                           ! " # R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  XYZ[\]^_mnopqrsxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:jklmnopqrstuvwxyz{|}~                           ! " # R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  ""IIIDDXvv   333RRRppp888VVLjjs~~   222FFFYYYmmm}}~~~~~~~~~~~~~~}}}}}}}}}}||||||||| %%%***../11455788;;;>>>AAACCCFFFHHHKKKMMMOOOQQQSSSUUUWWWYYZ[[\\\^^^___aaabbbdddfffhhhiiikkklllmmmoonpppqqqrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqppppppppppppppppppooooooooooooooooooonoonnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllklklkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiihihhhhhhhhhhhhhhhhhhhggggggggggggggggggggfgffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeededddddddddddddddddddcdccccccc<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Fragment Format 2.0+6286200-02 6286202-01 6286103-04 6258005-00 Run Started Run StoppedCollection StartedCollection Stopped POP4 6-FAMComment: a2de3f04ac0211dd9a0600065bddb0edmodule_3kV_10smodule_3kV_10s module_3kV_10s2FragmentAnalysis36_POP41Oven_Temperature60Temperature_Tolerance3Oven_Wait_Time1200Poly_Fill_Vol6500Cap_Fill_Vol2280DC_Cap16_EPS_ARC_SELF11Max_Current300Current_Stability5.0Current_Tolerance100Run_Current100Voltage_Tolerance0.6PreRun_Voltage15.0DC_PreRun_Time180Injection_Voltage3.0DC_Injection_Time10Voltage_Number_Of_Steps40Voltage_Step_Interval15DC_Data_Delay1Run_Voltage15.0DC_Run_Time1600First_ReadOut_Time160Second_ReadOut_Time160Exposure_Time0DC_RS_Plate_TypeA 12 8DC_RS_CSDatacap1 A1DC_RS_Binning_PatternDC_Scale_Divisor8.0DC_Down_Sample1DC_Laser_Power_Setting15.0Y_Identifiler_3kV_10sRun_3130xl_2008-11-06_14-03_5134RG96_IndividusJAA313JAA313[%currentuser%]96-WellFAC321_0000205983ANMECTIDCTNMCTOwCTTL 7CpEPDATA&M>DATA&MODATA&MDATA&MDATA>DATADATADATADATAi&M8~DCHTDSamDySNG5Dye#DyeB DyeB DyeB DyeB DyeB DyeN1DyeNVICDyeNNEDDyeNPETDyeNLIZDyeW DyeW*DyeW?DyeWSDyeWEPVt:EVNT EVNT EVNTEVNTGTyp!!HCFGCEHCFGHCFGHCFG>>InSc InVt LANELIMS!!@LNTD$LsrP:MCHNMODFaMODL3100NAVGNLNEOfSc FPANLPSZE`PTYPPXLBRGNmRMXV1RMdNpRMdV1RMdX  RPrNRPrV1RUND  RUND  RUND  RUND  RUNT .9RUNT %RUNT 0RUNT Rate RunN!!SCAN&SMED !SMLtSTYPSVER3.0SVER,,SVERSatd NScalAScan&SpNmStdFTUBEB2Tmpr<UDEFUser.seqinr/inst/abif/AmpFLSTR_Bins_v1.txt0000644000176000001440000011535611155704135017150 0ustar ripleyusersVersion GM v 3.0 Chemistry Kit AmpFLSTR_Panels_v1 BinSet Name AmpFLSTR_Bins_v1 Panel Name Blue_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Panel Name Green_I_v1 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Panel Name Profiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name D13S317 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name Profiler_Plus_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name D13S317 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name COfiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name SGM_Plus_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name D2S1338 14 285.0 0.5 0.5 15 289.0 0.5 0.5 16 293.0 0.5 0.5 17 297.0 0.5 0.5 18 301.0 0.5 0.5 19 305.0 0.5 0.5 20 309.0 0.5 0.5 21 313.0 0.5 0.5 22 317.0 0.5 0.5 23 321.0 0.5 0.5 24 325.0 0.5 0.5 25 329.0 0.5 0.5 26 333.0 0.5 0.5 27 337.0 0.5 0.5 28 341.0 0.5 0.5 29 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Panel Name Identifiler_v1 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Marker Name CSF1PO 5 302.63 0.5 0.5 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 15 342.63 0.5 0.5 16 346.63 0.5 0.5 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name D13S317 7 213.65 0.5 0.5 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 16 249.65 0.5 0.5 Marker Name D16S539 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 16 301.3 0.5 0.5 Marker Name D2S1338 14 305.31 0.5 0.5 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 29 365.31 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name TPOX 5 220.99 0.5 0.5 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 14 256.99 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Panel Name SEfiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name D2S1338 14 285.0 0.5 0.5 15 289.0 0.5 0.5 16 293.0 0.5 0.5 17 297.0 0.5 0.5 18 301.0 0.5 0.5 19 305.0 0.5 0.5 20 309.0 0.5 0.5 21 313.0 0.5 0.5 22 317.0 0.5 0.5 23 321.0 0.5 0.5 24 325.0 0.5 0.5 25 329.0 0.5 0.5 26 333.0 0.5 0.5 27 337.0 0.5 0.5 28 341.0 0.5 0.5 29 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name SE33 4.2 203.0 0.5 0.5 5 205.0 0.5 0.5 6 209.0 0.5 0.5 6.3 212.0 0.5 0.4 7 213.0 0.4 0.5 8 217.0 0.5 0.5 8.2 219.0 0.5 0.5 9 221.0 0.5 0.5 9.2 223.0 0.5 0.5 10 225.0 0.5 0.5 10.2 227.0 0.5 0.5 11 229.0 0.5 0.5 11.2 231.0 0.5 0.5 12 233.0 0.5 0.5 12.2 235.0 0.5 0.5 13 237.0 0.5 0.5 13.2 239.0 0.5 0.5 14 241.0 0.5 0.5 14.2 243.0 0.5 0.5 15 245.0 0.5 0.5 15.2 247.0 0.5 0.5 16 249.0 0.5 0.5 16.2 251.0 0.5 0.5 17 253.0 0.5 0.5 17.2 255.0 0.5 0.5 18 257.0 0.5 0.5 18.2 259.0 0.5 0.5 19 261.0 0.5 0.5 19.2 263.0 0.5 0.5 20 265.0 0.5 0.5 20.2 267.0 0.5 0.5 21 269.0 0.5 0.4 21.1 270.0 0.4 0.4 21.2 271.0 0.4 0.5 22 273.0 0.5 0.5 22.2 275.0 0.5 0.5 23 277.0 0.5 0.5 23.2 279.0 0.5 0.5 24 281.0 0.5 0.5 24.2 283.0 0.5 0.5 25 285.0 0.5 0.5 25.2 287.0 0.5 0.5 26 289.0 0.5 0.5 26.2 291.0 0.5 0.5 27 293.0 0.5 0.5 27.2 295.0 0.5 0.5 28 297.0 0.5 0.5 28.2 299.0 0.5 0.5 29 301.0 0.5 0.5 29.2 303.0 0.5 0.5 30 305.0 0.5 0.5 30.2 307.0 0.5 0.5 31 309.0 0.5 0.5 31.2 311.0 0.5 0.5 32 313.0 0.5 0.5 32.2 315.0 0.5 0.5 33 317.0 0.5 0.5 33.2 319.0 0.5 0.5 34 321.0 0.5 0.5 34.2 323.0 0.5 0.5 35 325.0 0.5 0.5 35.2 327.0 0.5 0.5 36 329.0 0.5 0.5 36.2 331.0 0.5 0.5 37 333.0 0.5 0.5 37.2 335.0 0.5 0.5 38 337.0 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Panel Name Profiler_Plus_CODIS_v1 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name vWA <11 156.49 5.49 0.0 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 >21 197.51 0.0 5.49 Marker Name FGA <18 218.49 12.24 0.0 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 >30 267.51 0.0 92.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 <8 127.49 9.49 0.0 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 >19 172.51 0.0 10.99 Marker Name D21S11 <24.2 188.49 3.99 0.0 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 >38 243.51 0.0 3.99 Marker Name D18S51 <9 272.49 8.0 0.0 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 >26 341.51 0.0 8.49 Marker Name D5S818 <7 134.49 6.49 0.0 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 >16 171.51 0.0 8.49 Marker Name D13S317 <8 205.49 13.49 0.0 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 >15 234.51 0.0 7.49 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Panel Name COfiler_CODIS_v1 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name D16S539 <5 233.49 4.49 0.0 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 >15 274.51 0.0 4.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 <5 168.49 9.49 0.0 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 >10 189.51 0.0 15.49 Marker Name TPOX <6 217.49 5.49 0.0 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 >13 246.51 0.0 7.49 Marker Name CSF1PO <6 280.49 5.49 0.0 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 >15 317.51 0.0 5.49 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Panel Name Identifiler_CODIS_v1 Marker Name D8S1179 <8 127.49 9.49 0.0 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 >19 172.51 0.0 10.99 Marker Name D21S11 <24.2 188.49 3.99 0.0 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 >38 243.51 0.0 3.99 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Marker Name CSF1PO <6 306.12 4.0 0.0 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 15 342.63 0.5 0.5 >15 343.14 0.0 5.49 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name TH01 <4 164.49 5.49 0.0 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 >13.3 204.51 0.0 0.49 Marker Name D13S317 <8 217.14 11.48 0.0 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 >15 246.16 0.0 4.0 Marker Name D16S539 <5 256.79 1.49 0.0 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 >15 297.81 0.0 4.0 Marker Name D2S1338 <15 308.8 4.0 0.0 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 >28 361.82 0.0 8.49 Marker Name D19S433 <9 105.49 4.48 0.0 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 >17.2 140.51 0.0 7.49 Marker Name vWA <11 156.49 5.49 0.0 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 >21 197.51 0.0 15.99 Marker Name TPOX <6 224.48 7.48 0.0 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 >13 253.5 0.0 7.49 Marker Name D18S51 <7 264.49 0.0 0.0 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 23 329.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 >26 341.51 0.0 8.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 <7 134.49 6.49 0.0 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 >16 171.51 0.0 8.49 Marker Name FGA <18 218.49 12.24 0.0 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 >30 267.51 0.0 92.49 Panel Name Identifiler_v1-dup Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Marker Name CSF1PO 15 342.63 0.5 0.5 16 346.63 0.5 0.5 5 302.63 0.5 0.5 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name D13S317 7 213.65 0.5 0.5 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 16 249.65 0.5 0.5 Marker Name D16S539 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 16 301.3 0.5 0.5 Marker Name D2S1338 14 305.31 0.5 0.5 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 29 365.31 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name vWA 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 Marker Name TPOX 5 220.99 0.5 0.5 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 14 256.99 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name FGA 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 seqinr/inst/abif/Prototype_PowerPlex_EP01_Pa.txt0000644000176000001440000000352711220365776021421 0ustar ripleyusers#GeneMapper ID v3.2 Version GM v 3.0 Kit type: MICROSATELLITE Chemistry Kit Prototype_PowerPlex_EP01 none Panel Prototype_PowerPlex_EP01 null AMEL blue 75.00 92.00 X, X 9 0.0 none X, Y D3S1358 blue 92.01 150.00 14,15 4 0.13 none 12, 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 150.01 195.00 8,9.3 4 0.06 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D21S11 blue 195.01 270.00 30 4 0.22 none 24, 24.2, 25, 25.2, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 blue 270.01 370.00 15,19 4 0.13 none 8, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, D10S1248 green 70.00 127.00 13,15 4 0.12 none 8, 10, 11, 12, 13, 14, 15, 16, 17, 19 D1S1656 green 127.01 180.00 18.3,18.3 4 0.12 none 9, 10, 11, 12, 13, 14, 14.3, 15, 15.3, 16, 16.3, 17, 17.3, 18, 18.3, 19, 19.3, 20.3 D2S1338 green 180.01 265.00 19,23 4 0.11 none 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 D16S539 green 265.01 330.00 11,12 4 0.13 none 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D22S1045 yellow 70.00 118.00 11,14 3 0.20 none 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 vWA yellow 118.01 200.00 17,18 4 0.14 none 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, D8S1179 yellow 200.01 257.50 13 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, FGA yellow 257.51 420.00 23,24 4 0.14 none 16, 17, 18, 18.2, 19, 19.2, 20, 20.2, 21, 21.2, 22, 22.2, 23, 23.2, 24, 24.2, 25, 25.2, 26, 27, 28, 29, 30, 31.2, 43.2, 44.2, 45.2, 46.2, D2S441 red 80.0 127.00 10,14 4 0.08 none 8, 10, 11, 11.3, 12, 13, 14, 15, 17, D12S391 red 127.01 188.00 18,20 4 0.15 none 14, 15, 16, 17, 17.3, 18, 18.3, 19, 20, 21, 22, 23, 24, 25, 26, 27, D19S433 red 188.01 262.00 14,15 4 0.14 none 5.2, 6.2, 8, 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, 18, 18.2, 20.2, seqinr/inst/abif/Prototype_PowerPlex_EP01_Bins.txt0000644000176000001440000001331111220365776021744 0ustar ripleyusers#GeneMapper ID v3.2 Version GM v 3.0 Chemistry Kit Prototype_PowerPlex_EP01 BinSet Name Prototype_PowerPlex_EP01 Panel Name Prototype_PowerPlex_EP01 Marker Name AMEL X 82.01 0.5 0.5 Y 87.86 0.5 0.5 Marker Name D3S1358 8 94.5 0.5 0.5 9 98.56 0.5 0.5 10 102.62 0.5 0.5 11 106.78 0.5 0.5 12 110.84 0.5 0.5 13 114.90 0.5 0.5 14 119.00 0.5 0.5 15 123.10 0.5 0.5 15.2 125.15 0.5 0.5 16 127.20 0.5 0.5 17 131.31 0.5 0.5 18 135.41 0.5 0.5 19 139.50 0.5 0.5 20 143.62 0.5 0.5 21 147.72 0.5 0.5 Marker Name TH01 4 152.84 0.5 0.5 5 156.83 0.5 0.5 6 160.95 0.5 0.5 7 164.90 0.5 0.5 8 168.85 0.5 0.5 9 172.79 0.5 0.5 9.3 175.74 0.5 0.4 10 176.78 0.5 0.5 11 180.77 0.5 0.5 13.3 191.77 0.5 0.5 Marker Name D21S11 23.2 196.86 0.5 0.5 24 198.88 0.5 0.5 24.2 200.91 0.5 0.5 25 202.93 0.5 0.5 25.2 204.96 0.5 0.5 26 206.98 0.5 0.5 26.2 209.01 0.5 0.5 27 211.03 0.5 0.5 27.2 213.06 0.5 0.5 28 215.08 0.5 0.5 28.2 217.09 0.5 0.5 29 219.10 0.5 0.5 29.2 221.12 0.5 0.5 30 223.14 0.5 0.5 30.2 225.16 0.5 0.5 31 227.19 0.5 0.5 31.2 229.20 0.5 0.5 32 231.23 0.5 0.5 32.2 233.25 0.5 0.5 33 235.28 0.5 0.5 33.2 237.29 0.5 0.5 34 239.32 0.5 0.5 34.2 241.34 0.5 0.5 35 243.37 0.5 0.5 35.2 245.38 0.5 0.5 36 247.42 0.5 0.5 36.2 249.45 0.5 0.5 37 251.47 0.5 0.5 37.2 253.50 0.5 0.5 38 255.52 0.5 0.5 38.2 257.64 0.5 0.5 39 259.73 0.5 0.5 Marker Name D18S51 7 280.22 0.5 0.5 8 284.13 0.5 0.5 9 288.05 0.5 0.5 9.2 290.00 0.5 0.5 10 291.96 0.5 0.5 10.2 293.92 0.5 0.5 11 295.88 0.5 0.5 12 299.79 0.5 0.5 13 303.71 0.5 0.5 13.2 305.67 0.5 0.5 14 307.62 0.5 0.5 14.2 309.49 0.5 0.5 15 311.36 0.5 0.5 16 315.27 0.5 0.5 17 319.14 0.5 0.5 18 323.03 0.5 0.5 19 326.93 0.5 0.5 19.2 328.98 0.5 0.5 20 330.83 0.5 0.5 21 334.73 0.5 0.5 22 338.63 0.5 0.5 23 342.53 0.5 0.5 24 346.48 0.5 0.5 25 350.43 0.5 0.5 26 354.33 0.5 0.5 27 358.23 0.5 0.5 Marker Name D10S1248 8 77.18 0.5 0.5 9 81.25 0.5 0.5 10 85.32 0.5 0.5 11 89.39 0.5 0.5 12 93.49 0.5 0.5 13 97.55 0.5 0.5 14 101.66 0.5 0.5 15 105.81 0.5 0.5 16 109.98 0.5 0.5 17 114.10 0.5 0.5 18 118.23 0.5 0.5 19 122.36 0.5 0.5 Marker Name D1S1656 9 129.83 0.5 0.5 10 133.95 0.5 0.5 11 138.08 0.5 0.5 12 142.16 0.5 0.5 13 146.17 0.5 0.5 13.3 149.23 0.5 0.4 14 150.26 0.5 0.5 14.3 153.35 0.5 0.4 15 154.35 0.5 0.5 15.3 157.37 0.5 0.4 16 158.45 0.5 0.5 16.3 161.46 0.5 0.4 17 162.46 0.5 0.4 17.1 163.48 0.5 0.5 17.3 165.55 0.5 0.4 18 166.47 0.5 0.5 18.3 169.48 0.5 0.4 19 170.56 0.5 0.5 19.3 173.58 0.5 0.5 20.3 177.60 0.5 0.5 Marker Name D2S1338 10 191.80 0.5 0.5 11 195.77 0.5 0.5 12 199.74 0.5 0.5 13 203.71 0.5 0.5 14 207.68 0.5 0.5 15 211.65 0.5 0.5 16 215.62 0.5 0.5 17 219.59 0.5 0.5 18 223.56 0.5 0.5 19 227.53 0.5 0.5 19.3 230.53 0.5 0.4 20 231.60 0.5 0.5 21 235.55 0.5 0.5 22 239.49 0.5 0.5 23 243.49 0.5 0.5 23.2 245.50 0.5 0.4 23.3 246.48 0.5 0.4 24 247.48 0.5 0.5 25 251.47 0.5 0.5 26 255.46 0.5 0.5 27 259.45 0.5 0.5 28 263.36 0.5 0.5 Marker Name D16S539 4 269.30 0.5 0.5 5 273.37 0.5 0.5 6 277.41 0.5 0.5 7 281.44 0.5 0.5 8 285.31 0.5 0.5 9 289.34 0.5 0.5 10 293.38 0.5 0.5 11 297.33 0.5 0.5 12 301.30 0.5 0.5 13 305.39 0.5 0.5 14 309.40 0.5 0.5 15 313.43 0.5 0.5 16 317.55 0.5 0.5 Marker Name D22S1045 6 75.54 0.5 0.5 7 78.52 0.5 0.5 8 81.49 0.5 0.5 9 84.45 0.5 0.5 10 87.42 0.5 0.5 11 90.41 0.5 0.5 12 93.34 0.5 0.5 13 96.36 0.5 0.5 14 99.33 0.5 0.5 15 102.41 0.5 0.5 16 105.43 0.5 0.5 17 108.46 0.5 0.5 18 111.50 0.5 0.5 19 114.56 0.5 0.5 Marker Name vWA 10 123.27 0.5 0.5 11 127.31 0.5 0.5 12 131.28 0.5 0.5 13 135.41 0.5 0.5 14 139.46 0.5 0.5 15 143.47 0.5 0.5 16 147.55 0.5 0.5 17 151.57 0.5 0.5 18 155.59 0.5 0.5 19 159.61 0.5 0.5 20 163.62 0.5 0.5 21 167.55 0.5 0.5 22 171.49 0.5 0.5 23 175.42 0.5 0.5 24 179.38 0.5 0.5 25 183.36 0.5 0.5 Marker Name D8S1179 7 203.77 0.5 0.5 8 207.78 0.5 0.5 9 211.81 0.5 0.5 10 215.77 0.5 0.5 11 219.82 0.5 0.5 12 223.80 0.5 0.5 13 227.81 0.5 0.5 14 231.84 0.5 0.5 15 235.88 0.5 0.5 16 239.92 0.5 0.5 17 243.98 0.5 0.5 18 248.13 0.5 0.5 19 252.20 0.5 0.5 20 256.27 0.5 0.5 Marker Name FGA 12.2 258.76 0.5 0.5 16 272.13 0.5 0.5 17 275.95 0.5 0.5 17.2 277.86 0.5 0.5 18 279.77 0.5 0.5 18.2 281.68 0.5 0.5 19 283.59 0.5 0.5 19.2 285.50 0.5 0.5 20 287.41 0.5 0.5 20.2 289.32 0.5 0.5 21 291.23 0.5 0.5 21.2 293.14 0.5 0.5 22 295.06 0.5 0.5 22.2 296.97 0.5 0.5 23 298.88 0.5 0.5 23.2 300.80 0.5 0.5 24 302.73 0.5 0.5 24.2 304.67 0.5 0.5 25 306.51 0.5 0.5 25.2 308.46 0.5 0.5 26 310.38 0.5 0.5 26.2 312.36 0.5 0.5 27 314.33 0.5 0.5 27.2 316.24 0.5 0.5 28 318.15 0.5 0.5 28.2 320.11 0.5 0.5 29 322.06 0.5 0.5 29.2 323.99 0.5 0.5 30 325.91 0.5 0.5 30.2 327.84 0.5 0.5 31 329.97 0.5 0.5 31.2 332.09 0.5 0.5 43.2 375.23 0.5 0.5 44.2 379.10 0.5 0.5 45.2 382.99 0.5 0.5 46.2 386.97 0.5 0.5 47.2 390.66 0.5 0.5 50.3 402.65 0.5 0.5 Marker Name D2S441 8 88.29 0.5 0.5 9 92.37 0.5 0.5 10 96.44 0.5 0.5 11 100.60 0.5 0.5 11.3 103.62 0.5 0.4 12 104.68 0.5 0.5 12.3 107.78 0.5 0.4 13 108.84 0.5 0.5 13.3 111.95 0.5 0.4 14 113.03 0.5 0.5 14.3 116.10 0.5 0.4 15 117.16 0.5 0.5 16 121.28 0.5 0.5 17 125.40 0.5 0.5 Marker Name D12S391 13 128.75 0.5 0.5 14 132.88 0.5 0.5 15 137.01 0.5 0.5 16 140.92 0.5 0.5 17 145.09 0.5 0.5 17.3 148.02 0.5 0.4 18 149.10 0.5 0.5 18.3 152.11 0.5 0.5 19 153.19 0.5 0.5 19.3 156.15 0.5 0.5 20 157.21 0.5 0.5 21 161.23 0.5 0.5 22 165.32 0.5 0.5 23 169.48 0.5 0.5 24 173.42 0.5 0.5 25 177.45 0.5 0.5 26 181.48 0.5 0.5 27 185.45 0.5 0.5 Marker Name D19S433 5.2 193.33 0.5 0.5 6.2 197.25 0.5 0.5 7 199.22 0.5 0.5 8 203.14 0.5 0.5 9 207.07 0.5 0.5 9.2 209.05 0.5 0.5 10 211.02 0.5 0.5 10.2 212.96 0.5 0.5 11 214.90 0.5 0.5 11.2 216.89 0.5 0.5 12 218.87 0.5 0.5 12.2 220.85 0.5 0.5 13 222.85 0.5 0.5 13.2 224.76 0.5 0.5 14 226.77 0.5 0.5 14.2 228.78 0.5 0.5 15 230.71 0.5 0.5 15.2 232.73 0.5 0.5 16 234.67 0.5 0.5 16.2 236.69 0.5 0.5 17 238.71 0.5 0.5 17.2 240.65 0.5 0.5 18 242.68 0.5 0.5 18.2 244.71 0.5 0.5 19 246.61 0.5 0.5 19.2 248.53 0.5 0.5 20.2 252.69 0.5 0.5 seqinr/inst/abif/NGM_Bins.txt0000644000176000001440000020002111247763302015616 0ustar ripleyusersVersion GM v 3.0 Chemistry Kit AmpFLSTR_Panels_v1 Promega_Panels_v1 NextGen BinSet Name AmpFLSTR_Bins_v1 Panel Name Blue_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Panel Name Green_I_v1 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Panel Name Profiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name D13S317 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name Profiler_Plus_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name D13S317 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name COfiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 Marker Name TPOX 5 214.0 0.5 0.5 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 14 250.0 0.5 0.5 Marker Name CSF1PO 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 16 321.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Panel Name SGM_Plus_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name D2S1338 14 285.0 0.5 0.5 15 289.0 0.5 0.5 16 293.0 0.5 0.5 17 297.0 0.5 0.5 18 301.0 0.5 0.5 19 305.0 0.5 0.5 20 309.0 0.5 0.5 21 313.0 0.5 0.5 22 317.0 0.5 0.5 23 321.0 0.5 0.5 24 325.0 0.5 0.5 25 329.0 0.5 0.5 26 333.0 0.5 0.5 27 337.0 0.5 0.5 28 341.0 0.5 0.5 29 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Panel Name Identifiler_v1 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Marker Name CSF1PO 5 302.63 0.5 0.5 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 15 342.63 0.5 0.5 16 346.63 0.5 0.5 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name D13S317 7 213.65 0.5 0.5 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 16 249.65 0.5 0.5 Marker Name D16S539 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 16 301.3 0.5 0.5 Marker Name D2S1338 14 305.31 0.5 0.5 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 29 365.31 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name TPOX 5 220.99 0.5 0.5 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 14 256.99 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Panel Name SEfiler_v1 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name vWA 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 Marker Name D16S539 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 16 278.0 0.5 0.5 Marker Name D2S1338 14 285.0 0.5 0.5 15 289.0 0.5 0.5 16 293.0 0.5 0.5 17 297.0 0.5 0.5 18 301.0 0.5 0.5 19 305.0 0.5 0.5 20 309.0 0.5 0.5 21 313.0 0.5 0.5 22 317.0 0.5 0.5 23 321.0 0.5 0.5 24 325.0 0.5 0.5 25 329.0 0.5 0.5 26 333.0 0.5 0.5 27 337.0 0.5 0.5 28 341.0 0.5 0.5 29 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name SE33 4.2 203.0 0.5 0.5 5 205.0 0.5 0.5 6 209.0 0.5 0.5 6.3 212.0 0.5 0.4 7 213.0 0.4 0.5 8 217.0 0.5 0.5 8.2 219.0 0.5 0.5 9 221.0 0.5 0.5 9.2 223.0 0.5 0.5 10 225.0 0.5 0.5 10.2 227.0 0.5 0.5 11 229.0 0.5 0.5 11.2 231.0 0.5 0.5 12 233.0 0.5 0.5 12.2 235.0 0.5 0.5 13 237.0 0.5 0.5 13.2 239.0 0.5 0.5 14 241.0 0.5 0.5 14.2 243.0 0.5 0.5 15 245.0 0.5 0.5 15.2 247.0 0.5 0.5 16 249.0 0.5 0.5 16.2 251.0 0.5 0.5 17 253.0 0.5 0.5 17.2 255.0 0.5 0.5 18 257.0 0.5 0.5 18.2 259.0 0.5 0.5 19 261.0 0.5 0.5 19.2 263.0 0.5 0.5 20 265.0 0.5 0.5 20.2 267.0 0.5 0.5 21 269.0 0.5 0.4 21.1 270.0 0.4 0.4 21.2 271.0 0.4 0.5 22 273.0 0.5 0.5 22.2 275.0 0.5 0.5 23 277.0 0.5 0.5 23.2 279.0 0.5 0.5 24 281.0 0.5 0.5 24.2 283.0 0.5 0.5 25 285.0 0.5 0.5 25.2 287.0 0.5 0.5 26 289.0 0.5 0.5 26.2 291.0 0.5 0.5 27 293.0 0.5 0.5 27.2 295.0 0.5 0.5 28 297.0 0.5 0.5 28.2 299.0 0.5 0.5 29 301.0 0.5 0.5 29.2 303.0 0.5 0.5 30 305.0 0.5 0.5 30.2 307.0 0.5 0.5 31 309.0 0.5 0.5 31.2 311.0 0.5 0.5 32 313.0 0.5 0.5 32.2 315.0 0.5 0.5 33 317.0 0.5 0.5 33.2 319.0 0.5 0.5 34 321.0 0.5 0.5 34.2 323.0 0.5 0.5 35 325.0 0.5 0.5 35.2 327.0 0.5 0.5 36 329.0 0.5 0.5 36.2 331.0 0.5 0.5 37 333.0 0.5 0.5 37.2 335.0 0.5 0.5 38 337.0 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name FGA 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Panel Name Profiler_Plus_CODIS_v1 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name vWA <11 156.49 5.49 0.0 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 >21 197.51 0.0 5.49 Marker Name FGA <18 218.49 12.24 0.0 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 >30 267.51 0.0 92.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D8S1179 <8 127.49 9.49 0.0 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 >19 172.51 0.0 10.99 Marker Name D21S11 <24.2 188.49 3.99 0.0 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 >38 243.51 0.0 3.99 Marker Name D18S51 <9 272.49 8.0 0.0 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 >26 341.51 0.0 8.49 Marker Name D5S818 <7 134.49 6.49 0.0 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 >16 171.51 0.0 8.49 Marker Name D13S317 <8 205.49 13.49 0.0 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 >15 234.51 0.0 7.49 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Panel Name COfiler_CODIS_v1 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name D16S539 <5 233.49 4.49 0.0 5 234.0 0.5 0.5 6 238.0 0.5 0.5 7 242.0 0.5 0.5 8 246.0 0.5 0.5 9 250.0 0.5 0.5 10 254.0 0.5 0.5 11 258.0 0.5 0.5 12 262.0 0.5 0.5 12.2 264.0 0.5 0.5 13 266.0 0.5 0.5 14 270.0 0.5 0.5 15 274.0 0.5 0.5 >15 274.51 0.0 4.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name TH01 <5 168.49 9.49 0.0 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 >10 189.51 0.0 15.49 Marker Name TPOX <6 217.49 5.49 0.0 6 218.0 0.5 0.5 7 222.0 0.5 0.5 8 226.0 0.5 0.5 9 230.0 0.5 0.5 10 234.0 0.5 0.5 11 238.0 0.5 0.5 12 242.0 0.5 0.5 13 246.0 0.5 0.5 >13 246.51 0.0 7.49 Marker Name CSF1PO <6 280.49 5.49 0.0 6 281.0 0.5 0.5 7 285.0 0.5 0.5 8 289.0 0.5 0.5 9 293.0 0.5 0.5 10 297.0 0.5 0.5 10.2 299.0 0.5 0.5 11 301.0 0.5 0.5 12 305.0 0.5 0.5 13 309.0 0.5 0.5 14 313.0 0.5 0.5 15 317.0 0.5 0.5 >15 317.51 0.0 5.49 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Panel Name Identifiler_CODIS_v1 Marker Name D8S1179 <8 127.49 9.49 0.0 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 >19 172.51 0.0 10.99 Marker Name D21S11 <24.2 188.49 3.99 0.0 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 >38 243.51 0.0 3.99 Marker Name D7S820 <6 257.49 6.49 0.0 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 >15 294.51 0.0 3.99 Marker Name CSF1PO <6 306.12 4.0 0.0 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 15 342.63 0.5 0.5 >15 343.14 0.0 5.49 Marker Name D3S1358 <12 113.49 15.49 0.0 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 >19 142.51 0.0 5.49 Marker Name TH01 <4 164.49 5.49 0.0 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 >13.3 204.51 0.0 0.49 Marker Name D13S317 <8 217.14 11.48 0.0 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 >15 246.16 0.0 4.0 Marker Name D16S539 <5 256.79 1.49 0.0 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 >15 297.81 0.0 4.0 Marker Name D2S1338 <15 308.8 4.0 0.0 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 >28 361.82 0.0 8.49 Marker Name D19S433 <9 105.49 4.48 0.0 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 >17.2 140.51 0.0 7.49 Marker Name vWA <11 156.49 5.49 0.0 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 >21 197.51 0.0 15.99 Marker Name TPOX <6 224.48 7.48 0.0 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 >13 253.5 0.0 7.49 Marker Name D18S51 <7 264.49 0.0 0.0 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 23 329.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 >26 341.51 0.0 8.49 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 <7 134.49 6.49 0.0 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 >16 171.51 0.0 8.49 Marker Name FGA <18 218.49 12.24 0.0 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 >30 267.51 0.0 92.49 Panel Name Identifiler_v1-dup Marker Name D8S1179 7 124.0 0.5 0.5 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 20 176.0 0.5 0.5 Marker Name D21S11 23.2 185.0 0.5 0.5 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 38.2 245.0 0.5 0.5 39 247.0 0.5 0.5 Marker Name D7S820 5 254.0 0.5 0.5 5.2 256.0 0.5 0.5 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 16 298.0 0.5 0.5 Marker Name CSF1PO 15 342.63 0.5 0.5 16 346.63 0.5 0.5 5 302.63 0.5 0.5 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 Marker Name D3S1358 11 110.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 20 146.0 0.5 0.5 Marker Name TH01 3 161.0 0.5 0.5 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name D13S317 7 213.65 0.5 0.5 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 16 249.65 0.5 0.5 Marker Name D16S539 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 16 301.3 0.5 0.5 Marker Name D2S1338 14 305.31 0.5 0.5 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 319.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 29 365.31 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 18 142.0 0.5 0.5 18.2 144.0 0.5 0.5 Marker Name vWA 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 25 213.0 0.5 0.5 10 153.0 0.5 0.5 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 Marker Name TPOX 5 220.99 0.5 0.5 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 14 256.99 0.5 0.5 Marker Name D18S51 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 6 131.0 0.5 0.5 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 17 175.0 0.5 0.5 Marker Name FGA 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 16 211.0 0.5 0.5 16.2 213.0 0.5 0.5 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 34.2 285.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 Panel Name PowerPlex_16_v1 Marker Name D3S1358 18 136.0 0.5 0.5 19 140.0 0.5 0.5 20 144.0 0.5 0.5 21 148.0 0.5 0.5 11 108.0 0.5 0.5 12 112.0 0.5 0.5 13 116.0 0.5 0.5 14 120.0 0.5 0.5 15 124.0 0.5 0.5 15.2 126.0 0.5 0.5 16 128.0 0.5 0.5 17 132.0 0.5 0.5 Marker Name TH01 4 154.0 0.5 0.5 5 158.0 0.5 0.5 6 162.0 0.5 0.5 7 166.0 0.5 0.5 8 170.0 0.5 0.5 9 174.0 0.5 0.5 9.3 177.0 0.5 0.4 10 178.0 0.5 0.5 11 182.0 0.5 0.5 13.3 193.0 0.5 0.5 Marker Name D21S11 23.2 198.0 0.5 0.5 24 200.0 0.5 0.5 24.2 202.0 0.5 0.5 25 204.0 0.5 0.5 25.2 206.0 0.5 0.5 26 208.0 0.5 0.5 26.2 210.0 0.5 0.5 27 212.0 0.5 0.5 27.2 214.0 0.5 0.5 28 216.0 0.5 0.5 28.2 218.0 0.5 0.5 29 220.0 0.5 0.5 29.2 222.0 0.5 0.5 30 224.0 0.5 0.5 30.2 226.0 0.5 0.5 31 228.0 0.5 0.5 31.2 230.0 0.5 0.5 32 232.0 0.5 0.5 32.2 234.0 0.5 0.5 33 236.0 0.5 0.5 33.2 238.0 0.5 0.5 34 240.0 0.5 0.5 34.2 242.0 0.5 0.5 35 244.0 0.5 0.5 35.2 246.0 0.5 0.5 36 248.0 0.5 0.5 36.2 250.0 0.5 0.5 37 252.0 0.5 0.5 37.2 254.0 0.5 0.5 38 256.0 0.5 0.5 38.2 258.0 0.5 0.5 39 260.0 0.5 0.5 Marker Name D18S51 8 285.0 0.5 0.5 9 289.0 0.5 0.5 9.2 291.0 0.5 0.5 10 293.0 0.5 0.5 10.2 295.0 0.5 0.5 11 297.0 0.5 0.5 12 301.0 0.5 0.5 13 305.0 0.5 0.5 13.2 307.0 0.5 0.5 14 309.0 0.5 0.5 14.2 311.0 0.5 0.5 15 313.0 0.5 0.5 16 317.0 0.5 0.5 17 321.0 0.5 0.5 18 325.0 0.5 0.5 19 329.0 0.5 0.5 19.2 331.0 0.5 0.5 20 333.0 0.5 0.5 21 337.0 0.5 0.5 22 341.0 0.5 0.5 23 345.0 0.5 0.5 24 349.0 0.5 0.5 25 353.0 0.5 0.5 26 357.0 0.5 0.5 27 361.0 0.5 0.5 Marker Name Penta_E 7 387.0 0.5 0.5 8 392.0 0.5 0.5 9 397.0 0.5 0.5 10 402.0 0.5 0.5 11 407.0 0.5 0.5 12 412.0 0.5 0.5 13 417.0 0.5 0.5 14 422.0 0.5 0.5 15 427.0 0.5 0.5 16 432.0 0.5 0.5 17 437.0 0.5 0.5 18 442.0 0.5 0.5 19 447.0 0.5 0.5 20 452.0 0.5 0.5 21 457.0 0.5 0.5 22 462.0 0.5 0.5 23 467.0 0.5 0.5 24 472.0 0.5 0.5 25 477.0 0.5 0.5 4 372.0 0.5 0.5 5 377.0 0.5 0.5 6 382.0 0.5 0.5 Marker Name D5S818 7 115.0 0.5 0.5 8 119.0 0.5 0.5 9 123.0 0.5 0.5 10 127.0 0.5 0.5 11 131.0 0.5 0.5 12 135.0 0.5 0.5 13 139.0 0.5 0.5 14 143.0 0.5 0.5 15 147.0 0.5 0.5 16 151.0 0.5 0.5 Marker Name D13S317 7 173.0 0.5 0.5 8 177.0 0.5 0.5 9 181.0 0.5 0.5 10 185.0 0.5 0.5 11 189.0 0.5 0.5 12 193.0 0.5 0.5 13 197.0 0.5 0.5 14 201.0 0.5 0.5 15 205.0 0.5 0.5 Marker Name D7S820 6 213.0 0.5 0.5 7 217.0 0.5 0.5 8 221.0 0.5 0.5 9 225.0 0.5 0.5 10 229.0 0.5 0.5 11 233.0 0.5 0.5 12 237.0 0.5 0.5 13 241.0 0.5 0.5 14 245.0 0.5 0.5 Marker Name D16S539 5 263.0 0.5 0.5 8 275.0 0.5 0.5 9 279.0 0.5 0.5 10 283.0 0.5 0.5 11 287.0 0.5 0.5 12 291.0 0.5 0.5 13 295.0 0.5 0.5 14 299.0 0.5 0.5 15 303.0 0.5 0.5 Marker Name CSF1PO 6 318.0 0.5 0.5 7 322.0 0.5 0.5 8 326.0 0.5 0.5 9 330.0 0.5 0.5 10 334.0 0.5 0.5 11 338.0 0.5 0.5 12 342.0 0.5 0.5 13 346.0 0.5 0.5 14 350.0 0.5 0.5 15 354.0 0.5 0.5 Marker Name Penta_D 2.2 369.0 0.5 0.5 3.2 374.0 0.5 0.5 5 382.0 0.5 0.5 7 392.0 0.5 0.5 8 397.0 0.5 0.5 9 402.0 0.5 0.5 10 407.0 0.5 0.5 11 412.0 0.5 0.5 12 417.0 0.5 0.5 13 422.0 0.5 0.5 14 427.0 0.5 0.5 15 432.0 0.5 0.5 16 437.0 0.5 0.5 17 442.0 0.5 0.5 Marker Name AMEL X 104.0 0.5 0.5 Y 110.0 0.5 0.5 Marker Name vWA 22 170.0 0.5 0.5 10 122.0 0.5 0.5 11 126.0 0.5 0.5 12 130.0 0.5 0.5 13 134.0 0.5 0.5 14 138.0 0.5 0.5 15 142.0 0.5 0.5 15.2 144.0 0.5 0.5 16 146.0 0.5 0.5 17 150.0 0.5 0.5 18 154.0 0.5 0.5 19 158.0 0.5 0.5 20 162.0 0.5 0.5 21 166.0 0.5 0.5 Marker Name D8S1179 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 17 242.0 0.5 0.5 18 246.0 0.5 0.5 19 250.0 0.5 0.5 Marker Name TPOX 5 257.0 0.5 0.5 6 261.0 0.5 0.5 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 10 277.0 0.5 0.5 11 281.0 0.5 0.5 12 285.0 0.5 0.5 13 289.0 0.5 0.5 14 293.0 0.5 0.5 Marker Name FGA 16 320.0 0.5 0.5 17 324.0 0.5 0.5 17.2 326.0 0.5 0.5 18 328.0 0.5 0.5 18.2 330.0 0.5 0.5 19 332.0 0.5 0.5 19.2 334.0 0.5 0.5 20 336.0 0.5 0.5 20.2 338.0 0.5 0.5 21 340.0 0.5 0.5 21.2 342.0 0.5 0.5 22 344.0 0.5 0.5 22.2 346.0 0.5 0.5 23 348.0 0.5 0.5 23.2 350.0 0.5 0.5 24 352.0 0.5 0.5 24.2 354.0 0.5 0.5 25 356.0 0.5 0.5 25.2 358.0 0.5 0.5 26 360.0 0.5 0.5 26.2 362.0 0.5 0.5 27 364.0 0.5 0.5 27.2 366.0 0.5 0.5 28 368.0 0.5 0.5 28.2 370.0 0.5 0.5 29 372.0 0.5 0.5 29.2 374.0 0.5 0.5 30 376.0 0.5 0.5 30.2 378.0 0.5 0.5 31 380.0 0.5 0.5 31.2 382.0 0.5 0.5 43.2 431.0 0.5 0.5 44.2 435.0 0.5 0.5 45.2 439.0 0.5 0.5 46.2 443.0 0.5 0.5 47.2 447.0 0.5 0.5 Panel Name PowerPlex_12_v1 Marker Name D5S818 7 114.0 0.5 0.5 8 118.0 0.5 0.5 9 122.0 0.5 0.5 10 126.0 0.5 0.5 11 130.0 0.5 0.5 12 134.0 0.5 0.5 13 138.0 0.5 0.5 14 142.0 0.5 0.5 15 146.0 0.5 0.5 16 150.0 0.5 0.5 Marker Name D13S317 7 170.0 0.5 0.5 8 174.0 0.5 0.5 9 178.0 0.5 0.5 10 182.0 0.5 0.5 11 186.0 0.5 0.5 12 190.0 0.5 0.5 13 194.0 0.5 0.5 14 198.0 0.5 0.5 15 202.0 0.5 0.5 Marker Name D7S820 6 213.0 0.5 0.5 7 217.0 0.5 0.5 8 221.0 0.5 0.5 9 225.0 0.5 0.5 10 229.0 0.5 0.5 11 233.0 0.5 0.5 12 237.0 0.5 0.5 13 241.0 0.5 0.5 14 245.0 0.5 0.5 Marker Name D16S539 5 262.0 0.5 0.5 6 266.0 0.5 0.5 7 270.0 0.5 0.5 8 274.0 0.5 0.5 9 278.0 0.5 0.5 10 282.0 0.5 0.5 11 286.0 0.5 0.5 12 290.0 0.5 0.5 13 294.0 0.5 0.5 14 298.0 0.5 0.5 15 302.0 0.5 0.5 Marker Name vWA 10 122.0 0.5 0.5 11 126.0 0.5 0.5 12 130.0 0.5 0.5 13 134.0 0.5 0.5 14 138.0 0.5 0.5 15 142.0 0.5 0.5 15.2 144.0 0.5 0.5 16 146.0 0.5 0.5 17 150.0 0.5 0.5 18 154.0 0.5 0.5 19 158.0 0.5 0.5 20 162.0 0.5 0.5 21 166.0 0.5 0.5 Marker Name TH01 5 176.0 0.5 0.5 6 180.0 0.5 0.5 7 184.0 0.5 0.5 8 188.0 0.5 0.5 9 192.0 0.5 0.5 9.3 195.0 0.5 0.4 10 196.0 0.5 0.5 11 200.0 0.5 0.5 Marker Name AMEL X 210.0 0.5 0.5 Y 216.0 0.5 0.5 Marker Name TPOX 6 222.0 0.5 0.5 7 226.0 0.5 0.5 8 230.0 0.5 0.5 9 234.0 0.5 0.5 10 238.0 0.5 0.5 11 242.0 0.5 0.5 12 246.0 0.5 0.5 13 250.0 0.5 0.5 14 254.0 0.5 0.5 Marker Name CSF1PO 6 291.0 0.5 0.5 7 295.0 0.5 0.5 8 299.0 0.5 0.5 9 303.0 0.5 0.5 10 307.0 0.5 0.5 11 311.0 0.5 0.5 12 315.0 0.5 0.5 13 319.0 0.5 0.5 14 323.0 0.5 0.5 15 327.0 0.5 0.5 Panel Name Penta_E_v1 Marker Name Penta_E 4 372.0 0.5 0.5 5 377.0 0.5 0.5 6 382.0 0.5 0.5 7 387.0 0.5 0.5 8 392.0 0.5 0.5 9 397.0 0.5 0.5 10 402.0 0.5 0.5 11 407.0 0.5 0.5 12 412.0 0.5 0.5 13 417.0 0.5 0.5 14 422.0 0.5 0.5 15 427.0 0.5 0.5 16 432.0 0.5 0.5 17 437.0 0.5 0.5 18 442.0 0.5 0.5 19 447.0 0.5 0.5 20 452.0 0.5 0.5 21 457.0 0.5 0.5 22 462.0 0.5 0.5 23 467.0 0.5 0.5 24 472.0 0.5 0.5 25 477.0 0.5 0.5 Panel Name Penta_D_v1 Marker Name Penta_D 9 402.0 0.5 0.5 10 407.0 0.5 0.5 11 412.0 0.5 0.5 12 417.0 0.5 0.5 13 422.0 0.5 0.5 14 427.0 0.5 0.5 15 432.0 0.5 0.5 16 437.0 0.5 0.5 17 442.0 0.5 0.5 2.2 369.0 0.5 0.5 3.2 374.0 0.5 0.5 5 382.0 0.5 0.5 7 392.0 0.5 0.5 8 397.0 0.5 0.5 Panel Name SE33_v1 Marker Name SE33 4.2 196.0 0.5 0.5 6.3 205.0 0.5 0.5 7.2 208.0 0.5 0.5 8 210.0 0.5 0.5 8.2 212.0 0.5 0.5 9 214.0 0.5 0.5 9.2 216.0 0.5 0.5 10 218.0 0.5 0.5 10.2 220.0 0.5 0.5 11 222.0 0.5 0.5 11.2 224.0 0.5 0.5 12 226.0 0.5 0.5 12.2 228.0 0.5 0.5 13 230.0 0.5 0.5 13.2 232.0 0.5 0.5 14 234.0 0.5 0.5 14.2 236.0 0.5 0.4 14.3 237.0 0.4 0.4 15 238.0 0.4 0.5 15.2 240.0 0.5 0.5 16 242.0 0.5 0.5 16.2 244.0 0.5 0.5 17 246.0 0.5 0.5 17.2 248.0 0.5 0.5 18 250.0 0.5 0.5 18.2 252.0 0.5 0.5 19 254.0 0.5 0.5 19.2 256.0 0.5 0.5 20 258.0 0.5 0.5 20.2 260.0 0.5 0.5 21 262.0 0.5 0.4 21.1 263.0 0.4 0.4 21.2 264.0 0.4 0.5 22 266.0 0.5 0.5 22.2 268.0 0.5 0.5 23 270.0 0.5 0.5 23.2 272.0 0.5 0.5 24 274.0 0.5 0.5 24.2 276.0 0.5 0.5 25 278.0 0.5 0.5 25.2 280.0 0.5 0.5 26 282.0 0.5 0.5 26.2 284.0 0.5 0.5 27 286.0 0.5 0.5 27.2 288.0 0.5 0.5 28 290.0 0.5 0.5 28.2 292.0 0.5 0.5 29 294.0 0.5 0.5 29.2 296.0 0.5 0.5 30 298.0 0.5 0.5 30.2 300.0 0.5 0.5 31 302.0 0.5 0.5 31.2 304.0 0.5 0.5 32 306.0 0.5 0.4 32.1 307.0 0.4 0.4 32.2 308.0 0.4 0.5 33 310.0 0.5 0.5 33.2 312.0 0.5 0.5 34 314.0 0.5 0.5 34.2 316.0 0.5 0.5 35 318.0 0.5 0.5 35.2 320.0 0.5 0.5 36 322.0 0.5 0.5 36.2 324.0 0.5 0.5 37 326.0 0.5 0.5 37.2 328.0 0.5 0.5 38 330.0 0.5 0.5 Panel Name FFFL_v1 Marker Name LPL 7 97.7 0.5 0.5 8 101.7 0.5 0.5 9 105.7 0.5 0.5 10 109.7 0.5 0.5 11 113.7 0.5 0.5 12 117.7 0.5 0.5 13 121.7 0.5 0.5 14 125.7 0.5 0.5 Marker Name F13B 6 164.3 0.5 0.5 7 168.3 0.5 0.5 8 172.3 0.5 0.5 9 176.3 0.5 0.5 10 180.3 0.5 0.5 11 184.2 0.5 0.5 12 188.19 0.5 0.5 Marker Name FESFPS 7 218.0 0.5 0.5 8 222.0 0.5 0.5 9 226.0 0.5 0.5 10 230.0 0.5 0.5 11 234.0 0.5 0.5 12 238.0 0.5 0.5 13 242.0 0.5 0.5 14 246.04 0.5 0.5 Marker Name F13A01 3.2 276.68 0.5 0.5 4 278.7 0.5 0.5 5 282.7 0.5 0.5 6 286.7 0.5 0.5 7 290.7 0.5 0.5 8 294.7 0.5 0.5 9 298.7 0.5 0.5 10 302.27 0.5 0.5 11 305.7 0.5 0.5 12 309.4 0.5 0.5 13 313.3 0.5 0.5 14 317.2 0.5 0.5 15 321.2 0.5 0.5 16 325.1 0.5 0.5 Panel Name CTTV_v1 Marker Name vWA 13 139.0 0.5 0.5 14 143.0 0.5 0.5 15 147.0 0.5 0.5 16 151.0 0.5 0.5 17 155.0 0.5 0.5 18 159.0 0.5 0.5 19 163.0 0.5 0.5 20 167.0 0.5 0.5 Marker Name TH01 8 191.4 0.5 0.5 9 195.4 0.5 0.5 10 199.4 0.5 0.5 11 202.97 0.5 0.5 6 183.4 0.5 0.5 7 187.4 0.5 0.5 5 179.4 0.5 0.5 Marker Name AMEL x 212.08 0.5 0.5 Y 217.38 0.5 0.5 Marker Name TPOX 6 224.0 0.5 0.5 7 228.0 0.5 0.5 8 232.0 0.5 0.5 9 236.0 0.5 0.5 10 240.0 0.5 0.5 11 244.0 0.5 0.5 12 248.0 0.5 0.5 13 252.03 0.5 0.5 Marker Name CSF1PO 7 294.5 0.5 0.5 8 298.5 0.5 0.5 9 302.5 0.5 0.5 10 306.5 0.5 0.5 11 310.5 0.5 0.5 12 314.5 0.5 0.5 13 318.5 0.5 0.5 14 322.5 0.5 0.5 15 326.32 0.5 0.5 Panel Name NextGen_GS500 Marker Name D10 7 73 0.5 0.5 mutant 8 77 0.5 0.5 9 81 0.5 0.5 10 85 0.5 0.5 11 89 0.5 0.5 12 93 0.5 0.5 13 97 0.5 0.5 14 101 0.5 0.5 15 105 0.5 0.5 16 109 0.5 0.5 17 113 0.5 0.5 18 117 0.5 0.5 19 121 0.5 0.5 mutant 20 125 0.5 0.5 mutant Marker Name vWA 10 150 0.5 0.5 mutant 11 154 0.5 0.5 12 158 0.5 0.5 13 162 0.5 0.5 14 166 0.5 0.5 15 170 0.5 0.5 15.2 172 0.5 0.5 mutant 16 174 0.5 0.5 17 178 0.5 0.5 18 182 0.5 0.5 18.2 184 0.5 0.5 mutant 19 186 0.5 0.5 20 190 0.5 0.5 21 194 0.5 0.5 22 198 0.5 0.5 23 202 0.5 0.5 24 206 0.5 0.5 25 210 0.5 0.5 mutant Marker Name D16S539 5 228.5 0.5 0.5 6 232.5 0.5 0.5 mutant 7 236.5 0.5 0.5 mutant 8 240.5 0.5 0.5 9 244.5 0.5 0.5 10 248.5 0.5 0.5 11 252.5 0.5 0.5 12 256.5 0.5 0.5 12.2 258.5 0.5 0.5 mutant 13 260.5 0.5 0.5 14 264.5 0.5 0.5 15 268.5 0.5 0.5 16 272.5 0.5 0.5 mutant Marker Name D2S1338 14 285.5 0.5 0.5 mutant 15 289.5 0.5 0.5 16 293.5 0.5 0.5 17 297.5 0.5 0.5 18 301.5 0.5 0.5 19 305.5 0.5 0.5 20 309.5 0.5 0.5 21 313.5 0.5 0.5 22 317.5 0.5 0.5 23 321.5 0.5 0.5 24 325.5 0.5 0.5 25 329.5 0.5 0.5 26 333.5 0.5 0.5 27 337.5 0.5 0.5 28 341.5 0.5 0.5 29 345.5 0.5 0.5 mutant Marker Name AMEL X 101.4 0.5 0.5 Y 107.4 0.5 0.5 Marker Name D8S1179 7 121 0.5 0.5 mutant 8 125 0.5 0.5 9 129 0.5 0.5 10 133 0.5 0.5 11 137 0.5 0.5 12 141 0.5 0.5 13 145 0.5 0.5 14 149 0.5 0.5 15 153 0.5 0.5 16 157 0.5 0.5 17 161 0.5 0.5 18 165 0.5 0.5 19 169 0.5 0.5 20 173 0.5 0.5 mutant Marker Name D21S11 23.2 183 0.5 0.5 mutant 24 185 0.5 0.5 24.2 187 0.5 0.5 25 189 0.5 0.5 25.2 191 0.5 0.5 mutant 26 193 0.5 0.5 26.2 195 0.5 0.5 mutant 27 197 0.5 0.5 27.2 199 0.5 0.5 mutant 28 201 0.5 0.5 28.2 203 0.5 0.5 29 205 0.5 0.5 29.2 207 0.5 0.5 30 209 0.5 0.5 30.2 211 0.5 0.5 31 213 0.5 0.5 31.2 215 0.5 0.5 32 217 0.5 0.5 32.2 219 0.5 0.5 33 221 0.5 0.5 33.2 223 0.5 0.5 34 225 0.5 0.5 34.2 227 0.5 0.5 35 229 0.5 0.5 35.2 231 0.5 0.5 36 233 0.5 0.5 36.2 235 0.5 0.5 mutant 37 237 0.5 0.5 37.2 239 0.5 0.5 mutant 38 241 0.5 0.5 38.2 243 0.5 0.5 mutant 39 245 0.5 0.5 mutant Marker Name D18S51 7 263 0.5 0.5 8 267 0.5 0.5 mutant 9 271 0.5 0.5 9.2 273 0.5 0.5 mutant 10 275 0.5 0.5 10.2 277 0.5 0.5 11 279 0.5 0.5 11.2 281 0.5 0.5 mutant 12 283 0.5 0.5 12.2 285 0.5 0.5 mutant 13 287 0.5 0.5 13.2 289 0.5 0.5 14 291 0.5 0.5 14.2 293 0.5 0.5 15 295 0.5 0.5 15.2 297 0.5 0.5 mutant 16 299 0.5 0.5 16.2 301 0.5 0.5 mutant 17 303 0.5 0.5 17.2 305 0.5 0.5 mutant 18 307 0.5 0.5 18.2 309 0.5 0.5 mutant 19 311 0.5 0.5 19.2 313 0.5 0.5 mutant 20 315 0.5 0.5 20.2 317 0.5 0.5 mutant 21 319 0.5 0.5 21.2 321 0.5 0.5 mutant 22 323 0.5 0.5 22.2 325 0.5 0.5 mutant 23 327 0.5 0.5 23.2 329 0.5 0.5 mutant 24 331 0.5 0.5 25 335 0.5 0.5 26 339 0.5 0.5 27 343 0.5 0.5 Marker Name D22 8 80 0.5 0.5 9 83 0.5 0.5 10 86 0.5 0.5 11 89 0.5 0.5 12 92 0.5 0.5 13 95 0.5 0.5 14 98 0.5 0.5 15 101 0.5 0.5 16 104 0.5 0.5 17 107 0.5 0.5 18 110 0.5 0.5 19 113 0.5 0.5 Marker Name D19S433 9 127.3 0.5 0.5 9.2 129.3 0.5 0.5 mutant 10 131.3 0.5 0.5 10.2 133.3 0.5 0.5 mutant 11 135.3 0.5 0.5 11.2 137.3 0.5 0.5 mutant 12 139.3 0.5 0.5 12.2 141.3 0.5 0.5 13 143.3 0.5 0.5 13.2 145.3 0.5 0.5 14 147.3 0.5 0.5 14.2 149.3 0.5 0.5 15 151.3 0.5 0.5 15.2 153.3 0.5 0.5 16 155.3 0.5 0.5 16.2 157.3 0.5 0.5 17 159.3 0.5 0.5 17.2 161.3 0.5 0.5 18 163.3 0.5 0.5 mutant 18.2 165.3 0.5 0.5 mutant Marker Name TH01 3 177 0.5 0.5 mutant 4 181 0.5 0.5 5 185 0.5 0.5 5.3 188 0.5 0.49 mutant 6 189 0.49 0.5 6.3 192 0.5 0.49 mutant 7 193 0.49 0.5 7.3 196 0.5 0.49 mutant 8 197 0.49 0.5 8.3 200 0.5 0.49 mutant 9 201 0.49 0.5 9.3 204 0.5 0.49 10 205 0.49 0.5 10.3 208 0.5 0.49 mutant 11 209 0.49 0.5 12 213 0.5 0.5 mutant 13 217 0.5 0.5 mutant 13.3 220 0.5 0.5 Marker Name FGA 16 226 0.5 0.5 mutant 16.2 228 0.5 0.5 mutant 17 230 0.5 0.5 17.2 232 0.5 0.5 mutant 18 234 0.5 0.5 18.2 236 0.5 0.5 mutant 19 238 0.5 0.5 19.2 240 0.5 0.5 mutant 20 242 0.5 0.5 20.2 244 0.5 0.5 mutant 21 246 0.5 0.5 21.2 248 0.5 0.5 mutant 22 250 0.5 0.5 22.2 252 0.5 0.5 mutant 23 254 0.5 0.5 23.2 256 0.5 0.5 mutant 24 258 0.5 0.5 24.2 260 0.5 0.5 mutant 25 262 0.5 0.5 25.2 264 0.5 0.5 mutant 26 266 0.5 0.5 26.2 268 0.5 0.5 27 270 0.5 0.5 27.2 272 0.5 0.5 mutant 28 274 0.5 0.5 28.2 276 0.5 0.5 mutant 29 278 0.5 0.5 29.2 280 0.5 0.5 mutant 30 282 0.5 0.5 30.2 284 0.5 0.5 31 286 0.5 0.5 mutant 31.2 288 0.5 0.5 32 290 0.5 0.5 mutant 32.2 292 0.5 0.5 33.2 296 0.5 0.5 34.2 300 0.5 0.5 mutant 42.2 332 0.5 0.5 43.2 336 0.5 0.5 44.2 340 0.5 0.5 45.2 344 0.5 0.5 46.2 348 0.5 0.5 47.2 352 0.5 0.5 48.2 356 0.5 0.5 49.2 360 0.5 0.5 mutant 50.2 364 0.5 0.5 51.2 368 0.5 0.5 Marker Name D2S441 9 80 0.5 0.5 10 84 0.5 0.5 11 88 0.5 0.5 11.3 91 0.5 0.49 12 92 0.49 0.5 12.3 95 0.5 0.49 mutant 13 96 0.49 0.5 13.3 99 0.5 0.49 mutant 14 100 0.49 0.5 14.3 103 0.5 0.49 mutant 15 104 0.49 0.5 16 108 0.5 0.5 17 112 0.5 0.5 mutant Marker Name D3S1358 11 131 0.5 0.5 mutant 12 135 0.5 0.5 13 139 0.5 0.5 14 143 0.5 0.5 15 147 0.5 0.5 15.2 149 0.5 0.5 mutant 16 151 0.5 0.5 16.2 153 0.5 0.5 mutant 17 155 0.5 0.5 17.2 157 0.5 0.5 mutant 18 159 0.5 0.5 18.2 161 0.5 0.5 mutant 19 163 0.5 0.5 20 167 0.5 0.5 mutant Marker Name D1S1656 9 175 0.5 0.5 10 179 0.5 0.5 11 183 0.5 0.5 12 187 0.5 0.5 13 191 0.5 0.5 14 195 0.5 0.5 14.3 198 0.5 0.49 15 199 0.49 0.5 15.3 202 0.5 0.49 16 203 0.49 0.5 16.3 206 0.5 0.49 17 207 0.49 0.5 17.3 210 0.5 0.49 18 211 0.49 0.5 mutant 18.3 214 0.5 0.5 19.3 218 0.5 0.5 20.3 222 0.5 0.5 Marker Name D12S391 14 229 0.5 0.5 15 233 0.5 0.5 16 237 0.5 0.5 17 241 0.5 0.5 17.3 244 0.5 0.49 mutant 18 245 0.49 0.5 18.3 248 0.5 0.49 mutant 19 249 0.49 0.5 19.1 250 0.49 0.5 mutant 19.3 252 0.5 0.5 20 253 0.5 0.5 20.3 256 0.5 0.49 mutant 21 257 0.5 0.5 22 261 0.5 0.5 23 265 0.5 0.5 24 269 0.5 0.5 25 273 0.5 0.5 26 277 0.5 0.5 27 281 0.5 0.5 Panel Name Prototype_PowerPlex_EP01 Marker Name AMEL X 82.01 0.5 0.5 Y 87.86 0.5 0.5 Marker Name D3S1358 8 94.5 0.5 0.5 9 98.56 0.5 0.5 10 102.62 0.5 0.5 11 106.78 0.5 0.5 12 110.84 0.5 0.5 13 114.90 0.5 0.5 14 119.00 0.5 0.5 15 123.10 0.5 0.5 15.2 125.15 0.5 0.5 16 127.20 0.5 0.5 17 131.31 0.5 0.5 18 135.41 0.5 0.5 19 139.50 0.5 0.5 20 143.62 0.5 0.5 21 147.72 0.5 0.5 Marker Name TH01 4 152.84 0.5 0.5 5 156.83 0.5 0.5 6 160.95 0.5 0.5 7 164.90 0.5 0.5 8 168.85 0.5 0.5 9 172.79 0.5 0.5 9.3 175.74 0.5 0.4 10 176.78 0.5 0.5 11 180.77 0.5 0.5 13.3 191.77 0.5 0.5 Marker Name D21S11 23.2 196.86 0.5 0.5 24 198.88 0.5 0.5 24.2 200.91 0.5 0.5 25 202.93 0.5 0.5 25.2 204.96 0.5 0.5 26 206.98 0.5 0.5 26.2 209.01 0.5 0.5 27 211.03 0.5 0.5 27.2 213.06 0.5 0.5 28 215.08 0.5 0.5 28.2 217.09 0.5 0.5 29 219.10 0.5 0.5 29.2 221.12 0.5 0.5 30 223.14 0.5 0.5 30.2 225.16 0.5 0.5 31 227.19 0.5 0.5 31.2 229.20 0.5 0.5 32 231.23 0.5 0.5 32.2 233.25 0.5 0.5 33 235.28 0.5 0.5 33.2 237.29 0.5 0.5 34 239.32 0.5 0.5 34.2 241.34 0.5 0.5 35 243.37 0.5 0.5 35.2 245.38 0.5 0.5 36 247.42 0.5 0.5 36.2 249.45 0.5 0.5 37 251.47 0.5 0.5 37.2 253.50 0.5 0.5 38 255.52 0.5 0.5 38.2 257.64 0.5 0.5 39 259.73 0.5 0.5 Marker Name D18S51 7 280.22 0.5 0.5 8 284.13 0.5 0.5 9 288.05 0.5 0.5 9.2 290.00 0.5 0.5 10 291.96 0.5 0.5 10.2 293.92 0.5 0.5 11 295.88 0.5 0.5 12 299.79 0.5 0.5 13 303.71 0.5 0.5 13.2 305.67 0.5 0.5 14 307.62 0.5 0.5 14.2 309.49 0.5 0.5 15 311.36 0.5 0.5 16 315.27 0.5 0.5 17 319.14 0.5 0.5 18 323.03 0.5 0.5 19 326.93 0.5 0.5 19.2 328.98 0.5 0.5 20 330.83 0.5 0.5 21 334.73 0.5 0.5 22 338.63 0.5 0.5 23 342.53 0.5 0.5 24 346.48 0.5 0.5 25 350.43 0.5 0.5 26 354.33 0.5 0.5 27 358.23 0.5 0.5 Marker Name D10S1248 8 77.18 0.5 0.5 9 81.25 0.5 0.5 10 85.32 0.5 0.5 11 89.39 0.5 0.5 12 93.49 0.5 0.5 13 97.55 0.5 0.5 14 101.66 0.5 0.5 15 105.81 0.5 0.5 16 109.98 0.5 0.5 17 114.10 0.5 0.5 18 118.23 0.5 0.5 19 122.36 0.5 0.5 Marker Name D1S1656 9 129.83 0.5 0.5 10 133.95 0.5 0.5 11 138.08 0.5 0.5 12 142.16 0.5 0.5 13 146.17 0.5 0.5 13.3 149.23 0.5 0.4 14 150.26 0.5 0.5 14.3 153.35 0.5 0.4 15 154.35 0.5 0.5 15.3 157.37 0.5 0.4 16 158.45 0.5 0.5 16.3 161.46 0.5 0.4 17 162.46 0.5 0.4 17.1 163.48 0.5 0.5 17.3 165.55 0.5 0.4 18 166.47 0.5 0.5 18.3 169.48 0.5 0.4 19 170.56 0.5 0.5 19.3 173.58 0.5 0.5 20.3 177.60 0.5 0.5 Marker Name D2S1338 10 191.80 0.5 0.5 11 195.77 0.5 0.5 12 199.74 0.5 0.5 13 203.71 0.5 0.5 14 207.68 0.5 0.5 15 211.65 0.5 0.5 16 215.62 0.5 0.5 17 219.59 0.5 0.5 18 223.56 0.5 0.5 19 227.53 0.5 0.5 19.3 230.53 0.5 0.4 20 231.60 0.5 0.5 21 235.55 0.5 0.5 22 239.49 0.5 0.5 23 243.49 0.5 0.5 23.2 245.50 0.5 0.4 23.3 246.48 0.5 0.4 24 247.48 0.5 0.5 25 251.47 0.5 0.5 26 255.46 0.5 0.5 27 259.45 0.5 0.5 28 263.36 0.5 0.5 Marker Name D16S539 4 269.30 0.5 0.5 5 273.37 0.5 0.5 6 277.41 0.5 0.5 7 281.44 0.5 0.5 8 285.31 0.5 0.5 9 289.34 0.5 0.5 10 293.38 0.5 0.5 11 297.33 0.5 0.5 12 301.30 0.5 0.5 13 305.39 0.5 0.5 14 309.40 0.5 0.5 15 313.43 0.5 0.5 16 317.55 0.5 0.5 Marker Name D22S1045 6 75.54 0.5 0.5 7 78.52 0.5 0.5 8 81.49 0.5 0.5 9 84.45 0.5 0.5 10 87.42 0.5 0.5 11 90.41 0.5 0.5 12 93.34 0.5 0.5 13 96.36 0.5 0.5 14 99.33 0.5 0.5 15 102.41 0.5 0.5 16 105.43 0.5 0.5 17 108.46 0.5 0.5 18 111.50 0.5 0.5 19 114.56 0.5 0.5 Marker Name vWA 10 123.27 0.5 0.5 11 127.31 0.5 0.5 12 131.28 0.5 0.5 13 135.41 0.5 0.5 14 139.46 0.5 0.5 15 143.47 0.5 0.5 16 147.55 0.5 0.5 17 151.57 0.5 0.5 18 155.59 0.5 0.5 19 159.61 0.5 0.5 20 163.62 0.5 0.5 21 167.55 0.5 0.5 22 171.49 0.5 0.5 23 175.42 0.5 0.5 24 179.38 0.5 0.5 25 183.36 0.5 0.5 Marker Name D8S1179 7 203.77 0.5 0.5 8 207.78 0.5 0.5 9 211.81 0.5 0.5 10 215.77 0.5 0.5 11 219.82 0.5 0.5 12 223.80 0.5 0.5 13 227.81 0.5 0.5 14 231.84 0.5 0.5 15 235.88 0.5 0.5 16 239.92 0.5 0.5 17 243.98 0.5 0.5 18 248.13 0.5 0.5 19 252.20 0.5 0.5 20 256.27 0.5 0.5 Marker Name FGA 12.2 258.76 0.5 0.5 16 272.13 0.5 0.5 17 275.95 0.5 0.5 17.2 277.86 0.5 0.5 18 279.77 0.5 0.5 18.2 281.68 0.5 0.5 19 283.59 0.5 0.5 19.2 285.50 0.5 0.5 20 287.41 0.5 0.5 20.2 289.32 0.5 0.5 21 291.23 0.5 0.5 21.2 293.14 0.5 0.5 22 295.06 0.5 0.5 22.2 296.97 0.5 0.5 23 298.88 0.5 0.5 23.2 300.80 0.5 0.5 24 302.73 0.5 0.5 24.2 304.67 0.5 0.5 25 306.51 0.5 0.5 25.2 308.46 0.5 0.5 26 310.38 0.5 0.5 26.2 312.36 0.5 0.5 27 314.33 0.5 0.5 27.2 316.24 0.5 0.5 28 318.15 0.5 0.5 28.2 320.11 0.5 0.5 29 322.06 0.5 0.5 29.2 323.99 0.5 0.5 30 325.91 0.5 0.5 30.2 327.84 0.5 0.5 31 329.97 0.5 0.5 31.2 332.09 0.5 0.5 43.2 375.23 0.5 0.5 44.2 379.10 0.5 0.5 45.2 382.99 0.5 0.5 46.2 386.97 0.5 0.5 47.2 390.66 0.5 0.5 50.3 402.65 0.5 0.5 Marker Name D2S441 8 88.29 0.5 0.5 9 92.37 0.5 0.5 10 96.44 0.5 0.5 11 100.60 0.5 0.5 11.3 103.62 0.5 0.4 12 104.68 0.5 0.5 12.3 107.78 0.5 0.4 13 108.84 0.5 0.5 13.3 111.95 0.5 0.4 14 113.03 0.5 0.5 14.3 116.10 0.5 0.4 15 117.16 0.5 0.5 16 121.28 0.5 0.5 17 125.40 0.5 0.5 Marker Name D12S391 13 128.75 0.5 0.5 14 132.88 0.5 0.5 15 137.01 0.5 0.5 16 140.92 0.5 0.5 17 145.09 0.5 0.5 17.3 148.02 0.5 0.4 18 149.10 0.5 0.5 18.3 152.11 0.5 0.5 19 153.19 0.5 0.5 19.3 156.15 0.5 0.5 20 157.21 0.5 0.5 21 161.23 0.5 0.5 22 165.32 0.5 0.5 23 169.48 0.5 0.5 24 173.42 0.5 0.5 25 177.45 0.5 0.5 26 181.48 0.5 0.5 27 185.45 0.5 0.5 Marker Name D19S433 5.2 193.33 0.5 0.5 6.2 197.25 0.5 0.5 7 199.22 0.5 0.5 8 203.14 0.5 0.5 9 207.07 0.5 0.5 9.2 209.05 0.5 0.5 10 211.02 0.5 0.5 10.2 212.96 0.5 0.5 11 214.90 0.5 0.5 11.2 216.89 0.5 0.5 12 218.87 0.5 0.5 12.2 220.85 0.5 0.5 13 222.85 0.5 0.5 13.2 224.76 0.5 0.5 14 226.77 0.5 0.5 14.2 228.78 0.5 0.5 15 230.71 0.5 0.5 15.2 232.73 0.5 0.5 16 234.67 0.5 0.5 16.2 236.69 0.5 0.5 17 238.71 0.5 0.5 17.2 240.65 0.5 0.5 18 242.68 0.5 0.5 18.2 244.71 0.5 0.5 19 246.61 0.5 0.5 19.2 248.53 0.5 0.5 20.2 252.69 0.5 0.5 Panel Name Identifiler_v2 Marker Name D8S1179 8 128.0 0.5 0.5 9 132.0 0.5 0.5 10 136.0 0.5 0.5 11 140.0 0.5 0.5 12 144.0 0.5 0.5 13 148.0 0.5 0.5 14 152.0 0.5 0.5 15 156.0 0.5 0.5 16 160.0 0.5 0.5 17 164.0 0.5 0.5 18 168.0 0.5 0.5 19 172.0 0.5 0.5 Marker Name D21S11 24 187.0 0.5 0.5 24.2 189.0 0.5 0.5 25 191.0 0.5 0.5 25.2 193.0 0.5 0.5 26 195.0 0.5 0.5 26.2 197.0 0.5 0.5 27 199.0 0.5 0.5 27.2 201.0 0.5 0.5 28 203.0 0.5 0.5 28.2 205.0 0.5 0.5 29 207.0 0.5 0.5 29.2 209.0 0.5 0.5 30 211.0 0.5 0.5 30.2 213.0 0.5 0.5 31 215.0 0.5 0.5 31.2 217.0 0.5 0.5 32 219.0 0.5 0.5 32.2 221.0 0.5 0.5 33 223.0 0.5 0.5 33.2 225.0 0.5 0.5 34 227.0 0.5 0.5 34.2 229.0 0.5 0.5 35 231.0 0.5 0.5 35.2 233.0 0.5 0.5 36 235.0 0.5 0.5 36.2 237.0 0.5 0.5 37 239.0 0.5 0.5 37.2 241.0 0.5 0.5 38 243.0 0.5 0.5 Marker Name D7S820 6 258.0 0.5 0.5 7 262.0 0.5 0.5 8 266.0 0.5 0.5 8.2 268.0 0.5 0.5 9 270.0 0.5 0.5 9.2 272.0 0.5 0.5 10 274.0 0.5 0.5 11 278.0 0.5 0.5 12 282.0 0.5 0.5 13 286.0 0.5 0.5 14 290.0 0.5 0.5 15 294.0 0.5 0.5 Marker Name CSF1PO 6 306.63 0.5 0.5 7 310.63 0.5 0.5 8 314.63 0.5 0.5 9 318.63 0.5 0.5 10 322.63 0.5 0.5 10.2 324.63 0.5 0.5 11 326.63 0.5 0.5 12 330.63 0.5 0.5 13 334.63 0.5 0.5 14 338.63 0.5 0.5 15 342.63 0.5 0.5 Marker Name D3S1358 15.2 128.0 0.5 0.5 16 130.0 0.5 0.5 16.2 132.0 0.5 0.5 17 134.0 0.5 0.5 17.2 136.0 0.5 0.5 18 138.0 0.5 0.5 18.2 140.0 0.5 0.5 19 142.0 0.5 0.5 12 114.0 0.5 0.5 13 118.0 0.5 0.5 14 122.0 0.5 0.5 15 126.0 0.5 0.5 Marker Name TH01 4 165.0 0.5 0.5 5 169.0 0.5 0.5 5.3 172.0 0.5 0.4 6 173.0 0.4 0.5 6.3 176.0 0.5 0.4 7 177.0 0.4 0.5 7.3 180.0 0.5 0.4 8 181.0 0.4 0.5 8.3 184.0 0.5 0.4 9 185.0 0.4 0.5 9.3 188.0 0.5 0.4 10 189.0 0.4 0.5 10.3 192.0 0.5 0.4 11 193.0 0.4 0.5 12 197.0 0.5 0.5 13 201.0 0.5 0.5 13.3 204.0 0.5 0.5 Marker Name D13S317 8 217.65 0.5 0.5 9 221.65 0.5 0.5 10 225.65 0.5 0.5 11 229.65 0.5 0.5 12 233.65 0.5 0.5 13 237.65 0.5 0.5 14 241.65 0.5 0.5 15 245.65 0.5 0.5 Marker Name D16S539 5 257.3 0.5 0.5 6 261.3 0.5 0.5 7 265.3 0.5 0.5 8 269.3 0.5 0.5 9 273.3 0.5 0.5 10 277.3 0.5 0.5 11 281.3 0.5 0.5 12 285.3 0.5 0.5 12.2 287.3 0.5 0.5 13 289.3 0.5 0.5 14 293.3 0.5 0.5 15 297.3 0.5 0.5 Marker Name D2S1338 15 309.31 0.5 0.5 16 313.31 0.5 0.5 17 317.31 0.5 0.5 18 321.31 0.5 0.5 19 325.31 0.5 0.5 20 329.31 0.5 0.5 21 333.31 0.5 0.5 22 337.31 0.5 0.5 23 341.31 0.5 0.5 24 345.31 0.5 0.5 25 349.31 0.5 0.5 26 353.31 0.5 0.5 27 357.31 0.5 0.5 28 361.31 0.5 0.5 Marker Name D19S433 9 106.0 0.5 0.5 9.2 108.0 0.5 0.5 10 110.0 0.5 0.5 10.2 112.0 0.5 0.5 11 114.0 0.5 0.5 11.2 116.0 0.5 0.5 12 118.0 0.5 0.5 12.2 120.0 0.5 0.5 13 122.0 0.5 0.5 13.2 124.0 0.5 0.5 14 126.0 0.5 0.5 14.2 128.0 0.5 0.5 15 130.0 0.5 0.5 15.2 132.0 0.5 0.5 16 134.0 0.5 0.5 16.2 136.0 0.5 0.5 17 138.0 0.5 0.5 17.2 140.0 0.5 0.5 Marker Name vWA 11 157.0 0.5 0.5 12 161.0 0.5 0.5 13 165.0 0.5 0.5 14 169.0 0.5 0.5 15 173.0 0.5 0.5 15.2 175.0 0.5 0.5 16 177.0 0.5 0.5 17 181.0 0.5 0.5 18 185.0 0.5 0.5 18.2 187.0 0.5 0.5 19 189.0 0.5 0.5 20 193.0 0.5 0.5 21 197.0 0.5 0.5 22 201.0 0.5 0.5 23 205.0 0.5 0.5 24 209.0 0.5 0.5 Marker Name TPOX 6 224.99 0.5 0.5 7 228.99 0.5 0.5 8 232.99 0.5 0.5 9 236.99 0.5 0.5 10 240.99 0.5 0.5 11 244.99 0.5 0.5 12 248.99 0.5 0.5 13 252.99 0.5 0.5 Marker Name D18S51 10.2 279.0 0.5 0.5 11 281.0 0.5 0.5 11.2 283.0 0.5 0.5 12 285.0 0.5 0.5 12.2 287.0 0.5 0.5 13 289.0 0.5 0.5 13.2 291.0 0.5 0.5 14 293.0 0.5 0.5 14.2 295.0 0.5 0.5 15 297.0 0.5 0.5 15.2 299.0 0.5 0.5 16 301.0 0.5 0.5 16.2 303.0 0.5 0.5 17 305.0 0.5 0.5 17.2 307.0 0.5 0.5 18 309.0 0.5 0.5 18.2 311.0 0.5 0.5 19 313.0 0.5 0.5 19.2 315.0 0.5 0.5 20 317.0 0.5 0.5 20.2 319.0 0.5 0.5 21 321.0 0.5 0.5 21.2 323.0 0.5 0.5 22 325.0 0.5 0.5 22.2 327.0 0.5 0.5 23 329.0 0.5 0.5 23.2 331.0 0.5 0.5 24 333.0 0.5 0.5 25 337.0 0.5 0.5 26 341.0 0.5 0.5 27 345.0 0.5 0.5 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 9.2 275.0 0.5 0.5 10 277.0 0.5 0.5 Marker Name AMEL X 107.0 0.5 0.5 Y 113.0 0.5 0.5 Marker Name D5S818 7 135.0 0.5 0.5 8 139.0 0.5 0.5 9 143.0 0.5 0.5 10 147.0 0.5 0.5 11 151.0 0.5 0.5 12 155.0 0.5 0.5 13 159.0 0.5 0.5 14 163.0 0.5 0.5 15 167.0 0.5 0.5 16 171.0 0.5 0.5 Marker Name FGA 17 215.0 0.5 0.5 17.2 217.0 0.5 0.5 18 219.0 0.5 0.5 18.2 221.0 0.5 0.5 19 223.0 0.5 0.5 19.2 225.0 0.5 0.5 20 227.0 0.5 0.5 20.2 229.0 0.5 0.5 21 231.0 0.5 0.5 21.2 233.0 0.5 0.5 22 235.0 0.5 0.5 22.2 237.0 0.5 0.5 23 239.0 0.5 0.5 23.2 241.0 0.5 0.5 24 243.0 0.5 0.5 24.2 245.0 0.5 0.5 25 247.0 0.5 0.5 25.2 249.0 0.5 0.5 26 251.0 0.5 0.5 26.2 253.0 0.5 0.5 27 255.0 0.5 0.5 27.2 257.0 0.5 0.5 28 259.0 0.5 0.5 28.2 261.0 0.5 0.5 29 263.0 0.5 0.5 29.2 265.0 0.5 0.5 30 267.0 0.5 0.5 30.2 269.0 0.5 0.5 31 271.0 0.5 0.5 31.2 273.0 0.5 0.5 32 275.0 0.5 0.5 32.2 277.0 0.5 0.5 33.2 281.0 0.5 0.5 42.2 317.0 0.5 0.5 43.2 321.0 0.5 0.5 44.2 325.0 0.5 0.5 45.2 329.0 0.5 0.5 46.2 333.0 0.5 0.5 47.2 337.0 0.5 0.5 48.2 341.0 0.5 0.5 49.2 345.0 0.5 0.5 50.2 349.0 0.5 0.5 51.2 353.0 0.5 0.5 seqinr/inst/abif/1_0000206138_C01_005.fsa0000755000176000001440000032536311135131406016440 0ustar ripleyusersABIFetdirZ sAllelic Laddermethod FTA Id v3Identifiler_v2GS500LIZ(75-450)3130xl-1473-02131XXUnitID=7;CPUBoard=ECPU500;ArraySize=16;SerialNumber=1473-021;3130xl0802043 Aug 22, 2008[%currentuser%]                               $)2=HNXX\`ba`_]YXRRROJLHHA?>69;42323638?GLQYc``c^^c_\[[[VRRKLHHDA?@==9;94404/12.*-.)))''(()%#!"# " !!! !"#(17BKVZdmjopsqqikiljbc[YXTQUNJIHEFEBB@?=:<76:65632,,0/,-,*(*'&##%%('%!#!!"! "!             !*1>IXdtytpmligcc\_YYWWROOGKHGBCA=;=::66370///2/-/+-&(+**)&()''&(&!""" "#!"#   " !#!    #!$""""" " !%#"!"!*#$%%%%%$"# "$$!% #$"!! ! !  !"$$'),,-*+,)%%"!!! #''*06<<AAB:52,*)*'&$$&&%%%)*'*,&)(((*+-,068:=EA<>95./0,*/+*++&*)+'0,/.0-1.,44678::;;<5488:>>BDGDGDA>7:526957756241001227559715423422435:<?=A@GGBBB@B?C;:=<9::;7;376728=:;>?=BFGIKQPSVWXZ^dgihmnledegjr{ #7LSYZWVTSUY[Y[MC.$  ':=ITYa]UVL@?B<FQW`mz^7}wtrrxz{vski`^TQJIHBFFEEFDHEDGIEIIILGEGHFEGGLRQTROPKHDA<?:<99485-0($''*-/*/4165<=?BDFDFFLOY]v1?NSQQHD<BDKSWR?+sph_[VTTW[\enw~wjbSRODFGD@>=9653-.*0--//7;=9=;;63/2/%*%(%#""$!" #$%&#%&&$&## " % #$',+2-.,(#"#  #&%.02:<?EHNLQORSSTRMKEA:44326759:;<<>=<:615/212;CIX_hc`]QLHHFEGHIJHEDA?850,&')).,.23241.01231310576:?BENV^nzywnb\SUSRUYWa`[[[YUUSLMHE@<72//-,+3.49BBLRXZYYUQKG@>74//,+*)&&%$#)"&$%%+)).*0//1--.**,-1--/.,+-)/-0239:@DMWf ;Qf|uJ zrc_SOJHHIMU`n|m`SEB:2/,,)')'&()'))-/568:;?B9842.+-+)&')'*)()&(%%(%$$$"!"! $"$(%'&&""$##!                                                                 !"!!"''+,5:ETg~X9-$%'(*29?H]u{^D2( "#&&*.39EXpyY?.#!$ $&(.5BMYzyX>+"!!&-0>Jd{fL8%!#(,-9BMhzbF3& ##+05EPiiM7*!#&),1?P`{aF3%!"!)+/7HXkz\@1!!&*4>I]sgJ3'!"+,6CTerT<+""&+2:N_uv[>/      !" &$'# '8UpvT=.$ !*>Rmy[C.%")5HblN:.  &;Oiz]A1$ !*;PplM9)!!'+004*###.=\r~^E/%  .<RtdE3(!$,:MoeJ2'!(3GeoS<) ,BXuZE4$#)9NhmK7,"*6Ii~aD2' )2KcrR:)! !$/>Vz%}V<($ ()7Sk  {\=/%"*:PkqN8+# .;PkaG5$ )2@XziK<+#$,8JhnM5( );JewT>,%!  $.9Ro~]D3$",=RoaG.' "3D`aE1# &2E_hJ7&                        $"#"#.6I_vYD1( # $,0=ShtW@1&   $(3=LlmT;-&   "%+5DZy`J7)   ")7ETr|]J6+   #'2@RmqW<1#    $-6EYwvYH3(   !$%-9HdjP;)$   $)8DZr~^P9)    !!"'19OgrTB3%               ",;J_iM9(      2;Sqv[?/$   &.?Xry[C+'     &.=RomQ;.#    $5D[{eL:*!    $4EZvvXB/)   #+:Kc}pS=+   #(3I[ybI7,      *8Jb{~hM6)    ",:Pf}bD4&                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                $&4AFUsv{rnrniga_bX]WQIKPLGIEHAC@D?99858931000-/)((**+-.,**,'&##'#(#"!##$" !""! ! "  #%'$,/9>GOSNRZ^VY]RSTSNOSOGGGHEA?8B98<<@7:965142/3602)0',-0./2/),,++*+-(,&%,%'((*+&('&)0,*)%,-+,/-88FJV_rzzmzrnmgdh``aWUWPUSSRNWNIIEJD?BA>C?>8>9;7:967436/74/.32.+0./0'))0$(1&&--%%().)++*)((%&')'$%'1104AELWbhlrzz|qqrygedcd`cWY\\RTSJIKJFHB?CGA:>=:=985806;46181/+*/3+-,.2(*')+$)*,(&*)$('%")%"$($!$'#$%'"!$'!!)%"!!($$"$! #%!&!#!$!#!!" !! $ "$ " !   ! #$"#&#!!!!" $! # !! """!""#! # # "$"#   %'.0<8A:?<;502+%,&$" $!$ $&#!"# #&$$'$(,&%'*$((&*#&$.&)-'"!%(!&' %&($"!&'"#$ "!"*'#&&(,"&+'&)''++((*23-727-78/433/243,8955526,4,126183:>CDKHKEMFIFGE@?:624202*-/.-).0++,-),*,/+.*(,0'*-++1..54014/0+/.02,1*,7354060894<8954?;=?B>KBGHGNMKKEHGJGMLTWbcbljptprkpvvusytuw3e@;]rh}eJ*T5rmbhdn{woYJ*xw~|rrriglkcfce[cRVOEDB>E<;8=AJOIPNQOJOOIHIBBAD:857>9=<DAD?@BAA@8:92<9522116205053;<8;;=>=76196757CNLUflyyosmvpjpkklkkclprw{v~zwrqebbWbYSXUNNKJMICDFEFJFEIHNJDEOKJKNMJDCJCBA==FD@FGFHHDF@KCA?D@=HEADLINSKX[`cammovqhhZTUSZVOYVVVXQXYZghfmopzqmstqvnuuvuswrw@X~viYI>5'{~y{yvvltspt}w{}x|}.Nt}X=,|z~zyqfb\SLRTNQTMMPFMJMQPLOSHSNPLLIMAAC<<6;;>;@DHJNQRUY`kyB=`WP8|yd=zznic[NQKNNKTVXfizwj_[NDB355/13..+'-))%(,$*.4342/(.(/'%&#!%%" #! $ " !##%" ! $ "#"$  "    '-4/-1)'% ".<QomU<5*$",9I`|sZ>8+$  $*5JblU>4+$  ")5D[thO?/(  "!!)-:Jh{]C8." !%$(6G\wreK90 " '->\jdN;.#" .=IbyaJ5+" #! (+?Srm\C7*#  +-DTps[E3%  $ !#*2BTylVB1'$# (4J]{mQ7+" !)/Faut\E9)!#  &%6?UskO:1$!##/8L_{ypVC3$ !&,8Lq}WH/$ "!!&&5G^|s]E.%"   '%-9JfkMB3$$!!',>Ls~cP:-)%8@Nq{]I5*# +,/=K]}s^K:-2 %)0:MiuVH5+$ $!0:H`xnS?0)# "//<TmrUH9+$ #-8FavtYJ<*&*4DhmYF1)'!!  " "$.2I[riSD7.#%"*3@VrsZG60''# "$':E^yv\D6+'"'% "&'.DanpTG8.+)"#!"-2OZspXF12#%#!!%+<QhwXA5+&# "*,C_ldRB0)#)"  )3DQqiWC8-$$#"  $%!"%'5@ThfQ=5%'!"!)&0<Keuk[E6*!! !"#.8J]up_I>,$$ &'4G]oo[I40+"""&09G[qxYD8-'  )4:HW{lYJ3(&""1/<L]wnRM/+( "!''8BUodK=1,##$#)4=Oc|^F<,*  +48IYwp]G8-&!"#)/BObt]L>-&!')=G_ziW=4+$&));E`xhVB6+( !!$&-:ETn~kQA1+$                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      !,).C7@HLQEED><D>?<<=51:33(4,/-51&-%%$&"+#%99<NFWgYu`{ek^iheVZRTMIDN@FIAAE4/:=9=271.233((2&,+(%%'-"&$#  '!"  "  " (!$*%&?=C?GPX\VUdlpkxenptjmib[id_b`dehiqwy~w}vxxpvqrmhig^Xhc\SVLQUWUMOHEEEBC:8C97;D0;3*->-+82.018-,1,,)%%$%$('($%," -#$'( !""#### !!                                                                         !!($($!#  "!'# $# '$$ """"#!'#+%#/+*//-<<2504388067)2.-;'%2-01$,,-/4-0;,5//5*3:283()7-021.5.<-:491-8=>B=C==:8-.158:,597HAIKIN\afdXfZDQABA@37?>@;8>7=5?7BF>>DBDADJAA@DG?:E<=830;3F8AFHGUYfajbnb_\XQMSMJMAJIFGEEJLRHUNVYW`cghtyjaj\WUQT\VXN^USYV^MPQLULTVIJOKSSYRZf\aitw}&#4111)$ !&a+2,oI:Di61pt$y.vhNK65(%"xtrgbldY_j]`lo~~zjh^UCE?H:;)3&%)5?.0=8HWZVPXWVT>9581'*44&1!0./%122:>=;C=5:?7?.6B=GE>KHIMIXUaspv !.<PI;.2  9)G395411  {jhc]]]\aiglv~wxwng[TQ@DB758%2-)#$&+"(,.,&2(0,2)+!/&,  $$#("*% !$ "%)!"#%*)34@HMLDNQTZXYTYNZJ;D@6899;@>B?7C47/0-*,)#+""($-%*-7B=>HA@@H37,+-&$&'(!"#&%%"+++-%"" $/ >4QXnvo]MbZdjgqilcpfdV[dT]dQL?<>4042253>MWRkuwrzqfaeYKF?71/.' (%%     !%BCP[bte_owus`b`]WND2>A3GCIKQRRDO:8<:5(,,)'$$'!!(+4<QHXUYX`OM>FB9#%)"                                                                               '     '#      "  &2?]slR:'    %CUlxV=#  " (0GXrkO@'$)#*),&!"  -6SpcG3/!!.;Xnb9.   .2Fb}fJ8%!-:JprV?/#$)1?Oo}hJ1' %!"2E\{hX?'# (0?UxmU:,16Pi~[G3)! $+;W~~`F//$&/7Hv}aC5(!$-0AVs{_E4-"$)=Noue<' !!($                            .8We|[A0/&"  !&DTmtTG1$!   #'9Hc}o\N9',"$ !    (15RXzfO:2, (    #/BRxmL::&    #!0N\waP6)#"    !".@Lm{UA3)""    !4/<cl~fU;6*!   (#AXx~yPC+#   )7AUr|xjX@8'   " "08Ra}cL:+"   (2MgrsZ:2.    ""0H_p]F32(      ()JXtqT:3%                                  &"+-EYpkLB;&   '27H`q^I>,!     ,(E^weLF9    #(0?Tf~mWL-.   (0:NgxgL>1!     &$*7Kax[L9+   "6GXymWE;*!      $,<Q`{eYG6       !             0FOkqTK7.#     '(   "&@OqwbZC.&  !"$  #,?XskOC7#(" &8Vgy~mI?7' !&3@a~jRH6'"   $!!11E^zvdJ<1%  #!&,'%(,2EWtw_K:,$*/La~iT72+("27Lmp\@9%%  6BYrvcM@2""-7L\qy\U;)(  19Gb|aO17+"   'LM^{oQA6)!23Wfka?3)#&   $04Senw_H3- !#(-?S]p]M;2 !"&")#'36Xfyb[=4' ")JapqbL42#!&$/#7VbvQ<-*  '$ -KTzvbN83 #! "*7Mf{YL?(*  '!)+/Ma{t]C4# !  '('DexldE7+'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   &(%-7714:CG=JGNDAF@;HFEH?HIJOOGQVMPQNRPNPSHLHECD;A@6H?6@:;60,57653+10,7@K@DKZ]GUS]XYMN[bVQTRISYNFHCFLK9@@=:>=<40302671,*7.(3+.((02%!'($+*!!& %"&##$!! # !                                                                                                                                     ! !   !  &($!  !  %&+$!"!#$$ )$$( *%!*&"*/&.3074,50:.42,/(:6572<;>?EAC@CBND@PPIKQMFC?E>L<CFGR^Xqq~qyvocpn~~!%I?ttjQF#&>Lr+8M+2) okHH+ 7TYsu]fTCHA:2%,1%"  ri`XPHLKFENGLY[fmfajeYWQGJ7>3+2)(4%*(20,(,/(%%+$ %%'$!!!#     #"      &$/0B>EMUUWPG84,%&")+#**!,3050("1*'' $.%%%                &  )1""&*/.(17+-#             !',$000;G>;C<E?52099.=!$&&#"   !"'1&+(@122943@;<<17.41-'*'                                                                                                    0<Kr^@.#               $5Hi`L84#                                                      #*I^fM>%&         7IstUF,      !6Pmn^M%"        ++XoeO7+       "?RspK<$$      1KhqV-*#         -4Fiy^G-      %*GPwdO?/       0J[|aI9)     7OmpW@)                                                             !CPaM/"       #/HtvZF+$      2YwmU9,!       3IwxYG(      (Rl`F/        /Qm{SG.      !6Sl]D.         #?_~zOC-    /Jk jR6.,7?EJ@G4/#   !1A`rS<'.&(2Xh),sXD1*#!!.Ad lP7   )    (8OjiS9"   +,NixeB7! -431:31!" !$=YpJ< '=FpYI/% ! &0E_|[?2     "3Kz iV>4      ?Twe=<.           % $&   &&Vtpb8+(  -Fc} ye<+" 7Dpd=4    -8Y|~MI"*    '8^vv]K2(     (-UvsUL/! !DTq`C&   #*;<??C61' #.Jq{^R3!:[pYJ&$                                                             #&+*/440453;840.0,00)--'+-1.66:=AJLPU]efmcl`cd[[RJ:FCACJQTV^cb[WXFLC?:454,445:=@??FE=BA9==7;542678<=;>>@ECEMHPSTWV]gemnpw7IGD<0+ '/COvD< l E(xo GV.X$ yx~wz~}uni[[QWJKNLEFCFCBB>/843576657::BG\fqsbSC90&$           !+;NhuwgN>)                               $8J`wzeI<#                     -D_ylO9%   ,Gf[A/     !1KoqU7*    ,He}]A'    *7awoN9'   +G^z]=(  +<Y}#zOA($   05T{#3&yP9, .I^&4/!}c>3"  $3Nt%@6}UB/  (9Ln .AA=#x_D- .=^u *6B?rT5+ &<Pl )7QE2fR8( #3K^~ 7:GE-cF6& ddIIIDDDvkk   333RRepp888VVVjjj~~~  222FFFYYYmmmyz{{{{{{|{|{{{{{{{{{{{{{{{{{zzzzzzz+ %%%)))---111444777:::===@@@CBDEEGHHJJJLLLNNNPPPRRRTTTVVVXXXZZY[[[]]]^^^```aaaccdeefffghhiiikkklllmmmooopppqqqqqqqqqqqppppppppppppppppppoooooooooooooonnnnnnnnnnnnnnnnnmnmmmmmmmmmmmmmmmmmlmlllllllllllllllllkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiihihihhhhhhhhhhhhhhhhhhggggggggggggggggggfffffffffffffffffffeeeeeeeeeeeeeeeeeeeedeeddddddddddddddddddccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbaaaaaaaaaaa <<;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Fragment Format 2.0+6286200-02 6286202-01 6286103-04 6258005-00 Run Started Run StoppedCollection StartedCollection Stopped POP4 6-FAMComment: a2de3efdac0211dd9a0600065bddb0edmodule_1kV_10smodule_1kV_10s module_1kV_10s2FragmentAnalysis36_POP41Oven_Temperature60Temperature_Tolerance3Oven_Wait_Time1200Poly_Fill_Vol6500Cap_Fill_Vol2280DC_Cap16_EPS_ARC_SELF11Max_Current300Current_Stability5.0Current_Tolerance100Run_Current100Voltage_Tolerance0.6PreRun_Voltage15.0DC_PreRun_Time180Injection_Voltage1.0DC_Injection_Time10Voltage_Number_Of_Steps40Voltage_Step_Interval15DC_Data_Delay1Run_Voltage15.0DC_Run_Time1600First_ReadOut_Time160Second_ReadOut_Time160Exposure_Time0DC_RS_Plate_TypeA 12 8DC_RS_CSDatacap1 A1DC_RS_Binning_PatternDC_Scale_Divisor8.0DC_Down_Sample1DC_Laser_Power_Setting15.0W_Identifiler_1kV_10sRun_3130xl_2008-11-06_14-03_5133RG96_IndividusJAA313JAA313[%currentuser%]96-Well 0000206138ANMECTIDBCTNMICTOwPCTTL CpEPDATA&M?DATA&MODATA&MDATA&MDATAODATA7DATADATADATAi&M8DCHTDSamDySNG5Dye#DyeB DyeB DyeB DyeB DyeB DyeNDyeNVICDyeNNEDDyeNPETDyeNLIZDyeW DyeW*DyeW?DyeWSDyeWEPVt:EVNT /EVNT ;EVNTGEVNTZGTyp!!yHCFGCEHCFGHCFGHCFG>>InSc InVtLANELIMS!!LNTD$LsrP:MCHNMODFMODL3100NAVGNLNEPANLPSZE`PTYP`PXLBRGNm3RMXV1RMdNRMdV1RMdX  RPrNRPrV1RUND  RUND  RUND  RUND  RUNT RUNT .7RUNT RUNT ..Rate mRunN!!SCAN&SMED "SMLtSTYPSVER3.0SVER,,SVERScalAScan&SpNm hStdFTUBEC1Tmpr<User/seqinr/inst/abif/2_0000206138_C01_005.fsa0000755000176000001440000032551311135131406016436 0ustar ripleyusersABIFetdir\ Allelic Laddermethod FTA Id v3Identifiler_v2GS500LIZ(75-450)3130xl-1473-02131XXUnitID=7;CPUBoard=ECPU500;ArraySize=16;SerialNumber=1473-021;3130xl0802043 Aug 22, 2008[%currentuser%] "(69HLTZZ^`_^\YTSSQMIICEA>7916/162578=BJTYcjlokgjic\[]Y[WQQNJIHFAC@>>8=;:653521,01./,''*%)'''$&'%!$$##$ ""#&,2<BT_bouw|{}{twkqpk`eb`^`YYUQTOMKJOKGDA@C><A9:>974:245521////*,*/*)),,+)''*%$&#%%&&%"#!!& " !                                        &.;J[o|~y{voloiibe]Y\\YXRPNKJKDFGF?AA@@<<?97875571223/./,/3.)(/+(&&*%'%&"%)"#$###% "!!# ()'&%"!!"##&#'&%'*(%(*'$$ !  #$"!# ! #! " $###'((0/483:53520/214356>:CBFDJEQKMFFB>:78?98;;<===:::9713-,-./+**,,/268<>FIQTX\^UXSGF<:78:>@GS_u|tcYNGCEGCIIGIKMMNOTTURRTWZbku|lc^Z\WTRQQQSSYY^^`c`ccgilw{{x|}x|uupmdffmnlrrv}yzuymromnmrt{|~||zwustyxxz{~  >qJS$.D,z9W,;[.D r"*zTWm(2 RuV6'")Inq]G2yum_[]Z\elooutz}L+k-:+E6lA#2Rn\C%}z{y}wskgb`XWRQJHEFDDBEEDJMRNOPOONMMJJHIJEBA<<98522;49453212011122/,2+,(+-&,(*')%!&((*,.35>JR]hecd_QFA@7;5<7>LXbx}ztx}wrk_[V`q4?2!m^VSSRZ`dnw|zxqhf`_abcrt<m|T(%&' urmos}zuma[TPKNHFBGGINQTT\b`[XQRKHECEA>CIMRLPUNOTMQOORXZadijqtxKz%+\oHG$A*[kCi: =z`>zndWVPNKQS\bpy|taTMH??<>?BAHKKVR\U^^`^cdliihgd_WRGCA:4+,&##  !#*+,045?GLJOVVW]YY[\WYPKJDB>760.+#"                                             #'38?C<:*#   " )/7>CPRYg}@gqiH4*)#$$ #"*-28?GKOYdt)TTmnS:/)&%!!! """%%+23<AFITZj p3~0VhD0&"# #'/69CEHN`sC u;Ee@80,,*#%#%%!$$$!'-)58?@LWr>@b\0h|Y:.(((!&(,.1=BHQexb!fr0VtK>/++%#$! &/177@JRh~u3Op yU?61,(++#-)')(%%!""!#'+4:CKQg{j)`f<gK=/-+%$  #*07<?FVi4C}T"cH3.'$!!"&-48;CKXqSKkN<lJ7.*%"   !)/3:<GVj@7kS\tL6.)$   $&-7;AJX|#x><OpP3+&      (%!            )6:ACD92)!'2<HMHH=3. #$"&-2B^./9,(eOE<847?AX\EHf[F73.059E[ {Q\r[F91+'$$#!%))038;740+#!$17Pn, ; ,jK;-+(& "!"()+228511+( #!$#%&(,5>[uR"m{4e\E?6.0-*25?KWi{tfV>8.-,,-05=GcbNr-vXLBAA@IYo6HeUegOA@9=CLbg@!FeOLDFLQYn!ej(rXGG@FKYq'|n&r[RJIKN[r)\JjiRIAA@LVea0s8x"lZIIDCKTl!XO~rVMHELNYt3#""PV~aOJ?DN[p@6z ,q[KFFHI\j|m~ 8yePHMMXlY-l>|bQNDHEIUgM3m~t[NRTPcEh` 9bKFCCGFVj{Ot 3tZL>CJOdj.~<ujRED@DN]z0QkKpN=/*! %)4:BAFC5.%##%.@ZdHU?)hG2&"&%**#"(8W e-fF/ !!   ()1./#                "0;AIJR[ksDX+nN?2&$   %/4AJNT_u- d^$bI2/!  #)2:DDM\xEky/WS@,$     )-5=BJQf m8S1dH5#     &,54>FTqe 2<|%lI6(     !&03<DOi^EU@\_</  !-18<FYw/+#Z \B.'    ,05?DKbKJzc91oO:-#     !*19@GVx691d Y@-   !-59@HVjo.wE+gG8*&       0GdrPhETwM1"  *7LtCjJW;'  -9PxVtGzX8&   $/<T{UddT|Q2    &3CjHgBmJ1 #-Gk$*bgRa X=&  +>Z|K?]P06oK3  (5Mr=Bszbx^F,  (=YN/E3]bE. ';SlY|K W~Z9'        (6=Xwxprqnmfogi]iZY[[YQLNRNNKILGDC@BA=CB@;<==987::;/304-11449$,0**),+*(+-&'*%)')+)'($)% %"!$$$" $  ""/28BHTUeegr_kwhfica_[\`TRVWNPMJPFJ@GHDJB>?779>;A9<9>;697732/55357010045403.73005514427622489:@HO]n  |xyyvotrrkkfc``e`fVZ^]TYWSYVNKNIRLPQLLHDFNDFK@BJDDA@?CB<F:>A@=B:8:7:;=<::;;=?IMY[lv~wz~pjjmbdf`\bb^^XXTRQTOKRRHIEMHFCH?AGGD>D<D@?8CBB6<9<::;87:<43655462.:24.78031,1238.1*.,53431+01+-)-%&*))*((+'.(+--,&*$+*#%)&)#+*%"$!)"$$!%!%%$ $ $"# $%$!""" $!%)%'*.")'%&)" !!!!"!" "! $# !##" "!# ! ! $$!"!""#!#''58=QapsbVLA557&(*)#%)+)*1&()%-*,+4-+-41269:9@<F;@DEHBAN>:9=8:=96579;:;:9691=631.546885=:DDJKHKLIIJCMKPPSW^\hikjlcjtoqhhecjjghof^e]ajecgszzsdiT\]USSTOVVUNPIKMMIUONJOTMTVRUOSWZW[\YVYZVVIOURR]XYZ`fccggjtozmorzx{{&209(" "0Hc| $44GJCQ?2Njm}5  ADh*+M^Wg o# 3ml9d]TA=G<=HRLOVK:1*${ww~yxu_QTUH`TR\Wm}|{wwznq|z5[yplbhlspf_>6("*1HZdrw{mjaB,|y{#%  +&$ .42/")/'(;Qr1F!:IWcF Ep%wbN>36;4<L\d|x|uydZaJD42%  07@>GGVXOTZ[itY)@ob9>aZ:7MfejnQ-q]PC@77P`{a<1 }zn}{wGbH{>ykp~f!uE 3:D" qT'FjxL,zre_TSOLNPNNY\^gmdk^`\MOOA:><=;?CF9<A69-:74366<:>=6:7/500/',%&# ##$$*#%)!'$ !%!# &$"% "'.+9;7?;11/!#   !!/+//($!                                                                !!!)+--(22/54;35454154-3&+*'&#                                      "4@IY\UJ95(!         0CbEMVFFqI8%       );T-B5I}O8+#   &*8Z;f[7cF2!    " 'AZlI+ cdJ0#     #:7OxRKY@5uQ<1#   #06GjE5I-DtG6&!   !!!1G`0<R7SZ<.       %&@Tu^|kG0'     $$+%&)                                     !$"%1<hG @BhnD)   '"%)&#0IrW#[['i tB0  !"%%3Nt eN<F\;( ! $0:T0<S1 S3$ $,4S}~;a]Og?-    $)&+0/17@X{t4}O}O5"$)/&+14Ie1^u3DACA|}W{I5#"%.5L}}_":U3$             '   !!.3EnM_uD*T.%                            %*.(+%       &/E]mNoT<oS:+*"(&)+/LY](sz8qgN42!     ''=Hc jTi>=|\=6%#     &BCeQRfF8/#   !!-4AYY]}r*{(nQ=)"   $"2Ff}XFY< UdC:(     $*3Hr"F=qlX:-      )BZR\pN4(       !"!    &+>Lxo"ejR L^N@1+(          &!.,*'      #%%+@[ ^ *K(8vaM?0.&     &%*@VfOaBScVE<2,"    ,!-?`y.fhBVoM<:1-%!  "$5E] pOI7B~_LF:7*($  #%02Ij&GH~-mZJ:=2/#   !),3:Vy_NdY*-z^N;51##   )01FczNa>TsVD?5%+"  !+,/3\q2w"U|`GB5*,   $            &*/3?A@?50'  !"&*;<JSkT:]]>blLD'''%"$ !!" ! %26AQd}%z DO<`oXF2*) '(#!%&'+4;?Q`9)TYIuxWD>--**')#""!"!%)(,46EQ^3yCH1_t[:5&-$'"!#'"%#))26<ANhH9^dBisZ87-%&' !! $! "'.03BSrO'Q=CdF=0+3'&'$"$#,-;F_vjC]X&5_A>--#&#& !$&%& '%,49EYd@,ee-s,sZ?5/'#+" #.$"10=NY+6p}NKhK55($%%#! " #'028D_tZ!p</TK7-$!  "$*58KbB9ty_+-{[A2)#!"!(/39K[y3']zj9AbM0&! #"+3E_y7Bd^!x8aF7*!!!(3?M_4{2fYptJ>0$                                                                                                                                                                                                                                                                                                                                                               #'"17;;CGSWNPPJHGLELCEKDKGA:D;=/56545228:2,3/>DAMYXoxo~mhckl]^^J\ZVYRR[MKSJO<M=E;D>D?:;AD486B63=9;9<53-+6:.,7859-1/8/+,7,,&')6)&*/3*'.'-/-+,,+ $)$&'(+%(%(&#&'#& )$%%)-+#' *&&,)$'%++! 0-02(+4B>KO[Z`^eax{v|zq}|{|txqspmpseic`jYa_[ZUZ]SUUYOPMQMMLRKLGGBFJGOHLECJ?C;HC8AF:<><2@77E:5;A5@86:3<1056(8%13,713.4-2*5+%1(39!.1/%(-!0(/*.1*-+/+/'+%1& '(-*-,-*%8)%-&&'% *%0(%(-#() &"" "#++' )$".($&%.&(#$)'#$%&$&'!(1!$)!( ) '$"")&#&"#/%! ''$'%! ,$'!$-#4#"%!!"!#!"*#% ' !           % $# ) !&## "!#!'"(&-,2//.100)C?9HAKPAI:<454+0.09=CNK]\\NP;H61/*,&+.21->CCMNLIJLL@:E>C;7.82(/,$&+/0.6@DDC?HH?96/.0/50-.)6=<EIECWNULIEJ:C>LFIKN\\ca_hi_haZQ\Y\idixvwuxf|~~v!.. ,;8*%  6C7.1"   #JWf )_0KywQ6uZN%&437UIcOy 7AV*vE/0_  S w'c 6 P ARtD9IKH&FGT>9 XtlnjpN>B2-;1DLcsmgG-qx ymopozplj`jc>u;99q Bv-eN iZO+,5d=S_`^CxH%~lF0"1HevouedbBT+*}wciomfcikstw|nphijia\^PVVCPEUSZXRJQFJTWSKJVGXNFPPDJJH=CDB>GBOCFRANFJHJPTOGJPIRIDREIJLCjh|"&*ylh]Y^cT_qvztniahgXVESUCFGLTXRXRfSc[R[\[^VWZWQgbasQi!K2-:Q]mV[=1>SVfjcR+vmd^USNFHDBLNNHINLVH:9<32;62)6269408,&3#+'+#4/879426235097E=G<=g>[xohGJ XfeJ^\jxsp[]V@806/%(*-&#)&+,%"0'#% !#'"$"''! !#  ! & %"&"  !&"#$   "$ !%# !$#"$-!"! ' ! "" '#   $ & !&!$!(!& "!!"%% #"  $#$ !"!$ $#$" & )!&%*(##*)//1,0>908<8:B>9L9C==<5<:9114231*1.)%')#.%!"+)!$$&"$&"$0:+5.;/17;9=B?EILKGOGHVSXURQSPIHK@D:><3317+)%'+'!#!$# 1"!!#" &!!!""**($+%!(&#&#+%232B8C>:0"1$'"# !$"((-259-.900*!'!#%,(0=W} k([@1.# '/1.'%%%/,51?<@58.7.($.(-0))1-75G^P=`H8##-)&&3#*&2/:5>K?<;5,*+(*'%'/&)12<H`f"$zdB<)(&'%-2+,);:Q\brt~ehD>9B;+%*-3602GXwB%;wPJ@541.3,;FSo% qYOG1=8//;7NTqB/*N|e?951&1.9AAUj3$[{\E=;H:@;DKWdP (6sLE73-6;C=DG[W1+z8tN<@=1:5><DSs"vf \D:1:4404:Ka } QwM>?488890HTt{'l^TF9067853C[m,N{OH1/%-5:AHUsn d dH06-)/./A=Ox/ 8i:>('%"*-",&&')2=:BGFA64023" "  $(/"'  ! #%$* &-("$"&%!#,#$  #&!( )32<?CA1,.!!((-"%%1# #!"++)&.025C]g z&\SMMHE53+)),$"#%'&%13409:Im yss`KNS77@1&( #!$%%,(1+-6@>c[nsSHSCK:879+"(% !" ! *#-7%(5<IlT/vaTQEF@8/'*( $  )$>)64@;Rs;HiSJHJJC7''((##'"-4%./4:C\{g|tWP@I?A5.3!*!%! +-+,7671<<IZr4>ni\RJJ?F;?/5(-'"%#'*#%#'(1/.073GIN`H*}ZXRKC@75;=--+'$+ '"#%'.#5.7GEL<}&ycFO?@7:3-3-'(  -(,5/74AT^}G{,j[SFCA4,920,$"**)+*%.3+?;;X|8G_HK:3,/'!#$!%  ")$(-*15.FWay},w^LD:;3+&%)###!$''()&*3<FXITsQI4E;0'(4)&(%%'!!,50/3GXp*VLyIHD>5%'/)!!#!#'!!"/ "$$ " & )# %!"   ! #!"  (!! ! !"",(<BWr/ w@eJ1'*!"#"67?H` PbgO=&$/$' *7GRI)?!'tT@1*(+)&!&!$'*(,*7JQj0 7mJ=* &"  &%"$%2@LSx3 O~WJ9,(" !("&/NWh."<h@;'" !'!") (249DdHb~[G<* $' !""(.)7;Ns2_hSB6-* #!(! $"!""% $"+$'    $&*%)'-*()-,'%&$*"%#!#&306Wi"m^+~RD;#! !$!/-.:KHN[eaTFO9.5'+  $).280'# "!'+ -7On/}9aX4%4#)'!*<?ML]KPEK'65 &$.=5KXJ!%~1iDJ6>7MdX4T2fYAE2>2Nhv=2n%vbM7*-)%*78AEI=H14(!(+15,6%29Nh'MtJC/$$$*"6.BWl^sucYH?E710)258BPjn*0#z3_O53=@Jk=)QDs*xbVB<DBQd|]HQ@j pLI9G0LYpML%6{UCS>GGZx?/BK vvZJ:+)%-!-7EAAGFEC:620'*0!.+19Vo n11rxYB;2%/'/28>;;BNA=86*) ,)&&5/9Lk!f(q2u^T;006"'23*4=D=<@.---!%%-*8?^s,m#p$dL;/*(,(+()+>=<C:872(+5&#44.>Y~+|  _ SG?-11/=4:95B=E:<65%3)"-&&:=P\@: \wVE<6+/5-4=2HANPRHO6:1/40)<*@FiX# GfS?=3/"4)3!:>6F<E<=119,(:34@4AZs-NnWI@42$)+0237CHC=4590$/.*42A[j[ 0(?dS@-6$-,+.3;G;@CAA8;-'3250@J;U|<5[ pPH2% -30'5BMGKM<FA./+;1,(0=@Es5z(Spk>01$"+#-0)0>A@;9';'.*+7))/@Ve#%r"xW86*&%(037:17:F.(/5!;''+<.;g$)}(vZJ.& *$    051CC7.0,$ !" "   *             "                                                                                                                     "                 "                                   "  ! !  "          ""   $"  " !  $ &!!!  !%!!!#$  # !  # !'$" # !! ## ""##"#$!!!$&" &%"" !   #!" #" # !"#!!"  !"!""!$$ #"!!!#" #!""!" % !(#  #  %" !  #!" "  !!" "! & )## '$ !#  #$ ) ! !"""'#&# #"# ($! ""##! #" #"!""!   # !    "  "%       !!  "   "  +0)6,.,.14A892A;<:?AIDNFDOMHIJTVI>=A?;.<2-2+95.+(3)$"')%& 13%*.2LNMLUPQTY\b_bSKQTOWJSQDGE;CQ=47?;;-'+32+3$%*/!!"&                 ( " &!&""*,*2?>:AObNK[QW\_a]YRaf`V`ort1["=k\;rP1 %5+FF,%-3& $>L% 5BLmHE"g~i?-7DRRPABI=#dK3=<>7+8&(-.Ln <PnEu^7J5-&ffPA?74_xO#gILSqjRJ62"&>L^:1n8m] WN9' j73IawtsgWI fN(O5unPWLBGB4<MFGKUVYRQGB6:?=21(+ #         ,+,#      10Hr~[B@'   '88mhnZlrI?4#  *' #+& &;=%6$$ !&,=UBE/?#-' ) )A3Z_qvx|wqgcYP52-"%15-@MOXmpv~~pg\O:7*     48E`0tsDG]G] bi<,U&:%y{KBy@3xw#F]0#@D5s#Cb6 %S`$j O0 $NnKszI{H/LR4`:P* "FIBzt;[.L;+'Xb=*OQ30Fd-#4gc\t<>NWW* O(7v2[['^l>&EY0gl'uqJ( "_\2jnKBU6 !Nd'n|N 9\5  1Pe+eiO<W;    +9k]~W0]+  )LP*nFzO/%  )!   '?'|CYrD+  5Jq`UB'$ =n|kw#4jC>+0+-Pslr ! )Y>+("'6G !}X7 $ )&)# 3VX6b  R, !*"  .@@-uE[7  !,?PkkvcX;/,A|)sGhzS;)&4\z7y@j}Q,*  '/( 0K>!VhD&    $FO7[CsD$ !,t I|&]P!,:C@/%,Qi8QM1 JA5-s|K02kk0qx7oB4 )YJifazN( '`R$]v&b F -T6R^XzA)1P g-\=5`4'.Ou}VT(+]@d@7\/6jd2j{f"x}R*      !#%         ')2225268510'"'(1*.58EFSY\qsst{xszykucc\f`l`jnc=iZ$Z&3<A:5)& $<Gt6Z/-+y+$Tw+e~q 4!%"&'($(*('&$!] T:rd;! vkjMYORYahx}u\I5  F;vn3dqSF=54.,0.1.,*+'$$    )<b[uy5C-     ""(.:710-'#   +HyYmvO.   &.,3.-(.&#"4=HPY[TNKB8+&  +ZN7J^_/ 8oRLxX,Ar+@=2t:  'MJfD-p< @:[*mIL& &NWuO^U( 9fQCyoG'%?x+C:fzY\-*K|6/?y?%+S))Q>8LbPCY3 +\@76Z=BS34V."-,.X52Qyq]r/^6 2Unj0_8  !"#$% !"#$%""IIIDDXvv   333RRRppp888VVLjjs~~   222FFFYYYmmm}}~~~~~~~~~~~~~~}}}}}}}}}}||||||||| %%%***../11455788;;;>>>AAACCCFFFHHHKKKMMMOOOQQQSSSUUUWWWYYZ[[\\\^^^___aaabbbdddfffhhhiiikkklllmmmoonpppqqqrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqppppppppppppppppppooooooooooooooooooonoonnnnnnnnnnnnnnnnnnnmmmmmmmmmmmmmmmmmmmmllllllllllllllllllllklklkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiihihhhhhhhhhhhhhhhhhhhggggggggggggggggggggfgffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeededddddddddddddddddddcdccccccc<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Fragment Format 2.0+6286200-02 6286202-01 6286103-04 6258005-00 Run Started Run StoppedCollection StartedCollection Stopped POP4 6-FAMComment: a2de3efdac0211dd9a0600065bddb0edmodule_3kV_10smodule_3kV_10s module_3kV_10s2FragmentAnalysis36_POP41Oven_Temperature60Temperature_Tolerance3Oven_Wait_Time1200Poly_Fill_Vol6500Cap_Fill_Vol2280DC_Cap16_EPS_ARC_SELF11Max_Current300Current_Stability5.0Current_Tolerance100Run_Current100Voltage_Tolerance0.6PreRun_Voltage15.0DC_PreRun_Time180Injection_Voltage3.0DC_Injection_Time10Voltage_Number_Of_Steps40Voltage_Step_Interval15DC_Data_Delay1Run_Voltage15.0DC_Run_Time1600First_ReadOut_Time160Second_ReadOut_Time160Exposure_Time0DC_RS_Plate_TypeA 12 8DC_RS_CSDatacap1 A1DC_RS_Binning_PatternDC_Scale_Divisor8.0DC_Down_Sample1DC_Laser_Power_Setting15.0Y_Identifiler_3kV_10sRun_3130xl_2008-11-06_14-03_5134RG96_IndividusJAA313JAA313[%currentuser%]96-Well 0000206138ANMECTIDCTNMCTOwCTTL CpEPDATA&M?DATA&MODATA&MDATA&MDATADATADATADATAuDATAi&M8DCHTDSamDySNG5Dye#DyeB DyeB DyeB DyeB DyeB DyeNDyeNVICDyeNNEDDyeNPETDyeNLIZDyeW DyeW*DyeW?DyeWSDyeWEPVt:EVNT EVNT EVNTEVNTGTyp!!HCFGCEHCFGHCFGHCFG>>InSc InVt LANELIMS!!LNTD$LsrP:MCHNMODF"MODL3100NAVGNLNEOfScXPANLPSZE`PTYPPXLBRGNmRMXV1RMdN1RMdV1RMdX  @RPrNTRPrV1RUND  RUND  RUND  RUND  RUNT .9RUNT %RUNT 0RUNT Rate RunN!!jSCAN&SMED "SMLtSTYPSVER3.0SVER,,[SVERGSatdXOScalAScan&SpNm StdFTUBEC1Tmpr<User/seqinr/inst/abif/samplefsa2ps.fsa0000755000176000001440000065231111245224162016566 0ustar ripleyusersABIFetdirX JI3130XL-17315-01531XXUnitID=8;CPUBoard=ECPU550;ArraySize=16;SerialNumber=17315-015;3130xl0712024 Jul 11, 2008"4ETm*Nq-0AQWKMP8&siV6{vux}E;XE`7]vgeH ~(ra1n:mgTJ2   Cj5Xm/E Cy0@a^o{<HP?_83dz-W\wFwL6 *Nr-WiY9M* o]]E:<30-.7:3EH@ENST^c`k`ld{plpsuxz{naP^HC+&   -39^aqx &42)/(%0)#{qhTY6:-+  +L dD/LMS[q>QlS P b  v 1HxFt1Iy28 @ } j_?|Ing_EJGND6K<XjgyZQK:5#3Bvk{ @3/*/;"tP^*JaP  ~   H T =  P y 6 /  $ A  7  J s U 9 U ? l v4r}{e -=>7A=B_IHXFgPkgum S C j 7 j r )  1 ]  VZ5!B"#!##"""""""""""""""""""""""""""##"! `n}z-1E%El &>E\l&gC 2 !!Z!!""j"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""x"r"p"n""! cyAi) 24k V 0 ! f ! k  ~ i.2D:(6+!`M?3zI5 yzhp{niY;:G4> lE8vU6,&  waBIN-3>:>4@9OKcIOZd\WnklmJZ2RRemutC^z#;JNM^WR:- =q3y@jyiyZIMkMW\bgx{hqtdcNZV,?#mX'xm3iS<u_OI892%&,6Uiswdd\Q[RHEE/21&y~yzvqxhvyo}qx~{y{ympjdeeb`ZbS]Yckgmq|toqqvjbcV\Q\OQFOLJFSOXQK]U[e_mrpqmltburqm_edU`]YWJPWRMLIPWAHCFD@>>9>87=:<@/;.72/02245<55878>29;874;0-,1'",'%#'!# (!.*06-5:-1&*) (.+3063-,"$!         !")"*/+(28@C>CRYXWgqjde^C@20     "&"*(/646AA;:?FMCLIECCED>4."-/.&      #&*+3-3>:<?6EBI@AKHBC<7/4/+++)4@?@BWZ^]g_c`S[QF;43,'&#!$",,/86@GZ^gvxt| (\kFtaPRFSQal}Ad<qf E~95g\ mE&*1Lnn+ p(WPa]  11.s} I sh3(Vg=).@\: 4 L/ R w Iz 2u5)PX`2!)07GPQTROIA3)$  ..*6@8-## 49CRZTXTH;5,!+=Lm4K]srkV2 ufYOBNUd!Mq|pJ% c md:66L:>|hB=@Rv<(~ h#[' ,W"I]Xh h L i t \ =*\<40>hurW,YQ*"TiLv)Vj>!#;`H zB-x;L 7 x h(e2"FvRI0'  &%86=ECC>54$  8EXmmztri]H<0$ $5EVinaN:# #2NaHpr:#{*_"JrjR#Q}ttt~Dz.c|Q%wOCl1|w;I2W[br_R__iy)5FkkfufW={pdbqS 'BB2_4hUJK=JIf *CxV0 YNwe0}M zW/ ~}v|yv}z}}uv~rpxplsrskhcmhups}hmoxweffbjnpyiianpikpuaif`qrbZikfbojjacqowhdemldlpje]tkkheeifrk]lnsdahhiegwicnnmrokrpponhfjdfuhrcqj\piqsnjpnioutpjhhslspqxlhpp[s_dymszcurjqmytfoslpf`jeohgzyg{oqlpnmrrciqpy^ji`_cjic^yohcmmynrjypgpsvfouwutkzjyyliofqYntjultqqpz}cgyhppeerm~ukrpspoitgtgkvmrqwon}owksprwpkkvko{ekdyzhivsnvmtlrnstg{poxynhtvxuulwmqs|qsqssW|qoqpoorlyqpkurqjtspqpnwvpjkmso|zqhjfptzzr}tqyzux{ypvrfqly}wzkrvhp{z{{stvytpop{|txytxz}snt}krg{nrmfkheuzmv~ip}xiusrrztqwp{w{qwjr|mmyvyxvkvtuxzwo|qrwp|ruvvqu|kzt{tw|rzzteywmpxv|try~u~v}qosqtwxou|p}xw|}l{ulrxyrvkpxh}zts}ww{~upfx}~{zr{v}spnwx{twu}uuslrnikuj}mrou}spksmsdzwtv}yx~nv{wzvwuu}ru~~yxxovyzvnxsx|ovu|rnqvqt}ztiw~qsu{vw{}pv}v|h}u}twqww{rxyvsrvvvjqwzykut}txpuzsw{vtxyxz{wux~ww~q~|ul{wyuojzx~yxvvsx{{pukvpv~z|yprn}q|}sz{|{iwuwwv{z|vsut{{{}w{smqtnmvwr{umuknzx{ws}~tsu}~vzrurvuukxqu|{q~~|r~vx}ozwz{}|yt~~zw~y{u{p{}wu~vnk|v{|rr~uzy~xwv{syr~w~prrt~{zwpswz~rqqrxqsswwt|pmrjsryqty}{rt|yojy{rpt|}rtyywuss~mqst{vxv~zokqsl~ukzui|||sqt}r}vkvxpgsrssvns{|~qwmkvh[rtzptuipoxetsjut|stzoomtnzqpkbjzujlqtwjjy|nqipyzush}o}v|uwunsghyunggozztyo~rswlxq}w{znrnmysmjohqu~wrxzwxtvvwszzvlxzlq~l}}ytuz}{uv}{wqstirscprluxkxp|}v{p{cvnyunpwon}vit|krzvqytzrmzl~uhlnwv|nxqygrvrwm|u{yxyovqtw|wrkrh{|oi{{mztlyoqxiqv{yxeuzusvyzpnslktprv|plsssyqm|vjsswotwyjs}utysf{f{ot{vutpkksrxvmuo}lwtnyutt~zx~uoqmtkmuxxnthttu{iq`rnuyqsmsrkkckrrn}dzxyhrzrotfeqkysoktlw{xr}u{twx~~rvqpnvlmpksp~gyouuz}tdnvsmr}gpt{xiilxjqlzrqsez|oqvmlwsowvjowsopsuuqlsxto}{k~oywqmx}otytvuej|jjmmqsqnizyrmkesyppnsmjsrqxntookmhlkhpilq_evhqplxyokivicxtpnqsnn}njlsr|nxn}~|yv{{x}u|n}uz~|u~|{}~zsxv~vvrx{zww|tzvvut}wzwkyzm|xyqvuvn~~w|}yvy~n~z}ozsz{ny|{qsjpvsxyuz{zsr|y~~|{~}xyq~qzr}vq}t~xqro~u{xy}ww|ou{y|yrjjwq~~}x~xto~mjzpt{umnw{{yvya}|xiswtrnnq|mtzkyzspgwpotx~vfvuwiwturx{zlnloo|}xutus}qwp~orlap{pzsznslwsl{{mwnvuxv~~ztughko{u~cwpirmtxtwwutu|osoqwljyv{r~ls{rhlxqvrlulqjrpp}}wqwwo|qw}{ou|u{y}ztpqmquuvauxypmmrnort{{|nylylr|lpquusxkq}u~wmtvmwlrnliyyuj{xysqpvht|rczn{uruljkwfqvuspgnuzu}uxwv}xq|w~tp|wnnquqrtfxdquzmm~t}ozsgtorjunpfrxs|ltj}tumuux}ljwqqxpnxmy{lnqxormocvk~sqap{zn~yztup{nrvs|ivxtnyupzsr}vii|hutpim~vnw~~mhzwnimworvsqmzvnpkwyuw|vuxxvtxnhtuh~jtv}upyn}sj~ysrxuvuqlrsuvryu|lx|xyuu}ql}pvthnvopuspyvutwyxgq|lv|oqfuqt}v~etrquvnmqekrutoc{qerssvpxo|y|~vuuiunqqxp|q~o^mytrfuz~su}y|xwvw~ptnrum~qpr{~nbgqtv~i~ypjzuwrowjruqolkropthuwqqptnupnykvvvuu^n|luvrv|umfm}pprmzxjxrhnp}t~gvysxzuu|qkgpkpar~uqirsrawdovbqsk~jvvtvvl}mgby\hs{tlhuqwru{s~ntpyvmhtpvfvxrqqxkmmrnsmlqnsgkrlmpiszklfmkttmr~tkpsiswzmjneofhvpltbtlii}rl|plulzsoiktslmprjs}cSufvu}ftfkfk_wijlzamqzqphqklnjp`w}sulhupdwyfhmooknejehsxvpuprnqfvxkrusyylnniypppqqkqqstmorm|ihugajskqmttndtiqi}}zxrssxxmsrichnlwhopkjp}tmmhefekhzpsnuhquhojplryspuqwxyxswmjsnqwosolsuploqxgwrurrkqposttmvjmsqiysotulinsmnnmtpktfuircprtgsnnwvllprpbrkqomsvkokwpsjkozu}iyohrpesrlwjtysapmznpcrejmnkqtyzmn{yqwpzxhqonwhjnaudtqfxsiqvrmwbeijupnreigv{xzvpylpyrofkefgmf_cfn{rlmcrytplw{mnpqqodlbkjsmrmifh`dttkjccaqmkqmsxerwclu}mrkillnsocgtuoerppqnf`hg]^asp{upifWrpigoimbcjmpqerrdg^moelwnuwsr^hswrgc\bqlbodnkjvmcjqhqozjgoes\jo^humpugvfi{squkmhnpikwqb\rjrivsjpkqppcnuauigojikjdlpoirzvpukjifrphljwmbqhtmwtrknmzsusu|xwropy|typv}sstz}t~}yonal|~fkohtthwertiohymv`plljjknopvyjbfrwpndijojzoifhsaluhnnqqoeammlmkmhuhqtymwizpfpbgkflfjouvrukgtuuijyvt{xlmo[t__rvrjzvprdtmotthrps_jv]kytmmogkonxvuqfqnpiukhimtrtqpwhoovdsiwwoujnkoqomopqnwhorwbntxlworzxoemtzq{zni{susrh{iorkyuvu|wwzzprvkisvxtmwxmx}xv~ukrkvrswtbsxxsmvxvrwvqqqsutu|}{s}{up~}tvyyxn~nssuytq|tkrqxljzjk{mxyv|u}ww~u}oiv{||{zu{xrwnv~s{qttvv}zt~y{}zw}v}} 2/`kk&,N} -CWhhzxw[ZB' {q|:R0YdmeJ n[2#+JXDM=Nv!@;@WZ\}|]Y`G3 vD*YO@#  {vya^Wba)2B11M&3<G9KLFU;KSUEUI]V^ZVXJaFSYEM?;?FLaYPKohnjtz '-9KNYP]lflrdWzSObHA5?tli\MA>/&)FViu   AWpmq~F}"wY# (NP{0Lvg5Er}h)k~eIAI9Yr7:C1O  I I j q  _ .  } P @ ~ Ev&C>dgg3T^ W Y .f@jQ1  5dp.+d  O s  s 4 t ~ = Om8$Tox-  'JB1o A>BA7?( 99UHmEMGT(y6   u'*t^^=GR\decabcfg`VMC!9*20a_XP0~`QO  5Tr{H Ds,q<fghijlmoqrsttsrpmjfa]XUVXYYYXVSPLGCEHKORW\afjnrtwxxwvspkga\WRMKNPQRQPNJGB=83.*****++++06<CJQ`lxq]MI_<4]S;  @ & A 8 #  * _ 8 H m E 5 R *x8 h6 CbrjI>'j3M,zas_`Xjw{/Rj~zXU3S,:C<:j&QRV$~`G" *Os Q*pmtnXj]ajZzluMXOJEJ2A$72#>%!*+.*G3G7KL/SD:?K;%'++8(6</0,8&    I$ <33SIGW[eqrj~fsj_RaQ7.''xzi]lljdvzyv~nmkmboj{VVid~`cedcetrn}~smw}zm6Bele];>@25M^wY4x t2ne~T : u m Go|wy0 uun~Tilr\xV^[VR_FZNF8A.##  ) "(2--8$31.+* }}v}~||}})'.(BN@Nf`bfe~zpyprdWM<<.#) u}{~|~|zx|}~yxy}}z{u{~}}v{*!)(7+77+,7B50/"&$# q{|xysqx{hgtyvtsuwvlzg}skozu{znz|}nry|o{srvugu|o||nnt|ixklhx}snrfutlq_syvzsg|pfmipwnhqtnzuv}|pmymq{svvc|reoelzpyppy}{w}pyx{vy~ *84J=SEUoyq|b[WL@0- }||ctusrqs~x~upkig{{stz{hkoxyvr`pxvlokorjuidj}zlsfkknmvxviszwntvlvrdmxwvi`pgojyju|xopkrqnpo{qol~{vjo}su|xovr}xpmtspn{ljo|{}rwjwz{~rw|tzmk}vxxnu{zxqopw|}yy{uq~{~}xx~|uy|}z|~t}~|~qytqx~{suq|ste~qzy}}xvgk~vmwpu~otlhqxpynyqvtoosrjrkkl_^klhhhwhbbkgunkppnhkyqrozonfpqrsqkslnulklniusqqmnqnoskuohhb{wkbpjbergptZjowvhmfqcmYhswklwmqlougjnwlhfwpxlujuntqzllukipcmsmrnzdil^lmaefwoxwintuufislkiqhjph^wws^r{pglxrfspbrgjilpmietkmxptgnjnhqnuxruwdkoyepphkgo|wr|sxo{rsnnkhttqnwtrkppkmminqpeljtwnklnhkqhfpknercnmmvlcthitihwjxbvox{hdjgysqq|aknxhlcivn]ihkjm{pcbprpzkfvunupdmoh`lkbopgmmpqxpujoloifpljtoepqdatukulrkwwvtnoon}kpmmfd_etpgcl}lhtrrprnnlpud`dnfegrlsetmfhvly{rtzusltozkittdpzggffjqnmfioigrptopsfrpcggkxrtpkmnnsusrzy}uxlfrvtglyeappvmkfti_tzmnotdlnxi`doksmbugeifxtr|~pqnms`msie|qdjrfmlogqhqoovqwjwsuhhqp]hjh^zmijznbkosrsefrmmpkiia~slclgqk_cubjlrua^g_hga]phpqnmsjqgwtqzudymotyciclytdllnrjkepcijkgmopk{n~\feleheV[gafbphjiopnfhi\irhbs|pojp_gj[b\wjk`Xlkqhgew`io_ecnqnpsdagosnknqmhequrwsmjncofcZ`llmhtslecokbjnajjkctjijlkfkb[frgrme[nbjdmoYckgtljlc\jheiifnm_akriu[ghhq\bjkiqpoiuesslfkni]jejxtst`apkkmjprmejocljkbbblghiorhrnl^nosyymj|lhzgyjnhogugahptVib`kplbmlce\fd^ldlllbbclpn`trj]tddtV[`gdojldrolmhrnjqi_pdmj`dncboncocccgl`fg_iOa^aiqnjc]cejajsojjnl|obqonljg]`gnd_vyq`^cre^phpnegkeYrykrmgg_tqkzlcgajymafj`xbhnlnwcfliq__Wj_^hff^bklqoWjjhncbgglfprrj]vpppfvwspl\phiangaqo_ecf`]oa`fkfmh`fabjjxc_ljp_dheffgi_d[r_gdhleeocqquhjqif^\ppY_ojejclvjbmn]nowlhknevrot{cYhfkbpwmvusmeqilo\bnogmh_dtoitstsmlksscdhtshrghqzivdngpqqxt`zs|de~opszu^jiegtpe`ebuiucmjqrtydmqhfvthee`lawghhhofvitnnpl`_qplhfp`lyixfovyptv~x{~ "*;1;868/;CPJGI[_LVXLBLMZOEECAIRML>>AMJ)9-#()  {~t}}xykiqn~Nnwodoiehhf`kqknjK\XNQD=!v;m'<^{]7N:-R|s XKNfMs{ylxkuntwrnnuv}~vt~~{{omufmyv{aprljih_ocbdmeimjb_`l\jin`kmjbf`emiiijeYcpilpgihb^fkogYenqnbjpggdffgquj_jZlmtng]jhnj[hl_bopeckurywkpjlpvorq{mkkluyfwjsoszskzznmvnwuxxljgsiirfvnprooqxnyoprw{zdybgokqsid|qanlnoqcohrginnkfkgtdj`ea`a[bdghbn]hbaeqee_zpa`lmbiqgrg^hg\kpxbpdxc_mk^eckwfmmwchfujeo}rojoqkzigkdp{hfcenprhtu~gijvoqfjutqpnqormmowlombov~nvoprrth[khmhpfjc_lf]isfkdgW[hgliqd_k_n_g_iYXeRkV\R]e`NNgeZ`^d^j]ii`[^mndWdnh^ZOoR^f]gZRMRj]iPY[iV`kk^\lbe\VHZDWjcJKSS]XU\VfcgZh_l`khjscbj`dldb]h^`cYkbfZYaiT`iblg_hcj`XSUbbTdbSgVe]`\MM`d\oj]\^`]^ki_de`pbM]V]_c^XOSSSaXUX^b`bdUX[_jf\hhZaSHWKV^BSO\^jUb[r`^fVdjgemkd`jcfafdlaZm_da_`c`c^hfWYUdi_cv_[`]bZbTTTac_\c`\XaVNb]b^bc]beo]XcgRbPU]aYT[TU]dNWX[WTX^W^[ceOZOXg_da[X_^U]VSY\^Xh`V\XV\[MRU`TVaX`YRPa\bWWZSd[YZhPZV\UcUV]d_Q\ZYVbiV\deI`[ZNQTd_Wnkh`f`^YP^`YWkZVi^e[^_^\^YUS[RWLVXSVT[WbUcdg^RS_aUahU\`XWc\lUOWZXYVV]^RPX_P^YT`]Y]Y\dZ^^LaZU[RWG]M`X]SP^QcYXTXUUYSZQX[bROYUaI[SXQTQKUQMT[SYR]]aUT]\]_fo]aWY_Z\RUY[YVORWN\[U`NR]I_[L^PX]da^^^JZVp_ZI\a[^_ffX__[[[ZFNK\Y\TV\_TWPRZ^W^X`^VXPTRWVZWaP[]FQY]V]P[ZUYNMT_dc^_][R[Y^eRXPa[SO[`]k\XhVRZi[aZ]YOXQMhabl_`\OcS\QU^UbX[]ZOZSUd`O]ZjTVY[bU^e`WTf^_P_TOZ\[_aO_dSSRi\a^bTWIJPQJ_f`\]WT]Zb_T^bXDWV\[NUFZTNT]TUTLR]]eRV\VUg]N]WYb^_ROVWeZ]XWRYWVL[SaXZGUXNXXW^[K[ZT`PWWe^ba\]SXSfPbYUZbKSVUSTXZWUWNTX[ZcSZ\`YWP[\WUcZdZ`]c]aWb_^[[[ST\U[[c\h\[SX]PG\ee^L[^WQOYVYRPPa`Q_V^kXWUZYiTWUUWXUfW\ZWUZLRcYUb\QdQQOQWRNeY\dQcYT_OU[ZIUZiZUP`UTVHZbebXbba]TJQSG[]RR[a]bYZYOU]NhZXYMZSV_[PZaX\SRW`I]a_YT^YSXZeU_b\X^[Z`W]XX]UPXT\TSPUba`^^RIX\U[XNdNURVQPb[`VY_`[XUX]_^`]YMW\UX[^fhaaVUUUSLXbT^ZSTZf\X]ZXS[\eIW[]PVWPUQ^YaWQSS`XiOWXbW\L]_V_Uf\X[XSKX^\`VV[\gVJ[^a]ZXdOWYTLWTZT_ZVWYcTT\bZeXefTRTg`]UUWgW]^Vf[P]\M\\f^X`[]XZ]V[NWRUXPgW_MCWMd[ZUYc^K_XWgb\NV^`ZJ\TgVV\WVcf]T`SWZb]Tb_NRXQQQTSVY[RZW]YgXYX`S[QZZV^RW]QTU^Q_fffY\_^a^\U]^`Sb[dfVZUWWZSdYV]fcQ[`R`ZLSV\OWPT[^Q^aYOf`LfSW^P_XaZT\Z_\NUFU]\`gbb\j`[]a_ek`Zbl\g_aPjNLXTSW[Xf_`\bVPG_RYTSUfV]__lidha__eVmfphjsq~ipsrvzjj`[d[\Zh]ea[aUNgfb`S`XWS`[`Ycbgaora\jol|k{|xtjf[hl``fb^mk_gsZisdfdm\lijjvbr+HIIGCLC>(}zwimolxnnljzphoqtm{m~~ $4b)&8D?;?"zU%}ppvsoovmtrbrhaa_]ojepw}-@8FNLGT?B( vodhtpsbrshwphhq|yoss/TiwkG8qvokao][f[b^f`_cZh^fsc_d^\Vcddankmyzkytloulys}wkiil__X_]aW]a\]SY[`gQ[L_Z]cdcYO[Y^Yicdfco\Z`YYX\X\[_][YQ`c_]aXb]X_^YVgPY\S\\WWPW]^]d]X\dab\Tlgf\dlh_jh`]rZcWb^c]YT`ZU[SYTX]TndXZT[Ve[TYaVUYcLaTVWfYX[]WeUT^eVc^jc^uaTL`P\gVTWWQURTW[aVWZWbUUcdHZc_\QoUPU[YSUe[Q^`[e`gUSi__hklW^ZZjvYb\`SY]gbaYe^_e^X`SXNfbicaaUW\`gabsf\_ZOa_idlmYb`^iW\`cocT`V]b^WUUVTg`\[ZTR`WY^i[a^YWiR_oc^oWa[`\^[a]UZ[i[b^^bll\\`bdW]hfWOc]_]]bWbX[[UHadZW_a^cer\_Vi[bRcfgY`hbN^Vfg_]eT]Wa]S[hbU]QWWNb[\aeb`U`]PXP\XVXWT\\JaZ[QZTVZHRX]dTXZP_XRWVP\`[e]\mVWFWW_]_P]hVY]aS]gd^YcbeVR[^QXc`UYY[WOMTjea[dTXJZ^QXP[URW`eYQXYX[WKaXYXVQ\]XZWSTPNTPOWUJSZX[\V[N[aUYVcZGLIVR\POKTU[]YcTLWVZTm[]_k[FK[d]d\^ZV_[UY\\^UWXY[WORdUFVZYNTU^O\SSYPZXVGSb[VR^\T_ZXT\]LYaWSXNUXWgTTVd\MOUXTDSPLZYV^Q`URTTQQ\UQOPRcPX\XT\\_[aXWQWaXNLNPP`\^\W^cP[YRXSNUPOVTS[Y]Z``QNZSZPRUeHOTYD`RT\UIFKP[QVYXZPKTWYi[UaSQRWa^FYbWfVTKWGNT_X\Qa^T\_Z`jqR^Z`G_JYUL_dKZWWVZZYb]VR`ORX[X_`RTXS][WaYZOP[^SPXVT_aRSHh^LZWQVSViWZSOHUFFUOQ_T`ROPWRIVfUTCRUTSGR^Y\VZ[`]OVJSWGHN^ERXT\UKWVS_XbQWYbU]NNQGVTYWULPKXLILXQUVOHMaXPVHNFRPRPQYTPTa[WSQPcVW[NUSK\YSI\NUUSWMW]KR_[_]ULR[QI[RWTZ^V\aXb`WIZSYH^V]cYbST^[XV]\WV]B_^S[YOYVbSa]O[\\TY\RN\]Wa[W`ZLUWLU\TPKUUOORUPKOPWVKRST\VHX\[JYZUKVMKSZVXdMIIMHTPZT\ZQFUbYZMVcR_eWUMWNPNKbYOXSUIULTENQS\FGFTSKS[VTSOSL\\LXQSOTVVNUfPRSJLQ[PVMOR[\TGQPHPUQQ\YcVZVS\Ta_Y`SNQU^_YW]SYNBTXaXWWHOX[PVRW[SIIOLOWHVTQTUNRSWPPQSDUOUVRUSXUXUXRRRTZFSRSMGTTUYXMN\NTQJUKLQQKLWG_O_WWSLcZ\ZT_VSUNYZ`TX`LZQLS\I[TUXMVNPTOYVLUQUVTQ\V]HKKXNZUZYX?RVY]HMMPVQ^ISPPLX[[QWcTWL[ZTXS_SROLRYPX^NI=GGMS\RGWMTCLFKPMR<=GJKPO[TPRWGWSSMRQIYQQR]NGPOSUNEHJRPHKHPHHSNORNZDd[UNNR?KPFVKUIAVMGZS[K\XTHH\SZKPP[F]UYVXQHMQQYGSFNNHNKMWOOFFaS`WLNINVPXTTMRJWJUMaNPDJMXKYXRNYQVQHQSWOfb^SRTWOBL]Y^@UCMHDBIH?POIORJ@POI?KKJWFFNMO?NIVPJEKQLMYSTJEYHHSPHJJJTVEQW[[R>QIMNMLNQ@TRHBT@JNKIKEKIARQVNOEbKSGEKJ\KOHWPXLIMOTMEHXUQZVMORWdQQPRHRRRPaNLBZKK[NJMEVDGROTITFGXPVYNJKIDLVR]NCKCTOQMCOMPLJJDDIGECOMZHOJ^RWPNRDNOHLITRKLCLPPKVEXOGEXMGPSJFNBT[KPWYZ?IVT;DRZNXZTIK\VNMLQJMNUNQURMNEJQWE<^bVHWMP:LRNU\JVIMTMPTNRROPL\PVXOQI8QHNQPWLRRFSPPHKKAHKYKM?WEFJLEPWLQYGAJS=FIIJS@KGNRXIIKI:VJKDPW[VLEQILSYRLLSJVSPN@UPY_RUMSJONJLKKBMOKUCHSPNTQP[MABI[KTRKRCKMVBLKKGMIQHCAMQUJUKMOYUPMKPVSDTKZXJGQPMBVOJJPJAJFEWJNPHFVHUVMNEEKPSKUIURF[RORJIIKUWPTOCPHFLRPRPQTYNXMDNLMVGUDVRPQNJNaOOKRMQMDLMIJ^TPMMBTRNIXRKXUYNSIRNCHV]QSJZPTKVSXOREVUDTFFORNT>KSULMPMHPTJQMOJSCHIQMEYLEGIHUFPSXRUNCLNBPcOPQLZPUTHTTKGLOOCK:CEKKTWOOVQPIGHODSWOKL\BJJSSNFK\LSNLIMKQTZK]IN_gNSLIKEPHAMZFSPIDQPNQTRUTQHGM[JBLHRNGMFLMNUGLY\F^OAFSSMRHMXLGR@MMDKKD>H`IJMGUSIOPXD\MNIZHWSMMHTKKIVRTQPOBJGPUJLDL@IKRGP?IFLLKRTFJDIBJAUMDRVRSGYNVMXNMOPXRPJCPOKIIKHNXNG@RPOTZHRWYRIOKBJSUWIF?UAIKHFPTXIJMQRSTSFGTLNXCV@KQ^ALEGPDMSJQKM=EYRT[NICCLTKKMHDTEFMDHM;MIG[BRMZSPFGHDUFQQLHMLVMLKUTPFNXHPRKGNLGMJMLSVZCSVNWNINKBGPQSLOJOCVMJRETMPVNLJQNAIODNMGPPMHPRRAWFHQN?IOPLLHONGNLTLNNCMJMGBJESMICEIVQDK^KSPCKOHVVOJGGJMKJXHRKJTNRLSFSMEFHSRMHNHUHJKEOJMIIOKRNFJLRIOSJUO]FORQBVFTOHQRL`OSRNIKFEIORKWNLFWJHRRZUGHOCFOIXPPIILHLRJVABMOXBXLGLDIGMNMTSLMGHCKOLOOLJXCZSTASFKHQODOJTOMKMLBOPEKLJKASLENRIEOOUDGGITNDGP\JD>EAIZRQTHSQNPMKFNJSSPRUHPVNQRPIPPTKKPPUK8DSFOKOYJIMFLQP]LQQLJFIBJJOKMQJHHMKPXUPLHDT>OYJ>HRSHOAK:=AMUYMLMSL?EUEIADNGOIVJRPWZOHEJSOVCJKPZQMPXSGJKHIFRXMLHEGQKNFGGKFGYPAHHRE>IA;IMUIQNLIEJMPKBNQSeQVEPNb]QFJROKPLMGMPQTUQXHAIPRKMIIDFJ>WOOOPV_HKKHFDAKJKLBPJEF?RJR?UQLDPUKH[QK;DIGMHGKTJA?DQYP]EHCICQHQFHDRPNNFRVRONUNLP_OGGFGNTJEIHGKFTLSQH@;THKOMBINMEJIDLDVSNHIGIMNJIPHIFERHJHKMBRVANWFOHIMUFI@MEICVJLOHJOAMGOITKPMKP@RKREJ?6MV[QOM^CP?LROLFKATSPWXQKKTLKHCVJKQRLJMLRRQHNHH?DGIJONGTAJESOKN@?NMLQGQKVBRVMMLOHPMKGCQFJGJMQMHJEJILLSEAGUGQEIW=NZW[XTIDHXTKDJV]GEJHIGNJGPTFHBQJKJJA7DTDTVFGSJMPGTIITBDFBSSPATMK@FHIORUAMNMJJIQO@JISTZI;FPLHORCCAGSSPHERIO;RKF@LAI@HKSCDNLGQPDLGLPeO\EVSEBNKNKIJSUEQJDNHGGFPXRPMHUJPKKU;>TM>OCHKOLGBLIKLTKFGHEJBFSJILJLEONKOWH?LHCJPKBCLCGLWRNIAJFHI?TGKEGK@BJNNU?AMDGIAB=FNINFSSQ?BWMUKRECTIIIBJBTNJSQOLXGDKLILG?AOCKKMIP<9NEJAAHKGKQLWIKM\HKKJSIHRJMIFGQHNIQHFOLECOGOOKFIAJKLJJCNINPYI=LIBDI8FHFMJI@?EHPKFLDNYRGGHJJAKLLPUKDLLHIQEKLOGKAMML>KOHTKIST]SUGJNJLIN?MV^IOCHGBNCWEHOBJ@FOPRPLHGDUPFEFFJSRJMHNBCJKLIAAPEIHPFBKLNFJIRMKOHQLGVTFPQDFDGPJNU@GH@CNODODHLINGFCQROLJWUL;KEHADHRAP==>QM?DFM;>FMOGMKKIPC=EHTM?IKQQRPDDQF5QCCEPDPJ^NHLLGOTB@RGDGUGFSBUJFENOPHGK9;PSLNQAJGRGMMHSRCQJLPPGRJHKHOPTHGP==KOHDNGBHETKFC3?TFRJPQNELKLHGPDNHGKPGWNC@EQLOIGDOMICVPAAH@CBH9MOUXHEAHQOGNE?LFKCFHOF@I@FGFKKKHKJIEMLOLKNBHCTMKH?GOMNFGMJJ?GEIDDEEAU?CGJTQCPKX>JJPKMECMTNSFHLMNICJNLBKHPNCCHHPRDBEIEUPBHCXJLGJMBHU?MQJDEBJUNI?[DDKSHELLCQDDNIPHMEDDKEH?IPYSIPPMOIRON\RNBIJOWNHLLJFCJ?ACGSPDBRMFMVBM?V>>PINHFDKIKL:LDJMGBKJHEPYHA@EKLAKBFTHLKHIKLED?MB@NCI?QLMJSOGEKJIPKOROMIJADEEFKLHVCDIEEMAPR[HBAGHEGAIQ>L>MJ:KH@@SPOGRKO;QJFNHNKNCKQTGD>?>HIJIHFLJNDELHBB>HICNHHRDLJKJSYMFJPSHQKICJ[RHQLNJUE=YJECJMULNME9HINOH[ABI>D\HLAEMDFFLPHI@OTFKENJFPKGEAVKOBGM@KERLEFG:EBZIHJJKLL>FGVT;JMH\N=J=HLKADHM>HKMSPUWRBJLALL;EE@ISKQDGC@KJJXGRMM@KKXLQJRMLTRHFJ=MI?TIE:HIIISIKAHCUEJGLLOHGIBEP=AIQKEOKGHKQS?MDHONJBLC?GPJSLJKK\IINA>CDKMIKQK?JHGQQ@FELCQUGBHXFRAHGJKUJAJKHALOKLGIQAKFM>PEOCEODOMFCND>D@JJWMQLDVHQNHH?KCOEIVHTNNEPGLGGJFBFCLLKAEPGJHF?FDDFKLE9JJJ@XKLKLBQPTSS@JDSGFLLNCLXTMEKQ]JG>DPIA>CIIKGQML@F=DEPKSEAC:TCGFOOMI7JUFXKAOPCMGNS9ACNHOLNBINJ@>IKEOJJRTAQM>HLA@OIJTAE@FVI<@HGCMOOIGW<:LQTPB=IG]EG8GV^MOPIILDG>C=OJPKHAEGK@RJECGGBCHILIDEFDKMCH@EL?H=G?CLPBOJLJII@H^KMD:CPEIELEB@HJ?:IGHTLJTMLDNXTEJFE@INMOLMNJKH5EIEI>R8GABAJET@?UCIFH=IFGIWE7CE?LAFDMCRUREQ?JDH?@HAOEMKCADJAHDOFUCFJBDLN@GIFGDJ?POCMOHJBBEINJHT?DPICR;CGKUHJPENDPQDFKKH8HC?LDKHQ>CGQLFJOIKN>MQF=?UM=LIJBGWBHLFDFGIFOKJBB@N;DAIB@KGC>U3L95BLMLROIDUYAEEPK?CEJDCG=CA?IKKRIDJDAHUN`NCF>QIE]E=GFTOIMFRFE@K>DKKJPBKCI@HDKKHLRJGLEEFKLNUJNIJPCRMGXM@?GIG8FX>HCDAKAK@GEREFK7CEGENJHLFDNHOHTMKIJJAKMDNHSNPKDG1@?6QI@IFIHHCBMHIDIMFPFFNI?LFQQMJFA6KNMCNLFNLB>LILDECCC=MJEHM?EH?GV@O=NENOHOBEKBIQGH #+ =A3DT`env|mmrfVXXWHDF:>*#,      !#& '$ $'%)"#$%*##,%) $ /"!   2$#:JSVR5HAOKA:\:TcC?<@7H>::298)7L:D7/A67W8FDXRNJ]gnhwsnjvy~}~{udwa}lspmgfdce[jY\^Xt\ggmci{iqwp]xys~tkyztd{iSbrmbhb_V`sklt`k~to{pjmem|ilCuI4nD:D=XFOCEOYI\_Xmd{zgibjR\gsju 3Fed$xxHB0@G6F    %$43*-,B.I]Zqm-@J>YNZe^jkhsr5JK$ R (Ny F 8  q k i i k q +   *n C v # c [ : 2 + g  _ 4 } k M , N 8  Q C 8 - &      " $ + 4 < G P ^ e _ Z U M F = 5 + %     ! ( 3 @ Q b t i P 3    $ < Y u  3 O j 8 s 7  +:J o   XpZ>_G4yB8A ;BOg(4F.ogce]i|u)6Zu5t }N ^XP "~wmy)p9! yifF6,/LhsvZ  = n w l E A   - j  j B V >1OWgAM8 # "  &j2Kph|ntxvrVRLC>/=$   sjd[DG76.%  &   z~gsu|okovuokiegdreaz]maYZilhbfSQbU^ME@7DI8F7E4=:@C7=HA3?<D0>+=) #!$!%"$(--'#,!"""                     ;1JZwpg`fSJZMOYXe_tyU /Mg7Qz WW o  h P r } M   o "3p{$` #<gg~aFeUI<    "$3.9EKRPMZXWlXVULDG411. #      %#54BWhrwUM?')  '( %27ETs W1o)=9/V|X;@*#'%8/,,@VH?HOWO^]L$pW[P % ' e z )  ,B+3+5o@tuZ]W[MN]OGGMH/ *    778>UPOTaVPQMID)/$   "&)=@FFBCC6@;8/'!  -:AYq :,(dE?3"    -:DL_H*/v4-5fG=0#).+111<28@@?<KY\ Y` l@lQWwm^E6-#%'7& "  (-C;EBDQECE-"   0-+.           !$()(#*!-&3,"')$))+  '$"%$$312-*6/1=<P=9FEULK@=<>.(vjb  3k'#0-/E JTafv*YF.7ud 7 pPJ,Bg <,l ):SfzH_ zG))DwtQCqn= <;|7*c$gef)h[ k K8t5 "8?NHPf^c~r.Q]@[{r_G:%-$9Uyv8   [ HO~S (?e(hynWSVQ_jfx><( 6FN lbIM^NPOU^krl]ophWR0 qR(~YE4$zhSC(|kZXOEE;/'(     20AFPQLLKF=:9(4:9O\{.j Rc)|,s>vpefj^ZY[[YTQPSTQHHQNLIHMBKGQ>;?A?DBEBD>C<?GB:6@:6?5:6;6375=6062775.+,5050-4'0114,+/)2,,.((-*)('0(/#'%0&-+- &&'&$'!#!##""%" *+)#& &%('$++.)$2(*+#%$-%$'!  "#   #!'#(,0/558EOas3f^%6$q2n;haRCA66--1%)+#%!!#                               (#1=?ISYdxT#i&C^VB^ f&vRB52"%$    )*18>Tis0^!mBj-{*z4pQD8-%         $*2<GWr7w `M Z;?yfK:4*. &"           !!/8AKgv"WJT6SWM27kM v[E40-     -*47G\f2tw1!ERS>]*v(ujUF8/*)"'                       #'#+.8G]k E;c/ly?x#n dSC;0$)'                    +)38IVoE1\Ov1+du@ yqR[LNCB:04*#&&                   !#%!%57GUh+lyN/@|}JCJw[jX@931. &"            #!&)!.8)4ETdHCm({|8zHY~udRC<7-(#!!             "(-/0<DGWxA-eCteN@g]PE=7-2#                         $'()36;HFWi} @x&|\P1Esl>&#;9mVH=6('                             !%,*6073>FU^sO2^N.ft2BMhl*mUD<:2(+!                               !!'"1577<R]m,_C bG,6kte /eu3oaQC;30#              " ''&',7=CGGhp:wYh?Il.)Nuz5}^PC80-+                                                                        =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01     =>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01     @@@^^^{{{&&&9DDNNNaakvv                    $$$(((+++...111343666888;;;===???AAACCCEEFGGHIIJKKLLLNNNOOPQQQSSSTTTVVVWWWXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWVWVWVVVVVVVVVVVVVVUUUUUUUUUUUUUUTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSRSRSRRRRRRRRRRRRRRRRRRRRRRRRQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKJKJKJKKJJKKKJJJKJKJJJJJJJJJJJJJKJJJJJJJJJKJKJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJKJKKJJJKKJKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL !!""##$%%&&''(())**++,,--..//00111223334445555666677778888899999999::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Fragment Format 2.0+6278250-02 6286202-01 6286103-04 6258005-00 Run Started Run StoppedCollection StartedCollection Stopped POP7 6-FAMComment: 42638663271811ddb03d000a5e4dd58dFragment50cm_POP7_8KVFragment50cm_POP7_8KV Fragment50cm_POP7_8KV1FragmentAnalysis50_POP71Oven_Temperature60Temperature_Tolerance3Oven_Wait_Time1200Array_Heater_Temperature50Poly_Fill_Vol7300Cap_Fill_Vol2970DC_Cap16_EPS_ARC_SELF8Max_Current300Current_Stability5.0Current_Tolerance100Run_Current100Voltage_Tolerance0.6PreRun_Voltage15.0DC_PreRun_Time180Injection_Voltage1.6DC_Injection_Time15Voltage_Number_Of_Steps30Voltage_Step_Interval15DC_Data_Delay200Run_Voltage8.0DC_Run_Time5000First_ReadOut_Time200Second_ReadOut_Time200Exposure_Time0DC_RS_Plate_TypeA 12 8DC_RS_CSDatacap1 A1DC_RS_Binning_PatternDC_Scale_Divisor8.0DC_Down_Sample1DC_Laser_Power_Setting15.0Frag50cm_DyeDS30_POP7Run_3130XL_2008-05-21_16-08_0660GMgenericMP-17_MIX2MP-17_MIX296-WellPC2au07 MP17_MIX2 MP17_MIX2 MP17_MIX2 MP17_MIX2CMNT J!CMNT J+CMNT J5CMNT J?CTID ICTNM JCTOwPVCTTL ?CpEPDATAaDATAaDATAaDATAaIDATA DATA !%DATA +1DATA 5=DCHT2DSamDySNDDye#DyeB DyeB DyeB DyeB DyeN?DyeNHEXDyeNNEDDyeNROXDyeW DyeW)DyeW?DyeW_EPVt@EVNT ?EVNT ?EVNT?EVNT?GTyp!!?HCFGCEHCFGHCFGHCFG??InScInVt@LANELIMS!!@LNTD2LsrP:MCHNMODF@$MODL3100NAVGNLNEOfScFPSZE`PTYPJPXLBRGNm IRMXV1RMdN@:RMdV1RMdX j j@PRPrNIRPrV1RUND RUND RUND RUND RUNT 5RUNT :RUNT "3RUNT : Rate ?RunN!!ISCANaSMED SMLtSVER3.0SVER,,?]SVER?ISatdF ScalAScanaSpNmJTUBEA1Tmpr<UserPVseqinr/inst/abif/Promega_Bins_v1.txt0000644000176000001440000002216411155704135017204 0ustar ripleyusersVersion GM v 3.0 Chemistry Kit Promega_Panels_v1 BinSet Name Promega_Bins_ID3.2.0 Panel Name PowerPlex_16_v1 Marker Name D3S1358 18 136.0 0.5 0.5 19 140.0 0.5 0.5 20 144.0 0.5 0.5 21 148.0 0.5 0.5 11 108.0 0.5 0.5 12 112.0 0.5 0.5 13 116.0 0.5 0.5 14 120.0 0.5 0.5 15 124.0 0.5 0.5 15.2 126.0 0.5 0.5 16 128.0 0.5 0.5 17 132.0 0.5 0.5 Marker Name TH01 4 154.0 0.5 0.5 5 158.0 0.5 0.5 6 162.0 0.5 0.5 7 166.0 0.5 0.5 8 170.0 0.5 0.5 9 174.0 0.5 0.5 9.3 177.0 0.5 0.4 10 178.0 0.5 0.5 11 182.0 0.5 0.5 13.3 193.0 0.5 0.5 Marker Name D21S11 23.2 198.0 0.5 0.5 24 200.0 0.5 0.5 24.2 202.0 0.5 0.5 25 204.0 0.5 0.5 25.2 206.0 0.5 0.5 26 208.0 0.5 0.5 26.2 210.0 0.5 0.5 27 212.0 0.5 0.5 27.2 214.0 0.5 0.5 28 216.0 0.5 0.5 28.2 218.0 0.5 0.5 29 220.0 0.5 0.5 29.2 222.0 0.5 0.5 30 224.0 0.5 0.5 30.2 226.0 0.5 0.5 31 228.0 0.5 0.5 31.2 230.0 0.5 0.5 32 232.0 0.5 0.5 32.2 234.0 0.5 0.5 33 236.0 0.5 0.5 33.2 238.0 0.5 0.5 34 240.0 0.5 0.5 34.2 242.0 0.5 0.5 35 244.0 0.5 0.5 35.2 246.0 0.5 0.5 36 248.0 0.5 0.5 36.2 250.0 0.5 0.5 37 252.0 0.5 0.5 37.2 254.0 0.5 0.5 38 256.0 0.5 0.5 38.2 258.0 0.5 0.5 39 260.0 0.5 0.5 Marker Name D18S51 8 285.0 0.5 0.5 9 289.0 0.5 0.5 9.2 291.0 0.5 0.5 10 293.0 0.5 0.5 10.2 295.0 0.5 0.5 11 297.0 0.5 0.5 12 301.0 0.5 0.5 13 305.0 0.5 0.5 13.2 307.0 0.5 0.5 14 309.0 0.5 0.5 14.2 311.0 0.5 0.5 15 313.0 0.5 0.5 16 317.0 0.5 0.5 17 321.0 0.5 0.5 18 325.0 0.5 0.5 19 329.0 0.5 0.5 19.2 331.0 0.5 0.5 20 333.0 0.5 0.5 21 337.0 0.5 0.5 22 341.0 0.5 0.5 23 345.0 0.5 0.5 24 349.0 0.5 0.5 25 353.0 0.5 0.5 26 357.0 0.5 0.5 27 361.0 0.5 0.5 Marker Name Penta_E 7 387.0 0.5 0.5 8 392.0 0.5 0.5 9 397.0 0.5 0.5 10 402.0 0.5 0.5 11 407.0 0.5 0.5 12 412.0 0.5 0.5 13 417.0 0.5 0.5 14 422.0 0.5 0.5 15 427.0 0.5 0.5 16 432.0 0.5 0.5 17 437.0 0.5 0.5 18 442.0 0.5 0.5 19 447.0 0.5 0.5 20 452.0 0.5 0.5 21 457.0 0.5 0.5 22 462.0 0.5 0.5 23 467.0 0.5 0.5 24 472.0 0.5 0.5 25 477.0 0.5 0.5 4 372.0 0.5 0.5 5 377.0 0.5 0.5 6 382.0 0.5 0.5 Marker Name D5S818 7 115.0 0.5 0.5 8 119.0 0.5 0.5 9 123.0 0.5 0.5 10 127.0 0.5 0.5 11 131.0 0.5 0.5 12 135.0 0.5 0.5 13 139.0 0.5 0.5 14 143.0 0.5 0.5 15 147.0 0.5 0.5 16 151.0 0.5 0.5 Marker Name D13S317 7 173.0 0.5 0.5 8 177.0 0.5 0.5 9 181.0 0.5 0.5 10 185.0 0.5 0.5 11 189.0 0.5 0.5 12 193.0 0.5 0.5 13 197.0 0.5 0.5 14 201.0 0.5 0.5 15 205.0 0.5 0.5 Marker Name D7S820 6 213.0 0.5 0.5 7 217.0 0.5 0.5 8 221.0 0.5 0.5 9 225.0 0.5 0.5 10 229.0 0.5 0.5 11 233.0 0.5 0.5 12 237.0 0.5 0.5 13 241.0 0.5 0.5 14 245.0 0.5 0.5 Marker Name D16S539 5 263.0 0.5 0.5 8 275.0 0.5 0.5 9 279.0 0.5 0.5 10 283.0 0.5 0.5 11 287.0 0.5 0.5 12 291.0 0.5 0.5 13 295.0 0.5 0.5 14 299.0 0.5 0.5 15 303.0 0.5 0.5 Marker Name CSF1PO 6 318.0 0.5 0.5 7 322.0 0.5 0.5 8 326.0 0.5 0.5 9 330.0 0.5 0.5 10 334.0 0.5 0.5 11 338.0 0.5 0.5 12 342.0 0.5 0.5 13 346.0 0.5 0.5 14 350.0 0.5 0.5 15 354.0 0.5 0.5 Marker Name Penta_D 2.2 369.0 0.5 0.5 3.2 374.0 0.5 0.5 5 382.0 0.5 0.5 7 392.0 0.5 0.5 8 397.0 0.5 0.5 9 402.0 0.5 0.5 10 407.0 0.5 0.5 11 412.0 0.5 0.5 12 417.0 0.5 0.5 13 422.0 0.5 0.5 14 427.0 0.5 0.5 15 432.0 0.5 0.5 16 437.0 0.5 0.5 17 442.0 0.5 0.5 Marker Name AMEL X 104.0 0.5 0.5 Y 110.0 0.5 0.5 Marker Name vWA 22 170.0 0.5 0.5 10 122.0 0.5 0.5 11 126.0 0.5 0.5 12 130.0 0.5 0.5 13 134.0 0.5 0.5 14 138.0 0.5 0.5 15 142.0 0.5 0.5 15.2 144.0 0.5 0.5 16 146.0 0.5 0.5 17 150.0 0.5 0.5 18 154.0 0.5 0.5 19 158.0 0.5 0.5 20 162.0 0.5 0.5 21 166.0 0.5 0.5 Marker Name D8S1179 7 202.0 0.5 0.5 8 206.0 0.5 0.5 9 210.0 0.5 0.5 10 214.0 0.5 0.5 11 218.0 0.5 0.5 12 222.0 0.5 0.5 13 226.0 0.5 0.5 14 230.0 0.5 0.5 15 234.0 0.5 0.5 16 238.0 0.5 0.5 17 242.0 0.5 0.5 18 246.0 0.5 0.5 19 250.0 0.5 0.5 Marker Name TPOX 5 257.0 0.5 0.5 6 261.0 0.5 0.5 7 265.0 0.5 0.5 8 269.0 0.5 0.5 9 273.0 0.5 0.5 10 277.0 0.5 0.5 11 281.0 0.5 0.5 12 285.0 0.5 0.5 13 289.0 0.5 0.5 14 293.0 0.5 0.5 Marker Name FGA 16 320.0 0.5 0.5 17 324.0 0.5 0.5 17.2 326.0 0.5 0.5 18 328.0 0.5 0.5 18.2 330.0 0.5 0.5 19 332.0 0.5 0.5 19.2 334.0 0.5 0.5 20 336.0 0.5 0.5 20.2 338.0 0.5 0.5 21 340.0 0.5 0.5 21.2 342.0 0.5 0.5 22 344.0 0.5 0.5 22.2 346.0 0.5 0.5 23 348.0 0.5 0.5 23.2 350.0 0.5 0.5 24 352.0 0.5 0.5 24.2 354.0 0.5 0.5 25 356.0 0.5 0.5 25.2 358.0 0.5 0.5 26 360.0 0.5 0.5 26.2 362.0 0.5 0.5 27 364.0 0.5 0.5 27.2 366.0 0.5 0.5 28 368.0 0.5 0.5 28.2 370.0 0.5 0.5 29 372.0 0.5 0.5 29.2 374.0 0.5 0.5 30 376.0 0.5 0.5 30.2 378.0 0.5 0.5 31 380.0 0.5 0.5 31.2 382.0 0.5 0.5 43.2 431.0 0.5 0.5 44.2 435.0 0.5 0.5 45.2 439.0 0.5 0.5 46.2 443.0 0.5 0.5 47.2 447.0 0.5 0.5 Panel Name PowerPlex_12_v1 Marker Name D5S818 7 114.0 0.5 0.5 8 118.0 0.5 0.5 9 122.0 0.5 0.5 10 126.0 0.5 0.5 11 130.0 0.5 0.5 12 134.0 0.5 0.5 13 138.0 0.5 0.5 14 142.0 0.5 0.5 15 146.0 0.5 0.5 16 150.0 0.5 0.5 Marker Name D13S317 7 170.0 0.5 0.5 8 174.0 0.5 0.5 9 178.0 0.5 0.5 10 182.0 0.5 0.5 11 186.0 0.5 0.5 12 190.0 0.5 0.5 13 194.0 0.5 0.5 14 198.0 0.5 0.5 15 202.0 0.5 0.5 Marker Name D7S820 6 213.0 0.5 0.5 7 217.0 0.5 0.5 8 221.0 0.5 0.5 9 225.0 0.5 0.5 10 229.0 0.5 0.5 11 233.0 0.5 0.5 12 237.0 0.5 0.5 13 241.0 0.5 0.5 14 245.0 0.5 0.5 Marker Name D16S539 5 262.0 0.5 0.5 6 266.0 0.5 0.5 7 270.0 0.5 0.5 8 274.0 0.5 0.5 9 278.0 0.5 0.5 10 282.0 0.5 0.5 11 286.0 0.5 0.5 12 290.0 0.5 0.5 13 294.0 0.5 0.5 14 298.0 0.5 0.5 15 302.0 0.5 0.5 Marker Name vWA 10 122.0 0.5 0.5 11 126.0 0.5 0.5 12 130.0 0.5 0.5 13 134.0 0.5 0.5 14 138.0 0.5 0.5 15 142.0 0.5 0.5 15.2 144.0 0.5 0.5 16 146.0 0.5 0.5 17 150.0 0.5 0.5 18 154.0 0.5 0.5 19 158.0 0.5 0.5 20 162.0 0.5 0.5 21 166.0 0.5 0.5 Marker Name TH01 5 176.0 0.5 0.5 6 180.0 0.5 0.5 7 184.0 0.5 0.5 8 188.0 0.5 0.5 9 192.0 0.5 0.5 9.3 195.0 0.5 0.4 10 196.0 0.5 0.5 11 200.0 0.5 0.5 Marker Name AMEL X 210.0 0.5 0.5 Y 216.0 0.5 0.5 Marker Name TPOX 6 222.0 0.5 0.5 7 226.0 0.5 0.5 8 230.0 0.5 0.5 9 234.0 0.5 0.5 10 238.0 0.5 0.5 11 242.0 0.5 0.5 12 246.0 0.5 0.5 13 250.0 0.5 0.5 14 254.0 0.5 0.5 Marker Name CSF1PO 6 291.0 0.5 0.5 7 295.0 0.5 0.5 8 299.0 0.5 0.5 9 303.0 0.5 0.5 10 307.0 0.5 0.5 11 311.0 0.5 0.5 12 315.0 0.5 0.5 13 319.0 0.5 0.5 14 323.0 0.5 0.5 15 327.0 0.5 0.5 Panel Name Penta_E_v1 Marker Name Penta_E 4 372.0 0.5 0.5 5 377.0 0.5 0.5 6 382.0 0.5 0.5 7 387.0 0.5 0.5 8 392.0 0.5 0.5 9 397.0 0.5 0.5 10 402.0 0.5 0.5 11 407.0 0.5 0.5 12 412.0 0.5 0.5 13 417.0 0.5 0.5 14 422.0 0.5 0.5 15 427.0 0.5 0.5 16 432.0 0.5 0.5 17 437.0 0.5 0.5 18 442.0 0.5 0.5 19 447.0 0.5 0.5 20 452.0 0.5 0.5 21 457.0 0.5 0.5 22 462.0 0.5 0.5 23 467.0 0.5 0.5 24 472.0 0.5 0.5 25 477.0 0.5 0.5 Panel Name Penta_D_v1 Marker Name Penta_D 9 402.0 0.5 0.5 10 407.0 0.5 0.5 11 412.0 0.5 0.5 12 417.0 0.5 0.5 13 422.0 0.5 0.5 14 427.0 0.5 0.5 15 432.0 0.5 0.5 16 437.0 0.5 0.5 17 442.0 0.5 0.5 2.2 369.0 0.5 0.5 3.2 374.0 0.5 0.5 5 382.0 0.5 0.5 7 392.0 0.5 0.5 8 397.0 0.5 0.5 Panel Name SE33_v1 Marker Name SE33 4.2 196.0 0.5 0.5 6.3 205.0 0.5 0.5 7.2 208.0 0.5 0.5 8 210.0 0.5 0.5 8.2 212.0 0.5 0.5 9 214.0 0.5 0.5 9.2 216.0 0.5 0.5 10 218.0 0.5 0.5 10.2 220.0 0.5 0.5 11 222.0 0.5 0.5 11.2 224.0 0.5 0.5 12 226.0 0.5 0.5 12.2 228.0 0.5 0.5 13 230.0 0.5 0.5 13.2 232.0 0.5 0.5 14 234.0 0.5 0.5 14.2 236.0 0.5 0.4 14.3 237.0 0.4 0.4 15 238.0 0.4 0.5 15.2 240.0 0.5 0.5 16 242.0 0.5 0.5 16.2 244.0 0.5 0.5 17 246.0 0.5 0.5 17.2 248.0 0.5 0.5 18 250.0 0.5 0.5 18.2 252.0 0.5 0.5 19 254.0 0.5 0.5 19.2 256.0 0.5 0.5 20 258.0 0.5 0.5 20.2 260.0 0.5 0.5 21 262.0 0.5 0.4 21.1 263.0 0.4 0.4 21.2 264.0 0.4 0.5 22 266.0 0.5 0.5 22.2 268.0 0.5 0.5 23 270.0 0.5 0.5 23.2 272.0 0.5 0.5 24 274.0 0.5 0.5 24.2 276.0 0.5 0.5 25 278.0 0.5 0.5 25.2 280.0 0.5 0.5 26 282.0 0.5 0.5 26.2 284.0 0.5 0.5 27 286.0 0.5 0.5 27.2 288.0 0.5 0.5 28 290.0 0.5 0.5 28.2 292.0 0.5 0.5 29 294.0 0.5 0.5 29.2 296.0 0.5 0.5 30 298.0 0.5 0.5 30.2 300.0 0.5 0.5 31 302.0 0.5 0.5 31.2 304.0 0.5 0.5 32 306.0 0.5 0.4 32.1 307.0 0.4 0.4 32.2 308.0 0.4 0.5 33 310.0 0.5 0.5 33.2 312.0 0.5 0.5 34 314.0 0.5 0.5 34.2 316.0 0.5 0.5 35 318.0 0.5 0.5 35.2 320.0 0.5 0.5 36 322.0 0.5 0.5 36.2 324.0 0.5 0.5 37 326.0 0.5 0.5 37.2 328.0 0.5 0.5 38 330.0 0.5 0.5 Panel Name FFFL_v1 Marker Name LPL 7 97.7 0.5 0.5 8 101.7 0.5 0.5 9 105.7 0.5 0.5 10 109.7 0.5 0.5 11 113.7 0.5 0.5 12 117.7 0.5 0.5 13 121.7 0.5 0.5 14 125.7 0.5 0.5 Marker Name F13B 6 164.3 0.5 0.5 7 168.3 0.5 0.5 8 172.3 0.5 0.5 9 176.3 0.5 0.5 10 180.3 0.5 0.5 11 184.2 0.5 0.5 12 188.19 0.5 0.5 Marker Name FESFPS 7 218.0 0.5 0.5 8 222.0 0.5 0.5 9 226.0 0.5 0.5 10 230.0 0.5 0.5 11 234.0 0.5 0.5 12 238.0 0.5 0.5 13 242.0 0.5 0.5 14 246.04 0.5 0.5 Marker Name F13A01 3.2 276.68 0.5 0.5 4 278.7 0.5 0.5 5 282.7 0.5 0.5 6 286.7 0.5 0.5 7 290.7 0.5 0.5 8 294.7 0.5 0.5 9 298.7 0.5 0.5 10 302.27 0.5 0.5 11 305.7 0.5 0.5 12 309.4 0.5 0.5 13 313.3 0.5 0.5 14 317.2 0.5 0.5 15 321.2 0.5 0.5 16 325.1 0.5 0.5 Panel Name CTTV_v1 Marker Name vWA 13 139.0 0.5 0.5 14 143.0 0.5 0.5 15 147.0 0.5 0.5 16 151.0 0.5 0.5 17 155.0 0.5 0.5 18 159.0 0.5 0.5 19 163.0 0.5 0.5 20 167.0 0.5 0.5 Marker Name TH01 8 191.4 0.5 0.5 9 195.4 0.5 0.5 10 199.4 0.5 0.5 11 202.97 0.5 0.5 6 183.4 0.5 0.5 7 187.4 0.5 0.5 5 179.4 0.5 0.5 Marker Name AMEL x 212.08 0.5 0.5 Y 217.38 0.5 0.5 Marker Name TPOX 6 224.0 0.5 0.5 7 228.0 0.5 0.5 8 232.0 0.5 0.5 9 236.0 0.5 0.5 10 240.0 0.5 0.5 11 244.0 0.5 0.5 12 248.0 0.5 0.5 13 252.03 0.5 0.5 Marker Name CSF1PO 7 294.5 0.5 0.5 8 298.5 0.5 0.5 9 302.5 0.5 0.5 10 306.5 0.5 0.5 11 310.5 0.5 0.5 12 314.5 0.5 0.5 13 318.5 0.5 0.5 14 322.5 0.5 0.5 15 326.32 0.5 0.5 seqinr/inst/abif/NGM_Pa.txt0000644000176000001440000004450211247763302015275 0ustar ripleyusersVersion GM v 3.0 Kit type Microsatellite Chemistry Kit AmpFLSTR_Panels_v1 Promega_Panels_v1 NextGen Panel Blue_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, Panel Green_I_v1 AMEL green 106.00 114.00 x 9 0.060 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Profiler_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D5S818 yellow 128.00 180.00 11 4 0.100 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.100 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Profiler_Plus_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, D8S1179 green 118.00 183.50 13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 30 4 0.130 none 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 38, D18S51 green 264.49 350.00 15,19 4 0.160 none 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, D5S818 yellow 128.00 180.00 11 4 0.100 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.100 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel COfiler_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, D16S539 blue 229.00 279.00 11,12 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel SGM_Plus_v1 D3S1358 blue 98.00 148.00 15,16 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 213.50 14,16 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D16S539 blue 229.00 279.00 9,10 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 blue 284.00 354.00 20,23 4 0.150 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, AMEL green 106.00 114.00 x,y 9 0.000 none X, Y, D8S1179 green 118.00 183.50 12,13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 28,31 4 0.130 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 green 264.49 350.00 12,15 4 0.160 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, D19S433 yellow 101.00 148.00 14,15 4 0.170 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, TH01 yellow 159.00 205.00 7,9.3 4 0.060 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, FGA yellow 206.25 360.00 24,26 4 0.110 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, Panel Identifiler_v1 D8S1179 blue 118.00 183.50 13 4 0.082 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 blue 184.50 247.50 30 4 0.094 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D7S820 blue 251.00 298.50 10,11 4 0.082 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO blue 302.12 348.63 10,12 4 0.092 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D3S1358 green 98.00 148.00 14,15 4 0.107 none 12, 13, 14, 15, 16, 17, 18, 19, TH01 green 159.00 205.00 8,9.3 4 0.051 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D13S317 green 205.65 250.16 11 4 0.080 none 8, 9, 10, 11, 12, 13, 14, 15, D16S539 green 255.30 301.81 11,12 4 0.104 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 green 304.80 370.31 19,23 4 0.111 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, vWA yellow 151.00 213.50 17,18 4 0.126 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, TPOX yellow 216.99 260.99 8 4 0.048 none 6, 7, 8, 9, 10, 11, 12, 13, D18S51 yellow 264.49 350.00 15,19 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, AMEL red 106.00 114.00 x 9 0.000 none X, Y, D5S818 red 128.00 180.00 11 4 0.068 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, FGA red 206.25 360.00 23,24 4 0.147 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, Panel SEfiler_v1 D3S1358 blue 98.00 148.00 15,16 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 213.50 14,16 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D16S539 blue 229.00 279.00 9,10 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 blue 284.00 350.00 20,23 4 0.150 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, AMEL green 106.00 114.00 x,Y 9 0.000 none X, Y" D8S1179 green 118.00 183.50 12,13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, SE33 green 190.00 350.00 17,25.2 4 0.120 none 4.2, 6.3, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20.2, 21, 21.1, 21.2, 22.2, 23.2, 24.2, 25.2, 26.2, 27.2, 28.2, 29.2, 30.2, 31.2, 32.2, 33.2, 34.2, 35, 35.2, 36, 37, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, TH01 yellow 159.00 205.00 7,9.3 4 0.060 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, FGA yellow 206.25 360.00 24,26 4 0.110 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, D21S11 red 184.50 247.50 28,31 4 0.130 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 red 264.49 350.00 12,15 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, Panel Profiler_Plus_CODIS_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, vWA blue 151.00 203.00 17,18 4 0.110 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, FGA blue 206.25 360.00 23,24 4 0.110 none 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, AMEL green 106.00 114.00 x 9 0.000 none X, Y, D8S1179 green 118.00 183.50 13 4 0.120 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 green 184.50 247.50 30 4 0.130 none 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 38, D18S51 green 264.49 350.00 15,19 4 0.160 none 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, D5S818 yellow 128.00 180.00 11 4 0.010 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 yellow 192.00 242.00 11 4 0.010 none 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel COfiler_CODIS_v1 D3S1358 blue 98.00 148.00 14,15 4 0.110 none 12, 13, 14, 15, 16, 17, 18, 19, D16S539 blue 229.00 279.00 11,12 4 0.130 none 5, 8, 9, 10, 11, 12, 13, 14, 15, AMEL green 106.00 114.00 x 9 0.000 none X, Y, TH01 green 159.00 205.00 8,9.3 4 0.060 none 5, 6, 7, 8, 9, 9.3, 10, TPOX green 212.00 254.00 8 4 0.060 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO green 275.00 323.00 10,12 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 yellow 251.00 298.50 10,11 4 0.090 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Identifiler_CODIS_v1 D8S1179 blue 118.00 183.50 13 4 0.082 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 blue 184.50 247.50 30 4 0.094 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D7S820 blue 251.00 298.50 10,11 4 0.082 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO blue 302.12 348.63 10,12 4 0.092 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D3S1358 green 98.00 148.00 14,15 4 0.107 none 12, 13, 14, 15, 16, 17, 18, 19, TH01 green 159.00 205.00 8,9.3 4 0.051 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D13S317 green 205.65 250.16 11 4 0.080 none 8, 9, 10, 11, 12, 13, 14, 15, D16S539 green 255.30 301.81 11,12 4 0.104 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 green 304.80 370.31 19,23 4 0.111 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, D19S433 yellow 101.00 148.00 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, vWA yellow 151.00 213.50 17,18 4 0.126 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, TPOX yellow 216.99 260.99 8 4 0.048 none 6, 7, 8, 9, 10, 11, 12, 13, D18S51 yellow 264.49 350.00 15,19 4 0.170 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, AMEL red 106.00 114.00 x 9 0.000 none X, Y, D5S818 red 128.00 180.00 11 4 0.068 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, FGA red 206.25 360.00 23,24 4 0.147 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, Panel PowerPlex_16_v1 null D3S1358 blue 94.0 151.0 14,15 4 0.13 none 12, 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 152.0 195.0 8,9.3 4 0.06 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D21S11 blue 196.0 262.0 30 4 0.22 none 24, 24.2, 25, 25.2, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 blue 279.0 364.0 15,19 4 0.13 none 8, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, Penta_E blue 370.0 480.0 12,13 5 0.13 none 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, D5S818 green 112.0 158.0 11 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D13S317 green 166.0 208.0 11 4 0.12 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 green 210.0 252.0 10,11 4 0.1 none 6, 7, 8, 9, 10, 11, 12, 13, 14, D16S539 green 260.0 310.0 11,12 4 0.13 none 5, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO green 312.0 361.0 10,12 4 0.1 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Penta_D green 365.0 449.0 12 5 0.06 none 2.2, 3.2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, AMEL yellow 102.0 112.0 x 9 0.0 none X, Y, vWA yellow 120.0 184.0 17,18 4 0.14 none 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, D8S1179 yellow 200.0 252.0 13 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, TPOX yellow 255.0 303.0 8 4 0.06 none 6, 7, 8, 9, 10, 11, 12, 13, FGA yellow 305.0 466.0 23,24 4 0.14 none 16, 17, 18, 18.2, 19, 19.2, 20, 20.2, 21, 21.2, 22, 22.2, 23, 23.2, 24, 24.2, 25, 25.2, 26, 27, 28, 29, 30, 31.2, 43.2, 44.2, 45.2, 46.2, Panel PowerPlex_12_v1 null D5S818 blue 107.0 152.0 11,12 4 0.13 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D13S317 blue 159.0 206.0 8 4 0.13 none 7, 8, 9, 10, 11, 12, 13, 14, 15, D7S820 blue 207.0 249.0 9,11 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, 14, D16S539 blue 253.0 309.0 11,12 4 0.13 none 5, 8, 9, 10, 11, 12, 13, 14, 15, vWA yellow 118.0 170.0 16 4 0.13 none 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, TH01 yellow 172.0 204.0 9.3 4 0.13 none 5, 6, 7, 8, 9, 10, 11, AMEL yellow 208.0 217.0 x 9 0.0 none X, Y, TPOX yellow 218.0 258.0 8,9 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO yellow 283.0 335.0 9,10 4 0.13 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel Penta_E_v1 null Penta_E blue 370.0 480.0 12,13 5 0.13 none 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, Panel Penta_D_v1 null Penta_D green 365.0 449.0 12 5 0.06 none 2.2, 3.2, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, Panel SE33_v1 null SE33 green 194.0 334.0 19,29.2 4 0.14 none 4.2, 6.3, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20.2, 21, 21.2, 22, 22.2, 23.2, 24.2, 25.2, 26.2, 27.2, 28.2, 29.2, 30.2, 31.2, 32.2, 33.2, 34.2, 35, 36, 37, Panel FFFL_v1 null LPL blue 92.0 130.0 10,12 4 0.09 none 7, 9, 10, 11, 12, 13, 14, F13B blue 159.0 193.0 10 4 0.04 none 6, 7, 8, 9, 10, 11, FESFPS blue 213.0 251.0 10,12 4 0.07 none 7, 8, 9, 10, 11, 12, 13, 14, F13A01 blue 270.0 336.0 4,5 4 0.04 none 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, Panel CTTV_v1 null vWA blue 126.0 168.0 16 4 0.14 none 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 169.0 203.5 9.3 4 0.06 none 5, 6, 7, 8, 9, 10, 11, AMEL blue 205.0 218.0 x 9 0.0 none X, Y, TPOX blue 219.0 253.0 8,9 4 0.06 none 6, 7, 8, 9, 10, 11, 12, 13, CSF1PO blue 282.0 327.0 9,10 4 0.1 none 7, 8, 9, 10, 11, 12, 13, 14, 15, Panel NextGen_GS500 D10 blue 72.0 127.0 "12,15" 4 0.11 none "8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, " vWA blue 149.0 214.3 "14,16" 4 0.126 none "11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, " D16S539 blue 223.6 277.6 "9,10" 4 0.104 none "5, 8, 9, 10, 11, 12, 13, 14, 15, " D2S1338 blue 281.6 356.0 "20,23" 4 0.111 none "15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, " AMEL green 98.0 109.2 "x,y" 9 0 none "X, Y, " D8S1179 green 117.9 174.9 "12,13" 4 0.082 none "8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, " D21S11 green 178.8 249.8 "28,31" 4 0.094 none "24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, " D18S51 green 259.5 347.5 "12,15" 4 0.17 none "7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, " D22 yellow 74.0 120.0 "11,16" 3 0.15 none "8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19" D19S433 yellow 122.3 166.3 "14,15" 4 0.133 none "9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, " TH01 yellow 176.4 221.1 "7,9.3" 4 0.051 none "4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, " FGA yellow 221.6 372.0 "24,26" 4 0.147 none "17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, " D2S441 red 74.5 113.4 "14,15" 4 0.06 none "9, 10, 11, 11.3, 12, 13, 14, 15, 16, " D3S1358 red 114.4 168.4 "15,16" 4 0.107 none "12, 13, 14, 15, 16, 17, 18, 19, " D1S1656 red 170.0 224.0 "13,16" 4 0.12 none "9, 10, 11, 12, 13, 14, 14.3, 15, 15.3, 16, 16.3, 17, 17.3, 18.3, 19.3, 20.3, " D12S391 red 225 287.0 "18,19" 4 0.10 none "14, 15, 16, 17, 18, 19, 19.3, 20, 21, 22, 23, 24, 25, 26, 27, " Panel Prototype_PowerPlex_EP01 null AMEL blue 75.00 92.00 X, X 9 0.0 none X, Y D3S1358 blue 92.01 150.00 14,15 4 0.13 none 12, 13, 14, 15, 16, 17, 18, 19, 20, TH01 blue 150.01 195.00 8,9.3 4 0.06 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D21S11 blue 195.01 270.00 30 4 0.22 none 24, 24.2, 25, 25.2, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D18S51 blue 270.01 370.00 15,19 4 0.13 none 8, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, D10S1248 green 70.00 127.00 13,15 4 0.12 none 8, 10, 11, 12, 13, 14, 15, 16, 17, 19 D1S1656 green 127.01 180.00 18.3,18.3 4 0.12 none 9, 10, 11, 12, 13, 14, 14.3, 15, 15.3, 16, 16.3, 17, 17.3, 18, 18.3, 19, 19.3, 20.3 D2S1338 green 180.01 265.00 19,23 4 0.11 none 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 D16S539 green 265.01 330.00 11,12 4 0.13 none 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, D22S1045 yellow 70.00 118.00 11,14 3 0.20 none 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 vWA yellow 118.01 200.00 17,18 4 0.14 none 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, D8S1179 yellow 200.01 257.50 13 4 0.11 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, FGA yellow 257.51 420.00 23,24 4 0.14 none 16, 17, 18, 18.2, 19, 19.2, 20, 20.2, 21, 21.2, 22, 22.2, 23, 23.2, 24, 24.2, 25, 25.2, 26, 27, 28, 29, 30, 31.2, 43.2, 44.2, 45.2, 46.2, D2S441 red 80.0 127.00 10,14 4 0.08 none 8, 10, 11, 11.3, 12, 13, 14, 15, 17, D12S391 red 127.01 188.00 18,20 4 0.15 none 14, 15, 16, 17, 17.3, 18, 18.3, 19, 20, 21, 22, 23, 24, 25, 26, 27, D19S433 red 188.01 262.00 14,15 4 0.14 none 5.2, 6.2, 8, 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, 18, 18.2, 20.2, Panel Identifiler_v2 null D8S1179 blue 90.0 184.5 13 4 0.082 none 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, D21S11 blue 184.0 250.5 30 4 0.094 none 24, 24.2, 25, 26, 27, 28, 28.2, 29, 29.2, 30, 30.2, 31, 31.2, 32, 32.2, 33, 33.2, 34, 34.2, 35, 35.2, 36, 37, 38, D7S820 blue 250.0 300.5 10,11 4 0.082 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, CSF1PO blue 300.0 400.0 10,12 4 0.092 none 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, D3S1358 green 90.0 155.5 14,15 4 0.107 none 12, 13, 14, 15, 16, 17, 18, 19, TH01 green 155.0 206.0 8,9.3 4 0.051 none 4, 5, 6, 7, 8, 9, 9.3, 10, 11, 13.3, D13S317 green 204.0 252.5 11 4 0.08 none 8, 9, 10, 11, 12, 13, 14, 15, D16S539 green 252.0 303.5 11,12 4 0.104 none 5, 8, 9, 10, 11, 12, 13, 14, 15, D2S1338 green 301.0 400.0 19,23 4 0.111 none 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, D19S433 yellow 90.0 151.0 14,15 4 0.133 none 9, 10, 11, 12, 12.2, 13, 13.2, 14, 14.2, 15, 15.2, 16, 16.2, 17, 17.2, vWA yellow 148.5 215.5 17,18 4 0.126 none 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, TPOX yellow 215.0 262.5 8 4 0.048 none 6, 7, 8, 9, 10, 11, 12, 13, D18S51 yellow 262.0 400.0 15,19 4 0.17 none 7, 9, 10, 10.2, 11, 12, 13, 13.2, 14, 14.2, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, AMEL red 106.0 114.5 x 9 0.0 none X, Y, D5S818 red 114.0 190.5 11 4 0.068 none 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, FGA red 188.0 400.0 23,24 4 0.147 none 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26.2, 27, 28, 29, 30, 30.2, 31.2, 32.2, 33.2, 42.2, 43.2, 44.2, 45.2, 46.2, 47.2, 48.2, 50.2, 51.2, seqinr/inst/CITATION0000644000176000001440000000141212344400275013714 0ustar ripleyuserscitHeader("To cite seqinR in publications use:") citEntry(entry = "incollection", author = "D. Charif, J.R. Lobry", title = "Seqin{R} 1.0-2: a contributed package to the {R} project for statistical computing devoted to biological sequences retrieval and analysis.", booktitle = "Structural approaches to sequence evolution: Molecules, networks, populations", year = "2007", editor = "U. Bastolla, M. Porto, H.E. Roman and M. Vendruscolo", series = "Biological and Medical Physics, Biomedical Engineering", pages = "207-232", address = "New York", publisher = "Springer Verlag", note = "{ISBN :} 978-3-540-35305-8", textVersion = "Charif, D. and Lobry, J.R. (2007)") seqinr/inst/sequences/0000755000176000001440000000000012440112030014536 5ustar ripleyusersseqinr/inst/sequences/test.msf0000644000176000001440000000612410114617517016247 0ustar ripleyusersPileUp of: @Pi3k.Fil Symbol comparison table: GenRunData:Pileuppep.Cmp CompCheck: 1254 GapWeight: 3.000 GapLengthWeight: 0.100 Pi3k.Msf MSF: 377 Type: P July 12, 1996 10:40 Check: 167 .. Name: Tor1_Yeast Len: 377 Check: 7773 Weight: 1.00 Name: Tor2_Yeast Len: 377 Check: 8562 Weight: 1.00 Name: Frap_Human Len: 377 Check: 9129 Weight: 1.00 Name: Esr1_Yeast Len: 377 Check: 8114 Weight: 1.00 Name: Tel1_Yeast Len: 377 Check: 1564 Weight: 1.00 Name: Pi4k_Human Len: 377 Check: 8252 Weight: 1.00 Name: Stt4_Yeast Len: 377 Check: 9117 Weight: 1.00 Name: Pik1_Yeast Len: 377 Check: 3455 Weight: 1.00 Name: P3k1_Soybn Len: 377 Check: 4973 Weight: 1.00 Name: P3k2_Soybn Len: 377 Check: 4632 Weight: 1.00 Name: Pi3k_Arath Len: 377 Check: 3585 Weight: 1.00 Name: Vp34_Yeast Len: 377 Check: 5928 Weight: 1.00 Name: P11a_Human Len: 377 Check: 6597 Weight: 1.00 Name: P11b_Human Len: 377 Check: 8486 Weight: 1.00 // 1 50 Tor1_Yeast .......GHE DIRQDSLVMQ LFGLVNTLLK NDSECFKRHL DIQQYPAIPL Tor2_Yeast .......GHE DIRQDSLVMQ LFGLVNTLLQ NDAECFRRHL DIQQYPAIPL Frap_Human .......GHE DLRQDERVMQ LFGLVNTLLA NDPTSLRKNL SIQRYAVIPL Esr1_Yeast .......KKE DVRQDNQYMQ FATTMDFLLS KDIASRKRSL GINIYSVLSL Tel1_Yeast .KALMKGSND DLRQDAIMEQ VFQQVNKVLQ NDKVLRNLDL GIRTYKVVPL Pi4k_Human ..AAIFKVGD DCRQDMLALQ IIDLFKNIFQ LV....GLDL FVFPYRVVAT Stt4_Yeast ..AAIFKVGD DCRQDVLALQ LISLFRTIWS SI....GLDV YVFPYRVTAT Pik1_Yeast ...VIAKTGD DLRQEAFAYQ MIQAMANIWV KE....KVDV WVKRMKILIT P3k1_Soybn TCKIIFKKGD DLRQDQLVVQ MVSLMDRLLK LE....NLDL HLTPYKVLAT P3k2_Soybn ....IFKKGD DIRQDQLVVQ MVSLMDRLLK LE....NLDL HLTPYKVLAT Pi3k_Arath ..KLIFKKGD DLRQDQLVVQ MVWLMDRLLK LE....NLDL CLTPYKVLAT Vp34_Yeast .YHLMFKVGD DLRQDQLVVQ IISLMNELLK NE....NVDL KLTPYKILAT P11a_Human ...IIFKNGD DLRQDMLTLQ IIRIMENIWQ NQ....GLDL RMLPYGCLSI P11b_Human ...VIFKNGD DLRQDMLTLQ MLRLMDLLWK EA....GLDL RMLPYGCLAT 51 100 Tor1_Yeast SPKSGLLGWV PNSDTFHVLI REHRDAKKIP LNIEHWVMLQ MAPDYENLTL Tor2_Yeast SPKSGLLGWV PNSDTFHVLI REHREAKKIP LNIEHWVMLQ MAPDYDNLTL Frap_Human STNSGLIGWV PHCDTLHALI RDYREKKKIL LNIEHRIMLR MAPDYDHLTL Esr1_Yeast REDCGILEMV PNVVTLRSIL STKYESLKIK Y.....SLKS LHDRWQHTAV Tel1_Yeast GPKAGIIEFV ANSTSLHQIL SKLHTNDKIT FDQARKGMKA VQTKSN.... Pi4k_Human APGCGVIECI PDCTS..... .......... RDQLGRQTDF GMYDYFTRQY Stt4_Yeast APGCGVIDVL PNSVS..... .......... RDMLGREAVN GLYEYFTSKF Pik1_Yeast SANTGLVETI TNAMSVHSIK KALTKKMIED AELDDKGGIA SLNDHFLRAF P3k1_Soybn GQDEGMLEFI P.SRSLAQI. .......... ..LSENRSII SYLQ...... P3k2_Soybn GQDEGMLEFI P.SRSLAQI. .......... ..LSENRSII SYLQ...... Pi3k_Arath GHDEGMLEFI P.SRSLAQI. .......... ..LSEHRSIT SYLQ...... Vp34_Yeast GPQEGAIEFI P.NDTLASI. .......... ..LSKYHGIL GYLK...... P11a_Human GDCVGLIEVV RNSHTIMQI. .......... ..Q.CKGGLK GALQFNSHTL P11b_Human GDRSGLIEVV STSETIADI. .......... ..QLNSSNVA AAAAFNKDAL seqinr/inst/sequences/bb.acc0000644000176000001440000000026410452205015015602 0ustar ripleyusersAY382159 AY382160 AY491412 AY498719 AY498720 AY498721 AY498722 AY498723 AY498724 AY498725 AY498726 AY498727 AY498728 AY498729 AY499181 AY500379 AY500380 AY500381 AY500382 AY500383 seqinr/inst/sequences/test.aln0000644000176000001440000000261310425426441016232 0ustar ripleyusersCLUSTAL W (1.82) multiple sequence alignment FOSB_MOUSE MFQAFPGDYDSGSRCSSSPSAESQYLSSVDSFGSPPTAAASQECAGLGEMPGSFVPTVTA 60 FOSB_HUMAN MFQAFPGDYDSGSRCSSSPSAESQYLSSVDSFGSPPTAAASQECAGLGEMPGSFVPTVTA 60 ************************************************************ FOSB_MOUSE ITTSQDLQWLVQPTLISSMAQSQGQPLASQPPAVDPYDMPGTSYSTPGLSAYSTGGASGS 120 FOSB_HUMAN ITTSQDLQWLVQPTLISSMAQSQGQPLASQPPVVDPYDMPGTSYSTPGMSGYSSGGASGS 120 ********************************.***************:*.**:****** FOSB_MOUSE GGPSTSTTTSGPVSARPARARPRRPREETLTPEEEEKRRVRRERNKLAAAKCRNRRRELT 180 FOSB_HUMAN GGPSTSGTTSGPGPARPARARPRRPREETLTPEEEEKRRVRRERNKLAAAKCRNRRRELT 180 ****** ***** .********************************************** FOSB_MOUSE DRLQAETDQLEEEKAELESEIAELQKEKERLEFVLVAHKPGCKIPYEEGPGPGPLAEVRD 240 FOSB_HUMAN DRLQAETDQLEEEKAELESEIAELQKEKERLEFVLVAHKPGCKIPYEEGPGPGPLAEVRD 240 ************************************************************ FOSB_MOUSE LPGSTSAKEDGFGWLLPPPPPPPLPFQSSRDAPPNLTASLFTHSEVQVLGDPFPVVSPSY 300 FOSB_HUMAN LPGSAPAKEDGFSWLLPPPPPPPLPFQTSQDAPPNLTASLFTHSEVQVLGDPFPVVNPSY 300 ****:.******.**************:*:**************************.*** FOSB_MOUSE TSSFVLTCPEVSAFAGAQRTSGSEQPSDPLNSPSLLAL 338 FOSB_HUMAN TSSFVLTCPEVSAFAGAQRTSGSDQPSDPLNSPSLLAL 338 ***********************:************** seqinr/inst/sequences/ECOUNC.fsa0000755000176000001440000001752511636107113016236 0ustar ripleyusers>ECOUNC aaagcaaataaaatttaatttttatcaaaaaaatcataaaaaattgaccggttagactgt taacaacaaccaggttttctactgatataactggttacatttaacgccacgttcactctt ttgcatcaacaagataacgtggctttttttggtaagcagaaaataagtcattagtgaaaa tatcagtctgctaaaaatcggcgctaagaaccatcattggctgttaaaacattattaaaa atgtcaatgggtggtttttgttgtgtaaatgtcatttattaaaacagtatctgtttttag actgaaatatcataaacttgcaaaggcatcatttgccaagtaaataaatatgctgtgcgc gaacatgcgcaatatgtgatctgaagcacgctttatcaccagtgtttacgcgttatttac agtttttcatgatcgaacagggttagcagaaaagtcgcaattgtatgcactggaaaaata tttaaacatttattcaccttttggctacttattgtttgaaatcacgggggcgcaccgtat aatttgaccgctttttgatgcttgactctaagccttaaagaaagttttatacgacacgcg gcatacctcgaagggagcaggagtgaaaaacgtgatgtctgtgtcgctcgtgagtcgaaa cgttgctcggaagcttctgctcgttcagttactggtggtgatagcaagtggattgctgtt cagcctcaaagaccccttctggggcgtctctgcaataagcgggggcctggcagtctttct gcctaacgttttgtttatgatatttgcctggcgtcaccaggcgcatacaccagcgaaagg ccgggtggcctggacattcgcatttggcgaagctttcaaagttctggcgatgttggtgtt actggtggtggcgttggcggttttaaaggcggtattcttgccgctgatcgttacgtgggt tttggtgctggtggttcagatactggcaccggctgtaattaacaacaaagggtaaaaggc atcatggcttcagaaaatatgacgccgcaggattacataggacaccacctgaataacctt cagctggacctgcgtacattctcgctggtggatccacaaaaccccccagccaccttctgg acaatcaatattgactccatgttcttctcggtggtgctgggtctgttgttcctggtttta ttccgtagcgtagccaaaaaggcgaccagcggtgtgccaggtaagtttcagaccgcgatt gagctggtgatcggctttgttaatggtagcgtgaaagacatgtaccatggcaaaagcaag ctgattgctccgctggccctgacgatcttcgtctgggtattcctgatgaacctgatggat ttactgcctatcgacctgctgccgtacattgctgaacatgtactgggtctgcctgcactg cgtgtggttccgtctgcggacgtgaacgtaacgctgtctatggcactgggcgtatttatc ctgattctgttctacagcatcaaaatgaaaggcatcggcggcttcacgaaagagttgacg ctgcagccgttcaatcactgggcgttcattcctgtcaacttaatccttgaaggggtaagc ctgctgtccaaaccagtttcactcggtttgcgactgttcggtaacatgtatgccggtgag ctgattttcattctgattgctggtctgttgccgtggtggtcacagtggatcctgaatgtg ccgtgggccattttccacatcctgatcattacgctgcaagccttcatcttcatggttctg acgatcgtctatctgtcgatggcgtctgaagaacattaatttaccaacactactacgttt taactgaaacaaactggagactgtcatggaaaacctgaatatggatctgctgtacatggc tgccgctgtgatgatgggtctggcggcaatcggtgctgcgatcggtatcggcatcctcgg gggtaaattcctggaaggcgcagcgcgtcaacctgatctgattcctctgctgcgtactca gttctttatcgttatgggtctggtggatgctatcccgatgatcgctgtaggtctgggtct gtacgtgatgttcgctgtcgcgtagtaagcgttgcttttatttaaagagcaatatcagaa cgttaactaaatagaggcattgtgctgtgaatcttaacgcaacaatcctcggccaggcca tcgcgtttgtcctgttcgttctgttctgcatgaagtacgtatggccgccattaatggcag ccatcgaaaaacgtcaaaaagaaattgctgacggccttgcttccgcagaacgagcacata aggaccttgaccttgcaaaggccagcgcgaccgaccagctgaaaaaagcgaaagcggaag cccaggtaatcatcgagcaggcgaacaaacgccgctcgcagattctggacgaagcgaaag ctgaggcagaacaggaacgtactaaaatcgtggcccaggcgcaggcggaaattgaagccg agcgtaaacgtgcccgtgaagagctgcgtaagcaagttgctatcctggctgttgctggcg ccgagaagatcatcgaacgttccgtggatgaagctgctaacagcgacatcgtggataaac ttgtcgctgaactgtaaggagggaggggctgatgtctgaatttattacggtagctcgccc ctacgccaaagcagcttttgactttgccgtcgaacaccaaagtgtagaacgctggcagga catgctggcgtttgccgccgaggtaaccaaaaacgaacaaatggcagagcttctctctgg cgcgcttgcgccagaaacgctcgccgagtcgtttatcgcagtttgtggtgagcaactgga cgaaaacggtcagaacctgattcgggttatggctgaaaatggtcgtcttaacgcgctccc ggatgttctggagcagtttattcacctgcgtgccgtgagtgaggctaccgctgaggtaga cgtcatttccgctgccgcactgagtgaacaacagctcgcgaaaatttctgctgcgatgga aaaacgtctgtcacgcaaagttaagctgaattgcaaaatcgataagtctgtaatggcagg cgttatcatccgagcgggtgatatggtcattgatggcagcgtacgcggtcgtcttgagcg ccttgcagacgtcttgcagtcttaaggggactggagcatgcaactgaattccaccgaaat cagcgaactgatcaagcagcgcattgctcagttcaatgttgtgagtgaagctcacaacga aggtactattgtttctgtaagtgacggtgttatccgcattcacggcctggccgattgtat gcagggtgaaatgatctccctgccgggtaaccgttacgctatcgcactgaacctcgagcg cgactctgtaggtgcggttgttatgggtccgtacgctgaccttgccgaaggcatgaaagt taagtgtactggccgtatcctggaagttccggttggccgtggcctgctgggccgtgtggt taacactctgggtgcaccaatcgacggtaaaggtccgctggatcacgacggcttctctgc tgtagaagcaatcgctccgggcgttatcgaacgtcagtccgtagatcagccggtacagac cggttataaagccgttgactccatgatcccaatcggtcgtggtcagcgtgaattgatcat cggtgaccgtcagacaggtaaaaccgcactggctatcgatgccatcatcaaccagcgcga ttccggtatcaaatgtatctatgtcgctatcggccagaaagcgtccaccatttctaacgt ggtacgtaaactggaagagcacggcgcactggctaacaccatcgttgtggtagcaaccgc gtctgaatccgctgcactgcaatacctggcacgtatgccggttgcgctaatgggcgaata cttccgtgaccgcggtgaagatgcgctgatcatttacgatgacctgtctaaacaggctgt tgcttaccgtcagatctccctgctgctccgtcgtccgccaggacgtgaagcattcccggg cgacgttttctacctccactctcgtctgctggagcgtgctgcacgtgttaacgccgaata cgttgaagccttcaccaaaggtgaagtgaaagggaaaaccggttctctgaccgcactgcc gattatcgaaactcaggcgggtgacgtttctgcgttcgttccgaccaacgtaatctccat taccgatggtcagatcttcctggaaaccaacctgttcaacgccggtattcgtcctgcggt taacccgggtatttccgtatcccgtgttggtggtgcagcacagaccaagatcatgaaaaa actgtccggtggtatccgtaccgctctggcacagtatcgtgaactggcagcgttctctca gtttgcatccgaccttgacgatgcaacacgtaaccagcttgaccacggtcagaaagtgac cgaactgctgaaacagaaacagtatgcgccgatgtccgttgcgcagcagtctctggttct gttcgcagcagaacgtggttacctggcggatgttgaactgtcgaaaattggcagcttcga agccgctctgctggcttacgtcgaccgtgatcacgctccgttgatgcaagagatcaacca gaccggtggctacaacgacgaaatcgaaggcaagctgaaaggcatcctcgattccttcaa agcaacccaatcctggtaacgtctggcggcttgccttagggcaggccgcaaggcattgag gagaagctcatggccggcgcaaaagacatacgtagtaagatcgcaagcgtccagaacacg caaaagatcactaaagcgatggagatggtcgccgcttccaaaatgcgtaaatcgcaggat cgcatggcggccagccgtccttatgcagaaaccatgcgcaaagtgattggtcaccttgca cacggtaatctggaatataagcacccttacctggaagaccgcgacgttaaacgcgtgggc tacctggtggtgtcgaccgaccgtggtttgtgcggtggtttgaacattaacctgttcaaa aaactgctggcggaaatgaagacctggaccgacaaaggcgttcaatgcgacctcgcaatg atcggctcgaaaggcgtgtcgttcttcaactccgtgggcggcaatgttgttgcccaggtc accggcatgggggataacccttccctgtccgaactgatcggtccggtaaaagtgatgttg caggcctacgacgaaggccgtctggacaagctttacattgtcagcaacaaatttattaac accatgtctcaggttccgaccatcagccagctgctgccgttaccggcatcagatgatgat gatctgaaacataaatcctgggattacctgtacgaacccgatccgaaggcgttgctggat accctgctgcgtcgttatgtcgaatctcaggtttatcagggcgtggttgaaaacctggcc agcgagcaggccgcccgtatggtggcgatgaaagccgcgaccgacaatggcggcagcctg attaaagagctgcagttggtatacaacaaagctcgtcaggccagcattactcaggaactc accgagatcgtctcgggggccgccgcggtttaaacaggttatttcgtagaggatttaaga tggctactggaaagattgtccaggtaatcggcgccgtagttgacgtcgaattccctcagg atgccgtaccgcgcgtgtacgatgctcttgaggtgcaaaatggtaatgagcgtctggtgc tggaagttcagcagcagctcggcggcggtatcgtacgtaccatcgcaatgggttcctccg acggtctgcgtcgcggtctggatgtaaaagacctcgaacacccgattgaagtcccggtag gtaaagcgactctgggccgtatcatgaacgtactgggtgaaccggtcgacatgaaaggcg agatcggtgaagaagagcgttgggcgattcaccgcgcagcaccttcctacgaagagctgt caaactctcaggaactgctggaaaccggtatcaaagttatcgacctgatgtgtccgttcg ctaagggcggtaaagttggtctgttcggtggtgcgggtgtaggtaaaaccgtaaacatga tggagctcattcgtaacatcgcgatcgagcactccggttactctgtgtttgcgggcgtag gtgaacgtactcgtgagggtaacgacttctaccacgaaatgaccgactccaacgttatcg acaaagtatccctggtgtatggccagatgaacgagccgccgggaaaccgtctgcgcgttg ctctgaccggtctgaccatggctgagaaattccgtgacgaaggtcgtgacgttctgctgt tcgttgacaacatctatcgttacaccctggccggtacggaagtatccgcactgctgggcc gtatgccttcagcggtaggttatcagccgaccctggcggaagagatgggcgttctgcagg aacgtatcacctccaccaaaactggttctatcacctccgtacaggcagtatacgtacctg cggatgacttgactgacccgtctccggcaaccacctttgcgcaccttgacgcaaccgtgg tactgagccgtcagatcgcgtctctgggtatctacccggccgttgacccgctggactcca ccagccgtcagctggacccgctggtggttggtcaggaacactacgacaccgcgcgtggcg ttcagtccatcctgcaacgttatcaggaactgaaagacatcatcgccatcctgggtatgg atgaactgtctgaagaagacaaactggtggtagcgcgtgctcgtaagatccagcgcttcc tgtcccagccgttcttcgtggcagaagtattcaccggttctccgggtaaatacgtctccc tgaaagacaccatccgtggctttaaaggcatcatggaaggcgaatacgatcacctgccgg agcaggcgttctacatggtcggttccatcgaagaagctgtggaaaaagccaaaaaacttt aacgccttaatcggagggtgatatggcaatgacttaccacctggacgtcgtcagcgcaga gcaacaaatgttctctggtctggtcgagaaaatccaggtaacgggtagcgaaggtgaact ggggatctaccctggccacgcaccgctgctcaccgccattaagcctggtatgattcgcat cgtgaaacagcacggtcacgaagagtttatctatctgtctggcggcattcttgaagtgca gcctggcaacgtgaccgttctggccgacaccgcaattcgcggccaggatctcgacgaagc gcgagccatggaagcgaaacgtaaggctgaagagcacattagcagctctcacggcgacgt agattacgctcaggcgtctgcggaactggccaaagcgatcgcgcagctgcgcgttatcga gttgaccaaaaaagcgatgtaacaccggcttgaaaagcacaaaagccagtctggaaacag gctggcttttttttgcgcgtgtgacccgtcctgaatagcgttcacatagatcctgctgat ataaaacccccctgttttcctgtttattcattgatcgaaataagagcaaaaacatccacc tgacgcttaaattaaggtactgccttaattttctgcagacaaaaggcgtgacgatggtcg aaaatggcgctttcgtcagcggggataatccgttattgaacaatttatcctctgtccatt tcacgatgaaaaaaatgtagttttttcaaggtgaagcggtttaaattcgttctcaaatta cagtcaggacgcgtatgttga seqinr/inst/sequences/bordetella.fasta0000644000176000001440000000402610432644700017712 0ustar ripleyusers>BP0002 atgagcgccgttcccgatatccccggcggccccgcgcagcggctggcccaggcctgcgat gcgctgcgattgccggccgacgccggccagcagcagaagctgctgcgctatatcgagcaa atgcagcgctggaaccgcacgtacaacctgactgccatccgggatccggggcagatgctc gtgcagcacctgttcgacagtctgtcggtcgtggcgccgctggagcgtggcctgcccgcc gccgggtccggcgcgcgcgtcaagctgttcgacgtcggctccggcggcggcctgcccggc gtggtgctggccatcatgcgcgcccattgggacgtcacatgcgtggacgcagtcgagaag aaaaccgcattcgtgcgacagatggccggcgcgctcggactgcccaatctgcaggccgcg catacccgtatcgaacagctcgaaccggcgcaatgcgacgtggtgatatcgcgtgcgttc gcttcgttacaggacttcgcgaagctggccggccgccacgtgcgcgagggtggtaccctc gtcgccatgaagggcaaggtgcccgatgacgaaatccaggcgttacagcaacacggccac tggacggtcgaacggatcgaaccgttggtggtgccggcactcgacgcgcaacgctgcctg atatggatgcgacgcagtcaaggaaacata >BPP0002 atgagcgccgttcccgatatccccggcggccccgcgcagcggctggcccaggcctgcgat gcgctgcgattgccggccgacgccggccagcagcagaagctgctgcgctatatcgagcaa atgcagcgctggaaccgcacgtacaacctgactgccatccgggacccggggcagatgctc gtgcagcacctgttcgacagtctgtcggtcgtggcgccgctggagcgtggcctgcccgcc gccgggtccggcgcgcgcgtcaagctgttcgacgtcggctccggcggcggcctgcccggc gtggtgctggccatcatgcgcgcccattgggacgtcacatgcgtggacgcagtcgagaag aaaaccgcattcgtgcggcagatggccggcgcgctcggactgcccaatctgcaggccgcg catacccgtatcgaacagctcgaaccggcgcaatgcgacgtggtgatatcgcgtgcgttc gcttcgttacaggacttcgcgaagctggccggccgccacgtgcgcgagggtggtaccctc gtcgccatgaagggcaaggtgcccgatgacgaaatccaggcgttacagcaacacggccac tggacggtcgaacggatcgaaccgttggtggtgccggcactcgacgcgcaacgctgcctg atatggatgcgacgcagtcaaggaaacata >BB0002 atgagcgccgttcccgatatccccggcggccccgcgcagcggctggcccaggcctgcgat gcgctgcgattgccggccgacgccggccagcagcagaagctgctgcgctatatcgagcaa atgcagcgctggaaccgcacgtacaacctgactgccatccgggacccggggcagatgctc gtgcagcacctgttcgacagtctgtcggtcgtggcgccgctggagcgcggcctgcccggc gtggtgctggccatcatgcgcgcccattgggacgtcacatgcgtggacgcagtcgagaag aaaaccgcattcgtgcggcagatggccggcgcgctcggactgcccaatctgcaggccgcg catacccgtatcgaacagctcgaaccggcgcaatgcgacgtggtgatatcgcgtgcgttc gcttcgttacaggacttcgcgaagctggccggccgccacgtgcgcgagggtggtaccctc gtcgccatgaagggcaaggtgcccgatgacgaaatccaggcgttacagcaacacggccac tggacggtcgaacggatcgaaccgttggtggtgccggcactcgacgcgcaacgctgcctg atatggatgcgacgcagtcaaggaaacata seqinr/inst/sequences/input.out0000644000176000001440000001041410473524715016453 0ustar ripleyuserstitle GC3s GC YCG9_Probable__________13 0.335 0.394 YCG8________573_residues_ 0.439 0.446 ALPHA2________633_residue 0.328 0.351 ALPHA1________528_residue 0.345 0.379 CHA1_________1083_residue 0.328 0.394 KRR1__________951_residue 0.364 0.384 PRD1_________2139_residue 0.430 0.397 KAR4_________1008_residue 0.354 0.383 PBN1_________1251_residue 0.330 0.386 LRE1_________1761_residue 0.347 0.419 APA1__________966_residue 0.385 0.395 YCE9__________939_residue 0.410 0.433 YCE8_________1392_residue 0.396 0.370 YCE7__________777_residue 0.394 0.391 YCE5_________2283_residue 0.383 0.386 YCE6__________324_residue 0.400 0.417 YCE4_________1254_residue 0.468 0.453 PDI1_________1569_residue 0.556 0.474 GLK1_________1503_residue 0.581 0.497 YCD8_________1587_residue 0.353 0.395 SRO9_________1401_residue 0.424 0.448 YCD6_________1701_residue 0.528 0.474 YCD5__________333_residue 0.472 0.421 YCD3__________507_residue 0.560 0.490 STE50________1041_residue 0.467 0.438 HIS4_________2400_residue 0.370 0.425 BIK1_________1323_residue 0.438 0.438 FUS1_________1539_residue 0.390 0.411 YC08__________579_residue 0.390 0.444 AGP1_________1902_residue 0.396 0.438 LEU2_________1095_residue 0.382 0.441 NFS1_________1494_residue 0.356 0.431 BUD3_________4104_residue 0.358 0.380 GBP2_________1284_residue 0.329 0.426 ILV6__________930_residue 0.555 0.501 CWH36_________393_residue 0.341 0.382 PEL1_________1251_residue 0.387 0.390 RER1__________567_residue 0.339 0.346 CDC10_________969_residue 0.294 0.371 MRPL32________552_residue 0.299 0.375 YCP4__________744_residue 0.358 0.451 CIT2_________1383_residue 0.285 0.398 YCP7__________720_residue 0.333 0.363 SAT4_________1812_residue 0.291 0.392 RVS161________798_residue 0.330 0.384 YCQ0__________852_residue 0.348 0.422 ADP1_________3150_residue 0.343 0.380 PGK1_________1251_residue 0.498 0.462 POL4_________1749_residue 0.323 0.358 YCQ7_________2862_residue 0.326 0.396 SRD1__________678_residue 0.295 0.370 MAK32________1092_residue 0.385 0.407 PET18_________648_residue 0.357 0.389 MAK31_________267_residue 0.321 0.394 HSP30_________999_residue 0.377 0.429 YCR3_________1836_residue 0.288 0.380 SYN_________1479_residues 0.307 0.373 YCR6_________2232_residue 0.370 0.405 GNS1_________630_residues 0.332 0.399 FEN2_________1539_residue 0.334 0.401 RIM1__________444_residue 0.343 0.395 CRY1__________414_residue 0.306 0.460 YCS2________6504_residues 0.336 0.350 YCS3________3681_residues 0.302 0.394 GNS1_________1044_residue 0.349 0.383 RBK1_________1002_residue 0.333 0.396 PHO87________2772_residue 0.341 0.386 BUD5_________1617_residue 0.394 0.398 MATALPHA2_________633_res 0.328 0.351 MATALPHA1_________528_res 0.345 0.379 TSM1_________4224_residue 0.331 0.368 YCT5________1476_residues 0.560 0.479 PETCR46_______510_residue 0.695 0.525 YCT7________828_residues_ 0.672 0.527 YCT9_________447_residues 0.615 0.547 ARE1_________1833_residue 0.698 0.499 RSC6_________1452_residue 0.506 0.459 THR4_________1545_residue 0.402 0.405 CTR86________1692_residue 0.356 0.361 PWP2_________2772_residue 0.391 0.414 YCU9_________777_residues 0.608 0.532 YCV1________1752_residues 0.533 0.499 G10_________474_residues_ 0.566 0.482 HCM1_________1599_residue 0.411 0.423 RAD18________1464_residue 0.300 0.379 CYPR_________957_residues 0.458 0.435 YCW1________366_residues_ 0.419 0.419 YCW2________1548_residues 0.364 0.434 SSK22________3945_residue 0.373 0.393 SOL2__________948_residue 0.516 0.495 ERS1__________783_residue 0.492 0.433 PAT1_______2394_residues_ 0.417 0.435 SRB8_________4284_residue 0.390 0.352 YCX3_________384_residues 0.442 0.417 TUP1_________2142_residue 0.421 0.456 YC16________462_residues_ 0.649 0.455 ABP1_________1779_residue 0.397 0.459 KIN82________2181_residue 0.374 0.399 MSH3_________3144_residue 0.333 0.366 CDC39________6327_residue 0.316 0.365 YCY4________1176_residues 0.312 0.368 A2____________360_residue 0.342 0.373 GIT1_________1557_residue 0.295 0.383 YCZ0_________951_residues 0.298 0.383 YCZ1________549_residues_ 0.282 0.372 YCZ2________1107_residues 0.418 0.443 YCZ3________336_residues_ 0.443 0.423 PAU3__________375_residue 0.413 0.478 YCZ5________1086_residues 0.378 0.437 YCZ6_______2499_residues_ 0.321 0.369 YCZ7_______1092_residues_ 0.349 0.410 seqinr/inst/sequences/UBIQUITIN.mase0000644000176000001440000000165610122306725017001 0ustar ripleyusers;;Ubiquitin, human and mouse sequences aligned by clustalw1.7 on Tue Sep 14 15:05:45 2004 ;empty description human_ubiquitin ATGCAGATCTTTGTGAAGACCCTCACTGGCAAAACCATCACCCTTGAGGTCGAGCCCAGT GACACCATTGAGAATGTCAAAGCCAAAATTCAAGACAAGGAGGGTATCCCACCTGACCAG CAGCGTCTGATATTTGCCGGCAAACAGCTGGAGGATGGCCGCACTCTCTCAGACTACAAC ATCCAGAAAGAGTCCACCCTGCACCTGGTGTTGCGCCTGCGAGGTGGCATTATTGAGCCT TCTCTCCGCCAGCTTGCCCAGAAATACAACTGCGACAAGATGATCTGCCGCAAGTGCTAT GCTCGCCTTCACCCTCGTGCTGTCAACTGCCGCAAGAAGAAGTGTGGTCACACCAACAAC CTGCGTCCCAAGAAGAAGGTCAAA ;empty description mouse_ubiquitin ATGCAGATCTTCGTGAAGACCCTGACGGGCAAGACCATCACTCTTGAGGTCGAGCCCAGT GACACCATCGAGAATGTCAAGGCCAAGATCCAAGACAAGGAAGGCATCCCACCTGACCAG CAGAGGCTGATATTCGCGGGCAAACAGCTGGAGGATGGCCGCACCCTGTCCGACTACAAC ATCCAGAAAGAGTCCACCTTGCACCTGGTGCTGCGTCTGCGCGGTGGCATCATTGAGCCA TCCCTTCGTCAGCTTGCCCAGAAGTACAACTGTGACAAGATGATCTGCCGCAAGTGCTAC GCACGCCTGCACCCTCGTGCAGTCAACTGCCGCAAGAAGAAGTGCGGCCATACCAACAAC CTGCGCCCCAAGAAGAAGGTCAAA seqinr/inst/sequences/ecolicgpe5.fasta0000644000176000001440000000047310432124115017607 0ustar ripleyusers>ECOLICG.PE5 gtgaaaaagatgcaatctatcgtactcgcactttccctggttctggtcgctcccatggca gcacaggctgcggaaattacgttagtcccgtcagtaaaattacagataggcgatcgtgat aatcgtggctattactgggatggaggtcactggcgcgaccacggctggtggaaacaacat tatgaatggcgaggcaatcgctggcacctacacggaccgccgccaccgccgcgccaccat aagaaagctcctcatgatcatcacggcggtcatggtccaggcaaacatcaccgctaa seqinr/inst/sequences/bb.sp0000644000176000001440000000056410452205015015501 0ustar ripleyusersBORRELIA ANSERINA BORRELIA CORIACEAE BORRELIA PARKERI BORRELIA TURICATAE BORRELIA HERMSII BORRELIA CROCIDURAE BORRELIA LONESTARI BORRELIA HISPANICA BORRELIA BARBOURI BORRELIA THEILERI BORRELIA DUTTONII BORRELIA MIYAMOTOI BORRELIA PERSICA BORRELIA RECURRENTIS BORRELIA BURGDORFERI BORRELIA AFZELII BORRELIA GARINII BORRELIA ANDERSONII BORRELIA VALAISIANA BORRELIA JAPONICA seqinr/inst/sequences/malM.fasta0000644000176000001440000000173207707232243016472 0ustar ripleyusers>XYLEECOM.MALM 921 bp ACCESSION E00218, X04477 ATGAAAATGAATAAAAGTCTCATCGTCCTCTGTTTATCAGCAGGGTTACTGGCAAGCGCG CCTGGAATTAGCCTTGCCGATGTTAACTACGTACCGCAAAACACCAGCGACGCGCCAGCC ATTCCATCTGCTGCGCTGCAACAACTCACCTGGACACCGGTCGATCAATCTAAAACCCAG ACCACCCAACTGGCGACCGGCGGCCAACAACTGAACGTTCCCGGCATCAGTGGTCCGGTT GCTGCGTACAGCGTCCCGGCAAACATTGGCGAACTGACCCTGACGCTGACCAGCGAAGTG AACAAACAAACCAGCGTTTTTGCGCCGAACGTGCTGATTCTTGATCAGAACATGACCCCA TCAGCCTTCTTCCCCAGCAGTTATTTCACCTACCAGGAACCAGGCGTGATGAGTGCAGAT CGGCTGGAAGGCGTTATGCGCCTGACACCGGCGTTGGGGCAGCAAAAACTTTATGTTCTG GTCTTTACCACGGAAAAAGATCTCCAGCAGACGACCCAACTGCTCGACCCGGCTAAAGCC TATGCCAAGGGCGTCGGTAACTCGATCCCGGATATCCCCGATCCGGTTGCTCGTCATACC ACCGATGGCTTACTGAAACTGAAAGTGAAAACGAACTCCAGCTCCAGCGTGTTGGTAGGA CCCTTATTTGGTTCCTCCGCTCCAGCTCCGGTTACGGTAGGTAACACGGCGGCACCAGCT GTGGCTGCACCCGCTCCGGCACCGGTGAAGAAAAGCGAGCCGATGCTCAACGACACGGAA AGTTATTTTAATACCGCGATCAAAAACGCTGTCGCGAAAGGTGATGTTGATAAGGCGTTA AAACTGCTTGATGAAGCTGAACGCTTGGGATCGACATCTGCCCGTTCCACCTTTATCAGC AGTGTAAAAGGCAAGGGGTAA seqinr/inst/sequences/ame1.gbk0000644000176000001440000007557410575007024016105 0ustar ripleyusersLOCUS NW_001253191 395045 bp DNA linear CON 27-JUL-2006 DEFINITION Apis mellifera linkage group 1 genomic contig, reference assembly (based on Amel_4.0 Group1.32), whole genome shotgun sequence. ACCESSION NW_001253191 VERSION NW_001253191.1 GI:110749203 KEYWORDS WGS. SOURCE Apis mellifera (honey bee) ORGANISM Apis mellifera Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Hymenoptera; Apocrita; Aculeata; Apoidea; Apidae; Apis. COMMENT GENOME ANNOTATION REFSEQ: Features on this sequence have been produced for build 4 version 1 of the NCBI's genome annotation [see documentation]. The DNA sequence is from the whole genome assembly released by the Baylor College of Medicine Human Genome Sequencing Center as Amel_4.0, 10 March 2006 (see http://www.hgsc.bcm.tmc.edu/projects/honeybee/). The original whole genome shotgun project has the project accession AADG00000000.5. FEATURES Location/Qualifiers source 1..395045 /organism="Apis mellifera" /mol_type="genomic DNA" /strain="DH4" /db_xref="taxon:7460" gap 15697..16488 /estimated_length=792 gap 33780..33829 /estimated_length=50 gap 36567..36616 /estimated_length=50 STS 36914..37059 /db_xref="UniSTS:496079" gene complement(<41314..42282) /gene="LOC725278" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 34 Proteins" /db_xref="GeneID:725278" mRNA complement(<41314..42282) /gene="LOC725278" /product="similar to bab2 CG9102-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 34 Proteins" /transcript_id="XM_001121146.1" /db_xref="GI:110749172" /db_xref="GeneID:725278" CDS complement(<41314..42282) /gene="LOC725278" /codon_start=1 /product="similar to bab2 CG9102-PA" /protein_id="XP_001121146.1" /db_xref="GI:110749173" /db_xref="GeneID:725278" gap 45235..45284 /estimated_length=50 gap 80327..80816 /estimated_length=490 STS 86242..86449 /db_xref="UniSTS:468894" gap 90521..90570 /estimated_length=50 gene 91144..95539 /gene="LOC408598" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 ESTs, 4 Proteins" /db_xref="GeneID:408598" mRNA join(91144..91461,91544..91675,92508..92534,93494..93661, 93753..93824,93894..94018,94102..94226,94631..94807, 94929..95272,95363..95539) /gene="LOC408598" /product="similar to skiff CG30021-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 ESTs, 4 Proteins" /transcript_id="XM_392140.2" /db_xref="GI:66499702" /db_xref="GeneID:408598" CDS join(91144..91461,91544..91675,92508..92534,93494..93661, 93753..93824,93894..94018,94102..94226,94631..94807, 94929..95272,95363..95539) /gene="LOC408598" /codon_start=1 /product="similar to skiff CG30021-PA" /protein_id="XP_392140.2" /db_xref="GI:66499703" /db_xref="GeneID:408598" gene 99353..105343 /gene="LOC725347" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /db_xref="GeneID:725347" mRNA join(99353..99440,99825..99904,100322..100664, 100900..101274,101813..102003,103301..103430, 104176..104316,104396..104580,104922..105145, 105220..105343) /gene="LOC725347" /product="similar to ankyrin repeat domain 32" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /transcript_id="XM_001121206.1" /db_xref="GI:110749174" /db_xref="GeneID:725347" CDS join(99353..99440,99825..99904,100322..100664, 100900..101274,101813..102003,103301..103430, 104176..104316,104396..104580,104922..105145, 105220..105343) /gene="LOC725347" /codon_start=1 /product="similar to ankyrin repeat domain 32" /protein_id="XP_001121206.1" /db_xref="GI:110749175" /db_xref="GeneID:725347" gene complement(105904..108711) /gene="LOC410730" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 2 Proteins" /db_xref="GeneID:410730" mRNA complement(join(105904..106812,106865..106972, 107049..107413,107869..108016,108226..108711)) /gene="LOC410730" /product="similar to wurst CG9089-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 2 Proteins" /transcript_id="XM_394206.3" /db_xref="GI:110749176" /db_xref="GeneID:410730" CDS complement(join(106600..106812,106865..106972, 107049..107413,107869..108016,108226..108513)) /gene="LOC410730" /codon_start=1 /product="similar to wurst CG9089-PA" /protein_id="XP_394206.1" /db_xref="GI:48094544" /db_xref="GeneID:410730" gene 110434..112649 /gene="LOC408597" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 3 ESTs, 4 Proteins" /db_xref="GeneID:408597" mRNA join(110434..110685,111064..111365,111455..111997, 112143..112649) /gene="LOC408597" /product="similar to U2 small nuclear ribonucleoprotein auxiliary factor 35 kDa subunit related-protein 2 (U2(RNU2) small nuclear RNA auxillary factor 1-like 2) (NY-REN-20 antigen)" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 3 ESTs, 4 Proteins" /transcript_id="XM_392139.3" /db_xref="GI:110749177" /db_xref="GeneID:408597" CDS join(110434..110685,111064..111365,111455..111997, 112143..112407) /gene="LOC408597" /codon_start=1 /product="similar to U2 small nuclear ribonucleoprotein auxiliary factor 35 kDa subunit related-protein 2 (U2(RNU2) small nuclear RNA auxillary factor 1-like 2) (NY-REN-20 antigen)" /protein_id="XP_392139.1" /db_xref="GI:48094536" /db_xref="GeneID:408597" gene 113052..115690 /gene="LOC410729" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 11 Proteins" /db_xref="GeneID:410729" mRNA join(113052..113249,113318..113499,113681..113913, 113971..114106,114174..114240,114324..114531, 114606..114738,114813..114982,115054..115690) /gene="LOC410729" /product="similar to CG3734-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 11 Proteins" /transcript_id="XM_623673.2" /db_xref="GI:110749178" /db_xref="GeneID:410729" CDS join(113052..113249,113318..113499,113681..113913, 113971..114106,114174..114240,114324..114531, 114606..114738,114813..114982,115054..115163) /gene="LOC410729" /codon_start=1 /product="similar to CG3734-PA" /protein_id="XP_623676.2" /db_xref="GI:110749179" /db_xref="GeneID:410729" gene complement(115594..117288) /gene="LOC408596" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 3 Proteins" /db_xref="GeneID:408596" mRNA complement(join(115594..115799,115897..116110, 116300..116493,116737..116798,116855..117014, 117111..117288)) /gene="LOC408596" /product="similar to Cellular retinaldehyde binding protein CG10546-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 3 Proteins" /transcript_id="XM_392138.3" /db_xref="GI:110749180" /db_xref="GeneID:408596" CDS complement(join(115594..115799,115897..116110, 116300..116493,116737..116798,116855..117014, 117111..117288)) /gene="LOC408596" /codon_start=1 /product="similar to Cellular retinaldehyde binding protein CG10546-PA" /protein_id="XP_392138.3" /db_xref="GI:110749181" /db_xref="GeneID:408596" gene 123566..130015 /gene="LOC725576" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 ESTs, 4 Proteins" /db_xref="GeneID:725576" mRNA join(123566..123754,124184..124294,125135..125298, 125396..125547,127204..127427,127522..127655, 127746..128013,128964..129236,129308..129477, 129697..129806,129939..130015) /gene="LOC725576" /product="similar to CG12121-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 ESTs, 4 Proteins" /transcript_id="XM_001121399.1" /db_xref="GI:110749183" /db_xref="GeneID:725576" CDS join(123704..123754,124184..124294,125135..125298, 125396..125547,127204..127427,127522..127655, 127746..128013,128964..129236,129308..129477, 129697..129806,129939..130015) /gene="LOC725576" /codon_start=1 /product="similar to CG12121-PA" /protein_id="XP_001121399.1" /db_xref="GI:110749184" /db_xref="GeneID:725576" gap 144819..160230 /estimated_length=15412 gap 177671..177720 /estimated_length=50 gene 178989..209002 /gene="LOC551385" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 11 Proteins" /db_xref="GeneID:551385" mRNA join(178989..179052,204368..204392,205334..205382, 205486..205575,207877..207955,208878..209002) /gene="LOC551385" /product="similar to CG5907-PA, isoform A" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 11 Proteins" /transcript_id="XM_623780.1" /db_xref="GI:66499716" /db_xref="GeneID:551385" CDS join(178989..179052,204368..204392,205334..205382, 205486..205575,207877..207955,208878..209002) /gene="LOC551385" /codon_start=1 /product="similar to CG5907-PA, isoform A" /protein_id="XP_623783.1" /db_xref="GI:66499717" /db_xref="GeneID:551385" gap 215643..216092 /estimated_length=450 gap 235974..236265 /estimated_length=292 gene 265623..269178 /gene="LOC725683" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 4 Proteins" /db_xref="GeneID:725683" mRNA join(265623..265731,266759..267418,267523..267680, 267766..267924,268017..268286,268445..268696, 268834..269178) /gene="LOC725683" /product="similar to dusky CG9355-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 4 Proteins" /transcript_id="XM_001121500.1" /db_xref="GI:110749185" /db_xref="GeneID:725683" CDS join(265623..265731,266759..267418,267523..267680, 267766..267924,268017..268286,268445..268696, 268834..269178) /gene="LOC725683" /codon_start=1 /product="similar to dusky CG9355-PA" /protein_id="XP_001121500.1" /db_xref="GI:110749186" /db_xref="GeneID:725683" gene complement(269821..270523) /gene="LOC725721" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 4 Proteins" /pseudo /db_xref="GeneID:725721" mRNA complement(join(269821..270470,270502..270523)) /gene="LOC725721" /product="similar to CG9960-PA, isoform A" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 4 Proteins" /pseudo /transcript_id="XR_014924.1" /db_xref="GI:110749187" /db_xref="GeneID:725721" gene complement(270647..271288) /gene="LOC725747" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 Proteins" /db_xref="GeneID:725747" mRNA complement(join(270647..270971,271137..271288)) /gene="LOC725747" /product="similar to CG9958-PA, isoform A" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 Proteins" /transcript_id="XM_001121556.1" /db_xref="GI:110749188" /db_xref="GeneID:725747" CDS complement(join(270647..270971,271137..271288)) /gene="LOC725747" /codon_start=1 /product="similar to CG9958-PA, isoform A" /protein_id="XP_001121556.1" /db_xref="GI:110749189" /db_xref="GeneID:725747" gap 277350..277399 /estimated_length=50 gap 286941..287823 /estimated_length=883 gene complement(293586..351751) /gene="LOC725776" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 Proteins" /db_xref="GeneID:725776" mRNA complement(join(293586..293779,300730..300789, 301316..301734,301813..302291,351275..351751)) /gene="LOC725776" /product="similar to CG12029-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 2 Proteins" /transcript_id="XM_001121583.1" /db_xref="GI:110749190" /db_xref="GeneID:725776" CDS complement(join(293586..293779,300730..300789, 301316..301734,301813..302291,351275..351751)) /gene="LOC725776" /codon_start=1 /product="similar to CG12029-PA" /protein_id="XP_001121583.1" /db_xref="GI:110749191" /db_xref="GeneID:725776" gap 310814..311565 /estimated_length=752 gap 312805..312854 /estimated_length=50 gene complement(357891..360635) /gene="LOC551557" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /db_xref="GeneID:551557" mRNA complement(join(357891..357970,359209..359315, 359494..359602,359709..359839,359917..360182, 360337..360635)) /gene="LOC551557" /product="hypothetical LOC551557" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /transcript_id="XM_625253.2" /db_xref="GI:110749192" /db_xref="GeneID:551557" CDS complement(join(357891..357970,359209..359315, 359494..359602,359709..359839,359917..360182, 360337..360384)) /gene="LOC551557" /codon_start=1 /product="hypothetical protein" /protein_id="XP_625256.1" /db_xref="GI:66499720" /db_xref="GeneID:551557" gap 360694..361646 /estimated_length=953 gene 367137..370759 /gene="LOC413713" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 6 Proteins" /db_xref="GeneID:413713" mRNA join(367137..367451,368003..368231,368363..368705, 368774..368893,369011..369200,369592..369666, 369741..369798,369879..370006,370110..370313, 370421..370759) /gene="LOC413713" /product="similar to CG31915-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 6 Proteins" /transcript_id="XM_397154.3" /db_xref="GI:110749193" /db_xref="GeneID:413713" CDS join(367309..367451,368003..368231,368363..368705, 368774..368893,369011..369200,369592..369666, 369741..369798,369879..370006,370110..370313, 370421..370589) /gene="LOC413713" /codon_start=1 /product="similar to CG31915-PA" /protein_id="XP_397154.2" /db_xref="GI:66499725" /db_xref="GeneID:413713" gene 372041..374176 /gene="LOC410115" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 19 Proteins" /db_xref="GeneID:410115" mRNA join(372041..372257,372600..372780,372868..373182, 373312..373626,373711..373929,373997..374176) /gene="LOC410115" /product="similar to Actin-related protein 66B CG7558-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 19 Proteins" /transcript_id="XM_393599.3" /db_xref="GI:110749194" /db_xref="GeneID:410115" CDS join(372214..372257,372600..372780,372868..373182, 373312..373626,373711..373929,373997..374176) /gene="LOC410115" /codon_start=1 /product="similar to Actin-related protein 66B CG7558-PA" /protein_id="XP_393599.2" /db_xref="GI:66499731" /db_xref="GeneID:410115" gene complement(375339..378048) /gene="LOC410116" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 3 Proteins" /db_xref="GeneID:410116" mRNA complement(join(375339..375363,375481..375671, 375749..376042,376136..376445,376506..376759, 376895..377123,377210..377568,377725..377879, 377982..378048)) /gene="LOC410116" /product="similar to Protein FKSG26, transcript variant 1" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 3 Proteins" /transcript_id="XM_393600.3" /db_xref="GI:110749195" /db_xref="GeneID:410116" CDS complement(join(375339..375363,375481..375671, 375749..376042,376136..376445,376506..376759, 376895..377123,377210..377568,377725..377856)) /gene="LOC410116" /codon_start=1 /product="similar to Protein FKSG26 isoform 1" /protein_id="XP_393600.2" /db_xref="GI:66499735" /db_xref="GeneID:410116" gene 378362..380121 /gene="LOC726037" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 2 Proteins" /db_xref="GeneID:726037" mRNA join(378362..378559,378800..378859,378935..379057, 379136..379352,379430..379468,379559..379627, 379691..379890,380107..380121) /gene="LOC726037" /product="similar to CG3408-PA" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST, 2 Proteins" /transcript_id="XM_001121810.1" /db_xref="GI:110749196" /db_xref="GeneID:726037" CDS join(378470..378559,378800..378859,378935..379057, 379136..379352,379430..379468,379559..379627, 379691..379890,380107..380121) /gene="LOC726037" /codon_start=1 /product="similar to CG3408-PA" /protein_id="XP_001121810.1" /db_xref="GI:110749197" /db_xref="GeneID:726037" gene complement(380225..381671) /gene="LOC551729" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /db_xref="GeneID:551729" mRNA complement(join(380225..380237,380363..380868, 380999..381397,381554..381671)) /gene="LOC551729" /product="hypothetical LOC551729" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 1 EST" /transcript_id="XM_624117.2" /db_xref="GI:110749198" /db_xref="GeneID:551729" CDS complement(join(380225..380237,380363..380868, 380999..381397,381554..381616)) /gene="LOC551729" /codon_start=1 /product="hypothetical protein" /protein_id="XP_624120.2" /db_xref="GI:110749199" /db_xref="GeneID:551729" gap 381672..381725 /estimated_length=54 gene complement(384791..393499) /gene="LOC413907" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 9 Proteins" /db_xref="GeneID:413907" mRNA complement(join(384791..384940,385031..385276, 385388..385636,386181..386399,386511..386684, 387874..388075,388580..388710,389129..389248, 389446..389715,389790..389882,389975..390365, 391150..391397,391484..391614,391950..392010, 392243..392415,392491..392798,393312..393499)) /gene="LOC413907" /product="similar to Pyruvate dehydrogenase E1 component alpha subunit, testis-specific form, mitochondrial precursor (PDHE1-A type II)" /note="Derived by automated computational analysis using gene prediction method: GNOMON. Supporting evidence includes similarity to: 9 Proteins" /transcript_id="XM_397346.3" /db_xref="GI:110749200" /db_xref="GeneID:413907" CDS complement(join(384791..384940,385031..385276, 385388..385636,386181..386399,386511..386684, 387874..388075,388580..388710,389129..389248, 389446..389715,389790..389882,389975..390365, 391150..391397,391484..391614,391950..392010, 392243..392415,392491..392798,393312..393499)) /gene="LOC413907" /codon_start=1 /product="similar to Pyruvate dehydrogenase E1 component alpha subunit, testis-specific form, mitochondrial precursor (PDHE1-A type II)" /protein_id="XP_397346.3" /db_xref="GI:110749201" /db_xref="GeneID:413907" STS 389225..389486 /db_xref="UniSTS:496080" gap 393500..393670 /estimated_length=171 seqinr/inst/sequences/smallAA.fasta0000644000176000001440000000011310431344711017076 0ustar ripleyusers>smallAA A very small AA file in FASTA format SEQINRSEQINRSEQINRSEQINR* seqinr/inst/sequences/louse.names0000644000176000001440000000013610352757411016734 0ustar ripleyusersG.chapini G.cherriei G.costaric G.ewingi G.geomydis G.oklahome G.panamens G.setzeri seqinr/inst/sequences/test.mase0000644000176000001440000000160211022226075016375 0ustar ripleyusers;;Aligned by clustal on Tue Jun 30 17:36:11 1998 ;empty description Langur -KIFERCELARTLKKLGLDGYKGVSLANWVCLAKWESGYNTEATNYNPGDESTDYGIFQINSRYWCNNGKPGAVDACHISCSALLQNNIADAVACAKRVVSDQGIRAWVAWRNHCQNKDVSQYVKGCGV- ; Baboon -KIFERCELARTLKRLGLDGYRGISLANWVCLAKWESDYNTQATNYNPGDQSTDYGIFQINSHYWCNDGKPGAVNACHISCNALLQDNITDAVACAKRVVSDQGIRAWVAWRNHCQNRDVSQYVQGCGV- ; Human -KVFERCELARTLKRLGMDGYRGISLANWMCLAKWESGYNTRATNYNAGDRSTDYGIFQINSRYWCNDGKPGAVNACHLSCSALLQDNIADAVACAKRVVRDQGIRAWVAWRNRCQNRDVRQYVQGCGV- ; Rat -KTYERCEFARTLKRNGMSGYYGVSLADWVCLAQHESNYNTQARNYDPGDQSTDYGIFQINSRYWCNDGKPRAKNACGIPCSALLQDDITQAIQCAKRVVRDQGIRAWVAWQRHCKNRDLSGYIRNCGV- ; Cow -KVFERCELARTLKKLGLDGYKGVSLANWLCLTKWESSYNTKATNYNPSSESTDYGIFQINSKWWCNDGKPNAVDGCHVSCSELMENDIAKAVACAKKIVSEQGITAWVAWKSHCRDHDVSSYVEGCTL- ; Horse -KVFSKCELAHKLKAQEMDGFGGYSLANWVCMAEYESNFNTRAFNGKNANGSSDYGLFQLNNKWWCKDNKRSSSNACNIMCSKLLDENIDDDISCAKRVVRDKGMSAWKAWVKHCKDKDLSEYLASCNL- seqinr/inst/sequences/scuco.txt0000644000176000001440000003162711021546123016434 0ustar ripleyuserstitle T3s C3s A3s G3s CAI CBI Fop Nc GC3s GC L_sym L_aa Gravy Aromo YCG9_Probable__________13 0.4337 0.2347 0.3588 0.1852 0.123 0.075 0.446 54.09 0.335 0.394 439 458 0.610699 0.122271 YCG8________573_residues_ 0.2876 0.3595 0.4222 0.1875 0.100 0.020 0.394 52.46 0.439 0.446 180 190 -0.211579 0.084211 ALPHA2________633_residue 0.3636 0.2273 0.4939 0.2177 0.109 -0.034 0.397 58.73 0.328 0.351 204 210 -0.667143 0.052381 ALPHA1________528_residue 0.4361 0.2180 0.4228 0.2589 0.112 -0.008 0.411 58.29 0.345 0.379 168 175 -0.522857 0.148571 CHA1_________1083_residue 0.4399 0.2337 0.3927 0.1958 0.156 0.119 0.490 50.30 0.328 0.394 351 360 -0.046667 0.075000 KRR1__________951_residue 0.4045 0.2409 0.4310 0.2591 0.215 0.197 0.530 45.99 0.364 0.384 302 316 -0.762658 0.079114 PRD1_________2139_residue 0.4180 0.2757 0.3244 0.3169 0.190 0.131 0.493 53.19 0.430 0.397 684 712 -0.481742 0.117978 KAR4_________1008_residue 0.3931 0.2328 0.4412 0.2512 0.167 0.135 0.500 50.47 0.354 0.383 322 335 -0.554030 0.089552 PBN1_________1251_residue 0.4102 0.2156 0.4419 0.2210 0.132 0.012 0.414 53.53 0.330 0.386 403 416 -0.462260 0.098558 LRE1_________1761_residue 0.4072 0.2278 0.4202 0.2250 0.122 0.025 0.412 52.23 0.347 0.419 570 586 -0.848123 0.061433 APA1__________966_residue 0.3975 0.3156 0.4043 0.1972 0.335 0.373 0.631 42.55 0.385 0.395 309 321 -0.439252 0.093458 YCE9__________939_residue 0.4041 0.3061 0.3440 0.2244 0.143 0.099 0.475 58.49 0.410 0.433 295 312 -0.452885 0.125000 YCE8_________1392_residue 0.3850 0.2460 0.3835 0.3014 0.168 0.139 0.500 49.11 0.396 0.370 454 463 -0.123974 0.073434 YCE7__________777_residue 0.3861 0.2277 0.4022 0.3118 0.112 -0.041 0.378 58.22 0.394 0.391 251 258 -0.201938 0.104651 YCE5_________2283_residue 0.4197 0.2705 0.3664 0.2416 0.165 0.064 0.460 53.53 0.383 0.386 732 760 -0.225000 0.102632 YCE6__________324_residue 0.3733 0.1867 0.3810 0.3291 0.120 0.105 0.480 61.00 0.400 0.417 100 107 -0.404673 0.074766 YCE4_________1254_residue 0.3441 0.3765 0.3099 0.2098 0.130 0.119 0.468 54.53 0.468 0.453 402 417 -0.442686 0.083933 PDI1_________1569_residue 0.3243 0.4840 0.2541 0.2493 0.404 0.481 0.695 34.31 0.556 0.474 509 522 -0.248276 0.107280 GLK1_________1503_residue 0.2775 0.3650 0.2402 0.3792 0.158 0.208 0.521 51.32 0.581 0.497 484 500 -0.220000 0.068000 YCD8_________1587_residue 0.4497 0.2081 0.3171 0.2428 0.121 0.069 0.444 50.90 0.353 0.395 502 528 0.498864 0.134470 SRO9_________1401_residue 0.3800 0.3686 0.3616 0.1864 0.264 0.338 0.607 49.05 0.424 0.448 453 466 -0.957725 0.064378 YCD6_________1701_residue 0.2897 0.3310 0.3116 0.3634 0.095 -0.007 0.396 57.17 0.528 0.474 540 566 -0.488693 0.093640 YCD5__________333_residue 0.3494 0.3253 0.3333 0.3200 0.194 0.272 0.574 53.33 0.472 0.421 108 110 -0.248182 0.054545 YCD3__________507_residue 0.2868 0.3309 0.2719 0.4000 0.120 0.136 0.472 59.78 0.560 0.490 159 168 -0.648214 0.095238 STE50________1041_residue 0.2815 0.2815 0.3992 0.3362 0.120 0.095 0.464 55.52 0.467 0.438 332 346 -0.663295 0.046243 HIS4_________2400_residue 0.4692 0.2500 0.3238 0.2304 0.268 0.314 0.591 45.96 0.370 0.425 782 799 -0.192866 0.065081 BIK1_________1323_residue 0.2895 0.3322 0.4576 0.2733 0.133 0.088 0.464 55.42 0.438 0.438 425 440 -1.036591 0.061364 FUS1_________1539_residue 0.3643 0.2298 0.3953 0.2812 0.101 -0.012 0.406 57.18 0.390 0.411 495 512 -0.612500 0.078125 YC08__________579_residue 0.4161 0.2919 0.3241 0.1940 0.266 0.369 0.626 44.09 0.390 0.444 187 192 -0.194792 0.083333 AGP1_________1902_residue 0.4408 0.2805 0.2830 0.2201 0.256 0.336 0.600 44.83 0.396 0.438 603 633 0.249289 0.121643 LEU2_________1095_residue 0.4369 0.2901 0.3061 0.1859 0.432 0.480 0.683 34.70 0.382 0.441 353 364 -0.028571 0.049451 NFS1_________1494_residue 0.4150 0.2476 0.3648 0.1960 0.226 0.296 0.572 44.53 0.356 0.431 481 497 -0.243461 0.072435 BUD3_________4104_residue 0.3851 0.2439 0.4436 0.2391 0.137 0.019 0.430 51.99 0.358 0.380 1348 1367 -0.572860 0.076811 GBP2_________1284_residue 0.4689 0.2373 0.3805 0.1893 0.168 0.125 0.466 50.03 0.329 0.426 416 427 -0.961124 0.096019 ILV6__________930_residue 0.2305 0.4336 0.3024 0.2414 0.245 0.368 0.611 44.07 0.555 0.501 301 309 -0.184790 0.038835 CWH36_________393_residue 0.3434 0.2525 0.5158 0.2000 0.130 0.116 0.468 49.71 0.341 0.382 126 130 -0.813846 0.069231 PEL1_________1251_residue 0.3666 0.2669 0.3994 0.2343 0.124 0.038 0.419 55.50 0.387 0.390 408 416 -0.264663 0.115385 RER1__________567_residue 0.4082 0.2449 0.4331 0.2035 0.237 0.187 0.511 44.36 0.339 0.346 174 188 0.055319 0.154255 CDC10_________969_residue 0.5233 0.1783 0.3592 0.2186 0.169 0.104 0.478 47.07 0.294 0.371 316 322 -0.380435 0.086957 MRPL32________552_residue 0.4538 0.1769 0.4745 0.2362 0.187 0.122 0.480 51.92 0.299 0.375 177 183 -0.920219 0.071038 YCP4__________744_residue 0.4531 0.2604 0.3300 0.1885 0.199 0.253 0.546 49.55 0.358 0.451 240 247 -0.228340 0.085020 CIT2_________1383_residue 0.4578 0.1962 0.4327 0.1677 0.185 0.146 0.480 44.29 0.285 0.398 446 460 -0.333044 0.095652 YCP7__________720_residue 0.4197 0.2176 0.4451 0.2365 0.134 0.001 0.424 50.14 0.333 0.363 231 239 -0.101674 0.142259 SAT4_________1812_residue 0.4864 0.1900 0.4009 0.1889 0.146 0.049 0.433 47.91 0.291 0.392 580 603 -0.593035 0.069652 RVS161________798_residue 0.4221 0.2362 0.4505 0.2097 0.210 0.178 0.513 46.57 0.330 0.384 261 265 -0.551698 0.086792 YCQ0__________852_residue 0.4779 0.2008 0.2921 0.2394 0.212 0.286 0.560 46.41 0.348 0.422 273 283 0.351237 0.148410 ADP1_________3150_residue 0.4339 0.2073 0.3904 0.2534 0.139 0.044 0.435 51.18 0.343 0.380 1027 1049 -0.000477 0.102002 PGK1_________1251_residue 0.4018 0.3776 0.2179 0.2532 0.804 0.835 0.900 26.81 0.498 0.462 410 416 -0.115865 0.067308 POL4_________1749_residue 0.4543 0.2108 0.4487 0.2447 0.151 0.032 0.438 52.20 0.323 0.358 564 582 -0.575945 0.104811 YCQ7_________2862_residue 0.4677 0.2152 0.3462 0.2020 0.156 0.122 0.476 49.43 0.326 0.396 905 953 0.250787 0.149003 SRD1__________678_residue 0.4545 0.2121 0.4571 0.1863 0.133 0.045 0.441 48.99 0.295 0.370 220 225 -1.112445 0.057778 MAK32________1092_residue 0.3787 0.2558 0.4016 0.2613 0.110 -0.026 0.399 58.83 0.385 0.407 351 363 -0.271901 0.104683 PET18_________648_residue 0.4182 0.2606 0.4267 0.2214 0.207 0.128 0.488 52.78 0.357 0.389 207 215 -0.335349 0.144186 MAK31_________267_residue 0.5143 0.1857 0.2754 0.2097 0.140 0.064 0.432 45.63 0.321 0.394 81 88 0.404545 0.011364 HSP30_________999_residue 0.4357 0.2607 0.3151 0.2130 0.230 0.255 0.551 47.53 0.377 0.429 316 332 0.355422 0.138554 YCR3_________1836_residue 0.4708 0.1809 0.4000 0.1938 0.133 0.032 0.426 47.43 0.288 0.380 584 611 0.058756 0.124386 SYN_________1479_residues 0.3990 0.2150 0.4862 0.1903 0.144 0.062 0.445 50.04 0.307 0.373 476 492 -0.388008 0.117886 YCR6_________2232_residue 0.4080 0.2441 0.4096 0.2629 0.120 -0.012 0.416 52.79 0.370 0.405 711 743 -0.546837 0.114401 GNS1_________630_residues 0.4518 0.2108 0.3774 0.2238 0.092 -0.040 0.386 58.78 0.332 0.399 202 209 -0.177034 0.066986 FEN2_________1539_residue 0.4498 0.2081 0.3624 0.2257 0.128 0.060 0.439 51.34 0.334 0.401 476 512 0.178125 0.134766 RIM1__________444_residue 0.5315 0.2793 0.3271 0.1782 0.292 0.322 0.601 36.11 0.343 0.395 143 147 -0.797279 0.102041 CRY1__________414_residue 0.5424 0.2458 0.2522 0.1101 0.758 0.762 0.851 28.50 0.306 0.460 134 137 -0.378102 0.036496 YCS2________6504_residues 0.4228 0.2271 0.4398 0.2388 0.123 -0.021 0.411 53.12 0.336 0.350 2095 2167 -0.153946 0.118136 YCS3________3681_residues 0.4461 0.1864 0.4392 0.2107 0.120 -0.001 0.403 52.35 0.302 0.394 1201 1226 -1.003589 0.065253 GNS1_________1044_residue 0.4545 0.2458 0.3320 0.1947 0.239 0.243 0.549 44.21 0.349 0.383 335 347 0.358501 0.158501 RBK1_________1002_residue 0.4885 0.2038 0.3490 0.2402 0.162 0.182 0.522 48.54 0.333 0.396 324 333 -0.243243 0.078078 PHO87________2772_residue 0.4089 0.2389 0.4020 0.2010 0.168 0.161 0.502 47.61 0.341 0.386 886 923 0.088407 0.095341 BUD5_________1617_residue 0.3310 0.3125 0.4526 0.2023 0.128 0.083 0.458 54.42 0.394 0.398 520 538 -0.284387 0.104089 MATALPHA2_________633_res 0.3636 0.2273 0.4939 0.2177 0.109 -0.034 0.397 58.73 0.328 0.351 204 210 -0.667143 0.052381 MATALPHA1_________528_res 0.4361 0.2180 0.4228 0.2589 0.112 -0.008 0.411 58.29 0.345 0.379 168 175 -0.522857 0.148571 TSM1_________4224_residue 0.4768 0.1868 0.3871 0.2733 0.141 0.024 0.439 50.46 0.331 0.368 1359 1407 -0.418621 0.085288 YCT5________1476_residues 0.2839 0.3920 0.2748 0.3458 0.119 0.090 0.463 59.87 0.560 0.479 477 491 -0.326273 0.107943 PETCR46_______510_residue 0.1241 0.4526 0.2391 0.4160 0.114 0.174 0.494 45.17 0.695 0.525 164 169 -0.362130 0.065089 YCT7________828_residues_ 0.2429 0.3143 0.1722 0.5685 0.075 0.022 0.400 48.69 0.672 0.527 265 275 -0.543273 0.076364 YCT9_________447_residues 0.1940 0.4627 0.2566 0.2385 0.124 0.223 0.503 45.50 0.615 0.547 143 148 -0.056757 0.074324 ARE1_________1833_residue 0.1992 0.4419 0.1851 0.4845 0.114 0.089 0.466 48.53 0.698 0.499 573 610 0.035738 0.167213 RSC6_________1452_residue 0.3057 0.3472 0.3258 0.3163 0.130 0.095 0.460 53.35 0.506 0.459 472 483 -0.744306 0.062112 THR4_________1545_residue 0.3951 0.3679 0.3653 0.1514 0.404 0.457 0.682 37.49 0.402 0.405 503 514 -0.280350 0.101167 CTR86________1692_residue 0.4318 0.2416 0.4103 0.2536 0.155 0.050 0.449 54.03 0.356 0.361 548 563 -0.197513 0.101243 PWP2_________2772_residue 0.3965 0.2777 0.3778 0.2351 0.162 0.112 0.478 51.97 0.391 0.414 896 923 -0.359263 0.104009 YCU9_________777_residues 0.2772 0.4703 0.2151 0.3121 0.147 0.152 0.502 55.93 0.608 0.532 245 258 -0.285271 0.089147 YCV1________1752_residues 0.3184 0.3965 0.2365 0.2487 0.120 0.128 0.472 56.89 0.533 0.499 555 583 0.168782 0.113208 G10_________474_residues_ 0.2301 0.4690 0.3419 0.3084 0.130 0.109 0.474 52.83 0.566 0.482 152 157 -0.852229 0.082803 HCM1_________1599_residue 0.3756 0.2703 0.3776 0.2755 0.137 0.112 0.467 57.13 0.411 0.423 518 532 -0.733271 0.078947 RAD18________1464_residue 0.4270 0.2162 0.4734 0.1791 0.146 0.063 0.441 50.13 0.300 0.379 467 487 -0.755852 0.059548 CYPR_________957_residues 0.3837 0.3527 0.3000 0.2406 0.181 0.109 0.477 53.88 0.458 0.435 310 318 -0.294025 0.103774 YCW1________366_residues_ 0.3579 0.2316 0.3736 0.3418 0.104 0.049 0.444 54.99 0.419 0.419 117 121 -0.423967 0.090909 YCW2________1548_residues 0.4115 0.2488 0.3639 0.2096 0.169 0.158 0.497 48.00 0.364 0.434 489 515 -0.424854 0.075728 SSK22________3945_residue 0.3837 0.2287 0.4193 0.2719 0.128 0.064 0.444 54.11 0.373 0.393 1249 1314 -0.328234 0.099696 SOL2__________948_residue 0.3295 0.3527 0.2647 0.3059 0.116 0.101 0.461 58.91 0.516 0.495 306 315 -0.251428 0.076190 ERS1__________783_residue 0.2857 0.2673 0.3430 0.3882 0.088 -0.033 0.382 53.44 0.492 0.433 238 260 0.336154 0.157692 PAT1_______2394_residues_ 0.3964 0.2799 0.3279 0.2619 0.180 0.215 0.525 50.08 0.417 0.435 769 797 -0.491719 0.069009 SRB8_________4284_residue 0.3950 0.2687 0.4088 0.2845 0.155 0.042 0.458 54.92 0.390 0.352 1372 1427 -0.166924 0.113525 YCX3_________384_residues 0.3608 0.2887 0.3441 0.3012 0.157 0.087 0.467 53.80 0.442 0.417 120 127 -0.078740 0.086614 TUP1_________2142_residue 0.3940 0.2827 0.3262 0.2524 0.181 0.195 0.521 51.80 0.421 0.456 699 713 -0.627910 0.054698 YC16________462_residues_ 0.3229 0.3438 0.1913 0.5963 0.131 0.024 0.464 45.93 0.649 0.455 151 153 -1.171895 0.078431 ABP1_________1779_residue 0.4212 0.2988 0.3625 0.2336 0.238 0.259 0.558 47.62 0.397 0.459 579 592 -1.042061 0.060811 KIN82________2181_residue 0.3646 0.2778 0.4411 0.2149 0.128 0.035 0.428 55.47 0.374 0.399 706 726 -0.641873 0.079890 MSH3_________3144_residue 0.4221 0.1959 0.4288 0.2576 0.117 -0.035 0.394 52.47 0.333 0.366 1017 1047 -0.309647 0.079274 CDC39________6327_residue 0.4196 0.2110 0.4409 0.2068 0.169 0.131 0.487 49.25 0.316 0.365 2045 2108 -0.091461 0.086338 YCY4________1176_residues 0.4643 0.1883 0.4209 0.2449 0.130 -0.003 0.421 51.25 0.312 0.368 378 391 -0.421483 0.117647 A2____________360_residue 0.3448 0.2299 0.5000 0.2317 0.099 -0.043 0.386 56.36 0.342 0.373 114 119 -0.906723 0.067227 GIT1_________1557_residue 0.5012 0.2028 0.3429 0.1742 0.193 0.195 0.530 44.36 0.295 0.383 491 518 0.267568 0.123552 YCZ0_________951_residues 0.4704 0.2000 0.4000 0.1939 0.120 -0.014 0.408 51.30 0.298 0.383 309 316 -0.312658 0.110759 YCZ1________549_residues_ 0.4430 0.2081 0.4646 0.1636 0.105 -0.066 0.379 51.38 0.282 0.372 174 182 -0.128571 0.137363 YCZ2________1107_residues 0.3974 0.3079 0.3206 0.2278 0.200 0.235 0.547 48.47 0.418 0.443 364 368 -0.124728 0.078804 YCZ3________336_residues_ 0.3830 0.2553 0.3108 0.3333 0.084 -0.092 0.330 61.00 0.443 0.423 106 111 0.181982 0.135135 PAU3__________375_residue 0.4128 0.3670 0.2524 0.1075 0.618 0.687 0.810 31.93 0.413 0.478 121 124 0.317742 0.088710 YCZ5________1086_residues 0.4460 0.2822 0.3235 0.2058 0.187 0.192 0.522 53.17 0.378 0.437 347 361 -0.055956 0.074792 YCZ6_______2499_residues_ 0.4534 0.2112 0.4206 0.2218 0.123 -0.005 0.403 53.63 0.321 0.369 797 832 -0.156491 0.099760 YCZ7_______1092_residues_ 0.4877 0.2456 0.3271 0.2152 0.147 0.072 0.452 55.49 0.349 0.410 347 363 -0.352893 0.107438 seqinr/inst/sequences/gopher.fasta0000644000176000001440000000753610352757411017077 0ustar ripleyusers>gi|548223|gb|L32683.1|PPGCYTOXIA Geomys breviceps mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTATATCTTGATCCTGCCAGGATTTGGAATAATTTCACATATTGTTACTTACTATTCCGGAAAA AAAGAGCCTTTTGGCTATATAGGTATAGTTTGAGCTATAATATCAATCGGATTTTTAGGCTTTATCGTGT GAGCCCACCATATATTTACAGTAGGTATGGATGTAGACACACGAGCTTACTTTACATCTGCTACTATAAT TATCGCCATCCCAACTGGAGTGAAAGTATTTAGCTGATTAGCCACTTTACACGGAGGTAATATTAAATGG TCACCTGCTATATTGTGAGCGCTAGGTTTTATTTTCCTTTTCACTATCGGCGGATTAACTGGAATCGTCC TGTCCAACTCATCACTAGACATTGTACTG >gi|548197|gb|L32686.1|OGOCYTOXIA Orthogeomys cavator mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTATATCTTAATTCTCCCAGGCTTCGGAATGATTTCTCATATTGTCACTTACTACTCAGGTAAA AAAGAACCATTTGATTATATAGGCGTGGTATGAGCTATAATATCCATCGGATTCCTAGGTTTGATAGTAT GAGCCCACCATATATTCACAGTAGGAATAGACGTAGACACACGAGCTTATTTCACATCCGCTACTATAAT TATTGCTATTCCCACCGGAGTAAAAGTATTCAGTTGACTGGCTACCATGAACGGAGGTAATATTAAATGA TCTCCTGCCATACTATGAGCTTTAGGCTTTATCTTCCTATTCACAATTGGTGGCCTAACCGGCATTGTAT TATCAAATTCATCCTTAGATATTATTCTA >gi|548199|gb|L32687.1|OGOCYTOXIB Orthogeomys cherriei mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTACATCTTAATCCTCCCAGGCTTCGAAATAATCTCTCATATTGTCACTTATTATTCAGGTAAA AAAGAACCCTTTGGCTATATAGGTATGGTATGAGCTATAATATCAATTGGTTTCCTAGGTTTAATGGTAT GAGCCCACCATATATTTACAGTAGGAATAGACGTAGATACACGAGCCTACTTTACATCCGCTACTATAAT TATTGCTATTCCTACCGGAGTAAAAGTATTCAGTTGACTAGCTACCATGAACGGAGGCAATATTAAATGA TCCCCTGCCATATTATGAGCTTTAGGTTTTATTTTCCTATTTACAATTGGTGGCCTAACCGGCATTGTAT TATCAAACTCATCCTTAGATATTGTCCTA >gi|548201|gb|L32691.1|OGOCYTOXIC Orthogeomys underwoodi mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTATATCTTGATCCTCCCAGGATTCGGAATGATTTCTCATATTGTCACCTACTATTCAGGTAAA AAAGAACCCTTTGATTATATAGGCATGGTATGAGCTATAATATCTATTGGTTTCCTAGGTTTTATAGTAT GAGCCCACCATATATTCACAGTAGGGATAGACGTAGATACACGAGCTTACTTTACATCCGCTACTATGAT TATCGCTATCCCTACCGGAGTAAAAGTGTTCAGTTGACTAGCTACCATGAACGGAGGTAATATTAAATGA TCTCCTGCCATATTATGAGCCTTAGGTTTTATTTTCCTGTTCACAATTGGTGGACTAACAGGCATTGTAT TATCTAATTCATCCTTAGACATTATTCTA >gi|548203|gb|L32692.1|OGOCYTOXID Orthogeomys hispidus mitochondrial cytochrome oxidase I gene, partial cds TGAGGTTTATATCTTAATCCTCCCAGGCTTCGGTATAATTTCTCATATCGTCACTTATTACTCAGGCAAA AAAGAACCATTTGGATATATAGGCATGGTATGAGCCATAATATCTATTGGTTTCTTAGGTTTCATGGTAT GAGCCCACCATATATTCACAGTAGGAATAGACGTAGACACACGAGCTTATTTTACATCTGCTACTATAAT TATCGCTATTCCTACCGGGGTAAAAGTATTCAGTTGACTGGCTACACTGCATGGAGGTAATATTAAATGA TCTCCTGCCATATTATGAGCTTTAGGTTTTATTTTCCTATTTACTATCGGTGGTCTAACGGGCATTGTCC TATCAAATTCATCTTTGGATATCGTTCTA >gi|548229|gb|L32693.1|PPGCYTOXID Geomys bursarius mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTACATCTTAATCCTACCCGGATTCGGAATAATTTCCCATATTGTTACCTATTACTCAGGAAAA AAAGAGCCTTTTGGCTACATAGGCATAGTTTGAGCCATGATATCAATTGGATTCCTAGGCTTTATTGTTT GAGCCCATCATATATTTACAGTAGGTATGGACGTAGATACCCGAGCCTATTTTACATCTGCAACTATAAT CATCGCTATCCCAACAGGAGTAAAAGTATTCAGCTGATTAGCTACTTTACACGGGGGTAATATTAAATGA TCACCTGCTATACTGTGAGCATTAGGCTTTATTTTCCTTTTCACTATTGGCGGGTTAACTGGAATTGTCC TGTCCAACTCATCATTAGACATTGTTCTA >gi|548231|gb|L32694.1|PPGCYTOXIE Geomys bursarius mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTATATCTTAATTCTACCTGGATTCGGAATAATTTCACACATTGTTACTTATTATTCAGGAAAA AAAGAACCTTTTGGCTACATAGGCATAGTTTGAGCTATGATATCAATTGGATTCCTAGGCTTTATTGTAT GAGCCCATCATATATTTACAGTAGGTATGGATGTAGACACCCGAGCCTATTTTACATCTGCAACTATAAT CATTGCTATCCCAACAGGAGTAAAAGTGTTTAGCTGACTAGCTACTTTACACGGAGGTAATATTAAATGA TCTCCTGCTATACTGTGAGCATTAGGCTTTATTTTCCTTTTCACTATTGGCGGATTAACTGGAATCGTCC TATTCAACTCATCATTAGATATTGTATTA >gi|548205|gb|L32696.1|OGOCYTOXIE Orthogeomys heterodus mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTACATCTTAATCCTCCCAGGCTTCGGAATGATTTCTCATATTGTCACTTATTATTCAGGTAAA AAAGAACCCTTTGGCTATATAGGCATGGTATGAGCTATAATATCAATTGGTTTCCTAGGTTTTATGGTAT GAGCCCACCATATATTTACAGTAGGGATAGACGTAGATACACGAGCCTACTTTACATCCGCTACTATAAT TATTGCTATTCCTACAGGAGTAAAAGTATTCAGTTGACTGGCTACCATGAACGGAGGTAATATTAAATGA TCCCCTGCCATATTATGAGCTTTAGGTTTTATTTTCCTATTTACAATTGGGGGCCTAACCGGCATTGTAC TATCCAACTCATCATTGGATATTGTTCTA seqinr/inst/sequences/test.phylip0000644000176000001440000000045010104436231016752 0ustar ripleyusers 5 42 Turkey AAGCTNGGGC ATTTCAGGGT Salmo gairAAGCCTTGGC AGTGCAGGGT H. SapiensACCGGTTGGC CGTTCAGGGT Chimp AAACCCTTGC CGTTACGCTT Gorilla AAACCCTTGC CGGTACGCTT GAGCCCGGGC AATACAGGGT AT GAGCCGTGGC CGGGCACGGT AT ACAGGTTGGC CGTTCAGGGT AA AAACCGAGGC CGGGACACTC AT AAACCATTGC CGGTACGCTT AA seqinr/inst/sequences/Anouk.fasta0000644000176000001440000000777210373333567016677 0ustar ripleyusers>LmjF01.0030 ATGATGTCGGCCGAGCCGCCGTCGTCGCAGCCGTACATCAGCGACGTGCTGCGGCGGTAC CAGCTGGAGCGCTTTCAGTGTGCCTTTGCATCGAGCATGACCATCAAGGACCTCCTCGCC CTGCAGCCAGAGGACTTCAACCGCTACGGCGTCGTAGAGGCGATGGACATTTTGCGGCTG CGTGACGCCATCGAGTACATCAAGGCTAATCCGCTCCCCGCCTCGCGCTCTGGCAGTGAC GTGCTCGACAACGACGGCGACGGCGACGGCGACGACAGTACGCCGGAGGGGAAGGAGGGG TGCTCGACGGAGCGCCGGCGGCAGTACACAGCACGCGGAACCACAGTCCTTTGCCGGTCG ACCGACACCGCCGAGGAGGTGAAGCGCAAGAGCCGCATCCTCGTCGCCATTCGCAAGCGT CCGCTCAGCGCCGGGGAGCAGACGAACGGCTTCACGGACATCATGGACGCCGACAACAGC GGCGAGATTGTGCTGAAGGAGCCAAAGGTGAAGGTCGACCTCCGCAAGTACACCCACGTG CACCGCTTCTTCTTCGACGAGGTTTTCGACGAGGCCTGCGACAACGTCGACGTGTACAAC CGCGCTGCCCGCGCGCTGATCGACACCGTCTTCGACGGCGGCTGCGCGACATGCTTCGCC TATGGACAGACAGGGAGCGGCAAGACACACACGATGCTGGGCAAGGGCCCCGAGCCGGGC CTCTACGCACTCGCCGCCAAAGACATGTTTGACCGCCTCACGAGCGACACGCGCATCGTC GTTTCCTTTTACGAGATCTACAGCGGGAAGCTCTTTGACTTGCTGAACGGCCGGCGACCC CTGCGAGCCCTCGAGGACGACAAGGGCCGGGTGAACATCCGCGGCCTCACCGAACACTGC TCTACCAGCGTGGAGGACCTCATGACGATCATCGACCAGGGCAGCGGTGTTCGCAGCTGC GGCTCCACCGGCGCCAATGACACAAGCTCCCGCTCCCACGCCATTCTCGAGATCAAGCTC AAGGCGAAACGGACGTCGAAGCAGAGCGGCAAGTTCACGTTCATCGACCTCGCTGGAAGC GAGCGCGGCGCTGACACGGTGGACTGCGCGCGACAGACACGCCTCGAAGGGGCGGAGATC AACAAGAGCCTACTCGCGCTGAAGGAGTGCATTCGTTTTTTAGATCAGAACAGGAAGCAC GTCCCGTTCCGCGGCTCGAAGCTGACTGAGGTGCTCCGCGACTCGTTTATCGGCAACTGC CGCACGGTGATGATCGGCGCCGTCTCTCCGTCGAACAACAATGCCGAGCACACGCTGAAC ACGCTGCGCTACGCCGATCGTGTCAAGGAGCTGAAGCGCAACGCCACGGAGCGGCGCACT GTGTGCATGCCCGACGACCAGGAAGAGGCCTTCTTTGACACGACCGAGAGCAGGCCACCG TCGCGGAGGACGACAACTCGCCTTTCTACGGCCGCCCCGCTTTTCTCCGGCTCTTCGACG GCTGCGCCAGCACTTAGAAGCACGCTACTCAGCAGCCGCTCCGTCAACACACTCTCGCCG TCGTCGCAGGCCAAGTCGACTCTCGTCACCCCGAAGCCGCCGTCGCGCGATCGGACTCCG GACATGGTGTGCACTAAGCGGCCCCGCGACTCAGACAGAAGCGGCGAGGACGAAGTGGTA GCGCGGCCGAGTGGGCGCCCAAGCTTCAAGCGCTTCGAGAGCGGCGCCGAGCTTGTCGCG GCCCAGCGCAGTCGCGTCATTGACCAATACAACGCCTACCTCGAGACGGACATGAACTGT ATCAAGGAGGAGTACCAGGTGAAGTACGACGCAGAGCAGATGAACGCCAACACGCGCAGC TTTGTGGAGCGCGCACGTCTGCTGGTGAGCGAGAAACGGCGCGCGATGGAGTCCTTCCTA ACGCAGCTGGAGGAGCTCGACAAGATCGCGCAGCAGGTCGCCGACATCACCGCCTTTCAG CAGCACCTGCCGCCAACG >LinJ01.0030 ATGATGTCGGCCGAGCCGCCGTCGTCGCAGCCGTACATCAGCGACGTGCTGCGGCGGTAC CAGCTGGAGCGCTTTCAGAGTTCCTTTGCATCGAGCATGACCATCAAGGACCTCCTCGCC CTGCAGCCGGAGGACTTCAACCGCTACGGCGTCGTAGAGGCAATGGACATTTTGCGGCTG CGCGACGCCATCGAGTACATCAAGGCCAACCCGCTCCCCGCCTCGCGCTCCGGCAGTGAC GTGCTCGACAACGACGGCGACGGCGACGGCGACGACAGTACGCCGGAGGGGAAGGAGGGG TGCTCGACGGAGCGCCGACGGCAGTACACAGCACGCGGAACCACCGTCCTTTGCGGGTCG ACCGACACCGCCGAGGAGGTGAAGCGCAAGAGCCGCATCATCGTCGCCATTCGCAAGCGT CCGCTCAGCGCCGGGGAGCAGACGAACGGCTTCACGGACATCATGGACGCCGACAACAAC GGCGAGATTGTGCTGAAGGAGCCAAAGGTGAAGGTCGACCTCCGCAAGTACACCCACGTG CACCGCTTCTTCTTCGACGAGGTTTTCGACGAGGCGTGCGACAACGTCGACGTGTACAAC CGCGCTGCCCGCGCGCTGATCGACACCGTCTTCGACGGCGGCTGCGCGACATGCTTCGCC TATGGGCAGACAGGGAGCGGCAAGACACACACGATGCTCGGCAAGGGCCCCGAGCCGGGC CTGTACGCACTCGCCGCCAAAGACATGTTTGACCGCCTCACGAGCGACACGCGCATCGTT GTTTCCTTTTACGAGATCTACAGCGGGAAGCTCTTTGACTTGCTGAACGGCCGGCGACCA CTGCGAGCCCTCGAGGACGACAAGGGGAGGGTGAACATCCGCGGCCTCACCGAACACTGC TCTACCAGCGTGGAGGACCTCATGACGATCATCGACCAGGGCAGCGGCGTTCGCAGCTGC GGCTCCACCGGCGCCAACGACACGAGCTCCCGCTCCCACGCCATTCTCGAGATCAAGCTC AAGGCGAAACGGACGTCGAAGCAGAGCGGCAAGTTCACATTCATCGACCTCGCTGGAAGC GAGCGCGGCGCCGACACGGTGGATTGCGCGCGACAGACACGCCTCGAAGGGGCGGAGATT AACAAGAGCCTACTCGCTCTGAAGGAGTGCATTCGTTTTTTAGATCAGAACAGGAAGCAC GTCCCGTTCCGCGGCTCGAAGCTGACTGAGGTGCTCCGCGACTCGTTTATCGGCAACTGC CGCACGGTGATGATCGGCGCCGTCTCTCCGTCCAACAACAATGCCGAGCACACGCTGAAC ACGTTGCGCTACGCCGATCGCGTCAAGGAGCTGAAGCGCAACGCCACGGAGCGGCGCACC GTGTGCGTGCCCAACGACCAGGAAGAGGCCTTCTTTGACACGACCGAGAGCAGGCCACCG TCGCGGAGGACGACAACTCGGCTTTCTGCGGCCGCCCCGCTTTTCTCCGGCACTTCGACG GCTGCCCCAGCATGTAAAAGCACGTTGCTCAGCAGCCGCTCCGTCAACACACTCTCGCCG TCGTCGCAGGGCAAGTCGACTCTCGTCACCCCGAAGCCACTGTCGCGCGATCGGACTCCG GACATGGTGTGCGCTAAGCGGCCCCGCGACTCAGACCGAAGCGGCGAAGACGAAGTGGTG GCGCGGCCGAGTGGGCGCCCAAGCTTCAAGCGCTTCGAGGGCGGCGCCGAGCTCGTGGCG GCCCAGCGCAGTCGTGTCATTGACCAATACAACGCCTACCTCGAGACGGACATGAACTGT ATCAAGGAGGAGTACCAGGTGAAGTACGACGCAGAGCAGATGAACGCCAACACGCGCACC TTTGTCGAGCGCGCACGCCTGCTGGTGAGCGAGAAGCGGCGCGCGATGGAGTCCTTCCTA ACGCAGCTGGACGAGCTCGATAAGATCGCGCAGCAGGTCGCCAGCATCACCGCCTTTCAG CAGCACCTGCCGCCAACG seqinr/inst/sequences/someORF.fsa0000644000176000001440000006542310722400475016573 0ustar ripleyusers; ; This FASTA file example was taken from package Biostrings_2.6.4 on 25-NOV-2007 ; >YAL001C TFC3 SGDID:S0000001, Chr I from 152168-146596, reverse complement, Verified ORF ACTTGTAAATATATCTTTTATTTTCCGAGAGGAAAAAGTTTCAAAAAAAAAAAAAAAAAA AGAAGAAAAATAACTTTCTCATGTAATAAAAGGTAACTAATGTAGACAAAAAAGTATACA TTTAGCTTTTCTTTTTTTGATGATTTTTGAGTTTCATGTTACTAATCAGAACAATTAACG ACACCTTCATTATGAAAAAATTAATTAGCTATAAGTCTTCGAAGTAGAACATGATATTTG GCAATCACTCGAATAACTATCTTAATTTACCTGCTGAAATAATTTGAAAAAACACCCGAG GCAGCAGACGAAAGGTGTTTTTGCTAAACAATGATTGATTTCTGGCGCCATTTCTACATT CTGAACAGTTCATCTCATTTCAGTAACAGTACTTCAATGGAATATTTATTAAAGAAAGTG CTTAAAAAAGTATTATAAAACGATACATGGACTGACTCAAGATTGAGCTAATAAGGTCCA CCGCCTAGTGCTTAAGAGTTCTGTACCACTATAATAATTTATCTTGATCGTATTATGTGT AAAAAAAAGGCGCTTGAAATGAAAGCTCCGAAAATTAAAATACTTTGACTGCTTCGGAAA ACAAAAACATATAAATAAATTTAAAAAATAAACTGTAAAATATTTAAAAACTATTAAAAA TATTTTATATTTTTAAAATTATTTATTATTATGTCATGTGACAAGACTTAAATCATTACA TAAAAGGTTTTGAAGTTCAATGTCAAAGTCAATATAATAAGCATACTAAGGCACACTTAT GCAAATCGAGTTATTGAAGCTGGTAAAATTATAAGATTTTTATTTTTATTTCTTTTATTT CTGCAAATCTGCATTTTCAAATACCGCTTGGTTTTTTGCATCATAAAGGGCGGCGCTTTC AGTCGCGAAAGTGAAATAAACAACCAGTCACACATATAACTTTCTTCTTGCCATAAGAGA GAAGAGGACGTTTGGTTGAAGCCAACTAGCCACAAGAAAAATGGTACTGACGATTTATCC TGACGAACTCGTACAAATAGTGTCTGATAAAATTGCTTCAAATAAGGGAAGTATGTTCAT GTCTCATTCTCCTTTTCGGCTCCGTTTAGGTGATAAACGTACTATATTGTGAAAGATTAT TTACTAACGACACATTGAAGAAATCACTTTGAATCAGCTGTGGGATATATCTGGTAAATA TTTTGATTTGTCTGATAAAAAAGTTAAACAGTTCGTGCTTTCATGCGTGATATTGAAAAA GGACATTGAGGTGTATTGTGATGGTGCTATAACAACTAAAAATGTGACTGATATTATAGG CGACGCTAATCATTCATACTCGGTTGGGATTACTGAGGACAGCCTATGGACATTATTAAC GGGATACACAAAAAAGGAGTCAACTATTGGAAATTCTGCATTTGAACTACTTCTCGAAGT TGCCAAATCAGGAGAAAAAGGGATCAATACTATGGATTTGGCGCAGGTAACTGGGCAAGA TCCTAGAAGTGTGACTGGACGTATCAAGAAAATAAACCACCTGTTAACAAGTTCACAACT GATTTATAAGGGACACGTCGTGAAGCAATTGAAGCTAAAAAAATTCAGCCATGACGGGGT GGATAGTAATCCCTATATTAATATTAGGGATCATTTAGCAACAATAGTTGAGGTGGTAAA ACGATCAAAAAATGGTATTCGCCAGATAATTGATTTAAAGCGTGAATTGAAATTTGACAA AGAGAAAAGACTTTCTAAAGCTTTTATTGCAGCTATTGCATGGTTAGATGAAAAGGAGTA CTTAAAGAAAGTGCTTGTAGTATCACCCAAGAATCCTGCCATTAAAATCAGATGTGTAAA ATACGTGAAAGATATTCCAGACTCTAAAGGCTCGCCTTCATTTGAGTATGATAGCAATAG CGCGGATGAAGATTCTGTATCAGATAGCAAGGCAGCTTTCGAAGATGAAGACTTAGTCGA AGGTTTAGATAATTTCAATGCGACTGATTTATTACAAAATCAAGGCCTTGTTATGGAAGA GAAAGAGGATGCTGTAAAGAATGAAGTTCTTCTTAATCGATTTTATCCACTTCAAAATCA GACTTATGACATTGCAGATAAGTCTGGCCTTAAAGGAATTTCAACTATGGATGTTGTAAA TCGAATTACCGGAAAAGAATTTCAGCGAGCTTTTACCAAATCAAGCGAATATTATTTAGA AAGTGTGGATAAGCAAAAAGAAAATACAGGGGGGTATAGGCTTTTTCGCATATACGATTT TGAGGGAAAGAAGAAGTTTTTTAGGCTGTTCACAGCTCAGAACTTTCAAAAGTTAACAAA TGCGGAAGACGAAATATCCGTTCCAAAAGGGTTTGATGAGCTAGGCAAATCTCGTACCGA TTTGAAAACTCTCAACGAGGATAATTTCGTCGCACTCAACAACACTGTTAGATTTACAAC GGACAGCGATGGACAGGATATATTCTTCTGGCACGGTGAATTAAAAATTCCCCCAAACTC AAAAAAAACTCCGAATAAAAACAAACGGAAGAGGCAGGTTAAAAACAGTACTAATGCTTC TGTTGCAGGAAACATTTCGAATCCCAAAAGGATTAAGCTAGAGCAGCATGTCAGCACTGC ACAGGAGCCGAAATCTGCTGAAGATAGTCCAAGTTCAAACGGAGGCACTGTTGTCAAAGG CAAGGTGGTTAACTTCGGCGGCTTTTCTGCCCGCTCTTTGCGTTCACTACAGAGACAGAG AGCCATTTTGAAAGTTATGAATACGATTGGTGGGGTAGCATACCTGAGAGAACAATTTTA CGAAAGCGTTTCTAAATATATGGGCTCCACAACGACATTAGATAAAAAGACTGTCCGTGG TGATGTTGATTTGATGGTAGAAAGCGAAAAATTAGGAGCCAGAACAGAGCCTGTATCAGG AAGAAAAATTATTTTTTTGCCCACTGTTGGAGAGGACGCTATCCAAAGGTACATCCTGAA AGAAAAAGATAGTAAAAAAGCAACCTTTACTGATGTTATACATGATACGGAAATATACTT CTTTGACCAAACGGAAAAAAATAGGTTTCACAGAGGAAAGAAATCAGTTGAAAGAATTCG TAAGTTTCAGAACCGCCAAAAGAATGCTAAGATCAAAGCTTCAGATGACGCTATCTCTAA GAAGAGTACGTCGGTCAACGTATCAGATGGAAAGATCAAAAGGAGAGACAAAAAAGTGTC TGCTGGTAGGACAACGGTGGTCGTGGAAAATACTAAAGAAGACAAAACTGTCTATCATGC AGGCACTAAAGATGGTGTTCAGGCTTTAATCAGAGCTGTTGTAGTTACTAAAAGTATTAA AAATGAAATAATGTGGGACAAAATAACAAAATTATTTCCTAATAATTCTTTAGATAACCT AAAAAAGAAATGGACGGCACGGCGAGTAAGAATGGGTCATAGTGGTTGGAGGGCATATGT CGATAAGTGGAAAAAAATGCTCGTTCTAGCCATTAAAAGTGAAAAGATTTCACTGAGGGA TGTTGAAGAACTAGATCTTATCAAATTGCTTGATATTTGGACCTCTTTTGATGAAAAGGA AATAAAAAGGCCGCTCTTTCTTTATAAGAACTACGAAGAGAATAGAAAAAAATTTACTCT GGTACGTGATGACACACTTACACATTCTGGCAACGATCTGGCCATGTCTTCTATGATTCA AAGAGAGATCTCTTCTTTAAAAAAAACTTACACTAGAAAGATTTCCGCTTCTACTAAGGA CTTATCGAAGAGTCAAAGCGACGATTATATTCGCACAGTGATCCGGTCCATATTAATAGA AAGTCCTTCGACCACTAGAAATGAAATAGAGGCGTTGAAGAACGTTGGAAACGAATCAAT AGATAACGTCATCATGGATATGGCTAAGGAAAAGCAAATTTATCTCCATGGCTCAAAACT TGAATGTACTGATACTTTACCAGACATTTTGGAAAATAGAGGAAATTATAAAGATTTTGG TGTAGCTTTTCAGTATAGATGTAAGGTTAATGAATTATTGGAGGCCGGAAACGCTATTGT TATCAATCAAGAGCCGTCCGATATATCCTCTTGGGTTTTAATTGATTTGATTTCGGGAGA GCTATTGAATATGGATGTAATTCCAATGGTGAGAAATGTTCGACCTTTAACGTATACTTC AAGGAGATTTGAAATACGAACATTAACTCCCCCTCTGATTATATATGCCAATTCTCAGAC AAAATTGAATACAGCAAGGAAGTCTGCTGTCAAAGTTCCACTGGGCAAACCATTTTCTCG TTTATGGGTGAATGGATCTGGTTCCATTAGGCCAAACATATGGAAGCAGGTAGTTACTAT GGTCGTTAACGAAATAATATTTCATCCAGGGATAACATTGAGTAGATTGCAATCTAGGTG TCGTGAAGTACTTTCGCTTCATGAAATATCAGAAATATGCAAATGGCTCCTAGAAAGACA AGTATTAATAACTACTGATTTTGATGGCTATTGGGTCAATCATAATTGGTATTCTATATA TGAATCTACATAATGAAATGAGGTGTATAAATTTTACTTTTATGTAACCAAAGTTGTATT AAATATTTAGAAATGTTATACTATTTTTGGGTTAGATTCCGTCTGGCAAATTAAACAAGA ATATTCATCGGGTTTCTGGGCCAAGTTTTCGAGGCAAGTCTGGTGAAAGCCATGGTGACA TTTGAATATGACAAGGGGAGTTTTGAGATCTACACTAATCATATCTTGGTGGCGCTGTAC ATTTTCCCAAGCTAGAAAAAGTAATGGGTCCAGACCAGCTCCCCATATTTTTTTCCCGCA GATTTCGCAGTCGTCGGTGTGTATAGACCACCCTTCACTCAGAAATTTTCTATACTGTTG AACAAGATCTTGCGAAGAATCCTCTATAATCTTTTGAATCAACTCAGAAAGAGATCTTTC CAATTTATAAGTATTAAAAACATTCAGTAGCAGTTGCTTTAAATCCTGAACTTTCATTAA AATAACGTCTTGGTGCTCAAGAACAGAAGACATTATTTCCCAGAATTCCCCACCTGAATC CTTCTGAGAGGAACTCTTGGACCTAACCAATCCCAAAAATGCTTCTTGAAGTAGTTTATT ACATAAATCTTTCCTTTCATCGTGTGAAGGATATTTCCCATATAGAGTGATCAGGAATGT AATCAATAATATCCAACACGATTTTTTCTCGGTACCAGCAGAATTACAATCATCAAAGGC CCTCCTCAAAGATTCCAATAAAGTAGATATATTTGTTTTCCCTTCATTTAGACATTGTTC AATAAAACTTAATAAATCCCTGACTGCTAGGTTAAAACTTTCCAAGCGTTCGTGAATTAT AGCTGCAGCTTCAAAATTAGAGTCTTGATTCAATAAGTCCAGAATTTGTAAGCTCTCAGC GTTGCTGAGAACTGTACCATTAAGCCAAAGAATCATTTCCCTTTTGCTCTTGTATTTACA GTTCAATTCGATGTGTAAATTTCTTAAACGCTTATCGACCTTATTGTTGATAT >YAL002W VPS8 SGDID:S0000002, Chr I from 142709-148533, Verified ORF TTCCAAGGCCGATGAATTCGACTCTTTCCCAGCTGCCTCTGCTGCCGCTGCCGAAGAAGA AGAAGATGACGATGTCGATTTATTCGGTTCCGACGATGAAGAAGCTGACGCTGAAGCTGA AAAGTTGAAGGCTGAAAGAATTGCCGCATACAACGCTAAGAAGGCTGCTAAGCCAGCTAA GCCAGCTGCTAAGTCCATTGTCACTCTAGATGTCAAGCCATGGGATGATGAAACCAATTT GGAAGAAATGGTTGCTAACGTCAAGGCCATCGAAATGGAAGGTTTGACCTGGGGTGCTCA CCAATTTATCCCAATTGGTTTCGGTATCAAGAAGTTGCAAATTAACTGTGTTGTCGAAGA TGACAAGGTTTCCTTGGATGACTTGCAACAAAGCATTGAAGAAGACGAAGACCACGTCCA ATCTACCGATATTGCTGCTATGCAAAAATTATAAAAGGCTTTTTTATAAACTTTTTATAA TTAACATTAAAGCAAAAACAACATTGTAAAGATTAACAAATAAATGAAAAAAACAACGAA ATAACTTAGGTTTTAGGCTAAAAAAAACAGAAGGAATTTTGAACGATAAACTTTTCGACT GCACACGAAACATTATTACTAATTTGTGTAACCACTATATAAGGAATCGTGTTTATTAAT TGAATTTATTCCGGGAATATTCAAGTTATGTATATCTCTTTTCATATTCTTAAATACACA TACTCATAATATCTTGTCGAAAATACGCGGTGTAGGGAGTTATGGTGGATAACTTTTTCA CGATTAGAAGAAAAGGAAAATTTCATTATTCGTAGCTTAACATGGCAAAAACGAGAAAGA CATATAATCAAAACGTGAGTTTCCTGTGGAAAAAAAAAAAAGGGAACCTCTGGTTACGAT GATATACCTGCGTGAAAAAGGACAGTTATTACCAATACATACAAAGGCTTAATAAGTGTA AAATATATATCTGCCGAGACCATTACTCATTACACCTAGAATGGAGCAAAATGGCCTTGA CCACGACAGCAGATCTAGCATCGATACGACTATTAATGACACTCAAAAGACTTTCCTAGA ATTTAGATCGTATACCCAATTAAGTGAAAAACTGGCATCTAGTTCTTCATATACGGCACC TCCCCTGAACGAAGATGGTCCTAAAGGGGTAGCTTCTGCAGTGTCACAAGGCTCCGAATC CGTAGTCTCATGGACAACTTTAACACACGTATATTCCATCCTGGGTGCTTATGGAGGGCC CACGTGCTTGTATCCGACAGCCACGTATTTTTTGATGGGCACTTCTAAAGGATGCGTACT CATTTTTAATTATAATGAACATTTGCAGACAATCCTAGTGCCGACCTTATCTGAGGACCC TTCTATTCACTCAATAAGAAGTCCAGTGAAATCAATTGTCATATGTTCCGATGGTACTCA TGTAGCTGCCTCATACGAGACCGGAAATATATGCATTTGGAACTTGAACGTAGGGTATAG AGTGAAACCCACTTCTGAACCAACAAATGGTATGACCCCAACGCCTGCCTTACCGGCAGT CTTACACATCGATGACCATGTGAACAAGGAAATCACAGGGTTAGACTTTTTTGGTGCTCG GCATACAGCCCTGATTGTTAGTGATAGGACAGGTAAAGTATCACTCTATAACGGTTACAG AAGAGGCTTTTGGCAGTTGGTGTATAATTCAAAAAAAATTTTAGATGTGAACTCTTCCAA GGAGAAATTAATAAGGTCAAAGTTGTCTCCACTAATATCACGGGAGAAAATTTCCACTAA TTTGTTGAGTGTACTCACAACTACACATTTTGCCCTTATTTTATTATCGCCACACGTTTC TTTGATGTTTCAAGAAACTGTTGAACCCTCAGTACAAAATTCTCTAGTCGTGAATAGCTC TATTTCATGGACTCAAAACTGTTCCAGGGTTGCTTATTCCGTAAATAATAAAATTTCTGT TATTTCCATATCTTCATCAGACTTCAATGTTCAGTCCGCTAGCCATTCTCCTGAATTTGC AGAATCTATATTATCCATTCAATGGATTGACCAGCTCCTACTTGGTGTTTTAACCATATC GCACCAATTTTTGGTATTGCACCCCCAACATGACTTCAAGATCCTGTTAAGATTGGATTT TCTGATTCACGATTTGATGATCCCACCTAATAAATATTTTGTAATAAGTAGAAGAAGTTT CTACCTGTTAACAAACTACTCATTTAAAATTGGCAAATTTGTGTCTTGGTCAGATATTAC TTTAAGACATATTTTGAAAGGCGACTACTTGGGTGCATTGGAGTTCATAGAATCACTTTT GCAACCTTACTGTCCACTGGCAAACTTGTTGAAGCTAGATAATAATACGGAAGAGAGGAC TAAGCAACTTATGGAACCATTTTACAATCTGTCCTTGGCTGCCCTAAGGTTTCTTATAAA AAAAGATAATGCCGACTACAATAGGGTTTACCAATTATTAATGGTAGTTGTTCGTGTTTT GCAGCAATCTTCCAAAAAACTAGACTCAATTCCTTCTCTAGACGTCTTTTTGGAACAGGG TCTGGAGTTCTTTGAATTGAAGGACAACGCGGTATATTTTGAAGTTGTAGCAAATATTGT TGCCCAAGGATCAGTTACGTCAATTTCCCCAGTTCTTTTCAGGTCCATAATTGATTACTA TGCTAAGGAGGAGAATTTAAAAGTAATTGAAGACTTAATCATCATGTTAAATCCTACTAC GCTTGATGTTGATCTTGCCGTCAAACTATGCCAAAAGTATAATTTGTTCGATTTATTAAT ATATATTTGGAACAAGATCTTTGATGATTATCAAACCCCAGTGGTGGACTTGATATACAG GATTTCTAACCAAAGTGAAAAATGTGTGATCTTCAATGGTCCTCAAGTACCTCCTGAAAC GACTATATTTGATTACGTAACGTATATCCTTACTGGCAGGCAATATCCACAAAACTTGTC TATATCACCAAGTGATAAATGCTCCAAAATACAAAGGGAACTTTCAGCATTTATTTTTAG TGGCTTCTCCATAAAATGGCCGTCGAACAGCAATCATAAACTTTACATATGCGAAAATCC AGAAGAAGAGCCAGCATTTCCTTACTTTCACCTTTTATTGAAATCGAATCCGAGTAGGTT CTTAGCAATGCTCAATGAAGTGTTTGAAGCGTCCTTGTTTAACGATGACAATGACATGGT TGCATCAGTTGGAGAAGCAGAATTGGTAAGTAGGCAATATGTTATTGATCTACTATTGGA TGCTATGAAAGATACGGGAAATTCAGACAACATCAGGGTACTTGTTGCAATTTTCATTGC AACTAGTATATCAAAATATCCTCAATTTATTAAAGTGTCTAACCAAGCCCTCGACTGCGT TGTTAATACCATATGCTCCTCTAGGGTTCAAGGTATATATGAAATTTCTCAAATAGCTCT GGAGTCGCTTTTACCCTATTATCATTCAAGAACAACAGAAAATTTTATACTGGAACTAAA AGAAAAAAATTTCAATAAAGTTCTTTTCCATATCTATAAAAGTGAAAATAAGTACGCCAG TGCGCTTTCACTTATTTTAGAAACTAAGGACATCGAAAAAGAATATAACACGGACATTGT ATCCATAACCGACTACATACTCAAAAAATGCCCACCTGGAAGTTTAGAATGTGGCAAAGT TACTGAAGTTATCGAGACGAACTTTGATCTTCTTCTCTCAAGGATCGGTATCGAAAAATG CGTCACAATTTTTTCTGACTTTGACTATAATCTTCATCAAGAAATCCTGGAAGTAAAGAA TGAGGAGACTCAGCAAAAGTATTTGGATAAGCTTTTTTCTACGCCAAATATCAACAATAA GGTCGATAAGCGTTTAAGAAATTTACACATCGAATTGAACTGTAAATACAAGAGCAAAAG GGAAATGATTCTTTGGCTTAATGGTACAGTTCTCAGCAACGCTGAGAGCTTACAAATTCT GGACTTATTGAATCAAGACTCTAATTTTGAAGCTGCAGCTATAATTCACGAACGCTTGGA AAGTTTTAACCTAGCAGTCAGGGATTTATTAAGTTTTATTGAACAATGTCTAAATGAAGG GAAAACAAATATATCTACTTTATTGGAATCTTTGAGGAGGGCCTTTGATGATTGTAATTC TGCTGGTACCGAGAAAAAATCGTGTTGGATATTATTGATTACATTCCTGATCACTCTATA TGGGAAATATCCTTCACACGATGAAAGGAAAGATTTATGTAATAAACTACTTCAAGAAGC ATTTTTGGGATTGGTTAGGTCCAAGAGTTCCTCTCAGAAGGATTCAGGTGGGGAATTCTG GGAAATAATGTCTTCTGTTCTTGAGCACCAAGACGTTATTTTAATGAAAGTTCAGGATTT AAAGCAACTGCTACTGAATGTTTTTAATACTTATAAATTGGAAAGATCTCTTTCTGAGTT GATTCAAAAGATTATAGAGGATTCTTCGCAAGATCTTGTTCAACAGTATAGAAAATTTCT GAGTGAAGGGTGGTCTATACACACCGACGACTGCGAAATCTGCGGGAAAAAAATATGGGG AGCTGGTCTGGACCCATTACTTTTTCTAGCTTGGGAAAATGTACAGCGCCACCAAGATAT GATTAGTGTAGATCTCAAAACTCCCCTTGTCATATTCAAATGTCACCATGGCTTTCACCA GACTTGCCTCGAAAACTTGGCCCAGAAACCCGATGAATATTCTTGTTTAATTTGCCAGAC GGAATCTAACCCAAAAATAGTATAACATTTCTAAATATTTAATACAACTTTGGTTACATA AAAGTAAAATTTATACACCTCATTTCATTATGTAGATTCATATATAGAATACCAATTATG ATTGACCCAATAGCCATCAAAATCAGTAGTTATTAATACTTGTCTTTCTAGGAGCCATTT GCATATTTCTGATATTTCATGAAGCGAAAGTACTTCACGACACCTAGATTGCAATCTACT CAATGTTATCCCTGGATGAAATATTATTTCGTTAACGACCATAGTAACTACCTGCTTCCA TATGTTTGGCCTAATGGAACCAGATCCATTCACCCATAAACGAGAAAATGGTTTGCCCAG TGGAACTTTGACAGCAGACTTCCTTGCTGTATTCAATTTTGTCTGAGAATTGGCATATAT AATCAGAGGGGGAGTTAATGTTCGTATTTCAAATCTCCTTGAAGTATACGTTAAAGGTCG AACATTTCTCACCATTGGAATTACATCCATATTCAATAGCTCTCCCGAAATCAAATCAAT TAAAACCCAAGAGGATATATCGGACGGCTCTTGATTGATAACAATAGCGTTTCCGGCCTC CAATAATTCATTAACCTTACATCTATACTGAAAAGCTACACCAAAATCTTTATAATTTCC TCTATTTTCCAAAATGTCTGGTAAAGTATCAGTACATTCAAGTTTTGAGCCATGGAGATA AATTTGCTTTTCCTTAGCCATATCCATGATGACGTTATCTATTGATTCGTTTCCAACGTT CTTCAACGCCTCTATTTCATTTCTAGTGGTCGAAGGACTTTCTATTAATATGGACCGGAT CACTGTGCGAATATAATCGTCGCTTTGACTCTTCGATAAGTCCTTAGTAGAAGCGGAAAT CTTTCTAGTGTAAGTTTTTTTTAAAGAAGAGATCTCTCTTTGAATCATAGAAGACATGGC CAGATCGTTGCCAGAATGTGTAAGTGTGTCATCACGTACCAGAGTAAATTTTTTTCTATT CTCTT >YAL003W EFB1 SGDID:S0000003, Chr I from 141176-144162, Verified ORF CTTCATGTCAGCCTGCACTTCTGGGTCGTTGAAGTTTCTACCGATCAAACGCTTAGCGTC GAAAACGGTATTCGAAGGATTCATAGCAGCTTGATTCTTAGCAGCATCACCAATCAATCT TTCAGTGTCAGTGAAAGCGACAAAAGATGGAGTGGTTCTGTTACCTTGATCGTTGGCAAT AATGTCCACACGATCATTAGCAAAGTGAGCAACACACGAGTATGTTGTACCTAAATCAAT ACCGACAGCTTTTGACATATTATCTGTTATTTACTTGAATTTTTGTTTCTTGTAATACTT GATTACTTTTCTTTTGATGTGCTTATCTTACAAATAGAGAAAATAAAACAACTTAAGTAA GAATTGGGAAACGAAACTACAACTCAATCCCTTCTCGAAGATACATCAATCCACCCCTTA TATAACCTTGAAGTCCTCGAAACGATCAGCTAATCTAAATGGCCCCCCTTCTTTTTGGGT TCTTTCTCTCCCTTTTGCCGCCGATGGAACGTTCTGGAAAAAGAAGAATAATTTAATTAC TTTCTCAACTAAAATCTGGAGAAAAAACGCAAATGACAGCTTCTAAACGTTCCGTGTGCT TTCTTTCTAGAATGTTCTGGAAAGTTTACAACAATCCACAAGAACGAAAATGCCGTTGAC AATGATGAAACCATCATCCACACACCGCGCACACGTGCTTTATTTCTTTTTCTGAATTTT TTTTTTCCGCCATTTTCAACCAAGGAAATTTTTTTTCTTAGGGCTCAGAACCTGCAGGTG AAGAAGCGCTTTAGAAATCAAAGCACAACGTAACAATTTGTCGACAACCGAGCCTTTGAA GAAAAAATTTTTCACATTGTCGCCTCTAAATAAATAGTTTAAGGTTATCTACCCACTATA TTTAGTTGGTTCTTTTTTTTTTCCTTCTACTCTTTATCTTTTTACCTCATGCTTTCTACC TTTCAGCACTGAAGAGTCCAACCGAATATATACACACATAATGGCATCCACCGATTTCTC CAAGATTGAAACTTTGAAACAATTAAACGCTTCTTTGGCTGACAAGTCATACATTGAAGG GTATGTTCCGATTTAGTTTACTTTATAGATCGTTGTTTTTCTTTCTTTTTTTTTTTTCCT ATGGTTACATGTAAAGGGAAGTTAACTAATAATGATTACTTTTTTTCGCTTATGTGAATG ATGAATTTAATTCTTTGGTCCGTGTTTATGATGGGAAGTAAGACCCCCGATATGAGTGAC AAAAGAGATGTGGTTGACTATCACAGTATCTGACGATAGCACAGAGCAGAGTATCATTAT TAGTTATCTGTTATTTTTTTTTCCTTTTTTGTTCAAAAAAAGAAAGACAGAGTCTAAAGA TTGCATTACAAGAAAAAAGTTCTCATTACTAACAAGCAAAATGTTTTGTTTCTCCTTTTA AAATAGTACTGCTGTTTCTCAAGCTGACGTCACTGTCTTCAAGGCTTTCCAATCTGCTTA CCCAGAATTCTCCAGATGGTTCAACCACATCGCTTCCAAGGCCGATGAATTCGACTCTTT CCCAGCTGCCTCTGCTGCCGCTGCCGAAGAAGAAGAAGATGACGATGTCGATTTATTCGG TTCCGACGATGAAGAAGCTGACGCTGAAGCTGAAAAGTTGAAGGCTGAAAGAATTGCCGC ATACAACGCTAAGAAGGCTGCTAAGCCAGCTAAGCCAGCTGCTAAGTCCATTGTCACTCT AGATGTCAAGCCATGGGATGATGAAACCAATTTGGAAGAAATGGTTGCTAACGTCAAGGC CATCGAAATGGAAGGTTTGACCTGGGGTGCTCACCAATTTATCCCAATTGGTTTCGGTAT CAAGAAGTTGCAAATTAACTGTGTTGTCGAAGATGACAAGGTTTCCTTGGATGACTTGCA ACAAAGCATTGAAGAAGACGAAGACCACGTCCAATCTACCGATATTGCTGCTATGCAAAA ATTATAAAAGGCTTTTTTATAAACTTTTTATAATTAACATTAAAGCAAAAACAACATTGT AAAGATTAACAAATAAATGAAAAAAACAACGAAATAACTTAGGTTTTAGGCTAAAAAAAA CAGAAGGAATTTTGAACGATAAACTTTTCGACTGCACACGAAACATTATTACTAATTTGT GTAACCACTATATAAGGAATCGTGTTTATTAATTGAATTTATTCCGGGAATATTCAAGTT ATGTATATCTCTTTTCATATTCTTAAATACACATACTCATAATATCTTGTCGAAAATACG CGGTGTAGGGAGTTATGGTGGATAACTTTTTCACGATTAGAAGAAAAGGAAAATTTCATT ATTCGTAGCTTAACATGGCAAAAACGAGAAAGACATATAATCAAAACGTGAGTTTCCTGT GGAAAAAAAAAAAAGGGAACCTCTGGTTACGATGATATACCTGCGTGAAAAAGGACAGTT ATTACCAATACATACAAAGGCTTAATAAGTGTAAAATATATATCTGCCGAGACCATTACT CATTACACCTAGAATGGAGCAAAATGGCCTTGACCACGACAGCAGATCTAGCATCGATAC GACTATTAATGACACTCAAAAGACTTTCCTAGAATTTAGATCGTATACCCAATTAAGTGA AAAACTGGCATCTAGTTCTTCATATACGGCACCTCCCCTGAACGAAGATGGTCCTAAAGG GGTAGCTTCTGCAGTGTCACAAGGCTCCGAATCCGTAGTCTCATGGACAACTTTAACACA CGTATATTCCATCCTGGGTGCTTATGGAGGGCCCACGTGCTTGTATCCGACAGCCACGTA TTTTTTGATGGGCACTTCTAAAGGATGCGTACTCATTTTTAATTATAATGAACATTTGCA GACAATCCTAGTGCCGACCTTATCTGAGGACCCTTCTATTCACTCAATAAGAAGTCCAGT GAAATCAATTGTCATATGTTCCGATGGTACTCATGTAGCTGCCTCAT >YAL005C SSA1 SGDID:S0000004, Chr I from 142433-138505, reverse complement, Verified ORF CACTCATATCGGGGGTCTTACTTCCCATCATAAACACGGACCAAAGAATTAAATTCATCA TTCACATAAGCGAAAAAAAGTAATCATTATTAGTTAACTTCCCTTTACATGTAACCATAG GAAAAAAAAAAAAGAAAGAAAAACAACGATCTATAAAGTAAACTAAATCGGAACATACCC TTCAATGTATGACTTGTCAGCCAAAGAAGCGTTTAATTGTTTCAAAGTTTCAATCTTGGA GAAATCGGTGGATGCCATTATGTGTGTATATATTCGGTTGGACTCTTCAGTGCTGAAAGG TAGAAAGCATGAGGTAAAAAGATAAAGAGTAGAAGGAAAAAAAAAAGAACCAACTAAATA TAGTGGGTAGATAACCTTAAACTATTTATTTAGAGGCGACAATGTGAAAAATTTTTTCTT CAAAGGCTCGGTTGTCGACAAATTGTTACGTTGTGCTTTGATTTCTAAAGCGCTTCTTCA CCTGCAGGTTCTGAGCCCTAAGAAAAAAAATTTCCTTGGTTGAAAATGGCGGAAAAAAAA AATTCAGAAAAAGAAATAAAGCACGTGTGCGCGGTGTGTGGATGATGGTTTCATCATTGT CAACGGCATTTTCGTTCTTGTGGATTGTTGTAAACTTTCCAGAACATTCTAGAAAGAAAG CACACGGAACGTTTAGAAGCTGTCATTTGCGTTTTTTCTCCAGATTTTAGTTGAGAAAGT AATTAAATTATTCTTCTTTTTCCAGAACGTTCCATCGGCGGCAAAAGGGAGAGAAAGAAC CCAAAAAGAAGGGGGGCCATTTAGATTAGCTGATCGTTTCGAGGACTTCAAGGTTATATA AGGGGTGGATTGATGTATCTTCGAGAAGGGATTGAGTTGTAGTTTCGTTTCCCAATTCTT ACTTAAGTTGTTTTATTTTCTCTATTTGTAAGATAAGCACATCAAAAGAAAAGTAATCAA GTATTACAAGAAACAAAAATTCAAGTAAATAACAGATAATATGTCAAAAGCTGTCGGTAT TGATTTAGGTACAACATACTCGTGTGTTGCTCACTTTGCTAATGATCGTGTGGACATTAT TGCCAACGATCAAGGTAACAGAACCACTCCATCTTTTGTCGCTTTCACTGACACTGAAAG ATTGATTGGTGATGCTGCTAAGAATCAAGCTGCTATGAATCCTTCGAATACCGTTTTCGA CGCTAAGCGTTTGATCGGTAGAAACTTCAACGACCCAGAAGTGCAGGCTGACATGAAGCA CTTCCCATTCAAGTTGATCGATGTTGACGGTAAGCCTCAAATTCAAGTTGAATTTAAGGG TGAAACCAAGAACTTTACCCCAGAACAAATCTCCTCCATGGTCTTGGGTAAGATGAAGGA AACTGCCGAATCTTACTTGGGAGCCAAGGTCAATGACGCTGTCGTCACTGTCCCAGCTTA CTTCAACGATTCTCAAAGACAAGCTACCAAGGATGCTGGTACCATTGCTGGTTTGAATGT CTTGCGTATTATTAACGAACCTACCGCCGCTGCCATTGCTTACGGTTTGGACAAGAAGGG TAAGGAAGAACACGTCTTGATTTTCGACTTGGGTGGTGGTACTTTCGATGTCTCTTTGTT GTTCATTGAAGACGGTATCTTTGAAGTTAAGGCCACCGCTGGTGACACCCATTTGGGTGG TGAAGATTTTGACAACAGATTGGTCAACCACTTCATCCAAGAATTCAAGAGAAAGAACAA GAAGGACTTGTCTACCAACCAAAGAGCTTTGAGAAGATTAAGAACCGCTTGTGAAAGAGC CAAGAGAACTTTGTCTTCCTCCGCTCAAACTTCCGTTGAAATTGACTCTTTGTTCGAAGG TATCGATTTCTACACTTCCATCACCAGAGCCAGATTCGAAGAATTGTGTGCTGACTTGTT CAGATCTACTTTGGACCCAGTTGAAAAGGTCTTGAGAGATGCTAAATTGGACAAATCTCA AGTCGATGAAATTGTCTTGGTCGGTGGTTCTACCAGAATTCCAAAGGTCCAAAAATTGGT CACTGACTACTTCAACGGTAAGGAACCAAACAGATCTATCAACCCAGATGAAGCTGTTGC TTACGGTGCTGCTGTTCAAGCTGCTATTTTGACTGGTGACGAATCTTCCAAGACTCAAGA TCTATTGTTGTTGGATGTCGCTCCATTATCCTTGGGTATTGAAACTGCTGGTGGTGTCAT GACCAAGTTGATTCCAAGAAACTCTACCATTTCAACAAAGAAGTTCGAGATCTTTTCCAC TTATGCTGATAACCAACCAGGTGTCTTGATTCAAGTCTTTGAAGGTGAAAGAGCCAAGAC TAAGGACAACAACTTGTTGGGTAAGTTCGAATTGAGTGGTATTCCACCAGCTCCAAGAGG TGTCCCACAAATTGAAGTCACTTTCGATGTCGACTCTAACGGTATTTTGAATGTTTCCGC CGTCGAAAAGGGTACTGGTAAGTCTAACAAGATCACTATTACCAACGACAAGGGTAGATT GTCCAAGGAAGATATCGAAAAGATGGTTGCTGAAGCCGAAAAATTCAAGGAAGAAGATGA AAAGGAATCTCAAAGAATTGCTTCCAAGAACCAATTGGAATCCATTGCTTACTCTTTGAA GAACACCATTTCTGAAGCTGGTGACAAATTGGAACAAGCTGACAAGGACACCGTCACCAA GAAGGCTGAAGAGACTATTTCTTGGTTAGACAGCAACACCACTGCCAGCAAGGAAGAATT CGATGACAAGTTGAAGGAGTTGCAAGACATTGCCAACCCAATCATGTCTAAGTTGTACCA AGCTGGTGGTGCTCCAGGTGGCGCTGCAGGTGGTGCTCCAGGCGGTTTCCCAGGTGGTGC TCCTCCAGCTCCAGAGGCTGAAGGTCCAACCGTTGAAGAAGTTGATTAAGCCAATTGGTG CGGCAATTGATAATAACGAAAATGTCTTTTAATGATCTGGGTATAATGAGGAATTTTCCG AACGTTTTTACTTTATATATATATATACATGTAACATATATTCTATACGCTATAGAGAAA GGAAATTTTTCAATTAAAAAAAAAATAGAGAAAGAGTTTCACTTCTTGATTATCGCTAAC ACTAATGGTTGAAGTACTGCTACTTTAATTTTATAGATAGGCAAAAAAAAATTATTCGGG GCGAGCTGGGAATTGAACCCAGGGCCTCTCGCATGCTTTGTCTTCCTGTTTAATCAGGAA GTCGCCCAAAGCGAGAATCATACCACTAGACCACACGCCCGTACTAATTGATGTCTTCCT TTTCGGATAGATGTATATATATACAAATTGGTCAGATTGCTTTTGGCTCCCTTTCGTACG TAACTCATTTAGACTACGGATCACTAGCACTATCTCACCAAGTTTTTAAAAGATCCACTG TGATCATTAAAGATTCTATTTCAAATAAAAATCAATTATCATCTATCGACTAGTTTTCAT GGTACTAGTATATTATCATGTACAGTGTGAGGGCTCGACATGAAGATTGAGAAGACAGTC ATCGTTTTCAATGGAAGCTGAAATACAAGCACTGAATAAAAAGAGATAACAATATTTTAA TGTCGTGATATTGGTTCCCTTCTGCTGGTCTTCGAGGAAAATTTCTGGTATGTTTTGTGT ATCTAATATTATATAGCCTTAAATCACTACCTATTTTTCAGATCCGCCAAGGAAGCCACT CTGTGAACTTTAAATAATATTACAAATTGCTACAGCATCTCGAATTCAAGTGTTTTCAGA CTTATTTATTTAATTCAAGAAAATGTTCATAAACTTTCATAAAGCAATCCTCAATCCTCT TAGCGCTAATGTTCACTGCACCTTACATGATGGCGTTTGGTTATATTTCAATCCTTTTCA GCGACGTGTCCCGAAACACGAAAAAGTAC >YAL007C ERP2 SGDID:S0000005, Chr I from 139347-136700, reverse complement, Verified ORF AGAGAAAGAGTTTCACTTCTTGATTATCGCTAACACTAATGGTTGAAGTACTGCTACTTT AATTTTATAGATAGGCAAAAAAAAATTATTCGGGGCGAGCTGGGAATTGAACCCAGGGCC TCTCGCATGCTTTGTCTTCCTGTTTAATCAGGAAGTCGCCCAAAGCGAGAATCATACCAC TAGACCACACGCCCGTACTAATTGATGTCTTCCTTTTCGGATAGATGTATATATATACAA ATTGGTCAGATTGCTTTTGGCTCCCTTTCGTACGTAACTCATTTAGACTACGGATCACTA GCACTATCTCACCAAGTTTTTAAAAGATCCACTGTGATCATTAAAGATTCTATTTCAAAT AAAAATCAATTATCATCTATCGACTAGTTTTCATGGTACTAGTATATTATCATGTACAGT GTGAGGGCTCGACATGAAGATTGAGAAGACAGTCATCGTTTTCAATGGAAGCTGAAATAC AAGCACTGAATAAAAAGAGATAACAATATTTTAATGTCGTGATATTGGTTCCCTTCTGCT GGTCTTCGAGGAAAATTTCTGGTATGTTTTGTGTATCTAATATTATATAGCCTTAAATCA CTACCTATTTTTCAGATCCGCCAAGGAAGCCACTCTGTGAACTTTAAATAATATTACAAA TTGCTACAGCATCTCGAATTCAAGTGTTTTCAGACTTATTTATTTAATTCAAGAAAATGT TCATAAACTTTCATAAAGCAATCCTCAATCCTCTTAGCGCTAATGTTCACTGCACCTTAC ATGATGGCGTTTGGTTATATTTCAATCCTTTTCAGCGACGTGTCCCGAAACACGAAAAAG TACATTCTGCCAAAACTTGAACTAGTTAAAATGAAAAACTAACAAAATCTCCAGTGATTT CGATTCATTAACCTTAGGGATCGACACCGCCAATTCTGCATCAGGTGACCCAAACTAGAA TAAGATAAACAGTGGAGTACACTCATTGTAAAGGAAAACCATGATCAAATCTACAATTGC TCTACCCTCTTTCTTCATTGTTTTAATTTTGGCGTTGGTCAATTCAGTGGCTGCATCTTC CAGTTATGCACCAGTTGCTATCAGTTTACCAGCATTCAGCAAAGAATGCCTGTACTACGA TATGGTTACTGAGGATGATTCCCTGGCTGTGGGTTACCAAGTTCTAACCGGTGGTAATTT TGAGATTGATTTTGATATTACTGCTCCTGATGGATCTGTGATTACTAGTGAGAAACAAAA GAAGTACTCAGACTTTTTATTAAAATCGTTTGGAGTGGGGAAGTATACCTTTTGTTTTTC CAATAACTATGGTACAGCGTTGAAAAAGGTAGAAATTACACTAGAAAAGGAAAAAACTTT GACTGACGAGCATGAAGCTGATGTCAATAACGATGACATTATTGCCAATAACGCCGTGGA GGAAATAGATAGAAACTTGAACAAAATCACGAAGACTTTGAACTATTTGAGAGCCAGAGA ATGGAGAAACATGTCTACCGTCAATTCCACCGAATCAAGGTTGACTTGGTTATCTATATT GATTATCATTATCATTGCCGTTATAAGTATTGCCCAAGTTCTACTTATTCAATTCCTCTT CACTGGTCGTCAAAAAAATTACGTTTAAGAACTTTTCAATCTACGAAAAATATATGTCCG CAATATAGAACACAATTAGGTTTATATTCGACGTGATTTTTTTTTCTTCCTTAGCCCTAT GTATATTTACTGTATAGGATAAATGAAATACCAAAAATAAAAAAGTATAAAACGAAAGAA TATAACCCTCGTTTATATCTGGTCATTTGTCTTGCTCATTTGTTAGCATTTAAACTTGCT AATACGAAACTCAATGTAAAGAATACTTTAAAACCCATGTATTCTGTACCCAATAACCCA TCAATAAGCAGTTTCTTCAAGTCTACATCTTTCAAAACAATTACAGATTTGATATTTTTC AAATTAATGCGAATCCATCCCTTGTACCGTAACCATTCACAAAGAAGCATGCTTGTAATA CCGACATACATAAACAAAATTGATATCTTAGCCACCGTAACTCCTAAAACAACACCGAAT AATGATCCCAAAAACATCTGCTTGTGACTACTTATTTTGTTCCTCCTTTCCTCGGTAATT GCCGTACTGTTGCCCACAGTTGGTTCCAAGGGACCCTGTTGTTTGACAGCTGCCCCTAAA GAATCATTGAATATCAACTTAGAAGGCTGGCGATTCATCAAGTAAAAGCCACCAGCAACT ATGCCAGCACCGCCTAACCCTACAGAGCGAGTTAAGGGCTTTCCTAATTTATTGGCGACA TTAAACCTCCATAAGGGGACGTTCTTGAACATGCGCTTCCCAACATTCAAATTACGAAAC ACCAACCGTTGCATATTAAAAGCCAAAGTCATTTTACACCTATTATTTTAAGTTCTTCCT TCTTGCCCCTCTAGCGTTATGCTGTTGTATGTATAATAAGATGCCTTGTTTAACCAATTT CAACAACCCCTAGGTTTTCTAGCACTTGTTGGAAAACTTAAATATGAAATGACGGATTTG TAAAATTTTCACGACACAACAGCTTCACTTCTAATAATGTATAAAATATAATTTATGTGT GAACATAG >YAL008W FUN14 SGDID:S0000006, Chr I from 135916-138512, Verified ORF GTGTCCGGGCCTCGCAGGCGTTCTACTAGCAAGACATCCAGTGCGAAGAATATACGGAAC TCCAGTAATATCTCTCCAGCATCGATGATTTTCAGGAATTTGTTGATACTGGAGGATGAT TTAAGACGCCAAGCTCACGAACAAAAGATACTGAAGTGGCAATTCACTTTGTTCTTAGCG TCTATGGCCGGTGTAGGCGCATTTACCTTCTACGAACTTTATTTCACTTCAGATTATGTC AAGGGCCTCCATAGGGTTATTTTGCAATTCACTCTTTCTTTCATTTCCATTACTGTAGTT CTTTTTCATATCAGTGGACAATATAGAAGAACTATCGTCATTCCAAGAAGATTTTTTACC TCTACTAATAAAGGGATTAGGCAGTTTAATGTGAAGCTAGTTAAAGTACAGTCTACGTGG GACGAGAAATACACAGATTCAGTAAGATTTGTGAGTCGAACAATTGCTTATTGTAATATT TATTGTTTGAAAAAATTTCTGTGGCTTAAAGACGATAATGCCATTGTGAAATTTTGGAAA AGTGTCACGATACAATCCCAACCGAGGATCGGAGCTGTGGATGTGAAATTAGTCCTCAAC CCCAGAGCATTTAGTGCAGAGATTAGAGAAGGATGGGAGATTTATAGAGACGAGTTTTGG GCCAGGGAAGGTGCTAGAAGACGCAAACAAGCGCACGAACTCCGACCTAAATCAGAATGA AAGAGTTGGAGGGCTTCTTCCTTCGAATAAGAGGTCATATTTACCTATGTAAAATTGTAA CCATCTATGTTCACACATAAATTATATTTTATACATTATTAGAAGTGAAGCTGTTGTGTC GTGAAAATTTTACAAATCCGTCATTTCATATTTAAGTTTTCCAACAAGTGCTAGAAAACC TAGGGGTTGTTGAAATTGGTTAAACAAGGCATCTTATTATACATACAACAGCATAACGCT AGAGGGGCAAGAAGGAAGAACTTAAAATAATAGGTGTAAAATGACTTTGGCTTTTAATAT GCAACGGTTGGTGTTTCGTAATTTGAATGTTGGGAAGCGCATGTTCAAGAACGTCCCCTT ATGGAGGTTTAATGTCGCCAATAAATTAGGAAAGCCCTTAACTCGCTCTGTAGGGTTAGG CGGTGCTGGCATAGTTGCTGGTGGCTTTTACTTGATGAATCGCCAGCCTTCTAAGTTGAT ATTCAATGATTCTTTAGGGGCAGCTGTCAAACAACAGGGTCCCTTGGAACCAACTGTGGG CAACAGTACGGCAATTACCGAGGAAAGGAGGAACAAAATAAGTAGTCACAAGCAGATGTT TTTGGGATCATTATTCGGTGTTGTTTTAGGAGTTACGGTGGCTAAGATATCAATTTTGTT TATGTATGTCGGTATTACAAGCATGCTTCTTTGTGAATGGTTACGGTACAAGGGATGGAT TCGCATTAATTTGAAAAATATCAAATCTGTAATTGTTTTGAAAGATGTAGACTTGAAGAA ACTGCTTATTGATGGGTTATTGGGTACAGAATACATGGGTTTTAAAGTATTCTTTACATT GAGTTTCGTATTAGCAAGTTTAAATGCTAACAAATGAGCAAGACAAATGACCAGATATAA ACGAGGGTTATATTCTTTCGTTTTATACTTTTTTATTTTTGGTATTTCATTTATCCTATA CAGTAAATATACATAGGGCTAAGGAAGAAAAAAAAATCACGTCGAATATAAACCTAATTG TGTTCTATATTGCGGACATATATTTTTCGTAGATTGAAAAGTTCTTAAACGTAATTTTTT TGACGACCAGTGAAGAGGAATTGAATAAGTAGAACTTGGGCAATACTTATAACGGCAATG ATAATGATAATCAATATAGATAACCAAGTCAACCTTGATTCGGTGGAATTGACGGTAGAC ATGTTTCTCCATTCTCTGGCTCTCAAATAGTTCAAAGTCTTCGTGATTTTGTTCAAGTTT CTATCTATTTCCTCCACGGCGTTATTGGCAATAATGTCATCGTTATTGACATCAGCTTCA TGCTCGTCAGTCAAAGTTTTTTCCTTTTCTAGTGTAATTTCTACCTTTTTCAACGCTGTA CCATAGTTATTGGAAAAACAAAAGGTATACTTCCCCACTCCAAACGATTTTAATAAAAAG TCTGAGTACTTCTTTTGTTTCTCACTAGTAATCACAGATCCATCAGGAGCAGTAATATCA AAATCAATCTCAAAATTACCACCGGTTAGAACTTGGTAACCCACAGCCAGGGAATCATCC TCAGTAACCATATCGTAGTACAGGCATTCTTTGCTGAATGCTGGTAAACTGATAGCAACT GGTGCATAACTGGAAGATGCAGCCACTGAATTGACCAACGCCAAAATTAAAACAATGAAG AAAGAGGGTAGAGCAATTGTAGATTTGATCATGGTTTTCCTTTACAATGAGTGTACTCCA CTGTTTATCTTATTCTAGTTTGGGTCACCTGATGCAGAATTGGCGGTGTCGATCCCTAAG GTTAATGAATCGAAATCACTGGAGATTTTGTTAGTTTTTCATTTTAACTAGTTCAAGTTT TGGCAGAATGTACTTTT >YAL009W SPO7 SGDID:S0000007, Chr I from 134856-137635, Verified ORF CAAGATAATGTCAAAGTTAGTGGTCGTCCTGTGTTTGTAGAATGTGTGTAATATCTTAAA GTTGTCGAACAACCGGGGCTTAAACTTACTAACCCTAACCAAAATTCAGCACCAAGCGAC AACGAAGAATTATTGTACAGTGAGGTGTTAAACTTGGAAGGCGTGGTAAGGAAATTGTGT AATACTCTATAACCACATAATAGATCACTGGTGGAAAATATCCACTCCTGTAAATTGCGG TGAGAATCTCTTTGAAAATAGCACGTTAAAACGTTTAAGCTTTCTTTGAAACTACTGACA CCCTTAAGCATAAATTGGGTTTGTGGACTTAGTCGTTTTATTATCATTGCTTCTAAATCA GAGCTGGGGTAGTACATTCTACCATAATAAAGGGATTTTTTAACAAATTTCGAGTCATGT AGTAATTTCTTGTCATTGTCGACTGTGGTGTTGTCACTACTCAACGTATTCGCACTACTA ACACTGAAATTGAGGTTTGGTTGCAATTGTCTGTATGTTTCGGTGGCATCTTGTAATGGG ATATCAGTAGAGTTGCGCATGAATTTCTCCAATTGCTGTGCATCGGAGTATAAATAACTC AGAGAACCATTTATCCTGGACCTCGTAGAAAAATCTAAAGAATTGAATGTATTGGGAGTA GATTTGTTGGAAATTTGCAGGTGTATTGCTGAGGGAATTCGGAAATCTAATAATGTTCTC GATGTGGCCGTTATATCCTCGTAGCTATTTTGCGTACTCCAATGGGTGCTCTGATAAAAT GCCCTTAGTACTTGGTCCATATAGGGTAGCATCAAGATCGGTCTTCTCTGTTCGTGTCTT TTTCCTAACGTATATTTGCTTTGTTTCTTCACTCAACAATAAAGTCAAAGTAAAATTAAA TACTAATTATTCTTAAAAGGGAAGATGCGAAATTTAGCGAAAATCTATTGATTATACACA CAAAGGAAGAAAGGTAGTGGAAAGCTAAATAAAGGAGGTCATGGAGCCAGAGAGCATAGG CGATGTGGGGAACCATGCCCAGGATGATAGTGCCAGTATAGTGTCCGGGCCTCGCAGGCG TTCTACTAGCAAGACATCCAGTGCGAAGAATATACGGAACTCCAGTAATATCTCTCCAGC ATCGATGATTTTCAGGAATTTGTTGATACTGGAGGATGATTTAAGACGCCAAGCTCACGA ACAAAAGATACTGAAGTGGCAATTCACTTTGTTCTTAGCGTCTATGGCCGGTGTAGGCGC ATTTACCTTCTACGAACTTTATTTCACTTCAGATTATGTCAAGGGCCTCCATAGGGTTAT TTTGCAATTCACTCTTTCTTTCATTTCCATTACTGTAGTTCTTTTTCATATCAGTGGACA ATATAGAAGAACTATCGTCATTCCAAGAAGATTTTTTACCTCTACTAATAAAGGGATTAG GCAGTTTAATGTGAAGCTAGTTAAAGTACAGTCTACGTGGGACGAGAAATACACAGATTC AGTAAGATTTGTGAGTCGAACAATTGCTTATTGTAATATTTATTGTTTGAAAAAATTTCT GTGGCTTAAAGACGATAATGCCATTGTGAAATTTTGGAAAAGTGTCACGATACAATCCCA ACCGAGGATCGGAGCTGTGGATGTGAAATTAGTCCTCAACCCCAGAGCATTTAGTGCAGA GATTAGAGAAGGATGGGAGATTTATAGAGACGAGTTTTGGGCCAGGGAAGGTGCTAGAAG ACGCAAACAAGCGCACGAACTCCGACCTAAATCAGAATGAAAGAGTTGGAGGGCTTCTTC CTTCGAATAAGAGGTCATATTTACCTATGTAAAATTGTAACCATCTATGTTCACACATAA ATTATATTTTATACATTATTAGAAGTGAAGCTGTTGTGTCGTGAAAATTTTACAAATCCG TCATTTCATATTTAAGTTTTCCAACAAGTGCTAGAAAACCTAGGGGTTGTTGAAATTGGT TAAACAAGGCATCTTATTATACATACAACAGCATAACGCTAGAGGGGCAAGAAGGAAGAA CTTAAAATAATAGGTGTAAAATGACTTTGGCTTTTAATATGCAACGGTTGGTGTTTCGTA ATTTGAATGTTGGGAAGCGCATGTTCAAGAACGTCCCCTTATGGAGGTTTAATGTCGCCA ATAAATTAGGAAAGCCCTTAACTCGCTCTGTAGGGTTAGGCGGTGCTGGCATAGTTGCTG GTGGCTTTTACTTGATGAATCGCCAGCCTTCTAAGTTGATATTCAATGATTCTTTAGGGG CAGCTGTCAAACAACAGGGTCCCTTGGAACCAACTGTGGGCAACAGTACGGCAATTACCG AGGAAAGGAGGAACAAAATAAGTAGTCACAAGCAGATGTTTTTGGGATCATTATTCGGTG TTGTTTTAGGAGTTACGGTGGCTAAGATATCAATTTTGTTTATGTATGTCGGTATTACAA GCATGCTTCTTTGTGAATGGTTACGGTACAAGGGATGGATTCGCATTAATTTGAAAAATA TCAAATCTGTAATTGTTTTGAAAGATGTAGACTTGAAGAAACTGCTTATTGATGGGTTAT TGGGTACAGAATACATGGGTTTTAAAGTATTCTTTACATTGAGTTTCGTATTAGCAAGTT TAAATGCTAACAAATGAGCAAGACAAATGACCAGATATAAACGAGGGTTATATTCTTTCG TTTTATACTTTTTTATTTTTGGTATTTCATTTATCCTATACAGTAAATATACATAGGGCT AAGGAAGAAAAAAAAATCAC seqinr/inst/sequences/louse.fasta0000644000176000001440000000756010352757411016737 0ustar ripleyusers>gi|548117|gb|L32667.1|GYDCYTOXIB Geomydoecus chapini mitochondrial cytochrome oxidase I gene, partial cds CGAGGTATATATTTTAATTTTACCAGGTTTCGGTTTAATTTCCCAGATTATTCTATTCGAAAGGGGAAAG AAACAGGTTTTTGGAACTGTCGGGATGATTTATGCTATAATGGCTATTGGTATTCTTGGGTTTGTCGTTT GGGCGCATCACATGTTTACCGTAGGGATGGATGTTGACAGTCGAGCATATTTTACTAGAGCTACAATGGT TATTGCTGTTCCGACAGGAGTAAAAGTATTCAGTTGATTAGCTACTTCATTTGGAAGTCGGATTTCGTAT TCCGTTTCTATTTTGTGAACCCTTGGGTTCGTATTTTTATTTACGGTTGGAGGAATGACAGGATTAGTTT TGGCTAATTCGTGTGTTGATGTGGTCCTA >gi|548119|gb|L32668.1|GYDCYTOXIC Geomydoecus cherriei mitochondrial cytochrome oxidase I gene, partial cds AGAAGTCTATATTTTGATTTTACCCGGATTTGGTTTAATTTCCCAAATTATTTTATTCGAAAGAGGGAAA AAGCAGGTTTTTGGTACCGTGGGTATAATTTATGCGATAATAGCAATCGGAGTATTGGGTTTCGTGGTAT GGGCTCATCACATGTTTACCGTTGGAATGGATGTAGATAGCCGAGCATACTTCACAAGAGCAACGATAGT AATTGCTGTTCCAACCGGGGTGAAAGTATTTAGATGATTAGCCACTTCGTTCGGGAGTCGAGTCTCTTAT TCCGTCTCTATACTTTGAACTTTGGGGTTCGTATTCTTGTTTACGGTAGGAGGAATAACAGGGTTAGTTT TAGCAAACTCATGTGTGGACGTAGTCCTA >gi|548121|gb|L32669.1|GYDCYTOXID Geomydoecus costaricensis mitochondrial cytochrome oxidase I gene, partial cds CGAAGTTTATATTTTGATTTTACCCGGATTTGGTTTGATTTCTCAGATTATTTTATTTGAAAGAGGAAAG AAGCAGGTTTTTGGAACTGTAGGGATAATTTATGCAATAATAGCAATCGGAGTACTAGGTTTCGTGGTAT GGGCACACCACATGTTTACCGTTGGGATGGATGTTGACAGTCGAGCGTATTTCACAAGAGCAACGATAGT AATTGCTGTTCCAACTGGGGTAAAGGTATTTAGATGACTAGCCACTTCGTTTGGAAGCCGGGTCTCTTAT TCCGTTTCCATGTTATGAACTCTAGGATTTGTATTCTTATTTACGGTAGGAGGAATAACAGGGTTGGTTT TAGCAAATTCTTGTGTGGATGTAGTCCTA >gi|548125|gb|L32671.1|GYDCYTOXIF Geomydoecus ewingi mitochondrial cytochrome oxidase I gene, partial cds TGAAGTTTATATTCTGATTCTTCCAGGATTTGGGTTAATCTCCCACATTGTCCTGTTAGAAAGAGGAAAG AAACAAGTCTTTGGCACTGTCGGAATAATTTATGCAATAATAGCAATTGGGGTCCTTGGTTTTGTAGTTT GAGCCCATCACATGTTTACTGTGGGAATGGATGTTGATAGCCGAGCATATTTTACTAGAGCGACTATAGT AATTGCGGTGCCTACCGGAGTAAAGGTCTTTAGGTGGCTTGCTACTTCTTTTGGAAGTCGGATTTCGTAC TCCGTATCGATGCTATGGTCGTTTGGCTTTATTTTTTTATTTACTATCGGCGGCATGACAGGATTAGTTT TAGCAAATTCTTGTGTAGATGTGGTATTA >gi|548127|gb|L32672.1|GYDCYTOXIG Geomydoecus geomydis mitochondrial cytochrome oxidase I gene, partial cds AGAAGTATACATTCTAATCCTTCCGGAATTTGGTTTAATTTCTCATATTGTATTATTGGAAAGGGGAAAA AAGCAGGTTTTTGGTACTGTTGGGATAATTTACGCAATAATAGCAATTGGAGTTCTTGGTTTTGTAGTCT GAGCTCACCACATATTTACTGTAGGAATGGATGTTGATAGCCGGGCATATTTTACTAGGGCGACTATGGT AATTGCGGTACCTACTGGGGTAAAGGTTTTTAGATGATTGGCCACTTCTTTCGGGAGGCGAATTTCATAC TCCGTTTCGACACTGTGGGCATTTGGTTTCATTTTCCTATTTACTATTGGTGGGATAACAGGTTTAGTTT TAGCAAATTCATGTGTGGATGTGGTCCTA >gi|548131|gb|L32675.1|GYDCYTOXII Geomydoecus oklahomensis mitochondrial cytochrome oxidase I gene, partial cds AGAAGTATACATTCTAATTCTTCCGGGATTCGGGTTAATCTCTCATATTGTATTATTGGAAAGAGGAAAA AAGCAGGTTTTTGGTACTGTTGGGATAATTTACGCAATAATAGCAATTGGAGTTCTTGGTTTTGTAGTCT GAGCTCACCATATATTTACTGTAGGAATAGATGTTGATAGCCGGGCATACTTTACTAGGGCGACTATGGT AATTGCGGTGCCTACTGGAGTAAAGGTTTTTAGGTGATTGGCCACCTCTTTCGGGAGGCGAATTTCATAT TCCGTTTCGACACTGTGGGCATTTGGTTTTATTTTTCTATTTACTATTGGTGGGATAACAGGTTTAGTTC TAGCAAATTCATGTGTAGATGTGGTCCTA >gi|548133|gb|L32676.1|GYDCYTOXIJ Geomydoecus panamensis mitochondrial cytochrome oxidase I gene, partial cds AGAAGTTTATATTTTGATTTTACCTAGATTTGGTTTGATTTCTCAAATTATTCTATTCGAAAGAGGAAAG AAACAGGTCTTTGGAACCGTGGGAATAATTTATGCAATAATAGCGATTGGAGTTCTTGGATTTGTGGTTT GGGCTCATCACATATTTACTGTTGGGATAGATGTTGATAGACGAGCATATTTTACGAGAGCTACGATAGT AATTGCCGTTCCAACAGGGGTAAAGGTGTTTAGGTGATTGGCCACTTCTTTTGGAAGCCGAATTTCATAT TCGGTTTCGATGCTCTGAACATTAGGATTCGTATTTCTGTTCACGGTTGGAGGGATAACGGGGTTAGTTC TAGCCAATTCGTGTGTAGATGTAGTCCTA >gi|548137|gb|L32678.1|GYDCYTOXIL Geomydoecus setzeri mitochondrial cytochrome oxidase I gene, partial cds CGAAGTTTATATTTTGATTTTACCAGGTTTTGGGTTAATTTCTCAAATTATTTTATTCGAGAGAGGAAAG AAGCAAGTTTTTGGAACTGTAGGAATAATCTATGCTATAATAGCAATTGGAGTTCTTGGATTCGTGGTTT GAGCTCATCACATATTCACGGTTGGGATGGATGTGGATAGCCGGGCATATTTTACAAGAGCTACGATAGT AATTGCTGTTCCTACTGGAGTTAAAGTGTTTAGATGATTAGCCACTTCTTTTGGAAGCCGAATTTCATAT TCGGTTTCGATACTTTGAACGCTGGGATTCGTATTCCTATTCACCGTGGGAGGGATGACAGGATTGGTGT TAGCTAATTCGTGCGTAGATGTGGTCCTA seqinr/inst/sequences/DarrenObbard.fasta0000644000176000001440000000032511175044633020124 0ustar ripleyusers>Reference ATGTGGTCGAGATATCGAAAGCTAGGGATATCGATTATATATAGCAAGATCGATAGAGGA TCGATGATCGATCGGGATCGACAGCTG >With out-of-frame gaps AT-TGGTCCAGGTATCGTAAGCTAGGGATATCGATTATATATAGCAAGATCGATAGGGGA TCGATGATCGATCGGGA--GACAGCTG seqinr/inst/sequences/gopher.names0000644000176000001440000000013010352757411017063 0ustar ripleyusersG.brevicep O.cavator O.cherriei O.underwoo O.hispidus G.burs1 G.burs2 O.heterodu seqinr/inst/sequences/bb.kwd0000644000176000001440000000032010452205015015632 0ustar ripleyusersPLASMID CIRCULAR PARTIAL 5'-PARTIAL 3'-PARTIAL MOTA GENE MOTB GENE DIVISION PRO GYRB GENE JOINING REGION FTSA GENE RPOB GENE RPOC GENE FLA GENE DNAJ GENE TUF GENE PGK GENE RUVA GENE RUVB GENE PROMOTER REGION seqinr/inst/sequences/legacy.fasta0000644000176000001440000000251710721117572017047 0ustar ripleyusers>LEGACY 921 bp ; ; Example of a FASTA file using comment lines starting with a semicolon ; as allowed in the original FASTA program: ; ; if (line[0]!='>'&& line[0]!=';') { ; for (i=l_offset; (n sstart) seq[n++]= ic; ; if (ic == ES || rn > sstop) break; ; } ; ; From file getseq.c in FASTA program version 35.2.5 ; ATGAAAATGAATAAAAGTCTCATCGTCCTCTGTTTATCAGCAGGGTTACTGGCAAGCGCG CCTGGAATTAGCCTTGCCGATGTTAACTACGTACCGCAAAACACCAGCGACGCGCCAGCC ATTCCATCTGCTGCGCTGCAACAACTCACCTGGACACCGGTCGATCAATCTAAAACCCAG ACCACCCAACTGGCGACCGGCGGCCAACAACTGAACGTTCCCGGCATCAGTGGTCCGGTT GCTGCGTACAGCGTCCCGGCAAACATTGGCGAACTGACCCTGACGCTGACCAGCGAAGTG AACAAACAAACCAGCGTTTTTGCGCCGAACGTGCTGATTCTTGATCAGAACATGACCCCA TCAGCCTTCTTCCCCAGCAGTTATTTCACCTACCAGGAACCAGGCGTGATGAGTGCAGAT CGGCTGGAAGGCGTTATGCGCCTGACACCGGCGTTGGGGCAGCAAAAACTTTATGTTCTG GTCTTTACCACGGAAAAAGATCTCCAGCAGACGACCCAACTGCTCGACCCGGCTAAAGCC TATGCCAAGGGCGTCGGTAACTCGATCCCGGATATCCCCGATCCGGTTGCTCGTCATACC ACCGATGGCTTACTGAAACTGAAAGTGAAAACGAACTCCAGCTCCAGCGTGTTGGTAGGA CCCTTATTTGGTTCCTCCGCTCCAGCTCCGGTTACGGTAGGTAACACGGCGGCACCAGCT GTGGCTGCACCCGCTCCGGCACCGGTGAAGAAAAGCGAGCCGATGCTCAACGACACGGAA AGTTATTTTAATACCGCGATCAAAAACGCTGTCGCGAAAGGTGATGTTGATAAGGCGTTA AAACTGCTTGATGAAGCTGAACGCTTGGGATCGACATCTGCCCGTTCCACCTTTATCAGC AGTGTAAAAGGCAAGGGGTAA seqinr/inst/sequences/bb.mne0000644000176000001440000000026110452205015015630 0ustar ripleyusersA04009.OSPA A04009.OSPB A22442 A24006 A24008 A24010 A24012 A24014 A24016 A33362 A67759.PE1 AB011063 AB011064 AB011065 AB011066 AB011067 AB035616 AB035617 AB035618 AB041949.VLSE seqinr/inst/sequences/input.dat0000755000176000001440000051446510473524715016436 0ustar ripleyusers>YCG9 Probable 1377 residues Pha 0 Code 0 ATGAATATGCTCATTGTCGGTAGAGTTGTTGCTAGTGTTGGGGGAAGCGGACTTCAAACG CTTTGCTTTGTTATTGGTTGTACGATGGTTGGTGAAAGGTCACGTCCATTGGTGATTTCC ATCCTAAGTTGTGCATTTGCTGTAGCTGCTATCGTTGGTCCTATAATCGGAGGTGCCTTT ACAACCCATGTTACCTGGAGGTGGTGCTTCTATATCAATCTTCCTATCGGTGGTCTTGCC ATTATTATGTTTTTACTCACATATAAGGCCGAGAATAAGGGTATACTTCAACAAATTAAA GATGCTATAGGAACAATCTCGAGCTTTACTTTTAGTAAGTTCAGACACCAAGTTAATTTT AAAAGACTTATGAATGGCATAATCTTCAAGTTTGACTTCTTTGGTTTTGCCCTCTGCTCT GCAGGGCTGGTCCTTTTCCTACTGGGGCTAACCTTTGGTGGTAATAAATATAGTTGGAAC TCTGGCCAAGTCATCGCATATTTGGTTTTGGGTGTCTTACTTTTTATTTTTTCATTGGTG TACGATTTCTTCTTATTCGATAAATTCAACCCGGAACCTGATAATATATCCTACAGGCCT CTCCTTCTAAGAAGATTGGTAGCAAAACCAGCCATAATAATAATAAACATGGTAACATTT CTATTATGTACCGGTTACAATGGGCAAATGATATACTCTGTCCAGTTTTTCCAACTTATA TTTGCGTCGAGTGCATGGAAAGCCGGTCTTCACTTGATACCAATCGTTATTACCAACGTT ATTGCGGCCATTGCAAGTGGTGTGATTACCAAAAAGCTCGGTTTAGTTAAACCACTCTTA ATATTTGGAGGCGTTCTTGGGGTAATTGGAGCAGGGCTTATGACACTTATGACAAATACG TCCACGAAGTCAACTCAAATTGGTGTTTTGCTATTACCGGGGTTTTCCCTTGGATTTGCT CTACAAGCATCGCTCATGAGTGCACAGCTTCAAATTACCAAAGATCGTCCAGAAGCTGCT ATGGACTTTATTGAAGTAACAGCTTTCAATACATTCATGAAGTCATTAGGTACAACTCTT GGTGGTGTGCTTTCAACCACTGTTTTTTCCGCCTCCTTTCACAACAAAGTATCACGAGCT CATCTAGAGCCTTACGAAGGAAAAACGGTTGATGACATGATTTTGTATCGTCTTCAAAAC TACGACGGTTCTCATTCGACTATTGGAAACATTTTAAGCGACTCCATTAAGAACGTATTT TGGATGGATCTAGGGTTTTATGCCTTAGGATTTTTGTTTTGTAGTTTTTCATCCAATAAG AAATTAATCATACCAAAAAAGGACGAGACACCAGAAGATAATTTAGAAGACAAGTAG >YCG8 573 residues Pha 0 Code 0 ATGAGAACGGCCGTACCGCAGTTGCTGGAAGCAACTGCCTGTGTCTCTAGAGAATGCCCC CTCGTCAAAAGAAGTCAGGACATAAAAAGAGCAAGAAAACGTCTACTCAGTGACTGGTAT AGGCTCGGCGCTGATGCAAACATGGATGCCGTATTACTAGTTGTTAACTCCGCCTGGAGG TTTCTGGCCGTCTGGCGACCCTTCGTAAACTCAATCCAACATGCAACTCAGGAATTGTAT CAAAATATCGCCCATTACCTTCTTCATGGCAACGTAAATATACAGAGGGTCACAGCACTA CTACAGCTCGTAATGGGACAGGACGATTTACTTTTTAGTATGGATGATGTTCTACAAGAG GTCTTCAGAATACAGCTCTATTTGAATAAGATGCTGCCGCACAACTCTCACAAATGGCAA AAGCCATCCCCCTTTGACTCCGCAAACTTACTACTTAACTTCAGAGACTGGACAACTGAC AATGCTCTCCTCCAAGAGTTGCTACTATCCTATCCCACAATTAATAAAAACAAACACAAA AATCACTCCGTCCCTCGTCTAATACAAGTTTGA >ALPHA2 633 residues Pha 0 Code 0 ATGAATAAAATACCCATTAAAGACCTTTTAAATCCACAAATCACAGATGAGTTTAAATCC AGCATACTAGACATAAATAAAAAGCTCTTTTCTATTTGCTGTAATTTACCTAAGTTACCA GAGAGTGTAACAACAGAAGAAGAAGTTGAATTAAGGGATATATTAGGATTCTTATCTAGG GCCAACAAAAACCGTAAGATTAGTGATGAGGAGAAGAAGTTGTTGCAAACAACATCTCAA CTCACTACTACCATTACTGTATTACTCAAAGAAATGCGCAGCATAGAAAACGATAGAAGT AATTATCAACTTACACAGAAAAATAAATCGGCGGATGGGTTGGTATTTAATGTGGTAACT CAAGATATGATAAACAAAAGTACTAAACCTTACAGAGGACACCGGTTTACAAAAGAAAAT GTCCGAATACTAGAAAGTTGGTTTGCAAAGAACATCGAGAACCCATATCTAGATACCAAG GGCCTAGAGAATCTAATGAAGAATACCAGTTTATCTCGCATTCAAATCAAAAACTGGGTT TCGAATAGAAGAAGAAAAGAAAAAACAATAACAATCGCTCCAGAATTAGCGGACCTCTTG AGCGGTGAGCCTCTGGCAAAGAAGAAAGAATGA >ALPHA1 528 residues Pha 0 Code 0 ATGTTTACTTCGAAGCCTGCTTTCAAAATTAAGAACAAAGCATCCAAATCATACAGAAAC ACAGCGGTTTCAAAAAAGCTGAAAGAAAAACGTCTAGCTGAGCATGTGAGGCCAAGCTGC TTCAATATTATTCGACCACTCAAGAAAGATATCCAGATTCCTGTTCCTTCCTCTCGATTT TTAAATAAAATCCAAATTCACAGGATAGCGTCTGGAAGTCAAAATACTCAGTTTCGACAG TTCAATAAGACATCTATAAAATCTTCAAAGAAATATTTAAACTCATTTATGGCTTTTAGA GCATATTACTCACAGTTTGGCTCCGGTGTAAAACAAAATGTCTTGTCTTCTCTGCTCGCT GAAGAATGGCACGCGGACAAAATGCAGCACGGAATATGGGACTACTTCGCGCAACAGTAT AATTTTATAAACCCTGGTTTTGGTTTTGTAGAGTGGTTGACGAATAATTATGCTGAAGTA CGTGGTGACGGATATTGGGAAGATGTGTTTGTACATTTGGCCTTATAG >CHA1 1083 residues Pha 0 Code 0 ATGTCGATAGTCTACAATAAAACACCATTATTACGTCAATTCTTCCCCGGAAAGGCTTCT GCACAATTTTTCTTGAAATATGAATGCCTTCAACCAAGTGGCTCCTTCAAAAGTAGAGGA ATCGGTAATCTCATCATGAAAAGTGCCATTCGAATTCAAAAGGACGGTAAAAGATCTCCT CAGGTTTTCGCTAGTTCTGGCGGTAATGCCGGTTTTGCTGCTGCAACAGCATGTCAAAGA CTGTCTCTACCATGTACAGTCGTGGTTCCTACAGCGACAAAGAAGAGAATGGTAGATAAA ATCAGGAACACCGGTGCCCAGGTTATCGTGAGTGGTGCCTACTGGAAAGAAGCAGATACT TTTTTAAAAACAAATGTCATGAATAAAATAGACTCTCAGGTCATTGAGCCCATTTATGTT CATCCCTTCGATAATCCGGATATTTGGGAAGGACATTCATCTATGATAGATGAAATAGTA CAAGATTTGAAATCGCAACATATTTCCGTGAATAAGGTTAAAGGCATAGTATGCAGCGTT GGTGGAGGTGGTTTATACAATGGTATTATTCAAGGTTTGGAAAGGTATGGTTTAGCTGAT AGGATCCCTATTGTGGGGGTGGAAACGAATGGATGTCATGTTTTCAATACTTCTTTGAAA ATAGGCCAACCAGTTCAATTCAAGAAGATAACAAGTATTGCTACTTCTCTAGGAACGGCC GTGATCTCTAATCAAACTTTCGAATACGCTCGCAAATACAACACCAGATCCGTTGTAATA GAGGACAAAGATGTTATTGAACCCTGTCTTAAATATACACATCAATTCAATATGGTGATT GAACCGGCATGTGGCGCCGCATTGCATTTGGGTTACAACACTAAGATCCTAGAAAATGCA CTGGGCTCAAAATTAGCTGCGGATGACATTGTGATAATTATTGCTTGTGCGAGCTCCTCT AATACTATAAAGGACTTGGAAGAAGCGTTGGATAGCATGAGAAAAAAAGACACTCCTGTA ATAGAAGTCGCTGACAATTTCATATTTCCAGAAAAAAATATTGTGAATTTAAAAAGTGCT TGA >KRR1 951 residues Pha 0 Code 0 ATGGTGTCTACACATAACAGAGATAAACCTTGGGATACGGATGATATTGATAAATGGAAG ATAGAGGAGTTTAAGGAAGAGGATAACGCATCCGGTCAACCTTTTGCTGAAGAGTCCAGT TTTATGACTTTGTTTCCTAAATACAGAGAAAGTTACTTGAAGACGATTTGGAATGATGTA ACAAGGGCTCTAGACAAACACAACATAGCGTGTGTTCTAGATTTAGTCGAAGGTTCTATG ACAGTAAAAACAACTAGAAAAACATACGATCCCGCTATCATTTTGAAAGCCAGAGATTTG ATCAAATTATTGGCGAGATCCGTTCCTTTCCCGCAAGCCGTTAAGATCCTACAAGATGAC ATGGCATGCGACGTTATTAAAATTGGTAATTTCGTTACTAACAAAGAAAGGTTTGTCAAG AGAAGACAACGTCTTGTAGGCCCTAACGGTAATACTTTAAAGGCTTTGGAACTTCTAACT AAATGTTACATTCTAGTACAAGGTAACACAGTAAGTGCCATGGGTCCCTTCAAGGGCTTG AAGGAGGTCCGTCGAGTAGTAGAAGATTGTATGAAAAATATTCACCCTATCTATCATATC AAGGAATTAATGATAAAAAGAGAATTGGCAAAAAGGCCAGAGTTAGCCAATGAAGATTGG TCAAGATTCTTGCCCATGTTTAAGAAGAGGAATGTGGCCAGAAAGAAACCCAAGAAGATC AGAAACGTCGAAAAGAAGGTCTATACTCCATTTCCTCCTGCCCAATTGCCTAGAAAGGTT GATTTGGAAATTGAAAGTGGTGAGTATTTCTTAAGCAAGAGAGAAAAGCAAATGAAGAAA TTAAATGAGCAAAAGGAAAAGCAAATGGAAAGAGAAATCGAAAGGCAGGAAGAGAGAGCA AAAGATTTCATAGCTCCGGAAGAAGAAGCATACAAGCCAAACCAAAATTAG >PRD1 2139 residues Pha 0 Code 0 ATGCGATTGTTGCTGTGCAAGAATTGGTTTGCGTCACCTGTAATCTCACCACTACTGTAT ACCCGCTCCTTATATTCAATGGCTAACACTACTAGTTTCCCTATTGCTCCCCAGGCCCCG CCTAATTGGTCGTTCACTCCCAGCGATATTAGTGGGAAAACCAACGAAATCATCAACAAC AGCAACAATTTCTATGATTCTATGAGTAAGGTAGAGAGCCCTTCCGTGAGTAATTTTGTG GAGCCTTTCATGAAGTTTGAAAATGAATTGGGCCCAATAATTAACCAATTAACTTTCTTA CAGCATGTGTCGTCTGATAAAGAAATTAGGGACGCATCTGTGAACTCCTCAATGAAACTG GATGAGTTGAACATCGATCTATCTCTGCGTCACGACATCTTTTTGCAATTCGCCCGCGTC TGGCAGGATGTTCAATCGAAGGCAGATTCTGTGGAAAGAGAAACTTTCAAATACGTTGAG AAGTCTTACAAGGACTACATTCATTCTGGTTTGGAACTTGACGAGGGAAACCGATTGAAA ATCAAAGAGATCAAAAAGAAGATCTCCGTTAACTCTATTAATTTTTCGAAGAATCTGGGA GAACAAAAGGAATACATCACTTTCACCAAAGAACAATTGGAAGGTGTGCCGGATTCTATT TTGACGCAGTTCGAGACAATAAAATCTGACAAAGATAGCAATGAAACCTTGTATAAAGTC ACCTTCAAATATCCGGACATTTTTCCCGTGATGAAATTGGCATCCTCAGCTCAGACTAGA AAGCAGGCCTTTTTGGCCGACCAAAATAAGGTCCCTGAAAATGAAGCTATACTGTTGGAT ACATTGAAGCTGCGTGACGAATTGGCCTCGTTATTGGGCTATGACACGTATGCGAACTAC AACCTGTATGATAAAATGGCTGAAGATAGCACTACGGTAATGAACTTTTTGAATGATTTG AAGGACAAGCTAATTCCGCTGGGCAGAAAGGAACTACAGGTCTTGCAAGATATGAAAGCC GAAGATGTTAAGAAACTTAACCAGGGTGCAGATCCAAACTACTACATTTGGGACCACCGT TACTACGATAACAAATATTTGTTAGAAAACTTCAATGTGGACCTAGAAAAGATTTCTGAA TATTTTCCACTAGAGGCTACGATTACTGGTATGCTGGAAATATACGAAACATTGTTTAAT TTGAAGTTTATCGAGACGAAAGATTCTCAAAACAAATCTGTTTGGCATGACGACGTCAAA CAAATCGCCGTTTGGAATATGGATGATCCAAAGTCTCCAAACTTTGTTGGTTGGATTTAT TTCGATTTACATCCTCGTGATGGTAAATATGGCCACGCTGCCAATTTTGGTTTATCGTCA TCATTCATGATTGATGACACCACAAGATCGTATCCGGTTACTGCGTTGGTTTGCAATTTC TCCAAATCTACGAAGGATAAACCTTCTCTACTGAAGCATAACGAAATAGTGACCTTTTTC CATGAATTGGGCCATGGTATCCATGACCTGGTGGGACAAAACAAGGAATCGAGGTTTAAT GGCCCCGGATCTGTTCCATGGGATTTTGTGGAGGCACCTTCCCAAATGTTAGAATTTTGG ACTTGGAATAAGAATGAATTAATCAACCTCTCATCACATTACAAAACGGGCGAAAAAATT CCAGAATCTTTGATCAATTCATTGATCAAAACTAAACACGTAAATGGTGCTTTATTCACT CTAAGACAATTACATTTTGGGTTATTTGATATGAAAGTACATACTTGTAAAGACTTGCAA AACCTGTCAATTTGCGATACCTGGAACCAATTGAGACAGGATATTTCTTTGATTTCTAAT GGTGGTACGTTATCCAAGGGTTATGATTCATTTGGCCATATAATGTCAGACTCTTACTCT GCCGGTTATTACGGTTATCTATGGGCGGAAGTCTTTGCAACTGATATGTATCACACCAAA TTCGCTAAGGATCCGTTAAATGCCAAGAATGGGATACAATACCGTGATATTGTGTTGGCT CGTGGTGGCCTTTATGATATTAATGATAATCTGAAAGAATTTTTGGGTAGGGAACCTTCT AAGGATGCTTTCTTGAAGGAGCTGGGCTTACAGAACTAA >KAR4 1008 residues Pha 0 Code 0 ATGGCATTCCAAGATCCAACTTACGACCAGAATAAAAGCAGACACATCAACAACAGTCAC TTGCAAGGGCCAAACCAGGAAACAATAGAAATGAAATCTAAACACGTATCATTCAAACCC TCTAGAGACTTCCATACAAACGATTACTCGAATAACTACATTCATGGGAAGTCGCTACCG CAACAGCATGTTACTAATATTGAGAATAGGGTTGATGGCTATCCAAAACTTCAGAAATTA TTTCAGGCGAAAGCTAAACAAATAAATCAATTTGCCACTACGCCATTTGGGTGTAAAATC GGAATAGATTCCATTGTTCCAACGTTGAATCACTGGATACAGAACGAAAATTTGACTTTC GACGTGGTGATGATTGGCTGCTTAACAGAAAATCAGTTTATTTACCCAATTTTAACCCAA TTGCCATTGGATAGATTGATCTCCAAACCAGGTTTCCTGTTCATCTGGGCCAATTCTCAA AAAATCAATGAACTTACTAAACTTTTGAATAATGAAATATGGGCTAAAAAGTTTAGAAGA AGTGAAGAATTGGTTTTTGTTCCTATTGACAAGAAATCACCGTTTTATCCAGGTTTAGAT CAGGACGATGAAACGTTGATGGAAAAAATGCAATGGCACTGTTGGATGTGTATCACAGGT ACAGTAAGGAGGTCTACAGATGGACATCTTATTCATTGTAACGTAGACACTGACTTGAGT ATCGAAACGAAGGACACCACTAATGGTGCTGTACCATCCCATTTGTATCGTATTGCAGAA AACTTCTCTACCGCGACTAGACGATTACATATTATTCCTGCAAGGACTGGTTACGAGACA CCCGTCAAAGTAAGACCTGGCTGGGTTATAGTGAGCCCAGATGTTATGTTGGATAACTTC TCACCCAAGAGATATAAAGAAGAGATAGCTAATTTAGGTTCGAATATCCCATTAAAAAAT GAGATTGAGCTGTTAAGACCAAGAAGTCCAGTACAAAAAGCACAATAA >PBN1 1251 residues Pha 0 Code 0 ATGGTGACAAGACATAGAGTGACTGTACTCTACAATGCCCCTGAGGATATCGGTAATCAT ATGCGCCAAAATGACACTCATTTGACTGTTCGTGGAGGTTCTGGTGTGGTTTTACAACAA AGGTGGCTATTAGAGAGGACTGGAAGCTTGGATAAATCCTTTACGAGAATCACTTGGAGG CCCAGAGCGGACTTGGCTAGAAGTTTAAGCGTTATAGAAAATGAACTGAGTGCTGGCTTT TCAGTTTACTCAAATTCTTCGGATGTGCCGGAAAGGTTTATTACTAACCCAGTCTACAAT TCATTTCACAGTGAGAAGTTTGACATAGAGCAGTACTTGCCTCCCGAAGTAGATTTGAAT CTGTCATGGAATCCAGAAGATTTTACATATGATATATCAGTGGAGCCCACACAAATCCAA ATTGTTGAATATCGTCTGTTGAAACAGGGTGAAGAATTTACAATTGCAAGAGTGAAAGAT GAGAAACTCGAAGTAGGTGTATTCTTTGTGGATGCAAGTGATGAAAGTGATGTCGATATT GGTGGAATACGTTGTAATTGGAGGATGGACGATGGTAAAATGGAAAGATGTCAGAAAACA TCCTTATTGTATAAACAGGGCCATATCGCATACAATCACTCGACGACTACGACATCACTA TATCTGAATGAACCTATCGGTTTGCATCCAAAAATCATGATTGATCTCACAGATTTCGAA GAACGCCCTAAATGCATGTATCTAATGCACCTGCAATTGCCGTTAGAATTATTTATCGAT AAATTCCAATCCTCTCCCTTACTACTTTTTGGAGAAGACGACTTAGAATTACCAGAATAC TCTCTTCGAGATAAGGCATGGGGTTCTGAAAGTATCTTTGAATTGAAAGCCGGCACAATG AATGAAGTGACATTGCATACTAGATATATTGAGCCTTCTAATAATAAAGGGGATAAATTA GAAGTTTCATTTGATCCAGAAGTTATATTAGCCTGCGACACAGGTGACAATAAAGTTTCC CGTAATCCATTTTATAAAAAAGGTCTAGGATATGAATCTCTCTTTACAGACGATACTACA TTCCGCCATTTGAACTCGACAACTCTTCTAGTACCAATTCCAAGGCCTGACACAAAGGAT TATTCCAAGATCAAAAATGGTACGTTACTATGCTTACTCATCTCCATCATATACATTTTC TCCAAGGTATTTGGTAACAACAAGAAGAAAAGATCAGTAAAACGGGAATAA >LRE1 1761 residues Pha 0 Code 0 ATGCCCAATACGCATACTCAACATGTGCAAATATCAGAGCCAAATCCTGTAAATACTTTG TCTACACCATCCAAAAGAGGTCACCGCCATCGCAGATCGCTAGCAATATCAGGAGATTTT GATTTTTTGAAACAGCCTGCAGCAATTGTGAATTTACCACCTCCACAGGCGGCTGAAAAT TGTCCTTCAACTGCCCCAACTGCTGTATCAAGTACATTATCGCCAATACGCTACAATAGA TTTCCTTGCAAAACCAATGAAGACGCTGGAACGTTAGATTTGCCTGAACCAAGATTTTAT CCGTTATCACCAAAGAACAATCTGCAAACACCAAGTCCACGATTTTTCATTAGTGAAGAG CCAAGTTTTTCATCGCCAGTTAAAGGCGTCCCAGATGCCATTATTAACCTTGACGATGCG TTGAAGACAAGGCCTAGGTCATTTAAATCACATAGAAGATCTGAATCCGCTCCTCCTGAT TTGGAGGTTATGGTAGATAAGGGCAATTGTGCAGCCGGTTCTAACTCTATGATTAAAGAA GAAGAGGACTCCTTAATTGAACCAGAATCGAAAAATGAATATTATGAGCAAAAGCTTCCA ACAGCACTATTATCCCCACTGCGGCCTTCCCTTTGTGTATCTGAACAGGCCATTGATGTA GATGATTCAGCTCTCAATGGGTCACCGACCCATCACAACCATGGGATGCAAAACGCCAAT GCACGGAATTCCAACACATTCAATTCGTTGAAGATCAAAGGCCAAAAGCAAAGATATTAT CATTATACGAAGCAGCTACCTTTGACCGTAGGCTGTGACTCGCAATCTCCAAAAGAACAA AGGTCGGCTGCTTCAATGACAATCAATCAGGCAATGACACCTTCTTCCCTGGCCTATACC CCTTCTAAACTAGCATCTACTCCCGCAACACCAGTATCCTTTTATGACAGCAATGCGGAC ATTAACTTAGAAAGTGATAATTTTCCACTAAAAGATAACCCTAGATATGCCAAGGATGGT TATCCTAAAAAGTGCGGCAATTCACAGCTTAATCGTGTGCTGGATAGCGATAAAAGACAG GATTTTAGTGGAGAATCGAGAAGAAGAAGATCGGGCAGTCCTATCTCCCACATGCAACAC CGCAACCTGATTGATAATATGAAAGGTAGACGAAACAGTAACACGATAAACTCAATCTTC AACTACAAGAGTCAACATTATGAAATGCCATATGATGATATGATGAAAAATGAAAACATT AATGCACAGTCCATGCCCTTTTCAGTCAACGGTGTCAACAATGAAAATAGTATCGGAGGG GTTATTACGAGAGCGGACGATGCACCCCTTCAACACTCTGTGGTCAAATCCTGTACGCCT GATGGCAAGGAAGAAATGAATAGGCTTAAAAGTAATGACAGTAATGAATATTCCAAGTCT GAAGGGCAGATCAGAACCAATTCGCAACTAAGTAAGGACATTCTCATGGGTGAACCAGGT GATATGGTTGATCTGTCCTCTTTTGTCAACACGCAGAGAAAAGCCTCAAATGAAACTGGT GACTTAGTCTTTAGTTTATCCCAGGATGATGACGCACTGAAAACGTTCCATGCGAGCAAT AGCGCAGCAACAAGCAATGAAAGCTGGTGTATTAGCGATGGTGCGTTAGGAAAGCAGGCG CAGGACAGTGAAGTTAGGAGGAAAGAAATCAAATTAGGACTCTTTAGACATATTTTCAAG GAAGTAATACAACAATATTAA >APA1 966 residues Pha 0 Code 0 ATGAGTATCCCCGCTGACATTGCATCTTTAATTAGTGACAAGTACAAAAGTGCCTTCGAT AATGGTAACTTAAAATTTATCCAGACTGAAACAACGAAAACAAAGGACCCAAAAACCAGC ATGCCATACTTGATTAGCCACATGCCAAGTCTGATCGAAAAGCCAGAGCGTGGCCAAACT CCAGAAGGAGAGGATCCACTAGGCAAACCTGAGGAAGAATTAACGGTTATCCCAGAATTT GGTGGTGCCGATAACAAAGCGTATAAATTGCTATTAAACAAATTCCCTGTAATCCCTGGA CACACTTTATTGGTAACTAACGAATACCAACATCAAACTGATGCCTTGACCCCAACCGAT TTATTGACTGCTTATAAGTTGCTGTGTGCCTTGGACAATGAAGAATCCGACAAGAGACAC ATGGTCTTTTACAATTCTGGTCCAGCCAGTGGTTCTTCATTGGACCACAAACATTTGCAA ATTTTGCAAATGCCTGAAAAGTTCGTCACTTTCCAAGATAGACTATGTAATGGTAAAGAA CATTTCCTACCAACTTTCAATACTGAACCTTTGCAAGATGCTAAAGTCTCGTTCGCTCAT TTTGTCTTGCCAATGCCGGAGTCCGAAGAAACTGTTGATGAAGACCTATTAGCTATGTGT TACATCTCCATATTGCAAAGAGCTTTGACCTTTTTCCAGGACTGGTTGAACGAAAATCCA GAACTAAAGAAATCCTACAATCTTATGTTAACCAAGGAATGGATCTGTGTCGTTCCACGT TCGAAGGCCTTTTCTGATGAAATGAAGATAGGTTTCAACTCCACAGGTTATTGTGGTATG ATCTTAACCAAAAATGATGAAGTTTTCTCCAAGATTACTGAAAAACCTGAATTGATTAAC GATATCTTATTGGAATGTGGTTTCCCAAACACTTCTGGTCAAAAACCAAACGAATACAAC TATTGA >YCE9 939 residues Pha 0 Code 0 ATGTTTAGTAAATACCTCGTAACTGCATCTTCCCTCTTTGTGGCTTTGACCTCTGCAGCA TCTACCGTTGATCTAGATGCTCTGCTTCTTCTACCAGGGGTCGAGTCCCACGACGGCGTT GATACTGTATTTTCGACCAAAGACTTTTATCAAGTGTCATTCGTCAAATCCATTGCTCCT GCTATCGTAAACAGCTCCGTAATCTTCCACGATGTTTCTCGTGGTGTGGCTATGGGCAAT GTCAAGAGCAGAGCAAGTATCTTCAACCCAGAGGAAACGTATTACGATTGGGAACAGTAC CAAGTAGTAAATAACGGAGACTGGCGAACCGAATGGGCACCTGCCTCTGACTGCATTTGG AGGGAGGAGAAGGATAACAGCGACGAAACACCGGACAGATTCCCCATCTCGGTGCCATAT AATTGGACGTCACAGTACTCAATTGTAGATTATGACACAGACGCTAACGAAGACAATTTA GATTTCAGGTTTATTAAATCATTGCTAGATAAGAAAAATTGGTTGAATAAAATTAACCAG ACTGTTTCCCAATCCAGTATTATGGTAGCACCAATGATTAAGCCATACAATGTGGTCCAG CTTTGGTATTCAAAATATATGGTTTGGGCAAACGTTCAAAGACAATATTGTAGCGGTGTT TATCCAGGAGGGACTCAATGTAGCGCTTGGTCCAGGTACTACCATGTTGATGCACCTACC TGCGATGAGCCTGTCGCCTCTTACATGACCAAAATGTCGGAAAATGAGGTTCAGTGTCCC AATGAGAGAAACGCAACTACCCTAGAGCCTCTCCGCCTGAATAAGCAGGGAGACTCTGAT TTTTCTTTGACTTTCGAGGAAGAGGAAGAGGAAGAGACAGGATCTAAATCTCTTTGGAGT ACATTGAAAAAAATTTTCTCTAAAAGAAGTATAAGTTGA >YCE8 1392 residues Pha 0 Code 0 ATGAACCGTATTACTAGGAAAAGTTGTTTATTCGCGATTATATTTGCATCATTATTTGTG ACACATGCATTGGGTGCCGCTATTGATCCGCCAAGGCGACCACATAATGTGAAGCCTTTT CATAACGGTAATCTCGAACTTCAAAGAAGAGCAAATGAACCGTTTTTTGAAATAGATGTC AAGAGTCTGAACACAAACTCACCGATATCAGAGTTGTGTAAAAAAGATTTGCACGTCATT GAATCGTCTCATGATCTTTTTCATTTACAAAACCAATGTGAATTCATCTTGGGGTCATTA AAAGTCACAAACTATGATTCTAACATTTTGGATTTGAACAGCTTGAGGGCCATTGGTGGT GACCTGATTATTCAGGATTCACCTGAACTGATCAGAATCCAAGCCGGGAACTTGAATAAA ATCGAAGGGCTCTTCCAATTACAGGGACTAACCTCTTTGGTTTCTGTTGAAATTCCAACT TTGAAATTTTGTCAGTCACTGGAGTGGAAAGTTGTTCCCATCTTGAACTACGTCTCCATG GATTCTCAGAATATTGAGATTATAAAGGATATTGTCATATCGGATACTTCATTAGCAAAC ATCGAGAATTTCAACAAGGTTCAGGAAATTGATACTTTCAATATCAATAATAACAGATTT TTAGAAACTATTCATTCGAACGTTAAAACCATTAGGGGACAATTCAGTGTACATGCGAAC GCTAAGGAGCTAGAACTTGAAATGCCACACTTGAGAGAAGTGGAAAACATAACGATTAGG GACACATCATTGGTCTACCTTCCACAATTAACAAAAGTGAAAAGCTCTTTAGAGTTCATC GAAAATTACTTTTACGAATTGAACCTGAACAATTTGCAGAAGATTGGTGGAACATTAGGA ATTATCAACAATGTAAATTTAATAAAAGTTAATTTGGAGAACTTAACAGACATTCAAGGT GGCTTGATGATCGCCGATAACGAATCCCTCGAGGATATTACTTTCCTGCCAAACTTGAAG CAGATTGGAGGTGCTATTTTCTTTGAAGGTTCGTTCAAAGATATCATGTTCGATAGCTTG AAACTGGTGAAAGGTAGCGCTTTTATTAAGAGTTCATCAAACGTGTTGGATTGCAATAAA TGGACAAACCCATCAAATGGAAGATCAATCATCAGGGGTGGGAAATTCACTTGTATTTCT GGTAAGAAGGAAAATACGCTGAATGTTAAACAGGATGGTACAATCATAGAAAAAGGGTAC AAAGATTTAACGCAAGAAGGTGAAGACTCCAAGAAAAGAGTGATTTCAAAATACGCGAAC TCAGCAAATCCAAGCATGCAATTGGACCCCCTTCTTTTTGGTACATGCCTTGTTGCTATG TTATTGTTTTAA >YCE7 777 residues Pha 0 Code 0 ATGAAGAAGACGTTCGAGCAGTTTCGAAAAAGCAATTTACTATTTCAGGTTCTCAAAGGA CCCCAGCATCTAGAATGTCAGAAGTTATTTGTCCTTGATTCTTCATTCAATCCACCACAT CTGGCCCATTTTCAACTACTATCGCAGACTATTAAAAACTTCAAATTGAAGGACACCCGT TCGCATGTTTTATTACTGTTAGCGGTGAATAATGCAGATAAGTTGCCTAAGCCGGCATCT TTTCCAACTCGTCTGGAAATGATGTGCTTATTCGCTGACTACCTTCAGGAGAAGCTCCCC CAATCTGTAGTATCTGTCGGGTTGACTGTTTTCTCGAAATTCATCGACAAGGACAAAATA TTACATGAGCAATTTGTTAAAGGATGCAGTGCAGATATAGGCTACTTAGTTGGTTTTGAT ACAATTGCTAGGATCTTTGATGAAAAATATTATCATCCTTTAAAAATCAGTGATGTAATG GAGAGCTTCATGTCGGGATCTCAATTATATTGCTTGGCGAGAGGCGATTGCCATCTCAGT GCTGAATCGCAACTAAGATACGCCAGTGACATCCTTGAGGGAAAATTCGAACCGGTAATA CCAAGAGAATGGGGCGCTAGGATTCATGTTATGCAAAATGATTATCCAGCATTAAGAAAT GTTTCATCATCCGAGATTAGGAACAAACTGAAGAATGGGCAAGTGGAGAGTTTGAAAGAC GAGTTGCCATTGTGCATATACGATTATTTGATCAATAATAAGACAATATTTGATTGA >YCE5 2283 residues Pha 0 Code 0 ATGAAGATAACGTGTACAGACTTGGTGTACGTCTTCATTTTACTCTTCCTAAACACGAGT TGTGTCCAAGCCGTTTTTTCAGATGATGCATTTATCACTGATTGGCAACTGGCTAACTTA GGTCCTTGGGAGAAAGTCATCCCTGATTCTCGAGACCGCAACAGGGTTCTCATCTTATCG AACCCTACCGAAACTTCCTGCTTAGTTTCTTCGTTTAACGTTTCTTCCGGACAGATTCTT TTCAGAAACGTTTTACCCTTTACCATTGATGAGATTCAACTGGATAGTAATGACCATAAC GCAATGGTTTGTGTGAACTCTTCAAGCAACCATTGGCAGAAATATGATTTACACGATTGG TTTTTACTAGAGGAAGGCGTAGATAATGCCCCTTCTACGACCATTTTACCTCAATCCTCA TATTTAAACGATCAAGTATCTATTAAGAACAATGAACTACATATTCTCGATGAGCAGTCA AAACTGGCAGAATGGAAATTGGAGTTACCTCAAGGGTTCAATAAAGTGGAATATTTTCAT CGTGAAGATCCCCTGGCGTTAGTGTTGAACGTTAATGATACCCAATATATGGGATTCTCT GCCAATGGCACAGAATTGATCCCCGTTTGGCAAAGAGATGAATGGTTGACTAACGTGGTA GACTATGCTGTATTGGACGTCTTCGATTCTAGGGATGTGGAGTTGAACAAAGATATGAAA GCGGAACTTGATTCAAATTCGCTTTGGAATGCTTACTGGCTTAGATTGACAACTAATTGG AATCGCCTTATCAACTTATTGAAAGAAAACCAATTCTCACCAGGACGTGTCTTCACTAAA CTCCTAGCTCTAGACGCTAAGGATACCACGGTATCAGATTTGAAGTTCGGATTCGCCAAA ATCTTAATTGTTTTGACGCATGATGGCTTTATCGGCGGCCTTGATATGGTCAATAAGGGC CAACTTATCTGGAAACTCGATTTAGAAATTGATCAGGGCGTCAAAATGTTCTGGACGGAT AAAAACCATGACGAACTTGTTGTTTTTTCGCATGATGGGCATTATTTGACAATTGAAGTT ACTAAAGATCAACCGATTATCAAATCAAGATCCCCCCTATCTGAAAGGAAAACTGTTGAT TCCGTTATTAGGCTGAATGAACATGATCACCAGTATCTGATTAAGTTTGAGGATAAGGAT CATTTACTGTTCAAATTGAATCCCGGCAAGAATACGGATGTACCAATAGTTGCCAACAAC CATTCTAGTTCCCACATATTCGTCACAGAGCATGACACGAATGGCATTTATGGCTACATA ATCGAAAACGATACGGTAAAACAAACTTGGAAAAAAGCCGTAAATTCGAAAGAGAAAATG GTGGCATATAGCAAGAGGGAAACAACAAACCTAAACACTCTTGGTATTACACTAGGTGAC AAATCGGTTCTTTATAAATATTTGTACCCCAACCTAGCGGCTTATCTGATCGCTAATGAA GAACATCATACAATCACTTTTAACTTAATTGATACCATTACAGGAGAAATCCTCATTACC CAAGAGCACAAGGATTCTCCGGATTTTAGGTTTCCAATGGATATTGTTTTCGGTGAATAT TGGGTCGTTTATTCCTATTTCAGTTCTGAACCTGTTCCAGAACAAAAGTTAGTAGTGGTG GAATTATATGAGTCACTAACCCCAGATGAGCGTTTGTCTAACTCAAGCGACAATTTTTCT TATGATCCATTGACTGGACACATTAACAAACCTCAATTTCAAACTAAACAATTCATTTTT CCCGAGATTATCAAAACAATGTCCATTTCCAAGACAACGGATGATATTACCACAAAGGCA ATCGTTATGGAATTAGAAAATGGACAAATCACCTACATACCAAAGCTTTTATTGAATGCA AGAGGTAAACCAGCAGAAGAAATGGCCAAGGATAAGAAAAAAGAGTTTATGGCTACCCCA TACACGCCAGTTATCCCAATTAATGATAATTTCATTATCACTCATTTCAGAAATCTATTG CCAGGATCCGATTCGCAGTTGATCTCCATCCCAACCAATCTGGAATCCACAAGCATTATA TGTGATCTAGGCCTTGATGTATTTTGTACAAGGATCACACCTTCGGGCCAATTTGATTTA ATGAGTCCTACTTTCGAAAAGGGTAAATTGCTTATTACTATATTCGTCTTGTTGGTGATC ACGTATTTTATCCGTCCTTCTGTTTCAAACAAGAAGTTGAAATCCCAATGGCTAATTAAA TAG >YCE6 324 residues Pha 0 Code 0 ATGGTAAAGGGTAAAACGTTTCTGAAAAGAATCTGTCCGGAAGAAACGTTAAACGAAGAA ACTAAGCAGGAAGTTTCGGTAGGGTTCGATAAGATGAGAACCCTGTTGCGGTCTCGAGAA TCAGGGATGACTTTCTCCCAAGGACCTAAGTTAGCCAGTTGCCAATCAGTGATAAATGCA TCATCTGAAAAAACGGCTTGGACACAACTCGTGTTTAGGAAGAGTAAAATGAAGACGTAC ACCAAGTCTGTACACGTTATCTTCATTGCTATGGGGGAAGGGGAGGATGAAAGTGTTGAT ATGAATGTAGGTATTAGTTATTAA >YCE4 1254 residues Pha 0 Code 0 ATGGCTGTATTTACTCCTCCATCAGGTAATAGCAATTCCACCGACCATACTCACACACAA GATGACCACGACAAAGATGATAATGATATCAAGAAATTCTACATAAGGCCAAGTTTAGGC TTAAAACTGTGGGGTCCGCTCGTACCCGCTCCTGATAACCTACCGGGACTATACACTCTA ATCACTATCCAATCTGCAGTGGGTTTCTTTGCCCTTTGGAGACTGAGAAGGCTCTACAAA CTACCGCCACCGCGCCGCATTGCCACTGGCACTCACTCGGATTTATCCTTTGGCGAACTA CCCAGTGAAATGATTGTCAATGGCAAGACTAAAATCAAAAAGGATATTGCTGACTTTCCA ACTTTGAACCGCTTCTCCACCACCCATGGTGACATTGTGCTCGCCCCTCCTCCCATCATA CCTCGCCAATCTCGATTCGTCAGCGTCAGAAAGCTCTTATGGGGGTTGTTTGGCTCTTTG CTACTTTCTCAGTCACTGTTGGAGCTTACTCGCCTGAACTTTCTTAAATACGACCCCTGG TGCGACGAAATGAAATCCGTACGTGACAAGAAGTTTTTCAACAATATTGTCAAATATTAT CACGAGGGCATAGACCCCACCAAAATAAAAGTCAAGGATGCTATGAACGGTACTCCTCTC TCGACAAATATCCCTGAGGTCAAACAAAGCGTCGCTCTCGCTAGAGCGCAAGTTGAGGCG CAGAATCCCATTATTAAATGGTTCGGACCCTTGGAATACAAGCCCATGTCTTTCAACGAG TACCTCAATCGCATGGAATTTCACTTGGACATGTTCGAGTTTTTTCAAAATAAAAGAAAC ATTAGAGAAAATTCCATTGAACTCATCAATTCCATATCCCACAATCCGCAGTCTTCTTCT ACTGGCCTTGAAGGTCTTTCCGAGTCCAAAAAACTCCATCTACAAAATGTGGAAAAAAGA CTGCATTTCTTAGCATCTTCGGGAGATTCCATTTCCGCACCAGTAAAGAAGAGATCCAGC ACCACACTCTCCCGAGGTGTCATTTTGCCCCATGACACGAAAGGCCCGCAAGATATTGAT CTCGATACAATAAGATCGCTTTATGATCCATGGATGACTTTGGCCTTAGAAACTTCGCTA AGCATCAAATTCATACCAACTACCATGCCCTCCCATACCAAGACACCCACTAGCACGGAC CAGCCGTTACCAGGGCCTACCCCCAAGGCTCTCACTAATGAAAAGACACATTAG >PDI1 1569 residues Pha 0 Code 0 ATGAAGTTTTCTGCTGGTGCCGTCCTGTCATGGTCCTCCCTGCTGCTCGCCTCCTCTGTT TTCGCCCAACAAGAGGCTGTGGCCCCTGAAGACTCCGCTGTCGTTAAGTTGGCCACCGAC TCCTTCAATGAGTACATTCAGTCGCACGACTTGGTGCTTGCGGAGTTTTTTGCTCCATGG TGTGGCCACTGTAAGAACATGGCTCCTGAATACGTTAAAGCCGCCGAGACTTTAGTTGAG AAAAACATTACCTTGGCCCAGATCGACTGTACTGAAAACCAGGATCTGTGTATGGAACAC AACATTCCAGGGTTCCCAAGCTTGAAGATTTTCAAAAACAGCGATGTTAACAACTCGATC GATTACGAGGGACCTAGAACTGCCGAGGCCATTGTCCAATTCATGATCAAGCAAAGCCAA CCGGCTGTCGCCGTTGTTGCTGATCTACCAGCTTACCTTGCTAACGAGACTTTTGTCACT CCAGTTATCGTCCAATCCGGTAAGATTGACGCCGACTTCAACGCCACCTTTTACTCCATG GCCAACAAACACTTCAACGACTACGACTTTGTCTCCGCTGAAAACGCAGACGATGATTTC AAGCTTTCTATTTACTTGCCCTCCGCCATGGACGAGCCTGTAGTATACAACGGTAAGAAA GCCGATATCGCTGACGCTGATGTTTTTGAAAAATGGTTGCAAGTGGAAGCCTTGCCCTAC TTTGGTGAAATCGACGGTTCCGTTTTCGCCCAATACGTCGAAAGCGGTTTGCCTTTGGGT TACTTATTCTACAATGACGAGGAAGAATTGGAAGAATACAAGCCTCTCTTTACCGAGTTG GCCAAAAAGAACAGAGGTCTAATGAACTTTGTTAGCATCGATGCCAGAAAATTCGGCAGA CACGCCGGCAACTTGAACATGAAGGAACAATTCCCTCTATTTGCCATCCACGACATGACT GAAGACTTGAAGTACGGTTTGCCTCAACTCTCTGAAGAGGCGTTTGACGAATTGAGCGAC AAGATCGTGTTGGAGTCTAAGGCTATTGAATCTTTGGTTAAGGACTTCTTGAAAGGTGAT GCCTCCCCAATCGTGAAGTCCCAAGAGATCTTCGAGAACCAAGATTCCTCTGTCTTCCAA TTGGTCGGTAAGAACCATGACGAAATCGTCAACGACCCAAAGAAGGACGTTCTTGTTTTG TACTATGCCCCATGGTGTGGTCACTGTAAGAGATTGGCCCCAACTTACCAAGAACTAGCT GATACCTACGCCAACGCCACATCCGACGTTTTGATTGCTAAACTAGACCACACTGAAAAC GATGTCAGAGGCGTCGTAATTGAAGGTTACCCAACAATCGTCTTATACCCAGGTGGTAAG AAGTCCGAATCTGTTGTGTACCAAGGTTCAAGATCCTTGGACTCTTTATTCGACTTCATC AAGGAAAACGGTCACTTCGACGTCGACGGTAAGGCCTTGTACGAAGAAGCCCAGGAAAAA GCTGCTGAGGAAGCCGATGCTGACGCTGAATTGGCTGACGAAGAAGATGCCATTCACGAT GAATTGTAA >GLK1 1503 residues Pha 0 Code 0 ATGTCATTCGACGACTTACACAAAGCCACTGAGAGAGCGGTCATCCAGGCCGTGGACCAG ATCTGCGACGATTTCGAGGTTACCCCCGAGAAGCTGGACGAATTAACTGCTTACTTCATC GAACAAATGGAAAAAGGTCTAGCTCCACCAAAGGAAGGCCACACATTGGCCTCGGACAAA GGTCTTCCTATGATTCCGGCGTTCGTCACCGGGTCACCCAACGGGACGGAGCGCGGTGTT TTACTAGCCGCCGACCTGGGTGGTACCAATTTCCGTATATGTTCTGTTAACTTGCATGGA GATCATACTTTCTCCATGGAGCAAATGAAGTCCAAGATTCCCGATGATTTGCTAGACGAT GAGAACGTCACATCTGACGACCTGTTTGGGTTTCTAGCACGTCGTACACTGGCCTTTATG AAGAAGTATCACCCGGACGAGTTGGCCAAGGGTAAAGACGCCAAGCCCATGAAACTGGGG TTCACTTTCTCATACCCTGTAGACCAGACCTCTCTAAACTCCGGGACATTGATCCGTTGG ACCAAGGGTTTCCGCATCGCGGACACCGTCGGAAAGGATGTCGTGCAATTGTACCAGGAG CAATTAAGCGCTCAGGGTATGCCTATGATCAAGGTTGTTGCATTAACCAACGACACCGTC GGAACGTACCTATCGCATTGCTACACGTCCGATAACACGGACTCAATGACGTCCGGAGAA ATCTCGGAGCCGGTCATCGGATGTATTTTCGGTACCGGTACCAATGGGTGCTATATGGAG GAGATCAACAAGATCACGAAGTTGCCACAGGAGTTGCGTGACAAGTTGATAAAGGAGGGT AAGACACACATGATCATCAATGTCGAATGGGGGTCCTTCGATAATGAGCTCAAGCACTTG CCTACTACTAAGTATGACGTCGTAATTGACCAGAAACTGTCAACGAACCCGGGATTTCAC TTGTTTGAAAAACGTGTCTCAGGGATGTTCTTGGGTGAGGTGTTGCGTAACATTTTAGTG GACTTGCACTCGCAAGGCTTGCTTTTGCAACAGTACAGGTCCAAGGAACAACTTCCTCGC CACTTGACTACACCTTTCCAGTTGTCATCCGAAGTGCTGTCGCATATTGAAATTGACGAC TCGACAGGTCTACGTGAAACAGAGTTGTCATTATTACAGAGTCTCAGACTGCCCACCACT CCAACAGAGCGTGTTCAAATTCAAAAATTGGTGCGCGCGATTTCTAGGAGATCTGCGTAT TTAGCCGCCGTGCCGCTTGCCGCGATATTGATCAAGACAAATGCTTTGAACAAGAGATAT CATGGTGAAGTCGAGATCGGTTGTGATGGTTCCGTTGTGGAATACTACCCCGGTTTCAGA TCTATGCTGAGACACGCCTTAGCCTTGTCACCCTTGGGTGCCGAGGGTGAGAGGAAGGTG CACTTGAAGATTGCCAAGGATGGTTCCGGAGTGGGTGCCGCCTTGTGTGCGCTTGTAGCA TGA >YCD8 1587 residues Pha 0 Code 0 ATGAGCTATGGAACTATAAATGATATGAATGAATCGGTAACGAACTATCGAATAAAAAAA GCCCAAAACAATATCAAGGGATGGTACGCTTACTCATTTTCTAGCGAACCATTTGTCGTT TCTGCGGTTTCAACGTATATTCCCTTACTACTGCAGCAATTTGCGAGTATAAATGGTGTA AAAGTTCACGATCACTCCATACCCTGCCTGTCAGAAACGGGTAGTGATTCAGATAAGTGT GTTCTTGGTTTGTTCAACAATCGGATCTTCGTAGATACTTCAAGTTTTGCATTATATGTC TTTTCCCTTAGCGTTTTATTCCAAACTATAATAGTCATTTCCGTTTCAGGGATAGTAGAT CTCTGGGGGAGCGTTAAATTCAAAGGCAGAATTCTGGTTTGGTTTGGTATTGTGGGCGCA TTGTCGACTGTTGCGATTTCAAAATTGAATGATACCCAGATTTATTCTCTGGCTGGGCTT TATATAGTGGCCAATGGTTGTTTTGGCGTTATCAATGTTGTTGGGAATTCTCTTCTGCCC ATTTTTGTCAAGGATTCTTTGAAATGTCAAAGTCAAGGAGCTTATGAACCTGATAAGGTA GACTCGTTAACTACTGTTATTAGCGGTAGAGGTGCATCTTTAGGTTATTCAAGTGCCCTC ATTGTTCAGATTGTATCTATGTTCTTAGTCGCATCTAAAAAGGGCAGTAAGCAGGATGTT CAAGTGGCTGTTCTTTTCGTTGGGATTTGGTGGTTTGTGTGGCAACTGCCCATGATCTGG TTGATTGACGATGTGACAATACCGATAAGAGTTGACGATTCTACATTAGCATCCGCCCGC AGTCCGTATCCCGGTGAGCAAGACGCCTTGGGTCAACTAAACTGGAAGAATTACCTTTCA TATGGTTGGGTTTCGCTTTTCGAATCGTTTAAACATGCCAGACTATTGAAAGATGTGATG ATTTTTCTTATTGCGTGGTTTATTATTAGTGATTCCATTACAACTATAAATTCTACAGCG GTTTTGTTCTCCAAGGCAGAACTGCACATGAGTACCCTCAATTTAATCATGATAAGTGTT TTGACCGTTGTAAATGCAATGCTGGGTGCCTTTATGATTCCACAATTTCTTGCCACAAAG TTTCGGTGGACTTCTAGTCAAACTTTGATGTACATTATCATTTGGGCAAGTTTCATACCA TTTTATGGTATTCTTGGATTTTTCTTCAATGCGTTCGGTTTAAAGCATAAGTTTGAAATG TTCTTATTGGCCATTTGGTATGGATTATCACTAGGTGGCCTGTCCGCGGTTTCAAGATCA GTTTTCAGTTTGATTGTACCTCCAGGAAAAGAATCCACGTTTTTTAGTATGTTCAGTATC ACAGATAAGGGGTCGTCCATCCTGGGACCCTTCCTTGTTGGACTGCTTACCGATAAAACG CATAATATTCGCTATTCGTTTTATTTCTTCTTTTTGCTTTTGATGCTATCATTGCCTGTG CTAAACTGTTTGGATGTCAAGAGAGGTAGAAGAGAGGCTGAAGAACTCAGTCAAGTTTTA CCTGAAAGTGAAAGAAGGTTGGATTAG >SRO9 1401 residues Pha 0 Code 0 ATGAAGATCTTTTGGGATCCTAGATCGGTAATAGAACATCAGGATTACTCTGGACCTGCT AACGTGTTTCATCTTCTTTTCACTTCTCTGCCCACGATGTCTGCTGAAACCGCCGCCGCA AACACTGCTACTGCCCCAGTCCCAGAAGTGCAAGAACAAGAGAGCTCCAAGAGCAAGCAA GTCAACTTGACGCCGGCACCATTGCCCACATCTTCCCCATGGAAACTTGCTCCTACTGAG ATCCCTGTTTCTACTATCTCAATAGAAGACTTGGATGCCACAAGAAAGAAGAAGAACAGA ACACCCACTCCGAAATCATCGACTGCTACCAAGTGGGTTCCCATCAAGGCCTCCATTACC GTCTCTGGCACCAAAAGATCCGGTTCCAAGAATGGTGCAAGTAATGGCAACAGCAACAAG AGCAAAAACAACAAAACTGCAGCATCGTCGACATCGTCGAGTAATGCTAACAGGAAAAAG AAGCATCACCAACATAATGCTAAGAAGCAACAACAAATGAAGAAAGATGGCTTTGAATCG GCAGTAGGTGAGGAAGATTCAAAAGACGCTACCTCTCAAGAAAATGGTCAATCTACACAA CAGCAACAACCACCTCACCACCGTAATCATCACCACAGTCATCACCATAACAGCAATGGT CCTCAAAGGAGAAAGTTCCACAACAGTAATAACGCCGGTATGCCTCAGAACCAAGGCTTC CCACCACAGTTTAAACCTTACCAAGGACGCAACGCTCGTAATAACAACAACAACCGCTCT AAATACCACAACCACTTCCATCACAACCAACAACATCCTCAACAACCTATGGTCAAATTA CAGCAACAGTTTTATCCAGTCCAACCAGTGTTAATGGCCATCAACAACATTGCTAGACAA ATTGAATACTATTTCAGCGAAGAAAACTTGACCGTCGACAATTACTTAAGGTCCAAACTC TCCAAGGATGGTTTTGCTCCATTGTCTTTAATCTCTAAGTTTTACAGAGTTGTTAACATG TCCTTCGGAGGTGACACTAACCTGATTTTAGCCGCATTGAGAGAAATTGTCGCTAACGAA GCCGCTACCGTCAATGTTGCAGAAGGTACTTTGGCCGCCAAGGAAGGTGATAACGTTACC GGTGAAGCCAAAGAACCATCTCCATTGGATAAGTACTTCGTTCGTTCCAAGAGCTGGTCA AACTGGTTACCAGAAACTTTTGAAACTGAAATTAATATTGAAAAAGAACTGGTCGGCGAT GCATTGGACCAATTCATGATATCCCTACCACCTGTTCCTCAACAAGAAGAGGAATCATCC ACTGAACTCGCTTCTCAAGAACAAGAAACCAAAGAAGACTCTGCGCCGGTTGCTGCCGGT GAATCCGAGTCTTCCTTATAA >YCD6 1701 residues Pha 0 Code 0 ATGCAGGTTCAAAAAATGGTGAGAGATAACAGTAATAACGGTAGCGATAAAAGCGTCCAT TGGGAGAGGAGGAATAATAACGGCGCAGGCCCCCGTTATCGTTCCAGAAGCGGTAATACC GGTGCTTTGGCAACAAAACTAAGTAATGGGACGCTCTCTGTCAGAGGATTAGTGAAGGAC CGAACAGGAAGCGGCAAGATCGCGGGCTGTGTGGAGGCGTTTCTGGATGCCAGGACCCAA TTGAATACGCCCTGGGACCGTGCTAAGTGCAATTGGCTGGACCAGATAGATTACTATGTA CAGTTGAGAAAGACCGCGTTTTCTAAGGAATTGGACCAACTAAGGAAGCCCATGATCGAT GCATATGTGGCGGAGATGAGGCAGAAGTTTGATGCCTCCTATGGACAATCCAGGGCGCAA TTGGAAGCCAAACTGGCGCAGGTGGACAGTGAATGGCATATGGTACATGGTGATGTGCAT GCAAAACTGGAAAAACTCGTGGAAGAACGCCGGTTTTTGAAAAGATTAAGCGACACGATC GTACCACCCAGGTCCAAAAGATCACAGCGGCTGTCTCCATTGACCAAAGAGGACCGAGCC AACTGTATCTGTCCGCAGCCCAAAGGAATGAGCGACACCGCTTGGTTCGAAGCCATTCAG AAGAAAATGTTAGGAATGAATGGTACCATCAAGCTCCTAGAGACAGAACAGAAACTACTG GCTGACGAGAAAAACAGCGTGAGGAAGACGTTCTGGCCCATGGTGGAAGCACATTCACGC TCGAATGAATTTGCTTATCTGGAGAAATGCATCAGGCTGATGGCCTCTCAGAGAGCAATA TGCTTTTGTCTTGATATAGAGGCTTTCGAAACAAACCAGAACGTAATCACCGAAATTGGG ATTTCAATTTATGACCCCAGGGAAAATATGGTGCCGTCAATGGTTCCAATTACAAAGAAT TACCACCTAATTATCGAGGAGTCCCTGGAACTTAGAAACCAAAAATGGGTCTGTGACTAC AAGGATTGCTACTTATTGGGAGAAAGCTATGTTTTGAGCTTGAAAGAGTGCGTGCATTTC ATTCAATCACTAATAAACTATTACTTGGTCCCGGTGACCGAAGAAGACAAGACATGGTCA AGGGCATTTGTTGGTCATCACGTGAGCGGGGATCTTAAGTGGCTGGAGACTATTGGTGTC AAATTCCCTGGCAGAGGGTATGAAGGCCATCTGGACCATACGCTGCTTTTGGCTGAAACT CCCGGTGATCTAGACGTGTTCATCTTGGACACTGAGCAGTTTTACAGGAAATCGTATGGC GAAAAGGGCAGCAGTCTGGGCAAGATTCTGCGGTTGTTCGAGATACCGCATGCGTTTCTA CACAATGCCGGTAACGATGCCTACTATACCCTGCATTTGTTCATGAAGTTTTGCGATGTT AATTTCAGGAAAATAAGCGGCATGGACGATGTTCTTAAAGTAATGGGCCAAGTAAAAGTT TGGGGAGAACGAGACGTACGAGAGCCTAAAGTGGTGCCCATGTCGTATGCCATCTCCATC GAGGAGGCAGTCAAAAATCGGACGTACCGCAAGGGCGTCAAGAGCAGTAGGAAGGAAAGA GTCTGCCAAACGGAATTCGGTGGGTTAACGTATTTCGGAACTGCTAAAGACGCCTTCACA AGCACTCTTCCGACACACTAA >YCD5 333 residues Pha 0 Code 0 ATGGTATCTCAAGAAACTATCAAGCACGTCAAGGACCTTATTGCAGAAAACGAGATCTTC GTCGCATCCAAAACGTACTGTCCATACTGCCATGCAGCCCTAAACACGCTTTTTGAAAAG TTAAAGGTTCCCAGGTCCAAAGTTCTGGTTTTGCAATTGAATGACATGAAGGAAGGCGCA GACATTCAGGCTGCGTTATATGAGATTAATGGCCAAAGAACCGTGCCAAACATCTATATT AATGGTAAACATATTGGAGGCAACGACGACTTGCAGGAATTGAGGGAGACTGGTGAATTG GAGGAATTGTTAGAACCTATTCTTGCAAATTAA >YCD3 507 residues Pha 0 Code 0 ATGAATAAGTGGAGCAGGCTGTACGTTATAACTGTACGCAGGACTTTTCCAGGGAGAAGA AACATTGTACTGACGCAGTACTGGAATAAGAGCAAGAAAATGAGTGACGAATCGAATGAC GTGAAGTGGAACGATGCCCTGACACCATTGCAGCTGATGGTGCTGAGAGATAAGGCCACT GAAAGGCCCAACACCGGTGCGTATTTACACACCAACGAGTCCGGTGTCTACCATTGTGCC AACTGCGACAGACCGTTGTATTCGAGCAAGGCCAAGTTCGACGCTCGTTGTGGATGGCCC GCATTCTACGAAGAGGTATCCCCTGGAGCCATCACATATCATCGTGACAATTCTTTAATG CCTGCGAGGGTGGAGATATGTTGTGCAAGGTGTGGTGGACACTTGGGACATGTGTTTGAA GGTGAAGGCTGGAAACAGTTGCTAAACTTGCCCAAGGACACCAGACACTGTGTGAACAGT GCGTCTTTAAACCTCAAGAAGGATTAA >STE50 1041 residues Pha 0 Code 0 ATGGAGGACGGTAAACAGGCCATCAATGAGGGATCAAACGATGCTTCGCCGGATCTGGAC GTGAATGGCACAATATTGATGAATAATGAAGACTTTTCCCAGTGGTCGGTTGATGATGTG ATAACTTGGTGTATATCCACGCTGGAGGTGGAAGAAACCGATCCATTATGTCAGAGACTG CGAGAAAATGATATTGTAGGAGATCTTTTGCCGGAATTGTGCTTGCAAGATTGCCAGGAC TTGTGTGACGGTGATTTGAATAAGGCCATAAAATTCAAGATACTGATCAATAAGATGAGA GACAGCAAGTTGGAGTGGAAGGACGACAAGACTCAAGAGGACATGATAACGGTACTGAAA AACTTGTACACTACTACATCTGCGAAATTGCAAGAATTTCAATCGCAGTACACAAGGCTG AGGATGGATGTCTTGGACGTAATGAAGACCAGCTCAAGCTCTTCTCCGATTAACACACAT GGAGTGTCCACTACGGTACCTTCTTCAAACAACACAATTATACCCAGTAGTGACGGTGTG TCTCTTTCACAAACAGACTATTTCGACACAGTTCATAACCGACAATCACCGTCAAGGAGA GAATCCCCGGTAACGGTATTTAGGCAACCCAGTCTTTCCCACTCAAAATCTTTGCACAAG GATAGCAAAAACAAAGTACCCCAAATATCTACAAACCAATCTCACCCATCTGCCGTTTCA ACAGCGAACACACCGGGGCCATCACCTAACGAGGCGTTAAAACAGTTGCGTGCATCTAAA GAAGACTCCTGCGAACGGATCTTGAAAAACGCAATGAAAAGACATAACTTAGCAGATCAG GATTGGAGACAATATGTCTTGGTCATTTGCTATGGGGATCAAGAGAGGCTGTTAGAATTG AACGAAAAGCCTGTGATCATATTCAAGAACTTAAAGCAACAGGGTTTGCACCCCGCCATT ATGTTAAGAAGAAGAGGTGATTTCGAAGAAGTAGCAATGATGAACGGAAGTGACAATGTC ACCCCCGGTGGAAGACTCTAA >HIS4 2400 residues Pha 0 Code 0 ATGGTTTTGCCGATTCTACCGTTAATTGATGATCTGGCCTCATGGAATAGTAAGAAGGAA TACGTTTCACTTGTTGGTCAGGTACTTTTGGATGGCTCGAGCCTGAGTAATGAAGAGATT CTCCAGTTCTCCAAAGAGGAAGAAGTTCCATTGGTGGCTTTGTCCTTGCCAAGTGGTAAA TTCAGCGATGATGAAATCATTGCCTTCTTGAACAACGGAGTTTCTTCTCTGTTCATTGCT AGCCAAGATGCTAAAACAGCCGAACACTTGGTTGAACAATTGAATGTACCAAAGGAGCGT GTTGTTGTGGAAGAGAACGGTGTTTTCTCCAATCAATTCATGGTAAAACAAAAATTCTCG CAAGATAAAATTGTGTCCATAAAGAAATTAAGCAAGGATATGTTGACCAAAGAAGTGCTT GGTGAAGTACGTACAGACCGTCCTGACGGTTTATATACCACCCTAGTTGTCGACCAATAT GAGCGTTGTCTAGGGTTGGTGTATTCTTCGAAGAAATCTATAGCAAAGGCCATCGATTTG GGTCGTGGCGTTTATTATTCTCGTTCTAGGAATGAAATCTGGATCAAGGGTGAAACTTCT GGCAATGGCCAAAAGCTTTTACAAATCTCTACTGACTGTGATTCGGATGCCTTAAAGTTT ATCGTTGAACAAGAAAACGTTGGATTTTGCCACTTGGAGACCATGTCTTGCTTTGGTGAA TTCAAGCATGGTTTGGTGGGGCTAGAATCTTTACTAAAACAAAGGCTACAGGACGCTCCA GAGGAATCTTATACTAGAAGACTATTCAACGACTCTGCATTGTTAGATGCCAAGATCAAG GAAGAAGCTGAAGAACTGACTGAGGCAAAGGGTAAGAAGGAGCTTTCTTGGGAGGCTGCC GATTTGTTCTACTTTGCACTGGCCAAATTAGTGGCCAACGATGTTTCATTGAAGGACGTC GAGAATAATCTGAATATGAAGCATCTGAAGGTTACAAGACGGAAAGGTGATGCTAAGCCA AAGTTTGTTGGACAACCAAAGGCTGAAGAAGAAAAACTGACCGGTCCAATTCACTTGGAC GTGGTGAAGGCTTCCGACAAAGTTGGTGTGCAGAAGGCTTTGAGGAGACCAATCCAAAAG ACTTCTGAAATTATGCATTTAGTCAATCCGATCATCGAAAATGTTAGAGACAAAGGTAAC TCTGCCCTTTTGGAGTACACAGAAAAGTTTGATGGTGTAAAATTATCCAATCCTGTTCTT AATGCTCCATTCCCAGAAGAATACTTTGAAGGTTTAACCGAGGAAATGAAGGAAGCTTTG GACCTTTCAATTGAAAACGTCCGCAAATTCCATGCTGCTCAATTGCCAACAGAGACTCTT GAAGTTGAAACCCAACCTGGTGTCTTGTGTTCCAGATTCCCTCGTCCTATTGAAAAAGTT GGTTTGTATATCCCTGGTGGCACTGCCATTTTACCAAGTACTGCATTAATGCTTGGTGTT CCAGCACAAGTTGCCCAATGTAAGGAGATTGTGTTTGCATCTCCACCAAGAAAATCTGAT GGTAAAGTTTCACCCGAAGTTGTTTATGTCGCAGAAAAAGTTGGCGCTTCCAAGATTGTT CTAGCTGGTGGTGCCCAAGCCGTTGCTGCTATGGCTTACGGGACAGAAACTATTCCTAAA GTGGATAAGATCTTGGGTCCAGGTAATCAATTTGTGACTGCCGCCAAAATGTATGTTCAA AATGACACTCAAGCTCTATGTTCCATTGATATGCCAGCTGGCCCAAGTGAAGTTTTGGTT ATTGCCGATGAAGATGCCGATGTGGATTTTGTTGCAAGTGATTTGCTATCGCAAGCTGAA CACGGTATTGACTCCCAAGTTATCCTTGTTGGTGTTAACTTGAGCGAAAAGAAAATTCAA GAGATTCAAGATGCTGTCCACAATCAAGCTTTACAACTGCCACGTGTGGATATTGTTCGT AAATGTATTGCTCACAGTACGATCGTTCTTTGTGACGGTTACGAAGAAGCCCTTGAAATG TCCAACCAATATGCACCAGAACATTTGATTCTACAAATCGCCAATGCTAACGATTATGTT AAATTGGTTGACAATGCAGGGTCCGTATTTGTGGGTGCTTACACTCCAGAATCGTGCGGT GACTATTCAAGTGGTACTAACCATACATTACCAACCTATGGTTACGCTAGGCAGTACAGT GGTGCCAACACTGCAACCTTCCAAAAGTTTATCACTGCCCAAAACATTACCCCTGAAGGT TTAGAAAACATCGGTAGAGCTGTTATGTGCGTTGCCAAGAAGGAGGGTCTAGACGGTCAC AGAAACGCTGTGAAAATCAGAATGAGTAAGCTTGGGTTGATCCCAAAGGATTTCCAGTAG >BIK1 1323 residues Pha 0 Code 0 ATGGATAGATATCAAAGAAAGATAGGATGTTTCATACAAATCCCAAATTTGGGGCGCGGA CAACTGAAATACGTGGGTCCAGTGGACACGAAAGCTGGAATGTTTGCTGGTGTAGACTTA CTTGCCAACATTGGTAAGAACGATGGATCATTCATGGGGAAGAAGTATTTTCAAACAGAG TATCCTCAAAGTGGACTATTTATCCAGTTGCAAAAAGTCGCATCATTGATCGAGAAGGCA TCGATATCGCAAACCTCGAGAAGAACGACGATGGAACCGCTATCAATACCCAAAAACAGA TCTATTGTGAGGCTCACTAACCAGTTCTCTCCCATGGATGATCCTAAATCCCCCACACCC ATGAGAAGTTTCCGGATCACCAGTCGGCACAGCGGTAATCAACAGTCGATGGACCAGGAG GCATCGGATCACCATCAACAGCAAGAATTTGGTTACGATAACAGAGAAGACAGAATGGAG GTCGACTCTATCCTGTCATCAGACAGAAAGGCTAATCACAACACCACCAGCGATTGGAAA CCGGACAATGGCCACATGAATGACCTCAATAGCAGCGAAGTTACAATTGAATTACGAGAA GCCCAATTGACCATCGAAAAGCTACAAAGGAAACAACTACACTACAAAAGGCTACTCGAT GACCAAAGAATGGTCCTCGAAGAAGTGCAACCGACTTTTGATAGGTATGAAGCCACAATA CAAGAAAGAGAGAAAGAGATAGACCATCTCAAGCAACAATTGGAGCTCGAACGCAGACAG CAAGCCAAACAAAAGCAGTTTTTTGACGCTGAGAATGAACAGCTACTTGCTGTCGTAAGC CAACTACACGAAGAGATCAAAGAAAACGAAGAGAGAAATCTTTCTCATAATCAACCCACT GGTGCCAACGAAGATGTCGAACTCCTGAAAAAACAGCTGGAACAATTACGCAACATAGAA GACCAATTTGAGTTACACAAGACAAAGTGGGCTAAAGAACGCGAACAATTGAAAATGCAT AACGATTCGCTCAGTAAAGAATACCAAAATTTGAGCAAGGAACTATTTTTGACAAAACCA CAAGATTCCTCATCGGAAGAGGTGGCATCCTTAACGAAAAAACTTGAAGAGGCTAATGAA AAAATCAAACAGTTGGAACAGGCTCAAGCACAAACAGCCGTGGAATCGTTGCCAATTTTC GACCCCCCTGCACCAGTCGATACCACGGCAGGAAGACAACAGTGGTGTGAGCATTGCGAT ACGATGGGTCATAATACAGCAGAATGCCCCCATCACAATCCTGACAACCAGCAGTTCTTC TAG >FUS1 1539 residues Pha 0 Code 0 ATGGTAGCAACAATAATGCAGACGACAACAACTGTGCTGACGACAGTCGCCGCAATGTCT ACTACCTTAGCATCAAATTACATATCTTCGCAAGCTAGTTCCTCGACGAGTGTAACAACA GTAACGACAATAGCGACATCAATACGCTCTACACCGTCTAATCTACTCTTTTCTAATGTG GCGGCTCAGCCAAAATCATCTTCAGCAAGCACAATTGGGCTTTCAATCGGACTTCCCATC GGAATATTCTGTTTCGGATTACTTATCCTTTTGTGTTATTTCTACCTTAAAAGGAATTCG GTGTCCATTTCAAATCCACCCATGTCAGCTACGATTCCAAGGGAAGAGGAATATTGTCGC CGCACTAATTGGTTCTCACGGTTATTTCGGCAGAGTAAGTGTGAGGATCAGAATTCATAT TCTAATCGTGATATTGAGAAGTATAACGACACCCAGTGGACCTCGGGTGATAACATGTCT TCAAAAATACAGTACAAAATTTCCAAACCCATAATACCGCAGCATATACTGACACCTAAG AAAACGGTGAAGAACCCATATGCTTGGTCTGGTAAAAACATTTCGTTAGACCCCAAAGTG AACGAAATGGAGGAAGAGAAAGTTGTGGATGCATTCCTGTATACTAAACCACCGAATATT GTCCATATTGAATCCAGCATGCCCTCGTATAATGATTTACCTTCTCAAAAAACGGTGTCC TCAAAGAAAACTGCGTTAAAAACGAGTGAGAAATGGAGTTACGAATCTCCACTATCTCGA TGGTTCTTGAGGGGTTCTACATACTTTAAGGATTATGGCTTATCAAAGACCTCTTTAAAG ACCCCAACTGGGGCTCCACAACTGAAGCAAATGAAAATGCTCTCCCGGATAAGTAAGGGT TACTTCAATGAGTCAGATATAATGCCTGACGAACGATCGCCCATCTTGGAGTATAATAAC ACGCCTCTGGATGCAAATGACAGCGTGAATAACTTGGGTAATACCACGCCAGATTCACAA ATCACATCTTATCGCAACAATAACATCGATCTAATCACGGCAAGACCCCATTCAGTGATA TACGGTACTACTGCACAACAAACTTTGGAAACCAACTTCAATGATCATCATGACTGCAAT AAAAGCACTGAGAAACACGAGTTGATAATACCCACCCCATCAAAACCACTAAAGAAAAGG AAAAAAAGAAGACAAAGTAAAATGTATCAGCATTTACAACATTTGTCACGTTCTAAACCA TTGCCGCTTACTCCAAACTCCAAATATAATGGAGAGGCTAGCGTCCAATTAGGGAAGACA TATACAGTTATTCAGGATTACGAGCCTAGATTGACAGACGAAATAAGAATCTCGCTGGGT GAAAAAGTTAAAATTCTGGCCACTCATACCGATGGATGGTGTCTGGTAGAGAAGTGTAAT ACACGAAAGGGTACTATTCACGTCAGTGTTGACGATAAAAGATACCTCAATGAAGATAGA GGCATTGTGCCTGGTGACTGTCTCCAAGAATACGACTGA >YC08 579 residues Pha 0 Code 0 ATGTCCCCAACTGGAAACTACTTAAACGCTATTACAAACCGTCGTACCATCTACAATTTG AAGCCCGAATTACCACAAGGTGTCGGTTTGGATGATGTAAAGAGAACTGTACACGTTATT CTCAAGAATACGCCAACAGCTTTTAACTCACAAGTGAATCGCGCTGTCATTATCGTTGGT GATACACACAAAAGGATATGGGATGCTGTTGCGAGCGCAATGCCAACTGCTGAAGCCAAG AAGAGACCAGAGTCTTGCAGAGATGAGGCTTACGGTTCAGTCATTTTCTTCACTGATGAA GGACCAACTGAAAACTGCAAGAGATTTTCCAGCCTTGGCACCGCTTTCCCAACATGCGCC GCTCATACGACCGGTGCTGTGCAAATTCAGTCTTGGACTGCCCTCGAACTATTGGGATTG GGGGCTAATTTGCAACACTATAATGACTACGTCAAATCTGCTTTGCCTCAAGATGTTCCT ATTGCGTGGACTGTACAATCTCAATTGGTCTTTGGTGTTCCAACTGCCTTGCCAGAAGAA AAGACTTTTATCAATAACGTAATCAACGTTTATCACTGA >AGP1 1902 residues Pha 0 Code 0 ATGTCGTCGTCGAAGTCTCTATACGAACTGAAAGACTTGAAAAATAGCTCCACAGAAATA CATGCCACGGGGCAGGATAATGAAATTGAATATTTCGAAACAGGCTCCAATGACCGTCCA TCCTCACAACCTCATTTAGGTTACGAACAGCATAACACTTCTGCCGTGCGTAGGTTTTTC GACTCCTTTAAAAGAGCGGATCAGGGTCCACAGGATGAAGTAGAAGCAACACAAATGAAC GATCTTACGTCGGCTATCTCACCTTCTTCTAGACAGGCTCAAGAACTAGAAAAAAATGAA AGTTCGGACAACATAGGCGCTAATACAGGTCATAAGTCGGACTCGCTGAAGAAAACCATT CAGCCTAGACATGTTCTGATGATTGCGTTGGGTACGGGTATCGGTACTGGGTTACTGGTC GGTAACGGTACCGCGTTGGTTCATGCGGGTCCAGCTGGACTACTTATTGGTTACGCTATT ATGGGTTCTATCTTGTACTGTATTATTCAAGCATGTGGTGAAATGGCGCTAGTGTATAGT AACTTGACTGGTGGCTACAATGCATACCCAGTTTCCTTGTGGATGATGGTTTTTGGGTTT GCAGTCGCTTGGGTTTATTGTTTGCAATGGCTGTGTGTGTGTCCTCTGGAATTGGTGACC GCATCCATGACTATCAAATATTGGACGACATCTGTGAACCCGGATGTGTTCGTCATTATT TTCTATGTTTTGGTGATTACTATTAATATTTTCGGTGCTCGTGGTTATGCAGAAGCTGAG TTCTTCTTCAACTGTTGCAAAATTTTGATGATGACTGGGTTCTTCATTCTTGGTATTATC ATCGATGTTGGTGGCGCTGGTAATGATGGTTTTATTGGTGGTAAATACTGGCACGATCCG GGCGCTTTCAATGGTAAACATGCCATTGACAGATTTAAAGGTGTTGTTGCAACATTAGTG ACTGCTGCTTTTGCCTTTGGTGGTTCAGAGTTTATTGCCATCACCACTGCAGAACAATCT AATCCAAGAAAGGCCATTCCAGGTGCGGCCAAACAAATGATCTACAGAATCTTATTCCTA TTCTTGGCTACCATTATTCTACTGGGTTTCTTGGTGCCATACAATTCCGATCAATTATTG GGTTCTACCGGTGGTGGTACTAAAGCCTCGCCATATGTCATTGCTGTTGCATCCCACGGT GTCCGTGTCGTCCCACACTTCATTAACGCCGTTATTCTACTTTCCGTGCTGTCCATGGCT AACTCCTCCTTCTACTCCAGTGCTCGTTTATTTTTAACTCTATCCGAGCAAGGTTACGCT CCTAAGGTTTTCTCCTACATCGACAGAGCCGGTAGACCATTGATTGCCATGGGTGTTTCT GCATTGTTTGCCGTTATTGCCTTCTGTGCTGCATCTCCCAAGGAAGAACAAGTTTTCACT TGGTTATTGGCCATTTCTGGTTTGTCTCAGCTTTTCACATGGACTGCCATTTGTTTATCC CATCTTAGATTTAGAAGAGCCATGAAAGTCCAAGGGAGATCTCTTGGAGAATTGGGTTTC AAATCTCAAACTGGTGTTTGGGGATCTGCCTACGCTTGCATTATGATGATTTTAATTCTT ATTGCCCAATTTTGGGTCGCTATCGCCCCCATTGGTGAAGGTAAGCTGGATGCACAAGCC TTTTTCGAAAACTACTTGGCTATGCCAATCTTGATTGCACTATATGTCGGCTACAAGGTC TGGCACAAGGATTGGAAACTGTTCATCAGGGCCGACAAGATCGACCTAGATTCTCATAGA CAAATCTTTGATGAAGAATTAATCAAGCAAGAAGACGAAGAATATAGGGAACGTTTGAGG AACGGACCTTATTGGAAAAGGGTCGTTGCCTTCTGGTGTTAA >LEU2 1095 residues Pha 0 Code 0 ATGTCTGCCCCTAAGAAGATCGTCGTTTTGCCAGGTGACCACGTTGGTCAAGAAATCACA GCCGAAGCCATTAAGGTTCTTAAAGCTATTTCTGATGTTCGTTCCAATGTCAAGTTCGAT TTCGAAAATCATTTAATTGGTGGTGCTGCTATCGATGCTACAGGTGTCCCACTTCCAGAT GAGGCGCTGGAAGCCTCCAAGAAGGTTGATGCCGTTTTGTTAGGTGCTGTGGGTGGTCCT AAATGGGGTACCGGTAGTGTTAGACCTGAACAAGGTTTACTAAAAATCCGTAAAGAACTT CAATTGTACGCCAACTTAAGACCATGTAACTTTGCATCCGACTCTCTTTTAGACTTATCT CCAATCAAGCCACAATTTGCTAAAGGTACTGACTTCGTTGTTGTCAGAGAATTAGTGGGA GGTATTTACTTTGGTAAGAGAAAGGAAGACGATGGTGATGGTGTCGCTTGGGATAGTGAA CAATACACCGTTCCAGAAGTGCAAAGAATCACAAGAATGGCCGCTTTCATGGCCCTACAA CATGAGCCACCATTGCCTATTTGGTCCTTGGATAAAGCTAATGTTTTGGCCTCTTCAAGA TTATGGAGAAAAACTGTGGAGGAAACCATCAAGAACGAATTCCCTACATTGAAGGTTCAA CATCAATTGATTGATTCTGCCGCCATGATCCTAGTTAAGAACCCAACCCACCTAAATGGT ATTATAATCACCAGCAACATGTTTGGTGATATCATCTCCGATGAAGCCTCCGTTATCCCA GGTTCCTTGGGTTTGTTGCCATCTGCGTCCTTGGCCTCTTTGCCAGACAAGAACACCGCA TTTGGTTTGTACGAACCATGCCACGGTTCTGCTCCAGATTTGCCAAAGAATAAGGTCAAC CCTATCGCCACTATCTTGTCTGCTGCAATGATGTTGAAATTGTCATTGAACTTGCCTGAA GAAGGTAAGGCCATTGAAGATGCAGTTAAAAAGGTTTTGGATGCAGGTATCAGAACTGGT GATTTAGGTGGTTCCAACAGTACCACGGAAGTCGGTGATGCTGTCGCCGAAGAAGTTAAG AAAATCCTTGCTTAA >NFS1 1494 residues Pha 0 Code 0 ATGTTGAAATCAACTGCTACAAGATCGATAACAAGATTATCTCAAGTTTACAACGTTCCA GCGGCCACATATAGGGCTTGTTTGGTAAGCAGGAGATTCTATTCCCCTCCTGCAGCAGGC GTGAAGTTAGACGACAACTTCTCTCTGGAAACGCATACCGATATTCAGGCTGCTGCAAAG GCACAGGCTAGTGCCCGTGCGAGTGCATCCGGTACCACCCCAGATGCTGTAGTAGCTTCT GGTAGCACTGCAATGAGCCATGCTTATCAAGAAAACACAGGTTTTGGTACTCGTCCCATA TATCTTGACATGCAAGCCACTACACCAACAGACCCTAGGGTTTTGGATACGATGTTGAAG TTTTATACGGGACTTTATGGTAATCCTCATTCCAACACTCACTCTTACGGTTGGGAAACA AATACTGCTGTGGAAAATGCTAGAGCTTACGTAGCAAAGATGATCAATGCCGACCCCAAG GAAATAATATTCACTTCGGGAGCGACCGAATCTAATAATATGGTTCTTAAGGGTGTCCCA AGATTTTATAAGAAGACTAAGAAACACATCATCACCACTAGAACGGAACACAAGTGTGTC TTGGAAGCCGCACGGGCCATGATGAAGGAGGGATTTGAAGTCACTTTCCTAAATGTGGAC GATCAAGGTCTTATCGATTTGAAGGAATTGGAAGATGCCATTAGACCAGATACCTGTCTC GTCTCTGTGATGGCTGTCAATAATGAAATCGGTGTCATTCAACCTATTAAAGAAATTGGT GCAATTTGTAGAAAGAATAAGATCTACTTTCATACTGACGCCGCACAAGCCTATGGTAAG ATTCACATTGATGTCAATGAAATGAACATTGATTTACTATCAATTTCTTCTCACAAGATT TACGGTCCAAAGGGAATAGGTGCCATCTATGTAAGAAGGAGACCAAGAGTTAGATTAGAA CCTTTACTATCCGGTGGTGGCCAAGAGAGAGGATTGAGATCTGGTACTTTGGCCCCCCCA TTGGTAGCGGGATTTGGTGAAGCTGCGAGATTGATGAAGAAAGAATTTGACAACGACCAA GCTCACATCAAAAGACTATCCGATAAATTAGTCAAAGGTCTATTATCCGCTGAACATACC ACGTTGAACGGATCTCCAGATCATCGTTATCCAGGGTGTGTTAACGTTTCTTTCGCCTAC GTGGAAGGAGAATCTTTATTGATGGCACTAAGGGATATCGCATTATCCTCGGGTTCAGCC TGTACATCTGCTTCCCTAGAACCTTCTTATGTTTTACATGCGCTGGGTAAGGATGATGCA TTAGCCCATTCTTCCATCAGATTTGGTATTGGTAGATTTAGTACTGAAGAGGAGGTCGAC TACGTCGTTAAGGCCGTTTCTGACAGAGTAAAATTCTTGAGGGAACTTTCACCATTATGG GAAATGGTTCAAGAAGGTATTGACTTAAACTCCATCAAATGGTCAGGTCATTGA >BUD3 4104 residues Pha 0 Code 0 ATGGAGAAAGACCTGTCGTCTCTTTACTCTGAAAAGAAAGACAAAGAGAACGATGAAACC TTATTTAACATCAAACTATCCAAATCTGTTGTCGAGACCACACCGCTAAATGGTCATTCA TTGTTTGATGATGATAAATCACTTTCAGACTGGACGGATAATGTGTTCACTCAATCAGTA TTCTATCACGGGTCAGATGACTTGATATGGGGGAAGTTCTTTGTCTGCGTGTACAAGTCC CCCAACAGCAATAAGTTGAACGCTATAATATTCGACAAATTAGGAACATCATGCTTCGAA TCCGTCGATATATCTTCCAACTCGCAATACTATCCGGCCATTGAGAATTTGAGTCCAAGT GATCAGGAAAGCAATGTTAAGAAATGCATTGCTGTCATTCTGTTACAGCGCTATCCATTA CTTTCACCATCAGACTTATCACAAATATTGTCCAATAAATCGGAAAATTGCGACTATGAC CCCCCTTATGCTGGAGATTTGGCTAGTAGTTGCCAGTTGATAACAGCAGTTCCTCCAGAA GATCTGGGGAAGCGCTTCTTTACATCAGGACTTCTGCAAAATAGATTTGTCAGCTCTACC CTGTTAGATGTTATTTATGAAAACAATGAATCCACCATCGAACTAAATAATAGGTTGGTA TTCCATCTGGGTGAACAACTTGAACAACTTTTTAACCCAGTCACAGAATACTCACCGGAA CAGACAGAATATGGTTATAAGGCGCCAGAGGACGAATTACCCACAGAATCGGATGATGAT CTTGTCAAGGCCATTTGCAACGAGTTATTACAACTACAAACAAATTTTACTTTCAATTTG GTAGAATTTTTGCCAAAATTCCTGATCGCCTTGAGAGTCAGAGTACTCAATGAAGAAATT AATGGGTTATCCACAACCAAATTAAATCGACTCTTCCCACCTACAATAGATGAAGTCACA AGAATCAATTGTATTTTTCTAGACTCGCTAAAGACAGCAATCCCTTACGGTTCCCTCGAA GTACTGAAGGCATGCAGCATTACTATTCCTTATTTCTACAAAGCATATACAAGACACGAG GCGGCCACAAAGAACTTCAGCAAAGATATTAAATTGTTTATTAGGCATTTCAGCAATGTA ATTCCAGAAAGAGAGGTCTACACGGAAATGAAAATCGAGAGTATAATTAAGGGACCTCAG GAAAAACTACTGAAGCTAAACTTAATTATAGAGAGATTGTGGAAGTCGAAAAAATGGAGA CCGAAAAATCAAGAAATGGCAAAAAAATGCTACAACAATATCATTGATGTCATTGATTCG TTTGGAAAATTAGATTCCCCACTTCATTCTTATAGTACCAGAGTATTTACTCCATCGGGA AAAATCCTTACAGAATTAGCCAAATGCTGGCCCGTAGAACTGCAATACAAATGGCTGAAG AGAAGGGTAGTCGGTGTGTATGATGTAGTGGATTTGAATGATGAAAATAAGAGAAATTTA TTAGTCATATTCAGTGATTATGTGGTTTTCATCAATATACTGGAGGCAGAAAGTTACTAC ACTTCAGATGGATCAAACAGGCCCTTAATCTCAGATATTTTAATGAACTCATTGATCAAC GAAGTTCCGTTGCCCTCCAAGATCCCTAAGTTGAAAGTGGAGCGTCATTGCTATATAGAT GAGGTTCTAGTTTCTATATTAGACAAAAGCACTCTACGTTTTGATCGATTGAAGGGAAAA GATTCTTTCTCAATGGTATGTAAATTATCCTCTGCATTTATCTCTTCTTCGTCAGTTGCT GACTTGATTACGAAGGCTAGAATTTTGGAAAAAGACACTGCATTTCATTTATTTAAAGCT AGTAGAAGCCATTTTACATTATATTCTACTGCTCACGAGCTTTGCGCTTATGATTCCGAA AAAATAAAATCAAAATTTGCCTTATTCCTGAACATACCACCATCCAAGGAGATATTGGAG GTCAACAACCTTCATTTGGCTTTTTTTGCAAGATTTTGCAGTAACGATGGTAGAGATAAC ATCGTAATCTTAGACGTCTTAACCAAACATGACGATAAACATATAGAAGTTACATCCGAT AACATTGTTTTCACCATAATTAATCAATTGGCCATTGAAATACCGATATGCTTTTCTTCC TTAAACTCATCGATGGCCAAAGATTTACTCTGTGTAAATGAGAATTTGATAAAAAACTTA GAACATCAATTGGAAGAGGTCAAGCACCCTTCAACAGACGAACATAGGGCTGTTAATAGC AAACTTTCCGGTGCATCCGATTTCGATGCTACTCACGAGAAGAAAAGATCATACGGTACC ATAACAACATTTAGAAGCTATACAAGCGACTTGAAGGACAGTCCATCAGGCGATAATAGT AATGTCACCAAGGAAACTAAGGAAATTTTACCAGTGAAACCTACGAAAAAGTCTTCAAAA AAACCAAGAGAAATTCAAAAGAAGACCAAGACAAACGCCTCTAAAGCAGAGCACATAGAA AAGAAGAAGCCTAACAAAGGCAAAGGGTTTTTTGGCGTGTTAAAAAATGTTTTTGGAAGT AAAAGCAAGAGCAAGCCTTCACCAGTTCAAAGAGTGCCTAAAAAAATATCGCAGAGGCAT CCTAAGTCTCCAGTGAAGAAGCCAATGACCTCAGAAAAGAAATCCTCCCCTAAAAGGGCA GTCGTTTCATCTCCCAAAATTAAAAAGAAAAGTACTTCTTTTTCCACAAAAGAATCACAA ACTGCTAAATCTTCTCTTCGAGCAGTTGAATTCAAATCTGATGACTTGATCGGAAAACCA CCTGATGTTGGAAATGGCGCACATCCTCAAGAAAATACCAGAATATCTTCAGTAGTAAGG GATACAAAATATGTCTCCTACAATCCCTCTCAGCCTGTGACAGAAAATACCAGTAACGAA AAAAATGTCGAACCAAAAGCGGATCAATCCACAAAGCAGGATAACATTTCCAATTTTGCA GATGTAGAGGTATCTGCGTCTTCTTATCCTGAAAAACTTGATGCAGAAACAGATGATCAA ATAATTGGGAAGGCGACGAATTCGTCATCAGTTCATGGAAATAAAGAGCTGCCAGACCTT GCTGAGGTGACTACAGCAAATAGGGTTTCTACAACATCGGCTGGGGACCAACGTATTGAT ACCCAAAGCGAATTTTTACGTGCAGCTGATGTTGAAAACTTAAGTGATGACGATGAACAC AGACAGAATGAAAGTAGAGTTTTTAACGATGACCTCTTTGGTGATTTTATTCCTAAGCAT TACCGTAATAAACAGGAGAACATTAACAGCTCGAGTAATTTGTTTCCAGAGGGAAAGGTG CCCCAAGAAAAGGGCGTATCAAATGAAAACACTAACATATCTCTCAAAACTAATGAAGAT GCATCTACATTGACGCAGAAACTCTCTCCACAAGCGAGTAAAGTGCTGACAGAAAATTCT AATGAATTAAAAGATACCAACAATGAAGGGAAGGACGCAAAGGACATAAAATTAGGAGAT GATTACAGTGATAAAGAAACAGCGAAAGAAATAACTAAACCAAAAAATTTTGTTGAAGGA ATAACTGAACGGAAAGAAATATTCCCCACTATTCCTAGGTTAGCGCCGCCAGCTTCAAAA ATTAACTTTCAAAGGTCACCATCCTATATTGAGCTCTTTCAAGGAATGAGGGTGGTTTTA GATAAGCATGATGCCCATTATAACTGGAAACGCTTGGCTAGTCAAGTCTCCTTAAGTGAG GGACTAAAAGTCAATACTGAGGAAGATGCGGCAATTATAAATAAAAGTCAGGATGATGCC AAGGCGGAAAGAATGACTCAAATTTCTGAAGTGATTGAGTATGAAATGCAGCAACCTATC CCAACTTATTTGCCTAAGGCGCATCTAGATGACTCGGGTATTGAAAAAAGTGATGACAAA TTCTTCGAAATTGAAGAAGAACTTAAGGAAGAATTGAAGGGCAGCAAAACGGTAATGAAG ATGTCGGTAATAATAATCCATCCAATTCTATTCCAAAAATCGAGAAGCCCCCAGCATTCA AAGTTATTAGAACATCGCCTGTGA >GBP2 1284 residues Pha 0 Code 0 ATGGAGAGAGAGCTAGGGATGTATGGAAATGATAGGAGTAGATCAAGATCACCTGTACGT CGTCGTTTGAGCGACGACAGAGACAGGTACGATGATTATAACGATAGTAGCAGTAATAAT GGTAATGGCAGTCGTCGTCAGAGACGCGACCGAGGCTCCCGTTTCAATGATCGGTACGAT CAGAGTTATGGTGGCAGCCGCTACCACGATGATAGGAACTGGCCCCCTCGCCGAGGAGGC CGTGGCAGAGGAGGAAGCAGATCATTCAGAGGGGGACGCGGTGGCGGTAGGGGTCGTACT TTAGGTCCAATTGTTGAAAGAGACTTAGAAAGGCAATTTGACGCGACCAAGAGAAATTTT GAAAATAGTATCTTCGTGAGAAACTTGACTTTTGATTGTACCCCTGAAGACCTTAAGGAA TTGTTTGGTACAGTGGGCGAAGTTGTGGAGGCTGACATTATCACATCAAAGGGCCATCAC CGTGGTATGGGGACTGTGGAATTTACCAAAAACGAATCTGTCCAAGATGCCATATCGAAG TTTGATGGTGCCCTCTTTATGGACCGGAAACTAATGGTAAGACAGGATAATCCTCCTCCT GAAGCTGCCAAGGAATTTTCTAAGAAAGCTACTAGGGAAGAAATAGATAATGGGTTTGAA GTGTTCATCATCAATTTACCGTACTCTATGAATTGGCAATCCTTAAAAGATATGTTTAAA GAATGTGGTCATGTCTTGCGTGCCGATGTAGAATTGGATTTCAACGGATTTTCAAGAGGA TTCGGTTCTGTCATTTATCCTACTGAGGATGAAATGATTAGAGCTATCGATACATTCAAC GGCATGGAAGTAGAAGGTAGAGTTTTGGAAGTTAGAGAAGGGCGTTTCAACAAGAGAAAG AACAATGATCGTTATAATCAAAGGCGTGAGGACCTTGAAGATACCAGAGGTACTGAACCA GGTCTTGCGCAGGATGCCGCTGTCCACATTGATGAAACTGCAGCAAAATTTACTGAAGGT GTCAATCCAGGAGGGGATAGAAACTGTTTCATTTATTGTAGTAATTTACCATTCTCAACA GCAAGAAGCGATTTATTCGACTTGTTTGGGCCTATCGGCAAAATCAATAACGCGGAATTG AAACCACAGGAAAATGGTCAACCAACTGGTGTTGCTGTTGTAGAATATGAAAATTTAGTA GATGCAGATTTTTGTATTCAAAAATTAAATAATTATAATTATGGTGGTTGTAGTTTACAG ATCTCTTATGCTAGACGTGATTAA >ILV6 930 residues Pha 0 Code 0 ATGCTGAGATCGTTATTGCAAAGCGGCCACCGCAGGGTGGTTGCTTCTTCATGTGCTACC ATGGTGCGTTGCAGTTCCTCGTCGACCTCCGCGTTGGCGTACAAGCAGATGCACAGACAC GCAACAAGACCTCCCTTGCCCACACTAGACACTCCTTCCTGGAATGCCAACAGTGCCGTT TCATCCATCATTTACGAAACACCAGCGCCTTCTCGTCAACCAAGAAAACAGCATGTCTTG AACTGTTTGGTGCAAAACGAACCCGGTGTCTTGTCCAGAGTCTCGGGTACGTTAGCTGCC AGAGGCTTTAACATCGATTCGTTGGTCGTGTGCAACACCGAGGTCAAAGACCTAAGTAGA ATGACCATTGTTTTGCAAGGGCAAGATGGCGTAGTCGAACAAGCACGCAGACAAATCGAA GACTTGGTCCCCGTCTACGCCGTCCTAGACTATACCAATTCTGAGATCATCAAAAGAGAG CTAGTGATGGCCAGAATCTCTCTATTGGGTACTGAATACTTCGAAGACCTACTATTGCAC CACCACACTTCCACCAATGCTGGCGCCGCTGACTCCCAAGAATTGGTCGCCGAAATCAGA GAAAAGCAATTCCACCCTGCCAACTTGCCCGCCAGTGAGGTATTAAGGTTGAAGCACGAG CATTTGAACGATATCACCAACTTGACCAACAACTTTGGAGGTCGTGTCGTCGACATCAGC GAAACAAGCTGTATTGTGGAATTGTCTGCAAAACCCACACGTATCTCTGCCTTCTTGAAG TTGGTCGAGCCATTCGGTGTCCTAGAGTGTGCAAGAAGCGGTATGATGGCATTGCCAAGA ACTCCTTTGAAGACAAGCACCGAGGAAGCTGCCGACGAAGACGAAAAGATCAGCGAAATC GTCGACATTTCCCAACTACCACCTGGTTAG >CWH36 393 residues Pha 0 Code 0 ATGGAGCTGGCAAAGGAACGTAATGGCCCACATCAAAAACATCATGGCCAATGTCAAAAT CACTGTACTTCTCCAAACACTGTACGACAAAACAAAACAAACAAACTCTTGTTAGTAAAA AAGAAAGGGAAACTAGTAATATGGAGACACATCGTAAAAAAAATGTTGCACATACGCTTG GTTGTTCTTTGGAGCCATTATCCAGAACAGCACGGACATGGCACTAACCACTATGAATAC ACCAACAACAGTATAGCTAAATTGGACGCGCAGAGAGTTAGTAGAAGAAGAAGGAAGAAA AGGGAAGCGGAGAGAAGAGATTATGACACATACAAACTACTCATTACTCTTTGTTCTTTA TTATTCGTTGGACCTTTGTTTCTTAAAGTATAG >PEL1 1251 residues Pha 0 Code 0 ATGACGACTCGTTTGCTCCAACTCACTCGTCCTCATTACAGATTATTATCCCTACCTCTC CAGAAACCCTTCAATATAAAAAGGCAGATGTCCGCTGCGAACCCTTCTCCATTTGGCAAT TATTTGAACACGATCACTAAGTCCCTACAACAGAATTTACAAACATGCTTTCATTTCCAA GCAAAAGAAATCGATATAATCGAATCTCCATCTCAGTTTTACGATCTCTTGAAGACAAAA ATACTTAATTCACAAAATAGAATATTCATTGCGTCTCTGTATTTAGGCAAAAGCGAGACT GAGTTGGTGGACTGCATATCCCAGGCATTGACCAAGAACCCCAAGTTGAAAGTTTCTTTT CTACTTGATGGCCTTCGAGGAACAAGAGAATTGCCTTCCGCCTGTTCCGCCACTTTATTA TCGTCTTTAGTAGCCAAATATGGGTCAGAGAGAGTGGATTGCCGATTGTACAAGACGCCT GCTTATCATGGTTGGAAAAAAGTCTTGGTTCCCAAGAGATTTAATGAAGGTTTAGGCTTA CAACATATGAAAATATATGGGTTTGATAACGAGGTCATTCTTTCGGGAGCCAACCTTTCG AACGACTATTTCACCAACAGACAAGATAGATACTATCTCTTTAAATCTCGAAACTTCTCC AACTATTATTTTAAATTACATCAACTCATAAGTTCCTTCAGTTATCAGATTATAAAGCCA ATGGTGGATGGTAGCATCAACATCATTTGGCCAGATTCGAATCCTACTGTTGAACCGACG AAAAATAAAAGGCTGTTTTTAAGGGAAGCATCTCAATTACTAGATGGCTTTTTAAAGAGT TCTAAACAAAGCCTCCCGATTACTGCCGTGGGTCAATTCTCCACATTAGTTTACCCAATT TCTCAATTCACTCCACTTTTTCCCAAATATAATGACAAATCGACCGAAAAAAGAACAATA TTGTCATTGCTTTCCACTATAACAAGCAATGCCATTTCTTGGACGTTCACTGCAGGATAC TTCAATATTTTGCCAGACATCAAAGCAAAACTGCTGGCAACGCCGGTTGCTGAGGCAAAT GTAATAACAGCTTCCCCCTTTGCAAACGGCTTTTACCAATCAAAGGGCGTCTCATCAAAT TTACCTGGTGCTTACTTGTACCTGTCAAAAAAATTTCTACAAGATGTATGTAGGTACAGA CAAGATCATGCTATTACCATTAAGAGAATGGCAAAGAGGCGTAGTAAATAA >RER1 567 residues Pha 0 Code 0 ATGGATTACGATAGCTCTGATACAATGAACGGTGGTTCAAGTAACCCCTTAATCACTAAG ATGAATACAATGAAATTATTATATCAACACTATTTGGATAAAGTCACTCCTCACGCTAAG GAGAGGTGGGCTGTATTGGGTGGTTTGTTATGTTTGTTTATGGTTCGTATTACAATGGCC GAAGGCTGGTATGTGATTTGTTATGGTCTAGGTCTATTTTTATTGAATCAATTTTTAGCC TTTTTGACCCCAAAATTCGATATGTCCTTACAGCAAGATGAAGAAAACAACGAATTGGAA GCTGGAGAAAAATCAGAAGAATTCCGTCCATTCATCAGAAGATTACCAGAGTTCAAATTC TGGTATAACAGCATTAGAGCCACTGTCATTTCCCTCTTGTTGTCGCTATTTTCAATCTTC GATATTCCAGTATTTTGGCCCATCTTATTGATGTATTTCATATTATTGTTTTTTTTAACT ATGAGAAGGCAGATTCAACATATGATAAAATATAGATATATACCCTTAGATATCGGTAAG AAGAAATATTCTCATTCTTCTAACTGA >CDC10 969 residues Pha 0 Code 0 ATGGATCCTCTCAGCTCAGTACAGCCTGCTTCTTATGTTGGTTTTGATACCATCACGAAT CAGATCGAACATCGTCTGTTGAAGAAAGGTTTTCAATTTAATATAATGGTTGTTGGCCAA TCCGGATTGGGTAAAAGTACTCTAATAAATACGTTATTTGCCTCACATTTGATTGATTCT GCTACTGGTGATGATATTTCTGCCCTGCCTGTTACAAAAACAACTGAAATGAAAATTTCT ACTCATACTCTTGTGGAGGACCGCGTTCGCTTGAATATTAATGTTATAGATACACCTGGA TTTGGTGACTTTATTGACAATTCTAAAGCTTGGGAGCCTATTGTGAAGTACATTAAGGAA CAACATTCTCAATACTTACGTAAAGAATTGACAGCCCAACGTGAAAGGTTTATTACTGAT ACAAGAGTTCATGCAATTCTTTATTTCCTGCAACCAAATGGAAAGGAGTTGAGCCGCCTT GACGTTGAAGCCTTGAAAAGATTGACAGAAATAGCAAATGTTATACCAGTTATTGGCAAG TCGGATACATTGACTTTAGATGAAAGAACGGAGTTTAGGGAGCTTATTCAAAATGAATTC GAAAAATACAATTTCAAGATTTATCCTTATGATTCGGAAGAACTAACTGACGAGGAATTA GAACTAAACAGAAGTGTTAGATCTATCATTCCGTTTGCAGTGGTTGGTTCTGAGAATGAG ATTGAAATAAACGGTGAAACCTTCAGGGGAAGAAAAACTCGTTGGAGCGCTATTAATGTT GAGGATATCAACCAGTGTGATTTTGTATATTTAAGGGAATTTTTGATTCGAACTCATCTC CAAGACTTAATCGAAACAACTTCCTACATTCATTATGAAGGGTTCAGAGCAAGACAATTA ATTGCCTTGAAAGAAAATGCGAATAGTCGTTCCTCAGCTCATATGTCTAGCAACGCCATT CAACGTTGA >MRPL32 552 residues Pha 0 Code 0 ATGAATTCTTTGATTTTTGGTAAACAATTAGCATTTCACAAAATTGTGCCTACCACTGCA ATTGGGTGGTTGGTACCGCTAGGAAATCCTTCACTGCAGATTCCAGGCCAAAAACAACTG GGATCTATCCACCGTTGGTTGAGAGAAAAGCTACAACAAGATCATAAGGACACTGAAGAT AAAGATTTTTTCTCTAATAATGGTATTCTACTAGCAGTTCCTAAAAAAAAAGTATCACAC CAAAAAAAAAGGCAAAAACTTTACGGTCCAGGTAAGAAGCAATTGAAGATGATTCACCAT TTGAATAAGTGCCCATCATGCGGCCATTATAAGAGAGCCAATACACTGTGTATGTATTGT GTTGGACAAATAAGTCATATATGGAAAACGCATACCGCTAAAGAAGAAATTAAGCCGAGA CAAGAGGAGGAACTTTCCGAACTAGACCAAAGAGTCCTATATCCTGGTAGAAGAGATACC AAATATACCAAGGATTTGAAAGATAAAGATAACTATTTGGAACGTCGCGTTCGGACTTTA AAAAAGGACTAG >YCP4 744 residues Pha 0 Code 0 ATGGTAAAGATTGCGATAATTACTTACTCTACCTACGGGCACATAGACGTTTTAGCCCAA GCTGTTAAGAAAGGTGTGGAGGCAGCTGGTGGTAAAGCTGATATATACAGGGTCGAGGAA ACTTTACCTGATGAAGTCCTCACCAAGATGAACGCTCCTCAGAAACCTGAAGATATTCCT GTTGCCACTGAGAAAACGTTGCTCGAATATGACGCCTTTTTGTTCGGTGTTCCAACTAGG TTTGGTAATTTGCCGGCTCAATGGTCCGCCTTTTGGGATAAAACCGGTGGATTATGGGCC AAGGGCTCTTTGAACGGCAAAGCTGCGGGGATATTCGTTAGTACTTCCAGTTACGGAGGT GGTCAAGAAAGTACCGTTAAAGCCTGTTTGTCTTATTTAGCTCATCACGGAATTATCTTT TTACCACTGGGTTATAAGAATTCATTTGCTGAGTTAGCCAGTATAGAAGAGGTACACGGT GGCTCTCCATGGGGTGCTGGTACCCTTGCAGGACCTGACGGCTCAAGAACTGCGTCTCCA CTTGAATTGAGAATTGCTGAAATTCAAGGTAAAACATTCTACGAAACCGCCAAAAAACTT TTCCCTGCAAAAGAAGCCAAGCCCTCCACTGAAAAGAAGACCACTACTTCTGATGCGGCT AAGAGACAAACTAAACCTGCAGCAGCTACAACTGCAGAAAAGAAGGAGGACAAAGGATTA TTATCCTGCTGTACTGTCATGTAA >CIT2 1383 residues Pha 0 Code 0 ATGACAGTTCCTTATCTAAATTCAAACAGAAATGTTGCATCATATTTACAATCAAATTCA AGCCAAGAAAAGACTCTAAAAGAGAGATTTAGCGAAATCTACCCCATCCATGCTCAAGAT GTAAGGCAATTCGTTAAAGAGCATGGCAAAACTAAAATTAGCGATGTTCTATTAGAACAG GTATATGGTGGTATGAGAGGTATTCCAGGGAGCGTATGGGAAGGTTCCGTTTTGGACCCA GAAGACGGTATTCGTTTCAGAGGTCGTACGATCGCCGACATTCAAAAGGACCTGCCCAAG GCAAAAGGAAGCTCACAACCACTACCAGAAGCTCTCTTTTGGTTATTGCTAACTGGCGAG GTTCCAACTCAAGCGCAAGTTGAAAACTTATCAGCTGATCTAATGTCAAGATCGGAACTA CCTAGTCATGTCGTTCAACTTTTGGATAATTTACCAAAGGACTTACACCCAATGGCTCAA TTCTCTATTGCTGTAACTGCCTTGGAAAGCGAGTCAAAGTTTGCTAAGGCTTATGCTCAA GGAATTTCCAAGCAAGATTATTGGAGTTATACTTTTGAAGATTCACTAGACTTGCTGGGT AAATTGCCAGTTATTGCAGCTAAAATTTATCGTAATGTATTCAAAGATGGCAAAATGGGT GAAGTGGACCCAAATGCCGATTATGCTAAAAATCTGGTCAACTTGATTGGTTCTAAGGAT GAAGATTTCGTGGACTTGATGAGACTTTATTTAACCATTCATTCGGATCACGAAGGTGGT AATGTATCTGCACATACATCCCATCTTGTGGGCTCAGCACTATCATCACCTTATCTGTCC CTTGCATCAGGTTTGAACGGGTTGGCTGGCCCACTTCATGGGCGTGCTAATCAAGAAGTA CTAGAATGGTTATTTGCACTTAAAGAAGAGGTAAATGATGACTACTCTAAAGATACGATC GAAAAATATTTATGGGATACTCTAAACTCAGGAAGAGTCATTCCCGGTTATGGTCATGCT GTGCTAAGGAAAACTGATCCTCGTTATATGGCTCAGCGTAAGTTTGCCATGGACCATTTT CCAGATTATGAATTATTCAAGTTAGTTTCATCAATATACGAGGTAGCACCTGGCGTATTG ACTGAACATGGTAAAACTAAAAATCCATGGCCAAATGTAGATGCTCACTCTGGTGTCTTA TTACAATATTATGGACTAAAAGAATCTTCTTTCTATACCGTTTTATTTGGCGTTTCAAGG GCATTTGGTATTCTTGCTCAATTGATCACTGATAGGGCCATCGGTGCTTCCATTGAAAGG CCAAAGTCCTATTCTACTGAGAAATACAAGGAATTGGTCAAAAACATTGAAAGCAAACTA TAG >YCP7 720 residues Pha 0 Code 0 ATGCAGCCTCATTTAGACAACAACAGTAATAATGACGATGTCAAATTGGATACATTAGGG GAACAAAATGTGTTATCATCCGCAGAAAATATCACTTTACCTGAAGACACCTTTAAATCA TATATGACCTACTTGCTGTACGAGATGGCTCATTACAAACCGATGATATTTTCCTTCTTG GCACTTTCAGTTTCAATTTTAATAGTTGTGATCTTTCATAATGTTAAAGCTTGTGATGTC GTTTTTGGTTTTTCAATTTTCGTCACTTCTATTTTGTTTTTGTCTACGTTGATTCCGTTT AATGTGTATATCTCGGATGAGGGTTTCAGAATTAAGCTTTTGCTGGAAGTTATCACCCAC AGGCCAGCGGTAAAGGGAAAAGAATGGAGAGCAATCACAGACAATATGAATCAATATTTA CTTGATAATGGTTTATGGAGTACTCGCTATTACTTTTATAGTAGTGAAAGATGCTACAAA TTCTTCAGATTTCTTGTGAAAGAAAAACCCCCAGGTGTGAATGTAAATTCATCGGTAAAG GACGCCACAAGTACGCAGATAGATGCACCAGCAAATGAGGCTTCAAATGAGGTAATAAAA TGCTTTAGTTTCAGTTCTGACCCAATATTCGAAGCATACTTTGTTAAAGCAGTAGAAGTT GAGAAACAAGCACAACAGGAATATTGGAGAAAGCAATATCCTGACGCCGATATACCATGA >SAT4 1812 residues Pha 0 Code 0 ATGACTGGTATGAATGATAATAATGCCGCTATTCCTCAGCAAACTCCAAGGAAACATGCG CTATCTTCTAAAGTTATGCAACTTTTTAGAAGCGGTTCAAGATCATCTAGGCAGGGAAAG GCCTCATCGAATATCCAGCCACCTTCTAATATAAACACAAACGTTCCATCGGCGTCTAAA TCAGCCAAATTTGGTTTACATACCCCAACCACTGCTACTCCTAGGGTAGTTTCTAATCCT TCTAATACTGCAGGTGTGAGTAAACCGGGCATGTATATGCCCGAATATTACCAGTCGGCA TCACCATCGCACTCTAGTTCATCCGCATCATTAAACAACCATATTGATATTAACACCTCT AAGTCATCATCAGCTGCTTCTTTAACTTCGTCAGTATCAGCTTTATCCTTATCACCCACA TCAGCCATAAATATTAGCTCCAAAAGTTTGAGCCCAAAGTTCTCTCATCATAGTAACAGC AATACTGCTATTACACCCGCGCCTACTCCCACTGCTTCAAATATTAATAATGTAAATAAG ATAACCAATACAAGTGCACCTATTTGTGGGAGGTTTCTTGTGCATAAAGATGGTACCCAT GAACATCACTTAAAAAATGCTAAGAGACAAGAAAAGCTAAGCACAATGATTAAAAACATG GTTGGTGCGAGCAAATTACGTGGTGAGGCAAAATCTGCTGTCCCTGATATAATAATGGAT CCAAAGACGACTTTAAAATCCAACAAGAATCCTCCTACTCTTTTTGCAGGCTTCATGAAG CAGGTCGTGGATATGGATGATAAATATCCAGAAGGCGCTCCCACAAGTGGCGCTTTAAAT TGTCCTGAAAGGGATATATACAGGTCAGATCAAAAAGATTCCAAAAATAATACGCATAAT ATCACTACTACTAAAAAAGATAGGCAATGTTTTGCCGAAAAGTATGGTCGCTGTCAAGAA GTCCTTGGTAAAGGTGCTTTTGGTGTAGTAAGAATATGTCAAAAGAAAAATGTTTCTTCT CAAGATGGTAATAAAAGTGAAAAGCTTTATGCAGTGAAAGAGTTCAAGCGTAGAACATCC GAATCAGCAGAAAAGTATTCTAAGAGGTTGACTTCTGAATTTTGCATTTCTTCTTCATTA CACCATACAAATATTGTTACTACACTAGATCTTTTCCAAGATGCCAAAGGCGAGTACTGT GAAGTAATGGAATATTGTGCAGGTGGCGATCTATTCACTTTGGTCGTTGCCGCCGGAAAA TTAGAATATATGGAAGCAGATTGTTTCTTCAAGCAGCTTATTAGAGGTGTTGTTTATATG CATGAAATGGGTGTTTGTCATAGAGATTTGAAGCCTGAGAACTTACTGCTTACGCACGAT GGTGTGCTAAAAATTACAGACTTTGGTAACAGCGAATGTTTCAAGATGGCATGGGAAAAA AATATTCACCTTAGTGGAGGCGTTTGCGGTTCATCGCCGTACATCGCCCCAGAGGAATAT ATCAAAGAAGAGTTTGATCCAAGACCCGTAGATATATGGGCATGTGGTGTCATTTATATG GCAATGAGAACTGGTAGACAATTGTGGAGTTCTGCTGAAAAAGACGATCCATTTTATATG AATTATTTAAAAGGACGTAAGGAAAAGGGAGGCTATGAGCCAATCGAAAGTTTAAAAAGA GCCAGGTGTAGGAATGTTATATATTCGATGTTAGATCCCGTTCCGTACAGAAGAATTAAC GGGAAACAAATTTTGAACAGTGAATGGGGAAGGGAGATAAAATGCTGCCATAATGGGCGC GCATTGAAATAA >RVS161 798 residues Pha 0 Code 0 ATGAGTTGGGAAGGTTTTAAGAAAGCTATCAACAGAGCTGGTCACAGTGTGATAATTAAG AATGTCGACAAGACCATTGATAAAGAGTATGACATGGAAGAACGTCGTTATAAAGTTCTT CAAAGAGCAGGTGAGGCATTACAAAAGGAAGCCAAAGGTTTCTTGGACTCATTGAGAGCT GTGACAGCATCACAGACTACCATTGCCGAGGTCATCTCTAACCTCTATGACGATTCAAAA TATGTTGCTGGTGGTGGTTACAACGTTGGTAACTATTATTTGCAATGTGTTCAAGATTTT GATAGCGAAACTGTTAAGCAATTAGACGGGCCCTTAAGAGAAACCGTACTAGATCCAATA ACAAAGTTTTCGACGTATTTCAAAGAAATTGAGGAGGCCATAAAAAAGAGAGACCATAAG AAACAAGACTTCGATGCTGCGAAGGCAAAAGTTCGTAGATTAGTGGACAAACCTGCTAAA GATGCCTCTAAACTGCCAAGGGCTGAAAAAGAATTGAGCTTAGCTAAAGATATTTTCGAA AATCTTAATAACCAATTGAAAACTGAACTACCACAGTTAGTTTCATTAAGAGTACCTTAC TTTGACCCAAGTTTTGAAGCTTTAATCAAGATTCAGCTAAGGTTCTGTACTGATGGTTAC ACTCGTTTAGCGCAGATTCAACAATATTTGGACCAACAATCAAGAGACGACTATGCCAAT GGGTTATTAGACACTAAAATCGAAGAACTATTAGGACAAATGACAAGCCTAGATATTTGT GCGCTCGGGATAAAATAA >YCQ0 852 residues Pha 0 Code 0 ATGTCTGACAAGGAACAAACGAGCGGAAACACAGATTTGGAGAATGCACCAGCAGGATAC TATAGTTCCCATGATAACGACGTTAATGGCGTTGCAGAAGATGAACGTCCATCTCATGAT TCGTTGGGCAAGATTTACACTGGAGGTGATAACAATGAATATATCTATATTGGGCGTCAA AAGTTTTTGAAGAGCGACTTATACCAAGCCTTTGGTGGTACCTTGAATCCAGGGTTAGCT CCTGCTCCAGTGCACAAATTTGCTAATCCTGCGCCCTTAGGTCTTTCAGCCTTCGCGTTG ACGACATTTGTGCTGTCCATGTTCAATGCGAGAGCGCAAGGGATCACTGTTCCTAATGTT GTCGTCGGTTGTGCTATGTTTTATGGTGGTTTGGTGCAATTGATTGCTGGTATTTGGGAG ATAGCTTTGGAAAATACTTTTGGTGGTACCGCATTATGTTCTTACGGTGGGTTTTGGTTG AGTTTCGCTGCAATTTACATTCCTTGGTTTGGTATCTTGGAAGCTTACGAAGACAATGAA TCTGATTTGAATAATGCTTTAGGATTTTATTTGTTGGGGTGGGCCATCTTTACGTTTGGT TTAACCGTTTGTACCATGAAATCCACTGTTATGTTCTTTTTGTTGTTCTTCTTACTAGCA TTAACTTTCCTACTGTTGTCTATTGGTCACTTTGCTAATAGACTTGGTGTCACAAGAGCT GGTGGTGTCCTGGGAGTTGTTGTTGCTTTCATTGCTTGGTACAACGCATATGCAGGTGTT GCTACAAAGCAGAATTCATATGTACTGGCTCGTCCATTCCCATTACCATCTACTGAAAGG GTAATCTTTTAA >ADP1 3150 residues Pha 0 Code 0 ATGGGAAGTCATCGACGTTATCTCTACTATAGTATATTATCATTTCTATTATTATCCTGC TCAGTGGTACTTGCAAAACAAGATGAGACCCCATTCTTTGAAGGTACTTCTTCGAAAAAT TCGCGTCTAACTGCACAAGATAAGGGCAATGATACGTGCCCGCCATGTTTTAATTGTATG CTACCTATTTTTGAATGCAAACAGTTTTCTGAATGCAATTCGTACACTGGTAGATGTGAG TGTATAGAAGGGTTTGCAGGTGATGATTGCTCTCTGCCCCTCTGTGGCGGTCTATCACCG GATGAAAGCGGTAATAAGGATCGTCCCATAAGAGCACAAAATGACACCTGTCATTGTGAT AACGGATGGGGAGGGATCAATTGTGACGTTTGTCAAGAAGATTTTGTCTGTGATGCGTTC ATGCCTGATCCTAGTATTAAGGGGACATGTTATAAGAATGGTATGATTGTAGATAAAGTA TTTTCAGGTTGTAATGTGACCAATGAGAAAATTCTACAGATTTTGAACGGCAAAATACCA CAAATTACATTTGCCTGTGATAAACCTAATCAAGAATGTAATTTTCAGTTTTGGATAGAT CAGTTAGAAAGCTTCTATTGTGGCTTAAGTGATTGTGCCTTTGAATACGACTTGGAACAG AATACCTCCCATTATAAGTGTAATGACGTTCAATGCAAATGCGTTCCCGACACTGTGTTG TGTGGTGCTAAGGGGTCTATAGATATCTCGGATTTCCTGACAGAGACAATAAAAGGGCCA GGAGATTTCAGCTGTGATTTAGAAACAAGGCAATGTAAATTCAGTGAGCCTTCTATGAAT GATTTGATATTGACCGTGTTTGGTGACCCTTATATTACTTTGAAGTGTGAATCCGGTGAA TGTGTTCATTATAGTGAGATTCCAGGTTACAAATCTCCTTCAAAAGATCCAACAGTGTCA TGGCAAGGGAAATTGGTGTTGGCATTGACTGCTGTGATGGTCCTGGCACTTTTTACATTT GCTACCTTTTACATTTCTAAATCTCCGTTATTCAGAAATGGATTGGGTTCCTCAAAGTCT CCCATTCGTTTGCCAGATGAAGATGCGGTGAATAATTTCTTACAAAATGAAGATGACACA CTGGCGACATTAAGTTTTGAAAATATCACTTATAGTGTCCCCTCGATAAATTCAGATGGT GTTGAAGAAACTGTGCTGAATGAAATAAGTGGTATCGTGAAGCCCGGCCAAATATTAGCT ATCATGGGTGGATCTGGTGCGGGTAAAACTACTTTATTAGATATCCTAGCAATGAAACGG AAAACAGGTCACGTTTCGGGTTCCATAAAAGTTAACGGTATTAGTATGGACCGTAAATCT TTCTCGAAAATAATCGGGTTCGTCGATCAAGATGACTTTTTGCTGCCCACTTTGACTGTT TTTGAAACCGTATTAAATAGTGCGCTGTTAAGATTGCCAAAAGCATTGTCATTCGAGGCC AAGAAGGCAAGAGTTTATAAGGTGTTGGAAGAACTAAGAATTATTGATATCAAAGATCGT ATTATTGGTAATGAATTTGATCGTGGTATTAGTGGAGGTGAAAAACGCCGAGTTTCCATT GCATGTGAATTAGTGACATCTCCATTGGTTTTATTTTTGGATGAACCTACATCTGGTTTA GATGCTAGTAATGCCAATAATGTTATTGAATGTTTGGTAAGGTTATCCAGCGACTATAAC AGGACATTGGTGCTATCTATTCATCAGCCAAGATCAAATATATTTTATTTATTCGATAAA TTGGTCCTGTTAAGTAAAGGTGAGATGGTCTATTCCGGAAATGCCAAAAAAGTGTCAGAA TTTTTGAGAAATGAGGGATATATCTGTCCGGACAACTATAATATTGCTGATTATTTGATT GATATTACTTTTGAAGCCGGTCCTCAGGGGAAAAGGAGAAGAATCAGAAACATTTCCGAT TTAGAAGCTGGTACGGATACTAACGATATTGATAATACGATACACCAAACAACATTTACT AGCAGTGATGGTACAACACAGAGAGAGTGGGCTCATCTTGCAGCTCATAGAGATGAGATC AGATCTTTACTCAGAGATGAAGAAGATGTAGAGGGAACAGATGGAAGGCGAGGTGCTACT GAGATTGACTTAAATACCAAACTACTACACGATAAATATAAAGATAGCGTCTATTATGCA GAGCTTTCACAGGAGATCGAGGAAGTTTTAAGCGAAGGTGATGAGGAAAGTAACGTTTTG AATGGAGATTTACCCACAGGTCAACAATCTGCTGGTTTTCTGCAACAGTTATCGATATTG AATTCAAGAAGTTTTAAAAACATGTACAGAAACCCTAAACTATTATTGGGTAATTATTTA CTGACGATCCTATTGAGTTTATTCTTGGGAACACTATATTACAACGTCTCCAATGATATC AGCGGTTTTCAGAACAGAATGGGGCTGTTCTTCTTTATACTAACGTACTTCGGTTTTGTT ACATTCACAGGTCTCAGCTCGTTCGCTCTGGAAAGGATCATTTTCATAAAAGAAAGATCC AATAACTATTACTCGCCACTTGCATACTACATTAGTAAGATAATGAGCGAAGTGGTCCCG CTACGTGTTGTACCACCTATACTCTTGTCATTGATTGTTTACCCAATGACTGGTTTAAAC ATGAAAGACAATGCTTTTTTTAAATGTATTGGAATCCTTATACTGTTTAACCTTGGGATA TCGTTGGAAATCCTAACCATCGGCATAATTTTTGAAGACTTGAATAACTCCATAATATTA AGCGTGCTGGTGCTTTTGGGCTCACTACTGTTTAGCGGACTATTTATCAATACTAAGAAT ATTACAAACGTGGCCTTCAAGTACCTGAAAAACTTCTCTGTGTTTTACTACGCCTACGAA TCTTTATTGATCAATGAGGTCAAAACATTGATGCTGAAAGAGAGAAAGTACGGCTTAAAT ATTGAAGTTCCAGGCGCTACTATCTTGAGCACATTTGGATTTGTTGTCCAAAACCTTGTA TTTGACATCAAGATCCTGGCTCTGTTTAATGTGGTGTTTTTAATAATGGGGTATCTAGCC CTTAAGTGGATAGTTGTGGAACAAAAGTAG >PGK1 1251 residues Pha 0 Code 0 ATGTCTTTATCTTCAAAGTTGTCTGTCCAAGATTTGGACTTGAAGGACAAGCGTGTCTTC ATCAGAGTTGACTTCAACGTCCCATTGGACGGTAAGAAGATCACTTCTAACCAAAGAATT GTTGCTGCTTTGCCAACCATCAAGTACGTTTTGGAACACCACCCAAGATACGTTGTCTTG GCTTCTCACTTGGGTAGACCAAACGGTGAAAGAAACGAAAAATACTCTTTGGCTCCAGTT GCTAAGGAATTGCAATCATTGTTGGGTAAGGATGTCACCTTCTTGAACGACTGTGTGCGT CCAGAAGTTGAAGCCGCTGTCAAGGCTTCTGCCCCAGGTTCCGTTATTTTGTTGGAAAAC TTGCGTTACCACATCGAAGAAGAAGGTTCCAGAAAGGTCGATGGTCAAAAGGTCAAGGCT TCCAAGGAAGATGTTCAAAAGTTCAGACACGAATTGAGCTCTTTGGCTGATGTTTACATC AACGATGCCTTCGGTACCGCTCACAGAGCTCACTCTTCTATGGTCGGTTTCGACTTGCCA CAACGTGCTGCCGGTTTCTTGTTGGAAAAGGAATTGAAGTACTTCGGTAAGGCTTTGGAG AACCCAACCAGACCATTCTTGGCCATCTTAGGTGGTGCCAAGGTTGCTGACAAGATTCAA TTGATTGACAACTTGTTGGACAAGGTCGACTCTATCATCATTGGTGGTGGTATGGCTTTC ACCTTCAAGAAGGTTTTGGAAAACACTGAAATCGGTGACTCCATCTTCGACAAGGCTGGT GCTGAAATCGTTCCAAAGTTGATGGAAAAGGCCAAGGCCAAGGGTGTCGAAGTCGTCTTG CCAGTCGACTTCATCATTGCTGATGCTTTCTCTGCTGATGCCAACACCAAGACTGTCACT GACAAGGAAGGTATTCCAGCTGGCTGGCAAGGGTTGGACAATGGTCCAGAATCTAGAAAG TTGTTTGCTGCTACTGTTGCAAAGGCTAAGACCATTGTCTGGAACGGTCCACCAGGTGTT TTCGAATTCGAAAAGTTCGCTGCTGGTACTAAGGCTTTGTTAGACGAAGTTGTCAAGAGC TCTGCTGCTGGTAACACCGTCATCATTGGTGGTGGTGACACTGCCACTGTCGCTAAGAAG TACGGTGTCACTGACAAGATCTCCCATGTCTCTACTGGTGGTGGTGCTTCTTTGGAATTA TTGGAAGGTAAGGAATTGCCAGGTGTTGCTTTCTTATCCGAAAAGAAATAA >POL4 1749 residues Pha 0 Code 0 ATGTCTCTAAAGGGTAAATTTTTCGCCTTTTTACCTAATCCTAACACATCTTCCAATAAG TTCTTTAAGAGTATATTGGAGAAAAAGGGCGCCACAATTGTGTCAAGTATTCAAAATTGT CTTCAATCTAGCCGTAAGGAAGTTATCATTTTGATTGAGGACTCCTTTGTTGATTCTGAT ATGCATTTGACTCAGAAAGATATTTTCCAAAGGGAAGCAGGCTTAAATGATGTCGATGAA TTTCTTGGTAAGATTGAACAGTCAGGCATTCAATGTGTGAAAACCAGTTGCATCACAAAG TGGGTCCAGAATGATAAATTTGCGTTTCAAAAAGATGATTTGATTAAATTTCAACCATCC ATTATCGTTATATCAGATAACGCTGATGACGGACAAAGTTCTACTGATAAAGAGAGTGAG ATTTCAACTGACGTAGAAAGTGAAAGGAATGATGACAGCAACAATAAGGATATGATACAA GCTTCAAAACCTCTTAAGCGACTTTTACAGGAGGATAAAGGAAGAGCTTCCCTTGTTACT GACAAAACGAAGTACAAAAACAATGAATTGATTATCGGAGCGTTGAAAAGGTTAACAAAA AAATATGAGATCGAAGGTGAGAAATTTCGTGCAAGAAGTTATAGACTGGCTAAACAGTCG ATGGAAAATTGCGATTTCAATGTTCGTTCCGGTGAAGAAGCACATACTAAATTAAGGAAT ATCGGGCCTAGTATTGCCAAAAAAATACAAGTTATATTAGATACGGGAGTTTTACCAGGT TTAAATGATTCAGTGGGATTAGAAGACAAGTTAAAATACTTCAAAAATTGTTACGGCATT GGGTCGGAAATTGCTAAACGCTGGAATCTTCTAAATTTTGAAAGCTTTTGTGTTGCAGCT AAGAAGGATCCAGAGGAGTTTGTATCAGATTGGACAATTTTATTTGGTTGGTCATATTAC GACGATTGGTTATGCAAGATGTCTCGGAATGAATGTTTCACACATTTAAAGAAGGTTCAA AAAGCGCTGCGTGGCATTGATCCTGAATGCCAAGTCGAATTACAGGGAAGTTATAATAGG GGCTATTCCAAGTGTGGTGACATTGATCTTTTATTTTTCAAGCCGTTTTGTAATGACACG ACCGAGTTGGCAAAAATCATGGAAACGCTTTGTATTAAGTTGTACAAGGATGGCTATATC CATTGTTTTTTACAGCTAACGCCAAACTTGGAAAAGCTATTCTTAAAAAGAATAGTGGAG AGATTTCGTACAGCGAAGATTGTTGGGTATGGAGAAAGAAAGAGGTGGTATTCTTCTGAG ATAATCAAGAAATTTTTCATGGGAGTCAAATTCTCTCCAAGAGAATTAGAAGAACTGAAA GAAATGAAAAATGATGAAGGCACATTGTTAATTGAAGAAGAAGAAGAAGAAGAAACAAAA TTAAACCCGATTGACCAATATATGTCTCTGAATGCCAAGGATGGAAATTATTGCAGAAGA TTAGACTTTTTTTGTTGCAAGTGGGATGAGCTTGGAGCAGGAAGAATACACTATACTGGA TCTAAAGAGTACAATAGATGGATAAGAATATTGGCAGCGCAAAAAGGCTTCAAGCTTACA CAACACGGTTTATTTCGAAATAATATCCTTCTCGAAAGCTTTAACGAACGCAGAATTTTC GAGTTATTAAACTTAAAATACGCTGAACCCGAACATAGAAATATCGAATGGGAAAAAAAA ACTGCATAA >YCQ7 2862 residues Pha 0 Code 0 ATGCTGATCATCAATGGGAAGATCATCCCTATAGCTCATACTATTTGCGCATTCTCCGCC TTCTTTGCAGCTTTGGTCACTGGTTATTCATTACATTTTCATAAAATTGTAACCAATGCA CATTATACGTATCCAGATGAGTGGTTTCCTAGTGTATCAGCCACTATCGGGGACCGCTAT CCGGAACGTTCTATTTTCCAAATCTTAATAGCTCTAACTGCTTTTCCAAGATTTTTACTG CTACTAGGTCACTACTACTTGAACCAATCTAAGGTATGCTTCCTTGTCGGTGTACTCCGG ACAGTCTCTTGCGGTGGTTGGGTATACATTACAAGTACAGATGACCACGATATTCATGAT ATATTTATGATCACATACATTGTTTTAACGTTACCATGGGATATAATGATTACCCGCTAT TCTAGTCCTTTAACTTCGAAGAACAAAGGGTTGACTGCTACAATTTTTTTTGGAACATTG TTCCCGATGATTTACTGGTACATTCAGCACTCCGTCCAACAGAGAGCTGGGGCATATTCT ATATATGCTTATTTCGAATGGTCTCTGATTCTTTTAGATATTGCATTTGATGCATTTGCT TACGCTGATTTCAAAAAGATAGATATTGTTCTCGCTTTTAATGAGAAACCCGGTAATACC AGTTTTTTCCAAATTAGAGACTCTAATCCCATAAATTATGGAGAAGAAAAAAGTTCAGAA TTGCAGAAAAGTGGTGAAAAGAAGGTTGAAAAGGAAAAACCCGTTGCTAGAAGCGCAACT GGTTCATATTTCAGGTTTGACTCTTTTTTTTACTTACTAACAAATATTTTTAACGGTTTT CTTTTCTGGTCGAACGTTACGTCCCTTTTATGTAGTATTTGGCATTTCCCGCTATGGTAT ATGGGAATCTCAGGTTATGAAGCTGCAATATTGGGTTATTTGGGACCCATTTTCTTATAT CTGCCGTTCGTTTCTGAAGCCTTCATGCAATATGGTGTACTTTTAGGAGGTATTATTGCC ATTGGTGCCTATATTGTTCAGATGCCAGAATTAAGGTTGATTTCTGTAGCTGTGGGAACT TCCATTACCGTTGCAACGTTTGTACAAAATCTAAGATATATCACAAATGCGGAGACTAGT TTCTCTTTTGCTCTAACTTGGCTGCTAGGTCTTGTTGCATCTGTGATCTTGAAAATGGGG TTCTATACCAACAACCCAACTTGGGTCATTTTAGATGAACGTAATGGTGGGTATAATAAG ACAGCTCTCGTGCTTACTGTTTTATTCGGCATGCTGTCGCCTTATGTTAATTCAATTAAT TTCGAAGGGAAAAGGAATGCTCAAGCAAAATCTGCTTCGTTGATCGGCAAATTATTTTTG GCTGTTGGTTTTGGCTCGTTGTTATTCGGAATTCATCAGTTATTGACGGATTCTTCTACT ACTATTTATTGGGCATGGGAAGGTTACAATGAATCACACGGTCCCTTGCCATGGCCTTGG GGCGCCTTAACTTGTACGGTCATGTTATTTGCTTCTTTGAGTTCTGTGAAGTTTATGGGC AAGCCATTAGTTCCATGTTTGTTGCTTCTCATATCCACTGCTGTACTTTCAGCTAGAAGC ATTACACAATGGCCTAAATATATTTTTGGTGGTTTATTGTACGCTATCGCTATGCTTTGG TTAGTTCCTTCGTATTTTTCTGCATTAGGCCAAGTTCAAAACATATGGGTTTATGTCCTA TCATTCTCCGTTTATATTATCTTTGTCCTTGCCCATGTTTGGGTCGTTGCATACGCATTT GTTCCAATGGGCTGGGTACTGAGGGAGAAGATTGAGACGGTTCTTGCCTTTTCTTCCACA TTTATCATTATTGGTGCTTTAACATGCAAAAACCTTAACGTTCAACTGGTGACTATGGGC AAAAAATTCTTCATTTATGTTTTCTTCTTTGCCGTGGCCCTACTATCACTAACAGCTAGG TTCGTGTATGATATTAGACCTACAGGAATTCCTCAGCCTTATCATCCAGATTCTCAGTTG ATTACAGCTGGTATTTGGACTATCCACTTTGGTCTCGATAATGATATGTGGGCATCTGAA GACAGAATGATCAACCTTATTAAAGATATGGAACTAGATGTGGTAGGTCTACTAGAAACA GATACACAAAGAATTACCATGGGGAACAGGGATCTAACTAGCAAACTAGCTCATGATTTG AATATGTATGCAGATTTCGGACCAGGTCCAAATAAACATACCTGGGGCTGTGTTCTTCTT TCTAAATTCCCTATCGTAAATTCTACGCATCATTTATTGCCCTCTCCAGTTGGGGAACTT GCGCCAGCCATTCATGCCACACTTCAAACGTACAATGACACTCTCGTTGACGTCTTTGTA TTCCATAGTGGACAAGAAGAGGATGAAGAGGATAGAAGACTGCAAAGTAACTACATGGCT AAGCTCATGGGCAATACGACTCGCCCAGCTATTTTATTAAGTTACTTAGTTGTTGATCCA GGTGAAGGCAACTACAATACGTACGTTAGTGAAACATCCGGAATGCACGACATTGATCCC TCTGACGATGATAGATGGTGTGAGTATATCTTGTATAAGGGCTTGAGAAGAACAGGATAT GCTAGAGTTGCAAGAGGAACGATAACCGATACGGAGCTACAAGTTGGTAAGTTCCAAGTT TTGAGTGAGCAAGCGTTAGTAGAGCACTCGGATTCTATGTATGAATACGGTCATATGAGT GAACCGGAATATGAGGACATGAAATTTCCAGATAAGTTTTTAGGCGAAGGTGAGAGGGGT CACTTCTACCATGTTTTTGATGAGCCACGTTATTACTTATAA >SRD1 678 residues Pha 0 Code 0 ATGCGATATAATAATTATGACAACTCTGGAAGTTCCTTCTTAACTAGAGTAGTTAAAAAG TCAGATATGGAGAAAACGTTATTATTAAATAGAGAAATTGATGACTGGAAGTCAAACGAT AAAAAGAAGGCATATAAGGAACGCGGAAGAGTTTATGCAAGTTGCTCATTTATTGAAGTA TCCTTTTCTCAAATAAGGGCTGTTGATGTTGAAAAAAAAATTGAGAATGCCGAACAACTA AGAGATCTTACAAGAAATATTGTTAAGAACAAAACCAGCTCTTTGAACGAAATTACACCC TCAAAGAATCGTGTTATTAGTGCATGCAATTCCGAGAGACGTACGACTAGCCAAGAAGCA AACAATCTTGAAGGCTACCATAGTTGTGCACAAGGAACTAGTCGGTCTGCCAGTATTACG AAGAAATACAGCAAAAAGACTACTAGTCGTCCTAAAAGAGAAAAGAGACAAACAATCCTC CCAAATGGTGAGATAAAGGAATGCTCTAAATGTAAAGACACTTGGACAATTCAATGGCGT AGTGGACCCGACCAAAACAGGGAACTTTGTAGTCCCTGTGGACTCGCCTATGGAAAAAGA CTGAAGAAGGAGAATGAAAAAAAAAGGCAAGCGGCAGATAAAAGGATAGATTCGAAACAA TCCATAGTATCTATTTAA >MAK32 1092 residues Pha 0 Code 0 ATGATGAATGAAGAGGATTCTACAGAAACGAAAAGCCTAGTCATAACTAATGGCATGTTT ATCATAGACGACATCGAGCGTAGTAAATATAATATTCACTATAAGAATGTCCCAGGAGGC GGAGGGACTTTTGCCATTTTGGGTGCATGCATAATATCTTCCGGCAATGTCACATCCAAA GGTTTGAAGTGGATAGTGGACAGAGGCTCTGACTTTCCAAAGGAAGTTATAAGGGAAATA GACTCATGGGGTACTGATGTGAGGTTTCGAGATGACTTTAGCAGATTAACTACCAAAGGG TTGAATTATTACGAGGGAAGTGATGATTTGAGAAAGTTCAAGTTTTTGACGCCGAAGAAG CAGATTAACGTCGATGACTGGATTTCCACATTTGGGCAGAAGATAATTGATGAAATGCAT GCGTTTCATTTGCTATGTTCTGGGTCTAGATGCTTAGACATAATAAACGATCTGCTACGG GTGAAAAGTTCAAAGGGCACAAAACCAATCGTGATTTGGGAGCCATTCCCAGATCTTTGC GACTTTGATCATCAAAATGACATTAAAAGTGTAATGCAGAGGAACGATGTTACGGTAATA TTATCTCCAAATGCCGAAGAATCAAGTCGCTTATTTGGTTTAAGTAGCAAGGAACCGACT AGTTTGGAAGAATGTCTAGCATTAGCGCATCGTTTCGATGATTTCATGGATGAAAACAAT ATGTGTATTCTACGATGCGGTGCCCTCGGAAGCATATCGGTAAGTGAGAAGTTTAAGAAC GGACGAACCTATGACCATTTCCCCGCCTACCATTTCAAAACTCAGTCTAAAGTACTAGAT CCTACTGGCGGGGGAAACTCGTTCCTTGGCGGCTTTGCAGTTTCTTATGCCCTAACGAAA AGCTTAGATATTGCTAGTATATGTGGGAACATCGCTGCAGGCGCAATAATTGAACAATTC GGAATACCGAGGTACGATCCAATTGCTAAAACCTGGAACGGAATCACATTCTTGGATAGA CTGAAATTTTACCTTTCACAGTCCGGTCTTCAATATAATATAAACGATCTTTACAAAAGT CTAACACGATGA >PET18 648 residues Pha 0 Code 0 ATGAGCTGTACCACTGATAAGTTAATACAAAAGTACGACGCCCTTGTTAGGAAAACCACA GAACATAAATTCGCTAAGGAACTATGTGCCGGAACATTGAAGGACCGTAGTTTGTACATC TATTTATCACAAGATCTGCAATTTTTTGAAACTAGCTTAAGGTTGATATGTAAGACGACT TCTTTAGCACCAACTACTCACGCTTTAATAACCTTAGCCAAAAAGATTGGATTTTTTTCT AATGATGAAAACTCATACTTTCATGACTGCTTAGAATTATTGGCACCATCCCTCACCAAG GAAGAAAGAGATAATTTTGACAATAAAGCGATCCCCGGCGTTGATGCGTATATTAATTTC TTAGATGAGCTGAGAAAGGACGCCTCAATTACATGGCCATCCTTAGTAACCAGCTTATGG GTTGCTGAGGAACTCTATTGGAGATGGGCTCGTGATACTCCTAGAGCCCCAGGGTTGCAT TGGAAATATCAAAAATGGATTGATTTACATGATGGTGAGCATTTTCAAACTTGGTGTGAA TTTCTAAAGGCTGAAGTTGACAAGTTTCCCGTCGAAGAAGTGGAAAGCATATTTGTGAAG GTTTCACAGTTCGAGTTCGAATTTTTTGAATCTTGTTACAACGCCTAA >MAK31 267 residues Pha 0 Code 0 ATGGACATCTTGAAACTGTCAGATTTTATTGGAAATACTTTAATAGTTTCCCTTACAGAA GATCGTATTTTAGTTGGAAGCTTGGTTGCTGTAGATGCCCAAATGAATTTGCTATTAGAT CATGTTGAGGAACGTATGGGCTCCAGTAGTAGAATGATGGGCCTAGTCAGCGTCCCTAGG CGTTCCGTTAAGACCATAATGATTGATAAGCCTGTTCTGCAGGAGCTTACTGCGAATAAA GTTGAATTGATGGCTAATATTGTTTAG >HSP30 999 residues Pha 0 Code 0 ATGAACGATACGCTATCAAGCTTTTTAAATCGTAACGAGGCTTTAGGGCTTAATCCACCA CATGGCCTGGATATGCACATTACCAAGAGAGGTTCGGATTGGTTATGGGCAGTGTTTGCA GTCTTTGGCTTTATATTGCTATGCTATGTTGTGATGTTCTTCATTGCGGAGAACAAGGGC TCCAGATTGACTAGATATGCCTTAGCTCCTGCATTTTTGATCACTTTCTTTGAATTTTTT GCTTTCTTCACTTATGCTTCTGATTTAGGTTGGACTGGTGTTCAAGCTGAATTTAACCAC GTCAAGGTTAGCAAGTCTATCACAGGTGAAGTTCCCGGTATTAGACAAATCTTTTACTCG AAATATATTGCCTGGTTCTTGTCCTGGCCATGCCTTTTATTTTTAATCGAGTTAGCCGCT AGTACTACTGGTGAGAATGACGACATTTCCGCCTTGGATATGGTACATTCGCTGTTAATT CAAATCGTGGGTACCTTATTCTGGGTTGTTTCGCTATTAGTTGGTTCATTGATCAAGTCC ACCTACAAGTGGGGTTATTACACCATTGGTGCTGTCGCTATGTTGGTTACCCAAGGTGTG ATATGCCAACGTCAATTCTTCAATTTGAAAACTAGAGGGTTCAATGCACTTATGCTGTGT ACCTGCATGGTAATCGTTTGGTTGTACTTTATCTGTTGGGGTCTAAGTGATGGTGGTAAC CGTATTCAACCAGACGGTGAGGCTATCTTTTATGGTGTTTTGGATTTATGTGTATTTGCC ATTTATCCATGTTACTTGCTAATTGCAGTCAGCCGTGATGGCAAATTGCCAAGGCTATCT TTGACAGGAGGATTCTCTCATCACCATGCTACGGACGATGTGGAAGATGCGGCTCCTGAA ACAAAAGAAGCTGTTCCAGAGAGCCCAAGAGCATCTGGAGAGACTGCAATCCACGAACCC GAACCTGAAGCAGAGCAAGCTGTCGAAGATACTGCTTAG >YCR3 1836 residues Pha 0 Code 0 ATGGCGCGTCAAAAGCTTACTTTCAAAGAACAAATGGATGGTTTCCCCTGGGTCCAACTT GTTGTTGTGTCCTTAGTTAGGTTCAGCGAACCAATTGCGTTTTCGTCACTATTTCCTTAT GTTTATTTCATGGTTAGAGATTTTAATATTGCTCCCAATGATGCTCAAGTGTCCAAATAT TCAGGTTATTTATCTTCATCATTTGCGTTATGCCAAGTCATATCTGCGTACCACTGGGGT AGATTCTCTGAAAAACATGGCAGAAAAATAACATTGACTTGCGGGCTTATAGGAACATCT GTATCATTGTTAATACTGGGATTTTCACACAATTTCTATCAGGCTTTGGTGGCAAGAAGT TTAATGGGATTGCTAAATGGTAACGTCGGCGTTATTAGAACCATTATTGGTGAAATAGCA ACTGAAAGAAAACATCAGGCTTTAGCTTTCAGTACTATGCCTTTATTATTTCAATTTGGT GCCGTTGTTGGGCCTATGATCGGTGGGTTTCTTGTATTTAGAGATGGAACAATGAATGAA GTGCCACTATGGTTTCCACATTTTGCAAAAAGAATAATTAGGTCATATCCGTACGCCTTG CCAAACGTGGTAGTGTGCATGTTTTTGATGTTTGGTTTAACTAATGCAACATTGTTTTTG GAAGAAACACATCCTGCTTTTAAAAATAGAAGAGATTACGGTTTAGAGGTCGGTGATTTT ATTAAGAAGAATATATTTGGTATACAGCCGAAAAGAAGACCCTGGCAAAAGCGCATTCAG GATGATTCGGAAAACATTCACCACCGTAATGAGAATGTGAACAGCAATCGAGGACAAGAT AGTGAAGAGGATGAAAATAGTCCCCTAGTGAATACTACCAATGACGATGATACTGAAAGC ATACAATCGATTGATCCTATTTTAACAAGAAGACAGTCTGTAGGCCTGATTAGGACATAT TCTCTGCATGAACCAACAGACGCTGTGCATGCCAATATAGATACAGCTCCAGACGGTTGT AAAGAAAGTAGTATATTTCATCACGTTTTTCATACAAAAGTATTTTACCCTATATCGGTG AATTTTATTATGGCTTTACATTTGATTGTATACAACGAATTTTTGCCTGTTTTTTTAGCT TATGATTTAGCCGTAGATCCAGAAAATCCAAAGAAGCTGGCTTCAAAATTTCCGTGGAAA ATATCTGGCGGTATAGGTTATGAACCAGAACAAACCGGTACTCTTTTGTCGACAACAGGT ATCTTTGGTTGTTTTGTGGTTATTTTCATTTTTCCCATAGTTGATCGAAATTTCGATTGT TTAACAATTTTCAGAACTTTAGTCAAGCTGTACCCTATTATGTACGTTATGGTTCCTTAC GTTGTTTTTCTACAGAATGAACGGATTCCTAGCTGGTATACTGTCGTCTACTTGTACATA ATCACAGGGATAAAAACATTTTGTGGCGCTTTAACGTCACCACAAATTATGTTATTAATT CATAATTCGAGTCCCTTGAGTTGTAGATCAGTCATCAATGGCGCCACCATTAGTATTTCT GCCTCTGCTCGTTTCATAGGTCCCTTAGTATGGGGCTATATTATGTCTTGGTCCCAGCAA AATGACGTCGCCTGGGTCAGTTGGTGGTCGTTAAGTCTTTTTTGTATGGTAGCTCTTTAT CAAAGTTATAAGATAGCACCAATTGATGATAACGAAAATGAGCTTCATGGACAGGGTAGT GAAGATGCCTACAATTCGCAGTCACAGTCTTCTGATTTAAGAATGGCTCATCGATCTAGT TTAAGCAGCTTAAGTAACCAACGCTGTACCACATGA >SYN 1479 residues Pha 0 Code 0 ATGTTTCATGCTTTCACCTTCCTTAAAGGTGGTAGATTTTACTCTTCACTAACAGTTAAA TCATTGTACGAGCAGGTACACCATACTAGCCATGATCCCATTTCAATTAATGGATGGATC AAATCCATAAGACTATTAAAACGTATAGCGTTTTTGGATTTACAAGATGGGACTTCTGTG AACCCATTAAGAATAGTTATTCCACTCACAAATACTGATGAAGTACAGTTCCTAAAAATT CTGAAAACTGGTCAAACTTTATCTATATCTAATGCTACCTGGCAAAGCACCCCTAATAGA AAACAACCTTTTGAATTGCAAATCAAAAATCCTGTCAAGTCAATTAAACTTGTGGGTCCC GTTTCAGAAAACTATCCATTACAAAAGAAATATCAAACCTTACGTTATTTAAGGTCCTTA CCTACACTAAAATACAGAACCGCTTACTTAAGTGCAATTTTACGGTTAAGATCATTTGTA GAATTCCAGTTCATGCTATATTTCCAGAAAAACCACTTCACCAAAGTTTCACCACCAATA TTAACTTCAAACGATTGTGAAGGTGCCGGCGAGTTGTTTCAAGTCTCCACCAATACGTCG CCAACTGCATCCTCGTACTTTGGGAAGCCGACTTATTTGACTGTGTCCACTCAATTGCAC TTGGAAATTTTAGCGTTATCACTGTCAAGGTGTTGGACGTTATCTCCTTGCTTTAGAGCC GAAAAGAGTGATACTCCAAGACACCTTTCGGAGTTTTGGATGCTTGAAGTGGAAATGTGC TTTGTTAATAGCGTCAACGAGCTAACATCGTTTGTTGAGACTACAATAAAACACATAATT AAAGCTTGTATAGATAACCAACAAGAACTCTTGCCGAAGCAATTTATCTCTTCACAAGAA AATAATGCATCGTCAGAGCTATCAATAAATCAAGAGACACAACAAATTAAAACACGATGG GAAGATTTAATAAATGAAAAATGGCACAATATAACGTATACCAATGCAATAGAAATTCTC AAGAAACGCCACAATGAAGTTTCACACTTTAAGTATGAACCTAAATGGGGACAGCCTTTG CAAACTGAACATGAAAAATTTTTAGCCGGAGAGTATTTTAAGTCCCCAGTTTTCGTTACC GACTATCCACGTCTTTGTAAACCATTCTACATGAAACAAAATTCCACTCCTGACGATACT GTTGGATGCTTTGATCTACTGGTTCCTGGAATGGGTGAAATAATTGGTGGGAGTTTAAGG GAAGATGACTATGACAAGTTATGTAGAGAAATGAAAGCACGCGGGATGAATAGATCTGGA GAATTGGACTGGTATGTTTCTCTGAGAAAAGAAGGAAGTGCACCACACGGAGGCTTTGGT CTAGGGTTTGAGAGATTTATCTCATACTTATATGGCAACCATAATATAAAGGATGCCATA CCCTTTTATAGAACATCTGCAGAATCCATCGATTTTTGA >YCR6 2232 residues Pha 0 Code 0 ATGGAACTTCAGAATGATTTAGAGTCGCTCGATAACGAGCTGAATGATTTTAGTGAAGAT CCATTTCGTGATGATTTCATAACGGATGAAGACGCTGTAAGATCGGGGTGGCGATCTGCG TGGACCAGGATGAAATATTGGTTTTATAAGAATAGACTGAAGTGGACAAACAATCCCATA GTGATTGGCGACGCGAAAGATAGTAGGGATGGTTCTAACTTTAGAAGGGGTATACCGCTA TATGAATTAGACGCGAATGGTCAACCCATTGATACTGAACTTGTTGATGAGAATGAACTT TCTTTTGGAACGGGATTTCGTTCCAAAGTGCCTTTTAAAATAATATTTCGCACATTGCTT GGCTCGCTGGTGTTTGCCATTTTTTTAATTCTGATGATTAACATAGCAAAACCCCATCAC TCCACGAGAGTGCTATCGCACTTTGGCAGTCCTGAATTTGACCCTTACGTGAAGTATTTT AACGGTACGCATGAATTTTTCCCCTTAACGATAGTAATTTCACTAGACGGTTTCCATCCT TCACTCATATCTAAGAGGAACACACCGTTTTTACATGACTTATATGAATTGAAATATGAT GGAGGTATGAATATCACGTCCACACCTTTTATGATACCCAGCTTCCCTACGGAGACCTTT CCCAACCATTGGACGTTGGTTACTGGACAATACCCAATACACCACGGTATAGTCTCTAAC GTATTTTGGGATCCTGATCTTAATGAAGAATTCCATCCAGGTGTATTGGACCCTCGAATA TGGAACAATAATGATACAGAACCAATATGGCAAACTGTTCAGTCTGCATTTGACGGTGAT ATACCATTCAAAGCTGCTACCCATATGTGGCCAGGTAGCGATGTGAATTATACCAAGTAT AAGACTGAAGAGAAACTACAACCTGAACATAAAAAGCCTATTGCTAGAGAGAGAACTCCA TTTTACTTCGACGAATTCAATGCTAAAGAACCACTTTCGCAAAAATTATCCAAGATTATT GAATATGTGGATATGAGTACACTGAACGAAAGACCACAGTTAATTCTCGGTTATGTACCG AACGTAGATGCCTTTGGACATAAGCATGGATATCCGTCAGAGTCGGAATACTATTATGAA GACTTCACTGAAACACTGGGGGAAGTAGATACATTTCTGAAGCAACTAGTGGAATCGCTG CAAGAAAGAAATTTAACCAGCTTTACTAATTTGGTCATTGTTAGCGATCATGGTATGAGC GATATCGTAGTTCCCTCAAATGTTATTATATGGGAAGACTTACTGGACGAAAAATTGAGG AAGGATTATGTATCGCACGCATATCTAGAGGGTCCGATGATGGCTATATCGTTGAAAGAT TCCGGAAACATCAATGAGGTTTACCACAATTTAAAGACTTCTATAGATGAAGACAAGTAT ACGGTTTACGTTAATGGAAATTTCCCCAAAGAATGGAACTTTAATGATGGAAAAAATCAT CACATGGCGTCAATCTGGATTGTGCCCGAGCCTGGGTATGCAGTGATGAAGAAAGAACAA TTGAAGAAGGTGGCAAAAGGTGATCATAAGGACAAAAACGAAGACAATGTGTTCACGATT GGATCACATGGATACGACAATAACGCGATCGATATGAGATCTGTATTTATTGGTATGGGG CCATATTTTCCACAGGGATACATTGAGCCGTTCCAAAATACCGAAATTTACAACCTTTTG TGCGATATTTGCGGTGTGGCAGAAAAGGACAGAAATTCCAATGATGGGACTGGGATGCTT ATGAACCAACTCCGCGAACCCCAGAGCAGCGAAGAAGTAGAGATTGAAGATGACTTTGAT TATTTGGTCAGTAAGTTTGGTGAATTCAGCACTTATAATATAATTTGGGGCGGGTACCCC GAAGAGACAGAACAAGACAATGTTGACAATGATAATGATGACAACGACGATGGAAACACT GATGAAATAGCCGCTATGCCATCTTCGTCATTAACGATAAAACTAGAAATGACAACTTCA ATACCATCAGCAACTGAGACTCTACCGGGCGAAACATCACCATCATCAAGAAGAAGCAGC AGCAGCAGCATACAAGCTAGCGCTACTGCTAGCACAGTGGGGGATTGGCTTCAAGACATA ATCAACGACGCAAAAGATCTCATTGACGACATAATTGACAGCATCGACGATTTAGTCGAT TCTGATACCTAA >GNS1 630 residues Pha 0 Code 0 ATGGAATACGCCACTATGTCTTCTTCGAACTCCACACATAACTTTCAGAGAAAGATTGCT CTTATAGGAGCTAGAAATGTCGGCAAAACCACATTAACGGTTCGCTTCGTAGAATCGCGG TTCGTTGAATCCTATTATCCCACTATTGAAAATGAATTTACCAGGATAATTCCTTATAAA AGTCATGACTGTACTCTGGAAATTCTAGATACTGCAGGCCAAGATGAAGTTTCTCTATTA AACATTAAATCGTTGACGGGCGTACGAGGCATAATGCTGTGCTATAGTATAATAAATCGT GCTAGCTTTGATCTTATTCCCATTCTCTGGGACAAGCTGGTAGATCAGCTGGGTAAGGAT AACCTCCCGGTAATACTTGTGGGTACCAAAGCTGATTTGGGAAGGAGTACAAAAGGTGTA AAAAGGTGTGTCACGAAAGCTGAAGGAGAGAAACTAGCTTCGACAATTGGCAGTCAAGAT AAGAGGAACCAGGCAGCATTTATAGAATGCAGTGCCGAGTTAGATTATAATGTTGAAGAA ACTTTTATGCTCCTTTTGAAACAAATGGAACGTGTCGAAGGAACTCTGGGGCTTGATGCC GAAAATAATAATAAATGTTCTATAATGTGA >FEN2 1539 residues Pha 0 Code 0 ATGATGAAGGAATCGAAATCTATCACTCAACATGAGGTTGAGAGAGAATCTGTTTCTTCC AAACGTGCCATTAAAAAGAGATTACTTCTGTTTAAAATAGACTTGTTTGTGCTATCATTT GTTTGCTTGCAATACTGGATTAATTATGTCGACCGTGTCGGTTTCACCAATGCATATATA TCGGGTATGAAGGAAGATCTTAAGATGGTCGGAAACGATTTGACCGTGTCTAACACAGTT TTCATGATTGGTTACATTGTAGGTATGGTCCCCAATAATTTAATGTTATTGTGTGTTCCA CCTAGGATATGGCTAAGTTTTTGTACGTTTGCCTGGGGTTTATTGACCTTGGGAATGTAC AAAGTTACATCGTTCAAACATATTTGCGCAATTAGATTCTTTCAAGCCTTATTTGAGAGT TGCACATTTTCAGGAACACATTTTGTTTTGGGTTCGTGGTATAAAGAAGACGAATTGCCC ATTAGAAGTGCTATTTTTACAGGTAGCGGTTTGGTGGGATCTATGTTCAGTGGATTTATG CAAACAAGTATCTTTACTCATTTGAATGGGCGGAATGGCTTGGCGGGTTGGAGATGGTTA TTCATTATTGATTTTTGTATCACATTACCCATTGCAATTTATGGGTTTATTTTCTTCCCC GGCCTTCCTGATCAAACAAGTGCTGTTAGCAAATTTTCTATGACGAGATACATTTTTAAT GAACAAGAGCTACATTATGCTAGGAGAAGGCTCCCCGCTAGGGACGAAAGCACCCGGTTA GACTGGTCGACTATTCCTAGAGTCCTAAAAAGGTGGCACTGGTGGATGTTCTCTCTTGTT TGGGTTCTGGGAGGTGAGAATTTGGGTTTCGCATCTAATTCTACATTTGCATTATGGTTA CAAAACCAAAAATATACGTTGGCGCAAAGAAATAATTATCCTTCGGGGATATTTGCCGTA GGTATAGTTTCTACGCTTTGTTCTGCTGTATATATGAGTAAGATCCCAAGAGCTAGGCAT TGGCATGTTTCTGTTTTCATATCATTGGTAATGGTTATTGTTGCGGTACTAATACGTGCA GACCCACTAAATCCAAAAGTCGTCTTTTCTGCACAGTATCTTGGAGGCGTAGCATACGCT GGACAAGCGGTTTTTTTTTCGTGGGCAAACATTATTTGTCATGCAGATCTTCAAGAACGT GCTATCGTTCTTGCTTCAATGAATATGTTTTCAGGGGCCGTTAACGCATGGTGGTCTATA TTATTCTTTGCTTCAGATATGGTGCCCAAGTTTGAGAGAGGTTGCTACGCCCTCTTGGCT ACGGCAATATCAAGCGGAATTGTCTCGGTCGTCATACGCTCACTACAGATAAAAGAGAAT TTGTCTAAGAAACAGGTTCCTTATATAGATGCTAATGACATGCCCGGGGAAGATGACGAT GACGACAACCAGGATAATGAAAATGATGGCGACGACGAGAGTATGGAAGTTGAACTTCAT AATGAGGAAATGGCCGAAATTTCAAATCCTTTCCGATAA >RIM1 444 residues Pha 0 Code 0 ATGTTTTTACGTACTCAAGCTCGTTTCTTCCATGCTACTACCAAGAAGATGGACTTCTCG AAAATGTCCATCGTCGGCCGCATTGGCTCTGAATTCACTGAACATACTTCTGCTAATAAC AATCGTTATTTGAAATATAGTATCGCTTCGCAACCAAGAAGAGATGGCCAAACCAATTGG TATAATATCACCGTTTTCAATGAACCTCAAATCAATTTTTTGACAGAATATGTTAGAAAA GGCGCTTTGGTATATGTTGAAGCAGATGCTGCTAACTATGTCTTCGAGAGAGACGACGGT TCTAAGGGTACTACTTTGAGCTTAGTTCAAAAGGACATTAATTTATTGAAGAATGGGAAG AAATTAGAAGATGCTGAGGGCCAAGAAAATGCTGAGGGCCAAGAAAATGCTGAGGGCCAA GAAAATGCTGCTTCTTCAGAATAA >CRY1 414 residues Pha 0 Code 0 ATGTCTAACGTTGTTCAAGCTCGTGACAATTCCCAAGTTTTTGGTGTTGCTAGAATTTAC GCTTCTTTCAACGATACTTTCGTTCATGTTACCGATTTATCTGGTAAGGAAACCATCGCC AGAGTTACTGGTGGTATGAAGGTTAAGGCTGACAGAGATGAATCTTCTCCATACGCTGCT ATGTTAGCTGCCCAAGATGTTGCCGCTAAGTGTAGGGAAGTCGGTATCACTGCCGTTCAC GTTAAGATCAGAGCTACCGGTGGTACTAGAACCAAGACTCCAGGTCCAGGTGGTCAAGCT GCTTTGAGAGCTTTGGCCAGATCTGGTTTGAGAATTGGCCGTATCGAAGATGTTACCCCA GTTCCATCTGACTCCACCAGAAAGAAGGGTGGTAGAAGAGGTAGAAGATTATGA >YCS2 6504 residues Pha 0 Code 0 ATGAATTCAATTATTAATGCTGCTTCGAAAGTCTTAAGACTCCAAGACGATGTGAAGAAG GCTACTATAATATTAGGAGATATACTGATATTACAACCAATTAATCACGAAGTTGAACCA GATGTAGAAAACTTGGTACAGCATGAACTAACCAAGATAATACAAGGTTATCCCATACAG GATAATATGATTATTAATAGCAAAAAAGGCACAGTTGAAGATGACTTATGCGAACTCAAT AACTATACCTGTTTTGCACTTTCGAAAAGCTTTGATTTATGCCATGATAGCAGAAATTTC AACATAGCGCAGCCGAAACGATGGATACAATTATTAGAGACATTAACTGACTCAGTTAGT TTCGCAGTTATTGTTCAAATTATTCTCACTTTATCTAACATTTCGCTAATAAATAAACAA ACCTTGGGGAAGTTAAAAAAACTGAGGATTCGAATTTTCGAAATACTATCAAATAAAAAC GATAGTTGGAAATCTACATTACTACAGAAAAACCTTATAGAATGGTACATTTTTATGCTT TCCGTGGATTGCACACCTTTAGAATTGCAAAACTTATATCTCCATAAGGAGTTGAAATTC TGTAACGATATCTTGAATTCATTAACACTCCAAGTTTCTGATCCTCGCTCACAAAATTAC CTGCAATTTGAGAACACGTATAAGCTTTTTCAAATACAAAAGTCATCTAGAATTAACAAC TCGTTCCTTTTTTACATAGAATTCAATTCCGTTACCTCAAATAGGATAATGACCATAGAA AAACACATTTATTTGGAAATTAAGGAAGGCCAGTTTTGTATTTCAAATGATAACTACATA ATCGGTTTATTTGAAAACTTCGAATTCGAAGCGGGCACTTTGTACTTTATTGGAGTTTTA ATTGATCACAATAATCGAATAACTCTTTATGTTGATGGAAGTATGATCAATCAGCTCACG TTATTTGAAAACTCTATATGCCAATTAAGCACTTGTGAACTGGGATCCATGATTTGTTCA ATTAAAGTATATAGATTTTATTTGTGGGATGGATTATTAACAGAATTTGCGATAAATATA CTTCAAGCTATCGGCACCAATTACCAATATACATTTAGCAAGAAAAAAGAAGGGCCTGAA GTTTTATCGCTCTGCCAAGACTTTTTGATCGCTAAGGCTCATTTAATGGCCAGGCCTGCA ACAGAAATATCTTCCACAAAATACATCGATGAGATTGAACTTCTTGAAATGGAAAATATC ATTATTGATGTTAACCCAAATGATATTCTTCAAGATTTCACCGAATCGTCTAATTTTACG GTAAAATTTGAGGAAAGCACAAACTCGAAAAATATTCCGGAAGTGGGTAAGTGCTATTTC TATAGGAGTTCAAACTTGGTTTCAAAATTTGTGTCCATTGATTCTATACGGCTTGCGTTT TTAAACATGACAGAATCCGGTAGTATAGACGATCTGTTTCATCATGTATCACATCTGATG AATCTTTTACGAAATATTGATATTCTTAATTGGTTTAAAAAAGACTTTGGCTTCCCTTTA TTTGCTTATACTTTAAAACAAAAAATAACACAAGATTTATCTCAGCCTCTGAATATCCAA TTTTTCAATTTATTCTTAGAATTTTGCGGGTGGGATTTCAACGATATTTCCAAATCCATA ATTCTAGATACTGATGCCTACGAAAACATAGTCCTTAACTTGGATTTATGGTATATGAAT GAGGATCAAAGTTCTCTGGCGTCAGGCGGATTAGAAATTATCAGATTTCTTTTCTTCCAA ATTTCAAGTTTGATGGAAGCCTCTATTTATTCTAAGTTCAATTCCAATAAATTCAATGAT ATGAATATCCTAGAAAAACTATGTTTAAGCTATCAGGCTGTCACAAAAAGAGAAAATCAG AACAGTAAATTTAATGAGCTATCAAATGATTTAATTTCTGTATTTGTTACTTTATTGAAA AGCAATACTGATAAACGACACCTGCAGTGGTTTTTACATCTCTCATATTACTTTATTAAG AGAAAAGATGTACGTTCTACAGAAATTATACTTCAAGCGGTAGATCAACTTTTTTCGTTT TACTTAGATCAAGGTAGCGACGAAAATGCGAAGATACTTTCAGAGATTATACCACTTAAG CTAATGCTGATGATTATGGATCAAATAGTGGAAAATAATGAATCAAACCCTATTACGTGC TTGAATATCTTATTTAAGGTAGTTCTGACCAATAAACCGCTTTTCAAACAATTTTACAAA AATGATGGTTTGAAACTCATATTGACTATGCTTTGTAAGGTAGGGAAAAGCTATCGAGAG GAGATTATTTCTTTGCTTCTCACATATTCTATTGGCAATTATACCACAGCTAACGAAATA TTTTCAGGTGCTGAAGACATGATTGGAGGAATTTCAAACGACAAGATAACTGCAAAAGAA ATTATTTATTTGGCTGTCAACTTCATTGAGTGGCATGTGATTAATTCTAATGCCAGTGAT TCTTCTTCTGTATTGGACCTGAACAACCATATATTAAGATTCGTCGAAGATCTGAAATCG CTGAGCGCTGTTCCGATTAATGAATCTGTATTTGATCCTAAAAAAAGTTATGTGATGGTT TCATTATTAGATCTCTCGATAGCTTTGAATGAATCGGAGGACATCTCAAAGTTCAAGAGC TCTTCAAAAGTGATTTCAGAGCTCATTAAAGGTAATATAATGTGTGCTCTTACGAAATAT GCCGCTTATGATTTCGAAGTCTATATGAGCACATTTTTTTGTCACAGTACAGAATACAAA CTGGTTTATCCAAAAACTGTAATGAACAATTCCAGTTACTTAGAGCTATCATTTATAGTG ACACTCCTACCCGAAATACTTAATGACCTGATAGATAGCAATAACAATTTGAACCTGATG ATGTTGAAGCATCCATACACGATGTCAAATCTCCTTTATTTTCTTCGCAAATTTCGACCT GATACGTCACAGATAGTTATGCCTAAAGATTTTTATTTCTCAAGTTATACATGTCTCTTG CATTGTGTTATTCAGATTGATAAATCATCATTTTACCATTTCAAAAACGTTTCTAAGTCG CAACTGTTACAGGAATTCAAAATCTGCATAATGAACTTAATATATTCCAATACTCTAAAG CAGATAATCTGGGAGAAAGAAGAATACGAGATGTTTTCTGAGTCACTGATGGCGCATCAG GAAGTTTTATTTGCACATGGAGCATGTGATAATGAGACCGTTGGCTTATTGTTAATATTT TTTGCCAACAGATTACGTGATTGTGGATACAACAAAGCAGTCTTCAATTGTATGAAAGTG ATCATTAAGAACAAGGAAAGGAAACTAAAGGAGGTGGCGTGTTTTTTTGACGCAGCGAAT AAAAGTGAAGTACTCGAAGGTTTAAGTAATATCCTCTCATGCAATAACTCTGAAACAATG AACCTCATAACTGAACAATACCCATTTTTTTTCAACAATACACAACAGGTACGGTTCATA AACATTGTCACCAATATCTTGTTTAAGAACAACAATTTTTCTCCAATAAGCGTTAGACAG ATCAAAAACCAAGTTTACGAATGGAAAAATGCAAGATCAGAATACGTCACCCAAAACAAT AAAAAGTGCCTTATTTTATTTAGAAAAGACAACACATCCTTAGATTTTAAAATCAAAAAG TCCATATCAAGATACACTTACAACCTCAAAACGGATAGAGAAGAAAATGCAGTTTTCTAT CGAAATAATTTAAATCTTTTGATTTTTCATCTGAAACATACACTGGAGATACAATCAAAT CCAAATTCGTCCTGCAAGTGGTCATTGGACTTTGCAGAAGATTTTGATGGGATGAAACGG AGGCTTTTGCCTGCTTGGGAACCAAAATATGAACCACTCATTAACGAGGAAGATGCTAAT CAAGATACTATAACAGGTGGTAACAGACAAAGGAGAGAAAGTGGAAGCATTTTATCCTAC GAATTTATCGAACATATGGAGACTCTTGAGTCGGAGCCAGTTGGAGATTTGAATGAGAAT AGAAAAATTCTTAGACTTTTGAAGGATAACGATTCTATTGCAACTATTTGGAATTGCAGT TTGATTATTGGATTAGAAATTAAGGAGGGGATTTTAATTCATGGCAGTAATTACCTTTAC TTTGTAAGTGATTACTATTTTAGTTTAGAGGATAAAAAGATTCTAAAATTATCAGAAGTA TCGCAAGAATCACGGGATATGACGGTTAGCTTAATTAACGGCCCTGATGTTAAAAGGGTA TCAACTTTCCTAAAGCACGAAGTCTTTGTTTGGAAACTTCTCGATATCACTTTCGTTACC AAACGACCCTTTCTACTTCGGGATGTCGCCATCGAATTATTGTTCAAAGAGAGAGTTAGC GCTTTTTTTAGTTTTTACAACAAAAGAGTGAGAGATGACGTTTTACGGGTACTGAATAAG ATCCCGAAGCACCTTCCAGCAGATCCAATTTTTTCAAGCGTTTTACAAGAAATAAACGAC CGAGGAAATAGTATAGTGGCAAGAAATGGAATAGGAAAGGCAAGCATTGCTTCCAAATTC ACTAGCGTCTTCTCAGCGAACAACAGCCTAATAGATGGATTTGAGATCAGCAAAAAATGG GTTAGGGGAGAGATTTCTAATTTTTATTACCTGTTGAGTATCAACATCCTAGCGGGAAGG TCATTCAACGATTTGACCCAATATCCAGTGTTTCCGTGGGTTATTGCAGATTACGAAAGT AACGTACTCGATTTAGAGAATCCTAAAACTTACCGGGACCTATCGAAACCTATGGGCGCT CAAAGTGAGAAAAGGAAATTACAGTTTATAGAGCGTTATGAAGCTTTGGCTTCCCTGGAA AATGCTGATTCCGCACCATTTCATTATGGCACGCATTATTCCTCAGCTATGATAGTATCT TCATATCTGATAAGGCTGAAGCCCTTTGTCGAATCCTTTTTGTTATTGCAAGGCGGAAGT TTTGGCCCTGCAGATCGTTTATTTAGTTCGCTTGAAAGGGCCTGGAGCTCTGCTTCTTCT GAAAATACAACGGATGTCAGGGAATTGACACCTGAATTTTTTTTTCTACCTGAATTTTTG ATCAACGTTAATAGTTATGACTTTGGTACAGACCAAAGCGGTAAAAAAGTTGACGACGTC GTACTTCCACCCTGGGCAAATGGTGACCCAAAGGTTTTCATTCAAAAGAATAGAGAAGCT TTAGAAAGTCCTTATGTATCAGCACATTTACATGAATGGATTGATTTGATATTTGGTTAC AAACAAAAGGGGGAAATTGCTGTGAAATCTGTTAACGTATTCAACAGATTGAGTTACCCA GGCGCTGTAAATCTAGATAATATTGACGATGAAAATGAGCGCAGAGCTATCACAGGCATT ATTCACAACTTTGGTCAAACGCCTTTACAAATATTTCAGGAACCTCATCCGGAAAAAATA GCCTGCAATGTTCAACAGCTAACAACAGAGGTATGGCGTAAGGTTCCAATGAAGCCAATA TTTGAGAAGACAATCTTTAATTTGAATGAAAAGAACAGGTCTGTCGATTATGTTATACAC GATCCTAGTTACTTCGATTCATTATACTGGAGGGGCTTCGCTTTCCCAAACTTGTTTTTC AGAACGGAAGAATCGTTAGTGTCATTGAGAATTGTGCATAAAAATTGGTTAAAAATTGGA CTAGATATTTTTAAAAAGACGCATATGGCTCAGATTACATCGTTTGCGTACTGGAAGTTG GGCGAATTCATAACTGGTGATAAAAATGGGCTGATAAAAGTTTGGAAATATCGTAAAGAT AAGCATTCGGTTTCAGGTAACCTTGAGAACAAAAAAACAATGTTTGGGCACCTATGCGAG CTAAAGGAAATGCGCTGTTATCACGACTACAATACGCTTTTAACCTTAGACATCAGCGGC TTAGTATATGTCTGGGACATGATTAATTTCGAACTAGTGAGACAAATAACAAATGATGCG CAAAAGGTCGCAATATCTCAACATGCAGGGAGCATTATGGTATTGACTAAGAATAACGCC ATTTCGATCTTCAATCTAAATGGACAAATATATACATCAAAGAAATTCGAACCAGCTAAA ATTGTAAGCTCAATTGATTTTTTTGACTTCACTAAGTTAGACGCAGGTTACAGAAAGCAT ATCTATTGGAAAGAGATGGAAATACTACTAGTGGGCTTTGAAGATGGAACTATAGAAATT TACGAGCTCTTTTTGACTTTTCATAATGAATGGGCGATAAAGCTACTGAAACAGCTCTGT ACCGAAAGAGGGAAAGCCATAACTAGCATTAAGGGACAGGGGAAGACATACCTGTCCCAG AAAAGACGCAAGGATACAGCAGAGCCTCATGAGATAGAAGTGATTGCGGGAACATTAGAT GGCAGATTAGCTATTTGGTACTAG >YCS3 3681 residues Pha 0 Code 0 ATGGGGTATCCGCCACCTACACGAAGGCTTGGAGATAAGAAAAGGTACCATTATTCCAAT AATCCTAACCGAAGGCATCCTTCCGCTGTTTATTCCAAGAATAGCTTTCCAAAATCAAGC AATAATGGATTTGTATCTTCTCCTACTGCCGATAATTCAACAAATCCGTCTGTAACTCCC AGTACTGCATCTGTACCTCTTCCTACAGCGGCACCTGGAAGCACGTTTGGTATCGAAGCA CCCAGGCCATCTCGATATGATCCGAGCTCAGTCAGTAGGCCTTCGTCATCATCTTATTCG TCAACAAGAAAAATTGGAAGCCGTTATAACCCAGATGTGGAAAGATCCTCTTCAACCACT AGTTCAACTCCGGAAAGTATGAATACGAGCACCATAACACACACCAATACGGATATCGGA AACTCACGCTATTCTCGAAAAACCATGAGCAGATATAATCCTCAATCTACTAGTTCTACA AACGTTACCCACTTTCCCTCGGCATTATCAAACGCTCCACCGTTTTATGTTGCCAACGGG AGTTCTCGGAGACCTCGATCAATGGATGATTATAGTCCTGATGTAACGAACAAGCTCGAA ACAAATAATGTTTCATCTGTTAATAATAACAGCCCTCATTCTTATTACTCTAGGAGCAAC AAATGGAGATCCATTGGAACGCCTTCCAGACCACCATTTGATAATCATGTCGGCAATATG ACGACCACCAGCAATACTAACTCGATCCATCAAAGGGAACCTTTTTGGAAAGCAAATAGT ACTACTATTTTAAAATCAACTCATTCACAGTCATCGCCTTCCCTTCATACTAAAAAATTT CACGATGCGAATAAATTGGACAAACCAGAGGCTTCAGTTAAAGTTGAAACACCCAGTAAA GATGAGACAAAAACCATATCGTACCATGATAACAATTTTCCACCAAGAAAATCAGTTTCT AAACCTAATGCACCTTTAGAACCCGATAATATCAAGGTTGGCGAAGAAGATGCATTGGGG AAAAAAGAAGTACATAAAAGTGGGCGTGAGATAGCAAAGGAACATCCTACTCCTGTAAAA ATGAAAGAGCATGATGAACTAGAAGCTCGCGCTAAAAAAGTAAATAAAATCAATATTGAT GGAAAGCAGGACGAAATTTGGACGACAGCAAAAACAGTGGCCAGTGCAGTCGAAGTTTCC AAAGAAAGTCATAAGGAACTAACACGCTCTGTTGAAAGGAAGGAAAGTCCAGAAATTAGA GATTATGAAAGAGCATACGATCCGAAAGCCCTGAAAACAGACGCAACAAAGTTGACAGTA GACGATGATAATAAAAGTTACGAAGAACCTCTTGAAAAAGTGGAAGGGTGTATTTTCCCA TTACCAAAAGCAGAAACGAGATTATGGGAATTGAAAAACCAGAAAAGAAACAAAATAATA AGTAAACAAAAGTACTTACTGAAAAAGGCAATTAGGAATTTCTCAGAGTATCCTTTTTAC GCACAGAACAAACTTATACATCAGCAGGCTACCGGACTTATCTTGACGAAAATTATATCA AAGATAAAAAAGGAGGAACATTTGAAAAAAATAAATTTAAAACATGATTATTTCGATCTC CAGAAGAAGTATGAAAAAGAATGCGAAATTTTGACTAAACTGAGTGAAAATTTAAGGAAG GAAGAAATCGAAAATAAACGTAAAGAGCACGAATTAATGGAGCAGAAAAGACGTGAAGAA GGTATCGAAACAGAAAAAGAAAAAAGCTTACGGCATCCATCCTCGTCTTCCTCATCTCGT CGCAGAAATAGGGCTGACTTCGTTGATGATGCGGAAATGGAAAATGTATTGCTACAAATC GACCCAAATTATAAACATTATCAGGCTGCTGCAACAATTCCTCCGCTAATTTTAGATCCA ATCCGCAAATACTCTTACAAATTCTGTGATGTAAATAACTTGGTTACAGACAAAAAGCTT TGGGCGTCTAGAATATTGAAAGACGCCTCTGACAACTTTACTGACCATGAGCACTCTTTA TTTTTGGAGGGTTATTTAATTCATCCTAAAAAATTCGGTAAAATTTCTCACTACATGGGC GGCTTAAGAAGTCCTGAAGAGTGTGTCCTACATTATTATAGAACAAAGAAAACTGTGAAT TATAAACAACTTCTTATCGATAAGAACAAGAAAAGAAAAATGTCAGCCGCTGCGAAGCGC CGCAAGAGGAAGGAAAGAAGTAATGACGAGGAAGTCGAAGTTGATGAGAGTAAAGAAGAG TCAACGAACACGATAGATAAGGAAGAAAAAAGTGAGAACAATGCCGAGGAAAATGTTCAG CCGGTTCTAGTTCAAGGTTCTGAAGTGAAAGGTGATCCATTAGGTACACCGGAAAAAGTT GAAAATATGATTGAAAAGAGAGGCGAAGAGTTTGCAGGTGAATTGGAAAATGCTGAGAGG GTAAATGACTTAAAAAGGGCGCATGATGAAATTGGAGAAGAGAGCAATAAGTCCAGTGTA ATAGAAACCAACAATGAGGTACAAATAATGGCTCCAAAAGGAGGTGTTCGGAATGGTTAT TATCCAGAGGAGACCAAAGAACTTGACTTCAGTTTAGAGAATGCGTTACAGAGAAAGAAA CACAAATCTGCACCAGAGCATAAAACAAGTTATTGGAGTGTTCGTGAATCTCAACTCTTT CCAGAATTGTTGAAGGAGTTTGGCTCTCAATGGTCTCTCATATCAGAAAAACTGGGTACC AAATCTACTACAATGGTAAGGAATTACTACCAAAGAAATGCAGCTCGCAATGGATGGAAA TTACTGGTTGATGAAACCGACTTAAAGCGAGATGGGACTAGTTCAGAATCTGTACAACAA TCTCAAATTTTGATACAACCAGAACGACCAAACATCAATGCCTATAGTAATATTCCTCCT CAACAAAGACCGGCTTTGGGTTATTTTGTTGGACAACCAACTCATGGGCATAATACATCT ATTTCATCTATCGATGGCTCTATAAGACCATTTGGGCCTGATTTTCATCGTGATACCTTT TCTAAAATTAGTGCTCCTTTAACCACTTTACCACCACCAAGACTACCATCTATTCAGTTT CCTCGTTCAGAAATGGCAGAACCTACAGTGACAGATTTGCGTAACAGGCCCTTAGACCAT ATTGACACGTTGGCTGATGCAGCTTCGTCAGTAACAAATAATCAAAACTTCAGTAATGAA AGGAATGCAATTGACATTGGCCGTAAATCGACGACAATCAGCAATCTATTGAATAATTCG GATCGAAGCATGAAATCTTCTTTCCAAAGCGCTTCAAGACACGAAGCACAGCTCGAAGAC ACTCCCAGCATGAACAATATTGTAGTACAAGAAATAAAACCGAATATTACTACGCCAAGA TCGAGTTCTATTTCTGCATTACTAAATCCTGTAAATGGGAATGGGCAATCAAACCCAGAT GGAAGGCCGTTGCTGCCATTTCAGCATGCTATTTCTCAAGGCACTCCTACTTTCCCTTTA CCGGCCCCTCGCACTAGTCCAATAAGTCGTGCGCCTCCAAAGTTCAATTTTTCGAATGAT CCGTTGGCAGCTTTGGCTGCGGTTGCCTCCGCGCCAGATGCAATGAGCAGTTTTTTATCT AAAAAGGAAAATAATAATTGA >GNS1 1044 residues Pha 0 Code 0 ATGAATTCACTCGTTACTCAATATGCTGCTCCGTTGTTCGAGCGTTATCCCCAACTTCAT GACTATTTACCAACTTTGGAGCGACCATTTTTTAATATTTCGTTGTGGGAACATTTCGAT GATGTCGTCACTCGTGTAACTAACGGTAGATTTGTTCCAAGCGAATTCCAATTCATTGCA GGTGAATTACCATTAAGCACTTTGCCCCCTGTGCTATACGCCATCACTGCCTATTACGTT ATTATTTTTGGTGGCAGGTTTTTGTTAAGTAAGTCGAAACCATTTAAATTAAATGGCCTT TTCCAATTGCATAATTTGGTTTTAACTTCACTTTCATTGACGCTTTTATTGCTTATGGTT GAACAATTAGTGCCAATTATTGTTCAGCACGGGTTATACTTCGCTATCTGTAATATTGGT GCTTGGACTCAACCGCTCGTTACATTATATTACATGAATTACATTGTCAAGTTTATTGAA TTTATAGACACCTTTTTCTTGGTGCTAAAACATAAAAAATTGACATTTTTGCATACTTAT CACCATGGCGCTACTGCCTTATTATGTTACACCCAATTGATGGGCACCACATCTATTTCT TGGGTCCCTATTTCATTGAACCTTGGTGTTCACGTGGTTATGTATTGGTACTATTTCTTG GCTGCCAGAGGCATCAGGGTCTGGTGGAAGGAATGGGTTACCAGATTTCAAATTATCCAA TTTGTTTTGGATATCGGTTTCATATATTTTGCTGTCTACCAAAAAGCAGTTCACTTGTAT TTCCCAATTTTGCCACATTGTGGTGACTGTGTGGGTTCAACAACTGCCACCTTTGCAGGT TGTGCCATTATTTCTTCATATTTGGTACTATTTATTTCATTTTACATTAACGTTTATAAA CGTAAAGGCACCAAAACCAGTAGAGTGGTAAAGCGTGCCCACGGCGGTGTTGCCGCAAAG GTTAATGAGTATGTTAACGTTGACTTGAAAAACGTTCCTACTCCATCTCCATCACCAAAA CCTCAACACAGAAGAAAAAGGTAA >RBK1 1002 residues Pha 0 Code 0 ATGGGTATTACAGTAATAGGTTCTCTAAACTATGATTTGGACACATTTACGGATAGATTA CCTAACGCTGGAGAAACTTTCAGGGCTAACCACTTCGAAACACATGCTGGTGGTAAGGGA TTGAACCAAGCTGCGGCCATTGGTAAATTAAAAAACCCCAGCAGCAGATATAGTGTTCGA ATGATTGGTAATGTTGGAAATGATACATTTGGTAAACAATTGAAGGACACTTTATCCGAT TGCGGAGTCGATATCACTCACGTCGGTACTTACGAAGGCATTAATACGGGTACCGCTACC ATATTAATTGAAGAGAAAGCTGGTGGCCAAAATAGGATATTGATTGTAGAAGGTGCTAAC AGCAAGACTATTTATGACCCGAAACAGTTGTGTGAAATTTTTCCAGAGGGCAAGGAGGAA GAAGAGTATGTTGTTTTTCAACACGAAATTCCTGATCCTCTTTCCATTATTAAATGGATA CATGCGAACAGGCCGAATTTTCAGATCGTATATAACCCCTCACCTTTCAAGACCATGCCT AAGAAAGATTGGGAGTTGGTAGACCTTTTGGTCGTTAATGAAATTGAGGGTCTTCAAATC GTGGAAAGTGTATTTGATAATGAACTTGTTGAAGAAATAAGGGAGAAGATAAAGGACGAC TTTTTAGGAGAATATCGTAAAATTTGTGAGCTTTTGTATGAAAAACTCATGAATCGAAAG AAAAGAGGAATTGTGGTTATGACTTTGGGTTCGAGAGGGGTGCTTTTCTGTTCGCACGAA AGCCCTGAAGTACAATTCCTTCCGGCTATTCAAAATGTTTCGGTTGTTGATACTACAGGA GCTGGAGATACTTTCCTGGGCGGTTTGGTTACTCAATTGTATCAAGGAGAGACCTTGTCT ATGGCTATAAAGTTCTCTACATTAGCTAGTTCATTGACCATTCAAAGAAAAGGTGCTGCT GAAAGCATGCCACTGTATAAAGATGTTCAGAAAGATGCATAA >PHO87 2772 residues Pha 0 Code 0 ATGAGATTCTCACACTTTCTCAAATACAACGCTGTCCCTGAATGGCAGAATCATTACCTA GATTATAACGAATTGAAAAATTTGATCTACACATTACAGACAGATGAATTGAAACAAGAA ACGCCAACCGGTGACTTAAACGATGACGCTGACTCTCAGACTCCAGGTCCAATCGCTGAT ATAGAAAGCAACATAGCTGCAGGAGAACCATCTCCATCGAAAAGAAGATTTACACATAAA CTCAAGCGTAAGCTCTTTGGTTCTAAAACACCTTCAGGAAGCAAAAGGGGAGACTCCGAC GAAAAGGCCATAGATGGGAACAATATTAACGAGGAAACAATTGAGTTAGACGAGTTATCT CCTCAAGGGAAAACCACCTCTTTCAATAAGAATTTTATACGTAAGAAATTCTTTGAATCA CGCAGCTCATCTGTGAGTAGCGAGGGAAAGACGCTCTTCAGTTCTTATGATACATTCGTA ACTAACCTGAGCGACGAGAAATTGAAAGTAGATGATTTCTACAAAAGAATGGAAGCTAAG TTCTATGAAAGATTTGACCACTTGATTAATGATTTGGAGAAGGAAGGCATTGTAACAAGA TTGAATGAAACTTTCAATCCTGAAATTCAAGCATTGCCTCCTTTAAGAGAAATTATTTCT GGTACATCAGAGACACATTCATCTAATAACCCATTTGAAATACACTCTTCAAACATCGAC AGTGAATTGAGAAATAGGTTTGATTACAGCGAAGAAGAAATGGATGAAGATGATGACGTT GACGTGTTTGCTGACACTACCGACAATACCGCCCTCTTGAATTATTCGCAATTTAACATT AAATCTCAGAAAAAATCATTATTAAAACAGACAATAATAAATCTTTACATAGACCTTTGC CAGTTGAAATCTTTTATCGAATTGAACAGAATGGGTTTCAGTAAAATTACTAAGAAGTCT GATAAAGTATTGCACATGAACACTAGGCAAGAATTAATAGAAAGTGAAGAATTTTTCAAA GACACCTACATCTTCCAGCATGAAACTTTAAGCAGTTTAAACAGTAAAATTGCACAACTT ATTGAATTTTATGCTGTTCTCATGGGTCAGCCTGGGAACGTAGATTCATGCAAGCAAGAG TTAAAGTCGTACCTGCACGACCACATTGTTTGGGAAAGAAGCAACACATGGAAAGACATG TTGGGCCTCTCTTCGCAAAATAACGATATAATAACTATTGAAGATGAAGCTGAGAAACTT ATGCAAGAAAAGCTTCAAATTGAATATTTCAAGTATCCATTGCCTAAGCCAATTAATTTG AAGTTTACTAAAATTGAAAATTTGGCAGTTCCTAAGCTATTTTTTGGGAAAAGAGCAATG AAAATAGGCTTCATTATCATTGTCACAGGTGTTTTGTTGGGTGTTAAAACTTTCAATGAC CCTGTCGAACACCGGTGTATGGCATTGGTAGAATGCTGTGCTTTCTTATGGGCTAGTGAA GCCATTCCATTACACATCACAGGTTTATTGGTTCCCCTTCTAACTGTCCTTTTTAGGGTA CTAAAAGACGATGACGGTAAGGTAATGGGAGCAGCAGCTGCCTCTACAGAAATCTTAGGT ACAATGTGGTCGTCAACAATTATGATTTTATTAGCAGGTTTCACATTGGGTGAAGCCTTG TCGCAATATAACGTTGCGAAAGTTTTGGCATCGTGGTTATTGGCCCTTGCAGGTACCAAG CCAAGAAATGTCCTTTTAATGGCAATGAGTGTTGTATTCTTTCTTTCGATGTGGATTTCC AACGTTGCCTCCCCAGTATTGACATATTCTCTATTAACACCCTTACTAGATCCGCTGGAC TACACTTCACCGTTTGCTAAGGCATTAGTCATGGGTGTTGCACTTTCGGCAGATATTGGT GGTATGGCTTCACCTATTTCTTCGCCACAGAATATCATCTCCATGCAGTACTTAAAACCT TATGGAATCGGCTGGGGGCAATTTTTTGCTGTCGCTCTGCCTACAGGTATTCTATCGATG CTGTGCTCCTGGGCCTTGATGATACTCACCTTTAAAATAGGCAAAACTAAACTGGAAAAA TTTAAACCAATAAGGACCAGATTTACTATAAAGCAATATTTTATCATCATTGTAACTATT GCTACTATTCTTCTATGGTGTGTAGAGTCACAAATAGAAAGTGCTTTTGGATCGTCCGGT GAAATTGCAGTAATACCGATAGTCCTGTTTTTTGGTACAGGTCTACTATCAACAAAGGAT TTCAACACATTCCCTTGGTCAATTGTTGTTCTTGCTATGGGTGGTATAGCCCTTGGTAAG GCAGTTTCATCTTCAGGCTTGTTGGTAACTATTGCAAGAGCATTACAAAAGAAAATTCAG AACGATGGTGTTTTTGCTATCTTATGTATTTTCGGTATTTTAATGTTAGTTGTGGGCACT TTTGTCTCACATACTGTGTCAGCAATCATCATTATTCCCTTGGTGCAAGAAGTTGGTGAC AAATTATCCGATCCAAAGGCAGCTCCAATTCTTGTGTTCGGTTGCGCCTTGTTAGCCTCA TGCGGTATGGGGTTGGCTTCATCTGGATTTCCAAACGTTACTGCTATTTCTATGACCGAT AAAAAGGGTAATAGATGGCTAACTGTAGGCGCTTTTATCTCCAGAGGTGTTCCTGCTTCG TTGTTAGCGTTTGTCTGCGTAATTACTCTCGGTTATGGTATTAGTTCTTCCGTCTTAAAA GGTAGCACTTAA >BUD5 1617 residues Pha 0 Code 0 ATGAGAACGGCCGTACCGCAGTTGCTGGAAGCAACTGCCTGTGTCTCTAGAGAATGCCCC CTCGTCAAAAGAAGTCAGGACATAAAAAGAGCAAGAAAACGTCTACTCAGTGACTGGTAT AGGCTCGGCGCTGATGCAAACATGGATGCCGTATTATTAGTTGTTAACTCCGCCTGGAGG TTTCTGGCCGTCTGGCGACCCTTCGTAAACTCAATCCAACATGCAACTCAGGAATTGTAT CAAAATATCGCCCATTACCTTCTTCATGGCAACGTAAATATACAGAGGGTCACAGCACTA ATACAGCTCGTAATGGGACAGGACGATTTACTTTTTAGTATGGATGATGTTCTACAAGAG GTCTTCAGAATACAGCTCTATTTGAATAAGATGCTGCCGCACAACTCTCACAAATGGCAA AAGCCATCCCCCTTTGACTCCGCAAACTTACTACTTAACTTCAGAGACTGGACAACTGAC AATGCTCTCCTCCAAGAGTTGCTACTATCCTATCCCACAATTAATAAAAACAAACACAAA AATCACTCCGTCCCTCGTCTAATACAAATCTGGGTAGAGTCTTATTGGCAAGATAGTGAG ACAACATTAAAAGATATCCTCAATTTTTGGTACAGTCACTTGGCTGAATATTATGAATAC CAAGAACTGTTTGCAGACATAGTTCAGCTGTTTATAAACAAAAAAAGAACGAGGCAATTG AAGATTCATTACATTGGTCTAACTGATAAGGAAATCGAAGAAAATAAACCGCCCCTGGAC TACGAAAACTTATTTCTCCAATACGAGATAGACAAAACGAACGCAAATGATGAATTGTGC GGTGCAACTGACCTCAGTGATTTACTTTTCCAATGGAAACAGGGTGAACCTCTAGAAGTC GAAGCCTTCGCTCTAAACGTATCTCCATGGTCACTTGCAAAGACATTGACTCTCTTAGAA TCTTCTCTTTACTTGGATATTGAAACAATAGAATTCACAAGACATTTCAAACACAACGAT ACAACAATTGACTCCGTGTTTACGCTTTCCAACCAGTTATCGTCCTACGTTCTTGAGACA ACTTTGCAGCAAACGCACACCATTTCCTACTGGTTACAAGTTGCACTTGCTTGTCTATAC TTACGAAACTTAAACTCACTTGCTTCAATCATTACATCATTGCAAAATCATTCAATAGAA AGACTATCTCTCCCGATAGATGTTAAATCAGACCACCTTTTTCAGCGCCTAAAAGTCGTC GTACATCCAAACAACAACTACAACGTTTATAGAAGAACAATTAAACATATTTTCCACAGT CAGCTTCCTTGTGTACCTTTTACATCACTGCTTATCAGGGACATTACCTTCATAAGAGAC GGAAACGATACATTCACTAAAGATGGTAATAACGTGAATATGCAAAAGTTCAACCAAATC ACAAAGATAGTCGCTTTTGCGCAATATTTACAACAAAAGCAATATGAAGATATACACTGT TCAAATACTACTGCAAGAAGCTTATTAGGGGCTATGATAAAGGTGCACACTTTATATAAC GACAACAAAGACAGGGCGTATCAAGTCAGTATAGCTAAGGTTCCAAGGCTTACCTAA >MATALPHA2 633 residues Pha 0 Code 0 ATGAATAAAATACCCATTAAAGACCTTTTAAATCCACAAATCACAGATGAGTTTAAATCC AGCATACTAGACATAAATAAAAAGCTCTTTTCTATTTGCTGTAATTTACCTAAGTTACCA GAGAGTGTAACAACAGAAGAAGAAGTTGAATTAAGGGATATATTAGGATTCTTATCTAGG GCCAACAAAAACCGTAAGATTAGTGATGAGGAGAAGAAGTTGTTGCAAACAACATCTCAA CTCACTACTACCATTACTGTATTACTCAAAGAAATGCGCAGCATAGAAAACGATAGAAGT AATTATCAACTTACACAGAAAAATAAATCGGCGGATGGGTTGGTATTTAATGTGGTAACT CAAGATATGATAAACAAAAGTACTAAACCTTACAGAGGACACCGGTTTACAAAAGAAAAT GTCCGAATACTAGAAAGTTGGTTTGCAAAGAACATCGAGAACCCATATCTAGATACCAAG GGCCTAGAGAATCTAATGAAGAATACCAGTTTATCTCGCATTCAAATCAAAAACTGGGTT TCGAATAGAAGAAGAAAAGAAAAAACAATAACAATCGCTCCAGAATTAGCGGACCTCTTG AGCGGTGAGCCTCTGGCAAAGAAGAAAGAATGA >MATALPHA1 528 residues Pha 0 Code 0 ATGTTTACTTCGAAGCCTGCTTTCAAAATTAAGAACAAAGCATCCAAATCATACAGAAAC ACAGCGGTTTCAAAAAAGCTGAAAGAAAAACGTCTAGCTGAGCATGTGAGGCCAAGCTGC TTCAATATTATTCGACCACTCAAGAAAGATATCCAGATTCCTGTTCCTTCCTCTCGATTT TTAAATAAAATCCAAATTCACAGGATAGCGTCTGGAAGTCAAAATACTCAGTTTCGACAG TTCAATAAGACATCTATAAAATCTTCAAAGAAATATTTAAACTCATTTATGGCTTTTAGA GCATATTACTCACAGTTTGGCTCCGGTGTAAAACAAAATGTCTTGTCTTCTCTGCTCGCT GAAGAATGGCACGCGGACAAAATGCAGCACGGAATATGGGACTACTTCGCGCAACAGTAT AATTTTATAAACCCTGGTTTTGGTTTTGTAGAGTGGTTGACGAATAATTATGCTGAAGTA CGTGGTGACGGATATTGGGAAGATGTGTTTGTACATTTGGCCTTATAG >TSM1 4224 residues Pha 0 Code 0 ATGATGTCCTTTTCCAAAAACGCCACTCCTAGAGCCATTGTTAGTGAATCTAGCACTTTG CATGAGATGAAGTTTAGAAATTTTAGAGTTGCCCATGAAAAAATCTCGTTGGATATAGAT CTAGCTACTCACTGCATTACCGGTAGCGCTACTATAATAATCATTCCGTTGATCCAAAAC CTAGAATATGTAACTTTTGATTGCAAGGAAATGACTATTAAAGATGTTCTGGTCGAAAAT CGTCGATGTGATCAATTTATTCATGACGACCCACTTCAAACAAATTTGAATGGATTGACT TCACAAAATGTATTATACAGCGACAATTCCATTGAACAGTCACATTTTTTGAGATCTAAG TTTGCTAGCTTGAATGAATACCCAGAAACGGACTCTAAATCCCAGTTAACTATAAAAATA CCATCTTCCATCAAAATATCTTTGGAGGACGCCAATGCATTAAGTAATTACACTCCGATT ACTCCTTCAATTAAGACTACCCCTGGGTTTCAAGAATCTGTTTTCACTCCAATTACATTA CAAATTGAATATGAAATCAGAAACCCAAAGTCGGGTATTAAATTCGATACTGTGTATGCT GACAAGCCCTGGTTATGGAACGTTTACACTTCAAATGGTGAGATTTGCAGTTCTGCATCA TATTGGGTCCCATGTGTCGATTTGCTTGATGAAAAATCTACATGGGAGTTAGAATTCAGC GTACCGAGATTGGTTAAAAATATAGGTACTTCGAAATTAATCGGACAAAATGGAGAAGAG AGTGAAAAAGAGAAGGAGGATACGCCTGAGCACGATGAAGAGGAAGAGGGGAAGCCGGCA AGAGTTATCAAAGACGAAGATAAGGATTCTAACTTGAAAAATGACGAAGAAGGCAAAAAT AGTAAAAGCAAAGATGCACAAGATAATGATGAAGAAGAAGAGGAAGGCGAAAGTGACGAA GAGGAAGAGGAAGGGGAAGAGGAAAGGCGGAATATTGAGGAAAGCAACAATCCGAGTTTG AGGGATGTGATTGTGTGTTGTTCAGAATATTCAAATATTAAAGAACTTCCGCACCCGATT GATTTGACGAAAAAAAAATGCATATTTCAGATAATTAATCCTGTGGCTCCACATCACATT GGTTGGGCTATAGGCGCCTTTAATTCATGGTCTTTACCTTTGATATCACCTCCAAGTGTT GATGCCGAGGACGAAGTAGAGGAAGACAAGTTGAGAGAGAATGTTGTGGACAATGTTAAC GATACTATGGATGACGACATTGGTTCGGATATTATACCCATTCAAATTTTCACACTTCCG ACGCAGGAAACAGATGAGTTAACAGTTATAAATTCGACAGTTGTCTGCCAAAAAATTATA GATTTCTACTCGAAAGAATTTGGGTCTTATCCTTTCACTTGTTACTCTATGGTGTTTTTA CCTACCGCACCTTCTAAGCATATGGATTTTGCAGCATTAGGCATTTGTAATACCAGATTA TTGTACCCTCTAGAAGTTATTGATAAAGCATTCAGTACTACGAATGAGTTAGCATGGGCA CTTGCTAACCAATGGTCTTGTGTGAATATAACTCCTTTAGATATGAACGACTACTGGTGC TGTCTTGGTATTGCTGGTTATATGGTGTTTCAGGTAACCAAAAAATTAATGGGTAATAAC ACGTATAAATATCAATTAAAGCGTAATAGTGAGGCGATTGTGGAACAAGACTTCGAGAAA CCGCCTATTGGGAGCACTTTTACCGGCAGTTCTAGGCCAATATCTTGGTCTTCTAAAGAT TTGTCCTTTATACAATTGAAGGCACCGATGATACTACACATACTTGACAGAAGGATGACT AAAACAGAACGATCTTTCGGTATGTCTCGAGTATTACCTAAAATTTTCCTTCAAGCTATG TCTGGTGATTTACCGAATAATTCGTTGACTTCATCGCATTTTCAACATGTTTGCGAAAGA GTTAATAAAAGTAAATTAGAGAATTTTTTCAACGAATGGGTATATGGGTCTGGGGTACCC ATATTACGTGTCACCCAAAGATTTAATAGGAAGAGGATGGTTATAGAACTGGGTATAAGG CAAGTTCAAGATGAAGAACTTGGCCACGAAAAAGTGGTAGGGGAGGAAGGATTTTTCAAA AGTGCACTAGACCACTTAGAACATCCAGATTTGAACCGAACCGAATGCTTCACGGGCTCG ATGACTATAAGGATCCATGAACACGATGGTACTCCGTATGAGCATATTGTGGAAATCAAA GATACATTCACAAAAATAGATATTCAGTACAATACAAAGTACAGAAGATTAAGGAAAAGA GGTGGTGGTGCAAATGATGAAAATGGTGTTGAAAACAATAATGAGGAGAAGCCTATTGTT GTGGATGTGAATTGTCTAGGAAATGTATACATGTCGCCCGAAGAGTGTTCCCGATTCAGT TTGACGGAATTTAATCGTACGTCTGAGAGTAATGAATTGCTTAAGCAAAACGAAGCATTT GAGTGGATACGCATAGACTCTGATCTGGAATGGATTTGCCAAATGCACATTAATCAGCCG GATTACATGTTTTCTTCTCAGTTGAGACAAGATGGGGACATAGAGGCCCAACTAGAAGCC ATACGATATTATGAGGACGTCGTTGTTAATGGTGGTGTGAAATCACTTGTTTATTCAAGT ATTTTGTTTAGAACGGCGATCGACGAGCGTTACTTTTTTGGCATAAGACTCGCGGCGTGC GAAGCGCTTAGTAAATACGTATATGATCCGGATTTTACTGGCGGTGTTAAGCATTTAATT CAGATTTTTCAGATTTTGTTTTGCCTAGAAGACTCTAATATTCCAAAGAGTAATAACTTT GAGAATCCTAAGTTGTATTTCTTACAGTGTAATATTCCCAAATATTTGGCTAAAGTGAAA AATGAAAATGGTAAATGTCCAAAATTGGTGAAGCAATTTTTACTGGATATTCTTGTTTAT AATGAGAATGGTGAAAATAAATACAGTGATGATGCGTACGTCCGCAGCTTGATTGAAAAT GTTGTTAAAGTTGCTTTAAATGAGTATAAAGATAAAGCATATATGGAAAAAGTTAAGACT CAGTTATTGAGGTACGAAAATTTGGTGAATTGGCTTTCATCATACGAGTCTTTGATTAAG ACTACTATCATGTATGCTAAGTACAAATTGCATAAAGTGGGTGCTTATGACTTTACGGAA TTGACAGGAATGATAATGCATACATTAACATTAGGTATAAATAACGGAGATATTTCCAGG GAAAGCTTTCAGAATGAGTTTTTAATGGTTTTGAAAATCATGCTTTTAGAAGGTGGTTTA AAAAACAAGGATGCCCTTGTTTTGTTTACTGAAATACTTTGCTTCCATGAGGATTCTTAT ATTAGGGATAAAAGTGTTGATGTGCTTTCTGAATGTGTAAATCTAGTTGTTATGGATGGT AGTTTGGATACCATAAGTGACGATATTAAGTCCTCCGTCCAATCTGTGCACAATGAAGTT AAAAATATAAAAAGTGAGGATGATATTGAGTTGTTTTTAAGTGGTCATTACGTCGATGAT ATGAAAATAAAAATAGAAAAGATTGGCCGTCAAAATATTAGTGGGTTAATACAAATATGC CGAGATATGTTTAAAGGGTATAGCCCTTTGAAGATATTACTCTGGGATGTTTTGAATTTA CCTGTTCTTAGCTTGTACCAGAGGAAGCAAATACATGATCTTGTTAGGGTGATGTACACC CTAATCAACAGTTTTGTAGTTAGATTGGAAACACCAAGGGAGAGAAGACTTGTGGCGAAG ATGAATAGTAATGAAGAAGGTAAACTTGATATTGTTATAAAGCGTGAAAGTATCCTAAAA GTACATATTAAAAAGGAAGTAACCTCTACTGTGGAGGCACCCAAGAAGGCGAATAAGATA AAGATAAGTTTGAAAGGTGATAAACCTGTTAGAAAAGTGGAAAAACAAATTGTGAAGCCG AAGGTAACTAGCAAACAAAGGAAAGTCAAAAGTCATGTGAACCGCATGGGCAGTTTACCT TTACGGTTTGTTAAGATCCAACAACAACCTAGAGTAATGGTGCATTTGTCATCCGTCCCG TATAGCCAATTCGTTCAAATTACAAAAGTCACATCAAGATCGTTTATGGTTAAGATAAGA ACAAAGAATGATGCTAAGAATTGA >YCT5 1476 residues Pha 0 Code 0 ATGAAGCCACAGTGCATACTCATCTCTTTGCTGGTCAACCTCGCATACGCAGAGGAGTAT TTGGTGAGGTTCAAAAATCCCACAGCATTCCAACAATTCACTTCGAATTCCAACAGGTCA TGGAGACAGTTCATCGACAACAAAATTGAGAAGAAATTCTCCATCGGATCCTTCCGCGGC GTGACCATGAACCTGTCCAAGAACTTAGTGAACAAGCTGAAGAAAAGCCCACTGGTGGCT GATATTGTGCCCAACTTCAGGTTCGAAGCTTTTGAAGGCGACAGTGTAAATAGCGCCGAG TCGAGTTATACGTTTAACGCTACCGCCAAATACTCGTACGAAGACGTCGAGGAAGAGCAA AATATAACGTATCAACCAGACGCACCCCGTCACTTGGCCCGGATTTCCCGCCACTACCAA CTCCCATTCGACGTTGGGGACAAGGACCGCTACAAAAGCTGGTTCAATTACTACTATGAA CACGACTATCAAGGTCAAGACGTCAACGCCTATATCATGGATACGGGTATCTTCGCGGAC CATCCGGAATTCGAAGACAGAGTCATCCAGGGGATTGACTTGACCAAAGAAGGGTTTGGC GACCAGAATGGCCACGGAACGCACGTGGCGGGACTCGTAGGTTCCAAAACGTATGGAGCG GCAAAGAGGGTCAATCTTGTGGAGGTCAAAGTCTTGGGCAAAGACGGGTCTGGCGAGGCC AGTAACGTTCTTAGTGGTCTGGAGTTCATCGTGGAACATTGCACAAAGGTCAGTCGCCCA CAGGGTAAAAAATGCGTGGCCAATCTAAGTCTAGGGAGTTTCAGGAGCCCCATAATCAAC ATGGCAGTGGAGGGGGCCATTGAAGAAGGTATTGTATTTGTTGCCGCGGCGGGGAACTTC AATTTAGACGCCTACTGGGCCTCACCTGCGTCTGCAGAAAACGTTATCACCGTAGGGGCC TTTGATGACCACATTGACACGATTGCCAAGTTCAGCAATTGGGGGCCCTGTGTAAACATC TTTGCCCCAGGCGTGGAAATTGAGTCGCTATCTCATCTGAACTACAACGACACTTTAATT TTGTCAGGTACATCTATGTCGACGCCCATTGTCACCGGAGTTGCAGCGATCCTACTCTCG AAGGGAATTGAGCCTGAAATGATAGCACAGGAGATTGAGTATTTGTCCACGCGTAATGTT TTCCATAGAAGAACGTTGTTTTTCAAGCCTTCTACGCCAAACCAGATTCTTTACAACGGC GTCGATAAACTGGACGATCCATATGACGACGAAACGTTCCCTCGATTGAACATAGAGGCA ATTGCTAAGGAACTGGAGGAGTACAATGCCACTTTACAAACTCCTATGTCTGAGAATCTT CAATCTGGTTCAAAACTGTGGGGTTGGAATAACGATGTCACACTACCTCTTGGTGAGATT CGATTGAAGAGGCGTGATTTTATGAAAAATTTGTAG >PETCR46 510 residues Pha 0 Code 0 ATGTGGAGCAGGAACGTCAGATTGCTTGGATCATGGACAAGGTCCTACATGGTCCCCGCC ACCAAGAGAAAAACCATCCCCGTGTACCCACCTGTGCAGCGCATAGCTTCGTCGCAGATT ATGAAGCAGGTGGCCCTCTCAGAAATAGAGTCTCTGGATCCCGGGGCCGTTAAGAGGAAG CTCATCAGTAAAAAGAACAAGGACCGCTTGAAGGCAGGCGACGTGGTCCGGATTGTGTAC GACTCGTCCAAGTGCTCGTACGACACCTTTGTTGGCTACATCCTTTCCATAGACCGCAAA CAACTGGTGCAAGACGCCTCGTTGCTGTTGCGGAACCAGATAGCCAAGACGGCCGTCGAG ATTAGAGTGCCATTGTTTTCGCCGCTGATCGAGAGAATCGACTTGCTAACCCCCCACGTC TCGAGCAGACAAAGAAACAAACACTACTACATCAGAGGTACAAGGTTGGATGTCGGCGAC CTCGAGGCAGGTCTAAGAAGAAAGAAATAG >YCT7 828 residues Pha 0 Code 0 ATGTCACGTCCTGAGGAGTTGGCACCACCGGAGATTTTCTATAATGATAGCGAAGCACAC AAGTACACGGGTTCGACCAGAGTGCAGCATATCCAGGCGAAGATGACGCTGAGGGCGTTG GAGCTTTTGAATCTGCAGCCGTGCAGTTTCATTCTGGATATCGGGTGCGGGTCCGGACTG TCTGGGGAGATTTTGACGCAGGAGGGAGACCATGTGTGGTGTGGTTTGGATATATCGCCC AGCATGCTTGCGACCGGTCTTAGTAGAGAGCTGGAGGGCGACTTGATGTTGCAGGATATG GGCACCGGGATACCGTTCCGGGCGGGCTCGTTTGACGCGGCTATTAGTATCAGTGCGATC CAATGGCTGTGCAATGCGGACACTTCATACAACGATCCTAAACAGCGGTTGATGAGGTTT TTCAACACATTGTATGCTGCACTGAAGAAGGGAGGGAAATTTGTGGCCCAGTTCTACCCG AAAAACGACGACCAGGTGGACGACATACTGCAGTCTGCCAAGGTGGCAGGGTTCAGTGGC GGGCTTGTGGTGGACGACCCAGAGTCTAAAAAGAATAAGAAGTACTACCTTGTGTTGAGC AGTGGGGCCCCACCGCAGGGGGAGGAGCAGGTGAATTTGGACGGTGTGACCATGGACGAG GAGAACGTCAACTTGAAGAAACAACTGCGCCAGCGCTTGAAGGGAGGCAAAGACAAGGAG TCTGCCAAGAGTTTCATTCTAAGAAAGAAGGAGCTCATGAAAAGACGTGGGAGGAAAGTT GCGAAGGACTCCAAGTTCACCGGGAGGAAAAGAAGACACAGGTTCTAG >YCT9 447 residues Pha 0 Code 0 ATGGCGCTGTCCAGGAGCGTGGGGCGAGGATCAAAACTCACGTCCCCAAAAAACGACACA TACTTGCTAGCATCCTTTCGGTGGAACCTCGACCGAGACTTGCTCTTCAGGTGTGAAAGG TACTTTTGCATGTGGGCGTCCACAGGGTACTCCTCCTCCTGCTCCTGCTTCCCTGCCACA CGTTCCGCCTCAGTCGACTCCACTCCTTCAGTCGACTCCACTGGCTCCACCAGCGACGTG GTAGACGACCGTGGCGAAACCTCCATGGACTCCTGTGGCAGGATCACGTTATCGTACGTG ACCGAATGCCGTTTGTTGGCTTCTGCGGAATTGAGTCTGCGGATCTTAAGAAACTCTTCG TCTTGCAACAAATCCTTAGTCTCCGTCATTCTTGCAATCTGTTTTGGCGCTCTTGCTGCA AGCCGTGCTGAACAACCACCTGCGTGA >ARE1 1833 residues Pha 0 Code 0 ATGACGGAGACTAAGGATTTGTTGCAAGACGAAGAGTTTCTTAAGATCCGCAGACTCAAT TCCGCAGAAGCCAACAAACGGCATTCGGTCACGTACGATAACGTGATCCTGCCACAGGAG TCCATGGAGGTTTCGCCACGGTCGTCTACCACGTCGCTGGTGGAGCCAGTGGAGTCGACT GAAGGAGTGGAGTCGACTGAGGCGGAACGTGTGGCAGGGAAGCAGGAGCAGGAGGAGGAG TACCCTGTGGACGCCCACATGCAAAAGTACCTTTCACACCTGAAGAGCAAGTCTCGGTCG AGGTTCCACCGAAAGGATGCTAGCAAGTATGTGTCGTTTTTTGGGGACGTGAGTTTTGAT CCTCGCCCCACGCTCCTGGACAGCGCCATCAACGTGCCCTTCCAGACGACTTTCAAAGGT CCGGTGCTGGAGAAACAGCTCAAAAATTTACAGTTGACAAAGACCAAGACCAAGGCCACG GTGAAGACTACGGTGAAGACTACGGAGAAAACGGACAAGGCAGATGCCCCCCCAGGAGAA AAACTGGAGTCGAACTTTTCAGGGATCTACGTGTTCGCATGGATGTTCTTGGGCTGGATA GCCATCAGGTGCTGCACAGATTACTATGCGTCGTACGGCAGTGCATGGAATAAGCTGGAA ATCGTGCAGTACATGACAACGGACTTGTTCACGATCGCAATGTTGGACTTGGCAATGTTC CTGTGCACTTTCTTCGTGGTTTTCGTGCACTGGCTGGTGAAAAAGCGGATCATCAACTGG AAGTGGACTGGGTTCGTTGCAGTGAGCATCTTCGAGTTGGCTTTCATCCCCGTGACGTTC CCCATTTACGTCTACTACTTTGATTTCAACTGGGTCACGAGAATCTTCCTGTTCCTGCAC TCCGTGGTGTTTGTTATGAAGAGCCACTCGTTTGCCTTTTACAACGGGTATCTTTGGGAC ATAAAGCAGGAACTCGAGTACTCTTCCAAACAGTTGCAAAAATACAAGGAATCTTTGTCC CCAGAGACCCGCGAGATTCTGCAAAAAAGTTGCGACTTTTGCCTTTTCGAATTGAACTAC CAGACCAAGGATAACGACTTCCCCAACAACATCAGTTGCAGCAATTTCTTCATGTTCTGT TTGTTCCCCGTCCTCGTGTACCAGATCAACTACCCAAGAACGTCGCGCATCAGATGGAGG TATGTGTTGGAGAAGGTGTGCGCCATCATTGGCACCATCTTCCTCATGATGGTCACGGCA CAGTTCTTCATGCACCCGGTGGCCATGCGCTGTATCCAGTTCCACAACACGCCCACCTTC GGCGGCTGGATCCCCGCCACGCAAGAGTGGTTCCACCTGCTCTTCGACATGATTCCGGGC TTCACTGTTCTGTACATGCTCACGTTTTACATGATATGGGACGCTTTATTGAATTGCGTG GCGGAGTTGACCAGGTTTGCGGACAGATATTTCTACGGCGACTGGTGGAATTGCGTTTCG TTTGAAGAGTTTAGCAGAATCTGGAACGTCCCCGTTCACAAATTTTTACTAAGACACGTG TACCACAGCTCCATGGGCGCATTGCATTTGAGCAAGAGCCAAGCTACATTATTTACTTTT TTCTTGAGTGCCGTGTTCCACGAAATGGCCATGTTCGCCATTTTCAGAAGGGTTAGAGGA TATCTGTTCATGTTCCAACTGTCGCAGTTTGTGTGGACTGCTTTGAGCAACACCAAGTTT CTACGGGCAAGACCGCAGTTGTCCAACGTTGTCTTTTCGTTTGGTGTCTGTTCAGGGCCC AGTATCATTATGACGTTGTACCTGACCTTATGA >RSC6 1452 residues Pha 0 Code 0 ATGGTAACACAGACCAATCCGGTCCCTGTTACATATCCAACGGATGCTTATATCCCCACG TATCTGCCCGATGATAAGGTCTCCAATCTGGCAGATTTGAAAAAATTGATAGAAATGGAT TCCAGACTAGATTTGTATCTGACAAGAAGGAGGCTGGATACGTCCATCAATTTACCTACA AACACCAAGACCAAGGACCATCCCCCCAATAAAGAGATGCTGAGGATTTACGTCTACAAC ACTACGGAAAGCAGCCCTCGCAGCGATTCTGGCACCCCAGCGGACTCAGGCAAGACTACA TGGACACTGAGAATAGAAGGTAAGCTTCTGCACGAGTCCGCAAACGGAAAGCACCCATTT AGTGAGTTTTTGGAAGGTGTCGCGGTCGACTTTAAAAGACTGAAACCGCTGGGCATGGGC AAGAAGAGGAAACGCGATTCGTCATTGAGCCTTCCTTTGAATCTGCAACAACCCGAATAC AATGATCAAGATAGCACCATGGGCGATAACGACAACGGCGAGGATGAGGACAGTGCAGAG GCAGAATCCAGGGAGGAAATTGTAGACGCACTGGAATGGAACTACGATGAAAACAACGTT GTGGAGTTTGATGGTATCGACATCAAGAGGCAAGGCAAGGATAATTTGCGATGCAGTATA ACCATCCAGTTGAGGGGTGTCGACGGTGGAAAAGTACAGTACTCGCCCAACTTAGCTACC TTGATAGGTATGCAAACGGGCTCCGTTAATGACGCGGTTTATTCGATCTACAAGTACATT TTGATCAACAATCTGTTTGTTACGGAACAAACAGAGGCTCAAGATGGTTCCAACGATGCC GAAGACAGCAGTAACGAGAATAACAATAAAAACGGTGCTGGTGACGATGATGGCGTCGAG GGAAGTACTCCAAAGGATAAGCCCGAATTGGGTGAAGTGAAGCTAGATTCACTCTTACAA AAGGTATTGGATACAAACGCCGCGCACCTCCCCTTGATGAATGTTGTGCAAACCGTGAAC AAACTGGTATCACCCCTACCGCCCATCATCCTAGATTATACAATTGATCTTTCCAAAGAT ACCACCTATGGTGCTACCACCTTGGATGTAGATGTGTCGCACATTCTCCACCAGCCTCAA CCCCAGCCAAATTTACAAAAAGAGGAAGAAACAGATGCTGAAGACACAGCAAAACTACGT GAAATCACAAAGCTTGCCTTGCAGTTGAACTCTAGTGCTCAAAAATACCAGTTTTTCCAC GAACTGTCTTTGCATCCAAGAGAAACGCTGACTCACTACTTATGGTCTTCCAAGCAAAAC GAGCTTGTGCTGCAGGGCGACCAATACTTCAATGAAGATGCTGCAAGAACGAGTGACATA TACAGTAACAACAACAATGACAGGTCACTAATGGGCAATATCTCACTACTGTACTCCCAA GGAAGACTATAA >THR4 1545 residues Pha 0 Code 0 ATGCCTAACGCTTCCCAAGTTTACAGATCTACCAGATCCAGCTCTCCAAAGACAATCTCT TTTGAAGAGGCTATCATTCAAGGTCTGGCCACTGACGGTGGTCTTTTCATTCCACCAACT ATTCCACAAGTGGACCAAGCCACTCTTTTCAATGATTGGTCAAAGCTCTCCTTCCAAGAC TTAGCCTTTGCTATCATGAGACTATACATTGCCCAAGAAGAGATTCCAGATGCTGATCTA AAGGACTTGATCAAGAGATCTTATTCTACTTTCCGTTCTGATGAAGTCACCCCCTTGGTG CAAAACGTCACTGGTGACAAGGAGAATTTGCACATTTTAGAATTATTCCACGGTCCTACC TACGCTTTCAAAGACGTTGCTTTACAATTTGTCGGTAATCTTTTTGAATACTTCTTACAA AGAACCAACGCCAATTTACCTGAAGGCGAGAAAAAGCAAATCACTGTGGTCGGTGCTACT TCCGGTGACACTGGTTCTGCAGCCATCTACGGTTTAAGAGGCAAAAAGGACGTTTCCGTT TTCATCTTATATCCAACCGGTAGAATTTCCCCAATTCAAGAAGAACAAATGACCACCGTT CCAGATGAAAACGTCCAGACTTTGTCTGTTACCGGTACTTTCGACAACTGTCAAGATATC GTCAAAGCTATTTTCGGTGACAAAGAATTCAACTCTAAACACAACGTCGGTGCTGTTAAC TCCATCAACTGGGCAAGAATCTTGGCCCAAATGACCTATTACTTTTATTCATTCTTCCAA GCCACCAACGGTAAGGACTCCAAGAAGGTCAAGTTCGTTGTGCCAAGTGGGAACTTCGGT GATATATTGGCCGGTTATTTTGCCAAGAAAATGGGTTTGCCTATTGAAAAACTGGCCATC GCTACCAATGAAAACGACATTTTGGACAGATTTTTGAAATCTGGTCTATACGAAAGATCA GACAAGGTTGCTGCTACTTTATCCCCAGCAATGGATATCTTAATCTCTTCTAACTTTGAA AGACTACTATGGTACCTAGCTCGTGAATACCTAGCTAATGGTGATGATTTGAAAGCCGGT GAAATCGTCAACAATTGGTTCCAGGAATTGAAGACCAACGGTAAGTTCCAAGTTGACAAA TCCATCATTGAAGGCGCATCAAAGGACTTTACATCAGAAAGAGTTTCCAATGAAGAAACA TCTGAAACAATCAAGAAGATCTACGAATCATCTGTAAATCCAAAACATTACATCTTAGAT CCTCACACAGCTGTCGGTGTTTGCGCCACAGAAAGATTGATTGCAAAAGATAATGACAAG TCCATCCAATACATTTCTCTATCTACCGCTCACCCAGCTAAATTTGCCGATGCTGTAAAC AATGCATTGTCTGGATTTTCCAATTATTCATTTGAAAAGGATGTTTTGCCTGAGGAATTG AAGAAACTATCCACATTAAAGAAGAAATTAAAATTCATCGAAAGAGCTGACGTTGAATTG GTCAAAAACGCTATTGAAGAAGAACTTGCTAAAATGAAATTATAA >CTR86 1692 residues Pha 0 Code 0 ATGCCTATGAACAATTTTCTAGATGAATTCAATTTATTTGATTCAATCATTACCATGATG AAGAACGACCCATGTTGCGTCGAGGATTATGAGCCAATCGTCGAAAACCTGAACCGTATA TTTCAAAGGACGTTTAATGATGAAGAACATAGGAAATCAATGGCTAACTCCCAGCTTTTT TGGGAACGATTAAGAGACACCTTGGAAGCAATGCTGTTGCCAGCGTCGTTAAATGAGAAT AGCTCAATACCGTATACAAGAACAGTGAGGGGCCTTATCTTAATGATGAGAAACCTTGCC GCTGAAAACCAGGAAATACCCCAAAAGCTTTTACTACAAAACCTCGTAATTCGTGGTTTT CTGCATGCAACTAGTGAGTATGTCGTTGACACTCCGCTAATCAAACATCTATACATCGCA TGTTTAACGTGCCTTTTCAATATACAGCAGAACTACTCTACAGTGGATATGACTACTTTT CCAGCTCTTTTACAATTTCTTCAATACCCTTATGGGATCAAATTGGAAGACGGTGAAGAA GAAGAGCATTTCTGGCTACCATATTTATTTCTTTTCAAGACGTATCTCAACAATGATGAA TTTTCCAACGAATTTTTCAGGGATAATGATACACCCCAGAAAGACTATTATTGTGTTAGG GATAGAATATTTTTCGATATAGTGACAGCCAAATTCATCCAGGATCAAGAGAATTCCTTT TTAATTGAGAAGGGCAGAAACTATCTGGATGATTCAAAATTGGAAATAACTTCTATTGAC CTATCTGTCTTAGAATGTATTAGCAAAAGTCTTACAACTGCTTCTTTTGGTAAATACCTC AATGGGTTAGAAGAAAGACAGCCAGGAAAATTCACCACTTTGTTGCAGATATTGCAATTG GTTGTAACGAGTAAAGAAGATTGGAATACCTATGAGTTGACTGCAATTATGTCATGGTGC TACCCCATTCTGCAACGTCTTGCATGCAAGGATATTCCTGCCTTTTTCAATAAAAGTTGT AACGATTATGCTCCTTCAGTTGCCATCCAATTACACTCCACTTTACTTTCTTGCCTGGAC ATAATTTCTGACTTGTGCAAATTCAATCATGTTAGAAAATTCTTAATTTCGTATGACTCT GTGAAAATATTGGTATCTCTCTTGGATACTTTCCAAAAGAATTTGTTGAGGATTAATTTT TTGAAAGGAAACGGTGATACGGTGAATGAAATTAAAATCACAGATCATGAAGGTAACAAA ATCGAGGACCGGTTATTAATTTTCAACCGTGTTAATACCAACGAATCCTTTATTAGGGCT GATAATTTTCCCCATTGTAAATTAGTAATAATCGAAATATTGGCATCGTTAGTGTATGCA CATCCTGAAATCCAAGATCAAATAAGAGAATTAGGTGGTCTTGCATTAATTCTTTCCAAT TGTGTCATCGATGATAATGATCCGTTTATCAAGGAAAGATCTATTGTTTGCTTGAAGTTT TTGTTAAAGAATAATGCCAAGAATCAGGAATATGTCAAAAAAATGGAAGCTCAAGACGTT GTTCAAGACGATGCATTGAGCAAAGCTGGGTTTGAAATATCAGTTGAAAAGGGCGGGAAA GTTAGATTAGTATCTAAAGAAGAAGACCCTGGGAACGAGAATTCTGAGATTATTAGCATA GATGAAGATTAA >PWP2 2772 residues Pha 0 Code 0 ATGAAATCCGATTTCAAGTTCTCTAACCTTTTAGGTACGGTCTACAGGCAAGGTAACATC ACCTTTTCCGATGATGGCAAGCAACTACTCTCACCGGTGGGGAATAGGGTCAGCGTGTTT GACTTAATCAACAACAAATCGTTCACGTTTGAATACGAGCATCGCAAAAATATTGCTGCC ATTGATCTGAACAAACAAGGCACATTGCTGATTTCTATTGACGAGGACGGTCGCGCCATC CTTGTCAATTTCAAAGCCCGTAACGTGCTTCACCATTTCAACTTCAAAGAAAAATGCTCC GCTGTGAAGTTCAGCCCTGATGGGAGACTCTTTGCATTAGCCTCAGGCAGGTTTTTACAG ATTTGGAAGACTCCAGATGTTAATAAAGACAGACAGTTTGCTCCCTTCGTCCGCCATAGG GTGCATGCGGGACACTTTCAAGACATAACGTCTTTGACGTGGTCACAAGATTCCAGATTT ATCCTTACGACTTCCAAAGACTTAAGCGCAAAAATATGGTCCGTAGATTCAGAGGAAAAG AACCTTGCGGCGACAACATTTAATGGGCACAGAGACTACGTTATGGGTGCGTTCTTCAGT CATGATCAGGAAAAAATCTACACTGTAAGCAAAGACGGTGCTGTCTTTGTCTGGGAATTT ACCAAGAGGCCATCCGATGACGACGACAATGAAAGTGAAGACGACGACAAGCAAGAAGAA GTAGATATTTCGAAATACAGCTGGAGAATCACAAAGAAACATTTTTTTTACGCAAACCAA GCCAAAGTAAAGTGTGTCACCTTCCATCCAGCAACAAGGCTTTTAGCTGTCGGATTTACT AGTGGGGAATTCCGTCTTTACGATTTGCCTGATTTCACTTTGATTCAACAGCTTTCTATG GGGCAAAACCCAGTCAACACCGTTAGCGTCAACCAAACCGGCGAATGGCTGGCGTTTGGT TCCAGCAAACTGGGCCAATTACTAGTTTACGAATGGCAATCGGAATCGTATATCTTGAAG CAGCAGGGCCATTTCGATTCCACAAATAGTCTTGCATACTCTCCGGATGGTTCACGTGTA GTGACAGCATCCGAAGATGGGAAAATCAAAGTTTGGGACATTACATCAGGGTTTTGTTTG GCCACTTTTGAAGAACACACCTCTTCAGTTACTGCTGTACAGTTTGCGAAAAGGGGTCAG GTCATGTTCTCATCATCGTTAGATGGTACGGTGAGAGCGTGGGACTTAATCAGGTATCGT AATTTTAGAACATTCACTGGTACTGAAAGAATCCAATTCAATTGTTTAGCGGTGGATCCA TCAGGTGAAGTGGTTTGTGCCGGGTCCCTGGACAATTTTGACATTCATGTTTGGTCCGTG CAAACTGGTCAATTATTAGATGCTTTGTCCGGACATGAAGGCCCTGTTTCGTGTCTTTCA TTTAGTCAAGAGAACAGTGTCTTAGCTTCTGCATCATGGGATAAAACAATTAGAATCTGG TCCATATTTGGTAGAAGCCAACAAGTAGAACCTATAGAAGTTTATTCCGATGTTTTAGCC TTATCAATGAGACCAGATGGTAAAGAAGTTGCAGTATCTACCTTAAAGGGTCAAATATCC ATTTTCAACATAGAAGATGCCAAGCAGGTGGGCAACATTGACTGTAGAAAGGATATAATA TCTGGTAGGTTTAATCAAGATAGGTTCACTGCCAAAAATTCTGAACGATCCAAATTTTTT ACTACAATACATTACAGTTTTGATGGTATGGCTATTGTGGCTGGTGGTAATAATAACTCC ATTTGTCTATATGATGTTCCAAATGAAGTCTTGTTAAAAAGATTCATTGTGTCCAGAAAC ATGGCTTTGAATGGTACTCTCGAATTTTTAAACAGTAAGAAAATGACTGAAGCAGGTTCA TTAGATTTGATTGACGATGCAGGCGAAAATTCAGATTTGGAGGATCGTATTGATAATTCT TTACCAGGGTCTCAAAGAGGTGGCGACCTGTCCACAAGAAAAATGAGACCAGAGGTTAGA GTTACTTCGGTGCAATTCTCCCCAACGGCGAATGCATTTGCCGCTGCTTCAACGGAAGGT TTATTGATATATTCCACCAATGACACGATATTATTTGATCCCTTTGATCTGGATGTGGAC GTCACCCCCCATTCTACTGTAGAGGCGCTACGAGAAAAGCAGTTTTTAAATGCATTAGTA ATGGCGTTCAGGTTAAATGAAGAATATTTGATCAATAAAGTCTATGAAGCCATACCTATT AAGGAAATCCCCTTGGTTGCAAGTAATATTCCTGCAATATATTTACCGAGGATTCTGAAG TTCATCGGTGATTTTGCCATTGAATCCCAACACATTGAGTTTAACCTAATTTGGATCAAA GCTCTATTATCTGCGAGCGGTGGTTACATAAATGAACACAAATATCTCTTCTCGACGGCT ATGAGGTCGATACAAAGATTTATTGTTAGAGTGGCTAAGGAAGTAGTCAATACCACTACT GATAACAAATACACCTATAGATTTTTGGTATCAACTGATGGGTCCATGGAAGATGGCGCG GCTGATGATGACGAGGTTCTATTAAAAGATGACGCAGATGAAGATAACGAAGAGAACGAA GAGAACGATGTAGTCATGGAATCTGACGACGAGGAAGGATGGATTGGTTTCAATGGGAAG GATAACAAATTACCCTTGTCTAATGAAAATGATTCCAGTGATGAAGAAGAAAATGAGAAA GAGCTTCCTTGA >YCU9 777 residues Pha 0 Code 0 ATGGATGACGATCACGAACAGTTGGTCGAAGAACTGGAGGCCGTCGAGGCCATCTATCCG GATCTTCTCTCCAAGAAGCAGGAAGACGGAAGCATCATCGTTGTGAAAGTGCCGCAGCAT GAATACATGACACTGCAGATCTCCTTCCCGACACACTACCCCTCCGAGGAGGCTCCTAAT GTCATCGAAGTTGGTGTCTGCACTTCTTTGGCTAAGCGCGATCTCTACGATACCAAGTAC CTTCAGCATTTGTTCCAGGAAGTGATGGACTCTGTTTTCCACCGCGGATCTGTCTGTCTA TTTGACTTCCTCACAGAACTCGACGGTGTCTTGTACGTTGAACCAGAGGAGGAGACAGAA CCGGTCCAGCAGAGTGACATTCCCACAGACCCCTTCGAGGGCTGGACCGCGTCGGACCCC ATTACTGATAGAGGCTCGACTTTCATGGCCTTTGCAGCACATGTTACCTCCGAGGAACAA GCGTTTGCCATGCTAGACCTACTGAAGACCGACTCCAAGATGCGTAAGGCAAACCATGTC ATGAGTGCATGGCGAATCAAGCAGGATGGCTCTGCGGCAACATATCAAGATTCCGATGAT GACGGTGAAACGGCCGCCGGCTCCAGAATGCTGCACCTCATCACCATCATGGATGTGTGG AACGTCATCGTTGTGGTGGCCCGTTGGTTCGGCGGTGCCCACATAGGTCCCGACCGGTTT AAACACATCAATTCTACGGCAAGAGAAGCTGTTGTCAGGGCCGGCTTCGACTCGTAA >YCV1 1752 residues Pha 0 Code 0 ATGGTGCGTTTTGTTTCAATTTTAAGTTTATTCGGCTGCGCGGCGACGCTTGTCACGGCC CATGATGACATGGACATGGACATGGATATGGACATGGATATGGACATGAATATCGATACG ACAACGTCTCAATCCATAGATGTCTCATCCACGGCTTCAATCGTCCCCGTGCCACATGAA CCAAAACATTTGCATGGCCTTCCTATACTGCAATCGCCCTCGCTTACCCCTGCGGAGAGA TTGTACTGGGAAAACTACAACACCACAACCTACTTTACTACACAGGCTGGGAATAGGTCT GCCCTTCGCTACCACATTATTACGCTGCTCTTGGTTGCATTTGTGCTCTACCCTGTGTCC CTGGCGCTAAGCGCCGCCCGTTCTAGGTGGTACTTACCCCTGCTGTTTGTTAATCTATGC ATTTGTATTTCGTCCGTAATGGCATTGTCCGTGTTCAAAAATACTTTCCCGGAAGAAGAC TGGTATGCGCATAATATCTATGGCACCACTTCTGTGCTACTTCTCGTTTTTATGCTTGTT CACTTCTTCGCTGCGGTGCTTTCTGTCCCCGTCTCATTAGCATCGAAAAAGGAGTACCGT CCGGTTGACACCATCCCTCTGAATGATCTTGAATCTACGCCCGTCATGGTGAATAGTGCA CGTGGCTCTCCAAGTCCTTCTTCCAACAGAGACACGTTGTTCTCGCTCTCTTCAGACACC ACGACCGCCACGGCCACCAATAATAATAAACGGAGACGCGCTGAAGGCGAAGACGAGGGT GATAACACCTCCAACCACGACACTTTGCGCGACGAAGACTACGATAATGATGACGACGAA ATTGCTTCCATTGAAGCGCCACCTCTGCTTCCTCAAGACATACCCGTTTTCCGAATCTTG TTTACCAACACGAAGTACCAGATGCTTGCCGCGCACCTCTCGTGCGTCGCCAACGTGGTC TTTCACATGCTTACCTACCCGCTATTCATGTACATCTTTGTAGACCTAATCATCGGCTTC GCTGTAGGTAACTTGCTCGGCAAGGGCATCCGCATCTTTAATCTCTTGGCCCACTGGATT AAGGGCGGCGTATTTTTTACTCTGGGCGTTGTCTCTTTAGCAAGATACTGCGGTTTCGCA GCTAAGTACGGCTGGGCATGGAACAACATCAGCTTCACCTCTCAACTCACACAAACGCGT TCCTCCAATCTTCTTTTCCGGTTTGCTCCTGCGGGGACTTTCACCATGGAATTCGTTGAA TCCTTCCTCATTTTCTTTTACGGGTCCACCAACATCTTCTTGGAGCACCTGGCAGGAAAC GGCGGCGCATGGACTGCCAAGGATTTACAGCATGTGTCGATAAATTCTCACCGGCCCCAA GGTGTGTGGGCTACTCACGGAGTACAAGCTCAACCATTGGCGATTCGAGCATGCCCGCAA ACGGCCACAGACCGATGTAGTTGCTGCCACACCGGGGTACTCTCCAAACCCGTTCCCCGC TTTCACCATATTTTGGACTGGGATTCTGATGTCCCAGCACGCACAGTCCTCGCAATTTTC TACTACCATTCACACGCAATGGGGATACTTGTTGTCCTATGGGTCCTTCTTCCGTCTGCT AACATTTTTGATTCTGTTTTTGGTGCCCAACACCAACAGTGCCGCATCCAAGCCTTTCAC GGAGTTGATCACCTCGTTCTGTCTCCTCTGTGGTGGTCTGGTATTTATGGAGTCCACGGA TCAGTCCATTGA >G10 474 residues Pha 0 Code 0 ATGCCGCGCATAAAGACCAGAAGATCCAAGCCTGCACCTGACGGGTTCGAAAAAATCAAG CCAACCCTCACAGATTTCGAAATCCAACTCAGAGATGCCCAAAAGGACAAGTCGTCTAAG CTCGCAGCAAAGTCCAATGAGCAGCTCTGGGAGATAATGCAACTCCACCACCAGCGCTCT AGATACATATATACTCTGTACTACAAGAGAAAGGCCATCTCCAAAGACCTTTACGATTGG TTGATAAAGGAAAAGTATGCTGATAAATTGCTAATTGCCAAATGGCGCAAAACCGGGTAT GAAAAACTGTGCTGTCTGCGCTGCATTCAAAAGAACGAAACTAACAACGGTAGCACTTGC ATCTGCAGGGTGCCTCGTGCACAGTTAGAGGAAGAAGCACGCAAAAAGGGCACACAGGTG TCCTTCCATCAGTGCGTCCACTGCGGCTGCCGTGGATGTGCAAGCACAGACTAA >HCM1 1599 residues Pha 0 Code 0 ATGATGAATGAAGACATATCCATCATTGATGGCCATAATAGTTTTTTAACGGAAAAAAGC ACCGTGCTATTAACCCAAGCCAAGAGAACACTAGAAGACGAAAAGGAAATGATTACTCCC CCGAGCTCAACTGTGAGAAAAACAATGAAGGAAGTAAATAAGAGGCCGTCGCATCCCCTC TCACCGGATCACTCGTCCCCAATTGCTCCATCTAAGGCCAAGCGCCAAAGATCGGACACA TGCGCTCGGTCCAATGGTAACCTAACCTTGGAAGAAATTCTTCAATCTTTGGAAAGAAGA AGAATAAATGGTGAACTCGCCAAGAAACCTCCATATTCGTATGCAACTTTGATTTGCTTG GCCATTTTGCAATCTCAGGAGGGAAAGCTAACGCTATCCCAGATATATCATTGGATCCAC GTTCACTTCCCTTATTACAAGCAGAAAGATGCTAGTTGGCAAAATTCAATAAGACATAAC TTGTCTTTAAATGATGCGTTCATCAAGACTGAAAAGTCCTGCGATGGTAAGGGTCATTTC TGGGAGGTCAGACCGGGTGCCGAAACAAAATTTTTCAAAGGTGAAAATCGTGGTTATGAA TTTGTAAAGGACTCCTTACAAGACATTGGGAAGTATTTTGAAATAGATTCTACACTTGAT GAATTAGAACAAGTTGAGAGTGGAGAAGGCAATGATGATCTTCCTGACGAGGAAGAAAGA GAGGAAGCAGGGAAATTCCCTTCCATTGAAATTCAATTGAACTCCTCCCCTATACTGAGA GTTTCCCAGTTACATCACATACCGCAATTGAAAACAGACAACAGTGTACTGAACCCTCAC GAAAACCTAGAATCGATGCGGAACATGATAGAAAACGATGTCAACAATATAGATTCCTTG GAACCTCCTTATGTCATGAAGAAATATCATACTTCTTTAGGCTTACCGTCGCTGGTGAAT GCCAAAGATCATTTCCAGGCGGGTGTGAAAAACAATAATATCACCCAGGCAAATAGATTT AATACACTCCCTATAACTAGCGCAAAGTCTCCTCAGAATTTCAGAAAATATTTCACCTCA TTCAATTCAAATTTTGAAGATTTATCTCCACTTCGAAGTAATGTAGGGGCTGGTTCTCTA CTCGACCCACTTCCGTATTCCCCATTGAAGCTGTACGATCAGAAAAATCTTGCGCTCATG TCGAAACCACAATCTCAGCAATCATATTCCAATTCTCAACTTCCACCTCCACCTTCCTCT CATGGTTCGGACTTACTTAAAACACCCAAGATGAGGCATTCCGATGGCTTAGAGAAAACC CCATCGCGGTTGATAAGCACACCTAAGGACGGTAACTCGATTTTGAGGAAATGGCAGACT CCTTCACACCTTTTTGAAGATTTGTACTGTTCTCCGCTATTTAGAGCTATAGAGACTCCA ATCAGGTATATCACGACGCCGGGGGGCAACTTTGGAAACCCAAATTTCACCAAGAAAGTC CTCTGCACCCGATGTCCTCACAAGCGCAACGAATTCCAAATTTGCTTCAAGCGGGCTGTT TGGCGTGGATGTTTATTCTGTTTGGAAGCGCGCAACTGA >RAD18 1464 residues Pha 0 Code 0 ATGGACCACCAAATAACCACTGCAAGCGACTTCACGACTACTTCAATACCGAGCCTGTAC CAATTGGATACACTTTTGAGATGTCACATTTGTAAAGATTTTCTAAAAGTCCCCGTCTTA ACACCTTGTGGCCATACATTTTGTTCCCTTTGTATTAGAACACATTTGAATAACCAACCA AATTGTCCTCTCTGCCTTTTCGAGTTCAGAGAGTCCTTGCTGAGAAGTGAGTTCCTGGTC AGTGAAATAATTCAAAGTTATACATCCCTACGATCTTCCTTACTAGATGCACTAAGGATA CCGAAGCCTACCCCTGTCCCTGAGAATGAGGAAGTACCAGGTCCTGAAAATTCTTCATGG ATAGAACTCATATCAGAGTCTGAAAGTGACAGTGTAAATGCCGCTGATGATGACTTGCAA ATTGTTGCAACAAGTGAAAGAAAACTTGCCAAAAGATCCATGACTGATATATTACCACTG AGTTCCAAACCATCCAAAAGGAATTTTGCAATGTTCAGAAGTGAACGTATCAAGAAAAAA TCAAAGCCAAATGAACAAATGGCCCAGTGCCCCATATGTCAACAATTTTATCCTCTTAAA GCCCTTGAAAAAACACATTTGGATGAATGCCTAACTTTACAATCACTAGGCAAAAAACCA AAAATTTCTACCACTTTCCCTACAGAGTCAAATCCACATAACAAAAGTTCATCCAGATTC AAGGTACGAACTCCAGAAGTCGACAAAAGCTCATGTGGTGAGACCTCACATGTGGATAAG TATTTAAACTCAATGATGAGTGCAGAACACCAAAGATTGCCGAAGATCAATTTTACGTCT ATGACTCAATCCCAAATAAAACAAAAACTGTCATCGTTGGGACTGTCAACTAATGGTACT AGGCAAAACATGATTAAAAGATACAATCACTACGAAATGCTTTGGAATTCTAATTTTTGT GATTCTCTAGAACCTGTTGATGAAGCTGAACTAAAAAGACAGTTGTTAAGCTGGGATGTT TCACACAATAAAACCCCCCAAAATAGTAGCAACAAGGGTGGAATTTCTAAATTAATGATA ATGAAGAGTAATGGGAAATCTTCTTCATATAGGAAATTACTTGAAAATTTCAAAAACGAT AAATTTAATAGGAAAGGATGGATGGTTATGTTTCGGAAGGATTTTGCTAGGCTTATCAGG GAAGCAAAAATGAAAATAAAAACAGGTTCATCGGACAGTTCAGGTTCAGTGGGACATTCT AATGATGGAGATGGTGTTGAAAAAGTTCAAAGTGACCAGGGAACCGAGGATCAGCAAATG GAGAAGGATCAGGACACTGTTATCAACGAAGATAGAGTTGCTGGTGAAAGAAATTTGCCT AACGAAGATTCAACTGATGCTGACTTATCAAGAGAATTAATGGACTTGAATGAATATAGT AAAGACCCACCCGGTAACAATTAA >CYPR 957 residues Pha 0 Code 0 ATGTGGTTGAAATCCTTGCTGCTCTGCCTGTACTCCTTAGTACTCTGCCAAGTCCACGCT GCACCTTCATCAGGGAAGCAGATTACCTCCAAGGATGTTGATCTTCAGAAAAAATATGAG CCCAGTCCCCCCGCCACACATCGTGGAATAATCACTATCGAATACTTTGATCCCGTTTCG AAGTCGATGAAAGAGGCGGATCTGACTTTTGAGTTGTACGGTACTGTCGTGCCCAAAACT GTGAACAACTTTGCTATGCTGGCCCATGGTGTTAAGGCAGTTATCGAAGGGAAAGATCCC AATGATATACATACTTACTCGTACCGTAAGACCAAAATCAACAAGGTTTACCCTAACAAG TATATCCAGGGTGGTGTGGTTGCCCCAGATGTGGGTCCTTTCACCGTCTATGGGCCCAAA TTTGATGACGAAAACTTTTACTTAAAACATGACAGGCCTGAAAGACTCGCAATGGCCTAT TTTGGACCTGATTCTAACACCTCGGAATTCATCATCACCACTAAAGCCGATGGAAATGAG GAATTGGATGGCAAAAGTGTCGTGTTTGGTCAAATAACTTCTGGTCTAGATCAACTAATG GATGCTATTCAATACACAGAAACAGACGAATATGGAAAGCCTCAGCATGAATTACGGTTC CTGTATTTCGTTCTAGAAATCTTAAAAATTAGTAACATCTTAGATTTGCACGCTGCGTAC ACAGAAAAAGTCGAGAAGTTTAGAAATGGCGATGTGTCTGTTGGCTCCACTTTGGAAAAC ATCTTCCGTAACGATAAAGCCTACACACCTTTAACCACCTCCACTGGAACCACCGCCTAT GATTTAAACCACCCAATTTCCAGAGCCTTGATGTGTTTAACTGTTCTTGGCCTTTGTTTC ATTGCCTACAAGGGCATGCACGAAAAGCCTCATACGGTTTCATTAAGACACAAGTAA >YCW1 366 residues Pha 0 Code 0 ATGATCAGTTCGTGTGTTACTAGATGTTTTGGTAGGGGTAAATGCCTTCCAGGGCCTGCC ACTGCCTCGATATACCAAACGATAAGATGTATATCCACTAATTCAAATAAAGCTGCTGAG GCGCCAATATTTCCAAAGCTGGAAGACGTGAAGATGCATGAGCTCATAGGAAACAACAAT TTTGGTAAAAAGACCTACTACGTGGAGAGAAGCAGGACCGGAAATCTACCGGTGTATTCC GCTTATAAAAATGGAGGTAACAAGATTATCACGGAGATCAGAAAGATTGAAGGAGATGTA ATTCAACTAAGAAATGACTTGCAGGAGCAACTGCCTTTCATACCCAAAAAATCATGGCTG TGGTGA >YCW2 1548 residues Pha 0 Code 0 ATGTCCACCCTGATTCCTCCACCTTCTAAGAAACAAAAGAAAGAGGCTCAACTTCCCAGA GAAGTAGCTATTATTCCGAAAGATTTACCCAATGTTTCAATCAAGTTCCAAGCTTTAGAT ACTGGTGACAATGTAGGTGGCGCCCTGAGAGTTCCCGGTGCTATCTCCGAGAAACAGTTA GAAGAACTTTTAAATCAATTGAACGGTACTTCAGACGATCCAGTGCCATATACCTTCAGC TGTACAATTCAAGGTAAGAAGGCCAGTGACCCTGTGAAGACGATTGATATAACAGATAAC CTATATTCTTCATTAATAAAACCAGGCTATAACAGTACAGAAGATCAGATCACGCTACTG TATACGCCAAGAGCAGTTTTCAAAGTCAAGCCGGTAACTAGAAGTTCATCAGCCATTGCA GGTCACGGTTCCACAATTTTGTGTTCTGCCTTCGCACCACATACGAGTTCTAGGATGGTA ACCGGTGCAGGTGATAATACTGCAAGGATTTGGGACTGTGACACCCAAACGCCAATGCAT ACTCTAAAGGGTCACTACAATTGGGTTCTCTGCGTTTCCTGGTCCCCCGATGGAGAAGTA ATTGCTACGGGATCCATGGACAATACCATAAGATTATGGGACCCAAAAAGCGGTCAGTGT CTAGGTGATGCTCTCAGAGGTCATTCCAAGTGGATCACTTCTTTAAGTTGGGAACCTATA CATCTTGTGAAGCCGGGCTCCAAACCAAGATTAGCTTCATCTTCTAAGGATGGTACTATT AAGATTTGGGACACTGTGAGCAGAGTTTGCCAGTATACGATGAGTGGTCACACAAATTCA GTGTCTTGTGTCAAATGGGGCGGCCAAGGTCTATTGTATAGTGGCTCTCACGATAGAACC GTACGTGTATGGGACATCAATTCGCAGGGCAGATGTATCAACATTTTGAAGTCGCATGCG CACTGGGTTAATCACTTATCTTTATCTACAGATTACGCATTGCGCATTGGTGCATTCGAT CATACAGGTAAGAAGCCTTCTACACCAGAAGAAGCCCAGAAAAAGGCATTGGAAAATTAT GAAAAAATCTGTAAAAAGAATGGAAATTCAGAAGAAATGATGGTTACTGCAAGCGATGAT TATACCATGTTTTTATGGAACCCACTAAAATCTACCAAGCCTATAGCAAGAATGACCGGT CACCAAAAATTAGTCAATCATGTGGCGTTCAGCCCTGATGGTAGGTATATTGTCTCAGCG TCTTTTGATAACTCTATCAAACTTTGGGACGGTAGAGATGGTAAGTTTATCTCCACATTT AGAGGGCATATAGCCAGCGTATACCAGGTTGCGTGGTCATCGGACTGCCGACTACTGGTG TCATGTTCCAAAGATACCACGTTGAAAGTGTGGGATGTAAGAACTAGAAAACTTTCTGTT GACCTCCCTGGTCATAAAGACGAAGTTTATACCGTCGACTGGAGTGTCGACGGTAAAAGA GTGTGTAGTGGTGGGAAAGACAAGATGGTAAGATTGTGGACGCATTGA >SSK22 3945 residues Pha 0 Code 0 ATGATGATGGATATACTGAATACACAGCAACAAAAAGCGGCTGAAGGCGGGAGAGTTCTG GCTCCTCATACCATCTCAAGTAAGCTCGTGAAGAGATTATCAAGTCATTCCAGCCATAAA CTATCAAGATCTGATTTGAAAGCATTGGGTGGCTCGGAAACAATAAGCGACGGCCCCAGT CAGCTGACTTTTAAGGACCGATACGTTTTCAATGAATCGCTATACTTGAAAAAGCTAAAA AAGACCGCTTTAGATGACTACTACACGAGGGGCATAAAACTCACTAACCGCTACGAGGAA GACGACGGTGATGACGAAATTATTCGGTTGTCTAATGGCGACAGAATTGATGAAGACCTG CACTCAGGTGTCAAGTTTTTCTCCACTACACCTTATTGCAGGAAAATGAGGTCAGACAGT GATGAACTAGCTTGGAATGAAATTGCGACCGAACGGTTCAAATGGCAGTCAATGCTGGCC AGAGTGCTGAAGGGAGATATTGTTAAAGGTGAAAAGACGAGGATTGCTAACCAAGTCAAG AAACCAGGGTTAAATAAGGAGCTCTCAGATGAGATATGGCTCGAATTGAAGGCATGGCTG AATGGGAGGACCATGCAAGAGATGGAACAGTCGCTTACATATTTAAGAGATAGTTCAGAT TCCGTTTTTGAAGAGATAATGAAGTTTCAAATTCCACAGGGCAAGATATTGAGCCTGGAT GCACTGGAGGCCATCTTACAAGACCTCATGAACAGATATCACAGCGTTGTCTCTTATTGG CCTAACTTGAAAAAAATGTATAAGGATAAACCAATCACCAATACTGCAGAATTTACCGCT AGAATAGACGTAATGAATTCTTGGCTGAACTTTAAAACGAACTTAACGTTGAGGAGGCAA GAGTTGGACGACTGGATAAACCGTTTCTCACCGATAAGTAGTTCGGATAATTGCCAAGAG GATTTTGATGGTGTGCCCCAATGGAACTGCAAAATGAAGATTCTTGCAGAACAATTGATG AAGGAAAAGAACATCGAGTCTATATTCCAAAAAAAAATTTTCTATCCGCTATCACCTTGG ATGTTCAAACTGAAACTACATTTTATAGTCTACAGAGAAACTTTGACAAAGATGAACATA AAATATCCTTATGAAAGGTTAAGATCACTACTGGCGTTCCCCGTCTATTTAATCAAAGAA GTTATTTTGACTAGATTGTCATATGCACGAAAGCTTAAAAATCCAACAATGATGATGATC GATCAAATGATCGATGATTTTAACGCTTTTATTCGACTTTCTGTGCAATTGAAGTACACA CTGACAAAATATTGCTCCAATTTGCCGTTCGATGTGGATTTTGACCCGACGTTCGAAAAT ACTGTAATAGAAGCCATTCGTTATTTATTTTTTCTGTTGAATTTAAAGTTGATTGATTCC AGTAAACAAAATTTCAAAGCACCCGATCTACTCTTGAAATACTGGGATCACCTAAAAAAC ACCGGTCACTATATTAACGGTGCAGAAACCGTGATTCCAAATGAATTTCTCAAGTTAACT TTGAGACTCGTACATAAATTGCAATTCTATCTTTTGAAACAACAAAACTTCCCACCAACA TTTGCTAACGCTTCAGAAGCAGAAAAATGGCTAAGTTCCATTTTCGAAAATTTGGGTGCC ATGAAAAGAAAGCTGAACAGGTTCAGCAATATTCTAGTCAAGGCGTTCCAAAATTCTGCT GTTTATCAGATTAATCATAATGCACAACTTGTTAAAAAGTTAAAAGATGCTCACTATTTT TTGGTATACTCCGGTAACACTTTTGAGTCTAGTGGTGTATATATGTTTGCTGCTCCTGAA TTATTAGGTTGTGACAATGATACCATCTTAAGAATTTTGCGAAATAAATCCATTGGCTGT GATTTGGTCCCAAAGCTTGACATTGGAAATAATTTGAATGTGTATGATATAACAACAAAA GAAACAGATTTGAACATTCTAGTATCGAAAGGGGAGGATTCCAAAGGAATTCCTTACTAC CGAGTAGTAGCAAATTCGTCAAGTGATTTGGACAGGCATGCTCATCAGTCCAAAAAGAAG AATTTTTCAACAGACCCTTTTGATCAGCACCTTGATGAAAAGAACAATGAAGTTTTTGAA TTGGAAGTTGCTTTGAGCTCATTGGGTGCACTAGTTGTACTATATCCTGGAGAGCCAGTA GTTTGGGATGGACCAGTATATAAGCTTCCAGGTAACAACCTTTTTGCATCCAACGAAATG GATTTAGGGAAAATTGGTAACCCAAATACGTTGATTTTACTCAATCAAGGTTCTAATTAT GCACTGACTTATCAAATCGACAAGTTTAATCAAACGGTAGGTGATTCTGTTTCATTCATA GAGAAACGTTGTTCACTCAATTCAATTGAATCCTCCCTACAAAAAATCAATAAGGCATAT TACAAACTTACTTATACAGTATTGAACAACTACAAAGGAATTCTAGGTAGCTTTATGAAG CAATGTCCGGGAAATGAGTTGTTAAATTCGATATTCATGTTTGGAAGGGATTTTGGAAGA AGTTTCCTTAAATATAACGCCTTTAGCTCAAAGAGGAAGTACGTTATCATCTTTCTGATG GTTAAATTAGGAATGAACTGGTTGAAATTCCTTGTTGAAGAGTGTGATCCTACCGATCAG CGAACTTTCCGATGGTGCGTTCTTGCAATGGATTTTGCGATGCAGATGACTAGTGGTTAT AATATCCTGGCGCTGAATGTAAAGCAATTTCAAGAACTGAAGGAGAGGGTATCAGTATGT ATGTCATTATTAATTTCACATTTCGACGTTATGGGTGCACGAGCCACTGAAGCTGAAAAT GGCATGCAACAGGCAAGATTGAATATTGATACTGAAGAGAATATTGATGAAGAGGCCACC CTAGAAATAAACAGCAGGTTGAGACTGGAAGCTATAAAGACGTTGGAAAAGACTATGAAG AGGAATCCCAGGCAAATGGGTAAGGTATTGGATGCTACAGATCAGGGAAACAAATACCTA CTATCGCTAGCATCCTCATTATCGAATGTATCAATGAGGTGGCAAAAAAGAAGCTTCATT GGCGGTGGAACATTTGGACAGGTATACTCTGCAATTAATCTGGAAAACGGTGAAATCTTA GCTGTTAAGGAAATAAAGATACACGATACCACAACAATGAAGAAGATTTTTCCCCTGATT AAAGAAGAGATGACCGTATTGGAAATGTTAAACCATCCTAATATTGTCCAGTACTATGGT GTCGAAGTACATCGCGATAAAGTTAACATCTTCATGGAATACTGTGAGGGTGGTTCTTTA GCCTCGTTATTGGATCATGGAAGAATTGAAGATGAAATGGTAACACAAGTGTACACATTC GAACTATTAGAAGGTTTGGCATATTTGCACCAATCTGGCGTGGTGCATCGCGACATTAAA CCGGAGAATATCTTGCTGGATTTCAATGGAATCATAAAATATGTGGATTTTGGTACGGCA CGTACCGTTGTAGGATCTAGGACTAGAACTGTGCGGAACGCAGCCGTTCAAGATTTTGGA GTAGAAACAAAGTCCCTCAATGAAATGATGGGGACACCGATGTATATGGCTCCAGAGACT ATTTCAGGCTCGGCAGTTAAGGGAAAACTTGGAGCGGACGATGTATGGGCATTAGGATGT GTTGTGCTAGAAATGGCCACAGGTAGACGACCTTGGTCTAACTTGGATAATGAATGGGCC ATCATGTACCACGTTGCTGCAGGTCGAATACCGCAACTACCCAATAGAGACGAAATGACT GCAGCGGGAAGAGCCCTTCTTGGAAAGGTGTTTGGTTCAAGACCCCACTATGAGGGCTAC TGCTGTGGAACTACTGATAGACCCTTGGATGATACAAATCCGTGA >SOL2 948 residues Pha 0 Code 0 ATGACTACGACGGTACCCAAGATATTCGCGTTTCACGAGTTTTCAGACGTGGCAGAGGCC GTAGCTGACCATGTAGTCCACGCGCAAGACGGTGCATTGGCTCCAAAGAACGAGAGGAAA CACTCTGTTCCCAACATCAGCATGAATGCACTGGATATGACGAGAGAGGCCTCTTGCAAA AGCACAGCATCTGCCGCGGAAGGGAAAAGTGGTAGCAGTGGTAGTGGCAGTGGTAGCAGT AAGCCCAAAAAGGAGAAACGGTTCAAGATTGCTCTCTCCGGTGGGTCATTGATCGAAGTG CTACACGAAGGTCTGCTAAAACGAGACGATGTACGGTGGGGAGACTGGGACATTTACTTT GCAGACGAGAGACTTGTACCCTTCAGCTCGAATGAAAGCAATTATGGATGCGCCAAAAGG AAGATTTTGGACCTGATAGACACGGCGAAGTATGGAACTCCGAAGGTGTACCACATTGAC GAGTCATTGATTGACGACCCGCAAGAATGCGTTGATAACTATGAAAAGGTGCTAATCCGC GGGTTTGCCGGTAGAGATTCCGTCAAACTTCCGATGTTCGACTTGTTCCTGCTTGGTTGT GCCCCCGATGGTCATATCGCATCACTCTTCCCTAACTTCCAGGACAATCTACGTGAGAAA CTTGCATGGGTGGTGCCCGTGGAGAACGCTCCTAGTGGGCCCTCGACCAGAATTTCGCTG ACTATACCTGTAATCTGCCATTCTCACAGGGTTACTTTCGTTGTCGAAGGTGCAACCAAG GCGCCCATCATCAAGACCATTATGGAAAGGCCTGAAAAGGGCCTACCTAGCAGTATTGTC AACGAAGGTGCTGCTGGTCGTGTATCATGGTTTGTTGACGACGATGCTCTTACGGACGTC CTCGTCACCAAAAAAAAGTATAAATTCCACCAAGGTTTGTCTATTTAA >ERS1 783 residues Pha 0 Code 0 ATGGTGTCGTTAGACGATATACTAGGTATCGTGTATGTTACGTCATGGTCGATATCGATG TATCCACCGATAATCACCAATTGGCGCCATAAGTCAGCGAGCGCGATATCGATGGATTTT GTCATGTTAAATACGGCAGGTTACTCTTACCTGGTCATATCCATATTTTTGCAATTGTAC TGCTGGAAAATGACGGGTGATGAGTCTGACTTGGGCAGGCCCAAGTTGACGCAATTTGAT TTCTGGTATTGCCTGCATGGGTGCTTGATGAATGTTGTCTTATTGACCCAGGTGGTAGCT GGAGCGAGAATCTGGCGATTTCCAGGTAAAGGTCACCGCAAGATGAATCCATGGTACCTA AGGATTTTACTCGCATCACTGGCCATTTTTTCACTGCTAACCGTACAATTTATGTACTCC AACTACTGGTACGATTGGCATAACTCAAGAACTCTGGCGTATTGCAACAATTTGTTTTTA CTCAAAATATCGATGTCACTAATCAAGTACATCCCACAAGTGACGCATAACTCGACAAGA AAATCTATGGATTGTTTCCCCATTCAGGGTGTGTTTCTAGATGTCACTGGCGGTATCGCC TCGCTGCTCCAATTGATTTGGCAGTTGTCTAACGATCAAGGTTTCAGTCTGGATACGTTC GTGACAAATTTTGGAAAAGTGGGACTGTCAATGGTAACTTTAATATTCAACTTCATCTTT ATCATGCAGTGGTTTGTATATCGATCTCGAGGCCATGATCTGGCGTCAGAGTACCCGCTG TAG >PAT1 2394 residues Pha 0 Code 0 ATGTCCTTCTTTGGGTTAGAAAATAGCGGTAATGCGCGGGATGGTCCTCTGGACTTTGAA GAGAGTTACAAGGGCTATGGCGAGCACGAACTTGAGGAGAACGACTATTTGAACGACGAA ACATTTGGTGATAATGTTCAGGTTGGTACCGACTTTGATTTTGGAAATCCTCACAGCAGC GGCAGCAGCGGCAACGCAATTGGTGGTAATGGCGTCGGTGCCACGGCTAGATCATATGTT GCAGCTACTGCAGAAGGAATTAGCGGCCCTAGGACCGATGGAACGGCAGCAGCAGGACCT CTAGACCTGAAGCCAATGGAATCTTTGTGGTCTACTGCACCACCTCCAGCAATGGCGCCT TCACCCCAAAGTACAATGGCTCCGGCTCCTGCTCCGCAGCAAATGGCCCCCCTACAGCCA ATCTTGTCGATGCAAGACTTGGAAAGACAACAACGTCAAATGCAGCAACAGTTTATGAAT TTCCACGCCATGGGTCATCCACAGGGTCTCCCACAGGGTCCGCCTCAGCAGCAATTTCCA ATGCAGCCTGCGTCGGGTCAACCAGGTCCCTCACAATTTGCGCCTCCACCTCCACCTCCT GGCGTTAATGTGAATATGAATCAAATGCCAATGGGTCCTGTACAAGTTCCAGTTCAAGCT TCGCCTTCACCCATCGGTATGTCCAACACTCCTTCTCCAGGCCCTGTGGTTGGCGCAACT AAAATGCCTCTGCAAAGTGGACGCAGATCGAAGAGAGATTTGTCGCCTGAAGAGCAAAGA CGTTTGCAGATTCGTCATGCCAAAGTGGAGAAAATCTTGAAATACTCAGGTTTAATGACT CCTCGTGATAAGGACTTCATCACCAGATATCAGTTGTCTCAAATTGTCACTGAGGACCCT TACAATGAGGATTTCTACTTCCAGGTCTACAAGATTATCCAAAGAGGCGGTATCACGTCC GAATCCAACAAAGGTTTGATTGCTAGGGCGTATTTGGAACATTCTGGACACAGACTCGGT GGTCGCTATAAGAGAACCGATATTGCCCTACAGAGAATGCAAAGTCAAGTAGAAAAGGCT GTCACTGTGGCTAAGGAAAGACCTTCTAAGTTGAAGGATCAACAAGCGGCTGCTGGTAAC TCTAGCCAGGATAATAAGCAAGCAAACACGGTTCTGGGCAAAATCTCTTCCACTTTGAAC AGCAAGAATCCAAGAAGACAACTGCAGATCCCCAGACAACAGCCTTCTTCTGACCCCGAT GCGCTAAAAGACGTCACTGACTCTCTGACCAACGTGGACTTGGCCTCTTCAGGGTCCTCC TCTACGGGCTCTTCTGCCGCTGCTGTTGCTTCTAAGCAAAGAAGAAGATCTTCATACGCG TTCAACAACGGTAATGGTGCCACAAATTTGAACAAATCTGGGGGCAAAAAATTCATTCTT GAGTTAATTGAAACAGTTTATGAAGAGATTTTAGACTTGGAAGCTAACTTGAGGAATGGC CAGCAAACTGACAGCACTGCAATGTGGGAGGCCCTTCACATCGACGACAGTTCATATGAC GTAAACCCTTTCATTTCGATGCTATCATTTGATAAAGGTATCAAGATTATGCCTAGAATT TTTAATTTCTTGGATAAGCAGCAAAAATTGAAAATCCTGCAAAAAATCTTCAATGAATTA TCACACTTGCAAATCATCATATTGAGTTCCTACAAGACTACACCAAAACCAACTTTGACA CAATTGAAGAAAGTCGATCTGTTCCAAATGATCATATTAAAGATCATTGTCTCGTTTTTG TCTAATAACTCCAATTTTATCGAAATTATGGGTCTGTTGCTACAGTTAATCAGAAACAAC AACGTTTCGTTCTTGACCACCTCCAAAATTGGTCTAAATTTGATCACCATTTTGATTTCT CGTGCCGCATTAATCAAGCAAGATTCATCAAGATCTAATATTCTTTCCTCTCCTGAAATC TCCACATGGAATGAGATTTATGATAAATTATTCACTTCATTGGAAAGTAAGATTCAGCTG ATTTTCCCTCCAAGGGAATATAACGTCCACATCATGCGTTTACAAAATGACAAGTTTATG GATGAAGCATACTTTGGCCAGTTCCTAGCTAGTTTAGCACTAAGTGGAAAGCTAAACCAC CAGAGAATCATTATTGATGAAGTACGTGATGAAATCTTTGCCACTATTAACGAGGCGGAG ACCTTACAAAAGAAAGAGAAAGAATTGAGTGTATTACCTCAGAGGTCTCAAGAATTAGAC ACAGAGTTAAAATCTATTATTTATAATAAAGAGAAACTATACCAAGATTTGAATTTGTTC CTAAACGTTATGGGGTTGGTGTATCGCGATGGTGAAATATCAGAACTAAAGTAA >SRB8 4284 residues Pha 0 Code 0 ATGAATAACGGTTCTGGTCGATACTTGCTGACTCCCCCAGATGATCTTCACCCCTATGTG CCAAGCTCGAAACCTCAGGAACAAGTATACCCTGATTTCAAGCCTTGGGAGCACACTGCA GCAGAAGATCAAATCCTAGCAAACTTTGTGGCTAAGGGCTTTTACCATACACCAATGGTA AATTTCGAGTCCATATCTGCGAGATCATCTGTTCATGAATCATTAGTCACTCAATCCAAC ATTCTTTCCCAGCAATTCGACAAAATTATCAAGATTAGAGAAGACCACATTAATAAGATC CCCTCAAATTCCACGACGACATTACACGGGCCTGGTTTTCAGTTGCCTAATAGAATAACC CTTACTGATCATAGAAAGGAAACGTGGTTGCATGAATTGAGTTCGTCTCACACTTCGCTG GTCAAAATTGGCAAGTTTATACCTCACGGCTTGAAAAGAAGGCAAGTCATCGAGCAGTGC TATTTAAAATTTATACCATTGAAAAGGGCGATTTGGTTGATAAAGTGCTGCTATTTTATC GAATGGAAATCGAACCACAAAAAGAAGAGGTCAAATGCTGCTGGGGCAGATGATGCCATT TCCATGCACCTGCTAAAGGACTGGACGGATACCTTTGTATACATCCTGGAAAAGCTCATC TTTGATATGACAAATCACTATAACGATTCTCAACAACTGCGTACGTGGAAGAGGCAGATT TCTTATTTTTTAAAACTTTTGGGGAATTGCTACTCACTAAGATTGATCAATAAGGAAATC TTTCATCATTGGCTTGTAGAGTTTATAAATAAGATGGAAAACTTCGAATTTTTGCCATTA TCTTTACATATTTTGATGATTTTTTGGAACGACATCTGCCAAATTGATACAAATGCTCCT GTTGCGGCTACAATAACATCAAGTCAAAAAGAGCCCTTCTTTCTGGTAACAAAAATCACT GATATGCTATTGCACAAATATTATATTGTTTCCAGCAGCAAATCAATGATAAATGACGAG AACTACATCATCAATGATATAAAGAAAAACAACAAGATAAAGTTGAATATTCTCAAAATA TTATCCAGTTTAATTTTGAAAATTTTTCAAGAACAATCTTTAGAGGTGTTTATATTTCCC ACATCTAACTGGGAAATTTACAAGCCCTTACTTTTTGAAATAGTCTCAAACGCCGACACT AATCAAAATTCTGATATGAAGAAAAAATTAGAGTTAATTAGTTACAGAAACGAGTCATTG AAGAATAATTCTTCTATACGAAACGTAATAATGTCTGCCAGCAACGCAAATGACTTTCAA TTAACTATCGTCACCTGTAAACAATTTCCAAAACTATCATGCATTCAATTAAATTGTATA GATACTCAGTTCACCAAGCTACTGGACGATAACCCTACAGAATTCGATTGGCCCACTTAC GTTGACCAAAATCCCCTTACAATGCATAAAATTATTCAATTAATTCTCTGGTCCATACAT CCATCAAGGCAATTTGATCACTATGAATCTAATCAACTGGTAGCGAAATTATTACTATTG CGAATAAATTCAACAGATGAGGATTTGCACGAATTCCAGATAGAAGATGCCATTTGGTCA TTGGTTTTCCAATTAGCCAAAAATTTTTCGGCCCAAAAGAGGGTGGTATCATATATGATG CCTTCTTTGTATCGCCTGCTTAATATACTAATTACTTATGGCATCATTAAGGTCCCTACG TATATCAGAAAGCTAATCAGTTCCGGCCTACTTTATCTCCAAGATTCCAATGATAAGTTT GTGCATGTCCAGCTGTTAATTAACTTGAAAATTTCACCGTTGATGAAAAGTCAATACAAT ATGGTATTGAGGAACGTTATGGAATATGACGTTAAATTTTATGAAATTTTTAATTTCGAC CAACTCGTGGAAATCACAGAACAAATCAAAATGCGAATACTCTCCAATGATATAACTAAT TTGCAACTGTCGAAAACTCCTCTGAGCATTAAAATCATGGTTGCAGAATGGTACTTATCA CATTTATGTTCCGGTATTTTATCTAGTGTTAACCGCACAGTGTTGCTAAAAATATTCAAG ATTTTTTGTATCGATCTGGAGGTTTTCCACCACTTTTTTAAGTGGATCGAGTTTATTGTC TACCATCAATTGCTAAGTGATATAGAATCTCTGGAGGCATTGATGGACATCTTGCTATGC TACCAAAAATTGTTCTCACAATTCATTAATGACCATATTCTTTTTACGAAGACGTTCATA TTCATTTACAAGAAAGTTTTGAAAGAAAAAGACGTGCCTGCTTATAATGTGACTTCATTT ATGCCATTCTGGAAATTTTTTATGAAAAACTTCCCTTTTGTTTTAAAGGTGGATAACGAT TTAAGGATTGAGTTACAATCTGTTTACAATGATGAGAAATTGAAAACTGAGAAGCTGAAG AATGATAAATCAGAAGTCTTGAAGGTGTATTCCATGATCAATAATTCAAACCAAGCTGTT GGACAGACTTGGAATTTTCCCGAGGTGTTTCAAGTAAACATCAGGTTTCTACTACACAAC TCCGAGATCATTGATACAAATACAAGCAAACAGTTCCAGAAAGCACGAAACAATGTCATG CTTTTGATTGCCACTAACTTGAAGGAGTACAATAAATTTATGTCCATTTTCTTGAAAAGG AAAGACTTTACTAACAAAAATTTAATTCAATTGATCTCTCTAAAACTTCTAACTTTTGAA GTGACGCAGAATGTGTTGGGGCTCGAGTATATTATTCGATTATTACCAATAAACTTGGAA AATAATGACGGCTCATATGGTCTGTTTTTGAAGTATCATAAAGAACAATTCATAAAGTCA AATTTTGAGAAAATTTTACTTACATGTTATGAATTAGAAAAAAAATATCATGGCAACGAA TGTGAAATAAATTATTATGAGATCCTATTGAAAATTTTAATAACTTATGGGTCATCTCCC AAATTACTTGCAACATCTACAAAAATCATTATGTTGTTATTGAATGATAGCGTGGAAAAC TCATCTAATATTTTGGAGGATATTTTGTACTACTCAACTTGTCCGTCGGAAACCGATCTT AACGATATTCCATTGGGTAGTGGACAACCAGACAATGACACTGTTGTAACCAACGATGAT AAAAGTGACGATGATGATCACACAGTCGACGAAATTGATCATGTAGAATATTACGTTATG ATGGACTTTGCCAATCTTTGGGTTTTCCAAGCGTTTACCTGTTTCTGCATCAAAAAAATC ATGGAGAATAATGAGCCAGCAATGGCAATGGAAGACTTGAAGAACTTCATATTCCAAATT ATCGAAATAACTAATTCTAATGATTTATGTTCACAAATATTTGACCAACTGAAGGATATG CAGACCATTGAGATGATAACCCAAATAGTGGAGAAAGATTTCTGCACTTCTTGTTTGCAA AACAACAACCAAAAGATAGATGATAATTACATCGTTGTGGTGATCGAGATTATAACGTCA TTATCGATGAGGTTTCAAAGAGAAACTTCTGGTATGATAGTTATTTCCATGGAGAACTAT CATTTACTAATAAAGATCATAAGACAATTAAGTGAACTGAACGAAGGAAATTTATCTAAG AGAGAAATCCAAATAGATGCCGTCTTGAAAATTTTTAGCTTTCATCAGGATTCCATTTTC CAACGCATCATCGCTGATTTATCAGCTGATAAACCCACAAGTCCATTCATTGATAGCATA TGCAAGCTGTTTGATAAAATATCATTTAATTTAAGATTGAAGCTGTTCTTGTACGAAATT TTGTCTTCATTGAAATCATTCGCCATCTATTCATCCACAATTGATGCCCCAGCATTCCAC ACAAGCGGTAAGGTCGAACTACCGAAGAAATTGCTGAACTTACCACCATTCCAAGTGTCC TCTTTCGTTAAGGAAACAAAACTTCATAGTGGCGACTACGGGGAAGAAGAAGATGCAGAC CAAGAAGAATCGTTTAGTTTAAATTTAGGAATCGGCATAGTTGAAATAGCGCACGAAAAC GAACAGAAATGGCTCATTTATGACAAGAAAGATCATAAATATGTCTGCACATTTTCCATG GAGCCGTACCACTTCATCTCCAACTATAATACCAAGTACACAGATGACATGGCTACAGGC AGTAATGATACGACTGCGTTTAACGATTCCTGTGTAAACCTGAGTCTTTTTGATGCTCGG TTTGAGAGGAAAAATCCACATTGA >YCX3 384 residues Pha 0 Code 0 ATGTTGTTCTATAAGCCTGTGATGAGGATGGCGGTGAGACCGCTAAAAAGCATAAGATTC CAGTCCTCATACACCAGTATTACTAAATTGACGAACCTAACAGAATTTAGGAATTTGATC AAGCAAAATGATAAACTAGTCATCGATTTTTATGCTACTTGGTGTGGCCCCTGTAAGATG ATGCAACCACACTTAACGAAATTAATTCAGGCTTATCCAGATGTAAGATTTGTCAAGTGC GACGTGGACGAATCACCAGATATTGCCAAAGAGTGTGAAGTGACGGCTATGCCCACCTTT GTTCTTGGCAAGGATGGCCAACTCATCGGCAAGATCATTGGAGCTAACCCTACTGCTTTA GAGAAGGGAATCAAAGATCTATAA >TUP1 2142 residues Pha 0 Code 0 ATGACTGCCAGCGTTTCGAATACGCAGAATAAGCTGAATGAGCTTCTCGATGCCATCAGA CAGGAGTTTCTCCAAGTCTCACAAGAGGCAAATACCTACCGTCTTCAAAACCAAAAGGAT TACGATTTCAAAATGAACCAGCAGCTGGCTGAGATGCAGCAGATAAGAAACACCGTCTAC GAACTGGAACTAACTCACAGGAAAATGAAGGACGCGTACGAAGAAGAGATCAAGCACTTG AAACTAGGGCTGGAGCAAAGAGACCATCAAATTGCATCTTTGACCGTCCAGCAACAGCGG CAACAGCAACAGCAGCAACAGGTCCAGCAGCATTTACAACAGCAACAGCAGCAGCTAGCC GCTGCATCTGCATCTGTTCCAGTTGCGCAACAACCACCGGCTACTACTTCGGCCACCGCC ACTCCAGCAGCAAACACAACTACTGGTTCGCCATCGGCCTTCCCAGTACAAGCTAGCCGT CCTAATCTGGTTGGCTCACAGTTGCCTACCACCACTTTGCCTGTGGTGTCCTCAAACGCC CAACAACAACTACCACAACAGCAACTGCAACAGCAGCAACTTCAACAACAGCAACCACCT CCCCAGGTTTCCGTGGCACCATTGAGTAACACAGCCATCAACGGATCTCCTACTTCTAAA GAGACCACTACTTTACCCTCTGTCAAGGCACCTGAATCTACGTTGAAAGAAACTGAACCG GAAAATAATAATACCTCGAAGATAAATGACACCGGATCCGCCACCACGGCCACCACTACC ACCGCAACTGAAACTGAAATCAAACCTAAGGAGGAAGACGCCACCCCGGCTAGTTTGCAC CAGGATCACTACTTAGTCCCTTATAATCAAAGAGCAAACCACTCTAAACCTATCCCACCT TTCCTTTTGGATCTAGATTCCCAGTCTGTTCCCGATGCTCTGAAGAAGCAAACAAATGAT TATTATATTTTATACAACCCGGCACTACCAAGAGAAATTGACGTTGAGTTACACAAATCT TTGGATCATACTTCAGTTGTTTGTTGCGTGAAGTTCAGTAACGATGGTGAATACTTAGCC ACAGGCTGCAACAAAACTACTCAAGTGTATCGCGTTTCAGATGGTTCTCTGGTGGCCCGT CTATCTGACGATTCTGCTGCCAATAACCATCGAAATTCGATCACTGAAAATAACACCACC ACGTCCACGGATAACAATACAATGACAACCACTACTACCACCACAATTACTACCACAGCG ATGACTTCGGCAGCAGAATTGGCAAAAGATGTGGAAAACCTGAACACTTCGTCTTCCCCA TCATCCGACTTGTATATCCGTTCAGTGTGTTTTTCTCCAGATGGGAAATTTTTGGCAACA GGTGCTGAAGACAGACTGATTAGAATTTGGGATATTGAAAATAGAAAGATTGTTATGATT CTTCAAGGCCACGAACAAGATATTTATTCATTGGACTACTTTCCCTCAGGTGACAAATTA GTCTCCGGTTCTGGTGACCGTACCGTTCGTATTTGGGACTTACGTACAGGCCAGTGTTCA TTGACTTTATCCATTGAAGATGGTGTTACCACCGTCGCTGTATCACCAGGTGATGGTAAA TACATCGCTGCTGGTTCTCTAGATCGTGCTGTGAGAGTTTGGGATTCCGAGACCGGATTC TTGGTGGAAAGACTAGATTCGGAAAACGAATCCGGTACAGGCCACAAGGACTCTGTTTAT AGCGTTGTCTTCACTAGAGATGGACAAAGCGTTGTATCCGGCTCATTAGATAGATCTGTT AAGCTCTGGAATTTGCAGAATGCAAACAACAAGAGCGATTCGAAAACTCCAAATTCCGGC ACTTGTGAAGTTACGTATATCGGGCATAAAGACTTTGTATTGTCCGTGGCCACCACACAA AATGATGAGTACATCTTGTCCGGTTCCAAAGATCGTGGTGTCCTGTTTTGGGATAAGAAA TCCGGCAATCCGTTATTGATGTTGCAAGGTCATAGGAATTCAGTTATATCTGTGGCTGTG GCAAACGGGTCTCCGCTGGGTCCAGAATATAACGTTTTTGCTACTGGTAGCGGTGATTGT AAAGCAAGGATTTGGAAGTATAAAAAAATAGCGCCAAATTAA >YC16 462 residues Pha 0 Code 0 ATGGTTACGTTCAACTGTGAGGTGTGTAATGATACTGTGCCCAAGAAGAATACCGAAAAG CATTATTATAGATGTCCTAACGCGTACTATACATGCATAGATTGCTCCAAGACGTTTGAA GATGGCGTGAGTTACAAGAATCACACGTCTTGCATCAGCGAGGACGAGAAGTACCAGAAA GCGTTGTACAAGGGCAACAAGAAGCAGAAGCAGAAGCAGCAGCAGAAGCAGCAGCAGAAG CAGCACCAGCACCAGCCAGTGGCAACTCCTGCAAAGAAAGTGGAGAAGCCTGTGATCAAG AAGGCAGAGAAAGTGGAAAAGACCTCGAACGGTATCGAGCTTCACAAGGGCAAGTCGTTG TACAAAATTTTGAAAACCATGAAGGATAAAGGGGCAAAAAAGACCTTCTTGAAAAGTCTG GTTGTGGATTCTGAGGGGCAAATCAGGTATGCAAAGGAATAA >ABP1 1779 residues Pha 0 Code 0 ATGGCTTTGGAACCTATTGATTATACTACTCACTCGAGAGAGATCGACGCAGAGTACCTG AAGATTGTCAGAGGCTCCGATCCTGACACCACCTGGTTGATTATTTCACCCAATGCGAAA AAAGAATACGAACCTGAGTCTACCGGTTCCTCCTTTCACGATTTCTTGCAATTGTTTGAT GAAACCAAGGTCCAGTACGGACTGGCACGTGTGTCCCCACCAGGGTCAGACGTTGAGAAG ATTATTATCATTGGTTGGTGTCCTGATTCTGCGCCATTGAAGACAAGGGCCTCTTTCGCC GCCAATTTTGCTGCAGTTGCTAATAATCTGTTCAAGGGTTACCACGTTCAAGTTACCGCC AGAGACGAGGACGATCTTGACGAAAATGAACTGTTGATGAAAATCAGTAACGCGGCCGGT GCCCGTTATTCTATTCAGACTTCCTCCAAGCAACAGGGGAAGGCTTCCACTCCTCCCGTG AAGAAATCCTTCACACCTTCCAAGAGCCCTGCTCCAGTTTCTAAGAAGGAACCAGTCAAG ACTCCTTCCCCAGCACCTGCTGCTAAGATTTCTTCCCGTGTTAACGACAACAATGACGAC GACGATTGGAATGAGCCTGAATTAAAGGAACGCGACTTCGATCAGGCTCCCCTGAAACCA AATCAATCATCTTACAAACCAATTGGCAAAATCGACTTGCAAAAAGTGATTGCTGAAGAA AAGGCTAAGGAGGACCCACGTCTTGTTCAAAAGCCAACCGCTGCTGGTTCCAAGATTGAT CCTAGTTCTGATATCGCTAATTTAAAGAACGAATCAAAATTAAAGAGGGACTCCGAGTTT AACTCCTTTTTGGGCACCACTAAACCCCCCTCCATGACGGAATCTTCATTAAAGAATGAT GATGATAAAGTCATTAAGGGTTTTAGAAACGAGAAATCACCTGCTCAATTATGGGCCGAA AGAAAGGCAAAGCAAAACAGCGGCAACGCCGAAACTAAGGCTGAGGCACCAAAACCTGAA GTTCCAGAAGATGAGCCTGAAGGTGAACCTGACGTCAAAGATTTGAAATCAAAATTTGAA GGATTGGCCGCTTCAGAAAAAGAGGAGGAAGAAATGGAAAACAAATTTGCTCCTCCTCCA AAGAAATCAGAACCAACTATTATCTCACCAAAACCCTTCTCCAAGCCACAAGAACCTGTG AAAGCTGAAGAAGCCGAGCAGCCTAAGACTGATTACAAGAAGATCGGCAACCCATTACCC GGTATGCACATTGAAGCGGATAATGAGGAAGAACCAGAAGAGAATGATGATGACTGGGAT GATGATGAAGACGAGGCTGCTCAACCTCCTTTGCCTTCGAGGAATGTTGCGTCAGGAGCA CCAGTGCAAAAAGAAGAGCCTGAACAAGAAGAGATCGCCCCAAGCTTACCTTCTAGAAAC TCGATCCCAGCTCCAAAACAAGAAGAAGCACCTGAACAAGCACCTGAAGAAGAAATTGAA GAAGAAGCTGAGGAAGCCGCTCCACAGCTGCCATCAAGAAGCTCTGCAGCTCCTCCTCCG CCTCCAAGACGAGCAACTCCAGAGAAAAAGCCAAAGGAAAATCCTTGGGCCACAGCAGAA TATGATTACGATGCTGCAGAAGATAACGAACTGACCTTTGTGGAAAATGACAAGATTATC AATATTGAATTTGTCGACGATGACTGGTGGCTAGGGGAACTAGAGAAAGACGGCTCAAAA GGTCTCTTCCCCAGCAATTATGTGTCTTTGGGCAACTAG >KIN82 2181 residues Pha 0 Code 0 ATGACTCAGCAAGAATACCGTTCCCCCTCACAACGCTTATCCAAGGGGAGGAGCATGTCG CTACCCAAAATATTTGCTCGTAATTTGAGATCTCTGCAAAACAATGCACCTCCTGGCAAA AACATCAATGTCAATTGTTTGAACGTCAATTCTTGTTCGTTGTCCGCAAGCCCAAGCTCA CAAATTAATATGGCTTGTAATGGAAACAAGCAAGATCTTCCCATACCGTTTCCCCTGCAT GTAGAATGCAACGATAGCTGGTCAAGCTCCAAACTTAACAAGTTCAAATCAATGTTTAAT CATAACAGATCAAAGAGCAGTGGTACTACAGATGCGTCAACTTCAGAAAAAGGTACGCAT AAGCGTGAACCCCGGTCGACGATACATACAGAGCTGTTACAAAGTTCCATTATCGGTGAG CCAAATGTCCATAGTACTACAAGTAGCACACTTATACCCAATGAGGCGATATGCTCCACA CCTAATGAGATCTCAGGTAGCTCTTCTCCGGACGCGGAGTTATTTACCTTTGACATGCCC ACAGACCCGTCATCCTTCCACACTCCTAGCTCCCCAAGTTATATAGCAAAGGACAGTAGA AACCTGAGTAATGGATCTTTGAATGATATTAACGAAAATGAAGAGCTCCAAAATTTCCAT AGAAAAATCAGCGAAAATGGCAGTGCCTCCCCCCTGGCTAACTTGTCATTATCCAATTCA CCAATTGATTCCCCAAGGAAAAATAGCGAAACCAGAAAGGATCAAATACCTATGAACATA ACACCACGTTTAAGGAGGGCCGCTTCCGAACCGTTCAATACGGCAAAGGATGGGTTAATG CGGGAAGATTACATTGCCTTGAAACAACCTCCAAGCTTGGGAGATATTGTAGAACCGAGG AGATCTCGTCGTTTAAGAACCAAGTCATTCGGTAACAAGTTCCAAGACATTACTGTCGAA CCTCAATCCTTCGAAAAAATTAGACTACTTGGCCAAGGTGACGTAGGTAAAGTGTATTTA GTGAGGGAACGCGATACCAACCAGATATTCGCCCTGAAAGTTTTGAATAAACATGAGATG ATCAAGAGGAAGAAAATTAAACGAGTACTCACTGAACAGGAAATTCTCGCGACAAGTGAT CATCCATTTATTGTGACACTGTATCATTCCTTTCAAACCAAAGACTATTTGTATCTCTGT ATGGAATACTGCATGGGAGGGGAATTCTTTAGAGCCTTACAAACAAGAAAAAGTAAATGC ATTGCAGAAGAAGATGCGAAGTTTTACGCCAGTGAAGTAGTAGCAGCTTTGGAATATTTA CACCTACTGGGCTTCATATACAGAGATTTGAAACCCGAAAACATATTACTGCATCAATCT GGTCATGTCATGCTTTCTGACTTTGATTTATCCATCCAAGCAACGGGATCAAAAAAACCC ACCATGAAAGACTCTACGTATTTAGATACAAAAATTTGTTCAGATGGATTCAGAACTAAT TCCTTTGTTGGTACTGAAGAGTATTTAGCTCCAGAAGTAATCAGAGGGAATGGCCACACT GCAGCAGTAGACTGGTGGACTTTAGGAATATTGATTTACGAGATGCTATTTGGCTGTACT CCATTTAAAGGAGATAATTCAAATGAAACATTCTCTAACATTTTAACCAAGGACGTCAAA TTTCCACATGATAAGGAAGTTTCGAAGAATTGTAAAGACCTGATAAAGAAACTACTAAAC AAAAACGAGGCAAAAAGGCTTGGTTCCAAATCAGGAGCTGCAGACATAAAGAGACATCCC TTCTTCAAAAAAGTTCAGTGGTCGTTCTTAAGAAACCAAGACCCCCCTCTAATACCTGCA TTAAATGATAACGGCTGCGAACTTCCTTTTATATTGTCTTGCAATAAACACCCGAAAAGG AACTCAGTGAGTGAACAGGAAACCAAAATGTTCTGTGAGAAAGTTGCAAACGATGATGAA ATTGATGAGGCTGATCCATTCCATGATTTTAATTCTATGAGTTTAACGAAGAAAGATCAC AATATCTTAACCTACTCTGAAAATTATACTACGGAAAAATTCTATACAAAGCAACTTGTA CAAGGCCAAGGCATAACAGCTCACATAGAAGTTTCTTTAAAGACATCATACCTGAACTAT AACATGTTTACAGAAAGATAA >MSH3 3144 residues Pha 0 Code 0 ATGGTGATAGGTAATGAACCTAAACTGGTACTTTTGAGAGCCAAAAGCAGTGCAAATAGA TTTATTTTGTTGAATCTATTAACAATAATGGCGGGACAACCCACAATAAGCAGGTTTTTC AAGAAGGCGGTAAAATCAGAGCTGACGCATAAGCAAGAACAAGAAGTTGCGGTTGGAAAT GGCGCTGGTAGCGAATCCATCTGCCTTGACACTGATGAAGAGGACAATTTATCTTCTGTT GCAAGCACAACAGTAACTAATGATAGCTTTCCACTCAAAGGCAGTGTTTCTTCCAAGAAT TCGAAAAATTCAGAAAAGACTAGTGGTACTTCGACAACATTTAATGATATTGACTTTGCT AAGAAATTGGATAGGATTATGAAAAGACGAAGTGATGAAAATGTTGAGGCTGAAGATGAT GAGGAAGAGGGTGAGGAAGATTTCGTAAAAAAAAAAGCCAGAAAGTCCCCTACAGCGAAA CTTACTCCCTTGGACAAACAGGTGAAGGACCTGAAAATGCATCATAGAGATAAAGTGCTT GTTATTAGAGTAGGCTACAAGTACAAATGTTTTGCAGAGGATGCAGTAACGGTTAGCAGA ATACTTCACATCAAACTTGTGCCTGGAAAATTGACTATCGATGAGTCTAATCCTCAAGAT TGCAATCATAGGCAGTTTGCGTACTGTTCTTTCCCGGATGTCAGATTAAACGTTCACCTA GAGAGACTTGTGCATCATAATTTAAAGGTTGCCGTGGTAGAGCAAGCAGAAACAAGCGCT ATTAAGAAGCATGATCCAGGTGCCAGCAAATCAAGCGTTTTTGAAAGAAAGATTTCAAAT GTCTTTACCAAAGCTACATTTGGTGTTAATTCCACCTTTGTCCTTAGGGGGAAACGTATT CTCGGTGATACAAACAGTATATGGGCTTTGTCCCGTGACGTACATCAGGGAAAGGTGGCT AAATATTCCTTAATTTCTGTCAATTTAAATAACGGGGAAGTCGTGTATGATGAATTTGAA GAGCCTAATCTTGCTGATGAGAAACTACAGATACGAATCAAATATTTACAGCCCATAGAA GTACTGGTAAATACAGATGATCTTCCATTACATGTAGCGAAATTTTTCAAAGATATTTCA TGTCCTTTAATACACAAGCAGGAGTATGATTTGGAAGATCATGTAGTTCAGGCAATAAAA GTAATGAATGAGAAAATTCAACTCTCGCCGTCTCTCATACGCTTAGTTTCTAAGTTATAT TCGCATATGGTTGAGTACAATAATGAGCAGGTGATGTTGATTCCTTCTATCTATTCGCCC TTCGCATCAAAAATACATATGTTACTTGATCCTAACTCCCTGCAAAGTTTGGACATTTTT ACCCATGATGGTGGTAAAGGTTCTTTGTTTTGGTTATTGGACCATACAAGGACATCGTTT GGATTAAGAATGTTGAGAGAATGGATTCTCAAACCTTTGGTTGATGTACACCAAATTGAA GAGCGGCTTGATGCCATTGAGTGCATTACATCCGAAATCAACAACAGTATATTTTTTGAA TCGTTGAATCAAATGTTGAATCATACCCCTGACTTATTAAGAACTTTAAATCGCATAATG TATGGTACAACTTCTAGAAAAGAAGTCTATTTCTATTTAAAGCAAATAACTTCTTTCGTT GATCACTTCAAGATGCATCAATCTTACCTGTCAGAACATTTCAAGTCATCAGATGGAAGG ATAGGCAAACAATCTCCTTTACTTTTTAGACTATTTAGTGAATTGAATGAACTACTTTCT ACCACTCAGTTGCCTCATTTTTTGACCATGATCAACGTTTCTGCGGTAATGGAAAAAAAT TCAGATAAGCAAGTAATGGATTTTTTTAATTTAAATAACTATGATTGTTCAGAGGGTATA ATAAAAATTCAAAGGGAAAGCGAATCAGTACGGTCACAGTTAAAGGAAGAATTGGCAGAA ATACGAAAATATCTCAAACGTCCATATCTAAATTTTAGAGATGAAGTTGATTACTTAATC GAAGTGAAAAACTCGCAAATTAAGGACTTGCCAGATGATTGGATAAAAGTTAACAATACG AAGATGGTCAGTAGATTTACCACTCCCAGAACCCAGAAACTGACTCAAAAGCTAGAATAT TACAAGGACTTATTAATTCGGGAATCTGAACTACAGTATAAAGAATTCTTGAACAAAATT ACGGCAGAATATACAGAGCTCCGTAAAATTACACTCAATTTGGCGCAGTATGACTGTATT TTGTCGTTAGCAGCCACATCATGCAACGTAAATTATGTTAGACCAACTTTTGTGAATGGT CAACAAGCCATAATCGCAAAAAATGCAAGAAATCCAATTATCGAGTCGCTGGATGTTCAT TATGTACCAAATGATATCATGATGTCCCCAGAAAACGGTAAAATCAATATTATAACGGGG CCGAATATGGGTGGGAAATCATCTTATATTAGACAAGTGGCACTGCTTACTATAATGGCA CAGATCGGCTCATTTGTCCCCGCAGAAGAGATCAGATTAAGCATATTTGAAAACGTACTC ACTCGAATCGGTGCGCACGATGATATTATAAACGGTGATTCTACTTTTAAAGTGGAAATG CTTGATATCCTACACATCTTGAAAAATTGCAATAAACGGTCTTTACTATTATTAGACGAA GTGGGAAGAGGTACTGGCACGCACGATGGTATAGCAATTTCTTATGCTTTAATAAAGTAT TTTTCTGAGTTAAGTGACTGCCCCTTGATATTATTTACTACCCATTTTCCCATGCTGGGA GAAATCAAATCTCCGTTAATAAGGAATTATCATATGGATTACGTGGAAGAACAAAAAACT GGCGAGGACTGGATGAGTGTAATTTTTCTATATAAGTTAAAAAAGGGATTGACTTATAAT AGTTATGGGATGAATGTGGCGAAATTGGCACGCCTGGACAAAGATATTATAAATCGGGCA TTCAGTATTTCAGAAGAATTGCGGAAGGAATCCATTAACGAAGACGCGTTGAAATTATTC AGCTCTTTGAAAAGAATATTAAAAAGTGATAATATAACAGCAACGGATAAACTCGCGAAA TTACTATCATTGGATATCCACTGA >CDC39 6327 residues Pha 0 Code 0 ATGCTATCGGCCACATACCGTGATTTGAACACAGCATCTAATTTAGAAACATCAAAGGAA AAACAGGCCGCTCAAATCGTCATTGCACAAATTAGTTTATTATTCACGACTCTTAACAAC GACAATTTTGAATCCGTGGAAAGAGAAATTAGACATATTTTAGACAGGTCGTCCGTAGAT ATTTACATAAAAGTTTGGGAACGATTATTAACCTTAAGTTCTCGGGATATTTTACAAGCG GGAAAATTTTTACTTCAAGAAAATCTACTACACAGACTACTATTAGAATTTGCGAAGGAT TTACCGAAGAAAAGCACAGACCTTATTGAGCTTTTGAAAGAACGAACCTTCAATAACCAG GAGTTTCAAAAACAAACAGGAATTACATTATCACTTTTCATTGATCTATTTGATAAATCT GCAAACAAGGACATTATAGAGTCACTTGACCGCTCCTCTCAGATTAACGATTTCAAGACA ATTAAGATGAATCATACAAATTATTTAAGGAATTTTTTTCTTCAAACCACACCAGAAACA CTAGAGTCCAATCTACGCGACTTATTGCATTCCTTGGAAGGTGAAAGTCTAAATGACTTA TTAGCTCTTTTACTGTCCGAAATACTTTCACCTGGGTCTCAGAATTTACAAAATGATCCC ACACGGAGTTGGTTGACACCTCCGATGGTTTTAGACGCAACGAACCGTGGGAACGTTATA GCAAGATCTATAAGTTCTCTGCAAGCCAACCAGATAAATTGGAATCGTGTGTTTAATTTA ATGTCAACAAAGTATTTCTTGAGCGCACCATTGATGCCTACTACAGCATCTTTGAGTTGC TTATTTGCAGCATTGCACGATGGTCCAGTTATTGATGAATTTTTCAGTTGCGACTGGAAA GTTATTTTCAAACTAGATTTGGCCATTCAACTTCATAAGTGGTCGGTACAGAATGGTTGC TTTGACTTATTAAATGCAGAAGGTACCAGGAAAGTTTCTGAAACCATCCCAAACACAAAG CAATCTTTACTCTACTTATTATCCATTGCATCATTGAATTTAGAATTGTTCCTACAAAGG GAGGAATTGTCTGATGGTCCTATGCTAGCTTATTTTCAAGAGTGCTTCTTTGAAGATTTC AACTACGCCCCTGAATATCTTATTTTAGCATTAGTCAAAGAAATGAAGCGGTTCGTTTTA TTGATAGAAAACAGGACAGTCATAGACGAAATACTTATTACCTTATTGATTCAAGTGCAT AATAAATCACCGTCATCGTTCAAGGACGTTATTTCTACAATAACCGATGATTCTAAAATC GTAGATGCAGCAAAAATCATAATCAACTCGGATGACGCACCTATTGCCAACTTTTTAAAA TCGTTGTTAGATACGGGAAGATTAGATACGGTCATTAATAAACTTCCTTTCAATGAAGCT TTTAAAATTTTGCCATGCGCAAGACAAATTGGTTGGGAGGGGTTCGATACTTTCTTAAAA ACAAAAGTTTCTCCATCTAATGTCGATGTAGTGCTGGAATCACTAGAGGTTCAAACGAAA ATGACTGATACAAACACTCCATTTAGGTCATTAAAGACATTTGACTTATTCGCTTTTCAT TCATTAATTGAAGTACTGAACAAATGCCCACTAGATGTTCTCCAATTACAAAGGTTTGAA TCCTTGGAATTTTCCTTATTAATTGCATTTCCTAGATTGATCAATTTTGGTTTTGGACAC GATGAAGCTATTTTAGCCAATGGTGACATCGCAGGGATTAATAATGATATTGAAAAGGAG ATGCAGAACTATTTACAGAAAATGTATAGTGGTGAGTTAGCCATTAAAGATGTAATCGAA CTTCTGAGAAGGTTAAGAGATAGCGACTTGCCAAGGGACCAGGAAGTCTTCACATGTATT ACCCATGCCGTTATAGCAGAATCGACATTCTTCCAAGATTATCCATTGGATGCATTGGCT ACTACATCTGTTCTTTTTGGATCCATGATTCTCTTTCAACTGTTACGTGGATTCGTATTA GACGTCGCATTTAGGATAATCATGAGGTTTGCCAAGGAGCCTCCAGAGTCCAAGATGTTT AAGTTTGCTGTACAAGCTATTTATGCATTTAGGATACGTTTGGCCGAATATCCACAGTAT TGTAAGGACCTCTTGAGAGATGTTCCGGCTTTGAAGTCTCAGGCTCAAGTTTACCAATCT ATCGTCGAAGCTGCTACCCTAGCAAATGCTCCAAAGGAAAGGTCAAGACCCGTCCAGGAA ATGATCCCATTAAAATTTTTTGCTGTAGATGAAGTTTCATGTCAGATCAATCAAGAAGGT GCTCCTAAAGATGTCGTAGAAAAAGTTCTTTTTGTTCTCAACAACGTTACTCTGGCTAAC TTGAATAATAAGGTTGATGAATTGAAAAAAAGTTTGACACCAAATTATTTTTCTTGGTTT TCCACATATTTAGTTACGCAAAGGGCTAAAACAGAACCTAACTATCATGATCTTTATAGC AAGGTTATAGTTGCTATGGGGTCAGGGTTGCTACATCAGTTCATGGTCAACGTTACTTTG AGACAATTATTTGTCCTACTATCTACAAAAGACGAGCAAGCCATCGATAAAAAGCACCTA AAGAATTTGGCTTCATGGTTAGGATGTATCACATTAGCTTTGAATAAACCAATTAAACAC AAGAATATCGCATTCAGGGAAATGTTAATCGAAGCTTATAAGGAAAATAGACTTGAAATA GTTGTGCCTTTTGTAACAAAGATTTTACAAAGGGCTTCTGAATCAAAAATTTTCAAGCCT CCAAATCCCTGGACTGTTGGCATATTAAAGCTGTTGATTGAGTTGAACGAAAAAGCAAAC TGGAAATTAAGTTTGACTTTCGAAGTTGAGGTTTTATTAAAATCTTTTAATTTGACCACC AAATCTCTCAAGCCCTCGAATTTCATCAATACTCCGGAAGTTATAGAAACTTTATCCGGT GCTTTGGGATCAATCACTCTGGAGCAACAACAAACAGAGCAACAAAGGCAAATTATACTA ATGCAACAACACCAGCAACAGATGCTAATATATCAACAGAGACAACAACAACAACAACAA AGGCAACAACAACAACAACATCATATTAGTGCAAATACAATCGCAGACCAACAAGCGGCA TTTGGCGGCGAGGGTTCAATTTCACACGACAATCCTTTTAACAACTTACTTGGTTCTACT ATTTTTGTAACCCACCCTGACTTGAAGAGGGTATTTCAAATGGCTTTAGCCAAGTCAGTT CGCGAAATTTTGTTGGAAGTAGTCGAAAAGTCATCAGGAATTGCTGTTGTTACGACGACA AAAATAATACTTAAAGACTTTGCCACTGAAGTTGATGAGTCTAAGTTGAAGACGGCTGCA ATCATTATGGTAAGGCATTTGGCACAAAGTTTAGCTCGAGCTACTTCAATTGAACCATTG AAAGAAGGCATACGTTCTACTATGCAATCACTAGCACCGAATTTAATGTCTCTTTCTTCT TCACCTGCAGAGGAGCTTGACACGGCAATAAATGAAAATATTGGCATTGCTCTAGTTTTG ATTGAGAAAGCATCTATGGACAAGTCTACTCAAGATTTAGCAGACCAATTGATGCAAGCG ATTGCTATTCGTCGTTATCACAAGGAAAGAAGGGCAGACCAACCATTTATTACGCAAAAT ACCAATCCATATTCACTGTCTTTACCAGAACCTCTTGGTTTGAAAAACACTGGTGTTACT CCTCAACAATTCAGGGTATACGAAGAATTTGGTAAGAATATTCCAAACTTGGATGTTATT CCGTTTGCAGGATTGCCCGCTCACGCTCCACCGATGACTCAAAATGTGGGTTCAACTCAG CCTCAGCAACAACAAGCGCAAATGCCTACCCAAATCCTAACCTCCGAACAAATAAGAGCT CAACAACAACAGCAGCAATTACAGAAAAGCCGTTTGAATCAGCCATCCCAGTCGGCTCAA CCTCCAGGAGTGAATGTCCCAAATCCTCAAGGTGGGATTGCTGCAGTTCAATCAGATTTG GAACAGAATCAACGTGTTCTCGTTCACCTCATGGACATTTTAGTTTCTCAAATTAAAGAA AATGCTACGAAGAATAACTTAGCTGAATTAGGCGATCAAAACCAAATTAAAACCATCATT TTTCAAATTTTGACATTCATTGCAAAAAGCGCACAAAAGGATCAATTAGCTTTAAAGGTA TCCCAAGCTGTCGTTAATAGCCTTTTTGCCACTAGTGAGAGTCCTCTCTGCAGAGAAGTT TTGTCCCTACTTTTGGAAAAGTTATGTTCTTTATCCCTCGTTGCTAGAAAAGACGTTGTC TGGTGGTTAGTTTATGCCTTGGACAGTAGGAAATTCAATGTTCCCGTTATCAGATCCCTT CTAGAAGTTAATTTAATTGATGCTACAGAATTAGATAACGTTTTAGTTACTGCAATGAAA AATAAAATGGAGAACTCAACTGAATTTGCTATGAAATTAATTCAGAATACTGTCTTGTCT GATGATCCAATTTTGATGAGAATGGACTTCATTAAAACCTTAGAACACTTGGCCTCTTCG GAAGATGAAAATGTAAAGAAATTCATCAAAGAGTTCGAAGATACTAAGATAATGCCAGTG AGGAAAGGTACCAAAACCACAAGAACAGAAAAGCTTTACTTAGTATTTACGGAATGGGTA AAATTACTTCAAAGAGTTGAGAATAACGACGTAATCACAACTGTTTTTATCAAGCAATTA GTCGAAAAGGGTGTTATCAGCGATACTGATAATTTACTTACATTTGTCAAAAGTTCTCTT GAGCTATCAGTTTCTTCATTCAAAGAAAGTGACCCGACTGATGAGGTTTTCATCGCTATT GATGCTCTAGGATCGCTAATTATAAAATTGTTGATTTTACAGGGTTTCAAAGATGATACA AGAAGAGATTACATAAATGCAATATTTTCTGTGATCGTTTTAGTGTTTGCTAAGGATCAT AGCCAAGAGGGTACCACATTCAATGAACGACCATATTTCAGACTATTTTCTAACATCTTA TACGAATGGGCTACCATCAGGACGCACAATTTTGTTAGAATATCTGATTCCAGCACTAGG CAGGAGCTGATCGAATTTGATTCTGTATTTTACAACACTTTCTCAGGATATTTGCACGCT CTGCAACCATTTGCCTTCCCTGGATTCTCATTTGCATGGGTGACACTATTATCACACAGA ATGTTATTACCAATTATGCTAAGATTACCCAATAAAATAGGTTGGGAAAAGTTAATGCTT TTGATTATCGATTTGTTTAAATTTTTGGACCAATACACAAGTAAACATGCAGTCTCTGAC GCTGTTTCGGTTGTTTATAAGGGAACACTGCGTGTTATTTTAGGCATTTCGAATGATATG CCATCCTTTTTGATTGAAAATCACTATGAATTAATGAACAATCTACCTCCAACATATTTC CAACTAAAGAATGTTATTTTATCTGCTATTCCTAAGAATATGACCGTTCCCAACCCATAT GACGTGGATCTTAATATGGAGGATATTCCAGCATGTAAAGAACTACCTGAAGTCTTCTTT GATCCTGTAATTGATTTACACTCATTGAAAAAGCCAGTTGACAACTACCTACGTATTCCC TCAAATTCATTATTAAGAACAATACTAAGCGCTATTTACAAGGATACCTATGACATAAAA AAGGGCGTAGGCTACGACTTTTTATCTGTTGATAGTAAATTAATTCGCGCTATTGTATTA CATGTGGGCATTGAAGCTGGAATAGAGTATAAGAGAACTTCTTCAAATGCGGTATTTAAT ACGAAGTCTTCTTATTATACTTTATTGTTCAATCTGATTCAAAATGGTAGCATCGAAATG AAATATCAAATTATTCTGTCTATTGTGGAACAATTGCGGTATCCAAACATCCACACCTAT TGGTTCAGCTTTGTGTTAATGAATATGTTCAAAAGTGACGAATGGAATGATCAAAAACTT GAAGTCCAAGAAATTATTTTAAGAAACTTTTTAAAAAGAATTATTGTTAACAAACCACAT ACCTGGGGTGTTTCAGTTTTCTTTACTCAGTTGATAAACAATAACGATATTAATCTTTTA GACCTGCCCTTTGTACAAAGTGTTCCCGAAATTAAACTAATTTTACAACAATTAGTAAAA TATTCCAAAAAATACACAACCAGTGAACAAGATGACCAATCCGCCACCATCAATAGAAGG CAAACCCCTCTACAATCCAACGCATAA >YCY4 1176 residues Pha 0 Code 0 ATGGTTTCATTGTTCAAAAGAGGTAAGGCTCCACCGCTCACGAAAGAAGGCCCCACTTCT AAAAAGCCTCCTAACACAGCGTTTAGACAACAAAGGCTTAAGGCATGGCAACCAATACTG TCTCCTCAAAGTGTGCTTCCGTTGTTAATATTCGTTGCATGTATATTTACTCCTATTGGT ATTGGACTCATTGTAAGCGCTACTAAGGTACAAGATCTAACAATTGATTATAGTCATTGT GATACAAAAGCATCTACAACTGCTTTTGAAGATATACCAAAGAAGTACATTAAATATCAC TTTAAAAGTAAAGTTGAAAATAAACCACAATGGAGGCTAACCGAAAATGAAAATGGCGAA CAATCATGCGAACTGCAGTTCGAAATCCCAAACGATATCAAGAAATCCATTTTTATATAT TATAAAATAACCAATTTTTATCAAAATCATCGCAGATATGTCCAATCGTTTGACACAAAG CAAATATTAGGGGAGCCTATCAAAAAAGATGATCTGGATACAAGCTGTAGTCCAATAAGA AGTAGGGAAGACAAAATAATATATCCCTGTGGGTTGATCGCTAATTCCATGTTTAATGAT ACATTTTCTCAGGTGTTGAGTGGTATAGATGACACAGAAGACTATAATTTAACTAACAAG CATATATCATGGAGTATTGATCGTCACAGATTTAAAACCACCAAGTATAATGCTAGCGAT ATTGTTCCACCGCCAAACTGGATGAAGAAGTATCCCGATGGGTATACAGATGAAAATCTT CCTGATATCCATACTTGGGAAGAGTTCCAGGTATGGATGAGGACTGCAGCCTTTCCCAAG TTTTACAAGTTGACGTTGAAAAATGAATCTGCTTCTTTACCGAAGGGTAAATATCAAATG AACATTGAGTTGAATTATCCGATTTCACTCTTTGGTGGCACAAAATCATTTGTACTGACT ACAAATGGAGCTATTGGTGGTAGAAATATGTCACTAGGCGTACTGTACCTCATCGTTGCA GGGCTTTGCGCCTTATTTGGCATCATTTTTTTGGTTAAATTAATCTTCCAACCAAGAGCG ATGGGTGATCACACTTATTTGAATTTTGATGATGAAGAAAACGAGGATTATGAGGATGTA CACGCAGAGAATACAACATTGAGGGAAATTTTATAG >A2 360 residues Pha 0 Code 0 ATGCGCAGCATAGAAAACGATAGAAGTAATTATCAACTTACACAGAAAAATAAATCGGCG GATGGGTTGGTATTTAATGTGGTAACTCAAGATATGATAAACAAAAGTACTAAACCTTAC AGAGGACACCGGTTTACAAAAGAAAATGTCCGAATACTAGAAAGTTGGTTTGCAAAGAAC ATCGAGAACCCATATCTAGATACCAAGGGCCTAGAGAATCTAATGAAGAATACCAGTTTA TCTCGCATTCAAATCAAAAACTGGGTTTCGAATAGAAGAAGAAAAGAAAAAACAATAACA ATCGCTCCAGAATTAGCGGACCTCTTGAGCGGTGAGCCTCTGGCAAAGAAGAAAGAATGA >GIT1 1557 residues Pha 0 Code 0 ATGGAAGACAAAGATATCACATCGGTAAATGAGAAGGAAGTGAACGAGAACACTAATCCT AGAATAATAAAATATGATGCCGAGAGGCGTGCAACCCGTACTGAAACCTCAAAGAAAGAT AAATGGAAAAACATAGTTACAATCATTGCGTCCGGTTTTGCTCTGATAAGTGATGGTTAC GTAAATGGTTCAATGAGTATGCTAAACAAGGTTTTTGTTATGGAGTACGGTAAGAAAAAC TATAGCTCAAAAGTGTCGACTAGAGTTTCCAACGCAGCCCTAGTTGGTATTATTTTTGGC CAATTCTTTATGGGTATCGCTGCTGATTATTATAGTAGAAAATCTTGTATCCTTGTGGCC ACTGCTATCTTGGTTATTGGTAGTGCTCTGTGTGCTGCCTCTCACGGTACTACTGTACCT GGCATGTTTTGGATGTTAACAGTTATGAGAGGTTTGGTAGGTATTGGTGTTGGTGCAGAA TATCCTACCAGTACATTAAGTGCTAATGAGTCTGCTAATGAATATACCACTACCAAAAGA GGTGGTATCCTGGTTATGGTGACAAATTTGCCACTAGCCTTCGGTGGTCCATTTGCTACG ATCATCTTTTTAATCGTCTACAAAATCTGTTCAGGAACAAAACATTTAGAGGCGATCTGG AGGACTGTTTTTGCAATAGGGTGCTTCTGGCCATTGAGTGTGTTCTATTTTAGATGGAAG ACTGCTACTACAGAAGTCTATGAAAAAGGTAGAATCAAGAGAAATATACCATATTTCCTA GCATTGAAATTTTATTGGAAAAGGTTACTTGGTACATGTGGTACATGGTTTATGTATGAT TTTGTTACCTTCCCAAATGGTATTTTCAGTTCAACAATTATCAGTTCCGTTATCAAGGAC CAAAATGATTTAGTAAAAGTGGCAGAGTGGAACTTACTGTTGGGAGTTTTAGCTGTACTG GGTGTACCAATTGGTGCTTATCTGTCCGATCGTATTGGTCGTAAATATACGTTGATGTTT GGTTTCTCTGGGTACATCATCTTTGGTCTAATCATTGGATGTGCGTACGACCAATTGAAA AAAATCACCCCCTTGTTTATTATCTTCTACGCATTCATGAATATGTTAGGTAATGCTGGA CCAGGTGATATGCTTGGTGTTATTAGTAGTGAAGCGTCAGCAACCGCTGTTAGAGGTGTT TTCTATGGTTTATCTGCTGTGACTGGTAAAATCGGTTCTGTAGTAGGCGTCGAATGTTTC CAACCCATTAGGGATAATTTGGGTGCAAGATGGACTTTTATTATTGCTGCAATTTGTGGT CTTATTGGTATCATTATTACATATTTCTTTGTTCCACATTCTCTTGAAAGCGATTTAATG AAGCAAGACGTTGAATTTCACAACTATTTGGTATCCAATGGCTGGACTGGTAAGATGGGA TTTGATGAGACAGATGAAGAATCAATGGTTAGAACTATTGAAGTTGAAGAGAATGGTACT AATTGTAGTAAGAAAAACGCAGAAATAATTTCAGTCAGACAGGTCGATCAAAGTTGA >YCZ0 951 residues Pha 0 Code 0 ATGTCATCTACGGACATCTGGATATCCAATGATGCATCTACTTTTCAAAAGGCACAGCTG CCTACTCAATTACGGCACGTCAAAGTGATTAAAATTCGTGAAGATTCTATCGGAAGGATC ATCCTTCTTATATCGACAGAAATCACAAATGAGGAAAATGCTGATCCAGATCTCTCAGAG ATTTTCATATCAGATTCGCAAGGGTTGAAATTCTCACCTGTTGAATGGACACCAAACCAT CAGTTTGGAAATTTTAGGCTCACTTTTCCTGATTTCTTGAAAGGGACAATATTTGGATCG TTTCATCCTTCCATTGACTATTCTAATCACCAAGTAAACTATACTGAAAATATAGCCGGA GGAGAAACCAAAATATCCGTTGATAACGGCCTCACATGGTCAAATTTGAAAGTTGTTGAT GAAGAAAATGCCGATTCGTTCGGCTGTGATATCACTAGGCCTGAGAGATGTTCACTTCAG GGTTATTTTTACAATCTAAAACTTTCAAATCCTTCTGCTGGGATCATATTAATGACAGGT TCTGTTGGCGATGACAATGAATTCGATCGGAAGGACCGAAAAACTTTCATTTCTAGAGAC GGTGGTCTAACATGGAGGGTGGCCCATAATTCTTCTGGATTATATGCTACTGGTGATCTG GGAAATATTATTGTATATATCCCGTCTCCTTCATATAAAGATGGTGATGTACAATCCAAA CTTTATTTTTCCTTGGACCAAGGTAGAACATGGAATCAATATGAGCTTGTTGACGCTTTA TTTTATATCCATCCATTAGAGTTGATTAATACAACGCCAGATGGATCAGGCTCAAAATTT ATTTTAAGCGGACATCTCATTACTACGGCTAGTCAAGAAGGAAACAACACCAACATCTCA TATATTGCAAGAAGTGTCCTGTATGCGATCGATTTTTCTGCTGCATTTTGA >YCZ1 549 residues Pha 0 Code 0 ATGATATTACTTCATGCCATATATACTCTTTGGGTAATTATACTACTTCCGCTACTCAAT GCAGAGAAATTTGTCCCAAAAGTAACGGAGGCTCCTATAGAAACATCATTTAATCTAGTG AGTTTTGATGATTCCAACACTTCTATCAGATTAGATGGTTGGGGGGTTGTATGGATAAGT TTCGACGCTGGAGAAAATTGGGAAACGGTCAAAGAAATTGAAGAGCGCATTTTCAGATTT ACTGTTGATCCTTTCCATGGACAGGAAAGAGGTTTCGCTTTTATATGTGAATCACCCAAA TTCTACATTACCGACGACCGTGGGGAGTCATGGAGGGCTTTAACTATACCCTCATCAGAA GAATATTTAGATGGCGACTGTTTTATAACTACTCATCCTAGAAACAAAGAACTTCTTATT GCGAATTGCTATAGCTATATGATAGACGCAGACGTTTTATATGACCCAAGTGAAATTTAC TTGAGCAATGATGGGAATCCTTTTTTAAAATTAAACCTTCCTTGGAAAAGAAAAAAGACG ACGATATAA >YCZ2 1107 residues Pha 0 Code 0 ATGAAGGCTGTCGTCATTGAAGACGGTAAAGCGGTTGTCAAAGAGGGCGTTCCCATTCCT GAATTGGAAGAAGGATTCGTATTGATTAAGACACTCGCTGTTGCTGGTAACCCGACTGAT TGGGCACACATTGACTACAAGGTCGGGCCTCAAGGATCTATTCTGGGATGTGACGCTGCC GGCCAAATTGTCAAATTGGGCCCAGCCGTCGATCCTAAAGACTTTTCTATTGGTGATTAT ATTTATGGGTTCATTCACGGATCTTCCGTAAGGTTTCCTTCCAATGGTGCTTTTGCTGAA TATTCTGCTATTTCAACTGTGGTTGCCTACAAATCACCCAATGAACTCAAATTTTTGGGT GAAGATGTTCTACCTGCCGGCCCTGTCAGGTCTTTGGAAGGGGCAGCCACTATCCCAGTG TCACTGACCACAGCTGGCTTGGTGTTGACCTATAACTTGGGCTTGAACCTGAAGTGGGAG CCATCAACCCCACAAAGAAACGGCCCCATCTTATTATGGGGCGGTGCAACTGCAGTAGGT CAGTCGCTCATCCAATTAGCCAATAAATTGAATGGCTTCACCAAGATCATTGTTGTGGCT TCTCGGAAACACGAAAAACTGTTGAAAGAATATGGTGCTGATCAACTATTTGATTACCAT GATATTGACGTGGTAGAACAAATTAAACACAAGTACAACAATATCTCGTATTTAGTCGAC TGTGTCGCGAATCAAAATACGCTTCAACAAGTGTACAAATGTGCGGCCGATAAACAGGAT GCTACCGTTGTCGAATTAACTAATTTGACAGAAGAAAACGTCAAAAAGGAGAATAGGAGG CAAAATGTCACTATTGACAGAACAAGACTGTATTCAATAGGCGGCCATGAAGTACCATTT GGTGGCATTACTTTCCCTGCTGACCCAGAAGCCAGGAGAGCTGCCACCGAATTCGTCAAG TTCATCAATCCAAAGATTAGTGATGGGCAAATTCACCATATTCCAGCAAGGGTCTATAAG AACGGGCTTTACGATGTTCCTCGTATCCTGGAAGACATTAAAATCGGTAAGAACTCTGGT GAAAAACTAGTTGCCGTATTAAACTAG >YCZ3 336 residues Pha 0 Code 0 ATGGAGATGCTCTTGTTTCTGAACGAATCATACATCTTTCATAGGTTTCGTATGTGGAGT ATTGTTTTATGGCACTCATGTGTATTCGTATGCGCAGAATGTGGGAATGCCAATTATAGG GGTGCCGGGGTGCCTTGCAAAACCCTTTTACGCGCGCCTGTGAAGTTTCCGCTTTCGGTC AAAAAGAATATCCGAATTTTAGATTTGGACCCTCGTTCAGAAGCTTATTGTCTAAGCCTA AATTCAGTCTGCTTTAAACGGCTTCCGCGGAAGAAATATTTCCATCTCTTGAATTCGTAC AACATTAAACGTGTGTTGGGAGTCGTATACTGTTAG >PAU3 375 residues Pha 0 Code 0 ATGGTCAAATTAACTTCAATCGCTGCTGGTGTTGCCGCCATCGCTGCCGGTATTGCCGCT GCCCCAGCCACTACCACTCTATCTCCATCTGACGAAAGGGTCAACTTGGTCGAATTGGGT GTTTACGTCTCCGATATCAGAGCTCATTTGGCTCAATACTACTTGTTTCAAGCAGCTCAT CCAACTGAGACCTACCCAGTTGAGATTGCTGAAGCTGTTTTCAACTATGGTGACTTCACC ACTATGTTGACTGGTATTCCAGCTGAACAAGTCACCAGAGTCATCACTGGTGTCCCATGG TACTCCACTAGATTGAGACCAGCCATCTCCAGTGCTCTATCTAAGGACGGTATCTACACT GCTATTCCAAAATAG >YCZ5 1086 residues Pha 0 Code 0 ATGCTTTACCCAGAAAAATTTCAGGGCATCGGTATTTCCAACGCAAAGGATTGGAAGCAT CCTAAATTAGTGAGTTTTGACCCAAAACCCTTTGGCGATCATGACGTTGATGTTGAAATT GAAGCCTGTGGTATCTGCGGATCTGATTTTCATATAGCCGTTGGTAATTGGGGTCCAGTC CCAGAAAATCAAATCCTTGGACATGAAATAATTGGCCGCGTGGTGAAGGTTGGATCCAAG TGCCACACTGGGGTAAAAATCGGTGACCGTGTTGGTGTTGGTGCCCAAGCCTTGGCGTGT TTTGAGTGTGAACGTTGCAAAAGTGACAACGAGCAATACTGTACCAATGACCACGTTTTG ACTATGTGGACTCCTTACAAGGACGGCTACATTTCACAAGGAGGCTTTGCCTCCCACGTG AGGCTTCATGAACACTTTGCTATTCAAATACCAGAAAATATTCCAAGTCCGCTAGCCGCT CCATTATTGTGTGGTGGTATTACAGTTTTCTCTCCACTACTAAGAAATGGCTGTGGTCCA GGTAAGAGGGTAGGTATTGTTGGCATCGGTGGTATTGGGCATATGGGGATTCTGTTGGCT AAAGCTATGGGAGCCGAGGTTTATGCGTTTTCGCGAGGCCACTCCAAGCGGGAGGATTCT ATGAAACTCGGTGCTGATCACTATATTGCTATGTTGGAGGATAAAGGCTGGACAGAACAA TACTCTAACGCTTTGGACCTTCTTGTCGTTTGCTCATCATCTTTGTCGAAAGTTAATTTT GACAGTATCGTTAAGATTATGAAGATTGGAGGCTCCATCGTTTCAATTGCTGCTCCTGAA GTTAATGAAAAGCTTGTTTTAAAACCGTTGGGCCTAATGGGAGTATCAATCTCAAGCAGT GCTATCGGATCTAGGAAGGAAATCGAACAACTATTGAAATTAGTTTCCGAAAAGAATGTC AAAATATGGGTGGAAAAACTTCCGATCAGCGAAGAAGGCGTCAGCCATGCCTTTACAAGG ATGGAAAGCGGAGACGTCAAATACAGATTTACTTTGGTCGATTATGATAAGAAATTCCAT AAATAG >YCZ6 2499 residues Pha 0 Code 0 ATGGATTCGATTACAGTAAAAAAACCTCGGTTAAGATTGGTTTGCCTGCAATGCAAAAAG ATCAAACGGAAATGTGATAAACTGCGGCCTGCTTGCTCGCGATGCCAACAAAATTCATTA CAGTGTGAATATGAAGAGAGAACAGATTTATCTGCCAATGTTGCAGCAAACGACTCTGAT GGATTCAATTCCTCTCATAAGCTCAATTTCGAACAGCAACCTGTACTTGAAAGGACTGGG CTTAGATATTCCTTACAAGTGCCTGAAGGTGTCGTTAATGCTACGCTGTCGATATGGAAC GCCGAAGATATGCTAGTTATAGTAGGATTAGTTACATTTCTGGATTATCCTTTTGCTGCG CATAGTCTGGCGCAACATGACCAGTATATCAGGGCACTTTGTGCTTCGTTGTACGGCATG GCGCTTGTTGACTTTAGCAATTATGCTAATGGTATTCCTTGTGAAGACACATCAAGAAGT ATACTAGGACCATTGTCATTCATAGAAAAGGCCATTTTTAGACGGATAGAACATAGTAAG CAATTTCGAGTTCAGTCTGCCGCCTTAGGGTTATTATACAATGCATTTTCAATGGAAGAA GAAAACTTCTCGACTCTTCTACCGTCACTCATCGCTGAAGTGGAAGACGTGTTGATGCAA AAAAAAGACTGTGAAATACTTTTGAGGTGTTTCTATCAAAATATTTATCCCTTCTATCCT TTTATGGACATTTCACTCTTTGAGAGCGATCTCACTAGTTTGCTTTTACAAGACGACAAT AATCGTTGGAAAATTAGTACTGAAGTTAAAAATGTGCGCAAAAAAATAGAAACTTTGTCA TTACTTACAATAGTAATGGCCATGGCCTTGATGCATTCAAAATTGGATGCAAATCTTCTT TCAATGGTAAAAGAAAATGCCTCCGAAAGTGCCAGGAAACTTTCTCTTTTATGTCATAAA CTATTATGCCTCCTGGATGTATTTCGCTATCCAAATGAGAACACTTTTACTTGCCTTTTA TATTTCTACGTTTCAGAGCATTTAGATCCCGAGAGTCCCGATTGTGTACTGAGCCCCACT AACTTGCTTACTCTGCACCATCTTTTAAATTTGTCCATGACCTTAGGTCTTCAATATGAG CCTTCGAAGTACAAACGTTTCAAAGATCCAGAAGTGATAAGGCAGAGACGGATATTATGG TTAGGAGTTCAGTCATTACTTTTTCAAATTTCTCTTGCTGAAGGTGATGCTGGTAAATCA AATAGTGAATATATGGAGGCATATTTAACAGACTTCGAAGAATATATTGAAGCTTCCTCA GAGTATGAAAAAAGTTCTGCGAGTGAATCGAACGTGCAAATGAATGATATTGTTTGGAAT AAGTACAAATTTCACGTCATTTTGAGTAAACTAATGTCTGATTGCACTTCAGTTATACAA CATCCGCAGCTTTTCCACATTTTAGGAAATATTAAAAGATCTGAAGATTTTATGGCTGAG AACTTTCCTACAAGTTCGATTTACCAACCCCTTCATGAAAAGGAACCAAATGCGATCAAA GTTGGCAAAAGTACGGTTCTCGATGTCATGGATATTCAAAAAACTGAAATATTTCTTACA AATATTGTGGGAAGTATGTGTTTTTTAAACATTTTTGATGTCCTATCGTTACATTTTGAA AAAAAATGTGTTATGCACTGGGAAGAATATGAAAAGAACTATCATTTCCTTACTTTGAAA AGTTTCAATGCATACTTAAAGCTAGCAGGGTTGATATCTGATTATCTCGAGAATAAGTTT CAAGGGAACATTTTAGAGAGTCGCGGTTATATCATAGATAAACAAATATGTTTTATGCTT GTAAGGATCTGGATGTTCCAATGTCGTATTTTGTTAAGGTTTTCATACAAGCAAGAAAGT CAGAAAAAATTGGCCTCTTCCAGTATATCCACTAACGATAATGAAAAAGAAGATGAAATG ATTGTCATTTTAGAAAGACTTATTAAACACATTCGTAACCAAATGGCACATTTAGTGGAT CTAGCAAAGGGAAAACTTCAAGATAGTTACTTTGGTGCTTACCAAACTGTTCCCATGTTT AGATACGTTGTGTATTTGATCGATGTTGGCGGCTTAGTATCTGTGACAAATGGGTTTTGG GATAAGATTTCCAGTGATGGTGAAATACCGCCAAAAGTACAACAAGCCGTGAGATTGAAA TGGGGATTGGACTGCAATAATTCGAGAAGAATCAAACAAAAGTTAATAAGCAGCCAGAGT TTGCAGAGTTTCAATCAAGTTCTGTTGTGCCAGATGGAGGATGCAGTTCTCTCCAGTTCC TTCGCAATAAAAGCCAATACCGCTATGTCCCAAAACACGGCTGAAGAATTTTTCAATATC AGCGAAGAAGAGGCTTTAAATCAACTATTGGAAAACAACAATTTTGATGCCTTCTGGGAT TTATTAGGTGAAAATCTGAGCGATATGCCTTCTTTGTGA >YCZ7 1092 residues Pha 0 Code 0 ATGATTGGGTCCGCGTCCGACTCATCTAGCAAGTTAGGACGCCTCCGATTTCTTTCTGAA ACTGCCGCTATTAAAGTATCCCCGTTAATCCTAGGAGAAGTCTCATACGATGGAGCTCGT TCGGATTTTCTCAAATCAATGAACAAGAATCGAGCTTTTGAATTGCTTGATACTTTTTAC GAGGCAGGTGGAAATTTCATTGATGCCGCAAACAACTGCCAAAACGAGCAATCAGAAGAA TGGATTGGTGAATGGATACAGTCCAGAAGGTTACGTGATCAAATTGTCATTGCAACCAAG TTTATAAAAAGCGATAAAAAGTATAAAGCAGGTGAAAGTAACACTGCCAACTACTGTGGT AATCACAAGCGTAGTTTACATGTGAGTGTGAGGGATTCTCTCCGCAAATTGCAAACTGAT TGGATTGATATACTTTACGTTCACTGGTGGGATTATATGAGTTCAATCGAAGAATTTATG GATAGTTTGCATATTCTGGTCCAGCAGGGCAAGGTCCTCTATTTGGGTGTATCTGATACA CCTGCTTGGGTTGTTTCTGCGGCAAACTACTACGCTACATCTTATGGTAAAACTCCCTTT AGTATCTACCAAGGTAAATGGAACGTGTTGAACAGAGATTTTGAGCGTGATATTATTCCA ATGGCTAGGCATTTCGGTATGGCCCTCGCCCCATGGGATGTCATGGGAGGTGGAAGATTT CAGAGTAAAAAAGCAATGGAGGAACGGAGGAAGAATGGAGAGGGTATTCGTTCTTTCGTT GGCGCCTCCGAACAAACAGATGCAGAAATCAAGATTAGTGAAGCATTGGCCAAGATTGCT GAGGAACATGGCACTGAGTCTGTTACTGCTATTGCTATTGCCTATGTTCGCTCTAAGGCG AAAAATTTTTTTCCGTCGGTTGAAGGAGGAAAAATTGAGGATCTCAAAGAGAACATTAAG GCTCTCAGTATCGATCTAACGCCAGACAATATAAAATACTTAGAAAGTATAGTTCCTTTT GACATCGGATTTCCTAATAATTTTATCGTGTTAAATTCCTTGACTCAAAAATATGGTACG AATAATGTTTAG seqinr/inst/sequences/hannah.txt0000644000176000001440000011051110431642021016541 0ustar ripleyusersAGI Hydrophilicity Glycine At2g19570 -0.10 0.07 At2g45290 -0.25 0.09 At4g29570 -0.05 0.07 At4g29580 -0.10 0.06 At4g29600 -0.14 0.06 At5g28050 -0.11 0.08 At3g23570 -0.26 0.06 At3g23600 -0.09 0.08 At5g64250 -0.01 0.10 At3g30775 -0.21 0.06 At1g30100 -0.34 0.07 At1g78390 -0.34 0.07 At3g14440 -0.30 0.08 At3g24220 -0.23 0.08 At4g18350 -0.29 0.07 At5g23050 -0.10 0.08 At5g36880 -0.18 0.09 At4g34880 0.08 0.08 At5g07360 -0.19 0.06 At1g09780 -0.27 0.10 At1g13440 -0.14 0.08 At1g16300 -0.13 0.08 At1g22170 -0.38 0.05 At1g42970 0.00 0.08 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At1g79530 -0.14 0.08 At1g79550 0.13 0.10 At1g80460 -0.04 0.10 At2g21170 -0.09 0.10 At2g36580 0.02 0.06 At2g40690 0.13 0.06 At2g41540 -0.11 0.07 At3g04050 -0.05 0.06 At3g04120 -0.14 0.08 At3g08590 -0.26 0.10 At3g10370 -0.14 0.08 At3g12780 0.15 0.10 At3g22960 -0.11 0.07 At3g25960 0.04 0.07 At3g26650 -0.02 0.09 At3g43290 -0.69 0.09 At3g49160 -0.17 0.07 At3g55440 0.08 0.09 At3g55650 0.03 0.07 At3g55810 0.06 0.07 At3g56840 -0.19 0.08 At4g26390 -0.02 0.07 At5g04120 -0.34 0.08 At5g08570 0.03 0.07 At5g52920 -0.20 0.07 At5g56350 -0.02 0.07 At5g63680 -0.02 0.07 At1g17290 -0.24 0.07 At1g23310 -0.18 0.09 At1g70580 -0.19 0.08 At1g17290 -0.24 0.07 At1g23310 -0.18 0.09 At1g70580 -0.19 0.08 At4g34880 0.08 0.08 At5g07360 -0.19 0.06 At1g48470 -0.48 0.10 At1g66200 -0.42 0.11 At3g17820 -0.46 0.12 At3g53170 -0.13 0.06 At3g53180 -0.13 0.07 At5g16570 -0.43 0.11 At5g37600 -0.42 0.11 At5g53460 -0.29 0.09 At1g25460 -0.17 0.06 At2g38240 -0.41 0.08 At4g22870 -0.26 0.05 At4g22880 -0.39 0.06 At4g27250 -0.19 0.05 At4g33360 -0.03 0.08 At4g35420 -0.13 0.06 At5g42800 -0.24 0.06 At1g75330 -0.15 0.06 At4g24830 -0.21 0.08 At5g10920 -0.25 0.06 At5g46180 -0.18 0.08 At1g29900 -0.10 0.07 At1g75330 -0.15 0.06 At1g80600 0.11 0.09 At2g19940 -0.14 0.07 At3g27740 -0.30 0.09 At3g57560 0.09 0.09 At4g24830 -0.21 0.08 At4g37670 -0.09 0.10 At5g10920 -0.25 0.06 At4g08870 -0.23 0.10 At5g46180 -0.18 0.08 At3g30775 -0.21 0.06 At4g08870 -0.23 0.10 At5g52810 -0.12 0.07 At4g08870 -0.23 0.10 At5g14800 0.25 0.10 At5g46180 -0.18 0.08 At1g23820 -0.15 0.07 At1g70310 -0.10 0.08 At2g16500 -0.08 0.10 At4g34710 -0.09 0.09 At5g19530 -0.31 0.06 At5g53120 -0.07 0.08 At1g67070 -0.25 0.07 At2g39770 0.03 0.09 At2g45790 -0.38 0.08 At3g02570 -0.29 0.06 At3g55590 0.10 0.09 At4g24620 -0.17 0.08 At5g42740 -0.11 0.07 At5g10240 -0.38 0.07 At5g65010 -0.36 0.07 At1g62800 -0.09 0.07 At1g77670 -0.09 0.06 At1g80360 -0.09 0.09 At2g13810 -0.24 0.08 At2g22250 0.06 0.07 At2g30970 -0.32 0.08 At3g16150 0.05 0.12 At4g31990 -0.17 0.08 At5g08100 -0.01 0.10 At5g11520 -0.11 0.09 At5g19550 -0.12 0.08 At1g62800 -0.09 0.07 At1g77670 -0.09 0.06 At1g80360 -0.09 0.09 At2g13810 -0.24 0.08 At2g22250 0.06 0.07 At2g30970 -0.32 0.08 At4g31990 -0.17 0.08 At5g11520 -0.11 0.09 At5g19550 -0.12 0.08 At2g22330 -0.16 0.05 At3g44300 -0.15 0.09 At3g44310 -0.19 0.09 At3g44320 -0.17 0.09 At4g28680 -0.24 0.08 At4g32540 -0.27 0.10 At4g39950 -0.19 0.05 At5g20960 -0.10 0.08 At1g74920 -0.01 0.08 At3g48170 -0.03 0.08 At4g29890 -0.29 0.08 At1g01390 0.02 0.06 At1g01420 -0.05 0.07 At2g18570 0.01 0.07 At2g22930 -0.02 0.07 At2g29710 0.13 0.06 At2g29730 0.07 0.05 At2g29740 0.04 0.05 At2g29750 0.04 0.06 At3g29630 -0.07 0.07 At4g01070 -0.12 0.07 At5g54010 -0.07 0.08 At5g54060 -0.11 0.07 At1g03630 -0.39 0.07 At1g08520 -0.33 0.06 At1g09940 -0.13 0.05 At1g58290 -0.20 0.06 At1g69740 -0.22 0.07 At2g31250 -0.28 0.04 At2g40490 -0.11 0.07 At3g14930 -0.10 0.08 At3g48730 -0.02 0.12 At3g51820 0.26 0.09 At4g01690 -0.13 0.11 At4g18480 -0.25 0.07 At4g25080 -0.09 0.07 At4g27440 -0.24 0.07 At5g08280 -0.14 0.08 At5g13630 -0.28 0.06 At5g14220 -0.30 0.08 At5g26710 -0.40 0.06 At5g53090 -0.05 0.06 At5g53100 0.03 0.05 At5g54190 -0.21 0.07 At5g63570 0.00 0.12 At5g64050 -0.26 0.08 At1g09940 -0.13 0.05 At1g58290 -0.20 0.06 At1g69740 -0.22 0.07 At2g31250 -0.28 0.04 At2g40490 -0.11 0.07 At3g14930 -0.10 0.08 At3g48730 -0.02 0.12 At4g01690 -0.13 0.11 At5g08280 -0.14 0.08 At5g14220 -0.30 0.08 At5g26710 -0.40 0.06 At5g63570 0.00 0.12 At5g64050 -0.26 0.08 At2g43360 -0.30 0.07 At5g04620 0.10 0.07 At5g57590 -0.07 0.07 At1g50430 0.37 0.08 At1g58440 0.10 0.08 At2g07050 -0.24 0.08 At2g22830 0.00 0.06 At2g38050 0.12 0.07 At3g02580 0.25 0.05 At3g19820 -0.42 0.07 At3g50660 -0.31 0.06 At4g37760 0.14 0.08 At5g05690 -0.09 0.06 At5g24140 0.02 0.07 At5g24150 0.00 0.07 At5g24160 -0.04 0.07 At5g38970 -0.27 0.07 At5g42600 -0.30 0.07 At5g48010 -0.34 0.07 At1g32060 -0.33 0.06 At1g43670 -0.15 0.09 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g71100 0.15 0.10 At1g79550 0.13 0.10 At2g01140 -0.26 0.08 At2g01290 0.06 0.10 At2g21170 -0.09 0.10 At2g21330 -0.13 0.08 At2g36460 -0.15 0.09 At2g45290 -0.25 0.09 At3g01850 0.06 0.08 At3g04790 0.10 0.10 At3g12780 0.15 0.10 At3g52930 -0.22 0.09 At3g54050 -0.22 0.09 At3g55440 0.08 0.09 At3g55800 -0.13 0.09 At4g10750 -0.20 0.09 At4g26520 -0.08 0.08 At4g26530 -0.11 0.09 At4g38970 -0.18 0.08 At5g03690 -0.19 0.09 At5g38410 -0.21 0.06 At5g44520 0.02 0.08 At5g64380 -0.24 0.09 At3g26830 -0.12 0.06 At1g78240 -0.36 0.07 At2g28450 -0.45 0.06 At2g38660 0.13 0.07 At2g44160 -0.31 0.07 At3g13440 -0.05 0.06 At3g18000 -0.44 0.08 At3g59970 -0.19 0.07 At4g10760 -0.46 0.07 At4g31790 -0.15 0.09 At5g23050 -0.10 0.08 At5g24840 -0.33 0.06 At5g36880 -0.18 0.09 At1g65520 0.13 0.08 At4g14430 0.14 0.09 At4g14440 0.13 0.08 At1g65520 0.13 0.08 At4g14430 0.14 0.09 At4g14440 0.13 0.08 At1g06820 -0.09 0.10 At1g08550 -0.34 0.06 At3g04870 -0.14 0.08 At3g10230 -0.11 0.07 At4g14210 -0.16 0.07 At4g25700 -0.14 0.09 At5g17230 -0.26 0.05 At5g57030 -0.10 0.07 At5g67030 -0.30 0.09 At1g04710 -0.04 0.10 At2g33150 -0.03 0.09 At4g37470 0.18 0.07 At5g48880 0.08 0.10 At1g02730 -0.28 0.08 At1g32180 -0.06 0.07 At1g55850 0.02 0.08 At2g21770 -0.19 0.07 At2g25540 -0.17 0.07 At2g32530 0.01 0.06 At2g32540 0.00 0.07 At2g32610 0.08 0.06 At2g32620 0.06 0.07 At2g33100 -0.22 0.08 At3g03050 -0.21 0.07 At3g56000 0.22 0.06 At4g15290 0.08 0.06 At4g15320 0.00 0.05 At4g16590 0.09 0.06 At4g23990 0.02 0.07 At4g24000 0.04 0.06 At4g24010 -0.01 0.06 At4g31590 0.10 0.05 At4g32410 -0.24 0.08 At4g38190 -0.23 0.08 At4g39350 -0.21 0.08 At5g05170 -0.18 0.07 At5g09870 -0.22 0.07 At5g16190 0.16 0.05 At5g16910 -0.22 0.08 At5g49720 -0.42 0.09 At5g64740 -0.21 0.08 At1g48850 -0.33 0.09 At1g48860 -0.02 0.08 At2g21940 -0.40 0.07 At2g45300 -0.03 0.08 At3g26900 -0.10 0.05 At4g33510 -0.35 0.08 At4g39540 -0.43 0.07 At4g39980 -0.31 0.07 At5g66120 -0.02 0.09 At1g78240 -0.36 0.07 At2g28450 -0.45 0.06 At3g13440 -0.05 0.06 At3g18000 -0.44 0.08 At4g10760 -0.46 0.07 At4g31790 -0.15 0.09 At5g24840 -0.33 0.06 At1g30620 -0.28 0.08 At1g64440 -0.22 0.10 At1g67070 -0.25 0.07 At1g74910 0.04 0.07 At2g04650 -0.06 0.07 At2g34850 -0.46 0.08 At2g45790 -0.38 0.08 At3g02570 -0.29 0.06 At3g03250 -0.15 0.06 At3g10700 -0.16 0.09 At3g29360 -0.12 0.06 At4g10960 -0.20 0.09 At4g16130 -0.12 0.08 At4g20460 -0.16 0.08 At4g23920 -0.28 0.09 At4g30570 0.02 0.08 At5g18200 -0.36 0.06 At5g44480 -0.25 0.08 At2g45970 -0.10 0.06 At1g23730 -0.26 0.05 At1g58180 -0.38 0.06 At1g70410 -0.20 0.06 At2g28210 -0.61 0.07 At3g01500 -0.03 0.09 At4g20990 -0.49 0.07 At4g33580 -0.39 0.06 At5g04180 -0.47 0.06 At5g14740 -0.16 0.06 At5g56330 -0.76 0.05 At1g55920 -0.11 0.09 At2g17640 -0.04 0.11 At2g43750 0.02 0.09 At3g03630 -0.02 0.08 At3g04940 0.03 0.10 At3g13110 -0.22 0.07 At3g22460 0.05 0.12 At3g59760 -0.08 0.09 At3g61440 -0.11 0.08 At4g14880 0.09 0.11 At5g28020 0.10 0.11 At5g28030 0.06 0.11 At5g56760 0.04 0.09 At1g25410 -0.23 0.07 At1g68460 -0.44 0.05 At3g19160 -0.30 0.06 At3g23630 -0.32 0.05 At3g63110 -0.26 0.05 At4g24650 -0.43 0.05 At5g19040 -0.22 0.04 At3g01850 0.06 0.08 At4g30310 -0.02 0.09 At5g48230 0.18 0.13 At2g26230 -0.29 0.06 At1g17410 -0.13 0.06 At2g19570 -0.10 0.07 At3g07800 -0.06 0.08 At3g46940 -0.16 0.10 At4g09320 -0.03 0.09 At4g11010 -0.10 0.09 At4g29570 -0.05 0.07 At4g29580 -0.10 0.06 At4g29600 -0.14 0.06 At5g23070 -0.27 0.06 At5g28050 -0.11 0.08 At5g59440 -0.40 0.06 At2g21790 -0.32 0.06 At3g27060 -0.08 0.05 At1g31070 -0.42 0.08 At2g35020 -0.19 0.07 At1g19920 -0.41 0.07 At1g62180 -0.40 0.07 At3g22890 -0.35 0.08 At4g04610 -0.34 0.07 At4g14680 -0.34 0.07 At4g21990 -0.33 0.07 At5g43780 -0.34 0.08 At2g27860 -0.25 0.07 At3g53520 -0.26 0.09 At4g00560 -0.05 0.06 At5g28840 -0.48 0.09 At5g59290 -0.40 0.07 At1g01120 -0.10 0.06 At1g68530 -0.04 0.05 At1g01480 -0.20 0.07 At1g02500 -0.30 0.09 At1g62380 -0.51 0.06 At1g62960 -0.25 0.08 At2g22810 -0.33 0.05 At3g49700 -0.28 0.06 At3g61510 -0.21 0.06 At4g11280 -0.28 0.07 At4g23340 -0.36 0.06 At4g26200 -0.33 0.06 At4g37770 -0.37 0.06 At5g28360 -0.39 0.08 At5g65800 -0.31 0.06 At1g36050 -0.21 0.08 At1g36160 -0.23 0.07 At1g36180 -0.25 0.06 At5g16390 -0.32 0.03 At5g35360 -0.14 0.09 At5g46290 -0.16 0.10 At2g22230 -0.02 0.07 At3g55310 0.20 0.07 At5g10160 0.12 0.06 At5g46290 -0.16 0.10 At2g22230 -0.02 0.07 At3g55310 0.20 0.07 At5g10160 0.12 0.06 At5g46290 -0.16 0.10 At1g04710 -0.04 0.10 At1g49430 -0.20 0.07 At2g33150 -0.03 0.09 At3g05970 -0.07 0.08 At3g60510 -0.17 0.08 At4g16210 -0.06 0.08 At4g16800 0.07 0.09 At4g31810 -0.19 0.07 At5g27600 -0.14 0.08 At5g43280 0.06 0.07 At5g48880 0.08 0.10 At1g01390 0.02 0.06 At1g01420 -0.05 0.07 At1g02050 -0.23 0.09 At1g49390 -0.35 0.06 At1g51680 0.02 0.06 At1g53520 0.00 0.07 At1g65060 -0.03 0.07 At1g78550 -0.32 0.04 At2g18570 0.01 0.07 At2g22930 -0.02 0.07 At2g29710 0.13 0.06 At2g29730 0.07 0.05 At2g29740 0.04 0.05 At2g29750 0.04 0.06 At2g44800 -0.16 0.04 At3g19000 -0.60 0.05 At3g19010 -0.61 0.04 At3g21230 -0.03 0.06 At3g21240 -0.01 0.06 At3g29630 -0.07 0.07 At3g48990 -0.11 0.07 At3g50210 -0.29 0.10 At3g51240 -0.48 0.07 At3g55120 0.04 0.07 At4g00040 -0.19 0.09 At4g01070 -0.12 0.07 At4g05160 0.00 0.08 At4g10490 -0.37 0.03 At4g16330 -0.39 0.06 At4g19010 0.11 0.07 At5g05270 -0.27 0.08 At5g07990 -0.12 0.08 At5g08640 -0.51 0.06 At5g13930 -0.12 0.09 At5g24530 -0.46 0.04 At5g38120 -0.02 0.07 At5g54010 -0.07 0.08 At5g54060 -0.11 0.07 At5g63380 -0.03 0.07 At5g63580 -0.35 0.07 At5g63590 -0.43 0.06 At5g66220 -0.15 0.06 At2g21550 -0.22 0.05 At2g28880 -0.34 0.07 At3g10160 -0.03 0.07 At3g11750 -0.08 0.05 At3g55630 -0.21 0.07 At4g24380 -0.25 0.09 At4g30000 -0.09 0.07 At4g34570 -0.20 0.06 At5g05980 -0.18 0.07 At5g41480 -0.05 0.08 At5g62980 0.16 0.07 At1g22020 -0.37 0.08 At2g21550 -0.22 0.05 At2g38660 0.13 0.07 At3g10160 -0.03 0.07 At4g13890 -0.29 0.08 At4g24380 -0.25 0.09 At4g32520 -0.19 0.08 At4g34570 -0.20 0.06 At4g37930 -0.33 0.07 At5g26780 -0.28 0.07 At5g41480 -0.05 0.08 At1g30620 -0.28 0.08 At1g64440 -0.22 0.10 At2g34850 -0.46 0.08 At3g03250 -0.15 0.06 At3g10700 -0.16 0.09 At4g10960 -0.20 0.09 At4g16130 -0.12 0.08 At4g20460 -0.16 0.08 At4g23920 -0.28 0.09 At5g18200 -0.36 0.06 At5g44480 -0.25 0.08 At1g23190 -0.25 0.09 At1g45130 -0.26 0.10 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At1g72990 -0.25 0.08 At1g77410 -0.37 0.08 At2g16730 -0.54 0.08 At2g32810 -0.33 0.09 At3g10700 -0.16 0.09 At3g26380 -0.43 0.08 At3g52840 -0.26 0.09 At3g53080 -0.27 0.10 At3g56310 -0.15 0.08 At4g16130 -0.12 0.08 At4g26140 -0.33 0.09 At4g35010 -0.50 0.08 At4g36360 -0.28 0.10 At5g08370 -0.34 0.08 At5g08380 -0.26 0.08 At5g17530 -0.17 0.08 At5g18200 -0.36 0.06 At5g20710 -0.48 0.09 At5g51820 -0.17 0.09 At5g56870 -0.24 0.09 At5g63800 -0.25 0.10 At5g63810 -0.37 0.09 At1g15550 -0.20 0.06 At1g79460 -0.35 0.05 At4g02780 -0.39 0.05 At4g25420 -0.37 0.04 At5g25900 -0.26 0.05 At1g09780 -0.27 0.10 At1g13440 -0.14 0.08 At1g16300 -0.13 0.08 At1g22170 -0.38 0.05 At1g42970 0.00 0.08 At1g43670 -0.15 0.09 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At1g79530 -0.14 0.08 At1g79550 0.13 0.10 At2g01140 -0.26 0.08 At2g21330 -0.13 0.08 At2g36460 -0.15 0.09 At3g04120 -0.14 0.08 At3g08590 -0.26 0.10 At3g12780 0.15 0.10 At3g26650 -0.02 0.09 At3g43290 -0.69 0.09 At3g52930 -0.22 0.09 At3g54050 -0.22 0.09 At4g00570 -0.09 0.09 At4g10750 -0.20 0.09 At4g24620 -0.17 0.08 At4g26520 -0.08 0.08 At4g26530 -0.11 0.09 At4g38970 -0.18 0.08 At5g03690 -0.19 0.09 At5g04120 -0.34 0.08 At5g42740 -0.11 0.07 At5g64380 -0.24 0.09 At1g23190 -0.25 0.09 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At3g03250 -0.15 0.06 At5g17530 -0.17 0.08 At5g51820 -0.17 0.09 At5g57655 -0.40 0.09 At1g16400 -0.30 0.07 At1g16410 -0.29 0.06 At4g03050 -0.33 0.08 At4g03060 -0.39 0.07 At4g13770 -0.27 0.06 At2g22330 -0.16 0.05 At4g31500 -0.15 0.06 At4g39950 -0.19 0.05 At1g65960 -0.21 0.06 At2g02000 -0.26 0.06 At2g02010 -0.27 0.06 At3g17720 -0.03 0.07 At5g17330 -0.27 0.05 At1g64800 -1.06 0.03 At2g20420 -0.06 0.09 At4g26910 -0.27 0.06 At5g23250 0.08 0.13 At5g65750 -0.48 0.07 At1g62800 -0.09 0.07 At1g77670 -0.09 0.06 At1g80360 -0.09 0.09 At2g13810 -0.24 0.08 At2g20420 -0.06 0.09 At2g22250 0.06 0.07 At2g30970 -0.32 0.08 At2g47510 -0.17 0.08 At4g31990 -0.17 0.08 At5g11520 -0.11 0.09 At5g19550 -0.12 0.08 At5g23250 0.08 0.13 At5g50950 -0.27 0.07 At1g80600 0.11 0.09 At2g19940 -0.14 0.07 At3g57560 0.09 0.09 At4g37670 -0.09 0.10 At1g48470 -0.48 0.10 At1g66200 -0.42 0.11 At3g17820 -0.46 0.12 At3g53170 -0.13 0.06 At3g53180 -0.13 0.07 At5g16570 -0.43 0.11 At5g37600 -0.42 0.11 At4g23100 -0.29 0.09 At5g27380 -0.28 0.07 At1g09780 -0.27 0.10 At1g13440 -0.14 0.08 At1g16300 -0.13 0.08 At1g22170 -0.38 0.05 At1g42970 0.00 0.08 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At1g79530 -0.14 0.08 At1g79550 0.13 0.10 At3g04120 -0.14 0.08 At3g08590 -0.26 0.10 At3g12780 0.15 0.10 At3g26650 -0.02 0.09 At3g43290 -0.69 0.09 At5g04120 -0.34 0.08 At1g74210 -0.37 0.05 At1g80460 -0.04 0.10 At2g40690 0.13 0.06 At2g41540 -0.11 0.07 At3g10370 -0.14 0.08 At3g56840 -0.19 0.08 At5g08030 -0.44 0.05 At1g18640 -0.03 0.08 At1g22020 -0.37 0.08 At4g13890 -0.29 0.08 At4g32520 -0.19 0.08 At4g37930 -0.33 0.07 At5g26780 -0.28 0.07 At1g11860 -0.25 0.11 At1g60990 -0.13 0.09 At1g03310 -0.28 0.06 At1g23190 -0.25 0.09 At1g69830 -0.55 0.08 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At1g76130 -0.51 0.09 At2g39930 -0.39 0.07 At2g40840 -0.43 0.06 At4g25000 -0.32 0.09 At5g17530 -0.17 0.08 At5g51820 -0.17 0.09 At5g64860 -0.32 0.07 At1g07110 -0.38 0.07 At1g09780 -0.27 0.10 At1g13440 -0.14 0.08 At1g16300 -0.13 0.08 At1g22170 -0.38 0.05 At1g42970 0.00 0.08 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At1g79530 -0.14 0.08 At1g79550 0.13 0.10 At2g01140 -0.26 0.08 At2g21170 -0.09 0.10 At2g21330 -0.13 0.08 At2g36460 -0.15 0.09 At2g36580 0.02 0.06 At3g04050 -0.05 0.06 At3g04120 -0.14 0.08 At3g08590 -0.26 0.10 At3g12780 0.15 0.10 At3g22960 -0.11 0.07 At3g25960 0.04 0.07 At3g26650 -0.02 0.09 At3g43290 -0.69 0.09 At3g49160 -0.17 0.07 At3g52930 -0.22 0.09 At3g55440 0.08 0.09 At3g55650 0.03 0.07 At3g55810 0.06 0.07 At4g10750 -0.20 0.09 At4g24620 -0.17 0.08 At4g26390 -0.02 0.07 At4g26520 -0.08 0.08 At4g26530 -0.11 0.09 At4g38970 -0.18 0.08 At5g03690 -0.19 0.09 At5g04120 -0.34 0.08 At5g08570 0.03 0.07 At5g42740 -0.11 0.07 At5g52920 -0.20 0.07 At5g56350 -0.02 0.07 At5g63680 -0.02 0.07 At1g07110 -0.38 0.07 At1g09780 -0.27 0.10 At1g12000 -0.20 0.10 At1g13440 -0.14 0.08 At1g16300 -0.13 0.08 At1g22170 -0.38 0.05 At1g42970 0.00 0.08 At1g56190 0.17 0.10 At1g58150 -0.69 0.13 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At1g79530 -0.14 0.08 At1g79550 0.13 0.10 At2g01140 -0.26 0.08 At2g21170 -0.09 0.10 At2g21330 -0.13 0.08 At2g22480 -0.15 0.09 At2g36460 -0.15 0.09 At2g36580 0.02 0.06 At3g04050 -0.05 0.06 At3g04120 -0.14 0.08 At3g08590 -0.26 0.10 At3g12780 0.15 0.10 At3g22960 -0.11 0.07 At3g25960 0.04 0.07 At3g26650 -0.02 0.09 At3g43290 -0.69 0.09 At3g49160 -0.17 0.07 At3g52930 -0.22 0.09 At3g55440 0.08 0.09 At3g55650 0.03 0.07 At3g55810 0.06 0.07 At4g10750 -0.20 0.09 At4g24620 -0.17 0.08 At4g26390 -0.02 0.07 At4g26520 -0.08 0.08 At4g26530 -0.11 0.09 At4g32840 -0.16 0.09 At4g38970 -0.18 0.08 At5g03690 -0.19 0.09 At5g04120 -0.34 0.08 At5g08570 0.03 0.07 At5g42740 -0.11 0.07 At5g47810 -0.18 0.09 At5g52920 -0.20 0.07 At5g56350 -0.02 0.07 At5g63680 -0.02 0.07 At2g11810 -0.31 0.07 At3g11670 -0.48 0.05 At4g00550 -0.34 0.05 At4g31780 -0.15 0.09 At4g33030 -0.28 0.06 At5g01220 -0.12 0.06 At5g20410 -0.29 0.06 At3g11170 -0.31 0.06 At3g15850 -0.05 0.06 At4g30950 -0.07 0.04 At5g05580 -0.32 0.06 At2g42790 -0.21 0.07 At2g44350 -0.22 0.07 At3g21720 -0.36 0.07 At3g58740 -0.24 0.08 At3g58750 -0.17 0.07 At3g60100 -0.15 0.08 At4g00570 -0.09 0.09 At4g26970 -0.25 0.08 At4g35830 -0.16 0.09 At5g03860 -0.36 0.08 At1g31860 -0.44 0.04 At1g58080 -0.04 0.07 At1g71920 -0.16 0.06 At2g36230 -0.13 0.11 At4g14910 -0.33 0.07 At5g10330 -0.15 0.06 At5g63890 0.00 0.06 At1g33320 -0.06 0.07 At3g01120 0.11 0.07 At3g57050 -0.11 0.06 At1g02460 -0.38 0.09 At1g02790 0.02 0.11 At1g02810 -0.23 0.07 At1g04630 -0.49 0.09 At1g05650 0.06 0.10 At1g05660 0.06 0.10 At1g10640 -0.17 0.09 At1g11370 0.04 0.08 At1g11580 -0.19 0.06 At1g14890 -0.20 0.04 At1g17150 -0.16 0.09 At1g19170 -0.20 0.10 At1g21850 -0.21 0.08 At1g21860 -0.17 0.08 At1g23200 -0.32 0.06 At1g23460 -0.20 0.09 At1g43080 -0.29 0.08 At1g44980 -0.10 0.05 At1g53840 -0.22 0.06 At1g56710 -0.05 0.07 At1g60590 -0.26 0.07 At1g65570 -0.03 0.10 At1g69940 -0.13 0.10 At1g70500 -0.18 0.08 At1g75790 -0.07 0.08 At1g76160 -0.24 0.09 At1g80140 -0.03 0.11 At1g80170 -0.19 0.08 At2g15470 -0.25 0.09 At2g19150 -0.12 0.10 At2g21610 -0.22 0.07 At2g23630 -0.13 0.08 At2g23900 -0.02 0.08 At2g26440 -0.26 0.08 At2g26450 -0.44 0.06 At2g33160 -0.29 0.08 At2g36700 -0.22 0.09 At2g36710 -0.35 0.09 At2g40310 -0.26 0.08 At2g41850 -0.27 0.08 At2g43050 -0.29 0.08 At2g43860 -0.08 0.08 At2g43870 -0.01 0.10 At2g43880 -0.16 0.10 At2g43890 -0.07 0.10 At2g45220 -0.22 0.08 At2g46930 -0.19 0.07 At2g47030 -0.23 0.10 At2g47040 -0.22 0.09 At2g47050 -0.04 0.06 At2g47280 -0.15 0.11 At2g47550 -0.24 0.08 At2g47670 -0.04 0.02 At3g05610 -0.24 0.07 At3g05620 -0.30 0.08 At3g06770 -0.09 0.10 At3g06830 -0.18 0.08 At3g07820 -0.15 0.10 At3g07830 -0.10 0.10 At3g07840 -0.09 0.10 At3g07970 -0.33 0.07 At3g10710 -0.23 0.07 At3g10720 -0.25 0.09 At3g14040 -0.01 0.11 At3g14310 -0.27 0.08 At3g15720 -0.08 0.10 At3g17060 -0.25 0.08 At3g24130 -0.03 0.10 At3g26610 -0.22 0.09 At3g27980 -0.16 0.07 At3g29090 -0.29 0.09 At3g43270 -0.12 0.08 At3g47380 -0.04 0.04 At3g47400 -0.27 0.08 At3g47670 -0.20 0.05 At3g49220 -0.18 0.08 At3g57790 -0.15 0.08 At3g59010 -0.29 0.08 At3g59850 -0.09 0.10 At3g61490 -0.08 0.09 At3g62180 0.04 0.04 At4g00190 -0.33 0.09 At4g02300 -0.27 0.06 At4g02330 -0.29 0.05 At4g03930 -0.23 0.07 At4g12390 -0.03 0.04 At4g13760 -0.36 0.09 At4g15980 -0.57 0.06 At4g18180 -0.16 0.09 At4g22010 -0.22 0.10 At4g23820 -0.17 0.11 At4g25250 -0.36 0.04 At4g25260 -0.22 0.04 At4g28090 -0.36 0.07 At4g33220 -0.38 0.09 At4g33230 -0.43 0.06 At4g33440 -0.09 0.09 At4g35670 -0.11 0.09 At4g37160 -0.14 0.07 At4g38420 -0.35 0.08 At5g04960 -0.23 0.07 At5g04970 -0.31 0.08 At5g07410 -0.11 0.10 At5g07420 -0.17 0.09 At5g07430 -0.24 0.09 At5g09760 -0.32 0.08 At5g14650 -0.15 0.10 At5g17200 -0.18 0.12 At5g18990 -0.10 0.10 At5g19730 -0.18 0.08 At5g20860 -0.28 0.07 At5g26810 -0.09 0.09 At5g27870 -0.27 0.07 At5g39910 -0.36 0.07 At5g41870 -0.16 0.10 At5g44830 -0.27 0.09 At5g44840 -0.13 0.09 At5g47500 -0.21 0.09 At5g48140 -0.12 0.10 At5g49180 -0.21 0.08 At5g51480 -0.23 0.07 At5g51490 -0.12 0.08 At5g51500 -0.09 0.08 At5g53370 -0.21 0.09 At5g55590 -0.29 0.09 At5g64640 -0.25 0.07 At5g66920 -0.21 0.08 At5g23010 -0.19 0.08 At1g14810 -0.13 0.07 At3g02020 0.04 0.06 At5g13280 0.05 0.07 At5g21060 0.09 0.10 At2g31810 -0.07 0.06 At3g23940 -0.10 0.11 At3g48560 -0.13 0.08 At3g58610 -0.07 0.09 At4g11640 0.16 0.08 At5g16290 -0.15 0.06 At1g21400 -0.45 0.06 At2g33150 -0.03 0.09 At3g60510 -0.17 0.08 At4g16210 -0.06 0.08 At4g16800 0.07 0.09 At4g31810 -0.19 0.07 At5g43280 0.06 0.07 At5g48880 0.08 0.10 At2g02500 -0.11 0.05 At5g62790 -0.09 0.07 At1g09400 -0.42 0.08 At1g13280 -0.34 0.09 At1g17420 -0.45 0.05 At1g17990 -0.37 0.09 At1g19640 -0.27 0.07 At1g55020 -0.45 0.06 At1g72520 -0.47 0.05 At2g44810 -0.29 0.07 At3g22400 -0.48 0.05 At5g42650 -0.25 0.07 At1g45130 -0.26 0.10 At1g72990 -0.25 0.08 At1g77410 -0.37 0.08 At2g16730 -0.54 0.08 At2g32810 -0.33 0.09 At3g52840 -0.26 0.09 At3g53080 -0.27 0.10 At4g26140 -0.33 0.09 At4g35010 -0.50 0.08 At4g36360 -0.28 0.10 At5g20710 -0.48 0.09 At5g56870 -0.24 0.09 At5g63800 -0.25 0.10 At5g63810 -0.37 0.09 At1g45130 -0.26 0.10 At1g72990 -0.25 0.08 At1g77410 -0.37 0.08 At2g16730 -0.54 0.08 At2g32810 -0.33 0.09 At3g52840 -0.26 0.09 At3g53080 -0.27 0.10 At4g26140 -0.33 0.09 At4g35010 -0.50 0.08 At4g36360 -0.28 0.10 At5g20710 -0.48 0.09 At5g56870 -0.24 0.09 At5g63800 -0.25 0.10 At5g63810 -0.37 0.09 At1g23190 -0.25 0.09 At1g30620 -0.28 0.08 At1g45130 -0.26 0.10 At1g64440 -0.22 0.10 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At1g72990 -0.25 0.08 At1g77410 -0.37 0.08 At2g16730 -0.54 0.08 At2g32810 -0.33 0.09 At2g34850 -0.46 0.08 At3g03250 -0.15 0.06 At3g10700 -0.16 0.09 At3g52840 -0.26 0.09 At3g53080 -0.27 0.10 At4g10960 -0.20 0.09 At4g16130 -0.12 0.08 At4g20460 -0.16 0.08 At4g23920 -0.28 0.09 At4g26140 -0.33 0.09 At4g35010 -0.50 0.08 At4g36360 -0.28 0.10 At5g17530 -0.17 0.08 At5g20710 -0.48 0.09 At5g44480 -0.25 0.08 At5g51820 -0.17 0.09 At5g56870 -0.24 0.09 At5g63800 -0.25 0.10 At5g63810 -0.37 0.09 At1g79230 -0.31 0.06 At1g18500 -0.24 0.07 At1g31180 -0.12 0.09 At1g74040 -0.21 0.08 At1g80560 -0.06 0.09 At2g43090 -0.16 0.08 At2g43100 -0.12 0.09 At3g58990 -0.09 0.08 At4g13430 -0.18 0.09 At5g03290 -0.07 0.08 At5g14200 -0.08 0.09 At5g23010 -0.19 0.08 At5g23020 -0.27 0.07 At1g03090 -0.30 0.08 At1g21400 -0.45 0.06 At2g26800 -0.04 0.08 At4g34030 -0.14 0.11 At1g15950 -0.28 0.06 At1g51680 0.02 0.06 At1g65060 -0.03 0.07 At2g30490 -0.20 0.06 At2g37040 -0.16 0.08 At2g40890 -0.28 0.06 At3g10340 -0.18 0.08 At3g19450 0.14 0.10 At3g21230 -0.03 0.06 At3g21240 -0.01 0.06 At3g48990 -0.11 0.07 At3g53260 -0.18 0.08 At4g05160 0.00 0.08 At4g19010 0.11 0.07 At4g24520 -0.32 0.07 At4g26220 -0.22 0.07 At4g30210 -0.23 0.06 At4g34050 -0.35 0.06 At4g36220 -0.15 0.06 At5g04230 -0.16 0.07 At5g38120 -0.02 0.07 At5g63380 -0.03 0.07 At2g42010 -0.56 0.08 At2g44810 -0.29 0.07 At3g08510 -0.49 0.06 At3g15730 -0.41 0.08 At3g16785 -0.46 0.06 At3g45880 -0.31 0.06 At4g35790 -0.41 0.06 At4g37070 -0.15 0.07 At5g58670 -0.50 0.06 At1g13280 -0.34 0.09 At1g17420 -0.45 0.05 At1g55020 -0.45 0.06 At1g72520 -0.47 0.05 At3g22400 -0.48 0.05 At3g45140 -0.48 0.06 At4g15440 -0.08 0.08 At5g42650 -0.25 0.07 At4g20380 -0.11 0.06 At4g21610 -0.64 0.05 At1g14810 -0.13 0.07 At2g45440 -0.17 0.09 At3g02020 0.04 0.06 At3g14390 -0.18 0.07 At3g53450 -0.06 0.10 At3g53580 -0.15 0.10 At3g60880 -0.24 0.09 At5g03270 -0.09 0.09 At5g06300 -0.10 0.08 At5g11880 -0.16 0.07 At5g11950 -0.07 0.11 At5g13280 0.05 0.07 At5g26140 -0.17 0.08 At5g52100 0.14 0.07 At4g33150 -0.14 0.07 At5g48230 0.18 0.13 At5g48230 0.18 0.13 At4g11570 -0.42 0.05 At1g67070 -0.25 0.07 At1g74910 0.04 0.07 At2g04650 -0.06 0.07 At2g45790 -0.38 0.08 At3g02570 -0.29 0.06 At4g30570 0.02 0.08 At2g41490 0.61 0.06 At3g01120 0.11 0.07 At3g25900 -0.15 0.07 At3g57050 -0.11 0.06 At3g63250 -0.21 0.08 At5g20980 -0.17 0.05 At1g02500 -0.30 0.09 At4g13610 -0.53 0.06 At4g13940 -0.12 0.08 At4g19020 -0.63 0.07 At5g49160 -0.47 0.07 At1g11840 -0.33 0.10 At3g10850 -0.46 0.07 At1g78510 -0.03 0.07 At2g38700 -0.27 0.06 At3g02780 -0.29 0.04 At3g54250 -0.29 0.06 At4g11820 -0.29 0.07 At4g17190 -0.26 0.05 At5g27450 0.08 0.08 At5g47770 -0.23 0.05 At5g48230 0.18 0.13 At1g37130 -0.36 0.08 At1g48470 -0.48 0.10 At1g66200 -0.42 0.11 At1g77760 -0.38 0.07 At2g15620 -0.38 0.08 At3g17820 -0.46 0.12 At3g53170 -0.13 0.06 At3g53180 -0.13 0.07 At5g16570 -0.43 0.11 At5g37600 -0.42 0.11 At1g12230 -0.04 0.06 At1g64190 -0.26 0.10 At1g71100 0.15 0.10 At2g01290 0.06 0.10 At2g45290 -0.25 0.09 At3g01850 0.06 0.08 At3g02360 -0.29 0.10 At3g04790 0.10 0.10 At5g13420 -0.18 0.06 At5g41670 -0.27 0.10 At5g44520 0.02 0.08 At1g63380 0.08 0.09 At1g74030 -0.18 0.09 At2g36580 0.02 0.06 At3g01260 -1.16 0.07 At3g04050 -0.05 0.06 At3g17940 -0.40 0.11 At3g22960 -0.11 0.07 At3g25960 0.04 0.07 At3g49160 -0.17 0.07 At3g55650 0.03 0.07 At3g55810 0.06 0.07 At4g26390 -0.02 0.07 At5g08570 0.03 0.07 At5g15140 -1.02 0.10 At5g52920 -0.20 0.07 At5g56350 -0.02 0.07 At5g63680 -0.02 0.07 At4g08870 -0.23 0.10 At5g52810 -0.12 0.07 At1g16350 -0.12 0.10 At1g17410 -0.13 0.06 At1g27450 0.10 0.06 At1g63660 -0.14 0.08 At1g79470 -0.10 0.11 At1g80050 0.22 0.08 At2g37250 -0.28 0.10 At2g39270 -0.27 0.08 At2g41880 -0.29 0.10 At3g01820 -0.30 0.07 At3g57550 -0.32 0.10 At3g57610 -0.12 0.11 At4g04880 -0.09 0.05 At4g09320 -0.03 0.09 At4g11010 -0.10 0.09 At4g12440 0.17 0.06 At4g22570 0.01 0.09 At5g11160 0.16 0.09 At5g35170 -0.34 0.06 At5g47840 -0.43 0.06 At5g50370 -0.43 0.06 At5g63400 -0.43 0.07 At4g08870 -0.23 0.10 At5g52810 -0.12 0.07 At1g23820 -0.15 0.07 At1g70310 -0.10 0.08 At5g19530 -0.31 0.06 At5g53120 -0.07 0.08 At1g09420 -0.32 0.07 At1g13700 -0.13 0.04 At1g24280 -0.32 0.06 At1g64190 -0.26 0.10 At3g02360 -0.29 0.10 At3g27300 -0.46 0.07 At3g49360 -0.17 0.05 At5g13110 -0.37 0.06 At5g24400 -0.20 0.05 At5g24410 -0.11 0.04 At5g24420 -0.23 0.04 At5g35790 -0.40 0.06 At5g40760 -0.44 0.07 At5g41670 -0.27 0.10 At1g60440 -0.16 0.11 At2g46110 0.06 0.08 At3g18030 -0.03 0.06 At3g61530 0.01 0.08 At5g48840 -0.16 0.10 At1g08250 -0.10 0.05 At1g11790 -0.15 0.05 At1g69370 -0.42 0.03 At1g71920 -0.16 0.06 At2g20610 -0.15 0.06 At2g24850 -0.10 0.07 At3g29200 -0.41 0.06 At4g23590 -0.14 0.06 At4g23600 -0.15 0.05 At4g28420 -0.08 0.06 At5g10330 -0.15 0.06 At5g10870 -0.38 0.04 At5g36160 0.12 0.06 At5g53970 0.07 0.07 At2g30490 -0.20 0.06 At2g37040 -0.16 0.08 At3g10340 -0.18 0.08 At3g53260 -0.18 0.08 At4g24520 -0.32 0.07 At4g30210 -0.23 0.06 At5g04230 -0.16 0.07 At1g32200 -0.25 0.06 At1g51260 0.29 0.04 At1g75020 0.24 0.05 At3g18850 0.15 0.04 At1g15080 0.39 0.08 At1g62430 0.39 0.06 At1g68000 0.66 0.03 At2g01180 0.10 0.08 At2g39290 0.21 0.05 At2g45150 0.39 0.11 At3g55030 0.51 0.07 At3g60620 0.32 0.09 At4g22340 0.40 0.07 At4g25970 -0.13 0.07 At4g26770 0.05 0.06 At4g38570 0.70 0.03 At5g57190 -0.13 0.07 At2g29980 -0.09 0.06 At3g11170 -0.31 0.06 At3g12120 -0.08 0.06 At4g30950 -0.07 0.04 At5g05580 -0.32 0.06 At1g68010 -0.06 0.08 At2g13360 0.03 0.08 At2g35120 -0.33 0.07 At2g35370 -0.25 0.05 At3g14150 -0.04 0.07 At3g14415 -0.02 0.07 At4g18360 -0.01 0.07 At5g06580 -0.15 0.07 At5g38410 -0.21 0.06 At1g51680 0.02 0.06 At1g53520 0.00 0.07 At1g65060 -0.03 0.07 At2g30490 -0.20 0.06 At2g37040 -0.16 0.08 At3g10340 -0.18 0.08 At3g21230 -0.03 0.06 At3g21240 -0.01 0.06 At3g48990 -0.11 0.07 At3g53260 -0.18 0.08 At3g55120 0.04 0.07 At4g05160 0.00 0.08 At4g19010 0.11 0.07 At4g24520 -0.32 0.07 At4g30210 -0.23 0.06 At5g04230 -0.16 0.07 At5g05270 -0.27 0.08 At5g38120 -0.02 0.07 At5g63380 -0.03 0.07 At5g66220 -0.15 0.06 At1g23820 -0.15 0.07 At1g70310 -0.10 0.08 At2g16500 -0.08 0.10 At2g27450 -0.27 0.08 At3g02470 -0.26 0.07 At4g34710 -0.09 0.09 At5g08170 -0.44 0.07 At5g15950 -0.27 0.07 At5g18930 -0.28 0.05 At5g53120 -0.07 0.08 At1g78510 -0.03 0.07 At3g02780 -0.29 0.04 At4g17190 -0.26 0.05 At5g47770 -0.23 0.05 At5g60500 0.07 0.06 At5g60510 -0.03 0.07 At3g14050 -0.30 0.05 At4g02260 -0.22 0.06 At1g61720 -0.16 0.06 At5g14800 0.25 0.10 At1g04710 -0.04 0.10 At2g33150 -0.03 0.09 At4g37470 0.18 0.07 At5g48880 0.08 0.10 At1g12230 -0.04 0.06 At1g71100 0.15 0.10 At2g01290 0.06 0.10 At2g42910 0.08 0.05 At2g44530 0.04 0.07 At2g45290 -0.25 0.09 At3g04790 0.10 0.10 At5g13420 -0.18 0.06 At5g44520 0.02 0.08 At1g09830 -0.01 0.10 At1g16350 -0.12 0.10 At1g31220 -0.14 0.08 At1g63660 -0.14 0.08 At1g74260 -0.13 0.08 At1g79470 -0.10 0.11 At2g35040 -0.24 0.08 At2g37690 -0.08 0.08 At3g21110 -0.33 0.05 At3g55010 0.02 0.12 At3g57610 -0.12 0.11 At4g17360 -0.18 0.05 At4g18440 -0.16 0.05 At4g34740 -0.10 0.08 At4g38880 0.01 0.07 At2g01350 0.03 0.07 At5g14760 -0.09 0.07 At2g17630 -0.22 0.07 At3g19030 0.30 0.05 At5g49970 -0.36 0.07 At5g37850 -0.07 0.07 At5g49970 -0.36 0.07 At1g29900 -0.10 0.07 At3g20330 -0.19 0.06 At3g27740 -0.30 0.09 At3g54470 0.07 0.08 At4g22930 -0.12 0.06 At5g23300 -0.10 0.11 At1g17410 -0.13 0.06 At1g26190 -0.40 0.05 At1g30820 -0.12 0.09 At1g55810 -0.19 0.07 At1g73980 -0.32 0.06 At2g19570 -0.10 0.07 At2g34890 -0.19 0.08 At3g10030 -0.55 0.08 At3g12670 -0.09 0.10 At3g27190 -0.14 0.07 At3g53900 0.14 0.07 At3g54470 0.07 0.08 At3g60180 -0.43 0.06 At4g02120 -0.05 0.08 At4g09320 -0.03 0.09 At4g11010 -0.10 0.09 At4g20320 -0.23 0.09 At4g26510 -0.13 0.07 At4g29570 -0.05 0.07 At4g29580 -0.10 0.06 At4g29600 -0.14 0.06 At5g28050 -0.11 0.08 At1g03040 -0.40 0.10 At1g34430 0.13 0.09 At1g48030 -0.05 0.10 At1g54220 -0.41 0.06 At3g16950 -0.03 0.09 At3g17240 -0.03 0.10 At3g25860 0.03 0.06 At3g52200 -0.25 0.06 At4g25100 -0.35 0.06 At4g35090 -0.57 0.05 At3g01850 0.06 0.08 At4g30310 -0.02 0.09 At1g06730 0.02 0.08 At1g17160 -0.05 0.08 At1g19600 0.02 0.10 At1g71100 0.15 0.10 At2g01290 0.06 0.10 At2g45290 -0.25 0.09 At3g04790 0.10 0.10 At5g44520 0.02 0.08 At1g18870 -0.23 0.07 At1g74710 -0.23 0.07 At2g37040 -0.16 0.08 At3g10340 -0.18 0.08 At3g53260 -0.18 0.08 At5g04230 -0.16 0.07 At1g18640 -0.03 0.08 At1g72190 -0.01 0.08 At2g17630 -0.22 0.07 At3g19030 0.30 0.05 At4g34200 0.14 0.08 At1g09780 -0.27 0.10 At1g22020 -0.37 0.08 At1g22170 -0.38 0.05 At1g74030 -0.18 0.09 At1g78040 -0.27 0.05 At1g78050 -0.44 0.05 At2g42790 -0.21 0.07 At2g44350 -0.22 0.07 At3g08590 -0.26 0.10 At3g21720 -0.36 0.07 At3g58740 -0.24 0.08 At3g58750 -0.17 0.07 At3g60100 -0.15 0.08 At4g00570 -0.09 0.09 At4g13890 -0.29 0.08 At4g26970 -0.25 0.08 At4g32520 -0.19 0.08 At4g35830 -0.16 0.09 At4g37930 -0.33 0.07 At5g04120 -0.34 0.08 At5g26780 -0.28 0.07 At2g22990 -0.28 0.08 At2g40890 -0.28 0.06 At4g36220 -0.15 0.06 At1g11720 -0.46 0.07 At1g23190 -0.25 0.09 At1g27680 -0.18 0.08 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At2g21590 -0.27 0.08 At3g01180 -0.43 0.07 At3g20440 -0.41 0.08 At4g24620 -0.17 0.08 At4g39210 -0.31 0.07 At5g03650 -0.50 0.08 At5g17530 -0.17 0.08 At5g19220 -0.21 0.08 At5g42740 -0.11 0.07 At5g48300 -0.17 0.07 At5g51820 -0.17 0.09 At1g03310 -0.28 0.06 At1g67490 -0.37 0.08 At1g69830 -0.55 0.08 At1g76130 -0.51 0.09 At2g32290 -0.58 0.07 At2g39930 -0.39 0.07 At2g40840 -0.43 0.06 At2g45880 -0.44 0.09 At3g23920 -0.41 0.10 At3g29320 -0.36 0.06 At4g00490 -0.34 0.08 At4g15210 -0.37 0.09 At4g17090 -0.60 0.10 At4g25000 -0.32 0.09 At5g04360 -0.30 0.07 At5g11720 -0.26 0.08 At5g18670 -0.24 0.09 At5g45300 -0.47 0.09 At5g55700 -0.28 0.08 At5g64860 -0.32 0.07 At1g51680 0.02 0.06 At1g65060 -0.03 0.07 At2g30490 -0.20 0.06 At2g37040 -0.16 0.08 At2g40890 -0.28 0.06 At2g45970 -0.10 0.06 At3g10340 -0.18 0.08 At3g21240 -0.01 0.06 At3g53260 -0.18 0.08 At4g24520 -0.32 0.07 At4g26220 -0.22 0.07 At4g30210 -0.23 0.06 At4g34050 -0.35 0.06 At5g04230 -0.16 0.07 At1g03160 -0.13 0.05 At1g04920 -0.48 0.07 At1g06020 -0.11 0.08 At1g23190 -0.25 0.09 At1g43670 -0.15 0.09 At1g50390 -0.18 0.06 At1g66430 -0.11 0.07 At1g69200 -0.58 0.06 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At1g73370 -0.39 0.07 At2g31390 -0.06 0.09 At3g03250 -0.15 0.06 At3g43190 -0.30 0.06 At3g54050 -0.22 0.09 At3g54090 -0.50 0.06 At3g59480 0.05 0.09 At4g02280 -0.27 0.07 At4g10120 -0.46 0.07 At4g10260 -0.04 0.09 At4g24620 -0.17 0.08 At5g11110 -0.34 0.07 At5g17530 -0.17 0.08 At5g20280 -0.47 0.07 At5g20830 -0.33 0.06 At5g37180 -0.33 0.07 At5g42740 -0.11 0.07 At5g49190 -0.23 0.06 At5g51820 -0.17 0.09 At5g51830 0.00 0.09 At5g64380 -0.24 0.09 At1g03160 -0.13 0.05 At1g06020 -0.11 0.08 At1g12240 -0.29 0.08 At1g22650 -0.22 0.07 At1g23190 -0.25 0.09 At1g35580 -0.23 0.07 At1g47840 -0.12 0.09 At1g50390 -0.18 0.06 At1g50460 0.01 0.09 At1g55120 -0.42 0.07 At1g56560 -0.28 0.05 At1g62660 -0.31 0.07 At1g66430 -0.11 0.07 At1g69200 -0.58 0.06 At1g70730 -0.21 0.09 At1g70820 -0.21 0.09 At1g73370 -0.39 0.07 At2g31390 -0.06 0.09 At2g36190 -0.42 0.07 At3g03250 -0.15 0.06 At3g05820 -0.36 0.05 At3g06500 -0.27 0.08 At3g13784 -0.43 0.07 At3g13790 -0.48 0.07 At3g20040 0.04 0.08 At3g43190 -0.30 0.06 At3g52600 -0.52 0.08 At3g54090 -0.50 0.06 At3g59480 0.05 0.09 At4g02280 -0.27 0.07 At4g09510 -0.25 0.06 At4g10260 -0.04 0.09 At4g24620 -0.17 0.08 At4g29130 0.05 0.09 At4g34860 -0.26 0.06 At4g37840 -0.10 0.08 At5g17530 -0.17 0.08 At5g20830 -0.33 0.06 At5g22510 -0.19 0.06 At5g37180 -0.33 0.07 At5g42740 -0.11 0.07 At5g49190 -0.23 0.06 At5g51820 -0.17 0.09 At5g51830 0.00 0.09 At1g19920 -0.41 0.07 At1g55920 -0.11 0.09 At1g62180 -0.40 0.07 At2g17640 -0.04 0.11 At2g43750 0.02 0.09 At3g01120 0.11 0.07 At3g03630 -0.02 0.08 At3g04940 0.03 0.10 At3g13110 -0.22 0.07 At3g22460 0.05 0.12 At3g22890 -0.35 0.08 At3g57050 -0.11 0.06 At3g59760 -0.08 0.09 At3g61440 -0.11 0.08 At4g04610 -0.34 0.07 At4g14680 -0.34 0.07 At4g14880 0.09 0.11 At4g21990 -0.33 0.07 At5g04590 -0.38 0.08 At5g20980 -0.17 0.05 At5g28020 0.10 0.11 At5g28030 0.06 0.11 At5g43780 -0.34 0.08 At5g56760 0.04 0.09 At3g01910 -0.32 0.08 At1g64190 -0.26 0.10 At1g71100 0.15 0.10 At2g01290 0.06 0.10 At2g16790 -0.14 0.06 At3g02360 -0.29 0.10 At3g04790 0.10 0.10 At5g41670 -0.27 0.10 At5g44520 0.02 0.08 At1g65930 -0.33 0.08 At2g18450 -0.31 0.10 At2g20420 -0.06 0.09 At2g42790 -0.21 0.07 At2g44350 -0.22 0.07 At2g47510 -0.17 0.08 At3g27380 -0.44 0.06 At3g58740 -0.24 0.08 At3g58750 -0.17 0.07 At3g60100 -0.15 0.08 At4g00570 -0.09 0.09 At4g26970 -0.25 0.08 At4g35830 -0.16 0.09 At5g09600 -0.06 0.07 At5g14590 -0.23 0.07 At5g23250 0.08 0.13 At5g40650 -0.45 0.08 At5g50950 -0.27 0.07 At5g55070 -0.28 0.07 At5g65750 -0.48 0.07 At5g66760 -0.36 0.10 At1g22940 0.03 0.08 At4g35460 -0.02 0.11 At1g72810 -0.20 0.06 At4g29840 -0.15 0.07 At1g11840 -0.33 0.10 At3g10850 -0.46 0.07 At1g06410 -0.27 0.07 At1g16980 -0.27 0.07 At1g22210 -0.39 0.06 At1g23870 -0.24 0.06 At1g35910 -0.48 0.07 At1g60140 -0.23 0.07 At1g68020 -0.21 0.07 At1g70290 -0.31 0.06 At1g78580 -0.44 0.06 At2g18700 -0.36 0.06 At2g22190 -0.44 0.06 At4g12430 -0.44 0.05 At4g17770 -0.23 0.06 At4g22590 -0.44 0.05 At4g27550 -0.20 0.07 At5g10100 -0.44 0.05 At5g51460 -0.33 0.05 At5g65140 -0.41 0.06 At4g24040 -0.36 0.05 At1g15080 0.39 0.08 At1g51260 0.29 0.04 At1g75020 0.24 0.05 At2g01180 0.10 0.08 At2g19450 0.24 0.07 At3g18850 0.15 0.04 At1g06250 -0.42 0.06 At1g06800 -0.54 0.07 At1g09390 0.05 0.10 At1g10740 -0.26 0.09 At1g18460 -0.23 0.07 At1g27690 -0.42 0.09 At1g28640 -0.06 0.08 At1g28670 -0.08 0.09 At1g30370 -0.47 0.06 At1g53940 -0.22 0.09 At1g53990 -0.29 0.08 At1g73920 -0.29 0.06 At2g27360 -0.12 0.08 At2g30550 -0.43 0.06 At2g31100 -0.50 0.06 At2g31690 -0.34 0.05 At2g42690 -0.33 0.08 At3g44520 -0.35 0.10 At3g48460 -0.13 0.07 At3g55190 -0.28 0.07 At4g16820 -0.53 0.06 At4g18550 -0.47 0.08 At5g03980 -0.16 0.08 At5g14180 0.00 0.09 At5g18630 -0.16 0.06 At5g18640 -0.01 0.06 At1g11870 -0.30 0.06 At1g14610 -0.43 0.06 At1g17960 -0.41 0.06 At1g27160 -0.08 0.02 At1g29870 -0.40 0.06 At1g29880 -0.32 0.05 At1g50200 -0.33 0.08 At1g66530 -0.23 0.07 At1g68420 -0.20 0.02 At1g70980 -0.24 0.07 At2g31170 -0.41 0.06 At2g33840 -0.42 0.05 At2g40660 -0.38 0.06 At3g02660 -0.14 0.08 At3g02760 -0.38 0.07 At3g04600 -0.38 0.06 At3g07420 -0.31 0.06 At3g11710 -0.55 0.06 At3g13490 -0.41 0.06 At3g44740 -0.10 0.05 At3g46100 -0.14 0.08 At3g48110 -0.17 0.06 At3g55400 -0.31 0.06 At3g56300 -0.39 0.07 At4g04350 -0.49 0.06 At4g10320 -0.31 0.06 At4g13780 -0.42 0.06 At4g17300 -0.28 0.07 At4g26300 -0.25 0.06 At4g26870 -0.39 0.06 At4g31180 -0.37 0.06 At4g33760 -0.20 0.06 At4g39280 -0.54 0.07 At5g16710 -0.27 0.06 At5g19720 -0.65 0.05 At5g26710 -0.40 0.06 At5g26830 -0.42 0.06 At5g27470 -0.54 0.06 At5g38750 -0.32 0.05 At5g38830 -0.44 0.06 At5g49030 -0.36 0.07 At5g52520 -0.35 0.06 At5g64050 -0.26 0.08 At1g29410 -0.32 0.07 At1g51110 -0.22 0.06 At1g51570 -0.23 0.06 At2g04400 -0.21 0.07 At2g29690 -0.33 0.05 At3g54640 0.07 0.08 At3g55870 -0.30 0.05 At3g57880 -0.27 0.05 At3g61720 -0.08 0.04 At4g02610 0.01 0.07 At4g27070 -0.25 0.09 At5g05730 -0.31 0.06 At5g06850 -0.20 0.05 At5g12970 -0.18 0.05 At5g17990 0.17 0.09 At5g38530 -0.25 0.08 At5g48220 -0.24 0.08 At5g54810 -0.22 0.10 At5g48230 0.18 0.13 At1g06570 -0.28 0.09 At1g12050 -0.23 0.09 At2g20610 -0.15 0.06 At2g24850 -0.10 0.07 At2g47510 -0.17 0.08 At4g00570 -0.09 0.09 At4g23590 -0.14 0.06 At4g23600 -0.15 0.05 At4g28420 -0.08 0.06 At5g36160 0.12 0.06 At5g50950 -0.27 0.07 At5g53970 0.07 0.07 At5g54080 -0.23 0.08 At1g15690 0.61 0.11 At1g30620 -0.28 0.08 At1g64440 -0.22 0.10 At2g18230 -0.34 0.05 At2g34850 -0.46 0.08 At2g46860 -0.41 0.03 At3g03250 -0.15 0.06 At3g53620 -0.26 0.04 At4g10960 -0.20 0.09 At4g20460 -0.16 0.08 At4g23920 -0.28 0.09 At5g09650 -0.40 0.07 At5g44480 -0.25 0.08 At1g31070 -0.42 0.08 At2g35020 -0.19 0.07 At5g18070 -0.16 0.09 At1g16350 -0.12 0.10 At1g79470 -0.10 0.11 At2g26230 -0.29 0.06 At4g34890 -0.10 0.08 At4g34900 -0.09 0.08 At1g67550 -0.10 0.10 At2g31810 -0.07 0.06 At3g23940 -0.10 0.11 At3g48560 -0.13 0.08 At3g58610 -0.07 0.09 At5g16290 -0.15 0.06 At1g21400 -0.45 0.06 At3g25530 0.07 0.10 At3g60510 -0.17 0.08 At4g16210 -0.06 0.08 At4g16800 0.07 0.09 At4g20930 -0.13 0.09 At4g31810 -0.19 0.07 At5g43280 0.06 0.07 At1g06570 -0.28 0.09 At1g64970 -0.18 0.07 At2g18950 0.55 0.05 At3g63410 -0.29 0.08 At4g32770 -0.43 0.09 At1g08550 -0.34 0.06 At5g67030 -0.30 0.09 At2g21370 -0.25 0.09 At5g49650 -0.22 0.08 At5g57655 -0.40 0.09 At1g43670 -0.15 0.09 At1g48430 0.09 0.10 At2g01140 -0.26 0.08 At2g21330 -0.13 0.08 At2g36460 -0.15 0.09 At2g45290 -0.25 0.09 At3g17770 0.09 0.10 At3g52930 -0.22 0.09 At3g54050 -0.22 0.09 At4g10750 -0.20 0.09 At4g26520 -0.08 0.08 At4g26530 -0.11 0.09 At4g38970 -0.18 0.08 At5g03690 -0.19 0.09 At5g64380 -0.24 0.09seqinr/inst/sequences/seqAA.fasta0000644000176000001440000000034107756114221016570 0ustar ripleyusers>A06852 183 residues MPRLFSYLLGVWLLLSQLPREIPGQSTNDFIKACGRELVRLWVEICGSVSWGRTALSLEE PQLETGPPAETMPSSITKDAEILKMMLEFVPNLPQELKATLSERQPSLRELQQSASKDSN LNFEEFKKIILNRQNEAEDKSLLELKNLGLDKHSRKKRLFRMTLSEKCCQVGCIRKDIAR LC* seqinr/inst/sequences/humanMito.fasta0000644000176000001440000004125110743615650017546 0ustar ripleyusers>gi|17981852|ref|NC_001807.4| Homo sapiens mitochondrion, complete genome ; ; This file was send by Stefanie Hartmann on Wed, 16 Jan 2008 09:54:03 +0100 ; in order to reproduce a behaviour of the count() function. ; GATCACAGGTCTATCACCCTATTAACCACTCACGGGAGCTCTCCATGCATTTGGTATTTT CGTCTGGGGGGTGTGCACGCGATAGCATTGCGAGACGCTGGAGCCGGAGCACCCTATGTC GCAGTATCTGTCTTTGATTCCTGCCTCATTCTATTATTTATCGCACCTACGTTCAATATT ACAGGCGAACATACCTACTAAAGTGTGTTAATTAATTAATGCTTGTAGGACATAATAATA ACAATTGAATGTCTGCACAGCCGCTTTCCACACAGACATCATAACAAAAAATTTCCACCA AACCCCCCCCTCCCCCCGCTTCTGGCCACAGCACTTAAACACATCTCTGCCAAACCCCAA AAACAAAGAACCCTAACACCAGCCTAACCAGATTTCAAATTTTATCTTTAGGCGGTATGC ACTTTTAACAGTCACCCCCCAACTAACACATTATTTTCCCCTCCCACTCCCATACTACTA ATCTCATCAATACAACCCCCGCCCATCCTACCCAGCACACACACACCGCTGCTAACCCCA TACCCCGAACCAACCAAACCCCAAAGACACCCCCCACAGTTTATGTAGCTTACCTCCTCA AAGCAATACACTGAAAATGTTTAGACGGGCTCACATCACCCCATAAACAAATAGGTTTGG TCCTAGCCTTTCTATTAGCTCTTAGTAAGATTACACATGCAAGCATCCCCGTTCCAGTGA GTTCACCCTCTAAATCACCACGATCAAAAGGGACAAGCATCAAGCACGCAGCAATGCAGC TCAAAACGCTTAGCCTAGCCACACCCCCACGGGAAACAGCAGTGATTAACCTTTAGCAAT AAACGAAAGTTTAACTAAGCTATACTAACCCCAGGGTTGGTCAATTTCGTGCCAGCCACC GCGGTCACACGATTAACCCAAGTCAATAGAAGCCGGCGTAAAGAGTGTTTTAGATCACCC CCTCCCCAATAAAGCTAAAACTCACCTGAGTTGTAAAAAACTCCAGTTGACACAAAATAG ACTACGAAAGTGGCTTTAACATATCTGAACACACAATAGCTAAGACCCAAACTGGGATTA GATACCCCACTATGCTTAGCCCTAAACCTCAACAGTTAAATCAACAAAACTGCTCGCCAG AACACTACGAGCCACAGCTTAAAACTCAAAGGACCTGGCGGTGCTTCATATCCCTCTAGA GGAGCCTGTTCTGTAATCGATAAACCCCGATCAACCTCACCACCTCTTGCTCAGCCTATA TACCGCCATCTTCAGCAAACCCTGATGAAGGCTACAAAGTAAGCGCAAGTACCCACGTAA AGACGTTAGGTCAAGGTGTAGCCCATGAGGTGGCAAGAAATGGGCTACATTTTCTACCCC AGAAAACTACGATAGCCCTTATGAAACTTAAGGGTCGAAGGTGGATTTAGCAGTAAACTG AGAGTAGAGTGCTTAGTTGAACAGGGCCCTGAAGCGCGTACACACCGCCCGTCACCCTCC TCAAGTATACTTCAAAGGACATTTAACTAAAACCCCTACGCATTTATATAGAGGAGACAA GTCGTAACATGGTAAGTGTACTGGAAAGTGCACTTGGACGAACCAGAGTGTAGCTTAACA CAAAGCACCCAACTTACACTTAGGAGATTTCAACTTAACTTGACCGCTCTGAGCTAAACC TAGCCCCAAACCCACTCCACCTTACTACCAGACAACCTTAGCCAAACCATTTACCCAAAT AAAGTATAGGCGATAGAAATTGAAACCTGGCGCAATAGATATAGTACCGCAAGGGAAAGA TGAAAAATTATAACCAAGCATAATATAGCAAGGACTAACCCCTATACCTTCTGCATAATG AATTAACTAGAAATAACTTTGCAAGGAGAGCCAAAGCTAAGACCCCCGAAACCAGACGAG CTACCTAAGAACAGCTAAAAGAGCACACCCGTCTATGTAGCAAAATAGTGGGAAGATTTA TAGGTAGAGGCGACAAACCTACCGAGCCTGGTGATAGCTGGTTGTCCAAGATAGAATCTT AGTTCAACTTTAAATTTGCCCACAGAACCCTCTAAATCCCCTTGTAAATTTAACTGTTAG TCCAAAGAGGAACAGCTCTTTGGACACTAGGAAAAAACCTTGTAGAGAGAGTAAAAAATT TAACACCCATAGTAGGCCTAAAAGCAGCCACCAATTAAGAAAGCGTTCAAGCTCAACACC CACTACCTAAAAAATCCCAAACATATAACTGAACTCCTCACACCCAATTGGACCAATCTA TCACCCTATAGAAGAACTAATGTTAGTATAAGTAACATGAAAACATTCTCCTCCGCATAA GCCTGCGTCAGATCAAAACACTGAACTGACAATTAACAGCCCAATATCTACAATCAACCA ACAAGTCATTATTACCCTCACTGTCAACCCAACACAGGCATGCTCATAAGGAAAGGTTAA AAAAAGTAAAAGGAACTCGGCAAACCTTACCCCGCCTGTTTACCAAAAACATCACCTCTA GCATCACCAGTATTAGAGGCACCGCCTGCCCAGTGACACATGTTTAACGGCCGCGGTACC CTAACCGTGCAAAGGTAGCATAATCACTTGTTCCTTAAATAGGGACCTGTATGAATGGCT CCACGAGGGTTCAGCTGTCTCTTACTTTTAACCAGTGAAATTGACCTGCCCGTGAAGAGG CGGGCATGACACAGCAAGACGAGAAGACCCTATGGAGCTTTAATTTATTAATGCAAACAG TACCTAACAAACCCACAGGTCCTAAACTACCAAACCTGCATTAAAAATTTCGGTTGGGGC GACCTCGGAGCAGAACCCAACCTCCGAGCAGTACATGCTAAGACTTCACCAGTCAAAGCG AACTACTATACTCAATTGATCCAATAACTTGACCAACGGAACAAGTTACCCTAGGGATAA CAGCGCAATCCTATTCTAGAGTCCATATCAACAATAGGGTTTACGACCTCGATGTTGGAT CAGGACATCCCGATGGTGCAGCCGCTATTAAAGGTTCGTTTGTTCAACGATTAAAGTCCT ACGTGATCTGAGTTCAGACCGGAGTAATCCAGGTCGGTTTCTATCTACTTCAAATTCCTC CCTGTACGAAAGGACAAGAGAAATAAGGCCTACTTCACAAAGCGCCTTCCCCCGTAAATG ATATCATCTCAACTTAGTATTATACCCACACCCACCCAAGAACAGGGTTTGTTAAGATGG CAGAGCCCGGTAATCGCATAAAACTTAAAACTTTACAGTCAGAGGTTCAATTCCTCTTCT TAACAACATACCCATGGCCAACCTCCTACTCCTCATTGTACCCATTCTAATCGCAATGGC ATTCCTAATGCTTACCGAACGAAAAATTCTAGGCTATATACAACTACGCAAAGGCCCCAA CGTTGTAGGCCCCTACGGGCTACTACAACCCTTCGCTGACGCCATAAAACTCTTCACCAA AGAGCCCCTAAAACCCGCCACATCTACCATCACCCTCTACATCACCGCCCCGACCTTAGC TCTCACCATCGCTCTTCTACTATGAACCCCCCTCCCCATACCCAACCCCCTGGTCAACCT CAACCTAGGCCTCCTATTTATTCTAGCCACCTCTAGCCTAGCCGTTTACTCAATCCTCTG ATCAGGGTGAGCATCAAACTCAAACTACGCCCTGATCGGCGCACTGCGAGCAGTAGCCCA AACAATCTCATATGAAGTCACCCTAGCCATCATTCTACTATCAACATTACTAATAAGTGG CTCCTTTAACCTCTCCACCCTTATCACAACACAAGAACACCTCTGATTACTCCTGCCATC ATGACCCTTGGCCATAATATGATTTATCTCCACACTAGCAGAGACCAACCGAACCCCCTT CGACCTTGCCGAAGGGGAGTCCGAACTAGTCTCAGGCTTCAACATCGAATACGCCGCAGG CCCCTTCGCCCTATTCTTCATAGCCGAATACACAAACATTATTATAATAAACACCCTCAC CACTACAATCTTCCTAGGAACAACATATGACGCACTCTCCCCTGAACTCTACACAACATA TTTTGTCACCAAGACCCTACTTCTAACCTCCCTGTTCTTATGAATTCGAACAGCATACCC CCGATTCCGCTACGACCAACTCATACACCTCCTATGAAAAAACTTCCTACCACTCACCCT AGCATTACTTATATGATATGTCTCCATACCCATTACAATCTCCAGCATTCCCCCTCAAAC CTAAGAAATATGTCTGATAAAAGAGTTACTTTGATAGAGTAAATAATAGGAGCTTAAACC CCCTTATTTCTAGGACTATGAGAATCGAACCCATCCCTGAGAATCCAAAATTCTCCGTGC CACCTATCACACCCCATCCTAAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCC GAAAATGTTGGTTATACCCTTCCCGTACTAATTAATCCCCTGGCCCAACCCGTCATCTAC TCTACCATCTTTGCAGGCACACTCATCACAGCGCTAAGCTCGCACTGATTTTTTACCTGA GTAGGCCTAGAAATAAACATGCTAGCTTTTATTCCAGTTCTAACCAAAAAAATAAACCCT CGTTCCACAGAAGCTGCCATCAAGTATTTCCTCACGCAAGCAACCGCATCCATAATCCTT CTAATAGCTATCCTCTTCAACAATATACTCTCCGGACAATGAACCATAACCAATACTACC AATCAATACTCATCATTAATAATCATAATGGCTATAGCAATAAAACTAGGAATAGCCCCC TTTCACTTCTGAGTCCCAGAGGTTACCCAAGGCACCCCTCTGACATCCGGCCTGCTTCTT CTCACATGACAAAAACTAGCCCCCATCTCAATCATATACCAAATCTCTCCCTCACTAAAC GTAAGCCTTCTCCTCACTCTCTCAATCTTATCCATCATAGCAGGCAGTTGAGGTGGATTA AACCAAACCCAGCTACGCAAAATCTTAGCATACTCCTCAATTACCCACATAGGATGAATA ATAGCAGTTCTACCGTACAACCCTAACATAACCATTCTTAATTTAACTATTTATATTATC CTAACTACTACCGCATTCCTACTACTCAACTTAAACTCCAGCACCACGACCCTACTACTA TCTCGCACCTGAAACAAGCTAACATGACTAACACCCTTAATTCCATCCACCCTCCTCTCC CTAGGAGGCCTGCCCCCGCTAACCGGCTTTTTGCCCAAATGGGCCATTATCGAAGAATTC ACAAAAAACAATAGCCTCATCATCCCCACCATCATAGCCACCATCACCCTCCTTAACCTC TACTTCTACCTACGCCTAATCTACTCCACCTCAATCACACTACTCCCCATATCTAACAAC GTAAAAATAAAATGACAGTTTGAACATACAAAACCCACCCCATTCCTCCCCACACTCATC GCCCTTACCACGCTACTCCTACCTATCTCCCCTTTTATACTAATAATCTTATAGAAATTT AGGTTAAATACAGACCAAGAGCCTTCAAAGCCCTCAGTAAGTTGCAATACTTAATTTCTG CAACAGCTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTA ATTAAGCTAAGCCCTTACTAGACCAATGGGACTTAAACCCACAAACACTTAGTTAACAGC TAAGCACCCTAATCAACTGGCTTCAATCTACTTCTCCCGCCGCCGGGAAAAAAGGCGGGA GAAGCCCCGGCAGGTTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAATCACCT CGGAGCTGGTAAAAAGAGGCCTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCACTC AGCCATTTTACCTCACCCCCACTGATGTTCGCCGACCGTTGACTATTCTCTACAAACCAC AAAGACATTGGAACACTATACCTATTATTCGGCGCATGAGCTGGAGTCCTAGGCACAGCT CTAAGCCTCCTTATTCGAGCCGAGCTGGGCCAGCCAGGCAACCTTCTAGGTAACGACCAC ATCTACAACGTTATCGTCACAGCCCATGCATTTGTAATAATCTTCTTCATAGTAATACCC ATCATAATCGGAGGCTTTGGCAACTGACTAGTTCCCCTAATAATCGGTGCCCCCGATATG GCGTTTCCCCGCATAAACAACATAAGCTTCTGACTCTTACCTCCCTCTCTCCTACTCCTG CTCGCATCTGCTATAGTGGAGGCCGGAGCAGGAACAGGTTGAACAGTCTACCCTCCCTTA GCAGGGAACTACTCCCACCCTGGAGCCTCCGTAGACCTAACCATCTTCTCCTTACACCTA GCAGGTGTCTCCTCTATCTTAGGGGCCATCAATTTCATCACAACAATTATCAATATAAAA CCCCCTGCCATAACCCAATACCAAACGCCCCTCTTCGTCTGATCCGTCCTAATCACAGCA GTCCTACTTCTCCTATCTCTCCCAGTCCTAGCTGCTGGCATCACTATACTACTAACAGAC CGCAACCTCAACACCACCTTCTTCGACCCCGCCGGAGGAGGAGACCCCATTCTATACCAA CACCTATTCTGATTTTTCGGTCACCCTGAAGTTTATATTCTTATCCTACCAGGCTTCGGA ATAATCTCCCATATTGTAACTTACTACTCCGGAAAAAAAGAACCATTTGGATACATAGGT ATGGTCTGAGCTATGATATCAATTGGCTTCCTAGGGTTTATCGTGTGAGCACACCATATA TTTACAGTAGGAATAGACGTAGACACACGAGCATATTTCACCTCCGCTACCATAATCATC GCTATCCCCACCGGCGTCAAAGTATTTAGCTGACTCGCCACACTCCACGGAAGCAATATG AAATGATCTGCTGCAGTGCTCTGAGCCCTAGGATTCATCTTTCTTTTCACCGTAGGTGGC CTGACTGGCATTGTATTAGCAAACTCATCACTAGACATCGTACTACACGACACGTACTAC GTTGTAGCTCACTTCCACTATGTCCTATCAATAGGAGCTGTATTTGCCATCATAGGAGGC TTCATTCACTGATTTCCCCTATTCTCAGGCTACACCCTAGACCAAACCTACGCCAAAATC CATTTCACTATCATATTCATCGGCGTAAATCTAACTTTCTTCCCACAACACTTTCTCGGC CTATCCGGAATGCCCCGACGTTACTCGGACTACCCCGATGCATACACCACATGAAACATC CTATCATCTGTAGGCTCATTCATTTCTCTAACAGCAGTAATATTAATAATTTTCATGATT TGAGAAGCCTTCGCTTCGAAGCGAAAAGTCCTAATAGTAGAAGAACCCTCCATAAACCTG GAGTGACTATATGGATGCCCCCCACCCTACCACACATTCGAAGAACCCGTATACATAAAA TCTAGACAAAAAAGGAAGGAATCGAACCCCCCAAAGCTGGTTTCAAGCCAACCCCATGGC CTCCATGACTTTTTCAAAAAGGTATTAGAAAAACCATTTCATAACTTTGTCAAAGTTAAA TTATAGGCTAAATCCTATATATCTTAATGGCACATGCAGCGCAAGTAGGTCTACAAGACG CTACTTCCCCTATCATAGAAGAGCTTATCACCTTTCATGATCACGCCCTCATAATCATTT TCCTTATCTGCTTCCTAGTCCTGTATGCCCTTTTCCTAACACTCACAACAAAACTAACTA ATACTAACATCTCAGACGCTCAGGAAATAGAAACCGTCTGAACTATCCTGCCCGCCATCA TCCTAGTCCTCATCGCCCTCCCATCCCTACGCATCCTTTACATAACAGACGAGGTCAACG ATCCCTCCCTTACCATCAAATCAATTGGCCACCAATGGTACTGAACCTACGAGTACACCG ACTACGGCGGACTAATCTTCAACTCCTACATACTTCCCCCATTATTCCTAGAACCAGGCG ACCTGCGACTCCTTGACGTTGACAATCGAGTAGTACTCCCGATTGAAGCCCCCATTCGTA TAATAATTACATCACAAGACGTCTTGCACTCATGAGCTGTCCCCACATTAGGCTTAAAAA CAGATGCAATTCCCGGACGTCTAAACCAAACCACTTTCACCGCTACACGACCGGGGGTAT ACTACGGTCAATGCTCTGAAATCTGTGGAGCAAACCACAGTTTCATGCCCATCGTCCTAG AATTAATTCCCCTAAAAATCTTTGAAATAGGGCCCGTATTTACCCTATAGCACCCCCTCT ACCCCCTCTAGAGCCCACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAA GAGAACCAACACCTCTTTACAGTGAAATGCCCCAACTAAATACTACCGTATGGCCCACCA TAATTACCCCCATACTCCTTACACTATTCCTCATCACCCAACTAAAAATATTAAACACAA ACTACCACCTACCTCCCTCACCAAAGCCCATAAAAATAAAAAATTATAACAAACCCTGAG AACCAAAATGAACGAAAATCTGTTCGCTTCATTCATTGCCCCCACAATCCTAGGCCTACC CGCCGCAGTACTGATCATTCTATTTCCCCCTCTATTGATCCCCACCTCCAAATATCTCAT CAACAACCGACTAATCACCACCCAACAATGACTAATCAAACTAACCTCAAAACAAATGAT AGCCATACACAACACTAAAGGACGAACCTGATCTCTTATACTAGTATCCTTAATCATTTT TATTGCCACAACTAACCTCCTCGGACTCCTGCCTCACTCATTTACACCAACCACCCAACT ATCTATAAACCTAGCCATGGCCATCCCCTTATGAGCGGGCGCAGTGATTATAGGCTTTCG CTCTAAGATTAAAAATGCCCTAGCCCACTTCTTACCACAAGGCACACCTACACCCCTTAT CCCCATACTAGTTATTATCGAAACCATCAGCCTACTCATTCAACCAATAGCCCTGGCCGT ACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCAC CCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCT ACTGACTATCCTAGAAATCGCTGTCGCCTTAATCCAAGCCTACGTTTTCACACTTCTAGT AAGCCTCTACCTGCACGACAACACATAATGACCCACCAATCACATGCCTATCATATAGTA AAACCCAGCCCATGACCCCTAACAGGGGCCCTCTCAGCCCTCCTAATGACCTCCGGCCTA GCCATGTGATTTCACTTCCACTCCATAACGCTCCTCATACTAGGCCTACTAACCAACACA CTAACCATATACCAATGGTGGCGCGATGTAACACGAGAAAGCACATACCAAGGCCACCAC ACACCACCTGTCCAAAAAGGCCTTCGATACGGGATAATCCTATTTATTACCTCAGAAGTT TTTTTCTTCGCAGGATTTTTCTGAGCCTTTTACCACTCCAGCCTAGCCCCTACCCCCCAA CTAGGAGGGCACTGGCCCCCAACAGGCATCACCCCGCTAAATCCCCTAGAAGTCCCACTC CTAAACACATCCGTATTACTCGCATCAGGAGTATCAATCACCTGAGCTCACCATAGTCTA ATAGAAAACAACCGAAACCAAATAATTCAAGCACTGCTTATTACAATTTTACTGGGTCTC TATTTTACCCTCCTACAAGCCTCAGAGTACTTCGAGTCTCCCTTCACCATTTCCGACGGC ATCTACGGCTCAACATTTTTTGTAGCCACAGGCTTCCACGGACTTCACGTCATTATTGGC TCAACTTTCCTCACTATCTGCTTCATCCGCCAACTAATATTTCACTTTACATCCAAACAT CACTTTGGCTTCGAAGCCGCCGCCTGATACTGGCATTTTGTAGATGTGGTTTGACTATTT CTGTATGTCTCCATCTATTGATGAGGGTCTTACTCTTTTAGTATAAATAGTACCGTTAAC TTCCAATTAACTAGTTTTGACAACATTCAAAAAAGAGTAATAAACTTCGCCTTAATTTTA ATAATCAACACCCTCCTAGCCTTACTACTAATAATTATTACATTTTGACTACCACAACTC AACGGCTACATAGAAAAATCCACCCCTTACGAGTGCGGCTTCGACCCTATATCCCCCGCC CGCGTCCCTTTCTCCATAAAATTCTTCTTAGTAGCTATTACCTTCTTATTATTTGATCTA GAAATTGCCCTCCTTTTACCCCTACCATGAGCCCTACAAACAACTAACCTGCCACTAATA GTTATGTCATCCCTCTTATTAATCATCATCCTAGCCCTAAGTCTGGCCTATGAGTGACTA CAAAAAGGATTAGACTGAGCCGAATTGGTATATAGTTTAAACAAAACGAATGATTTCGAC TCATTAAATTATGATAATCATATTTACCAAATGCCCCTCATTTACATAAATATTATACTA GCATTTACCATCTCACTTCTAGGAATACTAGTATATCGCTCACACCTCATATCCTCCCTA CTATGCCTAGAAGGAATAATACTATCGCTGTTCATTATAGCTACTCTCATAACCCTCAAC ACCCACTCCCTCTTAGCCAATATTGTGCCTATTGCCATACTAGTCTTTGCCGCCTGCGAA GCAGCGGTGGGCCTAGCCCTACTAGTCTCAATCTCCAACACATATGGCCTAGACTACGTA CATAACCTAAACCTACTCCAATGCTAAAACTAATCGTCCCAACAATTATATTACTACCAC TGACATGACTTTCCAAAAAGCACATAATTTGAATCAACACAACCACCCACAGCCTAATTA TTAGCATCATCCCCCTACTATTTTTTAACCAAATCAACAACAACCTATTTAGCTGTTCCC CAACCTTTTCCTCCGACCCCCTAACAACCCCCCTCCTAATACTAACTACCTGACTCCTAC CCCTCACAATCATGGCAAGCCAACGCCACTTATCCAGCGAACCACTATCACGAAAAAAAC TCTACCTCTCTATACTAATCTCCCTACAAATCTCCTTAATTATAACATTCACAGCCACAG AACTAATCATATTTTATATCTTCTTCGAAACCACACTTATCCCCACCTTGGCTATCATCA CCCGATGAGGCAACCAGCCAGAACGCCTGAACGCAGGCACATACTTCCTATTCTACACCC TAGTAGGCTCCCTTCCCCTACTCATCGCACTAATTTACACTCACAACACCCTAGGCTCAC TAAACATTCTACTACTCACTCTCACTGCCCAAGAACTATCAAACTCCTGAGCCAACAACT TAATATGACTAGCTTACACAATAGCTTTTATAGTAAAGATACCTCTTTACGGACTCCACT TATGACTCCCTAAAGCCCATGTCGAAGCCCCCATCGCTGGGTCAATAGTACTTGCCGCAG TACTCTTAAAACTAGGCGGCTATGGTATAATACGCCTCACACTCATTCTCAACCCCCTGA CAAAACACATAGCCTACCCCTTCCTTGTACTATCCCTATGAGGCATAATTATAACAAGCT CCATCTGCCTACGACAAACAGACCTAAAATCGCTCATTGCATACTCTTCAATCAGCCACA TAGCCCTCGTAGTAACAGCCATTCTCATCCAAACCCCCTGAAGCTTCACCGGCGCAGTCA TTCTCATAATCGCCCACGGACTCACATCCTCATTACTATTCTGCCTAGCAAACTCAAACT ACGAACGCACTCACAGTCGCATCATAATCCTCTCTCAAGGACTTCAAACTCTACTCCCAC TAATAGCTTTTTGATGACTTCTAGCAAGCCTCGCTAACCTCGCCTTACCCCCCACTATTA ACCTACTGGGAGAACTCTCTGTGCTAGTAACCACGTTCTCCTGATCAAATATCACTCTCC TACTTACAGGACTCAACATACTAGTCACAGCCCTATACTCCCTCTACATATTTACCACAA CACAATGGGGCTCACTCACCCACCACATTAACAACATAAAACCCTCATTCACACGAGAAA ACACCCTCATGTTCATACACCTATCCCCCATTCTCCTCCTATCCCTCAACCCCGACATCA TTACCGGGTTTTCCTCTTGTAAATATAGTTTAACCAAAACATCAGATTGTGAATCTGACA ACAGAGGCTTACGACCCCTTATTTACCGAGAAAGCTCACAAGAACTGCTAACTCATGCCC CCATGTCTAACAACATGGCTTTCTCAACTTTTAAAGGATAACAGCTATCCATTGGTCTTA GGCCCCAAAAATTTTGGTGCAACTCCAAATAAAAGTAATAACCATGCACACTACTATAAC CACCCTAACCCTGACTTCCCTAATTCCCCCCATCCTTACCACCCTCGTTAACCCTAACAA AAAAAACTCATACCCCCATTATGTAAAATCCATTGTCGCATCCACCTTTATTATCAGTCT CTTCCCCACAACAATATTCATGTGCCTAGACCAAGAAGTTATTATCTCGAACTGACACTG AGCCACAACCCAAACAACCCAGCTCTCCCTAAGCTTCAAACTAGACTACTTCTCCATAAT ATTCATCCCTGTAGCATTGTTCGTTACATGGTCCATCATAGAATTCTCACTGTGATATAT AAACTCAGACCCAAACATTAATCAGTTCTTCAAATATCTACTCATTTTCCTAATTACCAT ACTAATCTTAGTTACCGCTAACAACCTATTCCAACTGTTCATCGGCTGAGAGGGCGTAGG AATTATATCCTTCTTGCTCATCAGTTGATGATACGCCCGAGCAGATGCCAACACAGCAGC CATTCAAGCAGTCCTATACAACCGTATCGGCGATATCGGTTTCATCCTCGCCTTAGCATG ATTTATCCTACACTCCAACTCATGAGACCCACAACAAATAGCCCTTCTAAACGCTAATCC AAGCCTCACCCCACTACTAGGCCTCCTCCTAGCAGCAGCAGGCAAATCAGCCCAATTAGG TCTCCACCCCTGACTCCCCTCAGCCATAGAAGGCCCCACCCCAGTCTCAGCCCTACTCCA CTCAAGCACTATAGTTGTAGCAGGAATCTTCTTACTCATCCGCTTCCACCCCCTAGCAGA AAATAGCCCACTAATCCAAACTCTAACACTATGCTTAGGCGCTATCACCACTCTGTTCGC AGCAGTCTGCGCCCTTACACAAAATGACATCAAAAAAATCGTAGCCTTCTCCACTTCAAG TCAACTAGGACTCATAATAGTTACAATCGGCATCAACCAACCACACCTAGCATTCCTGCA CATCTGTACCCACGCCTTCTTCAAAGCCATACTATTTATGTGCTCCGGGTCCATCATCCA CAACCTTAACAATGAACAAGATATTCGAAAAATAGGAGGACTACTCAAAACCATACCTCT CACTTCAACCTCCCTCACCATTGGCAGCCTAGCATTAGCAGGAATACCTTTCCTCACAGG TTTCTACTCCAAAGACCACATCATCGAAACCGCAAACATATCATACACAAACGCCTGAGC CCTATCTATTACTCTCATCGCTACCTCCCTGACAAGCGCCTATAGCACTCGAATAATTCT TCTCACCCTAACAGGTCAACCTCGCTTCCCCACCCTTACTAACATTAACGAAAATAACCC CACCCTACTAAACCCCATTAAACGCCTGGCAGCCGGAAGCCTATTCGCAGGATTTCTCAT TACTAACAACATTTCCCCCGCATCCCCCTTCCAAACAACAATCCCCCTCTACCTAAAACT CACAGCCCTCGCTGTCACTTTCCTAGGACTTCTAACAGCCCTAGACCTCAACTACCTAAC CAACAAACTTAAAATAAAATCCCCACTATGCACATTTTATTTCTCCAACATACTCGGATT CTACCCTAGCATCACACACCGCACAATCCCCTATCTAGGCCTTCTTACGAGCCAAAACCT GCCCCTACTCCTCCTAGACCTAACCTGACTAGAAAAGCTATTACCTAAAACAATTTCACA GCACCAAATCTCCACCTCCATCATCACCTCAACCCAAAAAGGCATAATTAAACTTTACTT CCTCTCTTTCTTCTTCCCACTCATCCTAACCCTACTCCTAATCACATAACCTATTCCCCC GAGCAATCTCAATTACAATATATACACCAACAAACAATGTTCAACCAGTAACCACTACTA ATCAACGCCCATAATCATACAAAGCCCCCGCACCAATAGGATCCTCCCGAATCAACCCTG ACCCCTCTCCTTCATAAATTATTCAGCTTCCTACACTATTAAAGTTTACCACAACCACCA CCCCATCATACTCTTTCACCCACAGCACCAATCCTACCTCCATCGCTAACCCCACTAAAA CACTCACCAAGACCTCAACCCCTGACCCCCATGCCTCAGGATACTCCTCAATAGCCATCG CTGTAGTATATCCAAAGACAACCATCATTCCCCCTAAATAAATTAAAAAAACTATTAAAC CCATATAACCTCCCCCAAAATTCAGAATAATAACACACCCGACCACACCGCTAACAATCA GTACTAAACCCCCATAAATAGGAGAAGGCTTAGAAGAAAACCCCACAAACCCCATTACTA AACCCACACTCAACAGAAACAAAGCATACATCATTATTCTCGCACGGACTACAACCACGA CCAATGATATGAAAAACCATCGTTGTATTTCAACTACAAGAACACCAATGACCCCAATAC GCAAAATTAACCCCCTAATAAAATTAATTAACCACTCATTCATCGACCTCCCCACCCCAT CCAACATCTCCGCATGATGAAACTTCGGCTCACTCCTTGGCGCCTGCCTGATCCTCCAAA TCACCACAGGACTATTCCTAGCCATACACTACTCACCAGACGCCTCAACCGCCTTTTCAT CAATCGCCCACATCACTCGAGACGTAAATTATGGCTGAATCATCCGCTACCTTCACGCCA ATGGCGCCTCAATATTCTTTATCTGCCTCTTCCTACACATCGGGCGAGGCCTATATTACG GATCATTTCTCTACTCAGAAACCTGAAACATCGGCATTATCCTCCTGCTTGCAACTATAG CAACAGCCTTCATAGGCTATGTCCTCCCGTGAGGCCAAATATCATTCTGAGGGGCCACAG TAATTACAAACTTACTATCCGCCATCCCATACATTGGGACAGACCTAGTTCAATGAATCT GAGGAGGCTACTCAGTAGACAGTCCCACCCTCACACGATTCTTTACCTTTCACTTCATCT TACCCTTCATTATTGCAGCCCTAGCAGCACTCCACCTCCTATTCTTGCACGAAACGGGAT CAAACAACCCCCTAGGAATCACCTCCCATTCCGATAAAATCACCTTCCACCCTTACTACA CAATCAAAGACGCCCTCGGCTTACTTCTCTTCCTTCTCTCCTTAATGACATTAACACTAT TCTCACCAGACCTCCTAGGCGACCCAGACAATTATACCCTAGCCAACCCCTTAAACACCC CTCCCCACATCAAGCCCGAATGATATTTCCTATTCGCCTACACAATTCTCCGATCCGTCC CTAACAAACTAGGAGGCGTCCTTGCCCTATTACTATCCATCCTCATCCTAGCAATAATCC CCATCCTCCATATATCCAAACAACAAAGCATAATATTTCGCCCACTAAGCCAATCACTTT ATTGACTCCTAGCCGCAGACCTCCTCATTCTAACCTGAATCGGAGGACAACCAGTAAGCT ACCCTTTTACCATCATTGGACAAGTAGCATCCGTACTATACTTCACAACAATCCTAATCC TAATACCAACTATCTCCCTAATTGAAAACAAAATACTCAAATGGGCCTGTCCTTGTAGTA TAAACTAATACACCAGTCTTGTAAACCGGAGACGAAAACCTTTTTCCAAGGACAAATCAG AGAAAAAGTCTTTAACTCCACCATTAGCACCCAAAGCTAAGATTCTAATTTAAACTATTC TCTGTTCTTTCATGGGGAAGCAGATTTGGGTACCACCCAAGTATTGACTCACCCATCAAC AACCGCTATGTATTTCGTACATTACTGCCAGCCACCATGAATATTGTACGGTACCATAAA TACTTGACCACCTGTAGTACATAAAAACCCAACCCACATCAAACCCCCCCCCCCCATGCT TACAAGCAAGTACAGCAATCAACCTTCAACTATCACACATCAACTGCAACTCCAAAGCCA CCCCTCACCCACTAGGATACCAACAAACCTACCCACCCTTAACAGTACATAGTACATAAA GTCATTTACCGTACATAGCACATTACAGTCAAATCCCTTCTCGTCCCCATGGATGACCCC CCTCAGATAGGGGTCCCTTGACCACCATCCTCCGTGAAATCAATATCCCGCACAAGAGTG CTACTCTCCTCGCTCCGGGCCCATAACACTTGGGGGTAGCTAAAGTGAACTGTATCCGAC ATCTGGTTCCTACTTCAGGGCCATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAG ACATCACGATG seqinr/inst/sequences/ortho.fasta0000644000176000001440000000315410352757411016736 0ustar ripleyusers>AK002358.PE1 501 residues ATGGCTCAGCGGCTCCTCCTGGGGAGGTTCCTGACCTCAGTCATCTCCAGGAAGCCTCCT CAGGGTGTGTGGGCTTCCCTCACCTCTAAGACCCTGCAGACCCCTCAGTACAATGCTGGT GGTCTAACAGTAATGCCCAGCCCAGCCCGGACAGTACACACCACCAGAGTCTGTTTGACG ACCTTTAACGTCCAGGATGGACCTGACTTTCAAGACAGAGTTGTCAACAGTGAGACACCA GTTGTTGTGGACTTTCATGCACAGTGGTGTGGCCCCTGCAAGATCCTAGGACCGCGGCTA GAGAAGATGGTCGCCAAGCAGCACGGGAAGGTGGTCATGGCCAAAGTGGACATTGACGAT CACACAGACCTTGCCATTGAATATGAGGTGTCAGCTGTGCCTACCGTGCTAGCCATCAAG AACGGGGACGTGGTGGACAAGTTTGTGGGGATCAAGGACGAGGACCAGCTAGAAGCCTTC CTGAAGAAGCTGATTGGCTGA >HSU78678.PE1 501 residues ATGGCTCAGCGACTTCTTCTGAGGAGGTTCCTGGCCTCTGTCATCTCCAGGAAGCCCTCT CAGGGTCAGTGGCCACCCCTCACTTCCAAAGCCCTGCAGACCCCACAATGCAGTCCTGGT GGCCTGACTGTAACACCCAACCCAGCCCGGACAATATACACCACGAGGATCTCCTTGACA ACCTTTAATATCCAGGATGGACCTGACTTTCAAGACCGAGTGGTCAACAGTGAGACACCA GTGGTTGTGGATTTCCACGCACAGTGGTGTGGACCCTGCAAGATCCTGGGGCCGAGGTTA GAGAAGATGGTGGCCAAGCAGCACGGGAAGGTGGTGATGGCCAAGGTGGATATTGATGAC CACACAGACCTCGCCATTGAGTATGAGGTGTCAGCGGTGCCCACTGTGCTGGCCATGAAG AATGGGGACGTGGTGGACAAGTTTGTGGGCATCAAGGATGAGGATCAGTTGGAGGCCTTC CTGAAGAAGCTGATTGGCTGA >RNU73525.PE1 501 residues ATGGCTCAGCGGCTTCTCCTGAGGAGGTTCCTGACCTCAGTCATCTCCAGGAAGCCTCCT CAGGGTGTGTGGGCTTCCCTCACCTCTACGAGCCTGCAGACCCCTCCGTACAATGCTGGT GGTCTAACTGGAACACCCAGCCCTGCCCGGACATTTCACACCACCAGAGTCTGTTCAACA ACCTTTAACGTCCAGGATGGACCTGACTTTCAAGACAGAGTTGTCAACAGTGAGACACCA GTTGTCGTGGACTTTCATGCACAGTGGTGTGGCCCCTGCAAGATCCTAGGACCTCGGTTA GAGAAGATGGTAGCCAAACAGCACGGGAAGGTGGTGATGGCCAAAGTGGACATTGACGAT CACACAGACCTTGCCATTGAGTACGAGGTGTCTGCTGTGCCTACCGTGCTGGCCATCAAG AACGGGGACGTGGTGGACAAGTTTGTGGGGATCAAGGACGAAGACCAGCTGGAAGCCTTC CTGAAGAAGCTAATTGGCTGA seqinr/inst/sequences/bordetella.pep.aln0000644000176000001440000000233210432644700020147 0ustar ripleyusersCLUSTAL W (1.81) multiple sequence alignment BP0002 MSAVPDIPGGPAQRLAQACDALRLPADAGQQQKLLRYIEQMQRWNRTYNLTAIRDPGQML BB0002 MSAVPDIPGGPAQRLAQACDALRLPADAGQQQKLLRYIEQMQRWNRTYNLTAIRDPGQML BPP0002 MSAVPDIPGGPAQRLAQACDALRLPADAGQQQKLLRYIEQMQRWNRTYNLTAIRDPGQML ************************************************************ BP0002 VQHLFDSLSVVAPLERGLPAAGSGARVKLFDVGSGGGLPGVVLAIMRAHWDVTCVDAVEK BB0002 VQHLFDSLSVVAPLER--------------------GLPGVVLAIMRAHWDVTCVDAVEK BPP0002 VQHLFDSLSVVAPLERGLPAAGSGARVKLFDVGSGGGLPGVVLAIMRAHWDVTCVDAVEK ****************. .::.:.: . . .:..************************ BP0002 KTAFVRQMAGALGLPNLQAAHTRIEQLEPAQCDVVISRAFASLQDFAKLAGRHVREGGTL BB0002 KTAFVRQMAGALGLPNLQAAHTRIEQLEPAQCDVVISRAFASLQDFAKLAGRHVREGGTL BPP0002 KTAFVRQMAGALGLPNLQAAHTRIEQLEPAQCDVVISRAFASLQDFAKLAGRHVREGGTL ************************************************************ BP0002 VAMKGKVPDDEIQALQQHGHWTVERIEPLVVPALDAQRCLIWMRRSQGNI BB0002 VAMKGKVPDDEIQALQQHGHWTVERIEPLVVPALDAQRCLIWMRRSQGNI BPP0002 VAMKGKVPDDEIQALQQHGHWTVERIEPLVVPALDAQRCLIWMRRSQGNI ************************************************** seqinr/src/0000755000176000001440000000000012440112017012362 5ustar ripleyusersseqinr/src/Makevars0000644000176000001440000000007012437365004014067 0ustar ripleyusersPKG_CFLAGS = -DUSE_TYPE_CHECKING_STRICT PKG_LIBS = -lz seqinr/src/util.c0000644000176000001440000000254312440112106013506 0ustar ripleyusers#include #include #include #include #include #include #include #include /*##################################################*/ /*# Converts a String into a vector of characters #*/ /*##################################################*/ SEXP s2c(SEXP seq){ char *string; int lseq, i; char mot[2] = {'\0', '\0'}; SEXP chaine; string = (char *) CHAR(STRING_ELT(seq, 0)); lseq = strlen(string); PROTECT(chaine = NEW_CHARACTER(lseq)); for(i = 0 ; i < lseq ; i++){ mot[0] = string[i]; SET_STRING_ELT(chaine, i, mkChar(mot)); } UNPROTECT(1); return(chaine); } /*#####################################################*/ /*# Tester si une squence est protique ou nuclique #*/ /*#####################################################*/ SEXP is_a_protein_seq(SEXP sequence) /* returns TRUE if seq looks like a protein sequence (less than 80% ACGTU) */ { SEXP res; char *seq; static char dna[]="ACGTU"; int total=0, length=0; seq = (char *) CHAR(STRING_ELT(sequence,0)); while(*seq != 0) { if(*seq != '-') { if( strchr(dna, toupper(*seq)) != NULL ) total++; length++; } seq++; } PROTECT(res=NEW_NUMERIC(1)); REAL(res)[0]=(float)(total) / length ; UNPROTECT(1); return ( res ); } seqinr/src/kaks.c0000644000176000001440000010334012440112106013457 0ustar ripleyusers#include #include int code_mt = 0; /* Not implemented yet */ void reresh(char **, int, int); void prefastlwl(double **, double **, double **, double **, double **, double **, double **, double **, double **, double **); int fastlwl(char **, int, int, double **, double **, double **, double **, double **, double **, double **, double **, double **, double **, double **, double **, double **,double **, double **,double **,double **, double **,double **,double **, double **,double **); SEXP kaks(SEXP sequences, SEXP nbseq, SEXP debugkaks) { char **seqIn; /* local working copy of sequences */ char **seq; /* pointer to original sequences from R object */ double *tl0[64], *tl1[64], *tl2[64], *tti0[64], *tti1[64], *tti2[64], *ttv0[64], *ttv1[64], *ttv2[64]; int i, j, totseqs, lgseq, n; int debugon; double *rl[21]; double **ka, **ks, **vka, **vks; double **l0, **l2,**l4; double **a0, **a2,**a4; double **b0, **b2,**b4; double *xl0,*xl2,*xl4; double *xa0,*xa2,*xa4; double *xb0,*xb2,*xb4; double *xka, *xks, *xvka, *xvks; double mat[19][19] = {{.382, .382, .343, .382, .382, .382, .382, .128, .040, .128, .040, .128, .040, .128, .040, .128, .343, .128, .040 }, { .382, .382, .128, .343, .343, .343, .343, .128, .040, .128, .040, .128, .040, .128, .040, .128, .128, .040, .040 }, { .343, .128, .343, .382, .382, .382, .343, .128, .040, .128, .128, .343, .128, .343, .128, .343, .343, .128, .040 }, { .382, .343, .382, .343, .343, .343, .343, .343, .040, .343, .343, .382, .343, .382, .343, .382, .382, .382, .343 }, { .382, .343, .382, .343, .382, .382, .382, .343, .040, .343, .128, .343, .128, .128, .128, .343, .343, .128, .040 }, { .382, .343, .382, .343, .382, .382, .382, .343, .040, .343, .128, .343, .128, .128, .040, .128, .128, .128, .040 }, { .382, .343, .343, .343, .382, .382, .382, .343, .040, .343, .128, .343, .128, .128, .128, .128, .343, .128, .040 }, { .128, .128, .128, .343, .343, .343, .343, .343, .040, .343, .128, .343, .128, .343, .128, .343, .343, .128, .040 }, { .040, .040, .040, .040, .040, .040, .040, .040, .040, .382, .382, .382, .343, .343, .343, .128, .128, .343, .128 }, { .128, .128, .128, .343, .343, .343, .343, .343, .382, .040, .040, .128, .128, .040, .128, .040, .040, .040, .040 }, { .040, .040, .128, .343, .128, .128, .128, .128, .382, .040, .343, .343, .343, .343, .128, .128, .128, .128, .128 }, { .128, .128, .343, .382, .343, .343, .343, .343, .382, .128, .343, .343, .343, .343, .343, .128, .128, .343, .343 }, { .040, .040, .128, .343, .128, .128, .128, .128, .343, .128, .343, .343, .343, .382, .343, .343, .343, .343, .343 }, { .128, .128, .343, .382, .128, .128, .128, .343, .343, .040, .343, .343, .382, .343, .382, .128, .128, .343, .343 }, { .040, .040, .128, .343, .128, .040, .128, .128, .343, .128, .128, .343, .343, .382, .382, .343, .382, .382, .343 }, { .128, .128, .343, .382, .343, .128, .128, .343, .128, .040, .128, .128, .343, .128, .343, .343, .343, .382, .382 }, { .343, .128, .343, .382, .343, .128, .343, .343, .128, .040, .128, .128, .343, .128, .382, .343, .382, .343, .128 }, { .128, .040, .128, .382, .128, .128, .128, .128, .343, .040, .128, .343, .343, .343, .382, .382, .343, .343, .343 }, {.040, .040, .040, .343, .040, .040, .040, .040, .128, .040, .128, .343, .343, .343, .343, .382, .128, .343, .382 }}; SEXP rka; SEXP rks; SEXP rvka; SEXP rvks; SEXP res; /* -- addition fevrier 2012 --*/ SEXP rl0; SEXP rl2; SEXP rl4; SEXP ra0; SEXP ra2; SEXP ra4; SEXP rb0; SEXP rb2; SEXP rb4; /* --------------------------- */ /* SEXP lsequtil; The effective number of sites used, not used yet */ debugon = INTEGER_VALUE(debugkaks); totseqs = INTEGER_VALUE(nbseq); if(debugon) Rprintf("C> mode degug is on at C level with %d sequences\n", totseqs); /******************************************************************************/ /* */ /* Transient storage allocation with R_alloc: R will reclaim the memory at */ /* the end of the call to kaks. R_alloc do its own error checking and will */ /* raise an error if the memory cannot be allocated. */ /* */ /******************************************************************************/ seq = (char **) R_alloc(totseqs, sizeof(char *)); /* Initialisation of seq so that seq[i] points to sequence number i: */ for(i = 0 ; i < totseqs ; i++){ seq[i] = (char *) CHAR(STRING_ELT(sequences, i)); if(debugon) Rprintf("-->%s<--\n", seq[i]); } /* The length of the first sequence is used as a reference since in an alignment all sequences are supposed to be of the same length, this point is controlled before call to kaks at the R level. */ lgseq = strlen(seq[0]); if(debugon) Rprintf("C> lgseq = %d\n", lgseq); seqIn = (char **) R_alloc(totseqs, sizeof(char *)); for(i = 0 ; i < totseqs ; i++){ seqIn[i]= (char *) R_alloc(lgseq + 1, sizeof(char)); } for (i = 0 ; i < 64 ; i++) { tl0[i] = (double *) R_alloc(64, sizeof(double)); tl1[i] = (double *) R_alloc(64, sizeof(double)); tl2[i] = (double *) R_alloc(64, sizeof(double)); tti0[i] = (double *) R_alloc(64, sizeof(double)); tti1[i] = (double *) R_alloc(64, sizeof(double)); tti2[i] = (double *) R_alloc(64, sizeof(double)); ttv0[i] = (double *) R_alloc(64, sizeof(double)); ttv1[i] = (double *) R_alloc(64, sizeof(double)); ttv2[i] = (double *) R_alloc(64, sizeof(double)); } for (i = 0; i < 21 ; i++) rl[i] = (double *) R_alloc(21, sizeof(double)); ka = (double **) R_alloc(totseqs, sizeof(double *)); ks = (double **) R_alloc(totseqs, sizeof(double *)); vka = (double **) R_alloc(totseqs, sizeof(double *)); vks = (double **) R_alloc(totseqs, sizeof(double *)); l0 = (double **) R_alloc(totseqs, sizeof(double *)); l2 = (double **) R_alloc(totseqs, sizeof(double *)); l4 = (double **) R_alloc(totseqs, sizeof(double *)); a0 = (double **) R_alloc(totseqs, sizeof(double *)); a2 = (double **) R_alloc(totseqs, sizeof(double *)); a4 = (double **) R_alloc(totseqs, sizeof(double *)); b0 = (double **) R_alloc(totseqs, sizeof(double *)); b2 = (double **) R_alloc(totseqs, sizeof(double *)); b4 = (double **) R_alloc(totseqs, sizeof(double *)); for (i = 0; i < totseqs; i++) { ka[i] = (double *) R_alloc(totseqs, sizeof(double)); vka[i] = (double *) R_alloc(totseqs, sizeof(double)); ks[i] = (double *) R_alloc(totseqs, sizeof(double)); vks[i] = (double *) R_alloc(totseqs, sizeof(double)); l0[i] = (double *) R_alloc(totseqs, sizeof(double)); l2[i] = (double *) R_alloc(totseqs, sizeof(double)); l4[i] = (double *) R_alloc(totseqs, sizeof(double)); a0[i] = (double *) R_alloc(totseqs, sizeof(double)); a2[i] = (double *) R_alloc(totseqs, sizeof(double)); a4[i] = (double *) R_alloc(totseqs, sizeof(double)); b0[i] = (double *) R_alloc(totseqs, sizeof(double)); b2[i] = (double *) R_alloc(totseqs, sizeof(double)); b4[i] = (double *) R_alloc(totseqs, sizeof(double)); } /******************************************************************************/ /* */ /* Make a local copy of sequence into char **seqIn because the sequences are */ /* modified by the program before computations (gap removal) */ /* */ /******************************************************************************/ for(i = 0 ; i < totseqs ; i++){ for(j = 0 ; j < lgseq ; j++){ seqIn[i][j] = seq[i][j]; } seqIn[i][lgseq] = '\0'; } /******************************************************************************/ /* */ /* Creation of R objects in the C code */ /* */ /******************************************************************************/ PROTECT(res = NEW_LIST(14)); PROTECT(rka = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rks = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rvka = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rvks = NEW_NUMERIC(totseqs*totseqs)); /* -- addition fevrier 2012 --*/ PROTECT(rl0 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rl2 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rl4 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(ra0 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(ra2 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(ra4 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rb0 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rb2 = NEW_NUMERIC(totseqs*totseqs)); PROTECT(rb4 = NEW_NUMERIC(totseqs*totseqs)); /* PROTECT(rl024 = NEW_NUMERIC(3)); PROTECT(ra024 = NEW_NUMERIC(3)); PROTECT(rb024 = NEW_NUMERIC(3));*/ /* --------------------------- */ for (i = 2; i < 21; i++) { for (j = 1; j < i; j++) { *(rl[i] + j) = mat[j-1][i-2] ; } } for (i = 1; i <= 20; i++) { *(rl[i] + i) = 1.0; for (j = i + 1; j <= 20; j++) *(rl[i] + j) = *(rl[j] + i); } /******************************************************************************/ /* */ /* Replace codons with non ACGT bases with --- */ /* */ /******************************************************************************/ for (i = 0 ; i < totseqs ; i++){ for(j = 0 ; j < lgseq ; j++){ if ((*(seqIn[i] + j) != 'A') && (*(seqIn[i] + j) != 'G') && (*(seqIn[i] + j) != 'C') && (*(seqIn[i] + j) != 'T') ) { /* Base in first codon position */ if (j % 3 == 0) { *(seqIn[i] + j) = '-'; *(seqIn[i] + j + 1) = '-'; *(seqIn[i] + j + 2) = '-'; } /* Base in second codon position */ if (j % 3 == 1) { *(seqIn[i] + j) = '-'; *(seqIn[i] + j + 1) = '-'; *(seqIn[i] + j - 1) = '-'; } /* Base in third codon position */ if (j % 3 == 2) { *(seqIn[i] + j) = '-'; *(seqIn[i] + j - 1) = '-'; *(seqIn[i] + j - 2) = '-'; } } } } /******************************************************************************/ /* */ /* Remove positions with gaps */ /* */ /******************************************************************************/ reresh(seqIn,totseqs,0); for(i = 0 ; i < totseqs ; i++){ if(debugon) Rprintf("reresh-->%s<--\n", seqIn[i]); } for(i = 0 ; i < totseqs ; i++){ for(j = 0 ; j < totseqs ; j++){ ka[i][j] = -1; ks[i][j] = -1; vka[i][j] = -1; vks[i][j] = -1; l0[i][j] = 0; l2[i][j] = 0; l4[i][j] = 0; a0[i][j] = 0; a2[i][j] = 0; a4[i][j] = 0; b0[i][j] = 0; b2[i][j] = 0; b4[i][j] = 0; } } prefastlwl(rl, tl0, tl1, tl2, tti0, tti1, tti2, ttv0, ttv1, ttv2); /* Dump memoire commenterise if(debugon){ FILE *out; out = fopen("dumpkaks", "w"); for(i = 0 ; i < 21 ; i++){ for(j = 0 ; j < 21 ; j++){ fprintf(out, "%lf\n", rl[i][j]); } } for(i = 0 ; i < 64 ; i++){ for(j = 0 ; j < 64 ; j++){ fprintf(out, "%lf\n", tl0[i][j]); fprintf(out, "%lf\n", tl1[i][j]); fprintf(out, "%lf\n", tl2[i][j]); fprintf(out, "%lf\n", tti0[i][j]); fprintf(out, "%lf\n", tti1[i][j]); fprintf(out, "%lf\n", tti2[i][j]); fprintf(out, "%lf\n", ttv0[i][j]); fprintf(out, "%lf\n", ttv1[i][j]); fprintf(out, "%lf\n", ttv2[i][j]); } } fclose(out); } */ lgseq = strlen(seqIn[0]); /* l024 = NUMERIC_POINTER(rl024); a024 = NUMERIC_POINTER(ra024); b024 = NUMERIC_POINTER(rb024);*/ fastlwl(seqIn, totseqs, lgseq, ka, ks, tti0, tti1, tti2, ttv0, ttv1, ttv2, tl0, tl1, tl2, vka, vks,l0,l2,l4,a0,a2,a4,b0,b2,b4); for(i = 0 ; i < totseqs ; i++){ if(debugon) Rprintf(" -->%s<--\n", seqIn[i]); } /******************************************************************************/ /* */ /* In this section we copy the results from ka, ks, vka and vks into the R */ /* objects rka, rks, rvka and rvka, respectively. */ /* */ /******************************************************************************/ n = 0; xka = NUMERIC_POINTER(rka); xks = NUMERIC_POINTER(rks); xvka = NUMERIC_POINTER(rvka); xvks = NUMERIC_POINTER(rvks); xl0 = NUMERIC_POINTER(rl0); xl2 = NUMERIC_POINTER(rl2); xl4 = NUMERIC_POINTER(rl4); xa0 = NUMERIC_POINTER(ra0); xa2 = NUMERIC_POINTER(ra2); xa4 = NUMERIC_POINTER(ra4); xb0 = NUMERIC_POINTER(rb0); xb2 = NUMERIC_POINTER(rb2); xb4 = NUMERIC_POINTER(rb4); for(i = 0 ; i < totseqs ; i++){ for(j = 0 ; j < totseqs ; j++){ xka[n] = ka[i][j]; xks[n] = ks[i][j]; xvka[n] = vka[i][j]; xvks[n] = vks[i][j]; xl0[n] = l0[i][j]; xl2[n] = l2[i][j]; xl4[n] = l4[i][j]; xa0[n] = a0[i][j]; xa2[n] = a2[i][j]; xa4[n] = a4[i][j]; xb0[n] = b0[i][j]; xb2[n] = b2[i][j]; xb4[n] = b4[i][j]; if(debugon) Rprintf("C> i = %d, j = %d, n = %d, ka = %lf, ks = %lf, vka = %lf, vks = %lf, l0 = %lf, l2 = %lf, l4 = %lf, a0 = %lf, a2 = %lf, a4 = %lf, b0 = %lf, b2 = %lf, b4 = %lf\n", i, j, n, ka[i][j], ks[i][j], vka[i][j], vks[i][j],l0[i][j],l2[i][j],l4[i][j],a0[i][j],a2[i][j],a4[i][j],b0[i][j],b2[i][j],b4[i][j] ); n++; } } SET_ELEMENT(res, 0, rka); SET_ELEMENT(res, 1, rks); SET_ELEMENT(res, 2, rvka); SET_ELEMENT(res, 3, rvks); SET_ELEMENT(res, 4, rl0); SET_ELEMENT(res, 5, rl2); SET_ELEMENT(res, 6, rl4); SET_ELEMENT(res, 7, ra0); SET_ELEMENT(res, 8, ra2); SET_ELEMENT(res, 9, ra4); SET_ELEMENT(res, 10, rb0); SET_ELEMENT(res, 11, rb2); SET_ELEMENT(res, 12, rb4); UNPROTECT(14); if(debugon) Rprintf("C> %s", "End of C level....................\n"); return(res); } int num(char *cod) { int n1, n2, n3; n1 = n2 = n3 = 0; if (cod[0] == 'C') n1 = 1; if (cod[1] == 'C') n2 = 1; if (cod[2] == 'C') n3 = 1; if (cod[0] == 'G') n1 = 2; if (cod[1] == 'G') n2 = 2; if (cod[2] == 'G') n3 = 2; if (cod[0] == 'T') n1 = 3; if (cod[1] == 'T') n2 = 3; if (cod[2] == 'T') n3 = 3; return 16 * n1 + 4 * n2 + n3; } int fastlwl(char **seq, int nbseq, int lgseq, double **ka, double **ks, double **tti0, double **tti1, double **tti2, double **ttv0, double **ttv1, double **ttv2, double **tl0, double **tl1, double **tl2, double **vka, double **vks, double **l0, double **l2,double **l4, double **a0, double **a2,double **a4, double **b0, double **b2,double **b4) { const double trois = 3.0; double l[3], a[3], b[3], p[3], q[3], ti[3], tv[3], cc[3], aaa[3], bb[3], flgseq, va[3], vb[3]; char cod1[3], cod2[3]; int i, j, ii, num1, num2, sat, sat1, sat2; sat = sat1 = sat2 = 2; /* Internal check at C level: this should be no more be necessary, I'll keep it just in case. JRL - 26-APR-2009 */ flgseq = (double) lgseq; if (flgseq / trois != lgseq / 3) { REprintf("Fatal error: the number of nucleotide after gap removal is not a multiple of 3.\nPlease report this bug on the seqinr diffusion list.\n"); return(0); /* Should be R's NA but an int is returned by fastlwl */ } for (i = 0; i < nbseq - 1; i++) { for (j = i + 1; j < nbseq; j++) { l[0] = l[1] = l[2] = 0; ti[0] = ti[1] = ti[2] = tv[0] = tv[1] = tv[2] = 0; for (ii = 0; ii < lgseq / 3; ii++) { cod1[0] = *(seq[i] + 3 * ii); cod1[1] = *(seq[i] + 3 * ii + 1); cod1[2] = *(seq[i] + 3 * ii + 2); cod2[0] = *(seq[j] + 3 * ii); cod2[1] = *(seq[j] + 3 * ii + 1); cod2[2] = *(seq[j] + 3 * ii + 2); num1 = num(cod1); num2 = num(cod2); l[0] += *(tl0[num1] + num2); l[1] += *(tl1[num1] + num2); l[2] += *(tl2[num1] + num2); ti[0] += *(tti0[num1] + num2); ti[1] += *(tti1[num1] + num2); ti[2] += *(tti2[num1] + num2); tv[0] += *(ttv0[num1] + num2); tv[1] += *(ttv1[num1] + num2); tv[2] += *(ttv2[num1] + num2); } l0[i][j]=l[0]; l2[i][j]=l[1]; l4[i][j]=l[2]; for (ii = 0; ii < 3; ii++) { p[ii] = ti[ii] / l[ii]; q[ii] = tv[ii] / l[ii]; aaa[ii] = 1 / (1 - 2 * p[ii] - q[ii]); bb[ii] = 1 / (1 - 2 * q[ii]); cc[ii] = (aaa[ii] + bb[ii]) / 2; if (bb[ii] <= 0) { b[ii] = 10; } else { b[ii] = 0.5 * (double) log(bb[ii]); } if ((aaa[ii] <= 0) || (bb[ii] <= 0)) { a[ii] = 10; } else { a[ii] = 0.5 * (double) log(aaa[ii]) - 0.25 * log(bb[ii]); } va[ii] = (aaa[ii] * aaa[ii] * p[ii] + cc[ii] * cc[ii] * q[ii] - (aaa[ii] * p[ii] + cc[ii] * q[ii]) * ( aaa[ii] * p[ii] + cc[ii] * q[ii])) / l[ii]; vb[ii] = bb[ii] * bb[ii] * q[ii] * (1 - q[ii]) / l[ii]; } if ((a[1] != 10) && (a[2] != 10) && (b[2] != 10)){ ks[i][j] = (l[1] * a[1] + l[2] * a[2]) / (l[2] + l[1]) + b[2]; vks[i][j] = (l[1] * l[1] * va[1] + l[2] * l[2] * va[2]) / ((l[1] + l[2]) * (l[1]+l[2])) + vb[2] - bb[2] * q[2] * (2 * aaa[2] * p[2] - cc[2] * (1 - q[2]))/(l[1]+l[2]); } else { sat1 = 1; vks[i][j]=ks[i][j] = 9.999999; } if ((a[0] != 10) && (b[0] != 10) && (b[1] != 10)){ ka[i][j] = a[0] + (l[0] * b[0] + l[1] * b[1]) / (l[0] + l[1]); vka[i][j] = (l[0] * l[0] * vb[0] + l[1] * l[1] * vb[1]) / ((l[1] + l[0]) * (l[1]+l[0])) + va[0] - bb[0] * q[0] * (2 * aaa[0] * p[0] - cc[0] * (1 - q[0]))/(l[1]+l[0]); } else { vka[i][j]=ka[i][j] = 9.999999; sat2 = 1; } a0[i][j]=a[0]; a2[i][j]=a[1]; a4[i][j]=a[2]; b0[i][j]=b[0]; b2[i][j]=b[1]; b4[i][j]=b[2]; } } /* -- addition fevrier 2012 --*/ /* L0, L2, L4: # of non-synonymous sites, of 2-fold synonymous sites, of 4-fold synonymous sites A0, A2, A4: # of transitional changes at non-synonymous, 2-fold, and 4-fold synonymous sites B0, B2, B4: # of transversional changes at non-synonymous, 2-fold, and 4-fold synonymous sites Ces quantits sont les suivantes dans la fonction fastlwl(): L0, L2, l4 correspondent l[0], l[1], l[2] A0, A2, A4 correspondent a[0], a[1], a[2] B0, B2, B4 correspondent b[0], b[1], b[2] */ if (sat1 == 1) sat = 1; if (sat2 == 1) sat = 0; return sat; } int catsite(char c1, char c2, char c3, int i) { /* renvoie 0 si le site i du codon c1c2c3 est non degenere */ /* 1 2-fold degenerate */ /* 2 4-fold degenerate */ if (i == 3) { if( !code_mt ) { if ( (c1 == 'A') && (c2 == 'T') && (c3 == 'G')) return 0; if ( (c1 == 'T') && (c2 == 'G') && (c3 == 'A')) return 0; if ( (c1 == 'T') && (c2 == 'G') && (c3 == 'G')) return 0; } if (c2 == 'C') return 2; if ((c1 == 'C') && (c2 == 'T')) return 2; if ((c1 == 'G') && (c2 == 'T')) return 2; if ((c1 == 'G') && (c2 == 'G')) return 2; if ((c1 == 'C') && (c2 == 'G')) return 2; return 1; } else if (i == 1) { if ((c1 == 'C') && (c2 == 'T') && (c3 == 'A')) return 1; if ((c1 == 'C') && (c2 == 'T') && (c3 == 'G')) return 1; if ((c1 == 'T') && (c2 == 'T') && (c3 == 'A')) return 1; if ((c1 == 'T') && (c2 == 'T') && (c3 == 'G')) return 1; if( !code_mt ) { if ((c1 == 'A') && (c2 == 'G') && (c3 == 'A')) return 1; if ((c1 == 'A') && (c2 == 'G') && (c3 == 'G')) return 1; if ((c1 == 'C') && (c2 == 'G') && (c3 == 'A')) return 1; if ((c1 == 'C') && (c2 == 'G') && (c3 == 'G')) return 1; } return 0; } return 0; } char transf(char nt1, char nt2) { if (nt1 == nt2) { Rprintf("Same nt, patate.\n"); return 'S'; } if ((nt1 == 'A') && (nt2 == 'C')) return 'v'; if ((nt1 == 'A') && (nt2 == 'G')) return 'i'; if ((nt1 == 'A') && (nt2 == 'T')) return 'v'; if ((nt1 == 'G') && (nt2 == 'C')) return 'v'; if ((nt1 == 'G') && (nt2 == 'T')) return 'v'; if ((nt1 == 'C') && (nt2 == 'T')) return 'i'; if ((nt1 == 'C') && (nt2 == 'A')) return 'v'; if ((nt1 == 'G') && (nt2 == 'A')) return 'i'; if ((nt1 == 'T') && (nt2 == 'A')) return 'v'; if ((nt1 == 'C') && (nt2 == 'G')) return 'v'; if ((nt1 == 'T') && (nt2 == 'G')) return 'v'; if ((nt1 == 'T') && (nt2 == 'C')) return 'i'; REprintf("Error\n%c, %c\n", nt1, nt2); return 'E'; } void titv1(char *cod1, char *cod2, double poids, double *ti, double *tv, double* l) { int i; char a, b, ci1, ci2, ci3, cj1, cj2, cj3; char transf(char, char); ci1 = cod1[0]; ci2 = cod1[1]; ci3 = cod1[2]; cj1 = cod2[0]; cj2 = cod2[1]; cj3 = cod2[2]; for (i = 0; i <= 2; i++) if (cod1[i] != cod2[i]) { l[catsite(ci1, ci2, ci3, i + 1)]+=0.5 * poids; l[catsite(cj1, cj2, cj3, i + 1)]+=0.5 * poids; a = cod1[i]; b = cod2[i]; if (transf(a, b) == 'i') { ti[catsite(ci1, ci2, ci3, i + 1)] += 0.5 * poids; ti[catsite(cj1, cj2, cj3, i + 1)] += 0.5 * poids; } else { tv[catsite(ci1, ci2, ci3, i + 1)] += 0.5 * poids; tv[catsite(cj1, cj2, cj3, i + 1)] += 0.5 * poids; } if( code_mt ) continue; /* il n'y a plus les pb de TI non-syno et de TV syno avec code_mt ! */ if (((ci2 == 'T') && (cj2 == 'T')) || ((ci2 == 'G') && (cj2 == 'G'))) { /* T ou G ensemble en pos 2 des 2 codons */ if (i==0){ /* pos 1 */ /* tous ces cas sont des transitions en un site 2-fold non-syno pour le code universel: il faut les enlever du comptage des TI 2-fold (ti[1]) et les ajouter au comptage des TV 2-fold (tv[1]) pour le code_mt ce sont des sites non dege qui ont ete traites simplement comme il faut */ if ((ci1 == 'C') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'T') && (cj2 == 'G') && (cj3 == 'A')) { ti[1] -= 0.5 * poids; /* CGA / TGA */ tv[1] += 0.5 * poids; } if ((ci1 == 'C') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'T') && (cj2 == 'G') && (cj3 == 'G')) { ti[1] -= 0.5 * poids; /* CGG / TGG */ tv[1] += 0.5 * poids; } if ((ci1 == 'A') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'G') && (cj2 == 'G') && (cj3 == 'G')) { ti[1] -= 0.5 * poids; /* AGG / GGG */ tv[1] += 0.5 * poids; } if ((ci1 == 'A') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'G') && (cj2 == 'G') && (cj3 == 'A')) { ti[1] -= 0.5 * poids; /* AGA / GGA */ tv[1] += 0.5 * poids; } if ((ci1 == 'T') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'C') && (cj2 == 'G') && (cj3 == 'A')) { ti[1] -= 0.5 * poids; /* TGA / CGA */ tv[1] += 0.5 * poids; } if ((ci1 == 'T') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'C') && (cj2 == 'G') && (cj3 == 'G')) { ti[1] -= 0.5 * poids; /* TGG / CGG */ tv[1] += 0.5 * poids; } if ((ci1 == 'G') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'A') && (cj2 == 'G') && (cj3 == 'G')) { ti[1] -= 0.5 * poids; /* GGG / AGG */ tv[1] += 0.5 * poids; } if ((ci1 == 'G') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'A') && (cj2 == 'G') && (cj3 == 'A')) { ti[1] -= 0.5 * poids; /* GGA / AGA */ tv[1] += 0.5 * poids; } /* tous ces cas sont code universel: TV syno en sites 2-fold il faut les enlever du comptage des TV 2-fold (tv[1]) et les ajouter au comptage des TI 2-fold (ti[1]) code_mt: TV non syno en site non dege qui ont ete correctement comptes */ if ((ci1 == 'C') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'A') && (cj2 == 'G') && (cj3 == 'A')) { tv[1] -= poids; /* CGA / AGA : TV syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'A') && (ci2 == 'G') && (ci3 == 'A') && (cj1 == 'C') && (cj2 == 'G') && (cj3 == 'A')) { tv[1] -= poids; /* AGA / CGA : TV syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'C') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'A') && (cj2 == 'G') && (cj3 == 'G')) { tv[1] -= poids; /* CGG / AGG : TV syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'A') && (ci2 == 'G') && (ci3 == 'G') && (cj1 == 'C') && (cj2 == 'G') && (cj3 == 'G')) { tv[1] -= poids; /* AGG / CGG : TV syno code univ, non code mt */ ti[1] += poids; } } if (i==2){ /* pos 3 */ /* tous ces cas sont code universel: des TV syno en site 2-fold il faut les enlever des TV 2-fold (iv[1]) et ajouter aux TI 2-fold (ti[1]) code_mt: ce sont des TV non syno en site 2-fold qui int ete comptees normalement */ if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'A') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'T')) { tv[1] -= poids; /* TV ATA / ATT : syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'T') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'A')) { tv[1] -= poids; /* TV ATT / ATA : syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'A') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'C')) { tv[1] -= poids; /* TV ATA / ATC : syno code univ, non code mt */ ti[1] += poids; } if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'C') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'A')) { tv[1] -= poids; /* TV ATC / ATA : syno code univ, non code mt */ ti[1] += poids; } /* ces 2 cas sont code universel: des TI non syno en site 2-fold il faut les enlever des TI 2-fold (ti[1]) et les ajouter aux TV 2-fold (tv[1]) code_mt: des TI syno en site 2-fold qui ont ete comptees normalement */ if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'A') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'G')) { ti[1] -= 0.5 * poids; /* TI ATA / ATG : non syno code univ, syno code mt */ tv[1] += 0.5 * poids; } if ((ci1 == 'A') && (ci2 == 'T') && (ci3 == 'G') && (cj1 == 'A') && (cj2 == 'T') && (cj3 == 'A')) { ti[1] -= 0.5 * poids; /* TI ATG / ATA : non syno code univ, syno code mt */ tv[1] += 0.5 * poids; } } } } } void titv2(char *cod1, char *cod2, double *ti, double *tv, double* l, int *aa, double **rl, int* pos) { char codint1[3], codint2[3]; int i, j, n = 0; double l1, l2, p1, p2; void titv1(char *, char *, double, double *, double *,double*); memcpy(codint1, cod1, 3); memcpy(codint2, cod1, 3); for (i = 0; i < 2; i++) { if (cod1[i] != cod2[i]) codint1[i] = cod2[i]; if (cod1[i] != cod2[i]) break; } for (j = i + 1; j <= 2; j++) { if (cod1[j] != cod2[j]) codint2[j] = cod2[j]; if (cod1[j] != cod2[j]) break; } l1 = *(rl[aa[num(cod1)]] + aa[num(codint1)]) * *(rl[aa[num(codint1)]] + aa[num(cod2)]); l2 = *(rl[aa[num(cod1)]] + aa[num(codint2)]) * *(rl[aa[num(codint2)]] + aa[num(cod2)]); p1 = l1 / (l1 + l2); p2 = 1 - p1; for (i=0;i<3;i++) if (pos[i]==0) n=i+1; l[catsite(cod1[0], cod1[1] ,cod1[2], n)]+=0.333333; l[catsite(cod2[0], cod2[1] ,cod2[2], n)]+=0.333333; l[catsite(codint1[0], codint1[1] ,codint1[2], n)]+=0.333333*p1; l[catsite(codint2[0], codint2[1] ,codint2[2], n)]+=0.333333*p2; titv1(cod1, codint1, p1, ti, tv,l); titv1(cod2, codint1, p1, ti, tv,l); titv1(cod1, codint2, p2, ti, tv,l); titv1(cod2, codint2, p2, ti, tv,l); } void titv3(char *cod1, char *cod2, double *ti, double *tv, double* l, int *aa, double **rl) { char *codint1[6], *codint2[6]; int i, j, ii,a,b,c,d,aaa,aab,aac,aad; double like[6], p[6], somli, rlab, rlbc, rlcd; void titv1(char *, char *, double, double *, double *, double*); int num(char *); for (i = 0; i < 6; i++) { codint1[i] = (char *) R_alloc(3, sizeof(char)); codint2[i] = (char *) R_alloc(3, sizeof(char)); } for (i = 0; i < 3; i++) { for (j = 0; j < 3 ; j++) if (j != i) { if ((i == 0) || ((i == 1) && (j == 0))) { ii = 3 * i + j - 1; } else { ii = 3 * i + j - 2; } memcpy(codint1[ii], cod1, 3); *(codint1[ii] + i) = cod2[i]; memcpy(codint2[ii], codint1[ii], 3); *(codint2[ii] + j) = cod2[j]; a=num(cod1); b=num(codint1[ii]); c=num(codint2[ii]); d=num(cod2); aaa=aa[a]; aab=aa[b]; aac=aa[c]; aad=aa[d]; rlab=*(rl[aaa]+aab); rlbc=*(rl[aab]+aac); rlcd=*(rl[aac]+aad); like[ii] = rlab*rlbc*rlcd; } } somli = 0; for (i = 0; i < 6; i++) somli += like[i]; for (i = 0; i < 6; i++) { p[i] = like[i] / somli; titv1(cod1, codint1[i], p[i], ti, tv,l); titv1(codint1[i], codint2[i], p[i], ti, tv,l); titv1(codint2[i], cod2, p[i], ti, tv,l); } } void prefastlwl(double **rl, double **tl0, double **tl1, double **tl2, double **tti0, double **tti1, double **tti2, double **ttv0, double **ttv1, double **ttv2) { double l[3], ti[3], tv[3]; char cod1[3], cod2[3]; int i, j, ii, jj, nbdiff, pos[3], aa[64], n1, n2, n3; void titv2(char *, char *, double *, double *, double *, int *, double **, int *pos); void titv3(char *, char *, double *, double *, double *, int *, double **); void titv1(char *, char *, double, double *, double *, double *); double minrl; /* code des acides amines: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 F W Y H M L I V P C A G T S Q N K R E Q stop */ aa[0] = 17;/* aaa K */ aa[1] = 16;/* aac N */ aa[2] = 17;/* aag K */ aa[3] = 16;/* aat N */ aa[4] = 13;/* aca T */ aa[5] = 13;/* acc T */ aa[6] = 13;/* acg T */ aa[7] = 13;/* act T */ if(code_mt) aa[8] = 0;/* aga * */ else aa[8] = 18;/* aga R */ aa[9] = 14;/* agc S */ if(code_mt) aa[10] = 0;/* agg * */ else aa[10] = 18;/* agg R */ aa[11] = 14;/* agt S */ if(code_mt) aa[12] = 5;/* ata M */ else aa[12] = 7;/* ata I */ aa[13] = 7;/* atc I */ aa[14] = 5;/* atg M */ aa[15] = 7;/* att I */ aa[16] = 15; aa[17] = 4; aa[18] = 15; aa[19] = 4; aa[20] = 9; aa[21] = 9; aa[22] = 9; aa[23] = 9; aa[24] = 18; aa[25] = 18; aa[26] = 18; aa[27] = 18; aa[28] = 6; aa[29] = 6; aa[30] = 6; aa[31] = 6; aa[32] = 19; aa[33] = 20; aa[34] = 19; aa[35] = 20; aa[36] = 11; aa[37] = 11; aa[38] = 11; aa[39] = 11; aa[40] = 12; aa[41] = 12; aa[42] = 12; aa[43] = 12; aa[44] = 8; aa[45] = 8; aa[46] = 8; aa[47] = 8; aa[48] = 0;/* taa * */ aa[49] = 3;/* tac Y */ aa[50] = 0;/* tag * */ aa[51] = 3;/* tat Y */ aa[52] = 14;/* tca S */ aa[53] = 14;/* tcc S */ aa[54] = 14;/* tcg S */ aa[55] = 14;/* tct S */ if(code_mt) aa[56] = 2;/* tga W */ else aa[56] = 0;/* tga * */ aa[57] = 10;/* tgc */ aa[58] = 2;/* tgg W */ aa[59] = 10;/* tgt */ aa[60] = 6;/* tta */ aa[61] = 1;/* ttc */ aa[62] = 6;/* ttg */ aa[63] = 1;/* ttt */ /* ajoute par M. Gouy */ /* calcul minrl = val minimale du tableau rl */ minrl=rl[1][1]; for(i=1; i<=20; i++) for(j=i+1; j<=20; j++) if(rl[i][j] < minrl ) minrl=rl[i][j]; /* chargement rl[0][i] et rl[i][0] avec minrl correspond a aa = stop */ for(i= 0; i<=20; i++) rl[0][i] = rl[i][0] = minrl; /****** for (i = 0; i < 63; i++) { je l'ai passe a 64 JRL ********/ for(i = 0; i < 64; i++) { for (j = i; j < 64; j++) { for(ii=0;ii<3;ii++){ l[ii]=ti[ii]=tv[ii]=0; } n1 = i / 16; n2 = (i - 16 * n1) / 4; n3 = i - 16 * n1 - 4 * n2; cod1[0] = 'A'; if (n1 == 1) cod1[0] = 'C'; if (n1 == 2) cod1[0] = 'G'; if (n1 == 3) cod1[0] = 'T'; cod1[1] = 'A'; if (n2 == 1) cod1[1] = 'C'; if (n2 == 2) cod1[1] = 'G'; if (n2 == 3) cod1[1] = 'T'; cod1[2] = 'A'; if (n3 == 1) cod1[2] = 'C'; if (n3 == 2) cod1[2] = 'G'; if (n3 == 3) cod1[2] = 'T'; n1 = j / 16; n2 = (j - 16 * n1) / 4; n3 = j - 16 * n1 - 4 * n2; cod2[0] = 'A'; if (n1 == 1) cod2[0] = 'C'; if (n1 == 2) cod2[0] = 'G'; if (n1 == 3) cod2[0] = 'T'; cod2[1] = 'A'; if (n2 == 1) cod2[1] = 'C'; if (n2 == 2) cod2[1] = 'G'; if (n2 == 3) cod2[1] = 'T'; cod2[2] = 'A'; if (n3 == 1) cod2[2] = 'C'; if (n3 == 2) cod2[2] = 'G'; if (n3 == 3) cod2[2] = 'T'; nbdiff = 0; pos[0] = pos[1] = pos[2] = 0; if (cod1[0] != cod2[0]) { nbdiff++; pos[0] = 1; } if (cod1[1] != cod2[1]) { nbdiff++; pos[1] = 1; } if (cod1[2] != cod2[2]) { nbdiff++; pos[2] = 1; } if (nbdiff != 2) for (jj = 0; jj < 3; jj++) if (pos[jj] == 0) { l[catsite(cod1[0], cod1[1], cod1[2], jj + 1)] += 0.5; l[catsite(cod2[0], cod2[1], cod2[2], jj + 1)] += 0.5; } if (nbdiff == 1) titv1(cod1, cod2, 1.0, ti, tv, l); if (nbdiff == 2) titv2(cod1, cod2, ti, tv, l, aa, rl, pos); if (nbdiff == 3) titv3(cod1, cod2, ti, tv, l, aa, rl); *(tl0[i]+j)=*(tl0[j]+i)=l[0]; *(tl1[i]+j)=*(tl1[j]+i)=l[1]; *(tl2[i]+j)=*(tl2[j]+i)=l[2]; *(tti0[i]+j)=*(tti0[j]+i)=ti[0]; *(tti1[i]+j)=*(tti1[j]+i)=ti[1]; *(tti2[i]+j)=*(tti2[j]+i)=ti[2]; *(ttv0[i]+j)=*(ttv0[j]+i)=tv[0]; *(ttv1[i]+j)=*(ttv1[j]+i)=tv[1]; *(ttv2[i]+j)=*(ttv2[j]+i)=tv[2]; } } return; } void reresh(char** seq, int nbseq, int option){ /* Si option = 0, toutes les positions avec au moins un gap sont eliminees */ int lgseq, l, drapeau, i, j, k; char **seqref; seqref = (char **) R_alloc(nbseq, sizeof(char *)); lgseq = strlen(seq[1]); for(i = 0 ; i < nbseq ; i++){ seqref[i] = (char*) R_alloc(lgseq + 1, sizeof(char)); } l=-1; if (option==0){ for(i=0;i=0; ii--) { if(string[ii] == 0 || string[ii] == '\n' || string[ii] == ' ' || string[ii] == '\t') string[ii] = 0; else break; } } /**************************** end rem_blank ************************/ void free_mase(struct SEQMASE * aln, int nbsq) { int ii; for(ii = 0; ii <= nbsq; ii++) { free(aln[ii].seq); free(aln[ii].com); } free((char *) aln); } /******************************** end free_mase ************************/ int one_more_seq_found(int count1, char ***pseq, char ***pseqname, char ***pcomments) { static int max_count; char **seq, **seqname, **comments; if(count1 == -1) max_count = 0; if(count1 + 1 < max_count) return count1 + 1; count1++; if(max_count == 0) { max_count = 100; seq = (char **)malloc(max_count * sizeof(char *)); if(seq == NULL) return -1; seqname = (char **)malloc(max_count * sizeof(char *)); if(seqname == NULL) return -1; comments = (char **)malloc(max_count * sizeof(char *)); if(comments == NULL) return -1; } else { seq = *pseq; seqname = *pseqname; comments = *pcomments; max_count = 3 * max_count; seq = (char **)realloc(seq, max_count * sizeof(char *)); if(seq == NULL) return -1; seqname = (char **)realloc(seqname, max_count * sizeof(char *)); if(seqname == NULL) return -1; comments = (char **)realloc(comments, max_count * sizeof(char *)); if(comments == NULL) return -1; } *pseq = seq; *pseqname = seqname; *pcomments = comments; return count1; } /******************************** end one_more_seq_found ************************/ /***********************************************************************************************************************/ /* lit un fichier MASE, renvoie une liste (objet R) contenant les squences, les commentaies et les noms des espces. */ /***********************************************************************************************************************/ SEXP read_mase(SEXP nomfic) { char *fic_name; FILE *fic; struct SEQMASE *aln; int nb_seq; int lg_max = 0, lg, lgs, lgc; char string[MAXSTRING + 1]; char c1, c2; int i,ii, jj, kk = 0, numline, maxcom = 0; SEXP listseq; SEXP essai; SEXP listcom; SEXP listmn; SEXP nombreseq; /*Passages des objets R (paramtres) dans des variables C */ fic_name = (char *) CHAR(STRING_ELT(nomfic, 0)); if((fic = fopen(fic_name, "r")) == NULL) { error("Can't open file"); } c1 = 0; nb_seq = 0; lg = lgc = 0; while(fgets(string, MAXSTRING, fic) != NULL) { string[MAXSTRING] = 0; lgs = strlen(string); if(lgs >= (MAXSTRING - 1)) { REprintf("\n Fatal Error. Too long line in alignment (> %d).\n", MAXSTRING); REprintf("Increase MAXSTRING and recompile.\n"); } c2 = string[0]; if(string[0] == ';' && string[1] != ';') { lgc += (lgs + 1); } if(c1 == ';' && c2 != c1) { nb_seq++; if(lg > lg_max) lg_max = lg; if(lgc > maxcom) maxcom = lgc; lg = lgc = 0; } else if(c2 != ';') lg += lgs; c1 = c2; } if(lg > lg_max) lg_max = lg; /******************************************/ /* Cration de 6 objets R qui seront */ /******************************************/ PROTECT(listseq=allocVector(VECSXP,nb_seq)); PROTECT(essai=allocVector(VECSXP,5)); PROTECT(listcom=allocVector(VECSXP,nb_seq)); PROTECT(listmn=allocVector(VECSXP,nb_seq)); PROTECT(nombreseq=NEW_INTEGER(1)); aln = (struct SEQMASE *) calloc(nb_seq + 1, sizeof(struct SEQMASE)); for(ii = 0; ii <= nb_seq; ii++) { aln[ii].seq = (char *) calloc(lg_max + 1, sizeof(char)); aln[ii].com = (char *) calloc(maxcom + 1, sizeof(char)); aln[ii].com[0] = 0; } rewind(fic); numline = 0; ii = -1; while(fgets(string, MAXSTRING, fic) != NULL) { numline++; string[MAXSTRING] = 0; if ((string[0] != ';') && (numline == 1)) { error("Not a MASE file"); /* check format, thanks to J.H. Troesemeier */ goto fini; } c2 = string[0]; if(string[0] == ';' && string[1] != ';') { strcat(aln[ii + 1].com, string); } if(c1 == ';' && c2 != c1) { ii++; kk = aln[ii].lg = 0; rem_blank(string); if((int) strlen(string) >= (MAXMNMASE - 1)) { REprintf("Error. Maximum sequance name is %d characters\n", MAXMNMASE); error("sequence name too long!"); } strcpy(aln[ii].mn, string); lg = 0; } else if(c2 != ';') { for(jj = 0; jj < MAXSTRING; jj++) { if(string[jj] == 0) break; if(string[jj] == ' ') continue; if(string[jj] == '\n') continue; if(string[jj] == '\t') continue; aln[ii].seq[kk++] = string[jj]; aln[ii].lg = kk; } } c1 = c2; } fclose(fic); lg_max = aln[0].lg; for(ii = 1; ii < nb_seq; ii++) if(aln[ii].lg > lg_max) lg_max = aln[ii].lg; INTEGER(nombreseq)[0]=(int)nb_seq; for(i=0;i maxwidname) maxwidname = l; comments[tot_spec] = NULL; } while(strncmp(line, "//", 2) != 0); curr_spec = 0; curr_len = 0; wid_block = 0; while( fgets(line, sizeof(line), in) != NULL ) { p = line; while(*p == ' ') p++; l = strlen(seqname[curr_spec]); if(strncmp(p, seqname[curr_spec], l) != 0) continue; p += l; while(*p == ' ') p++; p--; q = seq[curr_spec] + curr_len; while( *(++p) != '\n') { if( *p == ' ') continue; if(*p == '.') *p = '-'; *(q++) = *p; } *q = 0; wid_1_line = q - (seq[curr_spec] + curr_len); wid_block = (wid_1_line > wid_block ? wid_1_line : wid_block); if(curr_spec == tot_spec) { curr_len += wid_block; curr_spec = 0; wid_block = 0; } else curr_spec++; } for(i=0; i') totseqs++; rewind(in); /* R objects creation */ INTEGER(nombreseq)[0] = totseqs; PROTECT(listname = allocVector(VECSXP, totseqs)); PROTECT(listseq = allocVector(VECSXP, totseqs)); /* Memory allocation */ seq = (char **) R_alloc(totseqs, sizeof(char *)); comments = (char **) R_alloc(totseqs, sizeof(char *)); seqname = (char **) R_alloc(totseqs, sizeof(char *)); lenseqs = MAXLENSEQ; totseqs = -1; i = fgets(line, sizeof(line), in); if(line[0] != '>') error("File not in Fasta format!\n"); /* Main loop to read line by line the file */ while( i != NULL ){ totseqs++; comments[totseqs] = NULL; p = line + 1; while(*p != '\n') p++; l = p - line - 1; seqname[totseqs] = (char *) R_alloc(l + 1, sizeof(char)); memcpy(seqname[totseqs], line + 1, l); seqname[totseqs][l] = '\0'; SET_ELEMENT(listname, totseqs, mkChar(seqname[totseqs])); seq[totseqs] = (char *) R_alloc(lenseqs + 1, sizeof(char)); lseq = 0; while( (i = fgets(line, sizeof(line), in)) != NULL && *i != '>' ) { l2 = strlen(line); if( line[l2 - 1] == '\n' ) l2--; while(l2 > 0 && line[l2 - 1] == ' ') l2--; if(lseq + l2 > lenseqs) { char *temp; lenseqs += MAXLENSEQ; temp = R_alloc(lenseqs + 1, sizeof(char)); memcpy(temp, seq[totseqs], lseq); seq[totseqs] = temp; } memcpy(seq[totseqs] + lseq, line, l2); lseq += l2; } seq[totseqs][lseq] = '\0'; SET_ELEMENT(listseq, totseqs, mkChar(seq[totseqs])); } SET_ELEMENT(list, 0, nombreseq); SET_ELEMENT(list, 1, listname); SET_ELEMENT(list, 2, listseq); fclose(in); UNPROTECT(4); return list; } /*******************************************/ /* Lecture d'un fichier au format clustal */ /*******************************************/ SEXP read_clustal_align(SEXP ficname) { SEXP list; SEXP listseq; SEXP listname; SEXP nombreseq; char *fname; FILE *in; char line[200], *p; int i, l = 0, curr_spec, first=TRUEL, curr_len, next_len, tot_spec, curr_max_len =0, carac, wid_name = 0; char **seq, **comments, **seqname = NULL; fname = (char *) CHAR(STRING_ELT(ficname,0)); PROTECT(nombreseq=NEW_INTEGER(1)); PROTECT(list=allocVector(VECSXP,3)); in=fopen(fname,"r"); if(in==NULL) { error("file not found"); return 0; } fgets(line,sizeof(line),in); if(strncmp(line,"CLUSTAL",7) != 0) { /* skip 1st line with CLUSTAL in it */ error("File not in CLUSTAL format!"); tot_spec = -1; goto fini; } /* skip next empty lines */ do { carac = getc(in); if(carac == ' ') { fgets(line,sizeof(line),in); carac = getc(in); } } while(carac == '\n' || carac == '\r'); ungetc(carac, in); /* back to start of 1st non-empty line */ tot_spec = curr_spec = -1; curr_len = next_len = 0; while( fgets(line, sizeof(line), in) != NULL ) { if(*line == '\n' || *line == ' ') { curr_spec = -1; curr_len = next_len; first = FALSE; continue; } else if(tot_spec >= 0 && curr_spec == -1 && strncmp(line, seqname[0], strlen(seqname[0]) ) != 0) { break; } else { if(first) { curr_spec = one_more_seq_found(curr_spec, &seq, &seqname, &comments); if(curr_spec == -1) goto nomem; } else curr_spec++; } if(first && curr_spec == 0) { /* calcul long partie nom: enlever tout ce qui n'est pas espace en fin */ p = line + strlen(line) - 2; while(*p == ' ' || isdigit(*p) ) p--; while (*p != ' ') p--; wid_name = p - line + 1; } if(first) { seqname[curr_spec] = (char *)malloc(wid_name+1); if(seqname[curr_spec]==NULL) { goto nomem; } memcpy(seqname[curr_spec], line, wid_name); p = seqname[curr_spec] + wid_name - 1; while(*p==' ') p--; *(p+1)=0; if(curr_spec > tot_spec) tot_spec = curr_spec; seq[curr_spec] = (char *)malloc(CLU_BLOCK_LEN+1); curr_max_len = CLU_BLOCK_LEN; if(seq[curr_spec]==NULL) { goto nomem; } comments[curr_spec] = NULL; } if(curr_spec == 0) { l = strlen(line) - 1; p = line + l - 1; while(*p == ' ' || isdigit(*p) ) { p--; l--; } l -= wid_name; if(curr_len + l > curr_max_len) { curr_max_len += CLU_BLOCK_LEN; for(i=0; i<=tot_spec; i++) { p = (char *)malloc(curr_max_len+1); if(p == NULL) goto nomem; memcpy(p, seq[i], curr_len); free(seq[i]); seq[i] = p; } } next_len = curr_len + l; } memcpy(seq[curr_spec]+curr_len, line + wid_name, l); } for(i=0; i<=tot_spec; i++) seq[i][next_len] = 0; seq = (char **)realloc(seq, (tot_spec + 1)*sizeof(char *)); seqname = (char **)realloc(seqname, (tot_spec + 1)*sizeof(char *)); comments = (char **)realloc(comments, (tot_spec + 1)*sizeof(char *)); INTEGER(nombreseq)[0]=tot_spec+1; PROTECT(listname=allocVector(VECSXP,tot_spec+1)); PROTECT(listseq=allocVector(VECSXP,tot_spec+1)); for(i=0; i #include SEXP fastacc(SEXP bits_in_char, SEXP target, SEXP database, SEXP noc, SEXP n){ int i,j; SEXP res; int *pbits_in_char, *pnoc, *pn, *pres; unsigned char *ptarget, *pdatabase; int ires; PROTECT(bits_in_char = AS_INTEGER(bits_in_char)); pbits_in_char = INTEGER_POINTER(bits_in_char); PROTECT(target = AS_RAW(target)); ptarget = RAW_POINTER(target); PROTECT(database = AS_RAW(database)); pdatabase = RAW_POINTER(database); PROTECT(noc = AS_INTEGER(noc)); pnoc = INTEGER_POINTER(noc); PROTECT(n = AS_INTEGER(n)); pn = INTEGER_POINTER(n); PROTECT(res = NEW_INTEGER(*pn)); pres = INTEGER_POINTER(res); for(ires = i = 0 ; i < *pn * *pnoc; i += *pnoc, ires++){ pres[ires] = 0; for(j = 0; j < *pnoc ; j++){ pres[ires] += pbits_in_char[pdatabase[i+j] & ptarget[j]]; } } UNPROTECT(6); return(res); } seqinr/src/alignment.h0000644000176000001440000000126512440112106014514 0ustar ripleyusers#include #include #include #include #include #include #include #include #include #include #define FALSE 0 #define TRUEL (!FALSE) #define MAXLENCOM 50000 /* long max des commentaires sous mase */ #define MAX_SPECIES_SETS 50 /* nbre max de species sets */ #define PHYNAME 10 #define CLU_WID_NAME 16 #define MSF_WID_NAME 15 #define CLU_BLOCK_LEN 5000 /* block pour allocation mem format Clustal */ #define MAX_GAP_SITES 1000 #define MAXLENSEQ 10000 #define MAXMNMASE 30 #define MAXSTRING 10000 struct SEQMASE { char mn[MAXMNMASE]; char *com; char *seq; int lg; }; seqinr/src/zsockr.c0000644000176000001440000000546512440112106014052 0ustar ripleyusers/* functions to handle zlib-compressed data read from socket */ #ifndef WIN32 #ifdef _WIN32 #define WIN32 1 #endif #endif #ifndef WIN32 #include "zlib.h" #include #include #include #include #ifdef WIN32 #include #else #include #endif /* included functions */ void *prepare_sock_gz_r(int sockr); int z_getc_R(void *v); char *z_gets(void *v, char *line, size_t len); char *z_read_sock(void *v); int close_sock_gz_r(void *v); #define ZBSIZE 100000 typedef struct { z_stream stream; char z_buffer[ZBSIZE]; /* compressed input buffer */ char text_buffer[4 * ZBSIZE]; /* decompressed buffer */ char *pos, *endbuf; #ifdef WIN32 SOCKET fd; #else int fd; #endif } sock_gz_r; void *prepare_sock_gz_r(int sockr) { int err; sock_gz_r *big; static sock_gz_r s_big; big = &s_big; if(big == NULL) return NULL; big->stream.next_in = Z_NULL; big->stream.avail_in = 0; big->stream.avail_out = 0; big->stream.zalloc = Z_NULL; big->stream.zfree = Z_NULL; big->stream.opaque = NULL; big->pos = big->text_buffer; big->endbuf = big->pos; #ifdef WIN32 big->fd = (SOCKET)sockr; #else big->fd = sockr; #endif err = inflateInit(&big->stream); return err == Z_OK ? (void *)big : NULL; } int z_getc_R(void *v) { int q, lu; sock_gz_r *big = (sock_gz_r *)v; z_streamp zs; #ifndef WIN32 int err; fd_set readfds; #endif if(big->pos < big->endbuf) { return *(big->pos++); } zs = &(big->stream); zs->next_out = (Bytef *)big->text_buffer; zs->avail_out = sizeof(big->text_buffer); big->pos = (char *)zs->next_out; do { if(zs->avail_in == 0) { #ifdef WIN32 do lu = recv( big->fd , big->z_buffer, ZBSIZE, 0 ); while (lu <=0); #else FD_ZERO(&readfds); FD_SET(big->fd, &readfds); err = select(big->fd + 1, &readfds, NULL, NULL, NULL); if(err > 0 ) { lu = read( big->fd , big->z_buffer, ZBSIZE ); } else lu = -1; #endif if(lu == -1) return EOF; zs->next_in = (Bytef *)big->z_buffer; zs->avail_in = lu; } q = inflate(zs, Z_NO_FLUSH); if(q == Z_STREAM_END) break; if(q != Z_OK) { break; } } while ( (char *)zs->next_out == big->pos); big->endbuf = (char *)zs->next_out; if(big->pos < big->endbuf) return *(big->pos++); else return EOF; } char *z_gets(void *v, char *line, size_t len) { int c; char *p; p = line; while(len > 1) { c = z_getc_R( v ); if(c == EOF) { if(p == line) return NULL; break; } *(p++) = c; if(c == '\n') break; len--; } *p = 0; return line; } char *z_read_sock(void *v) { static char line[500]; char *p; int l; p = z_gets(v, line, sizeof(line)); if(p == NULL) return NULL; l = strlen(line); if(l > 0 && line[l-1] == '\n') line[l-1] = 0; return line; } int close_sock_gz_r(void *v) { sock_gz_r *big = (sock_gz_r *)v; int val; val = inflateEnd(&(big->stream)); return val; } #else void *prepare_sock_gz_r(int sockr) { return 0; } #endif seqinr/src/Makevars.win0000644000176000001440000000011412437365004014662 0ustar ripleyusersPKG_CFLAGS = -DUSE_TYPE_CHECKING_STRICT # PKG_LIBS = -lz -lws2_32 -mwindows seqinr/src/getzlibsock.c0000644000176000001440000001317412440112106015053 0ustar ripleyusers#include #include #include #ifndef WIN32 #ifdef _WIN32 #define WIN32 1 #endif #endif #ifndef WIN32 #include #include #include #include void *prepare_sock_gz_r(int ncon ); char *z_read_sock(void *v); int close_sock_gz_r(void *v); static void *extract_opaque = NULL; #define R_EOF -1 #define MAXESSAIS 1 /*#define MAXESSAIS 1000000*/ SEXP getzlibsock(SEXP sock, SEXP nmax, SEXP debug) { /* Variable de types SEXP :entree et sorties*/ SEXP ans = R_NilValue; SEXP ans2 = R_NilValue; /* Quelles variable faut il proteger : s'appliqe uniquement aux objets R, cad SEXP : ans et ans2*/ int nprotect = 0; int debugon; int testc; int numsoc; int i,j, n, nn, nnn, ok, warn, nread, c; int itest,itestd; char *test; char *res; int flagend =0; int nbseq =0; debugon = INTEGER_VALUE(debug); n=INTEGER_VALUE(nmax); if (debugon) Rprintf("Running getzlibsock... \n"); if(!inherits(sock, "connection")) { Rprintf("Error!\n\n'con' is not a connection"); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect ++; SET_STRING_ELT(ans2, 0,mkChar("Socket is not defined.")); PROTECT(ans = ans2); nprotect ++; UNPROTECT(nprotect); nprotect=0; return ans ; } if (debugon) Rprintf("'con' is a connection...\n"); numsoc = asInteger(sock); /* Pour UNIX ( pbil): numsoc = asInteger(sock) + 1; con=getConnection(numsoc); scon= (Rsockconn)con->private; numsoc = scon->fd;*/ if (debugon) Rprintf("Socket number is %d....\n",numsoc); extract_opaque=prepare_sock_gz_r(numsoc); if (extract_opaque == NULL) { Rprintf("Erreur dans prepare_sock_gz_r\n"); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect ++; SET_STRING_ELT(ans2, 0,mkChar("Socket is not defined.")); PROTECT(ans = ans2); nprotect ++; UNPROTECT(nprotect); nprotect=0; return ans ; } if (debugon) Rprintf("Trying to get answer from socket...\n"); res=z_read_sock(extract_opaque); /*AJOUT PATCHE CRADO ( devrait etre inutile)*/ itest=0; itestd=0; while ( res == NULL){ res=z_read_sock(extract_opaque); itest++; itestd++; if (debugon){ if (itestd>10) { Rprintf("*"); itestd=0; } } if (itest> MAXESSAIS) { Rprintf("Socket error!\n"); Rprintf("No answer from socket after %d trials!\n",itest); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect++; SET_STRING_ELT(ans2, 0,mkChar("No answer from socket.")); PROTECT(ans = ans2); nprotect++; UNPROTECT(nprotect); nprotect=0; testc=close_sock_gz_r(extract_opaque); if (debugon) Rprintf("Closing socket close_sock_gz_r status = %d\n",testc); return ans ; } } if (debugon) Rprintf("\n-->[%s]\n",res); if (strncmp(res,"code=0",6) != 0) { Rprintf("extractseqs error!\n"); Rprintf("[%s]\n",res); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect++; SET_STRING_ELT(ans2, 0,mkChar("Wrong answer from socket.")); PROTECT(ans = ans2); nprotect++; UNPROTECT(nprotect); nprotect=0; testc=close_sock_gz_r(extract_opaque); if (debugon) Rprintf("Closing socket close_sock_gz_r status = %d\n",testc); return ans ; } if (debugon) Rprintf("Socket answer is ok %s(%d)\n",res, strlen(res)); nn = (n < 0) ? 1000 : n; /* initially allocate space for 1000 lines */ nnn = (n < 0) ? INT_MAX : n; PROTECT(ans = allocVector(STRSXP, nn)); nprotect++; nread=0; if (debugon) Rprintf("n=%d, nn=%d,nnn=%d\n",n,nn, nnn); res=z_read_sock(extract_opaque); while ((res != NULL) ) { if (nread >=nnn) { if (debugon) Rprintf("Increasing memory...\n"); PROTECT(ans2 = (allocVector(STRSXP, 2*nn))); nprotect++; for(i = 0; i < nn; i++) SET_STRING_ELT(ans2, i, STRING_ELT(ans, i)); nn *= 2; nnn=nn; UNPROTECT(nprotect); /* old ans et ans2 */ PROTECT(ans = ans2); nprotect=1; }; if (strncmp(res,"extractseqs END.",16) == 0){ if (debugon) Rprintf("extractseqs successfully ended ...\n"); flagend=1; break; } if ((strncmp(res,"code=0",6) == 0) && (nread >0)) { Rprintf("-->[%s]\n",res); Rprintf("WARNING!\nextractseqs unsuccessfully ended ...\n"); flagend=1; break; } if (strncmp(res,"\033count=", 7) == 0){ nbseq++; } else { SET_STRING_ELT(ans, nread, mkChar(res)); nread++; } res=z_read_sock(extract_opaque); } if (debugon) Rprintf("Number of lines : %d\n",nread-1); if (debugon) Rprintf("Number of sequences : %d\n",nbseq); if (flagend) { if (debugon) Rprintf("extractseqs OK, program carry on...\n"); if (debugon) Rprintf("Ok, everything is fine!\n"); } else{ Rprintf("extractseqs error!\n"); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect++; SET_STRING_ELT(ans2, 0,mkChar("Wrong answer from socket.")); PROTECT(ans = ans2); nprotect++; } testc=close_sock_gz_r(extract_opaque); if (debugon) Rprintf("Closing socket close_sock_gz_r status = %d\n",testc); UNPROTECT(nprotect); return ans ; } #else SEXP getzlibsock(SEXP sock, SEXP nmax, SEXP debug) { /* Variable de types SEXP :entree et sorties*/ SEXP ans = R_NilValue; SEXP ans2 = R_NilValue; /* Quelles variable faut il proteger : s'appliqe uniquement aux objets R, cad SEXP : ans et ans2*/ int nprotect = 0; int debugon; debugon = INTEGER_VALUE(debug); if (debugon) Rprintf("Running getzlibsock... \n"); Rprintf("Warning!\n\nCompressed sockets are not yet available on Windows.\n"); ans2 = PROTECT(allocVector(STRSXP, 1)); nprotect ++; SET_STRING_ELT(ans2, 0,mkChar("Compressed sockets are not yet available on Windows.")); PROTECT(ans = ans2); nprotect ++; UNPROTECT(nprotect); nprotect=0; return ans ; } #endif seqinr/NAMESPACE0000644000176000001440000000015012426453046013024 0ustar ripleyusers# Export all names useDynLib(seqinr, .registration = TRUE) exportPattern(".") importFrom(ade4,dudi.coa) seqinr/data/0000755000176000001440000000000012440112020012476 5ustar ripleyusersseqinr/data/ec999.RData0000644000176000001440000115450712440112123014276 0ustar ripleyusersBZh91AY&SYF(-԰A*@0@d@#@NP`G̒@ QDHA%P(%$PBPD P*D*R yJeƮUlTP!TQ P)@PUA"PI@JA((JRH U@P U$ HAJ R )@B@PE)AA@R$$TR  E(E U J@JB*"@IPI"DE*If()JH$( )PT*T$(RT(P $$T%@PUD*E)@PB REDhE424AѠ ѣ Qvm]c/\fb Èq,T-ڕl m2L5f(I]U$H&)2hZX%h)4e_I<=/۾8$jE ,,M \iHE11 ӵ5Kַ, q26q lN6!GI6W"G44J$@cݚj0-F{Qx6!mkAb]O& ir9 .H8#]<*3.Q`גKx5"(AE6QΆ{Y<% ]g¦vnHtBڃC9ӏ*B [ge #QJVRRs2  k[bK4_9¥V5Jôk]$iHа[ \-JKd!7X˭oݍ U Ug76Z]HEmjs8,ʋ3{SPDJ GS";:V" mIcŲTHHk7W>QϹ8Vd4w8VP |^F!v˦ cc/B1j1ְpp`b?L=kuyKm8h¢9̚R9E\4٣I:n4!Pc\!a`lAZ:ѪI4)d0 SI`Tg\$gd0r DZ9dJb˛ac*0PWQc#DV4,@4$3!D;YERZK V2rk`1a ӦV9 5K61Rth8 g)DR# *k2њzlh3qE6.^BrMm1])Fh!NN0 TFVZ"0X3& R@(De,Dg3RkOZ Kjr:*2ნ!氼YœYyE.p4q8¨Pqf5͡pd1 j7[0cC՘D8Mk p$I)$ɍ9vS]A`ђΰ֋c#%`1!&"s'bllK\SvYmv*Ƣ-bAJ˖H XӕbJÔ861rPĴ&g x+C0$ $ ι%!jYy#9+ 豪4Y.F˂Q$,ej:U ˄9 (:5)h浮jtZ*!%8M3k»R!b5N.`D%Rԗ.6%9,sg2ƔvIJ 4:2\-jF3ixB9y 2 H2C`T ] T&EJ/)MV 5tSJ8Yt8҉b9Xabڌ&yѬKKeM `v &Fd6!RTVjbFX,Q6\#mpEU)Xa^ FXl:T:pV r8GMa ƌ@6.m)N3fgH0s%VSfDšbWgg0VɌ]36E\dZd)Q!Q"fLGXr8f1 `2q"ЖD4eƗ E `Q'VaasKL#9dUVW s,4#ˍ% F4e(tR!˃*ZpfYSٞў5Jv2 c62W!(JLj]=NcdnL r0ڔeNLWF0vZ!s qp(2C5 gҥ`'Ci #] c4bu32L&H  G$ѪuE94A,0j*-4dLlMDt4bx,\C8ggi+ FAbٖљ =c0Ψc&x3S&a J+ ,V+5^%d2t! h+DSBȋ-ZL5KZ֝kE'M*es`$\u.`Ied[8S`@hr!5Rj冲§3+fҷ% SAęmW0D,OWF'+0k" i$jRGNl8G$a E(L65%T2+Sñ؍v6DMDh&eAtUu/P0knI ᜚s 8Ń%\mOUdjDYÌɇ 6 Hæ%4&3d笍ED a5\viq42ƴ<2UEin%FRK3JK8 h5:"dSUcYm$nӬ8lN0L#m&18U q)j^8ӪYtL ыR[a A b1I4j+#$D*N(0P4b0Zsjc48J8tehuqt Y2tQYW#MM$+łɢ5f J*Kᦍq mc`@Ku XNfМ͢.A W3dBcH T$4䔜3vSɨX7 51&ݝheuTe`  NkJ&Â\Џf@5`fKYsQ- ^2ªQP+ 4?f"%Ÿi_jɡ ,FٱmTQC=h)QLP@PVeg[R}up]}9RJ= PVI_zpրX/ f0AZI@_:)T)UTR$ B"*BJQBJ @@J$*RJ(>^N )J%R(DEJ*BP)I)DRJRJ)B)P-d) HU%H*%R %DRBIPU ((*QRU PER@**H%QDDRRHRII*U)4( (U*!BPTHR$$"TPQJ ((*TJAHRH$(*PPVD[d@$ dD@4UU@!&@0@h#Mh4zj O*j114zi4J%hMbSUod "Z (qEH;Ɨ <%(=WxΩd'\%u&3&*'&ҧ4OFLVaь`jn1Ur/{=h,(4? PrjpCAb u\f~u$hDM"mf"Qt1R 9[zk&ZX¸JH%+RUA,ƶpPZBL(ЂQ3͌Y@TҲ- i[=RK&XB@bXؔhĪ=!;=6N(N8nfBq XUC6]+jG23)D2+ɐ4bl([3"㗕vV-ea]/ZSJdy6MZbk3kG9ձ8F0dĚ2,$"K&E18'H !2& cGu 37'']qL337Pq`:ЦIg"jKNFm2&0-D6*mN6ABq؋.r`3GQsq:r!WZE'2m$]=[ܲS14uX6qѐ !JKu(#IW$bzrm29b#O&EVѐl@+4sd2d,ȹ !:]\3 %P"Б+h5dծΠS/P+Ԡs7F֨Û8#lQ,Jhppk:XUV9$DcccJՊjEMU#F(s΂ـNuMq[ Nr駄)ɡF/9v1C`Hn&㜊Ql=YrͫJ4:F]2 :iĴMkB-c ,A$1P-0 4eW9tJyr80L(lSe s߆4bq3,0k8ZxAENJy{UmJ&v'RRKqt J Ƹz:yON/%ZYJpkH\ҨBA޿Ϟ aO iW9s:`Hڙ(e_lמ( "oj{PO[]:AF =mt.CZƇƶ1+EōⱭţ N\$ mYԩTk!! j@r,Y1tS:󪩩c  AtD00\Xp\D Y "AP"k)Td#Kl\D ILGVKpGp X3cU-`NN Ji8ZNgqcQ9H%1@Rh@t.Fc1լqWZ m1m%&$)8:lC6Q`uYq1QpqfDṸXbcD[plҦAM0:0VL jCiӚL jIHSPpgQReMYsX;)r#ٸ〝 )p:Jї癴H.]kR&]AjWRcNHFft<:<`E[ȪRYS ak օ&jѴg&64IX1fEe)h?ņ#Ĥn1Z/](r턪e][R4Ι1wuIYF!Z$S #f[#0ZY0Vb1mLk>YjiUzP,4*C%Pt=G]{@pe^V̬ [#YhY h${{dJ$&܅&KcbTb`Kфmj̀TEMXREAqLVR,E*^bG 1Xҕ[HMg ,<8 mHdd2C 9̲Z3)[.Dy2U\\SQ;vь±c hMX]\ٚ1.p R-[DAT I-WarL <cTJk f"J:X αgjѫIuɅ(4$ˑ$*fi< s#Fˌ\8Dgrڢuh(E^ڱM =(eRE6T2ZuYT 04SlZ:(i#Si [8Xl4qIC]ug,YS jq,˰g eYڢ1kA!5;"ZArp`;fNZf:Jx:myq"L;X6tp3jZȀG#D8d2p&8 cHt &Ѳ,!bZbO[B(I&mTz0k[B4P`R9e#%hhT`EÉY ee`f2ZYu9TW8 N`8*s`oݲ PQ^+** ր(9вM4װJd! `@PQU% ΡH&I`2ZVHZ)#`u%7e5E E#9D:E)!* ,@ԨRE*U@Q P RE @) DP)"@P@BAQT(U*T(KU݈\QUI *T( (H!DBEQ"ED!((P@ IR%I($P(R )ATT QBBR U$PH*((JHHHHDQ$P*IR R@RHQ((P)"j0* PB(@$ *H$U( QR HPPP )("(( (RBP"E 2 4M hGc(4URC@ɣFFAɦ4IJPdq&LFF!4i1 Ì4h b241 LAa O%Th ɀ1>wpz ܧ/r ppp(q;+**"<(;4!΢vN`8EΝ:E32K f)9L*Yp#Vju 5.gV6 'PcXz͞89dD:ڣ8hRg#04kYTҢrI Y ;T!sIH/iQ3%Y3VF6EE[aHz:cIjƩ$%A *,KG:*eCSELl"q-A2NMeZթ03 I84h jd l'{;̓A"&'m e#;7h1Xpg &(TrT{&sQDJngj1G Y[!dh ͋hiɱPXc9naT2Fk岱ő6UД D$)BEN]hC2δ6ȼs&]SrM,A9ֈENrFqfl^8kFf\ 5gJ*` V,WC<2҉E&E<*pR`m:,QRAT+&"C7[J-V!ԙsЮEFDk6pM)8p;&) S88Z3'b͊\VrM&4T l" p"͜D9Xr*-F2&:nNoxmL=EOѴJDŋ*׵CxUҸN3]唭Ec.*H!)eUr[BŶr4'SN#xgcMTFu!ȭ!&1`g=6h!t mU%zi)1ͭ ƆK Ib2dV أHIrL뵒4F2apuipU%a e 6Vv.l 79@&090L]gũ++PA \V0K&3+Dnkc63uҘ+%umb#,LZ\<ƒ)SZy]2#LΨ9hqV1lYfh8tJ  pgYf 옱qFW&L4񌃐ĹBb0kQ 9MXY`$A4"Ƥ0d挆fɈ1ഘְٔSkS1$j(X1s•ʍfk[f&ՙF,GiEM*cavAruHY$gkMuuqLLÒ^T6&!rERd6V)b22M֤D dxQe!E3S*dNc%9Ƒ)]LR);,XY&r b,DeV4%#DѱEZ":h(ajY4":naxqyòWc $Rj[AN::ys Ҁ:VFrjBL$aGcetS==R.f21[hʼJUQ<;0,h@lcJ#cXIQBk7[bΐh؉Rv1Hu)Uy 205q; Xb1pXѮeW8O&,Ⳣ;UdsU*t(өW\΀#2:!0-#k8R=*m f37eE AXF8+;i$:ue-ҢK##k 4EˬXh5SeFIX@Bְjpi8k2!:+ 6EɭkZggk 1R58d5aUHPذL(j0.f֡[L4@6%h\@f29Ia6Ĉ$;6rFlaI $(څ$aSEEY嬺6Dp;J%U klr3)D38ȷ Х9hk2ъn#ŝfHFlUp91i`B %U6F@i{I-A稇r 9/hahB՛4,[N@hrZ"̦2-YSҳqº:,IJ)skPI#b-9!ɠӪ0`&a (j2C7K-k#KBHj6Iİ.8 ˢg&FU"DƜα0jatںdR($#ZjgA3Fn0 CD7X`Ug0 6.P1#G 2ɰRR'bE4ҋڷXďC)-V֪s"DK0C5,j VrAVђx02莳Pr00TcfSp.96paۢQ$hiCe['F9] &QaueΙ,\8kZq@FeЋLiFr2ⱋ9 zk\CufHzSB̼Nb [pe֫Ɔ2<`4mð5 Z)eWUdԈXgXŌG%t#ŅѠ δ8G-s@a;Ipv 9jQYjFac\J6xrgebJQcVH NBHu6c&Jyz[afV)E3AZTy MG:,襸f΀1NѬKÌ1&5kDtVUEiZ3Bf ʨj5sMΛJ*FI"Eg)V-hS< MCśDT@p$cA p 6%3&#d9b56fZCjɄgRL;lTki*1tf7hmPhRG%D$9խ&zm 3c*b5tp dɬaV5VNl ix& Iy35LcahUb &W &iVi`0:ņÔh9EFP6`"Qu ^Mb0ΤHu$$(5]g( Z6˖B& HKQT:Ґ V`'wuꨱa`)&BeOy"A Ԃ ,-.#Xݖ؀R"Ap)FlAJR,uwN 2=co:9XObȁIH,9kQIx٢ҠPbHhi7!& B:F(niFש4ZtS6"+LѰH։F FtixO}^FmW8sMF\(fc%Z|kmiK btYfxBPPqk7`%(ZWLa" e,u[h4TQZe 6mPf5qVĈwoh[u<`KH(V73s 6thvr#s|lpp]&$2Oظ36AjPROGcş&5t,kt<̋"dH!qQ! A- zqCuGgC Y7b^Ph/Iv ALeh UcKU]Ia\áW&3M FG1RmQyTbLLSGV49ԕatS4*qִJbQ"F2`K[;96ի#E2j&DQD"AEj D"xV(A4)YAQ<@DAJ4Q(TS%ɤD!)ͺ_":%DB!ڀ $ BL 0rߏrRP *"Q* $HAUT*HT(I (*PRT (*!)(DJH@(ylY]R%@ @UDD$$RQE DBBPBUEPHEQPPBUR TPJPHIDH* @*P )@AD)"JPUHRDRI(TBRQP($IUAJ)JI"DHI"P)TTP T*JBQBTD"$"U AHJ("*TJRU(I@A $U @$U)%(D@$$HHH(hhUJ A&LFM4i䔤 00F6ST@h4POP&M&Lbi U=5 hF :o $"AH( *H2"B $" 4BBcܪ (ʧJGb«Qͩ@iK.L E'8th)•NN*l.i9#J!JR 7W5͛j规X4 ‰ms@3΍"4@4[b x|Z3uH|Hp1}t^N]Tbآ8>jhpcTbeB^ƶӋk1 Oj6K1 igE.![LJ)"79f]•9#bk6mZ]iy;&Јj톗o< jŨuo^k+x/ǢN ,=iJDtK2 4bqIZYˎStIiLf16,SeC3!2bW#<Cj4Ȋbh$5F6q]S-1J%Xs1.h-X3NfMՙhWt֛/FX3jRڭ3]N`.mYs<MԑkWCSK8I Uh%ʋՃ#6QhqRga4(,3v3!jmIrXq `s-&P:##k)(9 ڢ-ZFt:hsGh'sbP` lP dp<eHfZIk%*I™6*ںddvEm$YJPk{J$ɕ GMg9]B.m85*ևb&l姢 CCj6W /qPt e;``8m Y2.nIɨr(Vj0lơ ,qT(:͇rt,#dn԰ ujYla&L259Yg=YL%ԲvVX:Y tEuC+SeN6NF k$3T4D]JJhԛHf\*2TJ3sI6\F$A&a]ڦ옰 ӂc'pn1:q"+lvӋ8#dX'9Y N{.A(uAh6k\f8iꑄv1ntγ l# .s[ZV^Eq` Q q㡞NFdwhHӵ]2KԄp.*U>_!`ϒMŇpj^gQ^kD|K5uWoxK-ħ8a6!M$L\NG da&  WҸsM܄xlNS|ވsϥyxiy/zǙgwHFcTӟRc0a(f]zf+γmRk6Q4(b}+;hЙjti#G%x \OEcqYx5(;&,92`\=e(4DHszަ{^yg8K5dW̘-lrL ]:uN3le즮9qr KXuL"B(b.JK/&q n4qƀ֓ 1H 8]e%G9ӫb#EtADNcDqFxka&2]r Ih X.s*&r.p)) 99B;XƲCN`Lk0VV`4b$֚Q5EȪ`Qɵ=MyTlN2'.c.-KԤiTTSLPVl1ZļPxȋɕY[9(hDq;5Z!2ꬑir+#e3P$u̹5iЗiD'%UD7'dIcG+5tYC:ɉk R3cQr&9MM'(TlI3Ls& MWPڥP ` 2Un],N2A`$BՅ-'9ȆGH6Y\1&g8e2qrchblKڶBmDp@jc1hjg8 aMk3 a(4f,EEQlڧ9mA85.IYɁ.Sq#2geGL&Ș&Q#PnLu"$3!.yPeM֎9yFvMgj4g"3=AK-B`*4@$ xکN Y1B\5 = ^8K`ss}>عJQu@IYj̖:\jje:U;:ֽO-IGaZלѶZ>8H[_SիZMaƸ +gr|K1 WM|چm!-z%$3YYaZs]mU~:[=D{qǎLJݡj28y/ uFpQTh*ƃa6~ xxW Kq)%ǟwטƈ[gxg[;D ,>3׏n^VXr21=[jR#AϮWun̽b ե |xXƝE5>#:ճzںcqlhٱ^:Â$iEk9IھㅡͲrRÆ/1+@ET_|Q_tODVQpXtK/~ϟJ b*>#iåuݯ;mR\K -)bK[rѓga@eF<5U^ `Qx1\2,4 ;hDF >eՔqZClQ]P2CC [FE (wP@NG:OFP?'6tH_JLhf&aaz0'w"Cd 2†R;T + 73]d} dQe :lK7s6dB6gFaZp3B1tA@W)E /^*HSYa Os3>_w/Cės@k1S~Ka5;/%+^m }#\wDuӴSzT^bW hּۘ1_Qyhg0l u&oiznIwጬMfKRG1C>k߱nuq2$L;*wTz*/{ݹ'}!A@rokbK \\Is); t󈘶4uAk?H8%mU#omHʢl5mּH/@ K)a=GFYKht Qq$;BluWP|>yت&1|U3W TZQEr^mʱ(VYAlV(*J  A@)TEax"5kWbetP䧔Tf#j*T*3oߖK^݋>wHULg&sfaL\I3lU+Ao,ބT>)u["  sբ QX^X˽ }ieGF aB5@ VXB{/=7 0eTh phKU D4^!]8#Ö00qʧU DTʡYׄ O j=j1]ZB|Gp.V`yѲ鱪HzwU/QN2zv.6Y+) $!$Ƅ9ɡF)tBBQq$*4TGZ( U}>UB+1Py\b] *1Ֆ8jʕkFv?MV&g}3Ϯ$ڡb~5/q+ԡm_!Ң35ĝߦl)cnr}T1nv>U Bgd`z+~ϟlvn)N+G{LTRv;sdΝڌjH0>UC8NMD,~S'd!!% C:2ٗoc=U_WRi 9#}u ! mouYBxGZfBu˯dV0Sy62 "oP(`<][m韕ULR7cǕPH !ST"2QȷvgUOT*I[}mKa\PPAu 6oϼioƕ4/U/Zz+"98K;hė C/[Z=3l3)t nk*uFna,3rpۨreZ怂Y (n"J=E(1]N @8Nl75}Lw $`z8,ak93ሐa7dV#!1ėZ<*¨\Ѡɩ*{.ۋ늂@ـ`; TP %a nϐUgZ3v-ڳJYmջvu(ꊪ˲Mگ-j[mO-6n8W;bX"ŚcKN\^{` @SmomjdYA a>@5-l#&SlE(.Q3QR ߘ]m6HQeey&#Uł HkL ^]|NKnwLI- D,ϗ_$Ȏ.Qbyzn'@ƅM*Q(H)P$% :%;itUzFVҖi.Ьiz꛵:CwA.op%Ц<3x p/A_*D{˕yUbpHOf@J g2r`.[H-Ҫ p6iZg܅Ъ5+@ė[/jjۓiC ț쭗@1D \$(d!?8fPf}@QyM޾]cK [t Z.UÙ4TVE(l(J -(LbBu;@gÀWSkg6q%[L=@T@ P fC dzPլՊww-j\eThܚuevU`duG!ˤeSo9# |HdD ֛|,2/jSዀjLOzF@ B(PLc GV3o\С q3jX( %^H$Ε*.EbEL-$?PW>Ni{;쬬Qq 4^Պ߿kdT!@,+L@T,hX#$YHsmղ| !C%C[b*_ؕ˾*mGJ॰([K%lYfrE8Pseqinr/data/pK.RData0000644000176000001440000000050212440112126013771 0ustar ripleyusers r0b```b`fdb`b2Y# 'HYbb> fwPbc0p<g_|׀P>\"T_ 3A`&L?D\Šc4x _-th2PYLCi!(- W\W_JWҸ -j(1ÚZ d#"唕SXY\asu|K+<̜Ԣ|87?'?7?62Z΢r=d١0 cx0Fb0AĒD"@?#Oseqinr/data/JLO.RData0000644000176000001440000011537012440112106014053 0ustar ripleyusers7zXZi"6!Xh⚻])TW"nRʟѫ3^9{/r8A l󺛁a<զ(9uXX+8$_DeeOL]f?ϝa x\C7j+x )`ڗtpg,ZCiaii.`̎lLmlRE)H21>92ủcJOqm[@,͋.NwK_fDpnu m_q7 _p8bY@JYyV|`MV| ' fÇ?Kuml˴ǽ`]q>YnDnZu.a $ٹY\R_Daz,urm,ƫF PV|>vcE^ʺ[  #wC-f(AxSH.q|FZtc̯8O3: LZY+9z /hZvoEZwqk&x+{1wD!5QLe3U]?ahYw'ɸb8 |4,E I8ʲsKBdiDmP#,dyA-;WgvRc_\(1 /R?+30x5^9k$gfvM һ"qFК-Z(M $JKx:ڠl2s$^)}4D nT52^mdUS0r&SsgA/W%)_w&F]cou+v6+ 2/MqVvD䦤EpR@Z䆇HZQ36~``#b!XVMȘ7QY:?/u0R>`F?Λ9ť%}ݨf3oh‘(ͦjg ۱N Ys9k7s~#;x"ΎL# tڪ <A.6/~7jcd^';ÝV.ITÝt03FEO6!u_Tu^v8 AM뵋Wq~'zx/`QOD'n]'-ur[6Ic‡>ܠ{I'&($Q-,s{ `y;!KLPUp6 ⴣ_࡛rz!\$SD"oϠvg;!FԢq<MG̸E F$Y1,[". EuD a2/[+#`0UpAѨNvB-Uz,(w3[g{i'J”C$,5\C2 [Mt,8N>(|mH.qk 5u~db<4G2H8 Q1J[$ 0 ,_+YȖ|oZ 4uS'Pxx}钆$uzCPofr:`)a(ZXǑ4VI jG:u[5R,§_j;/ FrL>f]({nŘ6vs=piGX0L30:L'+iRQ~RЂ)j;>::wxway@XYM=zӭk"UgekJ%GK6/-.s[dB>OIpI E7a;@;SQPw +_dFI"UQԘ.|ƻ #wgݕ'OX ~֨*=8]0G>I_;Um 5|{lKwG,Q&#pnnfZ/gO q)T7~H[VBt-݂*3}'{\OB<7Ej QÍ$7| _S90W%Aǁ88D'$br¼SZ+)8(pҋ LS4r8;ϵof5ePSJKt^zMoI~֤8leT 0 2vքI9q B3CG<:9a?; "3 +8\kUNr 063Zj$lmtޢT)#q祐.1TPF|E2_yw "}{|4Zs"^"m[+sy@=~ ]]5Tkh x֌vr4.`.QTb{0OƜ4Ftݔn5Fj5!uN)81˅|SKЋ; Wˇ \,i`Ъ۰a,oߥݰW.Nj=[:;\d0Ns^5Psŷ,4 5Ɍgӿj vX̄B IU:)\Vj,[~z*_-i޶mo =>$ic/v 4wp?q_J\ðӣC"),+QOM$3AO]-'T<[KBE]H## {0AlLG|sj sb{[]%jmK@fJZMdv#߇VE (b5r,yF!=QٵF ԷdHՠAm!RW^;)o3y4 |az$ 2`v1{4|񐕺oR D85pOber)d8BSczU&J:ج<+۲.*Lk/[#MTa,EiӽM3R`@FҚ:@\y.˾98t[& ~v|6pD rr>U^X >mFU<u׺d.l)5w;&[-;wY7LIcX,yYsN `PuJb|5LVαJq}%z| )\i?|Oş-R9[S_)KGۋ".W e=¨>ErP>v1 g| ۠AHnEca| OsR6heOHG b2yO5B<]~VgMx -ǹ7*/Z=DP$m*&ykom_]r}})eb1X_4-fKu︳IH&YOǁF(%mr K5xGΗ`!A61)p“SBs0Nn;A s (v ~0>f * *Lؼav\.donM~ːl9iO<(18[^wm-PP0J'J]Zڻ ].!q`SՇo$R[ u#K9 D!K 3m3%ɨC'_VE0i.`>KK3HqcU߭#\]_QQ4|4=7 ܴ}+x=Yg|E6 P@_gbC@MZPo:{Lj.f^heWʷ~FxmVASofEJ~+sS}LnmmVQ v Ϫ-j@ -Ja4te+rË\>&V/Sy8}:hOi)%*RJ}ti?0r ȏ^#Iduw^0+3GR] ōW*C|,P' y'2o]bSaLw>hS:&%\{Gm6tx\!REƱÎ2@ʹ"mH/Y@~QC<\kc1Q3a'ކLQFpzkyA yB}BX<  Q%f{@:!3r.%syT"ݥÝ 4c&)eP~!)@I_1݂kz7 KG%{_U'H@8{B^Y71orLќFso'D'Ds'=>Mc9,vsO子9QL8j>PCQe]-<*^u-2̄W5a'\ 1G )j8}h|5dc>Hș^(X8 d'2N-Qy0}+4r&XG;x}Tv:u• ݬጠ #\ [aۮdn:)#Ƿ+sSNXFЦKaߐH0?Gw39eC+N15ѮJGvy˭~* m[%JW!I J>A8'PGׂ/gS?KL@GLF/ڥVɮ p wm̓27yP2:x}e5(~rqZYȊlx!8Sj:mEءrL0rcsm"ı +nzJl':BkEnttg703_g%c.ҥ+#bQʂ,Ptow'F$AIBvSR6#LSNJp&,lopPy\H بl:7#77B5yrG 4vJڜBa S\dM ~En3NJQv4Uش]cVk'zuqg*PX^7Xq{g"~HD&#Cw#)ZwuuZ ×ǒ""*\%G,$FU6 ॸwǙ馸쿳ɣ>IaE:Ũ swj2⏢_ǯ$% LIi-D'7Hj6rȍ]!0QeI kwW%'b:b25??[rכ*/v;TVo? {Gn8\U9K1r(b&=y<7@Yk6/ji @#ki +{X(A<b)8u&}9Z<0ouvb1u!ڥXʃ <͖ :.6pp{_aCz9x='3 -8dȓfO>L^Ռ1Ri;!d1JE1|L&[]\[,koH)}as{bŸ QJ` (-H!K"[ i0=Le39D-kJ=4 ;KW O\(x!53/_O (.Val糥pn FBvge;ڊ)V(P\!aJ >Vy ZcMw{A Yʷݲ(:^OX}z-1̋;56#ypTZR+#6qΉT`O^}ǪH]GAN&2ܑ8K[5?xR5+D>(%hY^t`޸|*BK)V;o',{(uA2'}9Z7w(zzIR&1r\Y1JVxKh 'TD_a-,1[3kOY* Za,QbXUxvM"Tif?^uj(lZ͚~P}]vuMoe.3 d'%&?<S;iT4_IT0[5B)Нn8wTuER\`A R:/NQsΌJ 8aQ4[Ms96UlSzk=䋊gAPqQ: L/򎈲Wk8`мxc8"kÌ sPZ@i.A]͋: 0e ք5ޘgI>.`r6j *k!iv:.-I҉'~϶EF3Z#)@ñ ?"˭0 U3EaZ>}B4 \Q gf7OE86*) h:,Sczߺ w8oҬcj!=;<#y-fMf3a`^q%(ǥƜQ25(]M_i7޳z(AlHTe@55V+>&t|M}*?%#ww&WZ 9=BAdsbR{6NΧy)8]8' |'?< _kaeOM1RYz,{^-!3pzc&h\Z1_rzdH*+qCU^hOzaVpsv^}E<۳6l;x '(+^6 4oon/3y%ڭ'VTJB^SH9k7՝F?r3v- % =}}|7ck_`#xYu $;Eu0Oi1jDsw>D 95'fMA=he6 hyeSfzyW/}7-YM^x[n|a0d˾pkHʧ,-ʕ+E-)8 ZM f){Eᴹ!^cxw_(h(qX?4J5o1q-+Tc~e'g_hEۧr2Q\:l3t`.(-q,L1T*X9G{Mԩj qԜ; @lϚ*0[ma b:-TIqv!FK\8Gs[H'uX^N3;vo)9DMj|UΔRvsJ_qiJq-Aɖ“hxUHZQ+)*}mK,CV,ޘHQ MC}fxks^aVZ^K*:$b񑉫uM0=_`KtV3_=q8(7xhDR [ (gX|_U!1  ,"r<>y3N$VkOtVZ ^@"{УOњ*UTQҿ <>@n;Ӗrhȥ{mu mܒ԰c8$wF<G#Y{defrQEaeHYdowx~}1-ݵ׀_L^:x?o]]mKs$"bH|q=-*=^QUwZ /h°jz{/%.C];"Ėy4BtHrj{jlܺB5AN0§0yfD}TfTn_ǺB}IR!(X7B"|apHoV"ר$ы(æd̿ny.5*"elx *Gئ">(tpCY t~S<=~'\C2GkJRċ~&=<}ҥDZ+Q=Αr$kw<%T%|`koG za\ǚt&iس5d.e)1  Е/V"8' N"QGs7]hDYy X3~:=(XHG SPnj4w2#/ E_΃k̹dIh2LY۹-[#cO%MZ^SRuOo*,Т/ 3RZ?ceUon'ȑت?&P\< L7pnyl550Ct -ybv B;}$͏ (x#N]hoKn q'u XC6OZ(dž@JB$V!Ц5Xve6QQ%ʺ\-)BHL^,8g񸯞\@mkAB٢j1Ǒ1G}w\@j;=ruP &%_PLOg*V{{a2f=0($7ڀ*T`/еT+B?J EcHE.OpkEg!9 G%k` DL9`YhQƊpd[{[`7A?:93 yr.`n3e"upSԎj c2l6ur'dw0WJc,LAp0 6V@r.*۷]3@]egCB=c߽'1]> NԍPl3̝x`)"rЃgT lZZ%$垿p%7z'ZJ(&F՜M2.(;)90"lyěi~gh/qXZJ4gi&-ؔBP1S(tL r+m)CU1ewTG{L(N`Nd>#W.%Xe䰍Ռa˛(Ev<rRՕv&F@KZ%'()qL9&3[Ċ67_K5SurE&1aFBèVS ԰/WÁ628aL4zsJ@1qnqN*?k$MXm{E'$3bFvS4adXy2ϙF>Tu#˂.R*9mhpS>6zx2VVzLВ iω51<MwbAݾAoWA" C!3X[6U]#m8H4A9Z4J~+o)WUîEZaߋIe6]b5&8e۰=U_2Tvr/Er "0ꛟNdas=SE . B C\,qhj8e!f4kYi-0t>J]|xDJ* и[ st,Ԯ&G6X dфWEHIs~h>(v&-&bK=RY yol@Y!;>Xdn=8!#/E S!?9Md۟pϔKa#!ӆ:c̿R oȂ0@=\Ҧi$Ԍ9b^'ZE-')KPn{ řmZG* ¨1:T_.'Q"t]Mqnil^VB0tORY[#5`.8 2t#M{{[qg!J wu:oY4+u:xCeٝ ?A߯Pga%cc ;͇F;hGx 0w^_ES~N(%ܴ~vj.΀WlHR0*P/*VLj' [UuEaf6H'ZEYt)G7>,X_ݪ!PM.#"8N]w=ŒjQjGj3W8{UBˑ…uP&{7zK9'{3{/2,(/^mLjp;Nd*;jBsߑQh5[9n (oXk\,u-,ԎƬw8@+b3d7wN Jc4-E>7tFj %hȂZk\Wk&a?x@ꯇJUUggU Qي !tZi%s,$A4 k=9n[(tN ~,ݿ䂡(5Xy-H Z 1Yt8Y1ߴp*/8bԯ08M8lj) ғ%x-І|e#*ܭPFTR6Δ"j @ٿ s1 {[佩$OvE Fyoı}29NqG '_g9L'{ >UY3 6\31/I8>)+^Er$ ?bՉ`$#-Q3=)(HBr>~{du]5B˦MK==VI&^5e3Ґ뀺Zn.r ouϺ\$wL@ ūihkbOPts,PA [0!y1ҎUTii<&5E˨D!ُ egA&"an!(ٲf{b^k$wDh!ENC7c)_B -_yp ,&,$eNN\XƩֳKXT` &yQ10;Iӎ]EoLG *}/J={TDͽq( *IVJl"@I&cށ:AipX 8艒]׬&t99벹4J Reֱ)ӉiB Y8-}B|iM3)i3*p@`@{{fm5cYϏ~g剁U(^hLNyݔ+3CGG``^TJs U L+ZAܹK,L!$H% "ڕC{X Mb 8agI'萐 x{ WvמI頬oσ!ރ=vٛEa}\KT`U&RXruH-M#ЈS(1ՅbQotoi a8n EY6B#={Q |.XHzۿF=W(uX)Pgm ?q(@:)QDrj8 ^(ئ\mPMogaƢ2PV%#r=֨(i# F\'uvȶ(E1kwѓB3,fJ W=Z}(B۪PA yUꋼ"Ih&}`_ɸ97ڡ\gl+v>,FxN+kl5.kA\F J~WZ:N,S0R۬ΫS+?wg#.:%5w 4tDP DE:>vf2+ש-o8ɻhkH(!Y듁{dª ) X8\ 4$@JN DtYv!:+Ab-)4n>2D:S]ϥUxT؃TήO=I4:\A: ]D`X9=4qNh9Ό. x$CjXtz,k 6D#@=Scx x푗Q*qxڍ{lY^`NDꞹu||rU6i4vkg|(8S.GXdnċ$[T3wJ~DR+8V Pd0=\SHKfhV %+Sݠ6^Io6<6A|]q2.~vFLW%:h-dp e(GC#߮D>$r\&ՓEɁy0~pL<$RyÝ"Cm*o> xW3(Sm9.,.v1PJ^€+ڶӸ{]1֯m%/#a_g \.ZT`jBovP4}Bs\!Y?Yъ)o(+дd{Ζbp;WZޓO+'H@UH($VV6Hd.w3o=8@"!7lrh`$zur.60Bu.GYAk{ GiUedϜliw ʋ跎X9Q :UP ǡrz oٜLjX庎&ğm$4i]cOxBkaˬB $:F Qo3ˉw}*4S΂ -d&4"g.}綣]6~=Wdu{{I>w7,"Y/1(ߠZ2q{)^n6GV_Mg~)]ѩHai%V'"u{b)hxapOF-7K*Mfb$.`".ѐk%$mh4ӌ>A9 asfT {~;lƗgC ex UYT0Ԕ]"2KwT,$2+h//N$EN &,L=5]jx‚rn kM`o: 9Xjߙ 3ў-m| ,ӝޚ#:W qذ#x'G)fnҌ:(JerBXa=|V$KPH[|%E/D3R>A0F aѽ;p'N8 w +nv5%+h#~*M87bn0}*2o`rB:߁jcݙ۩ыoCXif[P&pHAbLjĆA7xTvU;Z4#{: 3O#9aNȓ AE3(rvxoM.+OJjGHrET"*\Gʕ~D0:N!W'LQ{r<@+?VejuZYȁXbl-rv86.6k(4 «Km)6웾((J3?L&b2)5k؏|d\Ƶ[aCs2mFm1:pb9C5c]OWBS ,SeNz(nM"Љ O _ *p}0ļR9J2f`M3l9.!MU :,يE)urBhntXW}PHjA#K޹Mh5r `݂K,nU[$fk?zUXB#|3b``h]g1n)Sc$Ȋ8#Œqf} M2 ܀Hh D/Ծ8: o(,@;]"ے%t 98W{#җFw`C1l%Z3RbP|V0k%kq!D&8N3<[` "]`F^o@σ#$?rʚ^O^bU3̮˴8|)A Q-Cm/2KELPAͬ֫O?tPZɶS,7s~S_㸏9*W9!h{-aTߵ_P$KN\ٝ;3kr+X $*BɛB|);RK-,zK7#WK/<~(,BU m7ǀ"L 3QL5wDj,W#\](-_zեmY_Idqi9+/+gi׬{Sl3ђ.W}Us5p[h(~e3àݼt_5(b ql訦 -xdm?ꮺ?9UBf!weOH;5̌jd7( $w"g*| QmC+|"> UAw+Bi\b-yoKm$cS̷rKwZָ0F1NR9 OD-VM,/5- 3h<1}7VMDLVF{jo, P)11w-(]ܵk1akʹUu%«lfk;1[f j[RS=~Sq*鹊8Tm363r#-|O:' =5!H:OWxUwTI3&K#>];Vv:ޠ`3C ˿>/Q0w,5jR8x[T`JJ@ lbyX~8!VRS>맍ڸaf^@]߬]?Te (T u m)zxf3 jn:]ItX{@:R(1HLp9Xhٺ[ t\vȆSi9V~~K_w D"*B3w': yX{`mK/tAÿZt&@{Bdヤ):qh{^0X}JuNl$zI6;3Cp wVXqLx߄!cqiYi_uG,^궸Jx`0y҂ZM+A#i@A@,`UtNFgT"8l;=jn'T!]hlЭx8xD}X%PV-^0ZʼP[k- c] c8bAMH~t] 4 Y}b‘ t.'"(inxپyCQ:|߰ 6wswJoɫ;qwל_BDF.b,ÊPC{v q[lE {ؖބkRq%qNg?D+H?jfίBcNySa̬MPGϨ,"ݪ&a;y9خbe y{!Z8^-{EsxM\) AniӡhRpK| cKCl$Z5 3ȁ}2g֙bUEƔ1_>cgPVpD wN\dv)8yo$PxU +6Ὗ;GN e8̚e!~0< 6Qv7xSlV?׏v?Ll'|0}PJWINY!G{5Y\AO 8a{.T֎RF_$ $Wj6afUJ2 #5*=h"t%$U*!O,.ys 8~ܦۅ!b)Lp-^: [Jjq$7>vIN V(~C&Re*ЌiY4]W*dL֜poQQ&)`utɖ6℄L60t;In2ȬC-:YzSIB?:Oנ:0QmmY_g54?ߢ$k/>y(GF'ʞz򠴷?op S*1aDGҷ;,nSpAc-~ˍmujj8s@dR\t/&+&KHIc>?ٲL;E".ΊQGXb8y3}%xrG-$P" CyChvV` 0Q HTtaQu^-E =crzpQ?o=ȀFbw ;-j[&ta1DtYu}9ZBǡPKNUcL)"Q~1uџH !;|J6\E54_bnXǟK+较*FoWO=l$Biη0r@gaF,M|G8j1WEuh<UDrGp=5+1mw;id{GJrWurI=Y>Fۻ% Wa.K N~Bo_s 4oyЛá. Tm 5lj~j8 :iw\/ ]!t75 !"#0N10fGޫlgJc Cwq;9Q͌U 0,HwR!n8df PO^'F0>pW}k.鐢юLOvxԘ>9)'_04wv w͢\P*>o{8`{v|bBZZњg0rr9[9 ~-,eZ*3r&O0g -CI-q% le&*:[ؠ\E`i/Zٞ FeB0IQ%g3kN~IZ B]j+M- 43N=.ӷ#8i-EzT ΑfZ@o'bU'ŸU-2U"4FMqyS=?4}Y~H)H‘.m KuGDS߰VwVOs5@Jb晑UI{܋ZlvYx}L"z.Q jei[F="JׁuH ـ}89;Y!Eմ,&DixWƣsazJݨ#@!˸ioF Mf0{nxZ@ l~#P6sd}po`@"A`b/NcC}-ԝ/Z@h!RK@К~ ^Og w7!|)O<*& ܶۡxAʋu7Vh"DZ~ȯa%fl\;آ6H+~ io)W*r=k7q6qhz-#=w.)8Ds'aDB\|C+$68阏L`irЩ zJ&*kgptrNxJcxeW2O| @k<׋*:NQ6Ң~??HA&/&ljլ=]%Ғ%tLZZޑ_HNpNGrZ+U^am"F ZX<,@n\<<dvI[I-. cYr\o%T6~iQ_ @fxoV]Roj,m}.-,DoEU6t:#3EPs&^5t~} $"'Q3$i΀L1D䍟&L/8o{+$`@5DXqa:~o eQZ~t:Z&hz=,L6c )_I9xz v}@}__*XjBxn&{6@cް5Thk)VLW6a=Lg=eg5$g߀BV[K*;_o2^n!C?Nj!v0Z&˷>n0vmQS/u6Ȩ (&ilVРzͪ|\s҇]B$~g>@BqC3hN:vϑ/AeQ__0c\@>)<5YkatҕQHrue?{720%㐕E xJKGϸF8>C T"^/X^λ[t %=p}m` +z Xx7O!:9mǿ*[Kγ_䔆ϵB{7uLO;}IG1J׋P--$I,,8~Ъ |CtQݝDZ%feŰIOR8yD*6:G'I^ςt'*2824G,t7)ʨFtض͉<_6XZ/< ̠lx` "/d.ua%$03+U˽=DKn ktKs_M ;=>_OiC0\$"t#x]j}^r%L5!DsuV DWK/x FH$%#͞,rP(fL{e -T;M5~v g~g z&T c$ RJVecu}286PݖCw(qڳM}s,W3N@ߌZy) rk_UwnNk%cu|w᱿.*K;71DE E,9p6fp.NF+X1hܖ> "o6XåfR̶&۳ɶѷJ)KH;]Q%/>/M854zJKgl.dҠs6=#YTlmC'Ef˗Efʴ`2WYl׺~2CyM"$|~`ZC]LLLY P0X}]dy9.I~b9hZXu$"+?+M@㏧l;9q,e]ٿ^niؚ{aV*7K:YY|М`% F]&+]o+X΁4(hxNrIȐHhZw#CkM+z^Yq ܷ^,."JB~N(H`Z(ُm1(&#ew?P]LL=H$$=K9xݠAޜtfGȩX2pOCH\~̃&_ xi ?L`ڔx!|ZԸ8DY * +ׅ4؞Gk`\h\d6P.JNu|=B4n|;4= e{⼕*  zH JVu5[A@}_!U^ "UQz:d٘o q5! `N'Y%q2s IV(T"٪$)M"Y8Ȏn!{0-@5qˤb([z0]Y=yH9 KWXn#-p7gW_ezS+Nw 0 7Ogqu]6/ʝe/kA -ϖ8yk3j=V醈3TQWp"˳ ;שYC 2ee&mgKYu"u oMI.vF4ۛMॐ#a;]\K }8)#4r҅8uq~% i+.QS !W-"#1ű5_}VKР&`'mz_< j(:jE t9V}ghom,4x5nO*3ڐTV"w!|$\;c! [qվ6d͵JL 8hAEЙ9WA7Pà`|խ0{~"%2YPN$ Tc@Ng8+KVM3Ъ_0J)PBܐv98۬٥g_d+2j=k"ye hP ,ƼY:Q/lHI& {)X 0y^gH9R@>ag$8'R*!=y<8󤘟2eL )f\O\4;[B-=^@?{oXȮ6Owb۬,YH%,JGYlQpdd07ۏYݬ䯶N Ԧ} JV݊˾XsVȓ0}j .艖vȘq%{=0%PwIE.n$LiA҅v)=+jal oVJ* 3=#\g'C8ڮ @>u-/d̳}]ěe [mW D˾RU@8:<;l-*]l\`:2ªzQb*zn;]߀q뉀0$q/Ԩ (M'}Hb"GwbqNnlnD%#rwώtnɠྰ*#Xۘ.ݞQYc/^k:=X=4͚sXqvmo-RU AQϼ<۱Ѓ#kjg-O[MZQ[zK#54WJ<Ia `,խ0jI3 T99m,F; 'M?_ﱉcf~I-ƐQ)DmQ?y幑ᱻ`| 3fM5@5!6Cj׷|\0< uhʻ56Å]ȱxG6-5bwKtq׸juSOȮ~[ag cr&M#;>I і!~ځRO[i8R.+*K'3}Ͳd6AI4?OA[_?+tLw#;(V"@ NzEsa ll`B\Q9nMv{]Bd+$2WƔ/\4GB=]x?~s3]J$hӕLȟ)RM9W:15aӡ:\ X-X90b\\ӂ)fK(NQh-գ}N*|Mb&.uc%&T1=#ܫ`&8eb` *Pj)| 2WQH^60WcA:Ӿ}_F/z}ŀɚ`?(c UTio79bC^*fm2hA(P3[,&jo#d0 #Vyہ'*m35•:bCkiĊ\bӞa ㆹ.GEM|dW IfSZ1 q7}wKs Qԛ²* ׎h_^Ktb?8 s Ț\ȁT}(]4K~Ľv)fSXW 1pv;%oMC5xbW0p][>aS.!\dG\ۨgxQϰGD } R99M5->L`>EC8ZL`6]rB غB .ĬᚘGoĹkA"jaA6~c[Ԅ6T4>FTߞt[2DT&?0;!M>T!|WzF`a*G7s 6eظi92ͱefDhݩоe mWG @Eq(M;A Y#†9BV(C`3XpƾrpTUH8M03|_8d3޵uZ7 Ӄj꒯3DfzqϤsɹJߌl#P fv!ʛHRQ[\ŪM4As}w\Fe~B`>{[KzT?$YRi[%uܗlEhdN/c,9i:gO2 p}jwzN.5k8׵ԴN[ ob%dtV.Fh3l;y* Ρ=ާt|꾴+N]J-9t S> qGDŽZb@{0Cl 4]k9xd}-?vH;W$ ?l5u(/dکX]a{&gk*y(h0&Ku]$k1WF}Wd+%1y1K45-=>–DM2N*@鿽c@ b+օ< {GMn$h'DxU13(Bh¿8k2XI3Ī^,o PrR*ee|ަIqeV%ovx* ^0YR 8×h6E$g`Aۖ96G,î"70^"Ljht'ZO EG  '37*Z\,5 c@ڣ:N^mdxc Y`&h`XDnZ_r38FKV" ԅ{XJ I9ѮDP>Nf ל Q󿙭uR> ֹWhB՜SSך/yD9 9r]``ЈY-t_Ŋ 6'-֧W$qףH42VHhU&Bh @<К(3MI\cд߆/45N>obg1+A Cw@6>|-,X9NlB`fZ"'@WM[cZN,|&J D1q—&8dw1zģvi\AZo NzHɛIb5 >w&axiVeE..)n-=|w-ORQ%mRH[b !46?:a f"`]rUG&XM8Kbt3i g(>|=uG*X0}nY_3GbF{a4-,"b Zu}: łeT8?GNZ)+-y~skm\:]ʝ(uKjF>QW Ö _2^1ТxU˚-8Aݘ*Jb=+m+v81Cq^'@SUݤ #P.RZG~7)f%؛qF!ysrbF8+Tȅ3Lb]OW}q.&=O[aSZаn"vG:T|Z$gP#z'[4UE ) V<;]f.> TE83Hwv.l }n}պG>p L? ۠tD !E lYfkj&dդy)؊#JV韽FVHvK[U[{ 0Ղw-dv=!.ּXWp 8tTFUGeK&KWayazq ge"EoFm \jȴs!G0:]&ܸ=|ŧW=8[o :2?g~fI,L 4/l㩏)!83)Dz}?3(@@ݢ83ϽoKhOCv8wvd*fKǯ64iGꤑIOj{3,Eo;PFj_tk+}=d`+_VkߝfP qdtqi4Hrd3`r%NU KW]|M"\r J*bS7UMי晦SȠeGqU`|Ψ=^`~(Æ+[["H䳯BM}1rfqV7>|v2YKV$*=_v]1-q_79Bnv4-lԗ߫L7|E@~&pu==Kj0ܢgS;+!TwA,fH$_r(da$5G,z;\-"(JG`G Xi5L %lnA͐%xˆU $t o6aq)հ3!0 uiDS;d!q9e>T^ `UКa?C}+Y!t-fZ͕^U.cd@*BD b| O_PgdՏષߟ4ϑ}uyJ)Ib91d"H7Oo\UFN +F04'b2f҃{K!ljJٯu@[JRzf)d<EЅ7P/&',J EX`9AkjDzf0նIkiSf9:zK';v+Rұdz=_]OSZA xQ{V>'ՔCaZ8}@U5%Tv{um怬P;/h &_"nv ʺ䃒g,v6N-Ha$DS3C)sqJ8is~I wgyPHECA)59/UD;̱aC;!4O>' OX o1deZ Z=̠lWa;,̝n1GWҊ6?u4! @Xщ /ry!tśŋNãZ$ $q蕞4 'ꯓ@Nj003Ǔ"oF|T7=L9 C%M!$qRqZ- vءf},Hq-hQ0*^* `8Lk?l9MؙZfXxbJZ *ɿcK0YilR>.deLaeN?F1=gCw?wX{ŊcGE-Tulroc0Ϩ0r#t1}^$К¨I> G%ΝÕDfp٦ܔ%~*Q nabڧ^llzf’(||8e+y )o' uZ9Qغ˻qoZ'ao$`)]aj3|N g#ຑRf!˵Q[:@2jX-}((4ndUc\g)Fff%!OLC֋wt"䰣{ Izfg&ɥ v0©wџ^ B^V_bJrMdx'Q1Xppb87xociroT`PI"OJiˆZ 5gWzbb$C)/[5G9`-)J{5S<;)`|dD +F\G>=iq=\Y)g[ܪ{4S5hNy &MN^ 3#Eۘx ~+]vRowI텿A|bKIxI.hSZp);x74e}8ȇg6)A'QQd&YsG:Z^:"%-O6{v4sd lHHfp6i evJ)Mfߘ (oɇ{chHTЩz2 :,=t駅R䦢.qmd{džV7wF@fLwOrX~HĹ nWg8|f+U\`O0Dt۶!qKYWtIdz>>>&闰Oㆫ"F‡kC&K&5zr,} 0kVEV3̀ 9UUXN&N u=a7b+D[19>< VVԩ#є=qH6O߭$klz)`OD'{+aX Qx>w(| ͜n 1@[S1ݯMm9Z0D, =`{DKmgH9!+2]uE'ڬF@al"SqZ索}Zo{'@/ቢ{ti]z3^b _aY YU_@ӂBdWYHԑ}GW'2pD"UVFpi 99D nC(ϒͩaI26_Xl9B IhPuJʗܘoؔ[+#&O q*5mPj $!>EYET$IUa 0[иSB³f]{4ZFBen 5a.N*OGKШ(2\oG, )դ~,E`̖C@t/HxxP+:R-b|w`ޏ[Է)˥((l>+򗂗e"} ;؋P_7 x*d3"6j) $@p02Xxp: zK)s?cʙWZye"50m9Y%"lKmg%j]0 }cCLQr*hZ,pweKC2!cT y%܂37+>v}n= zmI;x6A"4,764-D*J,;٨6鴢,R]%Švǎ :Ǒ3m{˰r:a%fN'*w]JOW$geJYVܬAz0wum֦ UٻS!xqѣ t7:%ܫ oЇC0NR%?9ųt9<ֿHFzptXFK9gUMgVĘ81w_1`!'^?‹mu Qg-EV^Q QVJuXkSR-E۩gjE@rH</>o &Evo[EdOэ^RAH`nK|j:| C~͋=(k!S8!I {W/cKEL#ق Gh1G߲KNBL"Y%.R̲ywDVʔ=_Oh.2=Fw5'6X:9s4jt.rުx=cSo7z 1 hںǬ@N$Xe76s;xJ>ꑗX*-M_LUA|j`**∕F!AI{Ǜ->.!~jJel]Jd"ɿ"< S9wŬ#ZR6z-iyW 6@KA⻚K7'Fi6ZtG&|,1poXD{D]gt1.C@Sͮ~@ JM@)2 yH`M?N|`y.:̷41Dń'5-a2@7nƘH`pF1e2є9 kQD ݽưQO(ɪ#ڇz:-+%[y])4ٴCԞ󒘗Tܔdeg֣\3 cp:u(3U,&=@#R $9 ųur rDNv;[HL]is> yiQ/B|<(x H%H^n9D&^4"iaA_denUQ *,4Ie`k;X:ym2^;:\RkDmsĩ|96H:_z;}EXSAyȄ)m

)x7CBUB@Dm<*.S1t-JY5F%ϰSjlf g'{p6b5;bZ~O]{71"M+3Tfץ~eC9nHoe}wʱ5 yyKk_h=PWu-o uRzQ3:;;¡7E6`Z=F%"C,ɻ1UUo vZp)|"~cVN/C X%M#R̻4^H[XZzM`'hLq&沸+~Z r0PGY~j9V">/٬[5*SY?ϿAc{#`MPiGZZ$\ܖ~nrUa/q)ƿk?NWU#cRNW'Jt ;BvN!q?_4'o M l#fBNCek*Hgp44%U]P$«H4bGNBwd8.;!ZBN*Ifx mLu07fI ĸQc9faH4տ&s;ZzP eM\ 6et#MT'].յD轡4*ho0ѓʑ32`k1ZƳch=djHyr!1 *y9TMj2L`k%,s˃}¼.jɉtt9DV hT4(IRN"$/{DJZӦdXyYY.D|c-}6ĕjNpz{p~K?~#O ":,$>'c B$l P}C@&RdP'@R"`\ a>F^*MiّYN9yZp$ i͹W֕{L9fzvyM>4Qv 3ԳH<^i{wP82_ܐ=9@ sz[1̣YUT'SmZm)Q6Epڧaڅ63j1mf}}RyxNOi.vq {ɔtgJm@~QHQ*}0 YZseqinr/data/ECH.RData0000644000176000001440000011304412440112106014022 0ustar ripleyusers7zXZi"6!XS[])TW"nRʟѫ3^9{/r8A kbۓշ-n86v@6^ Pޢ*)T $)a ֛Qjx*)%GEx=$UXwIt3*FևN58*a۴Y' hװpB[D8[ CPb)D|#j)sasqVV@e9K'ulVV8SADAU#rg'gQWC.K5TFZQ<'s<# 7tfH[Yܐb' oz'=aPWtpjPu肺`"|bϭ;ʹіe9V {^uɽhoy>UEmķ-lb*ԄgA)? ȠA1bd<}7F kbBok!#PYv70뺺{S3k쫴vw8Rҟ W0j0ݩ :,h@ 3ɪUR_C5&.wwi%1VgIq0u(x@0k6 !3sJx!gn,ޚE:t :9YQ C!:L i+4=j&}x̱ sO_'b/~*e6= yξA4m>Fu, 2˥ZTUriqJX͐v -pFDхDM`-i=߅rl)f54" !69 hOe)kݪb"$)V4lNrnL0h, MuHOfʩ|(ј>;-3Ŵz< H7+%G'|J f}ѧ9 %'Ϋc4aN_&'y%OT?nI|(&4G)+zUm`~AOYŖ`OK!lSN8q u[8(qqc5dA,d43Fa!RX ́xi:^ l;zh 1ŷT8`rX1#Ee̛Eeh*Qu0̾C)tOet?d ?xezԹg*:F 1 Yڬ] <q&[O۬εkv%8:铖%abKW.lAP)б2hM;'*`$ dLa!Do, !3I-Z4mJ:^m*]J"'69{+[d 篃x Y+tA'ZĮQNȧF7llLxW/-2Fb{,ds _5@5nx<_V/H0&?!>7qtqB}P$c׉{f>2fLIg8K 3TlMŒz&ed*1y(5ylYҐfQ^{qpP:VNL\^pZ< #&$KxӼuB5ܩʻ +aoJ! Eǿy;EGNQй="#Qt)1f0$K=>͓5T_Z]@:mGlc%QF!~W{[9B{HBR4!^tpײo4 E% Vt}bgL#JExʿgrb1^WlY2Aqm4)pTö^mC@SԵCm WMʕbiN'yXLSQ4VA(>WW`iOc(߯Z;_61qbjEEq!~l\W=EW8r<AXZfd_MmKlN  &vvKLkyzK6gCFP0'n\ ;lа۔Znfk]YmFٿ5%nJ*np8(qL㮶X+&b+sjs~ ͙\PVF &%S$ΤOH{qTGI4gtw(I g*1èo_:VPO* I- \Wl;$K P fNj韤;^);ZݩNYy LќV˦/PflvR+h/s-V8*[{YN}>(,&xĿ,~* }m'HT$O*k_-!#A ZpRYߖBW qd*\6!T$D缘+@B/WcN8Q ؀Nz\F =-G(CڎEt0S_}Tdq“h8VŘUcذș-Z׶汞R`s@9 Z`OPιai(߳+#y3P-+Ń'$\I|~.̟?;6#d%ۇ+? zwy&^u֍p0S( q~";}XXv^smA}ZA@c[DGE4]`.\ȶ/}wXM+u"U > ]|.htG]%:hU_UE,]\TckΡp" ϔe:>kSbU8Iv%[Q Yyp}PGČyn܊ (mQ K=d}ݯU8rJ*4zt $wWQa:F]ր's-[PѾb=8 v #jCz+z/L+egˈAztzh7*~XOԣd >XŒI zQ0{oJ0>֕BA泟 ,h 7=pylbr5:A^&uL򋌨TfI|Ǡat]M61 LH&sM1$XRN2GWr(6UO,oB"ǮkD̵©agь|_TvV<Yi֑  kO/u.j|F9E^y'|HZM>/˔[@-+Xv)GYWuTL7XX͐Y /Q jA|:M$hFV ُOǿ1biƈКTceT;GnvpVQsO gKsp7)ŝZ)H*oi C2"y2"?lT 9eWjӆ|agrꝟ-zvƷ߷nȘ<M/l_zLN*q&)N@3⮇gsDIg [w|(9<q mə9tѕEk$qN^vl0y83gշzPeËHQ@CsF W/ _& 01hzòvPy>ߨGUŅPJ]BNɌMb0Su={|UL _ʔqv8}jù˒Ͳʱʶ5A.^ :c# YFY=,ai}PsR~#a~q;C];~دǮl(ŔK Ch|ds\ ևNx ;@O>ꬽ|c&3{ QQn%-^FޝjȯS#f#Wȱ L ~>esnq?,${{zYIOV-hl'&bqA?/+'-‹X΃b[~dLj@ë($ju uX _$0HHPJyrid U 8{ : !I_{@(z<_h_K' MII"P:4YM&&[k )eP<uB}\p>|2ͪ ۛxpZaw ~fK*r7|g5U>VymH> =  )OW+OLشUCq  H2 j4,Z%MWFPrkH1<$r02@#Ps(/5_^*7"f}l5ąt;u2PGTnNi}+ „魉]~9ܣFh4EJ}J̗Sl3C3;ֲo(ǘ[-۪aL JU9s`7/}K"uY1_\S5Yyy.WBUXBЕ* VbfemIH%daxTZqet's[L>jLdylba>#NgS8c1?B c0gu%sd\ :Y {M\3nb͒v11>`yTi?4,K[vξ fK>ryffSAQvRnDPԙdtfBf4id`2AD!CA<L~r_Uoay}4"_yp0ܻ&CHbN6ҢҒq쒚Q5K%Y.!0#]c{HV{T ;̽ʝ&}*6aPv`Jr}CF!nX]]AzvM$jC5 #@uѤ jЧ޳Z؂R4P:I]!v%oAG65DS25vAn3Ḫ$K.i IcP (sx?e=^/ ӀM!yBlDJD+:Vbxh TrIutg}leOsm*森=b$فѪgz|, Off eYX8 @r\//vZUyZTt720V+E,A%R<49F^(Gې.3ALQ&[fh o@5~MEm ?v%!fFB? \Ta*AN(Af4Lo.bx7_r?NkQ/'E9e Rθ~‰+b)v^ Yi=S>jxEuwezr6䝫^9}?dz}I+٫;Jݓez47Pʏ##S^TRdzhL&x2 =NhҗUѤ/y19׆nE+ sV`H]2@GZܦ2=RɤX}>yF^&# uyKlXol8-P}5 7?uyIоڇ^C&eń![{0?[8l7"w䋅Mj~T6Q5I/,4ԟG!"2S)r< *ѬeXrtPrڋ;$z kcLꗽ %nY䳤/ 9l'!B4l}$0=5+v"-|k6plLHH<..8e9W)M蛒 h^P;$ڌ!!dBE"ࡰBSȪ1ߴ:@ϼudݨ_fWLZOCZ3sV%rY7IVu`\LVM7?{o;gj8KUɚ̴faTT]X;Ra 0I r$MZW&q;HV(/K% (ϟiF`6!]?d Ið{6^ѠV/V:m'V>AC'O֍J:"(1s A0.(?x ~qƃ;C[kn Mu7Mz4>V09k6x_ H~{(M\ xrA4AdN-keK;bn:T>n GpX¥)kc@I[mnThH|RXB0KLvGtA*,^eۭQdðvPkiB6ŘͰ`{UTTNȟ=]A߿VS"&1kTMCYv fa Bt@ G%TnK6J,~SxYem7z]5Ob f~ƝԶVnr [+u^.^BF7`FRo(6~\Thx:($EnvӎyDzkwL 7-]m0N# Q; ۇq[mp+MHv_ٛ H-(J 6sKx{1;"{u Qj X)A-篡  Hpd1FI}i?踂+yVd> 6W,b5%ˤcg (A_F-GmK >ybT8ξuӏG=#K5ܐﰐ9 kRdx&f3(o-0-16@\7Dz}66`,(in\^Ebې @f~Gs*ȷ[m/`Uֽ{ߔ6mmK<|et b_MZyq0;0ߔi3lQ#k~Ag >R<@"CClq.*1 l}eag4}.U\ A‘az< }5OQ9ߪ-څdYȑMAYM /-M:pVjCMeL5\/)k߉3Ba1 _ϥL82:8x % Ɲ"\=2ë{̚׾&)M3<l 7O#=" 0foJ &{tk(XB 9EojZk( :R.o hSCٰnįS vEI A#?uv@DZ4nҀ(pоrYz{6:(IG;ȱZW]M;\ӣ4r5h`.;ѿRn~9ySY{s/eN~#٪o9'k ʿ#lyf}lRG}c9ڠdDOե!_}udo@7E-;5fR,`hѻ_}Hc9'6J/- f@NBIP)DUB9޸R]ޢ݁_+v[p@40}ͭZKGQ\LHe>%?o< 6r8=- CK^qIϰZLƶ=_$(X6WN)o٤2FAg* .k>".ORZB(@PV^gIItYϿ}+"{.djJ,~OkxCLm^Nλ*zSτhR+vwhT?oqdqrS C\|s#mGsv K˝VTw7I8* #A OG~[C&\l]AX3^˼fڧK8EJ,UD9H6q`fX`Od]sUc`G@OkV%D'B$KBZ2 /pf@lopVRAڦ{ n![w-Gٯ<1`fn,\ڵ[5ix< We3xߪ}Є_yڹ t?.aKk+s[Z,Zm9>Y$Yų E +3Z7 Q 11p+ϺBl"k H߭Blbhy=d) P&#H9XdUQ ch4&`*f5'*K=_͵ԧ(:Ǚӱǰ|].v3 /wzO`ȲZČhdi6u&}Nσ\9) ƶњ=.|k_ #¸ڟ~5r;KhgC_&\bۛ#ZEAЖ7&hF ḽ^DZ3pK] R[޺fG+_x2e܏ԵKB{.R%~eH@!b1뻉]NDǴHAj 0ʁv:}ayBeei$lXX%jB9 f ;*#͜iLgPt )(^ $tKAPL}'z02yH@]IbS|f>9gR[+0!Q@&t߫S,V$&2?'k2! & MUmnu}B0^§tC4>RQ . Tj^GA8ʻ%ߏ޸umK՛B>&Qa{ՠ29/bQ9^Z=ۜ4 ;feٰ{)Wyut}iW0swj OS-NS 2_  jwj #?{wU5~$ cto@{ cQ 3z&=;c6db\͗í}0+vOWʸRQ ϩ@TCLŷM-VWq푽 o"go7?U8,yq`SN"'l$rB}_WRuap1~2ˍ,)kLqW+$a"q?n)BfHGgܚ 4Q,uɓ9jG77MzhGfc+#2+uf鰉ilNzu\44%y0P#;)(3J/,P;@:L/i $O!8|rE2Isx,9p?!;$%CMːxtϻCA*E.i; mm#aꘜnd5fT,!נ0bwZgD ?%g4jsMPqKD%h·xN嘆F4X0kK X;|j= k+`!cQߨъUg5+mRrZͮ_zPf!PZY &˴1 &bS"wf\v{OJo'k"n/ \#Ce1N "x5)횫v]8Babڡf/Dq)Pb`*^JE|Jf3a\NqGt&=(^?ӊ}ƒ3D.~&&zX[u`g5S#ENR@ER?P4@a|V.[A+@LRl bOp ]vUo◝E7 p0iKtrt<¸~֋$4(ّX^bSِB^Qz䳦ɘCVqXecsm$Eze}SՀKshqQ0}tl 4>]Lcz{0Ei4_42S Qe]0\77  ړtYtzXߤ*#G73cƁ,8DV[zwf5- qⷎ߭V^ kvT;l}ԧy!#BzA;Flt6;mJC*M.L/n<]XD,Hgx _읁3qc^g2^V+; 4i|ֵۧ譝g28loY[`{JyvYS4 m&e6{pŊ TFv"G4D+&|r9Jl@XA%㲷k/R/ѣM36 e t=77}vV|uJ(VK4 $k\(*c]~W*ɻ3[:/qW5x斦g˝yɈY6J'P`mq K`#dz(uBOB(/C?9nڏ|+CH [E'$Ӓf?t?t]V:crc9R^8:i'W=,M|ߝ ;dn"rGcGkZ`-ѐq!HIKЏn%Ak[U"lp^4J8uUο*UԖ8ۇ+e@6+niݾXkK6v(h34qe:1g'蓣\焴8^q14L~<$9cl Ugri +* yc *hV%*BlRb$pf wekxOmw+qDxHYfB3~Vd_2XDSi>r ^-N а7RxvH.~` FTBx`e/+ĸܗodNjAt=·lNp[K얪~! O g'cAGM[x֌3~]ew:ͤwG(eAb*2k;(Zvg0 WO}~6W( (.i1̦g!O%BF~4 q|"Ck!.k'Ng,m`#r2VΉ@N[v7_%+FX+V$\kzf=8{Q oH@ځ rjpS0:rQ.]94}$+_bf5>}-& m ? ACR\'fco ЮWazgߡUXP} ݜ^=/:Rh\eVFHB >׶h[Y ] nL~s展L]{ۨ2A欁<['L [[}vRVGi}ˬ?{EF$B!L qyS4Ԝ}\J}2)zNLV *}3kb=w4 +bͥHݓn- i1!g./cWQBtu_d;z8K|a߮|~A%'2c< )7]X-9PC4hZ| 3Bͣ[M cfB2DX&R(\_S0HNISaS{" +`9'zG\g1/#7B–ѧH0 7Qq4$X*ɷKÿPDSf덑'#+ȲDUQ~FqAFNopM)ܸuP~y|j|*Xn=x~A VHu߀!>nk<5kX^hy( }&[dcOtWA?gfN3~2MɭQ¸8k ge{i<4ݖeJ.cD[+ rۇ֓qz¶:̺ʆ`5M]ózu1?[4&KXb.Z뼙]fI)W}P%9a ] ?Pa[$qqEI`OQЄ dd=Ӆ-@*t~=pc2p4}EZq=4CuعdXp-5@I6<azZXiq@I,|Se@oG8+Io]gÞyp'A! vY{8Y)fx{4"t' ǕJ+ f}ɚV1NQ_3ixS:l:aX)k:pgV,AXjG=dX&[&~D .;2TE>bUl^N%;'WmnJOz]̵ )iۼ˲ѿ3$Gm]oEX8 r!DeJ3Ӹ۪SD2jiqd芀5bH~1ށ'GPQmѸWAJdc!ʼu3T]e5-N*]~3TEW|Y ^͓",iښ"A=M-5x?x]ld< gɌ[chyw2՟Xg\!TiT_nl?qdF$|tS]&B\ Xz5=}ëD9fC^B$W:nLOީOI|}P:P[o|cHf_P! b{R;Q *)^JMf_£O}/vlp%jxQywD(|qysYI Q 9d-kS#?s=NM(k6@?F,WAgzc!$WV"/:$t,)_:֔JOζU hkD{܈u-S]\ZtI!٣˻>|R/|w(3Olsа, C%p62,‡a J:2StLSQ6@D\+q,Mv 7 l)CZJr@ף~Oo dk9ӕ{t }bT0kJ>:UgRܭ5;ŵx7V SJtEmJ$Cp -oC xK&j"Mam+QrBnum`E"+H}teRQa`۸,mZ ixe%2^eC+%rvH/%uzrk-{ٛ#+͏ttq'%KK֞Ҭ/K5 6a%@ s#=\h1{2AkrQ*Ķ~V|5*̙Ґ83 ?Z?gY2göX/QFqxw/U~V^8 \Ջ=[Xw 3^=d2['}UQxΜ0z4ؖ#Xa?|OO'Ir OxԊ"e筶"}l6-0~вeM\.̨.}jvh@nvZ Dd֚潑j6ҒB̸]~$$%AW.CYbGvbSG#p߂ṻZ9]f3h<7䅹cZK=!+?C*d/|K<3k^p g(z fܿScgޖ¸#\PŹQDFz]fWhs\B|""͘#8BLy)Q$9b)4f3 e{ȕva`8̝xh\"UGBjqgթ Arx,)bDDQ>tc `}!>?OJ1%`_O)e~p*Gz$/W9|"yVzȁ/-aoQ@~a}VU$u+9=8*fVI[% %C; %=QRrBpc=]52ՈDsY@')yF|IoUbD6DS4vJPč%B DNA2*G)Bۖo a&-h&΢#lljB"J>fs?s ?v#0T&,EHԩ}/h] oSfHRH'u/D#V10;Jˢ^fMs6y ~PEPjMB׊Jj{x":ip޺_U5# c &\ ݾ>ЌJZGS"ȕ^~yd;;2Yy8opY/<}A}p \٠7.뾒ꗫ廙]:СwwEOHg(x!E3fc~Ug1 Z27h!V4^t+yd,[YG&h]G A!A`3e7Rchd(٘u"6|4rIŠAՅ&m Pr9^ϳU s?q5,kQ3Ω ]¿: MD8jbm'̷9ԋ#Մra&{r2~ho)<ƿݜ̡mM;JLwBgrqzQF2{5~K4!1 ^E]obϖYɲhq[8+2n7X1ۿZ{ Xu)F_pr:;UZPx-F4~xTeT1TqF[D6t9˃٣7o!VhȯU[<肆݊T]0KW6S\#Ugy&ٔCDZizEG|K,_(ܓ@.! )E!9?:n. @1L.^ivS^1Ǝ43Ԧg===q(ҀMfiFУU)ѯ4AVHBlߌ ]W\TLx6ڗ*vd/.q-s"IܳA7%GTmVwԏB@٦aTv-f=Nq9KP1$9۳xX"seDWl>T`A3}~FJ2Fyt# $ho3i@r<[, u]e)]&V?s'BIdiiӻ5kn0n{2k.r0u7 GBS3UEnTaXs fRgp@7 HƐ8Ėp8ez:b52>p3bi権B^CfbΆT;T@-%$`1_Ҳ_SD3"j>`)g:|Y?ݽBȒ qۛu9<6NYڸ~5㺢f>0#6QAɍL V6[l&߇[Q-幖d j, f`Bw%p'+Wty6@s!F:΃BJw𭗳h,EE+j;-Âp jKV@TnfOa3숑)7<1͎^u5dLX&?óK=U@fNґ\p`/5aTU\W}mkj01D12hSI̎TGP?Cq!ޔȺfS|O졮ն;#&owj?<4o0 &йgGo+gݲ)e!}2)~iϋ[ ԩB>C \l e] ,R =Ѯ)aYͯ¢pM/-5É̺(60 =Dkwaس&[EIsl _->f5c7B3ltmZ~?g@97ދyX,SUSp/ގ+e1V3fu8΃=g4@ƠՃ*fi~ͷN \x ki㕰Q+VP$Z_dlGQŤ;ŸWQSa粬y`zlU_mJ|!{|QCݯCC2E"g)j:5"C%4 f"'hӠ{bn5l@AdwT D ʮ0Q37tkM{i8?\aр"`=_擉 g@ؙt9xTV 3_ 4;*щ ek KCzKĉ43r?/zD3NnQZ;cpf9%RF¬vwuei9B Dɥ W%iʴwIN]c "ah-i6io @ 5VŠᛁSϘ1Lߞ+YHz{Lg* #>Q($gd ~>Msf<JAnLD*\vR$8u6 &sOkƁ}:tt R^xv\ΈyodWU)ICQPY릘⩣>2%;bg4uxgNN`@(iQg =rD%jGb_=ZCGH0o-y AܴX71gi*ޗ6ufmgSB:ծg*VK,Y[k} K2_>)u\q'Ha4O%Iբ@Z0<< i&CפqEe)0U&ܧ8FנQLմ̝Us T=XwycoMerg7FtEUhNX@(y/ ڇ^|zq\&܇xvt?H-E[-`^ @m$r1 [>% au Z$&y:mmu`QӀy*ӿe-(>[06py^i{8/X[y>q/g3ZldaݼWCZ %4st7H.lc]/0`n1 4җ= 'ݛZZZoV4l4nr# ^2 p7ՙ>V BZGK(ꢩ?$;";-Dwe(҉Z\uEdxe#2OF;j\bs S(" QTY@YewKTMBxN6ý)&*8;d .UנdKW֘CA? 'R4C|1Bb?JGZ:82qy uۼQĨQZ;_+`_?{K"}FZ dd'z _0W{dc,nU*f_飘R/L~9oi^k4M%؅ǡff#ĀTӕO7Pd]Z$J6e LVly!5d%_+g 4ӒTSj:tDI&M*jҰ:ǎNHk_O`DŽj UV1s5pq%M}<,Z-䆟@[U$y+`bw5~.<ӟһ@rm֚rUY}m} !̚k41nL1#Is-yDT+nqL{e "[W#JBnۛZ)rZe¿6_J<qtأ:/P/O(?a X~CR\ȥ;ڢM/S huك]ИFv5~( j>z4XR3+CͲ(?~l9X㳗2;> H\3 ldf|~Hw4+ ^ xn}0۝qK8f腝Cp}w;} ӅRm?'&0O]M.,!57yٓ~"(аjWh;H8Hjk̰"]bGFw IP_;K^RW]-߾| @Tل.PO*P'ɧ>!+(V%(Ng7Xc8p*73Jc?ZGw"%EX A>4gW^ R8B䈨bb?x)n˪bܓO~yg+~c׃ f]2],z $ Vtx^g!2?59$Cy!z@f>؇_6^^: @%~sMD{԰͈B4X;!(W<7=N~RM14gME(Wį S-"tt%KX<xlc[7mB- d;lَU9 :N\Q"]4mR"(XsLz,Qf&:m n[jM'_^#z` Y*M5[^b3v>+\uxv VzZ-0:Qf5P@鰼 \f bxarz6b!zИ]hIzGg11SzԨ T|1;B+ܙ_iD IB\]h.o0  Ͳ]OBn+ao|+6U&\;}M  p9.VYqK27Qu0[ğMufQ2 +VX v ]M-7*=7zVP<+=% }^uXgfqNղ>ldoJ颜 ^HMf7_}o =7L]6:rlHRP4ws]_aM,Hc1X}8]U2]o 3`QCzܞbMv4 G3ua{QCջnl UW.8>X]Su=-y]Fq FO2D\F82:5]ЗV%+Hu˅$>VQofEXLJs,#~ |cQ_es=qdQwkx|Aw;38`͕{/$ >h=?o==p ʂwM~`Hˠ=gKHlu,7p: Z.n|/զNħxIFSi]]EZv@ɳg8Pb"E3苶y qyY̧vD)-t.n624vbO\S`#YXgIjZY/fmGK#gFR^++b[޶o{-eVsBV|wndהO٘wNm2u&ؾh$`PHH=,>^FK&[I1L2XE(e@Sx": ґm~խ5b%"DGۼ%?/9+u7U!IV92mdȗhJuO̺8R0Hžۯ2(l5wjyQd|G[ ԿPP|&hh. 6Md8/has顭4kQ__% PJӲ_1Kedf GPuD#l5^-|e5Ъ,^9224=G񠒣D@44#iK>`[(@ҙ'E:@n|zR9L\4z~ڙ1[)V M7z*? 9'[ߊ4 d+VҸ 9(>4/nE7c.gXvR"3oj (r2GZyRKC({l .Qdgľ)6NEdARZD)#.cç*/ $+'cVӅjZ(B}6VD"\_*刷#.{9lgSP\v( kX ~.hr+mė̍wA:DGX?PCB;$RHŻM225W>K:+'LT.2L[fA?j$O2 X^4qԑ3QעHq_:|-kQOٛCjG> Ȟ )ťI>W)׎6SnUhk@,6G|fr}xu7/ٚ<ηb\RY&clmӁ,p~wtrk0}eŶ,B` ű[3q @ȼ{C_qG;$1 kKwr;դ@oBE7R#xH*Ֆk-H̦I{%G5ap8t۽bj0o8Plܹ :FKՃl(x>7xsjc&Aaw-S:abוYAEzF.u"}g: ' GiocyTԁjOoYω;܀f>{Y@W#~ukciтFЗ~ ]󅤙`tgq)iWCCN7=DA\zKROOpB}tK5]򡫁 Ud^ V\{L[4II"QkDk=ʹgN4fѮE깊#8-zfc㥮HZ2C <04RNq#hF@߅6@6n7A)`_ 7uaAjPj&.rB0RPiĎ3Y=wȏ; FXio?c'J$`1Xs fD@ME/7!c摿݃+3?͔e#`y m0BTq@,霽c[Sj%ߘAH~ kO9 nIѲ̊`b ̳|'|<icPH3w0t6͜ȍ?㇕ XDy6BrCᳯ` Iq! $]Qr K_Sof:w >,WLV_aYiNgrE~ZB8;ˡBx(Gͧrm3/Y$u0P 4PZYVcgVt ɝȋY)@AK|y#/l @m<(Dk*dD3-#tC'c'Ԇ *Nv)M;q{ +QrP[  >`g -I)_H~Hn2?o`SK_b1ʔirlczj,2s) ƌݭ8 }-tsq#ϖ  X}/^}XJ̓1U䑅/rWV݁XV%uK[y$Ḩ9./JxN;mPq1bb)} HI7WJo,l90^ԑ. ( Q1SB fƾ]ɏVe|=VP~"a\7>*PĀJ3`\#M=iN gIk- :wA݄;jżgS]ozt2,O'h5o}X7Ģ xZ/fg%2#*Ld`*~U$dSE6$ZG s-LXSP_deJ@mBÔ(3Td]Hmӱ:ޮz^h(n3<5j'wՄ攢Ǔ{e u1P丬]}~Z:fIjڭ=$M,瓅E$BÅx-<@َ7 JGHHj#fم/10 AM ,ݱwݘRJq}^tj'=vD|QW5 ڌPgrBfE]dz*LHwvu;&57ʴMVTbVVxАM0/NEr <}7^)Cc3bF;_>NN; 5:k |6gĆUI~|ӑ^~W}%=QLc>ǸE:6YjrQ)mu3NYâ8/"K5#% 'WT5ٝ 5`]z͞e RFcqo;1m)@`zK~2̋$ټ7DC`IŌ])C4ZG/cZSxB wVLulerUsg~UX;ȠR {Et\ KT?ߗΏ8vE3xdqchEӻ}0c]XyHqoJwTc \ɜh"DGEkg1;=0,OI|PH٬:K5xUuGȇ+fh(OxZՌ4︽lJS&N^gsݺG[ waI ym]N 0sͨ x$y@jFk7l|>ͮɺPV9bX@=RW}'r[5! Cftnlv]C/ޏѰM zMag0Sl5_/"FEGVY]`:'9"5&m?^%3cU"_lgZ:KwK4g)]'i"6xSour9(SK @ȧ%r9t<+tQ/bՋ#2^~[Oɍa +ۨS&zr*m{N6eI"w"{cR#U=͉}:q w6B")xXyiOW-,VGG>4A=V,( zHЍōWK8;Ӗ?*|zm=[/QY ;4푮Lȱ9E rU{ngqSǤZӷ`2v<p6W)3,=|&t㷃ܰVJCu$(MhU׸$!8BmkxZWG3:Qm&࠽\ d}Uxo}c[ذq'Y>#bxlwFs"w'BbOA`72e 1GA_7JC\Kw< V#O_;N|c& o ]#q8`5{N1@"~)trx?2{nx3 zC-9>t70oL"hⓤn&c}z]^aRPB3`t5jƟO[Jز2oЩJfO{ f́DpGkEoID]&UMR''\`aekζHb?i;Zjd7iUSui/5R0p=߱ ޽.`2klٜODx>>/a5^"mQsլ_E i5B~ g?w57e9:ؕnPmJ`BQR^//E:[0k!ԟ#B9pj& =-Xٮ,OHFi BGE$"s-j$ƮmzR`gγj.n)ǟmG;@\qKҵ= /9Nk:( +/Td)jSH4Q.j!%/PA+tYlmSyB K,Z\}z+'{XԖ.UUSo&ZUcDbkG–L3w %r'KD8(C_Ag8BVS 34D>$A%NT+~Kh/_ Kw ƂyH6՞/6jj65Y^WVjruW60u['=Tl.YO"iyo#~Kf{{TV_=TP7+MlӁ.fL}ֽ H"Ac䮥> T}Y,T\R&w{BOx3pb.˛#z2ɚ"ܢܒt0Kh%]@T WaSoY>~3W*ұ)/:Z椤ojQXݞ _Lcykn9kB'XTjh/q$ԧIgUm"^v}2ض`hY蜔9]ݫE)x?5$S}H4𼏿0q[rRzz}@)n]`xJ,5JzJKyFe](K㴸5x?KF\cIrF-@kQ=] b”+2p-׺1I s+Pf.NhciRuշ<}yw|UfAXBQj[HX=:{kz֋ԏdսJ& 2ȴF[RUFvTƧ佽o+\~MHKju ]eWљD@g ˯2fw+fڍCZ0uF!fItF%d|]ʟ69ОK̎3}ޜل Ǧ%L9f"_ hFX7kILlY,i_&koyLw0%{HP 2vmN۶GidB̶>/~Xh UqJܙ݅OiAPí XO] 4nj) gVG"m21ػAKG/fzmb '2.>KJ$l#aeD?k3&٥ Cf8U U aag}49_DŽ݇"̋f s]hc*'|Ίw\y F0X ge8jw%{LB?׈FVUªZ`A|oHa7>mV`YÄ9h%p sp9P,xCvKaT -%-#@s$aj}MG,4cP j.42iOj{  ?"zw;KX9dQU(=` 9^ܾL20|%B (/v2 ""Q *% dp+ _pcͩ*jxﰁjWQ \ ԉG=FYjQ2!%u@xm˵b4L=+]B^'2Co],{|B E>u5U%<ۂ5B]Aw{3߼kM`tdKQ3 pirѬV\$n;k-+#$M|f_ܹujAUoU'\ysƟjx{&o*^LǴMнU{H"H傘k_4{u4\ķ⨧cLzA F_ zB;m^6S mG`+)+C)aԪۤKJ1F ģڬf?@D{otb7 i '^i۵VMq;$}Tȫ@nEm*9}I1s:{v&z M=K!p%>)`(LϿ+) GI<4 WЕ,Kk$P>.\qfN\ζ ÖD߻ -rOw?V=iwGr,z?3 Ɠ-iP~"JFG͔/?znBn! Zu{0>#2@aPe:d5ZYL3`TvAHd}L{ygPJ}U5^jyO%ZQ@%\={T)Ɯ "ҀXL݀O8,ets6ؒd"IgBd ҡBN fИB+~R͌&XוnERiE&RX $%&ߧL{ G$$ԝGwjՓj~B>j];] ,E@b_ &5t7&ykINlQ'4!m <3*ıvqmH- QS,MLMu?8K(e6DhYBܦ >0 YZseqinr/data/waterabs.RData0000644000176000001440000000107012440112126015230 0ustar ripleyusers r0b```b`fdb`b2Y# '(O,I-JL*f``c`b= >ė?_@m,@@:@l@!@E@\m@<g ^;W@h-  [ q'qqw +x~/\Yri۾^ W8;[uΞ`oz s{ķQ뽻1?hF{k?`h/ci^yAQȏ3>˗ f Eλ~%'qPq՟s,6x+As=z- W^ *Xop~sI}<썡|#=ZPs̡ꝡ&,zD5_`q2 N7-fLi=ƛ>2UDahܶ71_{',4bXsSA l9I)P0dkNI,i r$$ESY_xAY!seqinr/data/sysdata.rda0000644000176000001440000000325212440112106014645 0ustar ripleyusersXKwD8WڴՖg\'ML'GzQNJlȓ{]~kز-qt%;qpÜe>ft53Jeqria- kЉ0 iZ ՕrTI<.!jN]״\M\B/Pvv|>e Z\R(6JjJ*<FO?{371j~1yf؆4jaԥݪ~4{Ǖ]~oiq8YOeعq9;'>^m7k}J㙫K#Ѱ#NZ]z[t:y pZn^%ya\\펰. 9{u k6jL{-ۑ3]H6Wgu.6ui=7swma,L]yfZrYmuZI5y;ma4n\^[wkʷsGzh{JYY͕ h7:/c$ddFr]o[$$"&!%vb$$i$I#~G35]]&~@p^R+D7rL?#iQjRU/H8 PΩp^*ѻs+U xp]Zn>|0,>| H>,- ۀ;_|p66u`j2D +8XcM59VrXɱbW_~W_~W_~W_~Mk_d&5ٯ~Mk_d&5ٯ~%W_~%W_~%W_~%W_ ~=ֿ&LB::HO}nz)VkF>C؇>f0:tAmΫiLEq.$lKSk7;mv5b hPl;0o)vuV $;ujvCa>J>S'똇= 1S xPS>><Os #!#YF><֐#)"@RBIm$%*[+m R{7/aMseqinr/data/fasta.RData0000644000176000001440000000200512440112123014512 0ustar ripleyusersXnAF(ABHd8 \VhF|!&vb#`+ɧw.Άa ӓ0l>Npھ?U`}=ϗo g__GW0sN?ޮ0w3G~+xoȥݸjixj#7Eȵ|๊ڞ|Λ4ex1Ъ+4V>*htw2kF{>P~Rڝ,vmUe+f8B9tFʘ:D&*AVmsj\y*8:A ~U$˶?n,cŐ@҂#0Z7A_iJ/-L[]3N]D ]4UzVE x\ȓrZwV*LTЊ$+X\{^~0M*YSz);!\Ɇ`@茊KZpQ+Pbɣ3U6wz398T,w'yeƐrWiբ/+B.z kτ b(F)Ί5Vu֒P7WBM [`QԨcW B`f )Ž<[Q}3JIM'n!*"X56Y*uWVV##,SDd"_N[EQ TFtr  h?1飃{ThTuuOlz'{[׈HR [f~UwߧKmnQwlWw8GSwOmߪ{DKDBœ/*rњ R' k/MhP,S%:+P0 kFPRE9L)d(`v7 X}ȂݭGa#٣Dh`6vE ?Nl צNSx?-Nxˌnj}1~,>seqinr/data/phylip.RData0000644000176000001440000000042412440112126014727 0ustar ripleyusersmN0 }m: :30H 1j(1m<9NQJ#>o5/ǻ@洩v|_ @ǥTﯡ+ݾ~)A;|p:BN\ԏ9O٩uhcB"RfJ%!)td4²\+Jx&%9O'Q,_WiJ\2oJfUx%9aw ^[WFWseqinr/data/SEQINR.UTIL.RData0000644000176000001440000000325212440112106015177 0ustar ripleyusersXKwD8WڴՖg\'ML'GzQNJlȓ{]~kز-qt%;qpÜe>ft53Jeqria- kЉ0 iZ ՕrTI<.!jN]״\M\B/Pvv|>e Z\R(6JjJ*<FO?{371j~1yf؆4jaԥݪ~4{Ǖ]~oiq8YOeعq9;'>^m7k}J㙫K#Ѱ#NZ]z[t:y pZn^%ya\\펰. 9{u k6jL{-ۑ3]H6Wgu.6ui=7swma,L]yfZrYmuZI5y;ma4n\^[wkʷsGzh{JYY͕ h7:/c$ddFr]o[$$"&!%vb$$i$I#~G35]]&~@p^R+D7rL?#iQjRU/H8 PΩp^*ѻs+U xp]Zn>|0,>| H>,- ۀ;_|p66u`j2D +8XcM59VrXɱbW_~W_~W_~W_~Mk_d&5ٯ~Mk_d&5ٯ~%W_~%W_~%W_~%W_ ~=ֿ&LB::HO}nz)VkF>C؇>f0:tAmΫiLEq.$lKSk7;mv5b hPl;0o)vuV $;ujvCa>J>S'똇= 1S xPS>><Os #!#YF><֐#)"@RBIm$%*[+m R{7/aMseqinr/data/aacost.RData0000644000176000001440000000117612440112106014677 0ustar ripleyusersun@vBڔ"QJIJQ m E&J9Mpc <'x ^ޅcf~;;vwQQ CӅnDӣMb$/HƵhUh^]I`k:f8zP)p==6:#IbqC?fx | &?@d J ο>@^4B%3Mu2c |ޥ&̵έ?xnyk.Ju3ٖ}l4+ivPۿD<;xl1?fkdJbȮHrIgձ=GyQ}#TmWOJ$WI>: Ǥ5axwI:u>e]k%6gwdk_!EyQ_Kn c9 ^:967{Y??lzt O8 `q̻O'e*T}HwީӬH(xm$_PPi11n&b.ᇲU@  S䮬3U,*Sii`zҟAž :MNZa/seqinr/data/aaindex.RData0000644000176000001440000023763212440112107015047 0ustar ripleyusersBZh91AY&SY.X};D^4UZ LZv]JMv)9ﰦJfyt(*JQR JTP!H B) AT* )Ilzʪ%4B%Um wwJ)R*X;3J 7p@P(H=\҉HP@H4y_ml<)ҕЪ /ny]5kMd wTx@]Wx7;w@4c1dbh@P>dtݹn;p_|>uT í֑ꄖf W@oB)]zP }zr 3>o`4օh}nO2zʆ!<_aݽW v7 w@@|E )@4zz"U@)HڭiEHJT2EyB QB}ju!PL"TJmeT(fTTymUBTB*JЧlTi%(IUCYWEd^0'A_}`UUÖp69)Fd̟6W/oeupQ\jw]'azQ{xb ~Odݾw|jZzRe6PC$2NVyV .xs7k@!">޴Zd=01Tlaq"@ *B%bM1 Љ#Qv*lbUZ*s#S&I[(+N(A)!1_H ܅QVвD7 ad٘M2uȄZc%KZ$Z)p zҰpo?G&XWW^C鋆C6<}.7gʏwuxyYWek]qCC6 0\]MN= rIyxZym[*kvێꪻpulhyhb}ȺbL\H:$(Kxet6) !HPJZ ~.3q\8䦀x[b6݃nqpmVW<͛_}O3/g8O>n>ihD^(;x (!Db mmC۬1%oYt]ǸҎv~"#9zK/y@??unOqS(%?j )u}Hd!qqQ+ں(\F%I آ}n_f1j Kݲhkt5q]~MSׅ Q\(/T' $II""{#*[$7Y"Q$DT{{uP_eE*ABC@=X>i Y(\=ɔjb4~sn]ת߸}/wSMژ)dbe"]8826;MԯR֚Ywt=@81k`0 G=wvG]Gl8흸vt;Co9z_?{Nܺ)FF)6u]!vq@ 3恵L23<.qϾD\Xᦴ/P~;M^7a6x< VR^r 1r!̆- e= W&m[ՓA[JCV ]) :6S$ iJPKN]evmsXLZ&"l 49}<>7w뛜y?G&xdXϏʻYByd._ o2t~>|)N1dv~b2j5`,~0KDߑ]LS?'pn4_WDVV3{ |F]}]Mə">+ e'7/(<8\Y#uvP_S/4T>U~u}OU}_UJz!tWo>W֛ { ]Bڀ[nf!b7+~r]uzޔ{Mm,6eTM4&[0 R1*3m̫=5@fAеRFZd+$ xd2czn˖-l((Z hj қFI">\#PA""O!d D$YI[V!"l#UdP EU_Hx!TH1E1E:|UN[8ߟ'GM!ټN͋CQJu}{Β{¯[vWSʁ5iNՆlvR\GEHr+NJlQwyyFRLF+,b ^}nupa6r0Kz3WczB %r·(;V)bʱH*f*dR!'_ zEi*[-1L10|T0AQQ*H, DFHu[o(y{=<ߔ-6p~q_HsqnvO}O;D.d>@z9]3ǡ i ?d(Vh.,2D+q2qzofy@jO 3-X*b/ޑ~9Ǚ0L$ae5˪QguaK(™#%|CB=Um4Cl+XwޤN]Eu) .@O ͆6㔻OrD2,E72TD"źkJ9{5Y& Y{HN "3BE& 7-RJf;_'*pb,j2޼vdt_",HT-J K$ HyDI$"I H pA` A A`  D0~` 0AA0AA0 H t{?)~|_/{=ɓ=)@ """RDJz)"&z=G:tL0çN<~~f͞:|<€@Ni<4Ç|@<}\{>_/p|>_/\|_/|9|9M)Jiz)z=""SѦP)Q4 Rӧ8pMYdYf͒lDDNiS 3@M=ӥ)N:xz>> R|@'$Ǐ4hѣF4h|_/{w|>Ye0L( :t??p\. p\. p\. ,Ǐ?? 0?:tӧO??Ç8p~> =šiM4)>='P(J)@=M)Ç ÆI'DC~_!7)="HR* clIlBLJI21,,hDŽUCYuEwW59'Zڼ؂ZC„E1nC"c'~?` (Fm;wFhI]5r+w[rGv.](6wb]srv\us%˻åBtbXd24MhqV&RD CXKɍLv顓20={s %& VLcPldشZ(XId5%љբQ5%eM%RckZvns>cTRr,ec!G b HdFEq !8D.L.4q΂Qa.)R! BE# 8$W m"He\XH*TDI-nk͢\[-aXHA! 7 S뮻n]L1ApXD0A`EDq!rw"`("!"H LP,1U@C\ȉ)1(!$BTEbb1QcT L`. )3;+(`$cXF* *0ED "1pF+!" Ȼ ]:q\ֻkEZ65{{]lK+"06mf8"@!H"$8dIUTdUHD$HDLb0Hc  (,E, 8\H`8E2dݵ%P d2RƩi؄D~ʂBid՞v3*7^;A5UZI$=|33"؟["DP*E_ r(6/u\6ۖ-۷m\hڊklUƵj*H2 Os vx1EݢuݺJxhӭ٣{}/33sKB "0= Z/%y?DٲMMXdI a Ld`"㋌@37Gv5M׺~ě^!@#o?a6Pmf DdeACj!?'/F`bEI/_<~ ?wBD@Mك L+hY(RZ5W@M}"@ūqL+c }N>8to2q8Vd"# Ffbb"`c_kYyADIPKQEImղT?dRV͐iC"* eJ5d?NQ$# ! OG_o`"0> mrBI>O~$ 2 KjP* ␢[VKi3rpj߯b=Z-wtXN/-ewػ!#=V@$MzVmVf4iJjŵFF[h2( %*]U?ǿ\Uٶ21QO:w]&åͬH-BG}m$2ZZ2 %{/Cl@(f-欵kVRxb?3K/2Y-^ֆɢͥUo;W4lj%%&2 `̣d#M4lRQQ f&BAfd@ Md ,&H)HLHMJ#EhDH X$Wώ\G-%`o962TI5i@X!S_k "H7 5j rbZqQ2~aP4H|V7)V;l`4i E@$*_6D$wݱҢ`Z4h2XXH chnşv#m^ۣTZ>ry[cqdC``? pcjTPwOަCRjH'eӯSgwGh膲D>ihU$|[OxI8#^5P$߹_K_=s#ƢGZ½TI΍ @$D*Op_{v_zKt$̋_ҡB԰4'ڍxj 95R}y͓Y^tR3awe/ UEB JE&܋RYww5`{I%U||ogTDodBBv< u{k6J)"QX& T⟃#6H|AEQlE>Sj?߄}Fqin=aHZMDb50խ+6aݧ+߁>rɉLvTD"@< M XԪpJNLBGj0ӥ6z6sTrsQaWKqmex(L"T $ (YB W^_uLUT%LLuȩ"( c Т H%836J;FB %@E-SRUG'>`a"hSfvvbNh_J> 4ok$&Io JIbm#FxS*L4CaM"A6 ztJbģԖhQ(  F Ф bJf^Y>'}pGԕ5 #=JJKE!:Dg%TFȊ4ŗ8ÙMO}ȉlųy`Mwgjy!R@uV'U?I>>[UiR QX&rcRD ՚]%'7j4Q6 cCb|Fj¼{/Q">Y)V=l}'N,0$oӲ04rw=c:YVT6v|<;R4/\Lڌd3GMA5et|򱠞|iBi3UAԫB^$P2}FuBM4בVl"f>5XX!F b@C aSwD*ݧHa'' \M*ƖicD:z,kU8/qga**j*"B3[veHTHp,4曪$[@AF(Rc m}e]pvqoKڞNv$DΧKQBV>Z^Ԙ!O*oYa8';S xQ̀ e6mBYBh&HF5%b%V0ũbe:B{k@Q|D϶yiZŠ7s0k 7"1FE ,nlzS-" !] B4m&vahhL\f8xHԁPh4}.txEu_dZ|+g'a(uzўm: DMs,YIY\CM>S mFdQ}myxNnl;҈Xc!(HT@BaݷJLt +o"1[K>w-H^\ZviR4@T߫Ya+j)YV4a' ԯ3iʓ]r$%)P(bØ!!$)EdDcF>,Ҕ@iY<7Ke{+}ݑɈk꤁2V1lJSc K%T3J\e/]cPduNE! QvU.6x{xEy6Ze-R^VFq'#=x_2U)a 8Xs,ר4X$%](}D6aiDgB uNΒax: DY<@N_I%[}&FV9h;c4޼{{!ˤY(Wz;gS%;ӵ2FTS [djDg^ & zr[<)"u8"B@Y獄 " >btΣQ!%HqF0)J_׭ #vΠu;.N`@ʠ)`N"Ue|w*]$O }nJLikmTm,ްJ'rvIb'84KRk%\{e]1m"pWc4vO,at4- V;a,ZBM0.{<zDXbyBRJ-ښeAVZ&@_e&sΙf!; U9^6 i|xpԈ, :'5Lͱ( K?QaXc"u:ĐڳsR#:NWqrᤥĊtݞ 4&3I9&T7v$O=;ǂU/n 80϶L \LA+@d8m [H`$OF0jJ>PbK١c,2%7=݌ŀ=AXTP{M 0ѣ p em4nIzuKdgt (qep)@0ՁVt!},%0'8p#lbpȖ -p3rfv/6%*d>a xݲ{j3/3,Xul8p'{^ A2hP ('G|i+#<(I123Z@fPԁ D˯%s-Du,wX^D@AwE1.pI12pJ“F.֑ e'  h'5,!<"!("0B+oB*Iʄ-Q+l0nIugmC\4GlnV3ee1Ya'@ l eZwV4sHϛMͤHY$Q$7AuW{<Y&\咂ӪfykWFkㄡtW)p¬Is]:yg.p,}6CseZwK58xwʥZxǙlnjv:q_tl\6Kj=|Lu(ly}'a &H9}TD3xrfl(b:Ud/mڡ%@e:vb]KfLyEN5Wngyҙ|xAjw"BIJ!ua5cA ht<&-kLz ѥ^^`|8(7[Yg5aC6gy !eٳFИjOz .pFshD@w{Fx)hʎ,+9eu-| !|d՝`vV̸xmI/jqDDB;pUn6oMFh|gڒuCDV];fF6QWewDZ)~ZkwLUJqMB˭=C>LvQޚõ].SՉrR\ҧi5/̽ ]ە(mgu}9̛i<[y̗REؽ"0l5TpD2\|yغbnZX)lhwlRg*s,Vnј&=R`d5;^XbǢ6 U5M뵍R;E&cNAV59o25y BL2GBVU.͓1nfm̈1U|udln>k!T.tXXL9Mf#]H$F,D7*ugd,P/\T*uU 2++xhy79v{5m${Ɉ_ՐBjL;T *yFɛ-ܱ,\3T& c3Uu]3V7܋_Ufk虘;ZS-]W7`۪u:{1<( vyLuGgj-Mub:yy*9g#g{:+X{Lt5c4o4`ntx'ͥv-ڣu9UWGUK:}G!:FLjWtx͜k:*1g!WVsWneD:kOWN]c^NWJޓeڹG¯f,2l>׋#kIn1{U{ۧx(-]U#}sRVnV{sA)ٮx--N 给wPݸ*=|ֆbpeμv}&8).[-\BZjko/F -n 5i0Xf]D Bo2 %[[s`휌!-"Z7 N.pku8>"5 ZNSN7*yV{XV* 0*tM%Y$ KU]QE`]sRӷV+4ᰘ5OQ|ړKjUU9{Ȗ+-B>nBnX f#./6Q!W={%ۗջW0޽UrȤwM^N*ux(t+rjLe3)r.|&oTruGTʼCT }dKt`h6UUB݅[َpŕ h8pI;rv ;yGe! 4̪|Xભ#%sݵipMLAl|7m:ǰU^>W]wh'y}N)WȤ޷kU'鷽.KQf f9ij Vm%  ]Փ:VoA{s+:-#2y}X}9VWay,Bj<-^&mBؕU,(qOZͷkYK Uy& W2믆yZ5 S:_e."][n[FzAg('dǘN܅ar㪣t>Cjjsu1v/{kNfZ 3۱rYemVkˮ7xYE TDWPtvs#Z5c#bi-3/vbX9nPNw.U-I#֤dvE*$ q yևx:5M +DPab To&wz geq=+8IMVNED(M}靝Y1Uv+Uj|VeTR3{rb]b&ܑ&>6Y"f̭Ju%g#whv3(>BgmҖW3U'nb[¹rWBS|Mr Ewm=kkH8zlE^Fdkox8EvG-VU}*ɑE}ζtpLިs :6-J7y S "f۫ƗbMntrAƆfMfFA'rO{F7x۬\P4gXytvUPRݪk-RƔ [c‡uZ;WYGfUaK_>lɄw3[GrRqHCVv=цw[L-`]4}/۴(rngl@V+u΋esk7aѵGYT(7݌=;6MF詊vCuuǕQsa4wF r>8YWWwyAxeJ3kՔS ݢ!c{Sy]Ukq\c5ZVtۼths;LUB/s2M$Nc:,s DvqGF*ِnN>ViMnvt.9{Sڬ/N;;s+ rylM: nhZ&"-Qc rMۥͤNWa&:q*Bzs+f\vpU1i8oMvdp}{ ͚nw ه yWUVQ * i`O'[AzفZ֣!x:z]fuxnq.1v-pnW塌_g]55jTv{-UPrgc(Rƍ9ƆEFYE}Qyf5dž6fekE,K9hjU zunpٻ4ky0v d=Eutt2%Cfnq MnmW K4n'9%n]i[ybpdvz5[ ]+B6;AXCx;zG*"B1۰dP쒖4DŻ̓j3W+#6ԫzY$ΒTA9W dP 嚔;Zja]++::oJ(!YkI'.?$(R!P0? cQdjDti!YЕRk-Ld>z>,P,ҡg@ b~zP_@e"{  ! C'ARʮZ֟~=`͹" tRu\s-5rNպq9zK[):a88zu B ilcq|oA _"d@Lx@" ֚P?000 Sc_oMlJu3on ?Y,\Dȡ@R$ΈS# $Mv-8_KO.7GF} s9i+kZțrs:(uQET+߅ew>-#f}(qrvI)^jr=9$MEݾD[lF*^W 0@eTȝD20K5ٟ24F)#UTc`h9aTH.Uz$"hxy[F~r C>pT>v|;/H_fm8yqx\¢1cL k46TFҽf :h5ash hbbۏKj@ͦ]s{J# !WXmDmdDUFb$fa>u?>golNIb=R 燝ԥ76aNov⣇h[ V܍kٙ333*"{>Sc7<)o of!i/tșVɞ 8:}E MiM-B!r9n!*5|FGMvİ;ZqWph·g*p ĺCMbSǣ{bt>VGS2MvXw3 I%J6f3+l w.In%& x3xo_^[i7ɅY8֘/wC={W:8%72+jq L HN6prߖ Y QREcF)(fl2L7 lN/F&X'7߃{p2Œ5&)K2 k p^^#}% t5qsoIGAb "ǠݥіŚ F7$)X{Fdd }-|Zhf؂LR%3:Ze:877oCN N+OC M[e`xgcV̫ZM[w&o]񾗷LU4~k12&eن7W_L'JKW%[{$ې7aK I\8$dYfN褘#I&3"ei\4UV`Y0ILhEυ`&ιXG6ӥwc雼2SlD@ףy9suRN `f9G /C@ڌs#dxKr9mCT*az^@T9 DvN̂d qPT;Bt&A4۞ 8CpjZ8K oPwt15ƚ{Lm9RĦ,ț|FMRdՌJ&5QUwtnnnAg"lpڮ8KwJwU k^hYϷםo> 2;#6YUr3VFU*lF+9y65MH%5VL2FP.4dC壩,]klwuשgO69Oy3־s*Pu*X06Hs5nj6Iq볟qkj:G2Qo¿9O #%Q*{WX/-G b/ݑ$*ljPHT?TI_>g }WZ-B q?HI$>qO?<( ~;V*A;sV Z{p82 Z$T c>?^{UԚ)Wkjū-Y* %#%Ɂ2ȕ`=|bJK-"}B6``?pJ>P0~*bC RD3p≫*@0?+W5A/߿93 F͐hak*(Uҫ旪7ז1U,L 13j'T5_AAlrUqKւC ݄P9F $ 5EX. .oCPC|?G( Ȳ@Kӯync} q0I\-kz`#|ׇᓵ\1rkH V&mjk\02 WC3:LU=~}3Yϳj`q'Ë|ٿ rhbh. #~)I2LLP[ַC<,G7ۙ֙amw+yZ̫Wd,Y!~.Q|q߾Z{:{Ҿ~o^zPBoin[XwܳVAi?WFurSYc{]wn5=Cul7F|Jqt}j|D3/Pi ݝ^tSI_Q~P?T\+Q}R"'i0G^dbI> 82eUZX>+s߮ǡF~sӁAWvt*[Q Āj:s~\#GM@liF|</h˘>AO~'5_7?rbd?^!sڻ^N*{E>_kSfotI? SVhӔ(cxV(ރ'#gu5ސMt0rN7`Z , >JO8q5F6w D#z+U_bADi[R #L&]'",I?϶ :Ep''M±|JVA9{ӺuWXzpwmt>If8.iy,L05f jitI 1PX.&qLVmTNe`yB Iu 5{_C0n;gu)ۊ[qaʜ GЪbwvBsgX0cjZB&0)\HjcAjRՅ4-F8ZP*n9g5N.X^bY mSa s[f3Dq`h23 3!tn̰5pBʅP=gvO2:x 6>!FHc:;ożLCxIѡ.7q66/Y6n5e7xr<<twp=1nנ>O|# ޳um`v'ݸGCpNh~ n 8l<jݐ(< l\}&wrx[qptuO=sݨ{D1cj&wweX C8. Y#a28Y98.֠dh7rC>j{w{XATUTeO͵hV}E6w@h\x.` QlJ?N-t\Qy)\̅éA݉hYk4fo5`i}5r79{3^c4`OoN 8ѪU54A^ߞ*Xbl<1^_Wc9NJ1u-DdS C-]Id)1qjޅ C!^gnC)6)`q`+8`:*&763Ӈ2p84k]eYu3z c5X 8=K"o<, tܺmLw yN N4 Kwkl~}8-jNN97T.o7!Ł Gl/t5.jE|{O:ΏȵO+v}/#Fvh$jQ{dذg?B;eSQM5m;9~iݑd_UBYV].SbŒ5f<//E5\ K7Du8WPmI.wԾʪ%][6GMgE ؉V;^;2ַQz.S8572yLu%`1\&ڒa#b\(oyR@BfTh*T8Z]V &riX$/NӼ`Ajn]TkLo9RNz-m,ZaWL\uƙBF[sv,IW |vuX lWڪ姕۝}N\9kVa'5YnJi#v)ٴw* G7V}^3+L^C&@ʬV[nJ@Nt\7TҤ"YA o cFNqz2p,fW*;TtWcSJNCwkS.8ګV{\ gQǚa^p\;yodL`gPt5㗲e _\X9V3g!bČjw{DGeY`WbVXHM@#iܮwΆ܄pfRi5djpdO5֨鮱̵yRBAcL66yIV3m(uVfj2Me_"`Ձ=Md{٘dфy8װsg 5)jl"˂e0f<+hNjJ 6I~vCѠ iyˤMޓtދݬ;e٭n: u[9]f3m|Ge(A:4c([s: g3Ջf,MiAztݫa7}vs{c1~X K/7.x8S#.kS70s%Dh\ߪtA"k5Y[޻8Dr-UhUmQиf -OW2TCd`<{[ (aLcvRؚdʻj7ES1Tn լ90Ck5ۃHS"\Ouj9k2T1۾u_z!yE!؆SμCZX 9qTc`yu \yuT+,4/Ty{qfwuqh; KwL3cHrܪk#YCgnܒ{niqs]˾.,'SlO3t"njePm[wt--_UEHi톖\ڕ㉇&TnTWwbͮ̕Vc,zij ܾhUUpֹ3yc67̷R UL7كHɶy6 3 Y!CLuwvn- hFU"fi`F `MPmDƨ6&ߓef^2q.epo!զZ{MTܸr6psV>\C-WA:5 ^CnV6Mu cz&QMvC[=e)cֿ8 Z1w7*=ݾXĤ=ٴdjD\cT )YT*K ݢ!Gףe :f0*q--2c]uR8ٷDk=E7ϴأM_bK cH\$.ٷoj&QP1[' QسfRIt`g xSGv Tt`2A^ب*bhK)r!b; uk]PheMc=6+3za쌓;:h¨N!{LݬQ@ʺkw-%zR4ڣv6 +m[=[[ybC&!Z:U])]bO>-v]Y+*2Uȼ|}|*T݈'\+ϔݸsśVH;k>g<"κ=j %^KPWo"@5yKe1+|t5]y-99Bg`Qb/'.ù/դ;jEN!I*uDV]G+Nz4ˍE&+,Vc![gS`íJʱ,m-ªة[Qwo&Hڬ: LUP6(eQy i9yձs4"eJ.-aYз+WwY6F)42U[gKBN&]fmXCK,.+f" ޼ب_%ӹ7YvBf]52{WArH+nZ.4W`7niF7t4/.1v^ ͖Br-Wtk*I)E2za `"ԼIC涅5UbGJaSBŐ4&fmWW68Yd$Z6S"@`b{SmĝJ4{*LM*꒫aRрFW\r*N_wyK.uX.foSloQG$fNSCRgƚkX aĥj&.^ X ^Yv3-ռR>6fvZqobFڠurtc QoۊuqP̨16mf6X%cAn+jVR1i CyLHRq+kGi_9ʭ  37.h[Ͷ*6c: maiR~b+j<KaѨ!WlėbXxʸW\-G2c1:fie@{Z`*=2z׮l-zSl!  aScd󼅜&jszh<,(VΝgkUbP5Gelh%$mSHִ,O Rkk+y0Pdk3TAo0£nmK>JJh0G(%]dgjiStrA;I--An@bC]޵iUiYV ܢS1,@٩fY^Rrȣbl'i0N77.C$A6 nw`eئ$Lbv-*y-+Z<`mdhiRn2RDG={Ѓ$RMSV1F@Uv-ǒ`W#̽jb4ڤ@p&T3=sf$%<2p!:ȑNmV:ye^tEδ q%9U/)PWuT8JjXu8ESGYj6u1\H.ӊ,HiUt :rSajvp͋wEf Y6 qN ]SmYpTLE\ƘK p(QHb! f`LXgu֍;l3fܻ7w5 R]쐱2Rwwz3=9l\qAIQ4Xw:da)JDz *:S7\ޜףj[-2GͺbdJR[ܩvU9!c"Z4 UJLrɦ[P16 ^Mp^Yltiޥ (;ɵsuvnQo]):x8"!ZM&AH܂Dl'(1s6nR]Q%5lj$8Mf.;/lvyIk,;[ tmHfr*eLYƶNv?;ZFUDBru) 0@HE2ADhyeuLXIؑ# Ңa5KHQABKME,Tp`JLC 鮩{c)H4io<[^z-yS6[2,QR5ߍm2ɨ `%1dJN^C8dc줻ô%Ie(hj^ݦ歶^0d(3̤M2ĕlcGicViIMCFm*C^A!UR ߏfJ Pl KeT |Sq۲Bko8S>*)X5 4>#@`ߚ$ԽĪ|( F~k}tή^LK񵱱? 򉭼%X6<]* I\5o kshB6E7웺o4w^ڰn=rj1ƣYm󥹶6ѵKXj^65smrܴknUj4j5Eo5Z^*׍hbͭk[ƫ孍\ET&Մ[$FXDjI5U͍WwVZlQ[kƪ5Wbּ[ڢks[E[mmͪmF-VkW+nmjV6-EFxxmW-dVܴV-$MY i TFYHclmUjբH$GKk40 8l^uq]YGu]1P8ͮ"qΜ9˕Z<*Uݙh4*VW0efݎJi*~OLej EHhufnm ]~wϭޮNsG[ڢ+RkyUJxIA䮛;*O꼳\IގЄ)ds@[oKvR( Ј1d*"-ڽz0iKrQms0'8f^6-R{eV bĺ°Iltq+ӷz ѫ{npLZ &U* MUg+l!UPܫTcS$.94X nvu:Zo+xy^^챾p.abI>p&{_Ǽ0("XBYfb=h)8T9k7.^1@Mp ux $XOc\)bɈڒL3 2LF"Q(IP%3[AgT$:mޅJ(Ֆ2լB KRHYVcĢEe "ʖ@ȭ"b&"H­ƘHpq" (.U f8FڑX@)aWP&Dl$@Bۗ f ,.. -y&HHBӗf2)]s&s@"IFRD\ԹsrT2hTkgv:EF"c,DX6$ E%- db(Ff-BIbhT$V!!$bّM LfwҠ[,#eScD75w'XBcO;h)` (l@3!D9uZ m6[1h2Rj3($֧YXn8p9syNxNHlDDH"ooUő >v_}Wk535KwFhdrMՅGɉ1Fd "" MGҹkﶷxq|KFxhnd\6ӌ' 1q1Ŋ1c&[|ݾz66 4cDdF 0,2H0hbj Jo FC kuĚDd<3l=|Wη}6, & x^L@JdD!$2IM+й.8x$1'SNQ{_?6 `+WNV*1IcT)QhѨsj4&FE!m a$Ғ1烼Py L4Ȥ22lj];=]li K:픫*6RNW!"I1$fOWv,X3T,.:TF8&$da 4TNm $%c! bH(i/WPNh\ lHw%IX]mJ$hZP Wk__]ouØ:VX--(͛+-L+eiml6ҵ--ISm4ZZMfٙ٩RڛMKVFZVhM3i$ұ۶kJj-U*ǽ=:~B}Wg{.ᬹ`ϫ)'Jc5~\k[y'>gf mWLZ[nٯT$_,1>Z>|a5kK*qIeֻDچa".?:uM*V#~@W~L̻]hRRYߣxo>GsdS CM% W5 {71D_@^T 9u\^Qy痈-uWn킵mQQTFFXbxx^*s[cmy7*-Q[j6TjW-nZZj1mƬhXUhnmsbV5MlhZsn[Q[ŭ\+F6rsmͫ*I--$2"WLQ1Y*mjkŽ{o^PPiw\mP.;1kբcW4^.̬0T(SK+ݑaswrsu۞ Nzl59X( W{-io$m<3MRU Ɲ2 Dƨ/ǟBu G8 1 *4DđiR$#h06_M2T8.d.̎n?Z\$HIDQ}}`%+"$cF=@D2y٧*r;Li ̠9&nkt\)wd黴22QFla7QKJ AHŤQ#ZI% ,mXj1jѭQ@Rl`ko׾ږۅ|/`%R:Nf(1)F7_յFXjK(D#6BdI $%"3Tv%\`iie3 OH(iK޽.ň`A&KI VIw3,vi)[PI)|wBi 0a0hh7}U/os[|_k_KudTIhI!][ A.Unbb4X489Ȳ(X`!*dR_>d{Vń {.9Q-) bQl-w#1 ) WW˷M0ɥ&5G>w{b4zFE0 E[F1XLI l)~ }yv۷uՈ-uF Ť̖I@U*RհӬuq:xkwa"AI~?3oՏtl+qk8mV_3% 6qB4suTb`0Om"m|_MhNC+4rO,aXLUۗ#o+Vsz!W᏿/t͜COwZ;&𸒥g>_6C, g7հK&00'J$D>]rQ9\N5ʶzXª h^ m*QboQls[s[I%Fjbks[rFm\mʹU-QXsm\slUtܶh5rw[EUnjVm湢F@$EdYDPsԭniO">|`guch7kp6-m ,VV>pγTRYwZb-ؾՊ~<ЬJܬ7.FAtKUvWr~抱j{0rFpJz*;{Uuh<y{Cq`zv".'|EVUJw\˙Sc-rQb(bIHu -(ɞ诌ڼM]ѵl僺v݃  WBct)`$N:HAvQ]V^FDX洊9l{nNc8Γ.}; o:Ra\샃y<``^{(pc9zoq {SOMڱЗ ZԄJV23d<VIgFF2rDPHe %@O9wLtZRJh[ZcAaYA-JTeml*[,2HPUŭ%(p4`A+ Xr6c6،c3D qXe,AR aT8 @+[Y)**8JS@b@ LdIk1*a@L`0c DwNrm.ؤm];w9nۖL AX(ЂW畾REݯ]-O 1jMK>wƸ3WPd3$$d2}%S\52@b2I!$"ș[fLtF翭׫61D$TvUux &`E5UkkZmEB7@{lZR?OK5.p.&}Z^?!IBБz~BC<) T#C9oLrm% UO V./ V EeKjջ*~#ϐ!9 Wg ?SI\G[(ADTeH Y(^=߱l#+uFs*wopfF5X40mURGJY5{ j4z:󯖲ҧ_CehbWAYcBfK?V  Ȗ2$Jn%UZC.W[0(O$Qq@sq+~~{IQ~{_^Ҫ^LQaI(hJ<˫P`8"ƾQhXKm-O^I++v uo 6і3n׫Ģ 4,(.Bz)33@|>s8K,谱<ա]8x<[MY+5rCP78|ߜ~6O'AEXPXFD #wO 4 t:f ` v.c p-c6m՚X[ZB (VKRBD̉XXVR8D5W e[,BVZ cHDQ)%Am"aa+W R$1uwn0w'3nw1˔cc5 9˗ FF3wN$9wahX Hb\ (2Cw6ed m~v]"$r49TXiUڼy EFFlzqmm$(*QRm|m+4E)&1S;6<{)j%@"BHEY$bNp9 3DTo)z(D% ac}z}ZZ i4-oju3Ccu6p.d$hKI`-"3f!$$WhI" X66;kk{LF%)!16+DW֨W{}/Rb$D]LY4IHi&@d)g^bg.$H#߫~EHݢ}suhϦ1uYf{(T2sC>fS=xt ~G^ۣ:կd%P0 H?OƭXɕ7p>=HC؆ :Xw4`meJC UF/2µgTxDju!yL.?f]AȯU2*ՋPݻs]&ܘLI I>@}>N^_̫b >$A\TDTV.j7(6Ʒ+rѵcbmUʢW6\6mͪ-k\ 5KaK3]1pƐTvcfKqꙺ*md;omk^/6.I!o [ 7+s_\ڱ^YCY%ujJ9U !e>8լn/Ahђ!tmFwb.P2Y7 yU12wp鱁ٙȊ퉱PZ+#Cn\^]ULad6iZT*C_Y @#To:E7o3[G^$AP 5]FMꦅRZkyNhg)١+d-72 CQf㓛3,9$ys<2x[%FMK5Yjqt_0hITޙ2kb 8@1(a}mBjHvUl݁&X`_jϯcKK A%%U"E (ZYp0\ H1I 5‚( ZXʄ)QD0p@"+ۗ J$a%+!k3(d &R% r&$X IZPe)1x$!8k$p2Vĉ1rG, !x`c0K]BS,QJ1 cnwZwW#D* "d01`HAXs&31CIdoؙ>*5Rjg^5VlbC&I:ڛ &k h7$$ASQDR P5Ylak8IرF,k {g^Y*m{SږY6*Mljejۊ@$ zKE5|zսoe )-U--R[bs#;:jeV-DY0!"H$nT&KkkF/I1ͅctɼk!m!%F,ER`Ťn(\P ԟQEW9q<Դ( b ԩZNV| &DxRŌ3J>jԈtJ(̠ ;2i"z{ 3W-m7sIxd[$PS3FFXanRn+v"}T#UeO732CBzf5AέitkT Y*cp.= 4ua8 w$U@Đ?CY;fۦLQ|wϗzf~3zέƒ HVSD+.9VPڽRJ_we17m9AHupv}ðP߃~r: 8כ^wi4arƾg Q,;~3Vʖk|&Y6DV *CxC{$k-?w}2~Vz.#]l܆\r}\DcbVvX4l$`pJVY&INsyʱlenxm!]n2ip:m%˪L"felI&mݑ&JJQ135nB$CA"ӻwJX[kB8kM<#EtWE$wf2JQΙFe~>/klX-lCOVfX;d]ḇDdH2K#L)$AhM HMfP 32),Wο#汪 RAD FȎGY [ %JL)lpE$.1D*C\T ."Xi)#`ֱH" K [P2e%m)I@Z֖#+zKͣF+0i#HI[WmhnnaCU0iH hoˡx׵8ڥ葩L+hwNij.pr7mi8n`rm6p:w99nJfO@"3 TRІkd x)lbo\Ýnؐ`F"0.u &YF6@A HmysNSs\NqKNYaaf|¶{}o+M_gV_|b ʿbUv vn_?u@E"@81S̐U&iBRN݃6vSdŸEu|G3fgtunmbՍ>):˼U.۪qu2ͬz> ۬`'@ܪ.k ё/Qb 䶕6iZged-$B@dd.9l]PRf'6@6R s`֋a I8\C3KZs|P.ltkxz+q of8ug}S)i _, =NSʭY"&>2Q항YdG˰mBO/]Ft}+# LobGcRPwgk FVSY>,Q&NEz^ĕRޣjAh7e e!3TU3=4報W"]bJEAP%˭:]u[O[ ͛ ,D&'pqԺ隧PkH:݊]w`f0 e aNrX^%ww6oZ29.EII"dJ^Hԩ #*PH=uqbJfv 45Ő" ȃR+@ڨw=;w=mj6Ęi '%Sl@弤,b e+we&elqf&e/7R1F.Al Y-wUݷis!)MSE1؃"*K 0@"rsx ٺM 2XZDvkw,[HVb6\*¶UJ`!$H[M-yt(I915–ItJRr[)BXb,2$ W!k`Jj*Rk*Fă(0 iGr.Z(QA4ݹ]t$,8D-Nkd*-KHc#(koo:dˢ<wc\Jn 2U  adaܣ]t`qerswtEؑ\qG \;wcb&sGh4û\n] J':]33!I:9v뮻]+AwwREwnI`LBB0X])]$bmJ[ $fJvّF4hԘTd5E5nu'<댻c]w##Emл<cb%&R j^x^1.[f%ngtDQklkdě-!m&$Bb ڋQL63%(#b&QI%&JI4T1Ei&&TU(UlE7 R1P$^ {`LSHB#"0 Z ce@wEEZD1KBG-mAXIeݔ)$Vke6J`F;l\kpimƫ$9$a{" H"nD7Ydy7Aiޘn\ÜblCR-h@%1"&wliL I±H5lQPd ADyU-m^ڢP[ dmQ'dyemYcK !kh%! kbIw H Ze#*R4.k5u[msԂ2(JOk Yai=`VE-H|CPs>}_y9[&J9h)#%%&殾HZGJMzM  " @ClA4x)K $QCAC */O=Ng{MX1 ӕawSiٶ:i*-r˖]%iGFX2tyn뛬FipZX#*VBB屔\` $VfƪHb@b$F"I cUp DHD !+gs뜸AGy; 9A@ゲ p7q" lI*jŤ=+(tzѕ%IQQ;\k.;7(*$" WC MrM:pw] 0T!" ts:s9tvGcYANkAB* fA 1 $$Yj]r$s xyffeʹ-[m(F(7J͹\ѴmݫEl-E!$N예B^'5` DMA 9)p$FBBDDN EM3߸rN<%@$L #"5&Ȭw4e ! BF8 A]fܰ!,2 P `@1( IUR TT(8&V@I$C FB̘i[Y)m 1)"ș0 m23Sεݺnk<;0X ()20@Ā7F2mth"6,V4b3#f# c! $4iƐEZժB'B* $$@{~G?⭿/# Bl+ Ёys@3(j%V9ڳ &`b L1cPb ՞ȾAOUA_r&O\Q8I!c|BgU]{+2v~NXE+aPn/*??Ei7v̫:nշ}}5}A.TKK人-"?e~e_(fh8.U>~p&9b#xvg1[ͻSSe6x(Ƹ|H[ܰVȴdXb£i+IyKG?>?zE%4LŢI4j4TQ$T{{ą _a!3n{mL{xۮ=yk$0UeI C\ţs:MU`')|JnKC//(dZ2t[Vfǧj%`œuz[GgPt2IJ7+4Kܥ;F-c7"ꏙA o.,a9 ڕeLm~un8Clk"zJk*nYkFMmx`몣"+3kƌE.Eއ]pIv.!i?gEZ8V5:GHO7rc2W٭w^t)buWbNgлE1*ڬVH:Dzuv \ML7na mwȵ&eIJ!Ӧovwm؜ GC-)ľWCjhÞj,JKE- x!韀0 9EQCeUD !Lq! bv;1ymr;]w.k5ư!̐m{Z~sȊ19v-r [6r+n]06GuBc21",VA1L  MαnnήNʼnp1*H*$bYHDALqbQYSIcUEAhɨ IXP462HdS&%$I HCLI )iEKjI6< )}xp*Cro7$5$ ,f1 6ĶEX[ ƓHzO[KbF(\ 0J$KE{yJVY"Nϣd^ϩ$wme0Pb#4fP&0kml^Y"! NRXh=?csm#Wg.iY-tdC:bZ26IіUcj̶-2R;&&<(hc3c2FQ$dƀ  4fE"R2di%5"HNIe0l$ȨԶ-j?sDII KVt'8*>E )\&+Kn~ IAUR޼݇IvVZ\#}Do,"Y 2Cu׍)22K FaRY,!ADi)` M!t:H \Qa%eLY,ѩ%EJ*",)z7ݥQMr›<ցM\֫Bф$$60hUxvhH"OrzQd(dGM&QJ;=34Ʀwnh9?r>j>&84t `Nz/u׵ـ:({a@~׻d~y|I'|D~x/-pPaz!AI>P\3Q\y7\˭%]L>H'J ։OdBaO_@wǪʧ ztǩ;]\;?=,S۪Dp]]y?ZG ia&Yf^}u{.)LbtB0ay~}7\ [Wv#܍Ra BM9Ǣx Z;$F~m ?2{zU`ܼEݷGЅی.;hv8ܯ¤LͲ̊9Ѣ# ǴAr9[߁h!}jBtNI&:fgvL3CDSʒ}#e-}|5V3L|]nuǖKKpVoWyy'e6A(2* X%!1:~!67&ڎ> ;uaznc*֯:<5Kd7 F3{K[ɠFϜS.9|[{1}˔X0Fq 9[|+ews|C=hJc:O }pMɻ=:ٟNqQM+Tgc =7WCEڮؒZƦ]O~ٛ3 *9 =99u#w52#R' vU>ٷ#"oEt`: yfY>Zn;z~[,8wXrq*hHZZm2Gk).u\^k½N<(ʜt? 6tQ\dS: M0u?{iS53B0%A"1*"S(dYNF X· L;:fM5J=/[6l `AM2s<]Ӹ@{)PKb}^_y$UO {#JV-.F=C\ԫ*b/Mt2ѲYp߰3 5CFx։dN, Y|X馵=NuN7Jhk|'!12*q *OAImdqT1"I0D&i}+G8hӚ4)NBvJ En[^<%1Ѵj RUSy.V802u:T Ե. ŋWO}7W9$7!t1+qZk=E[ s͙4Q;w˭URHV%^!-F`Jn l|{ X1Rʩ'1%{p`nNwgϮ ]N=Ziʽ+EW${=.8ǯF-rDi:iγugw">SƓJMHΣiTFX5&2H7AZb{MUk}w.B(J+5a~gd'.:=6>]ss&,;3&6 ={fg2C+t jS}شFXbzZ҆`dxt Yv.];y_f Ϊד쎅ۈC?puwQ=[BtZX{v!^ IL: HTL:g~)t3`iR~ߵ(1R Gf3޴ r1k:6ۇ&{ 1Io:K'1OuvWn<Łx%+6Y$lv|۽~8}İ+q 7/LLj̜I(vS|d4<T<&@IE"ie`hU4Wj\3X\MxYc:RpqU%Kb;r@TwOStr`<7Г9g+${Ѫ+,k )#:Rj58";iL3,S|J ]iҮm5-|eTBYWX}RJl$@H(HiImIghguھC3̆b@ 5Rj=t  @+I ,D%2F܇ܶMb'ZeBIMֲ((&I` !-$hD XSQkN[uA{a2*\푀m1{de{ (QD`LFpj]-X{(.[Ix%sJ脬 gU%8_,nDJX+(1!A&#$i.5(N*9F/M#\"jq# 8p;AI`Uĺd!k <3VS;@JΚUWjD|/os<;f]Lݺ!_]}oY ݞ,kTqh@=6E4I}.__jݸ$6{"ݵ\F{~Gp< &_ 5o%IUAb 제(VƀhYaS0|UQALW,*)BU. Q-0NuᠷadZٍ!=tl=QxӖWH$ f$!DA=Tֲ,ScƊ&c J!, |Qk\v9G\b}Ф1I'X:O #xouNW,`f%/PgE1&l7MA%MlY tLrl%X\+] E% Ab@D Y+`*U,v H"Lg*^Eh  -B,d|t6,(8/K+,A]P9ԩ!: i*W0k;64EHHB<k-:65,@ BӀ`2.Vro%5▹}iN idh9rB@(b`Vqoke ,D նeֲmjVۅ8WPic)M`Se6D 'BH'ڦF @K͎[nZs+4ZA uԵ-"g2&>*rc BLL 荳ޘ[ Eh_ xġ(*Ac0R"AhIb)hLQkcqW ]͡TӃU #0ԂEe89h(.C ::,dr&51F/ ȌU)H(@b!܂D*QZ1B XX,$]( A9q <̳䀲A)STqjzH|Q#DnP]w{_;iqF:,}X;m"|b=(@8y@#ڂb { T [Ž:1@Grؐ;seZtM m~wc"G92믆5o C[gZRsO[32z d7ncp1ȷ R pl̖4u݁DuD \+J>M|~?5$~?~?W+{=kYM&p{<( qx+nyln-P#nK({5$m̐ hmKgFlDDDDOm+^}g?|'`du R) *@|@r{=fyC5Nױo5 eJSƏ}GHuG1Rt> } BgrVxUM/U1Ihl&55w\irozjB@h_q>o6f[~Z܊0ƌmԛ$E,PC }7ꚅ*grhlh `KCvC(I~_lQS|mՆ4p@˄ǂ8VQ2ʆ5?^1`| o,rҶ?#`Z6G2o䁄v|/8Lba YS;,ѹǬL2;㬨7pQm3#֢Ӈ2@54\E;C ϋUń)obӊC>;n]Ncs6Q'K8ƒ˰RĉLZJIl ~k~sZߴ*h qm Tw~NVQ:w3NȚ¡mOq[pt7es"wϣp>}/| 98ZH?E}LboiiUG-|@@8ϋ򝽎-8"rAjC8aIxq 9y%RM&0HKL#)s1u ۞}Qů}-"d}} A+ѻ[r^g r1WI6o[٭eKQxnIϖߜ> a\[#1:c 8_W¯1j7ҞG}?@\|MQN>tqIH"v|ȧb^vgx=SE_&lp};Q,tIhe,_U?>#kc5.L*a-IьK֐3P9\Oy~#1xOErr_R 8@cq^3:BzgѨa [Wq7{e̼'u2ZCjx+uK|D>w>fy??OÇ&"[Zx~*HaLS"'w瓮y8x@=,+箖;h15\ gXA3mjGlo 5fY2 VXLjΑ+|kk5 Hnx2iv"9@- kŲTÆąf^Sr'vZ[Wa`;!L(hT1cԩr GFq5)9r&+_,/3c)cAB=Mu=!i??G ᅯn&T[8ts Jp]4[{]oi-n<[x>/|\cnv>PPO0臮 {==&/sI uA/0Z~] tQ0i͞R]a5YaWFd1!e(oZ 泝GZNjz! jhDዧMT=C# .ZㅡNP92T7l C7Iy#Dž[m^q]|xg6pCB,C6[f @G(&: IvL#ЃDi K͑c-1r^Tel@@O=OOKp'̔!8_A= M[4>mҨ43J}MJ*( |A,z |aI꒏'"#d $ _IЕꪱ0: u*J+ YB02?A1jvc9Mw@a~~J"KX]Rb?ɾ߰NmaHR1A*^I!! HB+BTF6H2d P&Xm 4Pjj-R$jyUߑtϫQ=^3EzRqJ8mn2@C X^zRtz"ƿ)I=w:޷>CGG ;ՈG}>Q6_S{_Mǝ'wyȢ D ³3efJ,I|PU{EKu9'JWw`v! lSpQMzT }aRDBP>p笆xj6cM| nMxfp$peC(gvG/ /&:@9=ϕ ! pdžYzn] vHtEV1"5@aGBT9S'ղue6t{SŎF]?u_fѯ{}^||*v&ͻa;ZZe><(P# T|>[a8L!h]( 5PZ]g{ i}Fޣs  m hd rƭO3/[zS8/A"&͙c%^*Ӫ̲޼ݟwkl_(@Z -LiQjM(ɆRY«4_WA]f͇uBH/Ec7N J~rd=?י[(xMV>^xNk<4 !!jD:ߩ[(X1;=>'q7NSRc+?kB(ubwq;j8fcJ "lL|;͉Hl,Dhr*1V HN31/CM 7Y2ȤUCLI&sd4 a l" ,esl>̤gߔz~yϳ)CrV00١e4!<ĨO@ЌIMh6/]MdE^IAG|W@Nwv"/u \x?*>@mn5G~mi|zs.p 5x{ma;mn8'rT_]_D()MSMhZZH_PGHFڵT(&3mohcE",ضCVIIIk[moa#d )"$Z4Q l!!b` /DL<';y : *2vR>nn|T(eԙ̤ ^4 ?Qe>P@짤G{{ۏ\ݚoQEEc H|Lya͚&[mm}TLnZ &rqIiml/sl&ٲiP03":FH8`i%/3R&ok61%c >=?p elCVۺr35_e7:RT-3XIl"x|~Cjrl5Eԉ .1S;ְ&#"g!2Q>}OQis 1c,5㥇l[#[sZl1#=*sr|3~:s}[HOB%ObM$ ~$'>)O& /akJC|(Ha;@zUOTnwv|h~_='$8ݔʷz_m];ai C8.CIqqo]59,<~_a<}g^X l5f5|~6:G=oW^@š~4K@S0U[6 ڄ@~#)O*woh)EO']tX<9YQMcQ5* ж>DE|>#NE jGޣgpwW^| gTl( f赲ֽ`Xٴy ʐnj>dZB粟1Kٴ]=p$&g S(_gFi{100; a9pSK~9=pbsd,Hlٮ b{ ^:kmofih,Ob^`JlC,)Ͷ^ ( i魩d]:CeC׃U;3qǪN.+ $ 0{(9rZ:>S8x @{0' ILhld&&|m0cք # @-[oU3ڭ_Y'a8d8y/;\kcxq*.RtǍ@DKOÕ$L`@" ;ofk2'N<yӆɀ.[Nʔ~fBbxQ<}i+bwS31B=2cz-}#Z ){sQ8.N -mT뻪}%K\0SȄm:*BX(0U9#y:;oy>y)1\D|S'HcA a^ lzPO8Vjul}dvq >0D@C;|2jQH]ѣ\9ݻh$Ӯ.']bU"` $hH$aay n_)M(]~.ȧO1/L vȃs!XpCmԎ03tW6Cd6GYPežm[a;WlM20 3ugN"&~?~)jXP 0&]2Zig8Ij3#W~ T28&k*Z\.ɺ (p~,-('1V5)Z"skRca)(-bY$Z,Cs_w(VИG FaWec01kaZyy!5{y>LaKuq0S8ll;amm:ҽ| rFySP6j@IMp*LɉSNC){p2DGYt>F#@Ee~œoݗZ6]j$&PBI4YkMԦEoRgí421804X[dve^ڪRs&seJ/ e%ۡAZb9BzK NX:O$Q&d'L)Y2CY ?$roR'@(SX-K^-ASvv`ID=󽁒_tُʇނsr$~[wa~0Xl*?>{{C<_Ǫ q@dYs=?/n;ۇmvܑJX@L|8;ĉ#<=` Kzt gꯅQQQskXKί["ǐ|NXS3ȽJMMFYj@|D=l!%:+kTGFьjt>%ϋrUbB! RBawG|䖃7GC<2ĩ/l0{G Gql~kN۞mz^ͱ{*~o^2G,| E®)V|0H|ti 1_G ݷM^_;SCT4>;iDPFE$RDoa>05|, 1;w޻pg׆ݺozz 3˲`F15Ql\@D@(Z@C =$&|>tL./7:NaPL"M1BCQ )(A>:TQ;#@CtGXDAc"#pYA{WV~uW*6… 0<<8xKxaO9CTxp*yEge|CLkB`XG?*Oo6֟{xTM2MM_54 z4 RYHwŁ P',\IlR@Xvy["@~T,KTLe_ZտQMko7$)4f EAD%[*FCT;0^.g++ I7z'-<$|NӵP_𽽋烞H@2IIIC)(DFAxx>Ex(F 8O&y*F~K[ǝ0@d(dd|Za'*yȖ(얊w|R" {dKepX3T i@Rtߙno 9NPO}?';Jv0W#G椈~$Tya T7zInON<}d(M$ #d@OANΏAAmI꿒 +V)fiiXJ׳-ȼ0a|3U5mp&pcDeg_{ &-&jtD4߽a=YvH "!_K ;QB@neŞf{{y>'y2NU4@^Ϛn ~6LNu@=NT{i ;gAmnJ)*.P,-ek;k}u߆*S_}ty:z}<Ӥ &șlrPM2+MP5dpP%u6eN%UL:oyQ$ᰶxxjPw7o<> =z!}Lx$$ ${z?j0.ZюCz0_'LvÝau6wh;,Oᘄ?$;4<>ECz=aPC@ {ʹ!E^vvS}q~pdH'I~|9 B4<>oTcڗ G`y)iBٖM/Gu__|9q:g 8Of3ϡq 4o =aMgNz<݊V7yAL!-qW+ƪ4V#=J{eJژGRk6iXuWeOpO?o͏+3Ƹ}TbJ^˒a9sQ =/ " @WBHF„#P?GՎ1?J|DGψ%s.t`<)3y-{?>o~=maoo *ԇDtI_GA>ּ'-=  Ahod3-jSNpPkF#Nٿj:}w1(Rtbxb=5PP?`~QګC^""pP{Sʝ;į@Sa6֛p}p#]!l CaeT0,"d:<ۯl וQy/ԯy>o}>HݲGW@>/GiֵfZOI7 Ѧڏ3lm>m+MIkXS[,4,˲/ nYb.EhS "cl=đ1$)yǧ'DN%n|w"jWwII~EqmOG'w}Jި jp1{I?نg8c1MWuY3" K]h0pb@ eP4!{ɮyDn@ l[FϪ8> (>r,hE{$h%*cۈZ@yCbyGϤGyARHa"*pйm^dxo.ň ($g d+H VVUH|PK=dO+F`"s3Ǫ2*[6~;j49"ěn5Gv4F1iզQe["KU >nIhoZ@{x}Ojwu$EGObLHF)+#\)Kk$XjAz\+0dY6ID: MQﻶT\A@czD&IU"}?U[myT%On5x;גO>w_>?GBBP5Ţ`,hak?<B\'$ C B)U;[`=Q)R ]9!5,jw\ݝO~8Jz>[v3NNoD&E)" Șl0p$Z1ʃhk]{fz]5ԜʐD&f0Nqt>rP9JL<"}ekIQkoz[OF; 1ϒVɋH[;Tr2X>Q戮g >s^-)@QQP+#B=4^# rbє6h1R>ό< @0 y |m31_<:!Ebئϐ!JVGrjNIkK4_4s"%H*@ @B0OnC!`p;O<|p:(q9Rګjڑ~6kiȹf$ɴ;tƬ"6'e3֑,Ӡ"T7'vUE$d.[%R[ ͶMV'>e225 i/LfJM,֝oG2S$Lb>cRjv(HQKk3oYwtSev Ѵ)C1 rW?#r|/IE:9oBq'(G)ltG~ĚG+qX&Tt;z?MmL<9')2)P}uB  [10L_ tkF Ji̯**,CO Li2I>^irZM.Nw};$vVȐC{3;ɶ <>м ibpjmږwFGLH! $CD<󅶪%R-j#!: ԇhE 0I#l M/{5ܦRw ɫUcm y(píbtCisѳBĬt ,ݼp44G'h<6;:NQNGm}|Ahwz`8fA(tP`L C{2(E NVY%κq 9'q^;.@eTIAbd0X}nf ͦDR4[K%օPh$5UkYE3KuJ*2K7F&0b53rt ..וu*^8vNcZV |^;F[k=o&B47Z7w_qMڮgy`F !i0Hԓ}*,M$; Oc"|,>UFU,fZmzD- G-' ڝ $ՈyK #Աm%B wQU$U ABFAD:R>180nQ?}|~I1$?A1;+}֏6*C;|'}IS'GW>}syaI!#y<>plERX 4EE^vNm@6ub_[msս=;bO7zkjrs]i(zѪAi%EMWOu+U )>dNT1Wl-r_YpֹrT]ؤUJRD+goPo4axB͞G7<A"-%2EtK)fd>,gG>&@M)0--W~ ^RKo - DgqAv1iN哔 <0@ԸJ^~qGXsXtY:8P8җ 7-`M4$8u,FP$I09j"\l.YbXa UA f*nMop v!m,T*TAb@vPoz_\0xڊ`p+juNh PЂNWe= Y* 1p|J ߘnorX@!I.RفnܠF[?.q~`DB3`UYړJKÀ vH#+d"o Ͻdjr`,Òg%q|oCQfI^JpGQ$޶VNf&duL @k#9 Nmp{pA{Df6okfMMԈؓhɴZ0%EB̚[bp)J@RJ@|5n!U"TB#H1Ej6#$& r7*MIXޑJue$ǂ[QaxW"bɣB CjTM ,6fő#ldu,PV€KFidž,md-I[ 5s觳lzlE`ՐkՑUB[6)1q4!ERJK2cmbLRjYDIi$5QUhB#VIi ; "JT, KqZ X,qOriMQaߣ8o,`(Ipr:LVѺO\psY<ގho̓LDJBZD2%2REvL.6't*F#z+en574pM"096^APN mHYFpZ0)`o'K@]'3oOo@` H@U1-)쉇!tbPbS3{@Z4~4SE]*El|b@2/Rz%Cy=J*mYaA:Gi$}d"cCx@V Gbuل"fqSq*REY3 Q E !cdiGD  REME/EP--gdbPJɓf&`񱩱b<1iT2 8do9#:\C֡iYKRf>O2k􏚉>jH%اAdH}pv;{SiB;ϟڊ*,-$BYg)ʸ*N^!NUMܮs:1 nUw8AdDJN EwduǤo{b]#z74v8>xg-]IbG${_ACj#w d y#߻& > ?P|V8lA܌5"(h@h nEۈ$TDG 'u)]@#n3|@AX!_80P$Ę&(IB bBd$D&EK2,Q-  >^ HDNqꨌY) S_~G+ ,vLRh1e'`ۣ/ڬ_ӗJݐ֊Ej"#KOPQx)^nF{fı !nV#]=dՒTN/YbHNӠ B0ALJ|߻N'$F""H/ 4. # K@6$JN HK"F_)dR,57.$Dl#eU'|蓰qAsq^:XCTچho!@Cbom"0RAI*,C%IBYIh5Mi$!,25۬{aȇD[ ";*7/F&9P$XB% $%*X2 $`ȋ #§95mFl J )yyqhn̲\C\ٝjWa6 7) b;n|69*\,]QEЊppFٿbXΆgU41FG43r LbK ^fMHߚirnrOHKr0 @LLb,(Y5ִͦIYr6,5h4%XKt.Q@hٙjKHYiQ-6d#k1,FadKqG3 yHliɻ-I(# j1s#"B|bC("v]eUa-+eK ,=#G˴e7QM2&W[ݐo.hRy||ob"bIa`LSz5ϥmI R8Ȓף,UO_^PL3ox%t17S=:<7P u:ft%UAj<8ڪF@\& {Z,ic??ȥ:WbS B1 '8).Ъ3XDXL -s2SH9BBb|}#B COy|1t6g+^:b `$^n0!ChH@fB4")suS2PHgk3V  W_=';1Cq"kʟc>~l"u}d']O~0:z0zZ|vA?oO;K⏑,5Q WP˼_{g=Mь}O9| /t)vt-(7ڻA >/?Sŕo?10~{z({oX`W?{ڿ\(DS*ڵKv;4Ig|)6uߩ'F~go~kΟjRKX?r!s)8bh{d!۔kbv@1*4V~ Au6^S8'mc;v=dUcm /~ժ6֫wa zkݟu_~l_q(;#z_G7Q/0E3/<_ Uٟp(~!w);o~O'=k&Zkky^*o5?~ؿo wsɑ3a~WLI??א 怀!4{1HuPksz.f.ƟuC>Y᛿|>plz<_IQ10D YY|RI!gb}Wb @9 |g{Qz"7O+A>s|>(FϷw~Ob[¯gWyn>B I}t~Dg__t>3|O{9N/E ODfP(|p%C%oJ,$!C@1??ikvs?iSX4gy%sI"&)2h?o金rF!6 ٛ,~<5{qwTA6ؾa<$[WY,aa=դ6ؙ1iHɌc\J {(poF_?u2Gf'+<#CC`Qd1 m˅,8c4t]Z(Y4|-S O'*5dy1LHPIye$,!`O*Z3VH}[ 4< v&uj}۽*=OxG{wv x{A yd[WdL3?.h_W /ԚͻX7aqDFCϻG6dI -!eBѨڒ eJ+ HP؇¿WO>V|/+Dqټzo@ A! X됇N8Dmqp;]}?/X؄QwW9~^~_<V~ ͩ $NogGSvZtU_~G'?ώXO]eR?'{w?G{PˁlL-]%W?Mc|?9ŁAgbw Q NZ^ZZ>w,ݽm=mЯwѯʶRIz ?/DRQte{U^L9/ɦ]?f:G[]KEE_%;x*d@R$$#$bI?kع<|`}W-#>K!C{gQ~C~߬YD?Ze2I H,S~+z k4'K?Ak?{Ls p6n{eSߠȮPOm{amgZZؖ1*rFKmDHO4z#I$}4O>E "8_ S!ùR/!O+*s+U$CqBE>!ѕ"eWV_&0eWvS.c_I?]'|_Dϻd=_ D??w½VK@oKG__^?c_Ws//5{204aihSoꧦT~ziBMҟE@ 5z3+VU))E$YtVi{3?oN* ƗD /S) dE?^0!DieaÂ;#b7[ I͖VÞ?4oe) %sg_8:oh#I! V4ȉ@*A$7r~YpE4Β?]>o.z(u5͸5.3Ϗ~|%IF0$!>`?O[1Eсԇ~ȷI!I ?W>bqV^oM=!sz[<|=~CpnHB@\HoqՆ?)h z[}57:# | ?Y&1z8_;43C }7??j˪DymO$w"76|1NCӮ/t}mZv}Lxd0֜)C?V\z`pgz`!0$l~:Nt c7ėذ0=õ UvŐ|#]u6<ν |^]*ZX yoNMRO~c\j+$EݷTocDJկK̠zJ \XP}q'WAա xWR6.i(t2}}}PP '&lӂ W54%7W"0Żg霧uVwZ„ .S"2SD"D~IV|6v9BYrҥխ`FP_o>KY˦8>D޺Ќfc n~;s^[nP1dcCZYcJBy%cS[.ի{?Lje9sZ[E56d.%z ؝^suH8BM-hX$NS7KM0+ 1+NnMWP JoN>[Ɏ8jOZWÃd`wX})sVljKN S*|4}6nn?䚠V,{sΌDtNt1GBiy#pe4SDwКlM|_Pҙ>q"\?-kRlR Ғ@&Ͻo ,{nE'סC b (`t75]0?)l}=,35NA !TjЭbIFL 2$֠N cv=_)ҁf#mSU_~K<{h&!t˫J50a10eg&}JIcٻ*<  idZkAƞ'{9y O1_D~_e`qCv1f{.;mPڛX@m&[q*T&$B# .|ˬ@lld9nқJ;\ō#T6Հj!#G8A ](T2>Y)`@cYR u JMQs-Ӱ (kr<}S$26 Y"0%AHJ#d|J \_kQ NXZU]|2Ke~v7AH$#ϷճvAd|)~ eт~z{:?Y !nB "XDl@"̬P"㈄5f w~?5^_z!C$jM=yn7L)-5C?36Wh;u6|Tgn->! Ig/ߍ,2?ݮ:omk-j8$2a^j okߖz:FKX.0$$!@/v~~9l%4"ĒTHXo=]rOG߷{lK@]"0Rl^|էG Ē"IHHBvuMAC{z}z7J !D_e_)A9)kF ƣp}CYeyP5`<>*@cF`U-?=@\`A($$ +X?jhn$y>] '8A(M"?]Xm: /xU8Q@6!kxuqCI_"XdF>V+H Zr!LSΏ]_PJՕ&rGJ* `)lن VbGh7 73O@0?3# Zѫ_,09[IӍ_fƮrms2 nN[g5d(Rh(CLe{nrLsλmzuСBFIEu-MEQ+Vޯ͉Wխ^~=ag9 y 2b4 %rIAݿk}sOIEE'?*~ [_v;DU@@=f*_WHݷoWo?YA$b3+v_o{~~Z>$E[ ^fģEo;IQ=#!' G;}/7Z[ij\t:w1xR_W򛀚~ e2?Q32b"XI HP&9ıRSosdU}O}O I<-""LVC>OO_6ZO}w} AF.#v;0BOt,,zm)Q6i|h6KIOa#%hO]p#@ BHIx֢'sw}j?ocS/ך_X i<^K =)d?+0II SKnԣ_ iҤI߁R$>c(PO)~ <:0x?? ~! a HD>5twWjH! @BPO=G as;!$!RTMI5İgK8?O{54 o][i>9Gtjf?|ެ>$;(R&5?pK7Ydg|Ur+M8PbC,iHEYlH`'Ƴ8jKPU*?ÌrFHAYAQHBT(<ߨˇՑw_5gͪ5gug!=|,L5#6رdJ'nmfE k ]~Z7 _:!,@5$Y!Տ{?S~/=q=?~QRUQjX66ef뚱_UUM*|??k栦Ke#~~v)Zj~nU^V.H}ߟz݂g># ȀHl/6y޲kdUJ d ٮmn-a';sxYG:-k 6YTWJ/r{?syޛ37?t!zϘaon~E!Pݣ2#GZ.ͳ%Ͻ}x7w|/kPWDy?g@Gd;+;mߋ"A~--˨JkP^?0Jk$A߻r*YWl/ܳ`p̏b$a"X|f~/e. E5jJCJWZmLfH-Vd HEI}y9!]BAV*QmFd!?XKeH_5W^І-PꫛۉZOg6+Q1W_-g?QM|+QX2003֍y/]eaL-:mW_ɥVuݚ.kֻbM 66ǟ]5A$_{~op%OaZc_hqMejB BR!C_/\ֲܵD0.Qlcyt?&8%ܟcT>ZYc!>q':ź[{􊶓䀂~HYUlIyd.He?X[ݨƪ4dK pI_#V?HbwV?:7-=.J R!5'}] XOCK(hjCȳBXJ@Wi'J !ڤ$@?S|zU,gPUkyBhqHDa2!zk‡ $/饢>5g]j mV*\XU䟪ͿrE8P.seqinr/data/chargaff.RData0000644000176000001440000000053712440112110015161 0ustar ripleyusers]PMO1-/\ϻy7m3 ,0$oY~lPzڠ㍉O:F<BCFw}tZw\gX䃞Z'?D =Kﳷk4ǁŢhoն}\`R(]䭳;D^%)t{%(o]R"KHYaA9Мl񍸊H(wAY"G3qRB;}78ؚۙq 5_q"seqinr/data/msf.RData0000644000176000001440000000150612440112126014211 0ustar ripleyusersMo$5;pJ7!qD,B)?Te25_LOKyݏ?^ð./6ҺW] WLnzy7ñi׿>ۇ=H{ܝ*?V~#A>*?[WNZuoʇ)w+ m:*/)ݔǃ2 yy,mf557fNN찔>,3Id[&e~qF?m5qI037O̒+^a1}}΄&\)`talL\O`L׫'cY1q3/3ScS ZrY!H*1cewcDTm\mԽ0!+<-S=cp(Lh(E3[ΘuR9,xj6[p*Deq` ΍L \ . ^UǨGUW8\Z-.LFPnEԾgOLjsf2͑7Pxa=ZC^[%[luj#r3-C%svb4pvS g6ZgZbTKRO14Ͷ -cbps1m_jߞ \|15d8v/vY|`&+ƴBC%^GGэjuȫ,Sô܌!h; ,#^CfZ2oÚiq*{Us/HVXZ`a.şhʬ0ɏǓ˱;>wlf"XUٲ_7T8,seqinr/data/AnoukResult.RData0000644000176000001440000000047712440112106015704 0ustar ripleyusers r0b```b`fdb`b2Y# 'v/J-.)300\-. M ObRjN1%6jOn\(3 &jKpfU*LAONم$ƟXY\v.\4%%@hfMI,y msLL\P'khAAjm#|s&!pc; gQߜ0x?g޳l sY7^>BMy4dNa .dÜYMseqinr/data/prochlo.RData0000644000176000001440000144547412440112126015113 0ustar ripleyusers7zXZi"6!X #])TW"nRʟѫ3^9{/r8A =kifA\LL /L4& u&s؁D< ʷR4tXwǪAauf.+xrR6"wP/Y- C e%5 g[#f}<4+FO)({:^g4#/fCGctzٙj~B s_w*mNt<5gx9~ipW3,b,+F'оq|Gi#-x.ʣp."Zc-J,=_3,5[9j&(O]⓽qXS= ϠD+k¤KGQ{Ym$bb:[i$ كcxhPS ӂ6Ќ ,8F¨oC6+&rZ$){7} 6>OysvlʽU (1n~ .z+f|`g<}xӾ5d.@MuaבYK8׿/ -ApxjY6R]hE5BP}PT87 ,'An%yuXÿ L18 m@'9Hm+k;}f~"-p<{fNנEhO@>F/3 V|fS6\ ~w;ͮ:ҭbSM+XPf.E3qlHFGQx&M\W7xi1O6)g oi-AH9~/>1/ܓP& f4]|mI-dVT*>aZ]u@Kx3>؍̖֍a9>q(FaGu9Uk\ ܹW>("G[ڍU5%N<4˨@Ydf<m2Q:}L6eRT" p n&dE1,˄} G(lidA: "1%FfYJTq@nɐ׀CDE Qu%_0:tA6ܨM_i$؎4ªj08d,GֿZ؀E_*[hucM;zxh ǔ@CN2;0 iXaM~YRS{EdCPSb7;9pQD<6žڝ]}[PO$ŠU5Yv~Mt9RҙL,9>P);MoUBw/3a64 P;`-%ΧI| Iڱr s aeD|h)T}64M(6iHóoE<}#_J,aLM2P3ƾR II;x!s͑ D*mVˋ Ʃz;mQz]9:4^Nک nO r&G4Cx\i1<6J:#al}MKGR^=nj$Ӭ &ɺne?c`6eiMa%,ab|Um袋ۢ3@QŦ))HK`,M y)6`D$Z_뭏dCP* k\"շjE%8j{|2.m|RFcoެ6)]9ME2XN-r};%=AMzb}Dry-dqb1C" &I'ˌS6V^aeƻ\ pXo6ڗm')/ kgQ^-W kqk'Z*..4>n~L"_h1(~+Sƒ\CE~{%5&'r!B}&?eҘ2n$+@`1Y /+0Iο5N7B!l]=ihN | e,C7NpߜrWQKd.KT̲1 HXkQPEjU"xA:)q[[8iBǭۯwe_khl.3*.a^ƽ'iDb#V"]`ÑYl1-)śÖ2+È䇌bj<^2zekqWҢ,X0BR0@Ɓj4tpa5s"JWb~=u][Nz 68~]1X2~ڒEnQ`QGq g\k;<׃SL@ړ#DIAVHPpz`I[MJ{?Z0̗im7 =jQh>n7|&.^!DŽ"kY9&]3$F7H>pb$j#oZ[&!)aי zkwQцsnx•$A52y;@mv@xE{@-S%PX-`~rs@I@ү% c_ش1fNjփ/Wt:P1'rX;^Z^'R5 F_k%7A[4f !%2W[ >wfj=B3b`(M#ݙ+2:R^:~v0gG >662!24WӞ(qG]X]$57HHdi<}ϖ-$Fw?\u$uzy\t̢$#HH"4&8,  {_ 8>6XB&)y^~>ψ(I D76馺q֠k9`ljl ІJ9Ьq>|i},2N21gr(4֨+7PA=4,ltP8W$gv8 :lw7]mXgF8?_?~¾6,S_eg)xF!~^-\dɪi;9=e[QJV4;Ŭc8 qFuZ ?@C:6si 픆":!k8UKhi!0a SnRRsJ,k076##UƜ MX &pR#Cimۣ*OʅO[J'UxQIx!EfUC9;T߬,F,OAyVӸ>==J%5ЌlUExFbm<~ReZY?OHm{y-bw_kj`J(DnmP\6YI8-B‰FγJIc-;$𤓔!5>V'[ࠞEOXGK W` N+Dýj*ٯ>h.F=TQ"t7.ȕ3᤻OLg ٱ"Um~WW_Ħa,ETbĢDPP3-d7ˢ> >O'SVT>=?d /ƵOs&HSX"ݢv[%1)-.*ưtlOB /Vx; 38Qv j1Bv<5 ] &P} o~x؉*Rdg4 šeMFQv᝹B,9@k4A)vQ>E9)G4ctJtE_̊,ErH3wukYT,-/e]{2Q ( xp©$3أNS ,KM9{LxZ8Uf%|'$w=T҈k_X WWoͳG)\IFQ`Ä|g=ÜI>>bB4/\Fag aЇMOI0(ތz|YVX1>Y1ts#ZK2Udh8 X HhCȇ xIN&*OS.rTS$ݭ%z\硲0pOĿ7ijJzg>IN"=U0EMfY\ojKߋ{Jߺ6(P(@k+J|jҠ9}hώG|ƠGM:v|SYֿau@doLіJ&Lƌto1#?Jk^hӵKݖ/ہME@SGCGN”mdAsE wbځ&IKU/Jˮ4B⵺:DDy /ɯZʅv6 6Ppvd2PheeYy@_U37O+MF@rlc]Gdh޴5* }-<͂)r$B@YJ3O]晬I4cxkBhbM|A]bTgXB$c~lЭޚˊ8/%Q.'.):^!K6A Bܕ[m@nr?~l&yOR%B,qoo,6'O]vXDw<oؓtNu@0^<'?wƴ[kuH)I]v:3M,9VaP9R_#7(OztҺV Ωw0{R7γ$/sivr[ 8ʵd{eXFC_K.*^Lճr;ݞOCyb:K7\!i%G$Tvۚ^BpH0v.紸N>Sxɹ14!lmB^ OE|x dRwۯ)5ny#|FrJp࠺jDNUfmVG+.RӱSq;#F"wY8\ Ntt4 (LCm2,)~%i6dB&&6k)"4ꞌG>%f"sdJTn s}HôdU{$MgP100d(33W&P\_1oK:$v6ABLQK1w Oà UȾeޤij( up>ҝGJ <FVKiH2O  8M–P5ί1vA^s?WdˆtmuMYV6lG؁$&dUcLd߳ Y`;h&,@.Xlge)!Tтˎ6>ٯ,E؃"z(]`u"2GxwJټ'fQF2/ xJp(:7CA5XfMjE~C(C:e^q@chKG'Ww+ҝi540gGD'&R6ܳ-r]n*n=bƠOqLC/0ʞ(3Ck L2um=\^wj _~HVSsziBLN0W ŒWŬk&mf+YƜ^:$uA0-LH k| %\MK <DŽ}6~H|MuhweS'+ź}x)IPW wt?ێ n htEtY8ĸQDnc%Vf(Nb:㶁mJn̉Ҵy ;c!"b |5^ɯZ?X=M9Oxf&ڮ-83ca(yW%d^[((1lJ ypƪL[˾TC &_JWe "nYF Gy'Q#4 "[@1uQ]L&1`&ۀ9K1%gY0 ۍ(F~߯ӳ,!  ͫHAz" VYb;քRq:%#28ҸIMJ7`1:SLRAS N/&~ŏTAEH_ cIe-BzlQ_34ck=DЈ[ύE߅.AlѢ q'ŅB y"ܳ 5]ƣ,'9~yZwT4H b#URb}VH Iӝp^<Ц3Q;:UqtPdsQ*m`0bگ "}U247U2i:\Ha`^4c*cȄӕ׵@\zU~!l|D{WMa@a& pЛԐ;n~]*}?0aXg 5{@@Gί>6)4k@0IhQKx<K`A7:9d9q5f6 ѳ':$!Q༓L,[0ԗ=dROdafsrS.eA/\edPPG^lWՠ1_2͏kFhmK^!ܩ.lfvH^riUlNܛG ԑ)w 'Ь7I PU)A X)LAߥ"CRڂsFιNGgBnMCeMf2kO56.g璂읬k:xP{ޝ"j BsUY$L;~;]0*V=EsǠο{I7)A압;ZUgGgPrE1yz I; X_E>5 Rd6ًKx̃[(> g̈GS\4_o0waV03sRQVK໗$=ޯ"[I'u4.;xa7oq5էttWD[΁h.!>DCc3)ŭѺLdԢ'P&vo$!Yٷ_z_:qYp0ȈnXSק5x(VoBAZ7P M[ 6lfLy en1`x߫oځS&%Ϗө`aRS8iR(j.Jۿt̿_Ah:l\/8`KQ̫lP%u$K y2=3Zӗ[_P[]P+xP[QV CԞ֠~|q( #smڣI/LRPR RYʘ<2VK,禳c~-MPJ&ؙ`H̠ks-{gqWHp({ ts*WYh)AW&&e{l1aAXZr_o, 1ݽRS98̑KXT>'gSgMeJv:$+\وP68lv*IZ(Rz6*I|Wˬ}6Z_CrnM$y-燱ѭ㗠ybJ*)ihIDqg xj'!l2\&h?LHf&Ꝿt"V¬6kQ mÈ=ME&lo)2Ety6г E6Fοk2[Ef35Dl6o>[9!Guh%$o'&!Yz oH3 85I/N3.4Q3yz +{1L|BOG~[D{Wp䇝U鑝 ռʈ8p?kL:ji L`;6kv9 yD iC UAmE oCZ Dyyt{=`\QJ^dyRlS/ҞCyN G3ӤA82t:Ig=uhq23dށdob!#e04S1RH(q? p aq6pU߸ӥsr;QQd;q=.Oo@%(D?ɺB&M'AqRRp]h}$ᄩ+#/é=Daz2vDڕv9cFPC@ (쿵!#ˣ@RCaKQ(qjZݥ=!8_}֖48RVٛ- ZJRhaN󙒦t8Y*LɔMCʈ?|=t)ȨJ-=ھb?rI]eLȞ+. UzuK,p"+_/[eZ93s\A}Z .ku[}JbfʀLF_e7L7g5Q񿲃?ۥ*l!GO (j$%Ѻ^ Ȓ p$w$H5̭SƸjf5UħF*.gUဤeH}k,=D=_9eA^UMզW7^sĩpZ g(姒o] |"b/04zKJ?O@';'{,ai4굨mzQ_TS nkfSLJS*] =txw VӤ̎k{]|p'NlmZtfE|o6-$z YO!~OݲHyg(?R#P<7]!8|gXM0+~MZs}A&U*sP~Ku-0V+֠fHƇ5m;I`qwN56&A,srus2Q8wn? jvgX(e+bV8CN9'u تr7S3-f5¤$x?5RSeNcw `^z˻.3ljnU*÷)7\ 9Q Ѕ4׿B)0PcCzmy3j }@JSD4%t)<~"'Xy:xq%;P^xUE3f  ?KAyO~  +oVU%}T1ݙ^- L{2}kb/ L %J"2ǍX,Ict[ڏuIoɳ9zYF jƙs9oq t~n\6Ѧx[rwjs~\_#ZKb&FF__b;"|?U9/uh .xc_Ds`jc[VSz:~_xHE^q䌂JO& KAqIl! ~m\̻s eh~ 53E'M5ͮӒ/^`ra_!Xmyוb/#A} /-<avD0y&kB'>$=Ȁr4J$9(CH't?{ lJɱ!yr[3d`J~_t+rPxq IattUNA8L~ʔk#Tş Rv[bF=`fhHs?o4y O3tƞDŶk3"F\!0u#jP `ߜD eCeꑯ5ʭt}߳\0xJKzS\F } jd/T9ٌf=p'FW&r(qcOP;^ECfvJbԾZ|u:u(k A*Uo2 &tqJ1zl@)TJӀ`F:xE#h͸:g5v~\OTx-48[X]qL8 =LL˘1/ 1E-8:cNwNx[*6&Ϯ)yfH*#;v< NS1}XVneirpXz1U>b] z{-Byb=^n:LCEJf* | [1.EW/@xh]6!tY)wEԟ2;ƯN룙"}0BWn(Au b0-KiaeAUN`ri#3g(Ӎ㡵g0|"`y Ӿ V:d-DTEJ%s?[n-V0%|:lR{gjT?öUP ƧmLGU+| X.$} Tb3| E:=Xb-f8dYh 6@ ڦ}VhP{qPL>>N/E=gq2׋ p+FPYb>_J A.#6ʹT^`*7 Z7VOh(pShzeKUGU_vN-{y~9i8 /D*NV|#lmܸrT e}ʚ7i{å48 jmFv!m4av`}_;S]t\_L}CEGt㢯<ً̅U"g8g?_||;lSJA| Xx})Ľmi E]*!Lp.Z68&hm1٥8Ի;E#GEBpΏۖWfo05&NuL,OLNǻ"+7np՛9GܳtdZ&I˖ʈ-Qb7W_U8hł+eʲT0da'nk_o05UC'I.O~!v췯k Hq!OsE@zY9 %q %Wa5=\O 5c=>T$5r#ae|b@qQN.^}E1ϰzm9?ݪ_[ P_|\Dr_4v%}a"k.c];7|`2,pUqTѢKa9fK/85fH*wĦEC)4O֙Ag`҆&z{•~t{!CgxxEesg7I2]d67։r6x..qPtVZsw)aW;;0Q9*YF񛱻iwlaDQTW O,]յ$.6prS)8)z䯓9F>ɳW纭ԀɬȝB4Bcdr8ۥq:girKrWXDR=fyle=k0L1 XRE!>Pd7ÆG gE;@:yllrL"LҌ:l R_>O֭'Ĩ$#uV/6ӈth)2yPwWCEp{? KUjwx~ |x)n t$J3)Pj4f H a9!lz‰TLpP깠+`%HiVߣh!mh_0xhŀ+xnq(V8uHolZ 3K 9yᇣ8}PKܳazA_ykcw3v5nKE$~K .ⴱxH/ OrѺ偱~:'Ub8 R|ޜ/2-ST9uyFwiyxHaȗ>?56)be:%k?Pϒ'xJcG'O,ɰr׮WI;A7wFٚ i#۲$*9Rʐ&dcB҃x5ʳ/Wv0h(X=> 7XE{~}6[Y0[6'm>_RIx:'@$0X֞t7O_`#Ff"0:`mBىA5vB8`(_TgfD%HAM@5<h2>Y|Ktp:M@kSs{!A>PlH}* -$1w=;\9O}>ZwL\k4Zh"rgոf5T]jG=-3= o5[a"͏Tʊ,(5،4Wނ >Jji# ҀoD hB%0&&gZķ_u?7PIEXd>tc̜F]]yVfPTZ}}_Yfic$e+$'F>UuYUّMٕAI˟'a:دG4d0}'LJ}bj a4#Yiʍ:-U?ٰj ? KG9m#_ݻb„T}7/&Ϸx7XsB|Fr{Dک`P³ wx_C>ws׫|4%v6a@rsȉ|k {m;|n=Uԉ`)8ټðj-m1%xIFj-uFvt4ߊH{ѹDE4&'7ܝkw+dlm G:a 2M[ܖa `#%]mh#HcӬuq.YӉ23v! I߄7%^¢<|}8C>@r+AZŻο$lehkHnK̞KFJ)⋙ViSx\1blcHѬ'tF! Hۿ9 $RcyU{Kg읚zllRnXB: ۛ=-dRE+B<j]I-?#S›HE0^at]#t8#aOVi6il͜3ZR<|x;#՜i @V ߢ0`* "q堜2yaLQ,nΈ˛rx/Df\Ps!RuxCSQv`;*gyu+nCYv}`|+1K[|1 "V""T>& 9)7K|GJB$f\8zQ>N5gC\ j-EIp*a,KČ 'ﴇyY +N(WQ#K/ua`w(Xqll|}.௫x$:&P =BHIm!F%׫Ԥo翉8O3bI2DSqđX *QUZõ//,z} n,Q0.u45wJTIGw߭\ ne}Bɮ]P5 azsȩ:KD8)&]ѱ.?БVW7>)i Co̱b%_44E3i+ޠH9F Qk䕍\ю<`Y`ߎ͚`+ώ:́V4N$q5 ߞqʝ|tga]pFc֨ "ӻaG&MF!R$3G;?Y`k`D9j~ѵsǩa!KO_fm ˋ[X-H2~ m0&\ OV̘/럴̿54ABT1.5G۞V%̬UIoA;%e *N1b['}%y Qu:X-*e 8s0|]lK32KaĆxm#4ls5%rx"c5l\6VTCCtc^ GU2DkI:h}jyG(O;r*p)"Vf1Ĕ5H-)7K|^|$w?wpwQV3d^هaPwH,ux3,"lD38F󘌲b mne=bM QzJ[m5 W{N2{OӋ MKw!T?_IɦkMu[4$ߴ+H TԂԦ|U웉E%PjSJiάɟ3w#kZlf@(ӴMOͺٚVy7+nZ U33SV\/檲]yO퓏J.[5IQse]A]QcbjrlGUk@:#RCM@gVlȍ:^;nPo&$5#fV3@5RJuݟƨTp;ZD娤_\ђo*0v:]L(]x ":~rVLri<2Gp( Œ`V͖ZZgo9pG7l(!b8\1t'}n x2sGVE4[4iWYMTVEm9O)J3ʝߤ]7IYzPWA*'2 k`_SۧmH #x,5 9D{[ h8^ao(Z\n˽>b yϸj]Ӎwd֙˂to-muA@Žid ~オB/iP]y0D/[j _eWp+64%}fpKDZO7WU1ERD~(F%!{0TB:*c}muIhd;ۚiCّiEnnZu| 7аoh90oFƅ"7KAan4+?_$coyZ|n *WA:_X "i2@2s) P9}ٱm>٧! EhnMGEAݏciW/8m_-{C{EW( /nl_}JQk ȠipuTZw凯E8un;'Wli9Mn)V_UY.)Iɟ]"p@ah0vnFIr$xC @?f9x'+(>?QgIuJϗhY` mm?zDRg}`ϥQ!j45|-L&=U>tdͺ^<)mLs)J(ݚA4ctř[E2I-,I/wCX|)g^:}\uC@;0?d0MnZMm*I4:ⷥߊ[!)ciL?^2WR^xq٠poB%ݨr3t1l{\$Qr0i JIdKUIC@39V5qyѣFz-5W r Յ ɯ]#7,K?htĝ? '/mnQ?s)[?߉硥v) $3]fnV =A >hasDp>=Pr| "s+?_ U4 Zsm÷KTUGGh^iSʞ˪TIM/nd$G;Iͳ:fi.?:Fg66272 Rve;a" rg\C{KdJD$"35`nvnzV2_)8ΣڍN^Nz)։<\7M @|X.ͅҸ/D31ãeO hd-GsUu.~Լ[olE|gaO=2`לElfh3A9fG!VnrڣVL%kQkXt݂3v h>q;"Q`I[^q*l&DrΒx:3J䷆n Pv$!rH6_g3~\bC1y~>N p{TPԾ]g.zɕ1ߜ^R$Gv<_3#(i~TWf_ލ# C<:M\ X},BL͐@Fuĕ/Bxߑ%?`u?TWMξM;:;D7Э@8K,GqbWXl >K}:no&eB("9 +s LVpAJv% nUI0H4݂FFq>?i Z:[V|f)<ܽoޙ/Vk|$$V .)&ۮpʃYúU ]CA(r *3Z>ydl`訚ݻD~ag#.bQEʻIu^B{`R_*B,)뀉8*//~jܑdR۲p;OOŸ? ӰF |{xr<-g@qC^p $YFL[eK^ zfMBY!Kvdڋ:'qsۡ3{fv vFԐ|+O(CE~Dc@# CO3 91 -CвpfeB.2V'*> A> ͤzܳl;Rh OLwZ\(ہuɸPrGԡgƆs&2)k$d@i _"dl:˚(1 t -mA!K+w}.%C(p^""Ո;B_6įSڥ2>|?njeO$f?2,pG7lźө wDf@BFA@?G`OҖ9#!!V͕~L{S)9<+v"lg|0:=N%?Cc Z+D!}7 Gzm92 |àMD7ի^Cg)c'̪o4SXcIꏆDɨcvH2mn` 8 sg0o-|O(HNCcb2Yqt.n8\uPӯZ6ncq?cAy^f48PnI76hbq鋀mN6 hAf[־콨C/VE8 HسM/5Q5n23hi $ *S 1{x^BvY3T0FXS+nuL4\~Lbr'auɐ/窑y MA~R Cy!r7|C#X kp^Ф1]#^`Z/S (Pw*;{ckF(WxHtc1ҐwFNh2a`I.4ĚPjK|(:7OqVkEwh.;+"@p{v-5s4xFZwx9$} JӠ20xPƴz`i+r<^l({%^קU{67~EmGCԡ"]iA jA,17= 6ᔰ(LP6W7d~> RzƜt >s%lFrm [ӏRX{(գr8 ]+KS om!Io+0FZ02~@h)ufkhn(Vld?ݍP <=.wZj8l*cs+n\k8ۥ?YAsHd[fQ Ik Mլg4q"J dg:$Jm&DKHL(^Jdaec4s$04#"2EsȟﰅG 3lGǦ0~sAV1hғ^d ( z2[`PCO&Pe^ϔ h"9iqc }ѹ7%b .dL4vOq\]B9 =GRvX]IFㄳ E[RO^yL>(]\SCqhd-BJN-*mS"鶧#u\AüSE.h%O*Y\|4I,M.ۺ4޹8-pG)[(%sk]up y#HZݣᾢiJ^_/Y^+d7pZjB~%oa?uI*?kWQI Ʌ:2LImT-v!Ҫ>nN'4SFB/ U)e}=b1"a:E(XasK*sT5w\`Isjn"CbvwF<pcmioK<73QNc YmFr |EGX\aBYc;PQarChђ{~mTKKM26*s LDrsv4PwK7n]pJxTĆkd@ ۿ'\NL,lZ^nl뤏?P]ӮcǺQ~Æ\<'kL|Gi /ߣ.^PLZs=CmT5@x V( [ pN ;Q%BfzL>ܳi0::`o=ވC,dZð{Lyra~,8qM nv/F?,(\\:NeF :!"S8**_gWVjJa$]BJ L p7Rgl,S=ܣeO6AbǎKWU8oΤ1gS9žw8o"\j#[dk'3(0/#hAXfϰhpa<ŋ6o5촶je*(GCeKm#op&yz$V1K&^̓ *Q{+v2&gw)%AV)F- ALzK w]а&N)ᇲhVٍK&[Alh=^S[{%? g3Cc>_D#OH,v̎ssoCؤB[쭲vcQ|&UǴ85PjV`S:.cAQQ s+xnB4AUb{a޹HAi:`ŹP$"@(2 DrE< yX7B4&<=Q +=ҥQ.` x֟}ȹOW_dCS%J~zJͱG1?hP9/?؄-B8g"~Ī wt NH#?P,XA0(%9Uڶ7֔2?Pd5ը!j?UZ8U}"%@^su-tR9 9jJ4{."*ϽL^>l9xV%iV={_5iGUeue0ן`6962θY%| %:ceM*_e.{KoK/,rI煱 :i#Ɍ˾ ?&^Dv{3\e"o! E@lڬs $)g/78i6W5t5~]c@7ˠS{KC`o9x6w h@HtDqnR-/ځν_UmnGP2g`\k M)8(g`+5kJ?R1v-Ɂ[2˫ЄȌwжR,HtV7_..k/)_|]; p[A"ZXu4v.&;hOպ $!{)_a L]!i5dq 1bޥ[:t z`r Fzw 7UӮ̀ 7jr@2_ 5Zz?z,C;*d: Gtϕm |L@+w{lۭY^QE EbpllPGo3`} % Ua[hNϞ=-![+k 2XRk[tsp4s(!xC]fxmBL'qAGhF?Kd]Q)R$;qlFŭ\($z *k6NG!X=<=O²tQ\&^ssVӚW0I}ё;;Oٽe~Y]{yagx]ҏ4E)_vM_'2 pB;kyex̠^XAI3wq1{*ҿHz;*mSqEߊ>F"8y.a &=!YxǷÿ?_ /7fDA# )6b~0z璟<$D&!2c߃gдvꃇT `1ᰱ,Tn)+G JHX4gv.=frZ+3y,ڧmbM>`ȋͫXdU#Υ{v* r@ҥ_T[HW֋]avl<9wN-lI"'=H~ Z;3@ϕ,Ef9NWJ :sk 3|:3ʍr1$Zg< t" pu} ǙXJn]-{^\R)nQa&WJ#ATxNj>d"J oSƥ^j3zEm.33Wy` *9cܐI D؋7,K [Cjkk} >C싵[z)W L@fD\>/5'ĂOEVL&M4H+䒨.xfN+i^VpG%vVC<I.z(F8bqQ+^ 6Su#ŽyV~ cY3jGHLjJ #63/~_){XNL$cAӟ m]Ar|0cQeԜKpt`aI2<}j.,weF(wNɷ5Φ# Qe \hhyeg܆pwhtɳhσ{|_N Ϝ:{.vnK57&<[# -:JMn*<(qN@] U$ ѡuêcvދ hCFPt_^.-2+NkN|Vհ\Ԅ뭆QB7|3 Ji?m2b.۞DRV80|!ġ6ZRڞPzLU@xr&r1Bce#uעx-GLANg_׵Tm n8(Eٸ2ȫ(߄X@SK'}xXl6Ga$J"2J)+ƀo-YqʴWd۔W,Sdf$ŗPwJbn&F˙s /Gb^w/&VLʕjxsZFv0c^2Pej^)B#&Q, }קvɱO:wm(oH=s3!NL0,g+j\%h,Ձ@Yχ7cleLpHgoC̺#mG \{) fF{t_/<< bdI]ɽrd9fY- *5_r~U渰?){ 0o q_i*\aၢ t^L :X*43/m!hC$}2m }QPX0I/]0m7zIf!Ŭg2`ك?5Zɒa Hz+AQuuCaQCfx|C(5+>a/|os6utA- 74ZSo^31cgo͛YA3:{Z\/X3 n*$NQWY V׺juuXpdP`%o)8p!Rvr䊃HxM&1 ٯY#80zr'N vwVp3I$&0nK1@L%t}F%F] Idr}}HwiHD~}2\3gǂEbj4`f~,dnZ$iyr/ӄ.^iGBUo)Ӛ'~`[$`W[fjJ=3W"sLn" F`w[ѡ=gDzÒ}_h$e~Ig@Z7+ ۯ먢h# 8*9ͯW 0*l~^2Z:9z5j q̷4(2ܘ)jTPs@,ou^SV:q夦1Y 1MX3EZ:z&sq$ߨST ׄNQY-RMliaxMBB<ⳍej߬!QL #z,D7fG\`8Ufa`}h:|}ϧŞwZQ?lxb]@ͰcXx*0TzR)S:CUk_(^ Wn\iL5Β`b{UPv|J }a. im`:CP%x.0)?)}iffw7r{[SD`7)'~k?y1^^Ll+/EuI/Zᑹ1 W `@,2EYV_l(R0Փ0' 8RB3D1“&% 󶄰bf–MmZL@)L;:!!>~Y|yN#X™!kUO[fPUQ_a3{RBR6`2$baϻi+s"BKxIh$ glC.~۲R2޶XkGA2G3,9J[_*9hmRK/0u qZ1}Y.ĕ@M(5lM$n]Q ݖ6 _Nh\Bogl<+"G "uVY jGhYԤ/e)(8/.7@?FZm̎\m[vd#4<ހBjT@V澚qq [bJYǶf#O,gww!Uª}V3}J~  #slLTb0z;j/[qd5DPU4#;ifxFݱہ9"Ȱe"cb21Jpfk͵Ü>R/j< Ht NrɢywZ x)%Zۼp2Ws N[#-ԱN#Zʎ9},i&4 R^͚&@ඖ`,69LIdoJs?Jmq"'/  KJ|8%r cyL N Hp>N=;eV|G߈ #TM 0()- ]+k9u׃N R>ttx C1//54pޔpdvn]=DҠΑT)`ݽ=7ſ! n2}Nϕ|!jH*~dUrǂGE2\ɿy1 0o#b['/(nV;zb*!\Z* ~CwCMj4>zۿ &$Z|)|X6`9(JtHlI_c-YXq^x,}m7PаIBҔd2jF} OtlBƬ h6UG3$>QOE*pih1 7qO(n !1'vtڕcN~4iY#aPU&_?w7?+>f&@*ڠa8dhV\{4 u#o2!GcV%H<TƐ$rU6LN.o&8(>p53_Q3._#wY$NZ3lB9ڳPFt/k0h[]J/$+֡o%on'RD EŎ~P)+ ~rZYE҃9JZ'?ռ^[Y8M!rbrvdXS$ _S;|Uu8.CljJ~PO2nryJuT ᬪ+"?{;U=ULXbDK}#Svt}/hQyf%[RoT̟Ma v9SŖZF @*y(*?Gn\ri\wxpAF ?YAܞt0)C=pRe&V2PlQ Kˋ|Up/DEӪ`$A4zQ#-%{PpqNUz;Vu+PYm. ;֖]&Mjံ[yיbI fE=A u9b?Ȗב/=B2LF]E hW|=ݒ%( MmЯ&&) 1]c׽/GNN d%\)gL3w\ַ/:3  ^,.(ٺUv]b2qHÉn0 Ay2W4lYض5Йc1C n]" hmT((A댊qgn^[԰ Xԟ̝*ɩ(g PtS3_0{w_Ҽ]>Kbr L!?" lꊌ4ˣ6D<]= wAYPcHZf¤iE(گh)tD괂vB}cv _S]ud{jƄ"\t]ߵ~W@?}ݧ_7Qs/!Uw!NCaD:HTPtS^Oa0lEA:J˽~N6CUY!7Ԑؔ<՜xz4( LxI 7C\D=ؾ8ʛtwGEuBt*1plL^ cnp <7zmP1˴,U7|(glƠO ?oǗ!l:m_|#L܎Jꔕ^;Uh<9~s~n3ʆ>g_U$3!)`O,b;q0BA(zߧn Q=\) \g٧n>4Op Њ4 O,Q6cdDm+)+PkZi<OL&c4c30i+v `d/zo%} `8_N Mտ]'LBDDbGklӆ XX@2ٛ"ߌ3Av=+ g4nna ,WE ) 8Կ$`֙]|V'CãC⨮>vS)t|Ԡ㶵=/L کIJɉ ޵5e`1S dL&kuĺ̕$msY/Ɗ|s #hګK7t9Pa&'8$|qS:@EGϢޛp.P*sZ5yn|L8yqܬWzis|NفUB O1 0y0ד_QreP)GCY(K^>eﴙQ<Ō7Pq*_jJS> , `$×; !kl*=<" c眐zx8|I"}lZ@pr̃) 33.Ża Z "ˈY 'NruwdΣP> uH2{s%,|llUD!~ӣ8SOȍBg`Suyz5OT8VshVށ+hqG탢*B0V ^z&ZeOn(Klb~1$;=9}tt4[^oQwIǤ hlDnRVAϾsպ?cHij2G?u]LupX6H5\o^ 24g# Qo-M /_KISkWsV[0C\d74RM YمM\hOՈDeez neő J0)G"WTZ{D/"H(kZLiLSW!ߝW]@e hD1tv+uh_޷V-Lm~-ʾ2'荤jypPc 0&;̻MnRD&;n;+Yb#qS/:aM_.EȒF +f y`6[Z UݼVft([يoS5s4C#-hWRs',G>8G>G ~q!ܑ'F;Tƪ_у-=.0XFUH)/6pF*Og{?Ey5yV.C d-MQGF{=,R<,ώ)/1hߢiO|M ~UO=ީ>[0OMC (xA>1HoJoBb+$;}eLS=,0K.$&~FFxX( 2U+t[yp ;,Ҟ҂).dN|6y6 BWTy>٢cE| Sn}ME0C_y՟$%ffӻUO5VaHUMV*[Oq:e -$꒜mr_~4:IbWځzupƓ?IxͲoΕ3G! W,'5v@Jd ߪd&C-v1.xg7 !bKGn[Iw!C٠{ljuNRϟ\Y| >?e]iArԴ!'%h:p4rwYOqK cNce";UQ`1 8]SIcMeMwj' KjIZB4PVu/? ' fԭ*;iYUFTH O <#糗hN [Elot8C&+{6ne**OF4.u,8*^ 9aa1#\Xqw;ݷ0˹SEI¦F.۳mab-̆m]~°YfP;M(Aݡfq1YB|(W9 k9jA]$}[}qsu×#l|%_MXu&F?w> `n#_[@Wdj2쒥6Kt'0=H_PB~! N#!1v*8kIB7͵&|U?HR2ז0 V`b&ҦǐZp,WZoL =tʛ$3&omp{nFF)?,ppd_=y> ׮ o^0xF_#@8cC7(ĈQCU\1S_MpFM{cǷ4@Ѽ9RWd]hzʍwݣM * 5n ȼp5t&6NvɈ[Y`Z k}d8`B )r`/X>S:F){@ Wׅa1cˏ+dJR1& o$!1 4ۨ+,]qx} PKI:)w*™l>(lU u$ v9Pס0ˇ? /Hu\apB9V`g`]NIs?H{ t2ec[[, &0w&wMCIU߳ רp+ݩVIDEs8B?jQҿ);rf5>NNSxmؗ㌹kZv}~="iR,' PLtR'j~u>Ԗy82mGǀyv54l,u;nTokV}쭟t[( QCՏooHCWYnb4{=e,Bcy[Y;Hq_2|G3鳽EÅ)ۓr>")K`Ę-*z=$0+נBvuh˾*p|MG{N+oNb,kOaXDNַ ^{ݙ?,d ZC4A*8-I$QtC[fhDO[A/;@itћJΰaqw^NM_ _&~GVӑR"E! Yٍwqw{( {SEӴAOrZe_%:\]P10Pr1_ k16Æ@@0 V-֣^=aVro^$4N`57rO JL,j5s8X/] GG&os[sMc/eC*$_9N[W5q:{pH>͏43N4Qt9H_o(^Ma`"nH\2) 9ۥ?/v[L ix`nGȈ7coᨥbR*R<*nC5gT?OPC( 9҈rT\fI7!!7o 4} 'sFn p$ NG8ömpGOVoY2^b)3-!iNTx(@UR8({ˁsSn/XT{ŵjt9Jn_v\@WX&!bjP95!ZQv(^{_5'ESr6^Ű!@>PVL|PDkC@Z#m vnTgcYpVI(@[#NІu"/CåU^j{6MwÇV ?C"[">O1S3 7:`7Sp?aJ*)Љ3zQqMYXݥC_(6PLAj')9 {WY9"c]ͱMM[ X $jm*@3vS^@̓k\(qQ{p|Yܼ-6x%xDT@T !w0{ͭUKk"q ٗrXe|*6Xoq?JO>kMO`sCIt;6R -8MxsȶD(t 9{,H*"O}ƆCiPж/E jJ.s),M*GY4.J`S1SK%';>? A}h ^èDu4\}o|{Slc&W ju+|lw =7{.gDT]ҽY Ft@ɠt׈sѪ8+^4HLz(o?J7- ,pTzp̢92Bj 9k{"Ȍ*md:dp}8=ЮMvV`mqҖ5دxdR=q[Ĩ*X&Ũ40ZA'N4}N4N78U:[XxC(DEF""^9GnقyQ"_[XA! ol0kkQ\}2ܨc\WSZ1H Z%fF296of"vk-j`#m-촐2Lfm}H- \D5 X*]<[XEprL.vZcKHI<ۀWhKHuC'4k 7iᗲ;Gc !x02ߎ(iրۢb,}sg#ԍ~ k|j=@6x E꓋f&9\+vGyxlfn,0)l6s~Ń@L)[.eXT"{1;_o^"C0ӋreO044!A"fT.EUg)NLfؿ[U05ѺPGϖCK'۬7\dk#B d:7w7ҦuwR!yl 8b[xL9,#y?sEoGO2gɯ5}`oaeNDY-*3lK3P34jQ hU'(Go(.P! J YDwJ{B3ƒo ̯tq@L P>c+]8ȼ(v {UW"l 6{wEUicJu5Qn‚xEZcN;8ARltsٷ"%'K$e ّMQ( kX,dvO2߇ y Ybd[7LKrXMX}ԏCokSrrڨ措Ф7BO[u,ѧ@aC 0+D`dԠO,F@ŅJDKiao@4] V).F0A:)?E@5qQX^ Mm,  5pfDݫ=4=SU^7E )P~`g!\ƛ[X A |%I8OnMWv6\&]9{v+8ż"qH #쨷 :VxRM ٖ- Jq7F8(rMoF^$eLeo%OR w)9kQX&2ۛ/q^%|R jzbC|Vx=&'UyXJԇhq "4G,AKN "PkH6 A9Kֆn_uDW_mgGx[u̿2<(:bT /z8ZAEid?y&tA f;6PAIΫv4nxmN%;,YJtDW LM7wƚ7\ G,f<)A_z-_5O*`rtfB^p}`ƨן}ߢK/ emjr JI"pcp~9.́Z5-g^BM (Ch Jt)+R9نL;e>ra_-ܳº NWjPޘ]7BI'f,y&Vihz{3in2 `@&){ ~l'N(G Y7W[KؿIt k[]/'!JDk))enJPZ DKz2PQd:Vcʋ ' x o~ٯW)Ya: xr`l=,bGXMʰtM/|7XJՕA$P5[ 3,ωX*A*KHm}fD Ho2pUA&b N-N^gWPV&SByqA ;m7(:MXDoOU}Xlr69m4Źr/.c2hxHY$mO`-/$J&*bUT$[8ZxlDTOrl\Bu8# &5uc )vk쮮yϾqs°Wx8~%#v'ð}0JPD>8#k0v@>G!>;_Q]0_sP( meQ=g-ǪU:AB% vV(vp%Ųfn'{n"(2*zeHS݁!3~04=*NDW{y#608K,ԱR7v6W_?uVj?*93evQ54x?ԝLw4#O8R^R񜒶UxUm^15s;*J<F밢"@zw)hqF92U'%N7l tᦖIS_bts% g2 <> u{t䁒(Yo<:?3 _! h,Cn(.3f$g'P=l${' >^ %.ft?cGxfqkAo8bFI%Blkd}M8(\Y̺ؖS/q}[HW>_*M.#`fղ1Ic/._ ycu2bwEԶ .I$>Q~jg0K ZiU Qj st|e*w b̝hD0(_KPi ݁Cʄ==Ls duH_mNh,d؞bBh,H+2*= ({Ug® >pYB@7tˊGosYD%hM)| nIl ~g:x85Vpbi_LЫ%»|V_^l.TVw#v6'93īC盢 lFX33XXzciG.;C#6TDCy;GoXg)|~eQ 8Ϧ J>\Ul.gww\naC#[WY;'z6psgV K4}F TGG~5O(/*f6G8Jḫ~gAuj٫Q5h{Z.ˆ197knʄ+U˵Kɻѯ^[wbXsȱ VSߖ1#&t3]+|>%!yZ?|B8(Ǥ50hM׊cax3.e@Vٗ@xiRWَsnʟrO~s X"?~5 ʢ[ %qO % b+U4Kp,$Ŀ0<QdՌ/;7鵐t\dtgs."BChDJ?(6uzD`Ff` `Qc``Dh[XƲrgΠnSY_^d[&Ԯ_.Z}%*SQ>֭J_y=]H^0lTRJ++E8gԔ( \ .u/Ԛ;i!{G AN.LiMNM~` hJ70]{Nwi9%2ܘ |Ʌ:@,%6)E&ir4i{~DND@Yd>Aȅ{u FX Gӎ+H/?{'ߋ,1Fh ]rOj":H> o4ɰ5 Rv{  wUL8- ',(rhF_ư17܎yd%3_6vv|a+9ԦnڒeQHg~p]Jа|x+g6./.VF+`v+j~Lӎ$xJ3<θq8j;bw jlYy=MK %PQP!IGyΑw ^Ϋ׎x|ewٱv8Me"5t׫?oP1̢7eӮ 9kfITlj˳eg+&P|[LPPP3f &%5ǕV9/j:ų 09KAi{*{lx513b=Ia.,*?iUM(0GQW5->'lZXKk#1;^V>l)cM4O"]@wŸ.'3 ;0d/fGoQ|wʹ]s9 sTzpʳ*쳝IzwBJDKS4$TxCk&4RiyOkT.BVz{CgqmFAz>4n0Bp~i#zJ#$2j?T.~-zfixQ"ɋ.Z O,݆@ێ-`LS;(QAۊ[%/ )3bmߣU!q畝C@Od3+SL3p%e.`Wnv 괹`+:p—K@K=nȸ9X:% +u9\3+!p3\"˭^"-f07Ye~Zt᠖/xՐcxkVzb4|?~O;M /tXy7fn`"ag9&ex\dXa\XUDa|Ldch3YRمPCv*ёo FXoE\i!T6Ϛ4 .07|BZI?E "jzo}srUe1_[,gbnɗ' C>t8YwqWN5IXQSgabՇXs珱Fφ۽w&wo{z` BW P׆ ]sP6{I߉ȋeNGޮ` m1W:M>WY ]G(5RF H”ޏe @H79Z!ݼ̰@,o[,XMC *% =,QٗD#M'+ hl?uhx3Y!B*d+m穿Z{R;MxAD9;)Rō6J <{^HSǤaS%Pqph;oCGUA}Gpup#y\c!nmkHlvo'^AЪz2˞&et6)Rp쾭Ow YԣFNK*C{@ˆG}[|(xCȷPqfz5m`A6 }2A 'ᐑPĩo3;ՐuKzaD`3}Tz3t{`'FbKgd`OឿM?+5u7LVynnٴf{y/iJ_^"Umgv x}߆07^I2a@ceNx }(F3;!HgNm"玼%j1je͍lрCħS<^ Ǜf@MdjQIx;`q\}0S)l׌Z6 }uIXe8d; 5/Lo#zRcWUxFiB!r|6y~V*R5զN3ˆ&@{7Hgo`SVZW"Z7H+4뿥$@G*q'_^{-вS7q8*LR@ZYmq%y|CIѼZxB{ qAd 1[ebP -HqPL|7I"_՘:|J EoT]b5@l|ޗ;a(!:(×܁e>'HcJMJ$|O ut\Djj#F.Rl|3-Fb.8=]TtVd=+sE"4P> g{c'(N'8ȝړ2t kCӰL%~\7(?,3C).Oh3_U8_o5mGsڠ^iho&*5 /9MVjKslҎh 8a9۠ꠊTGy(%9qJc{+|BգuG r*dXzL%BU%KgaT^ؚj4HTn6@ S}j . LѡbHsJ]B]ф}hV~Or01+n\ہ%UˮE%|BV˩fV.~/2U2-M!*NR,ӎL c["Qe5(fuz;X"QTh#*JԮ_d+Auv)Ke!n@oEL袤Biz0 cʛeBߋꫳE>:bWa1eiy) dG9L42({EsvlTIIdf, 9%GjGϠ%n`p[hZHd}BK`1 == ŝ Lv$YZx Rq`OfOT5`ЪF-;jEaHguE|v],:mq^pZ0uV AFw1]&>F\:C.ܸ֥GNK*\_61t>~ڈ?NQ;ӵ:#rW~{NL!,6$yhz\N/Chלd SУnx8"db58Wk:PAl 7Gs[ܴ憥7A=P3jjiPO,.a>2 6D(Kw6"i{$̛" 1߽Z ?fM9  k$wѫLd˹)+z1so-`xC*<ˇ"98vV"5'cAm-ԡ +}R\5{Z7̣8l8F4S l¤6#8VڻYwDB{Vy!QU"[ ֏ ]?փnܖC=8([ 2U-\x5{=yWjv|1Vqd}QP&u@Rmβ4&p/)<^w*j 6ʠm]]fj֤~VΌ7;o6I0x:}O*ʂ!ӂc}4~B7ǃ@;g[^Zq{a*P'>³CNම9N~g%/mAf9݅lKatƽ7d`qZ8rW;V`gO.Y8'mКMbWyWTO{ sPh 4i4^5a4PF-WFaww+Gzvg՟z t;):O#.|@6j>hI>T"bx7#ŢݯpUʿCb&ǨuV ;Νg@sޥVZ?tMcUyz`^ƍ8zЮ4I[hBu:Uaܽ-њqeJ̺Y>h!$C[yR P-ZP/>2J\n͂x}>oi m >Qw˘{X<5 xŠ@\ᴲNV"%4 \myCs%|U]ŒY/nj쿮Y+~fmB]S:H22ȘOC,+ =6hIVҙq jVeQS'E->H2+].o/l$De,wAJ>l ׏5Hq@ʚtOAO >R Ťt۝$aVNlb2-Fȴc~_ȥ'ߕZQXm:e!C^Nԁh"K#}|+LFXjppX f4 ֧1_h2@aN+?k5]:Зx*`CUVJC2 >`=%vV)pE>0d:XE5[foL%[o z<~=Ug>x͕Zov9kuӨ(տk*@Hmn؜M"6I=19)>$A"u>e|.8}s%ۺظ{s?Ԇ%U-Ў̅6L%q+L%t8eDL39 0X>˖Yɠ>/b0 0T3'!&m9HmC$ \2gDdܔn†$GXHT/#Sq*>r麰ܟaTk?RENW/7x/S5SXXDl >G2u5Ek y{E!3Ud"q|AA=ɺe: 5Q #FDD ;/ #-5_ɏ;FT*!DWkbjE.)hZ+*#6mB:Dff׌T(`$fаL$[XSP«RR'rt՝׶,Vk*j5r_* 5ұj#߰ZuPRߚ?k]wU66x#ӃmTc#`돾[k[[&-m3s5'AcKaG8?Rf=Ҿ rHb)b!N@XRoX h3ġ'{ W?O0zPQ$-kIݷ$Щ5Wpqy$]J~d@~(~sjog#wH'kP-X%Ɣm72X7:tS+S.G_x (l@Br"S>GRGD0F݈]^0R;'>?G5u0v/im8S1W$NA@ȓ O!GibMD)A.ӈw9{W9a8/Eύԡ#=֘SP/#ʚynQ:; 5';[8|)WSHyKb[5G B+l.f(-6\{sEg.Fg" M bcf?6TЗޱ#`X<|f=t2[G@D;>iZ;W+DmlXF I]Qn::+,2L= T rÛ!%?H}8Z )ơs쿞8]Z,aWg;@|#1˖V]y&4CrvX?S;d\$-7!::zz1 ~M79^(\rqfTz.ĸrUc.":fBW.@_D:66WB<60Mv5VM+]1ʳ xxV Ë3>`KnVUhC`ApFvJ]7X7˳[:!bZP@{KP`1fUf cdykfEG;Μ+hN|wzxm/ӃԳqN]Z.yǜRS8 eKtt ,dxYVcA&(RQ \(DJ21Is'e/I,&,4QKARLMdw#L$%**Z|@ͷE6<$KQ]1ixSMd=S ;Q)EK6H0")vvDc(z !`J)=AEUvuD(v7e̵؍ MZ$veى6 ҙ|Ȝ"ºOIB>uNh v2{ܚYJSڢS0#U>f)€p8ly踈?%lU y3 (Eӏ0{kyFVh5lwt{rb W[vf.|FqpE&-VpΛP46Iz*tg'C3;!'64߳9c )_rπS#KP6db' ^W4ZJ1Jhn !ncyUυc(:x 9 ,ђm_ސ5|O}dGCt9lKO$Z2"VhSE|T<|3'W^|=`]!x~"]=A4X v; R8](|S`%6Ak~gt̚<}Y6/{AR"ȩ(n H"o<8,Ցy%ኞ adw՛_`j[2y+n~Y-K _ֳ.+$eGzNBmF9ҠBd-#d8;NOF/dYBsI^I0}ޘxi+&me-nmc8rpfuiĆcآ5/RMX-!?+i8^NU9%BhȬQWw\pa{W͂rlA4>gq_#V?m>&C/C (ɸxC}52jUN8$mnآ1R-EstC'D\c!cש3A |ZleaNyH6͉N)}=AkU]" Qjw@rmkƍ(G3N2\Z2AsenZVQn=ttmWWH;{cԤ0\C f\Īo7SdMrRسLdX ;z)ȿ 3[QQ#ӕtj֣^-4IAy:M1 Yއ~>nb 8w.!H6]MM[Q= C<0nk3W%` :<.'eaΑU _IϘ TOٶ&Qm47,XRV$o+ JY Ǖ2ٟp{8 {?[[}Iַ䄛U[-Wؒ_V=9o7d*ig¾µo&L/J1PԲP0UHYQq`j 4QC6F jOv8c~l ]oѣ.IYNoS۹z%xjȒh%M|ѽ mr^paG|‚Ѕ4*I@CبFsAѶi9ɱ",r%6a)#vpjطVc؊&qt#lsL("BEր{I3`@pn_U(J .=3cqJ]AN}43(ƹ EJ*$,MM{0|Џ9:K~2S}T1\v\"׻zAć324ySovCMiLX82q;U,!XE`{{^]IDM7(1 :jf'u!ɬlluEGyQN< Sh j3נ467R|wO&9D̟EOy*2jǺ@DVE,\dm +'@9]-Y r H?or}GX޴pt uWC*b+{!=S;"GPH4;VpX֍#ffptr0QhURJ%n6^- ~e框>~+7~Avc nyW'ز=(|pZ[FHQ !4$z ifkoSr A n-MbB܅w/?HDyҫVkP댵CdDwM| H*tRVV4ۢ,bUY"39hF&m^ K@CLU"gԨc6웺ʹ&eeH[,R)ܣWyzw'{,Ԁеp _ "tUh]%P0«m$Odhs;'iRRэp)s2Y-RO(Ou$::+ zcFWB@rP/'j,]WHx̻uy&F/5ZbD/&5pp qka!7=dkHpjS9jMрk޽)( `s{~ʓiW2vaJW."X9Ldž[а /'Ip9K Pl-wF^ѕ _lŻK]v|)n\@Z^+{2i (5jQ EcCQgIh}jJČ+H4mtUdgQ( ]2K8D.L=G]>40KPE펬ݍL+&'d+t{֌LR]G?EIx2'*RП4Oރ%kJTlCOޜd!0rK^C϶b$zQyVRlDRtCEHkl|}Sc#LF0EQNO۪n8ECK~cm6g]1{R7RK3Qli$nϔF"9WfTo4/8ope.(ߚY} Eks6'JRwfc&Un׿+tep@h3ץ|R}ps?3Ðug҈Y:jh\ڶ&rK,XnFj95F6pkj)y^UkY'Gvk\҆q1+"tcUQBs?lSWc3?鐽= C 2nCC/Ϛ8WenvpDoԡ^T̥g`ſ Zt2mVA Z YSAj>m]jL 9rS彵%\~pmnB =JXPȊrݟPx1=d!hkJ_9&8V@' k#N)>D:ؾ0bý=Wdi-a̗LIɑaQ ?}$Dy.m3 CUVM4{xyKq!yD$Bu,WkZ&=ߓIU.yg2w}P%ߒpX%fT7_c) 8Vw[cQ.*d0DvBgC/+&9F+]X``.G v3֌)zZok%S*(_9J9hHo}.. sPHʟɮvKT1JV/ ] j_Rv ~Zbbu#/D4P:M$T^6VTƋcȅSE,u\|Z8:ݲx[j4ux c~̏zs esDxQ4<]荢u3ӑĎiZvD?J,ͯmi~rchJB &udO*8mw]c3 !Fdx1k_?{Uh FasK^ZW oO7PA<yyU AL{hs"UW6MΤǫQ&D?}L:^Ͳ*`]tW?i^ diY㭃]a`2Vwmy oX|z'8XK%u gv|7 J|l;Jndov?? &Gą\˽B$. .t IYj;2%pmh\V!en\ _,X(PHQXG$Pǭ j6H VtoAđz.Cc*`G FafG̯z>%= m͆1v,8DғB%alA|ĥ'.)1YpJ8VʷgR aULjF{^Kg48eDDIL6SR7 k/v ͒Sѐ|%UYKu]ٞ7krpQ6]r~+=Y΀UyHˆOy'Xux&ql)%6X 8 $f^Ki}:OYBpaJ( nkP^" jփϚ34"~T5P5'Ẅ3B'Artopytj.$4m >H7?ۼOݹԚN?o$16+ZZ ueӭэlleޖssN SaE?>"f 8`} "\l_&U | OXPuٳkDkQX`-x৳<+ZmS@V%EpP~\K&V*a<ƃOاժkIF}hX0\`IeD( 9o+Ӌ TKT_񡇯:NDgc0.ﱊg~R(ǝɹ$B\Jz#`7 [ٸJYl|&Icbx#V[Y ;{s2#4j5yJ.Ե3M4ʁƠ$?| !VH`DHtX o_B}󕉣&&;<`r_zV.p|'^7$3Z+Nxx{Y҄~߷Qv_kݑZNC`# .s%6O Jw{MyPѰZ; F$㲫 Y$ko0(HĦ79E$.T8C5&vJH dBSS ?%>;uyBS!Jr#M}cRqX+lA3u/~dMSE~qL93spr3 jD6\ئ6Ӹ@=}{)|"gKDO1O=õf)br4+Ff*zr z@ LH~D'`N(:aQ*1{8,R{CwM[991 7UPn:iݪ2zEȴ 쉢yтgوO iE3QɈ0^eOEK= IC 5|xnJ^ `!]K(FXl_YN!>0/VIbNd'ck.cqm> T᭜q@P L(dԚaEyKXX8h..Eښ[ӠE9N%L$jjly6%BkkIGY C {KyKf2Ør6G=B{N=o146xj!lEFCm+~N雚*_K] y3ԮnB۶w?okC̢ d9PfGw^'kAZf$w3 w(Q=JRIQ T& | !“1,ӽIg[ D)^nT=$/!p8_Gވ ß60k#Iw.!]}ߨ _a&RQѣL$hEㅼH:@BOw신فV܌ |sFNjX[O[osnDv%#Swm7m0(8Df:w<;wvƨ{å-|aRLjzp=SWW} Ɔ'+oV}Ĝ~.uS 1VR79sE>.ݥyy.[n׮C~sC4Aa>Qxatu[}k,y*g?;vNCƷ|}2BlcNHu2:[Qǥy*Q] LBB#pGŊOI +Blu`Zp|,%COIAM:y!0\|ʔ? (9KG4hP|S%;]#RX$%A .3EdGNSޕfmQ6?+w\(|.$sFH-LT F.4 u_aOO@سΥҼ,tY23*1ќwt{5(g:ݴ'\T׻ bhK+aWJzz?W7(Q\rs<(mΑ2rDùI>\%)h$z{ph3b\Y啥z螨l4Uэ%aI5mj')wQ}xXJ㏞cL|*}aF< _.?j%peԕy1ĭ䣘^Ӭk Nʺ \8fObiy@'|_&>"]v&@GKبStIBYs)9nYuƲtUZr|Y_G7 >qJE)KdBcNؓ ~ƜK0&HWtu`0/F楹̋B7AkͱU`g IdմvSǘfR,5;IC5:n4>dx#M9vSOY33M_̙.?xלryDBAtmX fx`V]Gxud-8D p&n'߽,u(\IjֲPk ̴bl<ڛI_ړ< EZјzb9GV{GWj>c ig&у41de;ٞXs&QZU'YR_tƔ uL'zF#6!sYvSo+ MYQͅŚK(l,hE؈WQԒiD{Ӧ,N%g:;ݱ_j8ԔoLg`5Xh7W7 Iu|-sl"Y teVU HLz;/9jP 񰤌A]JJ} C ٓ}­RWPc)qH-O>8;P0؏R[58_{.;N=Џ}b^T@=&%7=ቆ-ZY=;Qü6 ӓ \Jp-l =:~93!Ɗ]k66N.8.Po/Ս1ژJooOCbC4 *$,@|}<.~;4t bv_-CLC^GlBN„Qe K`#J_!Lsi{?2S Yq({b2Far-5-Y_DyP~cC.s`x1ӥ.YUzf֥7V(=sѮc#FarQ^i(\E|({vS*MR)ewF$w۔P' ת|`3+v!1\!onff ̯1ѯdA@4vrl TeRk;Vyғ4.I}|}$;<fya깇aBl/`AG/R d}abL3^xGם'j οKOoAv4r# K;m/JWV wKioST'L<((:2۫z0ZL7r uCK7h\WcZ\.Ә壌I*:ш$2&KO?܉ ߽CS'x$އ%#k>cr2E.rf{ܶy=$SěZ.:Ijm1JM Qd~08.븑2:`N_ʕcϜD m3 Ɓ9U!pyͽ1~S?"}>)Z E%e[@t+Z2Ӵ&P,dB{  #ۣTԈh6((9& w!eT)vIG!LN(aT9lwJaJ$^GU7AFqW_ =^5Ǵ-eL NTJ:)-vdgDž :ݝoq$;;}ޭEwGZ[OBxpp9.c_ᐍ`|@B ̥U.j  u/FwSөuk]xE'09KS: @ށo}jF' kz#bI33zqPm!FHKRH"L)UU#0Jy!=z Z' zi05FGT:LH# U!IAHSdM_d Z{ -5:B^J^9{Am+JPy{bGaL!NbB$@^yX% <^dMW?ԩ#*o㒈(?7{(y+>ӌdo!{γQ*뚚:].䐒wS1~N@rT6v&8$RgvU)R\F=SkELJ^$COE* *d%GρE}!kMk")^1R >p$?̫CgjIMcC?'"39C#|Kan߰(I 89%SoPfy?xQ I5H.Cl!|Hw7F"Βb%1̟ VA~JkA8l\rU$PQF`[*ZB]Ǻs(yu PQN@pv$OH[wn'}pA1*qewT'{< OiOvb%j"7Oc}r4)dZv'v.E%a-ZbE}OrP{$I@{n+/ߕx9a6,Uɜ,9RIgR8r}nulKI|kmhJeA#;n9 ponݯq"/.J t1ֶ~.tzUt6s5 ߃2z֙9F^YX*#cǚ PV} Gr;kW%uXq7e?LfޱEwW4!_'#ĀyM)Կ>)s M`^BQs‡k7 B;DVriՌ+~_\ ʛ|`!DsqԛW'a䧛23g2,S.C UP ԩV}3?:Z@h x~6,Թ4| HvN 1G~S)rüt>euڌś3+Q ;/6閖Ź(fd} q7Bw`!%DY.va*wxޜqڭMu|ݸ=K3sv킸~67:Z^r^AM~ {qOA,5_@9l#]@cj(cL*U@)+ʏK J·woSmNPz Z\4ɵ2lX}f⳩͗e-ŵnjyC{R#{#PNIQ0nTW],_, =J#5 }aGm02/7:11ZGAτea|ugm1S ɤ孬|]FT)8_wpr(CWɠ21?M:5.3yJh֧!];daXavʞ-~2SМO `cx|hNNܽ<LK~|xMdW3\o'F=܄~kcƙ/nN3FG{tdbƪԂAfq]k s/Q,HI=4"$D :n$E:n^d<6f?hi)"qJƥ`Gᜧn#!U&I6C+7֍jE4i[,me\'yǴ}Eal*4g>ER&v:z[{ q#D_2%&zPsEYU:\K hJno8&ҍK=M׿HtCī@Z mh9wH#=&'/ sw ؊ۏYHʸj${M`W=ԨБ06e8 rXջrk%LÉE2t;EwÜB-w>)ZRDpءvK8B`4I3v }\yֺM{mbRv[:8zQ?Pac Myeͭ6@hu\>]-~8` 0`JD!'G!є!~?凾UPi0Y`iį˱**Y#Ȯ w 4e7>VYҾf(tUELidDFedOi'p,X~XMŋVM9qɈq;c&u%#J m~#52z9\=5 zi<$CJH +@U‚TdZ;Wן"x=}FxdŹ(7ұo b y1h-$j}F*H-B%+TĔ1PhOLZ?WȓZT\D+Vr, HNrg%wA>riU R*Uo+TB<pFх 3vzҸTs,YВLrXw 1G/D:O} ыɅ V歺4j'~guC,KSl>fɑ:3` n~ "e Â-kDk/.+C? \k'JהG܇=VgGCH'e=B#ǿ]nj5Wŋ7{ dn4(꭯1Q AzNMvA9vL.X`8Edd~k5Xg}y;̤p`T{n80OD ĭZ z-=νɂ.b^#i)rJ٭^0U1W^rHW#&;9s8j ؑ*|t^K$јN!UOwhXDai]sLX1-HATfhvjX4\@&pkô`6MBqK]sU2izAjSL|~2O\rUN`e"D,V4?۵Ҫ+٘&%%Kq]=Eߺ %’jukiPHA|3CDehqL}i^{p\};`3?2A'@EApTM[EÃl131?ߜ؝ޫq}xtsd!72с A3bKg8 }'-|7Zز@]L+_@oOXkՁ͢x/ }=~.^|u()](Fmzcۇd- pWm2Mν~:՞Oc&1ZS!Tmɥ\ṽNU]QaN0/ |tʐra \ qz.ʼ?T@V%=|e\XُHǰ  둳gSꋁY|zi()`K*lpyVgq%ߤZ Z_EMp=Q?FxDTf)cMC\Bȹșb&rϫEN6q:D8LHil(BJQH61Nb, ] GҴyk(OװqoYL q},w6)2UDXv_?o)kSANoN|wGc%:75s1^k;Fiw3 s6uR ݴq s⌏e ye;ИSC=pF'XyUV® aYlC+{0qVi|jbm~e=u rxun><02!=eaU̷To<Lkbhwx,J#sKz@Z12ǸK@Dj@ޔ#xYH$BO,8q$LS;-״iwՏgȶphW35u&&g6%6L.in1ޚݮ8  .bŢ2\h4t3_p+Uf⯥꒗.BKәaSO0+>`1=k3r}LG6  Ny@z =Y'ݍ)mX)AJ R:ͶQyjaE\ʕmB1j֚].nڙ{:;DFg @U{@X +㒆ʈ,vV)PYl6z&8AV~Nc8;WO2ӒxN[rkk.1*R;IE=I%E O#L2a&;6#cXZ3-?N`!!iS4_>@OB)[ |P];Ba" A#| ߳=Ax=? SIWN>~s}!*{R:9 7.+ۑuI7) }uN>wz@BR{hYtZfw5'5uORjD-t ϲ;NגXs;/sV0L{[:䡋{vAB5&ac-)7.Ym>1lOfY,;TWG&Lo/y~"Ö߃H소B=ݺ[AJ!9zIlLT4公s<-tf]lףHi<̏Xs)p-)ݖ9YдaJ.@ ™#~xeeݱΦu<%d´n%0L"t֣"{s`R )vR9$싻0 9!WCˮQI ق-7kZ*q%RRSoQS9B J__WJUNsp4ob\`(3]lܘNrM1w{{w$»;)pP,f(C\]~SOs, SZJ~XnUa f÷`ʰ +2/.q^Oiyαf#+a{u?˻hiQݹEA|gk^ln ۖefdՃ7&=W.:!K|Li9ֆԀsTK%Ru*~>k w$~Wd8h N^"],i8[:2щ+Fr7iɪ8v, ''s{:O#O!#sT®9 &Z#SS.Frf4Y"%ר/9Rq|䞃Npwo/P}gƋ%]㝠:3n#}R?%>vv9–=ʭq1KKׅzY:Vo4{&] 5x@v{-I+ӊ*~:wΊ0iV Q-{u_2F+4YF@6WWk.)lӖ;%yQ<6N-~S s w}([񶢠xK1IyEHGixxԞML;2tJHuSіʶ=N ۟0.+Sx?h[RrGkWa{  !IjBZU m=ntbљq"=т%ʼn8u~{'c@dSgQAhaj؏ PQJHUxVmZ^3s֌9#L|E~%(9 }:&ΔP?yjyl(];GXhF^}wbRyXf7W"w"u>=,o9%s88% 'c>u0xR"&e[~tGc?{jr^ :ga|ؚo)"}XB;Zj"LɽG{l;)N}(-tȆj&led"KgY2I9y'lFZH]I*/rMR>EaG~X0^whNI!,@#Ƙ,rD*^SnSYCkKTu5_ZYsx`sl;2!_v`l"7H:CVZ[~l3@,"⭐[19rY$yk]pU2sl M1ll,%\ڨ]##N YѴG#hyʰN*j_L r }I6n@ee.S}־8#WFp4߆duI}"y ak? nԅW8 a K@¸4Faœ "3g輘͡ Q5="}iѐR|:$OJ9 JAF^v]x$K!>QC< {,DB8%k\eh&WZכ+:1*Vn+״hڽ9)R= z X1+oh7LJ!4t\ `Cӹ]"#gM\q[EH0{(շLW0o'Ek_p&H1ÿ@@9z'5ZKѪlJ(N} 3HZhx'4ӧ3  3T&KA!aA5j`_+,i;|Oe7ctXRߖiIʭ|2oDT!}ɃIu5?/\0iʟLMLHvgVŞTn\&>u!m xGe$Hrg\m*fj&z,2XC_> IoKu^Z A hA\ Q \y73)~a o"tި^k(Ѱk`Rr`as50NrbcLBF ,c({&VjlbݑʹGg͍u/iqwA>dCغ(#4 Fə1i~ooQ:+ Y!!KrԸSJ=މ:rBBuPzo1mYJ#[hXW]>ښxN,o O9vYB() }s0ݔ3TQE$ ]~!TKRެb;Ц+#'~; IomIdl\%s0%zg8}5E\k\W! 10583J4=*E])N= Ь8!^Yhv~w"vPzfrJ/B)"uk~1`S #)~KjAA|1lKJЄUG`be(tIt2׎ivM&1r'y$~zJc,H8m.4llئ*lDB[ ]xX0xEz9)X^\ @lOG`W]SLXnzZx@<֢*M1i2[km^fDp*|DZ(Z'o۞u%oYsMnz$zGQܟl;mG N0կ(rKF4d3a$dpi!ΓGym"X96jV|⺏q2t9 W<7Yd1-'v4Zyg4tOy7x2AMmbQ#xkpEcpm0yB ܘ |4ګdvc 'ŌbzR:j]r Ŝ$}'ۂ1/Uȳh[oå}JnvK ` zm^,YCa[ggP[$_,4:Ͷ#5sz)>%rh rd^Ec"TyYO.䟔ϛ#'CGF_%RpVIN-Nin6~dQ˿0&|p]&lNylu~pyHfQw@j@&ϱ^fP>~]fϛFVB*BD'C-D6`ի&0e,6$nTwEi־p)imʞ ka>yeʫ{:$"|J OntެLaɇ.VG3^߻x9޳J}j X\n \s+O\ca{ə ]8f:1; Ԙ.}78-]՘0EA:"g[V,ﯤ%Z*A+;x+xs|-a-pbW^:HdK9 `]A4d# ^S]1O(Մ0 h>ƩQ?==bnЕ: YeV˛#=D@ _' kn֙ڒǬ$^EkTfE@bvw%"SU/3d8}Zgk[m8쥨a}WW+ ozxy: nqdI1W?Lb~ _π>ʁ) uVqCfZYoC,%a t`74#?g&*!9Yϵ@u•(Y!$bS!ٜLOZ u^+vk2%ѺQq0A> L Z&D8Es%'PƸYjUd$2 "Of|K{룡/,O~Ëp$|k"ljȸfMJAgDyWG84lơRG@ޘE+z޼9x2se$!;i#20;(Öġ;!^RN <.MƢbklZ]G}l=-$+2W崖 J~#96GT1j628 =@"^x|+S>v3D*d$c#nqD Ą72{t@8DUBEPlq$ HwX]} Ŋ} |θ) 1s^aźljgXMضRLuD]?vxP<W౿N[?sedS2<7.sY q\ P/Z(đ_ќG ۣl+ӣҩ:Q'/Яߐt|rG=ik7D׼cx{wIn{`xE\t ͊BeZJ!]hyx > >{z/Rtŵo(mBٟ\g^M'^Qkq]y!OMg~cEF<I!ӺNb m*F)Wq>XM7K`9O~&G1W~AYBp~],2>$4adwR Y֗$J`/6Cنvjf2dPlD9UMBhL[)5+!G I0[p韬 o7;kյfbo^ruAZX+9DMq~}BV+12|9~Sd: 7m mHzCQvekd#m{!2%Dq$br_7Cqn&Oinx<8*tL_oU] ̌nmUڟa«nn_I1ǖ9\ M ! G"#=UPbiq&e,}S tU\S 5KOqSы;KRlצy{ ~>g[IjCH.sѭ؇Q #k& 5S ;1rO>Ѹq\2dpމpJev4Ԗb)mL<^\cdÅh* /p7*yakUBWD+BC Bf|tc$ MAm&՘m?kVc0b#06eV8\kCplH\Y.< 遫!̜IV6[]i\Kmh[w8(f"܏^ti0]Eq̳Nx^w~_ }u g.x÷)I 8| %  =†1Ben%\Ԓҹ?τk#K5BP9v%VS+OvǾ 3W,Z ّ?RP[Fp)=G-ZR1 EVR>.0n8pI; (vQ{4 -L%yRdozްf`kV4T5 r6ֺh6Qٺ9ox~/(ϗFП__PP=C!(yS]jo1^נ`~o(f``rdnn>-aV%xC<9-ٵUb[!@3!y; =a5en+$cf4{}V*> %A%WdݮZ77n"ζ QzU]{鐺>-:eQu;iV-ndRE#Gt=3Xt b ;PgL=_Ysȉ7e8]ewyFj>ԠҜhnn*B|e} @(iZ\0˯," (w(Xw/ 3v˘ÓD'_ݖeӖhM0 AtEB8 W)Cnzzd]평|sG@LxO\^WqYC4;`0̍ɡ$TdI;R٪ j knfn@@MgMA6!}_6?vG+nXl©xe+=ʫh@A↥4.ܒ,dQ 9UI@02 +&`vcn=ISaTT$똬O #ť6)pOi?,vK8#7 4 :1kG{ZcdvTPm^ tє #X ~bΒ2BUTrP϶SHsQ |x9#u;3ŕ wʹyĶ`=O D_C$ʷ*@@*8nKycX7 ^LzڥF3k %  )|A1Zu8Y sA8^O1F@#ƏDŹ9qۧH&sK꿞w_/c asd1wb<4\-ToH)_~SX8w`~b^ZkƎMW`n;1= MNro!3'}4km'pZQG(Oa k+¹L 8q.Oԡsb_+gE*9OKJmԘ `MrXdrոC{L-eITky bDGLeIQ-]5<&fm*WӝN ;>f<6~-JPLL޴He6ٹEK>K ,P6˧t>|7cɲ?[e= $|t$GM=ANE{z%K,h .U j|&ZEXizT P/^XqS f2?Zr]% piu(wbGn 0}u)2]hkV)k< XgDxRNi] bgWONlB6 bvHFPH̯OM5< xh4>;EuUCC2N8efS'IH1i$#wEљ^~X.~o9`e"Q C$ bV:&}ʝ }r=*9u:=F05k2^AZ/ y]h a1Np dYIj!񟮃 -\)d';P-A]F\a_Wvr1_tn* ~~ ]xے3p+NbO8۔d۠8V4WE X^~uf:qg$ t"!֭U?DyYИnVHѸy3ą#1sIK^rA]G7U|Θ,~o[ڤg7SպmBWجiv֞ri$O.f*%FQVKܹYAƟC~<% :\V>o3Py7p(LɉxBNqٵ 6Bи=6|y_pޘI۾(F{/k&Man+k4F 9"p6\P3) ]'l,˼3eN!ۻk|F3H+I򒪺Yb |:f;zwŅBM׿0T}HyfLjtqe?r\CRʅv^N0̶f\ tZľ~ڂL)?C'J=F*1ԑ BΝu}d5l/fIY6)ܲ:d n"L^BeRH0}f\lpU_xꜷMv#ȇ%? U0,.&ЍlOPE P)xOS? |~+U!%"#Ojd@CG?EQ4bO!^LkJr˽OwyoF\4B>7;tJ5xØ>KgS˹}n<ć9]i$%P E\foz q1]<(s|k6BAJt(hqU5xbLjJJ,(,Z%c;qBSto?23 v{2䈱^~)`|_֛ikq⼳svd3*'&z٘]ivEV/u#qx{Oq_\g\,*C (6eo무rN.GTrNR]{縭a M$]w-t0fL 1 Z5:I$]\# ;B}5D|+>GFGzWe(}HKU1qv^E! 4>~*Meuc9jѵ [[3(bC| hlT-ITj#S'/GLQ=B1mgMYxE$LnŃ|L"=AβOᅈ &.`?A_Ͳpes rX]M v. Ø6 S>`^ nlc%5+4OrzҰy9u$oO\A 'pY -ЌB{'#x;WYIp g "/򟫔/~4C:堝r) 1H!qWD ލ\+~)!|@nv"7n+"!3y^>Q}"x7"O dh!*8X 4K',<S1$Bj 5\qcNZ: 5N[dˆ.u6AZd(ngYL6m1yz1kBgM/qM*yA 5_f<? ƇٞUփo;yS*ZqZ=r`iؚ[t["}>m6`_hz=:5,sH*Ӫ;'8@-ӻw꣍.|>oAY6PUMWQ`QVrLB[*AcXWtKa"$ܝ<Wb=Ld]Zc?0F;eV" )87A-=Qħ:K%dKSxL/EJlYRdqa_!0EWR ]H>bޅMB\ڏDK0 B!TA{m.|U4DÆj7s3(}-YʤT.)Y$l(6Nt] `U=Eq2*=mzxK˩7$ CȤ?}ΥH;xs|iǗ+/a\d6L;q~NJ3x>ﻤu};"7@ 14 ?$7l >;JOwEAiRW ӱ-U˙_a[Mlv[KgPfJnhZN,x5c|+.ShO( e|a9% yOهXVG߮yu-xA0W#mi 㞜vկ8#vh: wUlrEj5VNy13+.РB닰W=NړǞ! ʝZʖ6Q>;]Ej ? fmG>sYB>⚾3L/g{oiqq @UBR&QCο?Q"*('@ʜ/ ])RipՠBf9O9Vs5f(!n"Z'QOn 5,azBc쫉鞋 S$} 1\P>3 xO`p\<A\-9o6PٍYTd0/+P4OUN뒰 e)d{>ӉQr6&ǛC*/q.54iA"iPjPmc|OgY"M\ɬ,pI'ya\Pʫ>aqh$>,&>o& w7EFD{W 'VTUoFM<ʲxPCy^7LP0>CG8hsb:Z4Fױ-M;6EYUҦP谮Z%B(Ep7l=jPQ{ń<׶TFbkS DpP;@F ";%F=9bg'!avW:X[)҈( TYFUqQXN 2aʈVHF3`?bw*lI3qT>EIgv0%eRIR[g.%9F6՜& %)v*㷨pz0-j 'v9H뻌`&~oNoNj;60]NnQD^w+y۴birFS0:n r2-SLqGdg6~0OkWл} (W)'zoׇb%`i YIċbX/C&#">(|%BpzYvNeTS1KDt"rv78rɴ{(?W-#Srx ~!B*UXF"@zc?HC*L/ 2Kxq譄i ĩk\Y&lV'6ׯB˂xbЌz nUn*f|%"304ާF6QH7b6)L b(X \5+PKMhZI F:JD/|>gr4[.%ϾuO`Y$Uг5Ҧzp  ,h 3 _ ,baZ)~q*R.xl>nsFElCq`hx$NPD{,o(;5ȧ5aSW'6;ffZ+iaN<ZfЫfv;LL8xx?NѠ#C74 F8n)P,9)>HBQ TQxhiNؕʣ ]rOv >/D jjYmu "6,T[I =5d;=weYa Þ*#aH:zhf# Dfqv`R1S=i3%צN6>ec޹A\E41+XS~B=l992daʥe|RWDZjbDsV@^?O#dJQzӮYk&nvΧN Ds۫@:xaWjl=M lST~t--Slwtx:9s' 78""Tcó,sR 9DTbOy`#2Mb7d:kAL <;{a3*{W5>"w]FB)GW]=QYOB\#F-ꆮrSL4tf?1z78Y_%V38"uQ> }FȹSH YpO5%ХY0mx+2א՞ #F8@ـ|0јߋ׍,)Tq FXJds1<|L_Glv k%Ά]!4}Mi)c\ ZV̩~ T><sEԨ3, Zj7s %t9 N-yp_qFcoc{=28QI%A)✙Z@qLJ`׭֖In˛I%Y`u.Uӧ@p[Ty f7[&?C!)Yق$b%2nB;/GY>JK6b}^~SC;2~j)zJ計CFw%<$BQ$1ajk݆D("1BGW]l({y4JwDC|e ѱH|M`ln8xd/K{~0D9wv[^h"w خoqt[]p.zfzH.NHaK`iOϔw1K.b(>Me8{52~7.:xf2ő2C.<ǫt]fN$Ƅf*"*"uwKX>Sio. ^yf!H8 M?DZukn2Rb*0\/a(q jw6??Fr!štj93y;rԦfw IU1Ȍ~o5.(DH_źnϛU*XS;ǎ1r{,0F({2ۍC@UypC7}#tѸ&z-C,)Nj+ύu9ƪ;Y_{|fɸGNU1]քf[Όb$Na.7B/_^URDQtgSw2@{qe0d݆G uN6^$:ş,MׁE)֫z꤅[S俤4 OxI9~EWSelx:/ 4:Y]Y˿3kP_'t z;}>|ފ f,\ǯŬxrգ/M+-zV<,]5Wk:t'aPb Y1+x٩3hWs1j@((gP^m;Fΐ]65V3Yml %Ju*WXku'O+yBNE5hiRu{~.R_e ؁6m{gūab. ~u9]QOr&y͏/RJ7/NEj@5%Zc@+n:CP[/bݯR 'iz/}]R>!-.[e6V}st&u~y?u4OQUx\g<нZ۰qMYΖm=bL˷8LAfSR׵ HYB&>/<}t&Y) 'UxO*X3u];Ϟdxr,Uv`yq,|>QKe0Hy ,*LxvMl[3]3Ž%Q3vm\u1.q{af߸l0Ja( җ0PA'&gg2:"5tA)ZLubѲP$8ю_iHd7G" d?:jؑ s+A-&؂ Aޜc?j%pcdp_ b?R(h/bꃖ3B:@M Y6w餉if+[oR % t3~ǒޘ~jLbI@ħyY8Bg}JvO"~&{wT^uw[{2!Xy}4ݪ2nLowm*tȟҖNY[ t& Ԥ7_}Ӂ< oEc$y@7\h'IH:?Yeb&@>OXHj;%/ zT4W qNjeKwzm\=V)˱Fo6?~Ţߋߋ}kDTtMA0=);]XCMl)=zfl2zrQ#*N嶸 #^?L)Hpp9`pf\8NdB_[[n_ϡIİ|4;yIcz,=+}|@ _Ȧ'<˓QG7pƿ=d&{h~μwC,^/;uڶlrmzJҪKzjڭo@L/}q}V;^̕m \VG*SNG\z;%eQ6lӔ ?Z*>/)SJHYXWt_DC/DFS9!îmPWf5A s/7G6X%ÿZiֱ6;`{r,ؕbz7GVvQ3:A Jup3?/ 04>OHh"y)5#snj)da|?߳/|& $6HƍF/X\5[!6%͏`ZFP  yK5bb[ZW#A]Ci{ Udx{ˍ֙?j.s6gzL6C018F-4A̓{ - _oI\ky f[;3!} KYw>)&s36$SgZt'? -传*hb%.DM]{5]>1OA{1jIi",dySN;}iXYxkkT?e h^ɆeYDKZVn7A*Zj1s] i 3tꞒLZb` }̈́typA à?rwr7Hl} ty*K=YCOZ`j)&8_;#<Ϫd2oqK6cLTfG u0;\CؔTF68qC6kBmMGRi>x7n}%[܄;FF `̇;HbB(2VQX{Z I'g0.=sH 'N3NjQJ;\-V*1wx|߫z1p2l4/= ;ߘ0țg %:><9HҌuLuCU$-tp#j ,aMz3fC]Kqqr/%{*`5Q2g;ܻG9VrrDx<~`ko/UbK$LJEЭ[׮V|!^ʣq 0دF$GIWdeZ4F8Y @7 &lFf@\*خ} drZqF`Ggq8B`{ͩp2{Rˌ5{5 tD#z67 ͈~ŷ$!HTʂ)D1Ts4R tb,}5rC]%?cYF?t9ɾX"$O5xQi:dί$c=>4UD?*t~$c&% x{N O,3О6id`VaHf{G)!@ @8kqyIO@cv]tۮ>ۡilַ1d帮 7HN!F}Ђ +%-N.sI>Txƨl\Xe0AGueܰ/9nFħ_>D "r}W4)θIơ&c'JQ07q0:E ߏkKqNp"PK@fAsNH8o9v&uvnt|w$Kzӳ)m24G'2")ct:,҄ZKLnǬm݅VE 2FF-ٲ[Vv:{H *X_u^il4j&q#HKX(*)Xپ ހ@5z8:tM;`̱ej}ŦU>uj@!5 ? H+N!'HÛȸ?I9bQr҂Q&ai'Z;6L  zPKƳG.Nڱ)[Mqo3|$g#pHE|PCԍx'mj?3l4vjaGsMT$ ArցԱol9UYR!)g kG岰DN:$'K (y-.\)Xy_X@LŖl*qL%ZD ,L۬P@-apCheIQVz|6T]s!uySl :\.E7xl"o$RP Rӿ] @dsO}iX)?_2<gHS $f4to|}* Csw{ãRt<notؕJ0VĔY0CZFXi:tA~]>InX4D؈b-2[k8n2EO Wd&e r턕*t$CNby|@'s_0uPVdʨr%0+_"Yds饿z-j˻Ѯ"TQ\3dA"Af]أIN>S~BTt s c@eȉZ 3>StP݅x1.\+ޔk떍BVtcR'Zp#E[rBќP6E(rNxt-ee޼z^gR@LmXѹV$,nӞ0tcUC3E}7 ca- 0W[Ӆ|cn'#hgu cDvAQЖ鏭ܞhW\W:|)![ zv՞IGX85(1ḡAYWATʬI[O!+ "I@ U $_l4 XS=c qi` ,wWفk)}mZ(3Zpܮ:$0]|z3e*`'mVj}p&{S)ʙ%Ck$szZν(t7&l?*.xEh_Rp*ȖWW2qV#SϖbEsT%tN+ J9? v",TI?8OKE"m'RC\U|urU`ngF|͙>|r>r|;V_*:}6{\/R}itہ pWb3Ii"]oR 2=3l#)4R-rΨz>Z,:D<_KxeN&lGRLI,ׁ><-1%+&edri2_iŭe )ӹ=Kxe}E"7_dM4kgaN =?vh|7/pu_$GhuΘ[կaTQj#J#}$p_=TK u=k@ .|8/LH|X-q"J>T-/yWI4ܴ7sB]Q/anoFjs&sJBPGQ~Kܞiin=ʻĨ?kM3I໵6G_jL((:c͚UQ鶰43U#`b{w#Z ,F2KA BJ>aվ\{LnM0iBע,HTÅPi IG~ϮRc [зgh1 8-N#`Ğ]^TK- eN= (+Xbsrfl0P~S,tsz/ O(3Rzrb$)U55s?,.]8>#DȨ%wӈsaH_U^Wgɝle^o'Ĭ}ǽ7q;(hZ$rim jJ35r/{q)1ŵZ  RD| |{wvc#ǺiMh @(-B9SAï.,)OJܶ ўb'g$tUb//1mr5;{'F:"HK3h^iTb3?pKGb.C3uu"G9d|8P$9[ILǙwml牛OįCb`bft.>a#8n1W'Qd]˼)–z@AFM{7_em;'pF#`uz4zjz, =C[Z&1?[[FyRU'Ko_cU!MW%*W0&#=ňʪ}%aѨ6YԼ$N#/U"id Dwr {L2~o\5R J 10 %P!}TFϨp6+[orJz]٭hu ɕc+FKn"ԃuUQV+ .9 48z :E%w nk0(bMfsAbH_G'o@}SZLͼ@i{:Oܟ!ݲ܂}L5ja%P}6pMwm1jsq 9zr!I.Gw;Bz:մ~~uᥗrhTih'cILW~fRIL[ҞM?εUiB|WnG2lDϷPћ-}0e|YNMAA]9NZO6FWvy~Kj̃OFηhl~W=kisE[KsfSSA&:qRɞtDd TN7 }~!`Bh:;5cΰk:N?C_9*>YLq@0 fS/ƞ\A 5I~"-r-|bJ B4wnv@MvIS.kdyEψn+ )eq"K&K움qFF,:cW$:э&NGXX< ܈@رwkq:CyKRN 4ɃCJUֲ2d98 :─/x~]NrM#]eGp_貥7h +;n52jL#fهxAܥAWy72/YL.W?ۜ\VV#js\esiE4{݀R+՟ꙄPW}͗FOO0c1OY$02jgl Nن|1|;wLoah6SjxI^<ú$5xE\pJ" Cb;Vٗ#Qyz5],Mht`dQi!^^79 ФJEm`QD8 Y*znSpvH@>cfC4)LW n`Pq*׫ XF ;XƇ{J;ɪ.]ؠ.ӷ[NLpU":"dR8dsy<@O_ 5w7~w8F^I' oeum|(,p-|bEf}#s2ا}Ya∗}kK-HADv5M#G]Ѿ6+ڤAzROEѰk 7{f>"m:( ';rg( y坔2*\gA_;qTPIa6|FqtӺ/p9@^@ HdEbПx'?l7H#ؒ$v~@/+^p$?tfbN6en~Nvx^N-i1F[Y[y[z3K)#o>2$tl ~HsN t>\nPӰգt; rr.`r q^~xtI2w|>=#*.,>^XE(]58WN+Uw{m EM*׫DэH,ʯq.I8@- gYy v/'w/tX p>+^JO\9GYG' # '՗eTkKށ q FJZgT-[Zg\E<Ӭɫ֭欌uE #̆ksBo/~ۇsXPN헀i)_rJ{.rgז U]_(CBvz@Ku>LIZ)qz(;ل҉Rgn '4RP6pÒ.JU$Q{. HsQP끚G'<(h e$, L,8ě B$zӓ$®k3Xɏ^ezJ_q\؏0RJ(pnDߙ۲:3ݠq4dh񍧭d"7f|/_7~et4u1;k۞bE+Hn _A3[uډ? )jE7FPc]^C?;ʻҦR*(!#Q2HTrĥbh)V;8E|>8?9;}?:&f/BНg7#i_%DT*Bo&@g^Bdқ簨rSWb6JIr C `2N, /Uq깼[orԱRf\,J^xǜH܇"<4"cvb,  ,g(lēWf-J>s){Oi+,(EszɖQ/ͺTWJ h3Nq,ŏƨku@/u$kKe-3NPw8_aIaob Am5ښo6=i1@u`LE9:]LD]m}4MguweC\lFd‰jK 7 :3O  $Ɉ|baEz%n d؏юiZuB3}`3-6x %5XR[=hP!LqΓLw11"T(TA\ވ?&6%|-i._VQ8y!՚]FiD<S2Y e٤W虋 gXn-0ȇqQ׫vZe.Z,z10?Ys>Wyce0p/.ij]1n&+[JQP'}y7\ =UW _~L0Y~u@?hVm,M>֌A46HyR4#D`vث=ðM&|bR֤hĂS<Λ>wNicf|jw0=#fEdK-?P ѵ}܎C*u cԳ~Ӻ\9)Xf mM}ПV<>$WL%|^k Sۢ?/1Ζ5L#æK^bnaE,t Y~(҈|È;KQ<{ʅfh:1D[AaCio_$ĝ\2hpNpjKl}eHue,Sð>'&AV*اcIi2VǫEPAT):lG3/oT嬫7!<$8ښe0g+r7Cx}vWGVge_1:evOmԷuj{.XUhV&t?إNPzub/obFEQb5"-PXݨٲCQ&} BiVﹻ0l!YųOy|0f2ˇ VDUŐZT[S4#AlJPYy -V ^;~OL0DkyFc=|z-ρ>DFxY6&' QsV_3j+~,8VYkLA`t U2^/"o*B/&& f?gk=מ8;/nZa\skCʪƗd͇ cûk^`B¤LO3-_4~>h= 2`OxEBĪRfX'r?H q(?cIpm|W\A |q;_6w毜;v~Z9E"ASD0Ĕ؈ߟK&iZ4tU3ZkZr7DD3;Mb$&RWJ:NWW\=(P L BaԈڟd^0b%t^&d;D.WIp}:a[`8H(9yBx}l@E e[T3k,>Fsnhu~PYjkqG(XJl@˵uCMC̀M|BSxBgY~Gf*6m )ԭOc3O WRsڎᔸԪ6z-cB~X ب+>bR\7=gwYAY̪ؔ5jlLjzbcLC,f,g:l]%mFa 3/}8^Pc }Qqb,1paw?GP5~mjgwSOerNlܯ'%b[vR0e6o 30пh˾ 2%Oh,(2h ;Z0p?7AJTànlEVXP TO]UMpn0%K+KDU<=1eQL&LIan 9Dz5w@^$PVNVQ9F~=TqƾUjrp ߁mre`L' }TV駦8;9"G8akFe딪]Sqq&h' G@=Տ-L iPQbrlo3Y#|^:_/||1]#60GQnzR yQPF!B{87,_^U}&+?tpUdarԝP+P=K*26r /4C)k'Qݵ4S ]=ͫjc#v1Nj/}N*oEWqU[O0xƒ{bnX dʑ"o5 ,] pg?aG qN6$!^)vPLqbUwzşں6Sir9ؚEG·RPc щ{w /._Q?~4BF-mSmPƭj?1`xťS,  {ZA7Y2⃨)NE3 2#\}4)qW7D[3d?N4(5G$W]-ۦ@Vt)Ah AU2;g2JAb4Za$ˢ2pN"t>tAH>M&eh'/4ٰ*: żlu\$M5I֯wώxUMq* 8\7[E¼*@>Y$ { `tVõ;j?an<0^s\xt br7X&%lj}Sq֦̌\g*lr,H[{2.ƀ7nȅ.f~R9 !..s ljae9qcK%3UyJ:-_Oae]%>BMK YHDYֺ p_ d.=G͘t!pS8׼$((0{qY4큍lU,W.ٚ(}pogct J4)>{m0lJ-Rt)K -GrQڠqR0lӨFi{Ϧ[sW%({/8ZOqgs߯/H>L0*u\^ID~)p46͛='O8fEM1И]3y~ѥ:>{jdwKgqV&X񩋴 c>^GN>Nk Vص`b.r} W,Z2JۉOL8>bFAB x+{$F FQ N=`jbY_$-N.ބY^+ߒ.quTVꏗ/RjM3 gIcJԍ=oGMF N)IFϸK 0HR?؃:7n:N 7xAԒUG1s7^y'Y5ĈaWC =ܿ^$x"-ȏ,ɯ7?VXmH3k#܃ I)+3@כp1C! qU6p".re4i[tm6 21C>~5,>;s.h9bi멿H='갪X I]QqhϹe1;S_' .@AA=01hBV| )9Μ 9 ZM`ț:m~߅f+{\hA{0;ܽp^aAwn@HCG>qŽS~T+n Aű f (22mRS|;,]mpwjq5 g5;|`];6gA0ᲹL4I@¯\ >\ ʊO;S\&5VaqnKG| #5˸J>p㎺.ꪇ-Hs_Zu7>@>6 qF*pIдwRcXZnR'K4Jw#"tZO/Ϊ=tk-tcťbVLx3#+ڜ.Ղ=W@(_OV&7*kz;#oh٦s_)I1rÁOdܨCo4@RP1J^x2KX&onX=^zkV.5~n=qU?ہ/X?I{LfҊԧg6f8YWdص#2(k)Z+uϪ}w{_{ -=g\~4DId- Mʸq7g4!& ~$6GQ'K(zWJ=m+tkO\'ϵ"ډRj^7$bd1ۄ4hnK"),|&N-b29@& ]NI5EI}L@8ݢM!͂|FEG+ N [2X{t [+1^aRm)A}%<a-1R2g0; mЈ/c-;] J4 g&_=E#ҥ+c 3Rz_/o$vb#-,:/ʿD ,D&">~ XGx U=C8=Fbܨ!y =tlo)u9N+-iEF?lr;fO<*"!noн?@ OĊqw˩3],S,yhOA\x$*jl{s9@Zz>_|%13;Jǫ~  汷tyg"j9 %;(x`^K󛰌vtMy%vLΡЉ g$d&W^P'GIVlh2%D \$iL9&gDsԛq$%յ27jwfgcVN/[4!b tDRD 8r$tmm*5`7RJIkPp'y.l\O3  Hw4ޜRdi?8*,Q]p Kb}Ly  $.f fL\񰢪45QO*E{P[㴪`xP]N,sH7*wHTa2-;F3 .Qd,dk@)(hH$C X[IZ1[5z9YO^?}BhVORl24qW" ]j'SYv{uP;#z@%?nP+,X̍t Ã\~NG=54>TWs_q3vo ^%t MBk5-\Q7F˽ Е9(v$^Y>zBqS2ԣh7ptSrѦ; u`6VOo/ׅu_HY׆״[.\Gi((!A}p#}+`4cWl v8hsJ|1?쯨~cxZygiCth <`\Z˟σk5#zS۫w Ў'~2,!gf/\U5al\>7q^qݗ[AGjVMeMIz_V0J#mk4#a`'= u{aq򒻗?M#]3u9Aw y%! J.A-;V^! g1]DIk7E|1{U+~U+~ Y[My77*>"lEz3DǑ9uq4Mz4Wĕt =[".E{c&hׯ5A @iGBC V<-,"Vgt"۶W߯5aI_-?[ҋv+T4Ռl'WriޡS!5٨SSWYp;dG!B4Dc$jaii ՜hGL w5'9;kwlTYCuHVz pਤ'8f3"~:bc=QblKr=%yuʆ"k0r>kv֫B[U"\aqwFa7Dj$[q$ >ͭ`5%׼"ru٧`F6%|Zq ہPƝ F2FM(RƑ. %\h\109|0dN stBct lخn ;D fM%qu0Ng#T߷Z|a1[z%a>WIK9qw6zQz3y!s"%Ԛę5^Z%@eTG?† }hES@*.逰ig-C@6$XL]496%Eooxu9 Iw6(ڰ_߃2%PS@:޻d˔{D[h) Yɫu j2/B 8>&cbe e*8n ްWFuoӏ^dѬy2IWwSo \v6z5t~vl'W{3[F*Fc:%Ȃ1&oLur^|{{axq?@@闛;y3h@-yk۫ ༲D `h?|J@Ց8nֻ !^rSиӒ>ĭrp&#8ZޒJ$vZݢJe-J8:jD;iovkjZo2x%JˠH()*&V>FiF였{{2!eT=7aJ7]\M[nīC.B,9HOx6OM4-jO?. yo牡9 @}PLTwm@e{H dF_9,Ul-3$,@4XT?,Jm'- [bq߮;FkuhMkK@x&%Z S17[OfE9]gFU&v.ihݩb 5rAA),: &8Ec}jŨBC/Hޥ@>K)p9m=34n K'-BZԜ=xtk' qn#:TUڕ98Ch)Zdۭh~ 99Th)ˋ k? 2`-1 4UJɔƴnU"'SKKmSvSQΜ q~VN69P$lOzQQgg  Ô 1PQ&5_GRe|⹋évvݑyoaOC$%aL|˕FDL{ f-P6#⻿p!L [7󖳳 PGVjJ]-G*]0^EeMXB a& jf|Ͳ5H(慸^rD "x,%ܔ nXJJn}$j۱ABؼzaR٠F%4umh4i}!t}A -,Ml>7.Qw8;zK/sS.Ǝ o)vna.il3 c#w^ỸJ`#Ca 'ʛ䃨2O4\jl7DoԢoĎ.A` QN/NSh&HWWK| P 5C1C~|+ld5߿Iz6Rif A=$)^䯶,s]! Tapse^PJxC#VN%3_z#j&?H( fYSbNݾw dΪIUd|:qt2e1G@δ'Jο ҹhnkstuewd_N <)6,F-L.#x›Y@ru. kUdI?-NJjgߨRE:A(Ns0hGý1c89Kۜ-?uOʼ;0o׷NuL[ާoXOI ;QWEqixR("JuE9K~Ɇy<m9ԗ`K`ejC5G":ǐ0K9Kc6NA &1" ",T01Vfsѳ{xG'Ƅ'˭SdĞ(e@0ZTp^3/~d,>9!޼m|wYv $\b]K;e*KVf46a,l$/$7lLl $/JxG;/x]L7qi07$[U{/8 lIk|8aCX= KX_7y E ii4*IJPB&u7}z VĜ5aNr!P'{%w6QcviaHHgqQ ڙ%ygU7pkA PB mpr4f[]RQժBoT) h l).r%`fUWp %3K ~{ :xM"&R$#'?.l7fo'Sjegr[Ʋ2WV v!u1fì bo6N`|YDU=.SdvZ^¤UsMZT5(:xGy˟Tgo;lyv(-;3+@P7 qX`;M wSeN C}=>ŹZA"b\2Y@dnT.y$n,!\J"y(`U =-Ey_őcg3[.ò3YCfa#']`p?N@ {gHD1g ꁢԇm +S\vAW}BC {@3sR/v ڝRuK~̻M'9q}|,3>w:A*G;7%5I1wXS`R:9ϣ픬hai"پ/\K b8\97JkH0uh"c[* aOȩ7 }`3'vSiwMk օ3Ur2-]o' O}Zaf'uF'RӣL^YWMRVhPDd=83KvF8$xjA# I`MPVBmk8ҨuvvQOL@KL컲`Nu5 N{2]ZoXzÒ^v)g>{Qk(SMRy2;i]q w Pzgцu XFk%Z"t)ez5F#6|}*Q_Ո]G0cg"Ju٦(Ώ4`z1 Ea9Kd|k=˝r/_?F$^lٻlB&M<:N{v$oQGF:%#ӞɅN@o= %Aai3Οl#"}zmmQ w^{AB2̡UsAw/Oˬz.ͬ|m_eMN@|naSUɱx o{N%ׂkg!a'*;<_#v*fK8dmT~g(Noy2ѕ%O]t?(3 3-F]#\KMuxBa\u*z+jpq3=63)= xI5RYJ+q H P/͒ vLf'Mf# HrB]c! w&Vn&Ail5q * 6#(\|8)(ht$9B"7"cnwYA.3SdT{g!3#lEfV@ߪM Pd3Ή)Dh%&g?ۊrxשW J֔eHԣܓ=$.I1×8il)>.x1Qw,#^`%+:,"39܄g"62(Ǹrl ~G/BĻHGo>0ۡreDos͡ųu5L xlCqR=\/>-ۖQqՑuNj( SQv{u$MQca63m"eͰQT#~wx n&M^1v!pY:F4ǗQTT5bI7&W ~|IngaxQ>^͖jPm[7,,|GpnS<Z6xid_Zc3ĘMkK8 /C` !. cD -){iV9Y*v)QN`+~˔e>yM9IQU P遡l7c?]gD<+/ι3:6 9\(;۬Д&I {a/C]ɩz G$fmY{Ր 6єM[㙄Mel 2D@}#]ݯvlq賦TBqR #(Kq}l9zMU12 Y EOi 7tgEF[?SFvu-+Y I@r0m (~{Y̖s^StjT\~AA}1Sザ낖oV/2Qq_mc'L; GdEz9iAޗ|oU. @HN͈Vi5ck*2,%fʤ 0d2*&q#YmO7~sB8 SG`)kБj{jRɼTJ͍2j!qejh'Dғ+ d3{*|/g4!A實]怨CB9[[>QZBޙ6ʪ!UUW8RW>.q?b[|#j64u`GJ vRgIޒ7 ~TtӭGQeC.[!.F外?(EVOv.>Tez1c3IdJHfq+ygo[ cHƛ%~'싦%+dsdvzFۡmsmu)rh0 2ˆvME ^tkN5~?\|xr)2KH,kx˒J^(Z;Ox",Dkol+Bap {ox BzL7{E-+"1(׉Ԫ6<\7:P mo9:> YCnaw6cdh?*Wy.[ޘ'E9ǂ5ksl -`q{Vhn{ uP͋]D;C?.W8j&ji}F|((W6gVפ濺As6egl}ھY/*%kte0e~KA(Q ]!W:S#R끧\#w =Zk}}LA!s L*O:O3Ξ4/ 4e_mWriI?SQ;^ yXv52,Î%$фR4Př)nKCz4!*h5gIěrq1 p*ݼ'c@K1pE_VU'|~/بkרo|Jb+.-`}or]^ʻ胕R^ gOU|-P$o@M2Y<6jv~1]gXBq.FM`^?.Ac%Rsz1;5(,m(v6d0Rp?',!wnizEg_h.˩ɳxGsᠷDHWGgaf#=j&IIY恄,s*DS n.."]Ih"5-N}#"޻dըC(ܰ*]Upad =m ZRH~ALќqޭ}-eʛ.4R4FEH00aZ)h OŲO~>G--igO7YbK ƭ' rv䆿jVInEgSD*ퟂp^Azdz֚^6C{O.$UJ@D*QYaU'-"([ysDbliwO'\tE.08PaOD~WLfw8+ŏBڍN:qGa4NMy}9^܋ 3aw;t*H!w[$$|S*ΰ}9,I}>yg2Իpse_*^| i&PF,'ˬۇͷ^_N7~i+}h3D'}mQ%)uಔQ{vn1jM08bh.gH-1]N(L⛆x^Zm2Odr徂c@y{6ت10A>g_۱MbqCfNe3`H |aC>1[ig؎jٷ,<:Cqscw#˂]tCg,"lp@p1u9_Tِz?{;BSAXtE凣4;LρEKvzܲSҡC=քj S԰cbcș -#Bf rV:izm j@R zαoac UY Ѝyp2jf]&6;m:#!1lLD;'Wb ^ `#3I(0?yl lW’>vOJs^М@b5::B^VYY g3n ؙtvX&Kb{U }U4D`KW)k0dOTi- frB,Pp'y#CI.Y9L1@mŠI;}vH/xD4!1 JAL,I, ;~@;96\j:DH8'l*oe=a!n# @(d"(XJb4DS=GI ֪j2Iu{LvHoj$^Fq>+8W D@V&fq7\>޽#kU?9nL 8"TQ\C߱担I&/E,WݗO .=/@b:%ZڳP,(> by{ْTޡSMUpY5 .F$>ʧT .^B_k YiKH'N1Ri,4Q.{:Or;6-cp?)ت`L5Vw㽨P6?RE&U鱘IG+v11`5 XE:>Fd2:Ukec[8f0& 5~lj$=!Ú$+ A:Eљ'C RUɬȄqn۞%>g}@_–z:uiv: H7ŮF V_Da:/,L' OwaᇱN,Bb1p2t_k/F}hPSc]֌e-6-#q&oݤEmpdukOح m.:H$ɯ, Ũ Lgօ=u07"?[ƿnOH>iWUj znJɦR/m"zqN`>ڻQt<41t3s"ѝH8d. έZI@NKq}&B/ :r鬹# Mn#6YfF|xSp5%IST<U+ۉ)C9Ṁ,4(ȃS-&H^K! 8s3{omAy(⻏{+fF Voy߃@o_[DS5siL}bgB kȥrQCPK͉zs᳅*(I}~Z;aNBA@y21Ρz4m/@ ܐWŦaFIB@WQܔWk KiM{3@(Ҿg+>_ NUpRP!pFI.*~Pn>4V=zɮu Ez~\TרݶO i æhO%G뗝뼪AbZ9#TjWVQ hqs6Z hgewPD!0O͚zΤYvw[h>pI6ь_˛ խ2x*|7A y31OhԂΩi,NE7֯w["1!MzJP^rw:-e"0j|e:zG8 u`;"tñ W r[ݲ,cQ!m K]bjU0ܭJڊm ґt%bF$*‘%5 #@>?&! BPL= >j$Z=.h~XueRo@(rk_q7ru)^_DeU^ r5{0N Rla cը?}v>SAwzJaZ7hvy yڔ)ִ0xHWY/XZJw>`22:K_Wke(kS$}܆?;p\ q(LI\t?ÇPтM9ܜ:]o.+wPf4ot]EzN!` {_sWz~ۨkE/v$a?"Jbn<QdwhTTwCՎ5 cHF8q"Dv|1쫱K7(ęH,tvZM;(g i8fX;HsuyeDZ;^A^XJ>~(+=tI)q0ʹbi!*CbGT|^-3{u}WGaTVK|Rh?pڑm-:L/&Ǐ2KOT -&XĻM0hW.#k)a76U7,L H͸j 離v.L1NpzPj~Oʢ^-v#Į^CVnb ˳a |.)׀[h$<C?iti=m/?a&Մ'ܷbS(UM"/L 1槊]vRbkl6 זzeK#w hrnqdWՄ-SE2%sXũ<ԒA!OB2<\BQ~3W 1m\9|%ma]wi+Dg$KU'%S/ZٰwA;+Uujh:"FźЁ(ՓߝRp9~@>kX<%u$kB" ӦGQᤝ%k΍#،E_/ |7XoLUWGh>v#k>>f,B*!SYbY<8dh]:: ~_e0݃9Ƃdi4vz3;5f0p5dۿ&9ho(J]`vL궣GM0r^1f M&cQ!Fy(٬j( 0hx0Cތ20oQYdLjK|>bI `zꃔ)W A6@ kg^83G@1ϭ~'$oA ('wP%D,EPzu^Y`cV4TB#mtS3AhR̜h6%pLYm}3bӠ2>g ~?P46s6Exyʁg  ʭ4wxl/L,`cZ ɺېGv=]o\`h`2C^\I,77ݔ= ]JܣCihSF*$+T@1攋lffhw⒞iARGy-{b wC,qpH0QYc?PD8R!6[>R :#n4~|5߿7⃌xy\(6NΝaϷ)SMGy/BRo%jw!P:}Kg|bU]LwpmLF-)i¥%mZlz9 ;F+ySv_zʇ$ij[gzw~?Jgt=%VL ñrBM_\6BX/V*Dk5` dj2z@ b -u\w$[o9Ci~mx n)/rO˨ƫbdsTv&P}#Y^Iѵ gcxDp'E!3(7h 3WyqTV&N[N+Ikr`ޏpKa<K5+'Pe TG&,vщ>?̎acUOzgOV,4Ɏ+&C엔O-Bxq|2BW0𯲣߉`~F5j+qaH|dgK.= =f6?lp 1a|}#9F5-RWPɔۈ}%9㱾3e~iʰReg&KM_q! J)2QR掌.4OrX Wўu H螪|Xam$ua-!7wEYza ke9ߝVhׄ`p\,V+'=奟ⓚ 1Lf-*3$eP]Y9Rux&hp_(dmxᨏ!oJD{ 3ELr-qC:GVB/I؂?oU/'3O9TtTάBsK _d2_%i:A1errʺxܹ#a(OyX5\w߰. .I"e%Y6ITW17.E<_;zV ~)vFw6DXv9]#)wm`ߘmbJ۰ |;B%kƒ}yF>~frAEU X~u_ʕ(}m.)7ɕIcQ2Bg>(ܩgj?@̺j*J^q+OŪ7$A#J?9FTE I׈ML%pU©-L*m6+vByP? t8Ǡ'@lO,U7W^$pBu C]$s_ݳ$.@ YO7I-TN#A޳;XCiv"ihZC+O8'GlOb*^ɱ˜-L46)Q FwU-0Z"2Jqc~Ն}: !@i˩e]cg;|h9rYH!o!hnQlhgR$Au}Hd^*BWwiOۿuD@9jf#P iz-Xkt)ߓFL\ < jsOJ ܱqw[xL[nI:N27h5Bo CRVp0JOHI}j!Ϗ0"yULjrM'=6DhUvO,774VLWJnPy"],m3oҲ;j,c_:Z5!bT^yFV#`|N|vE+1I4؈pd9=G fm-DJm2ÎZd.E3=gTuS ϋCOc?mv3qUF{OfٺrgC( @.u2 z`J =>EݾxJ0NJ-ό }c$!qDmD„*-Swͪp !xm$kRg؊o6\Z頊W4.FLl .}I83 .eq 'V$*NLuGjY2bXy/Ӥ:\ H=xS}N6#c :k>H[GZ2BNZyfOj uJ8o>BЧZfϸ`|̢.~VQB4y`E BiыWTiKl4jl^~3 s+^eCK4bs ,ab-)ĢD9-Fʆ;b'S`j]Sq3#l%<+F% 9lPS8?3:JH宦! CRg#J{*4n拼CDcЯ@>iWFGltbE+JԦI, ʔR-' |%!&B@B|G384vܙfrAxZk gWECsxMYD n|nE#Z!^m.ez\ᠾn8 B8W]R&|8.t9|$Jj Sފ-a9mU~Byu~ҘuiڶYŸ.ǣMyi['$B՟B,2(gHL@le? Dej,k{ V4VZ#Fc|I@ד_qÝE榘bIRO^4+ي<-̟8CMF~hX +Z*[zPBa&^D pD/LߨyA (d>k2.Ch 1<;cc}kOi 6r(8\&q:1얅.aLT*|g꼌4 J3={oBr@c`SpI\\wD7vj3O/H[ d5U+>ֳ[QdCΫ[G&f)w}NUQ1 s m+1a<+SfWԬFw6XM_$l~E5-?=zQ_3tr'!ޒ ;x7ivoO4$R&v[XWnkN& !G]fԆmB8*-92jQrV\QۙHan-6;RO3~ZM``Vh2A l;Lߴ 8p|a%ͣ~'|\O WQE ^V5^'iՆ=[GgԵo܇3OF Tw(63BeaR+#o,!o:PW~H<@9-#ǬB>P:+2]by˹Jȃ+VQ/YW c6qux ? 3ێw] kelM}P?'|G d~ KpHcB(ŵj>!@1b@*X2]TcQ⍰E8eu[Y囝0j;H)c Ҷ]:xO↝|In-A{ F{w_'@+m4?&>< x=j+-_zUuˆYX{_ֆ-kگ+TvԱ A 8|,k!lOB53&zIf2R\N mϨ.!lvj%v`xY lT&RZ*ס S6IQDQQ;]/E"QXi@r5̽ƴQt'`)J99E԰A R [ݥа8 aeͤH{`X:Iץ RO\D)S׺8]9|8c3Y[Z9 K!ρg.A\q~lLFU NV7YE6=V*ȧ^t69|eaĕ;N4g!!VY3hzV\RjX2MEesF 3G nYدUvl*Rܝ#@:ySYXf"v HC2|锣PMª|OѦ^- å^_XՎlI|l+ЫN&# Zf\[UÁmz5 W8+d1w)Qi!Jylݭݾ{;{fQ L\ JaYYC*k 7OM,KOd|W%ȀD ^%DөK 2Tfp''k79g`;9en|YAGz0,!j6Vf*Pt_SUMK{M,3L 1%8qIVj6C Qh9)чWk"n? :$'hc 7 A-]sLRf:k,AlY!6H4ls2BBޮ(C(K#_:W`?KK[HȉEct=W 剸NS ,i]AVlql FW7_JĒ¥]H`>>ױ,j'Dv;a9GM٣{}./:x9'a:`L>}ƛ5̦pC(Z+yPB':w9ZbEh7qo?ymS y(uHG_>SC!X 1z&פ()%:>}? JumXBٓ \F<M!arQ݀hXnmL4'ZwȝK}܄vl>{;] zJڔ!p,%3YDNyeF9OIϊ:"k~)$ϵc#)#L}5$zކ`vJ'h! TT0JƍnjОH8ZH SnJ?Sp446\EjA?+-\}A}_#`bN|ti2cͩQ[/~0,搁a~٪ ^6yMFʍך[8lƈiտ:b F.Pn*'F,mA3K e~mX}[K0̃r-G 5-ݜ Ae#!Mk C2! DW>Lmi tn"Օu[e)yXaߔ6W{ 5X;X*❊`]~%whsYA/m) Xu3܌oU ŋb;!Jr$(m6~`!0ޘMnËy?~n'|dI姬Fȡ-%b$p2Ә(F8ˋ6.b3ʵe`wW]vܣ齬Bzb=-c eRN`z,绋qa?7Ws(CNԒ =CƝ>vڇ޲FSP tU"Aq t0/ Gx9HhѓaP*N7RZ8</h/#PMAI=870A;Gޖ9ucշz)./A^}?5|.:__U}kϭ`=bOgVF`d!i70A2vaRY04'c灱`%*UΒk &i5iitFBiJ\udaDy;#*-?g1|XU}D٬JB|đX8lP sGnl! )t2ͦK p:9DA ҽ;_$3 T39_`[jBF呀3 '<`zuMGidsfąۖrtsȃ*rX+#_P}OQ{GS6zuT-TX2Zݲc95laɆ:1{,#pѯGZТ34ͱu q@fQ9T1SޔW0f7Ʈ\)&]؊vB1zH]<XG=]Ì27 "p3SG]ՇFN+}!1 j<'=*%?d QF5KG"c 1JKi3k8jM?~7mO-bSYrnXef/3|cej ߺgv~)r߆[iIţK8K;z^*9stXRIA=MŸb/zg0Fua[;̈ٺ%q wBζyg6ω׮>,N@]N{(/͓ &"2={, L|Ѩxۡ(LM=m,O&ذ9H:`tJAS*: (03H3' jAD!~%nݸ+EQw+|<ۧ_k`HFX8z@z6k'b|׺H<;h#]L%c r%KsrXņ\\A_ B+s*WF==n.e"箂xM/Z\Bɸ<n}Y'Q+InC(pe]bS]W'4PBsѕuN {^hE!}!D4 [X>k\a+~)N/ܴy*p2=>"^ |c5bhZ|߿jH\Um$ж(?8Yz/pr) JJ׻} (4<>{f0= ?z qY[j[JP RKom_V޼Ro?-iJy?`ucqf4ifE3#t[L;=lԪ\]>|#tKM;-gQBF4nܠL.ᘵ|/tf+-'~Z|N=4#x3W&t'3s?Fg'󃀏ImLZԱ7r/fc6xa_D}u)Dz$s`9g02h/XC ҇Ɣϝ]aupc82=_9V:?MFHq(Lnz4a_񿜑RvM?-n |l¾&q }{`!oosFPuE^UNJsKc<_a_nXc94 R `$v+P*X9ulhwv+  Ȩr LV{EzY.N܃X_{^?1|L$&ĊV9C}z kY7=;Ǭy[JVc ~x!189o-}e,rW8}$FyZN PhFj'ʻ=MɊCUf9B9)bZsV%#*} cݽcrtD&XF㮙0,}.J5Li݀+F4"ȟWRm h5ΠM5ڵ! 0Dx KҼ{Z ɰ `rUW%oS琦[S3P/]|&wR ]/?"iȓkUػC_#sztd {6E?LYη 0aeo)}Ma?ݹOaߎ1s~ؑґ :F8fwWpk˜!ʚNy ;WO%|ň޶P;:Ƭ߹Öw(YS,DUXYX0pKU$!Db3FEX7 9]}+YU6ʠk۬k/Ο5~<-zA l}ū-Ѿ-—lHJOhySp/{d a&>:sgJ?n-fӨG41=C$K[F^Lryq2UoѫJ5\4|a?z`njH6~"|ڤƍo5{0>4ib;Ge;Mȿ!EkjoAUՒ}y:p*G aQ:D*c~'CZV iR"ع:ޯv.~ZxQ;/1WJOtBI77gZGQ"UbpZZHcz9}C|S#OR?HHw0{c'Z\{6_GҐPJj'!枎? ,Ns{<$}O= 3`7+_x"d'K |臘D ['$Zxj $ ~i""ݤQ~rW)J?fYrk$Fb?)rA&4Cu [y q#{'lLU~L)*In1%h1Al@W=ssPB!V9Ζ7.95l,JKh00˓CQCIWxBHx'$iOno>|wouG#kBNlV9:" L fuD9qIAJ|\2Cˎz9!t.̱*ؕrk 6x4N} vSH1w:Q_z/΀fB$6ӣݸIUsP߳ `Ujj>ѣQDNs$rIFT,xNbٲL$$_䉋DVX@t3l`iM!JjmrRkKʤ 2t]A:JPj"p/_,A7 P~^ S*nbtIU(ܪӴ<_̐m8 3ɴd$0@\yYoUww>?ڝSBgiC$Ь T5ۛ3ނyr= Q4@ۛ tKXH9%_cdRaFgX0wPLH1Y+);X!: 0)-縌~ gRk bnS@-hpU"\ *D/9[I3N;a+:)z9]HxR+>,Lfy5Ȣ*C0vtP>>?!}}ڙ!oKZXX#-/8Z0Isӓ5~o;`*8UJZhݶ&dG3e* !C{qjCd߭bKmIy$`3myԳ9!61 77߫ErFք w\b?dq^ʟM",iv%0˟IXpLkD ŧӷ]&p=273s4@fxe\KRlxƦB(4Ӵ.B'm,kb C>@ d- ͜М֔9±|D tO|3С*jBɃ4YD$rԉ̈́L6ECiC\{k;qH`t/Omz<ʙthOQ޺O\Hi+^0dvٕrP1 'ʽBC3pڵl֌γMN>J-Q^:X$aGEV}My!K]li4X/=N I (kN)#)/b 8nrjw-TbJ}`8p43`M\03xu»Z6KY0EC#c@trǑbOhZXL1HvA®1LX,N3 ]z/klXr6:J3iM9uT6SU$/IWU-Qѝh 0ˊ >q7Ha l˳Bi!erеA'D**pt=T۸ל S;t }6'"~|r45гx Eh q%bB YV+ts\4MWHrKy;@"jQ݁9`; t:rWJa)%[Y<LOܙ3<-wvD\ ɊA` VH32VC|‘q4ysp{p֫.,\!D)4i(nB _?NJ:.wi2/ĮYmǦ1ܳTˎӘFs-p1LxC"QB񭢓\QZꤛ16N%"u{=8XE>\n]L|mG (CVk4 4n$]Úz3Țڪ$~.r2~ؐe\B{6!2sYCb_?XWf`I<o?2?J5d/̇$tA(w' +@t76!wEoE,OyD>ζd]sb1ަiR^ xγ.>`F4OY"}=@ ȇr:j?bEr̦F|܇Wf5C6S柱NZLq6NwXbMvB(1 '1p6!ya屬S}8{rʳ6 )cBӼNzy"Sf mVǶuH.cW6kH)jd% . OcpF pk!˻CYtj_ls?u%=ͳO{ ,B&B zV_tpdXTp9\ӰnfU "MޯwehSn6gI$(rtn Vxx&HnRc`",F4?a3D(6P@݇-8a/Ǫ~NŎP߰'duP`sǁMȽT\R T47^xXptF;vyOfCMCaN,0<0҂u,%4ST8G),>b Z'o"R09waO@>娶"H00|I&(ߐ[r]qN%ăADJ2?)*]=vǷܤԿdCol!ZuL?ʻbYō rZ4qŜL\mWP8a_=q2vXTvfy_ ]"ΏD9]SG I`L|' ZSzy%:OGw+?'18+bcT`s^o2Bka}k lKiB;m! pmRϬ, Т DM$)X\ d;VY3;+[FfƢuţ$JyMX,YXq|5$oCe{BlSa“D+}FK5E^8,rS)+U>0IuP6S׷ˊFhwQTWc:uPנ>A1 v+IFRguib2Q ]U6yZyׂ* 18Ǟ1.} oT5cxcK*Vi RN{eBsâŝJg`S"ؖsXNe;Rz R]p (7Ҝ앯]xV_#0eFDL;ٟ,@e|oAS<87tcNP#m }1a} ,}-8܋xmd c'pZ8cOX-Rl__6$]E+)Q5mL cNq0aq b^' sld@w4:&,c.ֻ.HswfK=AxF-`JZXsZm]`R0*0${T:j ]́r"wv Bhr:tMZZR삥+E8z1fgU?;k \^n5 8F)!LslxJ,Ce~M?W(ü!;6CvxZ1\kI!#c102Njt,uqG"md'4kKd`CIWh{E%PA~ԉj,I☹hТf?ZFH9Ff*/V!c:D KE|G`|3i3t87Y"KT%[i uA9jcC.<_c5 NGC9rע4#aK<  Y;/zG;V$f,ojNx gr⪻:YjR>) %! mOwQRs .-%Ks8EMtOJ\FtS\:5 Ǿn#8tCȒ;c); >U& M:ѾAwOB5W"VH_iDVJxSEb@}S04T"c%j8 w_ۏ~k gA{:#n{4lZ"1nO$XvkuƩVrKdQ;*sM\kNigS?P3/SG1nkG֜R-ͮ+LD0嵡[Bu+'͊^hCŞZua}nNאh+~RHּz:!\&9QPV%+š3`S di,bл.ek8ŏ@GSXh:Cba3/-C&yɛ+,nKU<_ҵX!} OIli\@xLJH RЧs g &o7EmٺAa8'Zэ.+E٧y!qn\ ى:Md -}4+X,D1ryL5BoHń.sf>X 8KMKF^m5/ Qvd>kuboo.$c` ad Q˲,D7I"љr Ϳ"K73VAw-rC_IwC(W8FW94X3W[g6ƪJR,ccI wB0Ӌ&0#{OIN%UυA,+9#pop74NЖw u-P m>/I;4ZEaa4U `wՓ9#w.SePmFwlPQd󃂗zN|(zş¯AaȨ]&D_>sMN 8SVqOjdyבYќ?ȋ_4I E80P3wgRJWۣ5!h f:чݕ9[Q~QٟB%ژre$zJ7tcLt¦vł,uJB3 x}A}>=vÀ.oy~b"2ڕ7+hM)/W% Ob TjVB2= B}E*62.ݹǿJ4rv) A{ 0̀触XD!-~0ښZ(e!|1U'b6 SZ;-,pjXB_:P"Jp{-+VĽi7wU3L~+#oOxc'sL瘁[,≝eQQɚ[G)Ͷi!kHO&m⹪aJ^6]E9[K[iO3Z3X4L# cx0jܙTSu 9y4BC ]ǯ{w];Sb;fb. !4w0 !=*x}BR s*Sb!x˦ -eF Ӝ?!I対<Cm Lez #ﲜLVUiANŃҐޛ6)%i%4B "0ʗ*j!^xkwYoڲr7B*@s;WXk_/fNe60(ܺT9 ֔;Q&q h`AjসTF nWV[8-a4WӬ/ ӡWL$m|)ԖCV"(4bb5qckj:p$!lF-W^J fueB'\PdoysM.h-QrWtNД㍯ge\G,nVoҊ'XCmh A?t;UMC [Qj5EJ),gK2ʋГoBa*_7fqR~GO({ 0 ^D4"Q?Z_LsXo:E&54!pAfb$OhR yQQW&w(a.8cje2*г"_G (uX'쒜U]^J3,5/^h=+%j#{Al b8jbE ZKs}YP < sc}B~Hw2<>/&71R>.4(}RҴ=?i(7ߵ,AU8?5l|hps80º1I!] K )T kX8}sh_;Zٹ\J"|7dx ,y66Ӱ{J"h 8/Sm'U R\,7C:{L)7nZg73 H>.V9ӛ̘ٳu]_Ĝœ|L!q5i]aS^_zpXnv'ڼ`hhmA&J"M\~c_j5Nr6݅!UFJ7be-mE+ѼXc+k#!A ɧLh<WHHe>gݩC/5 6wE@c?)9nQد1'DAs.U)cm.1 _pd:y#yZڔa߈eO-܄qf ;@b,Ҁ9w^;|u}mXjvngV +SĄ_tx*KqLd V=4I|U$=ۅ9Q Mf/%[}=gr4+ <:9flܰJ*];8Fo _Iז=Pc3wNҬN6,laA+}emհb ƙve+Dt\ɘ|1\ϟ(~>V-^9 4X1FS:qtR B;|oYf5+0m4"=UCYؑo"Qf|$oy-廓Z joْa=A?I;ƪ!q Gf2ԱJ–r)a|\H(ƑA6&ډ>.ѿ۬j\Dʑtg鳯x: >s+ȭi?#fEY:>%ؾkT1U£ț|lI:鈇}O =g <0r3;Y9,@'y2[tY%CwX^*`G*V[o%)6ןϝњ4ȰNukם6R`+}B*fək=@Zl!(D+WyKlEs6Hq,(:3ÂNЮOzd~0GXn^<$n^ЭSNv>C]l\JTrT-pseƄKzyYJYz] -\# e~|_]0D:a8TcdFc.c~= R tDa<Iߴ_rÈ7y4|ֻDwHv.uk[J2b38FaS>ǹxPQX\%zdgABUa`z:`xclI њ9г4 edQn-m#Uvj4*A (g_7PrH$QB}~թGh O55S[Ҡ[I7^Ě&bƵEt`tmpV K,1%FٓmGNJ\]U;Gw5ZʀjiY[=GypM Ftʓ)i. slu3_C=Fe|a]x>Jf]OH7?^9po}>5%e4IU ւΐ ^S "&$Lm6dV= uJ2{fQz-Uh eèhF*DoN{ |,\>!(_cFX:|ׅe-U9#8x6l[i\>ء( wMHtrR@Ey]T/d˂z u鼏rr5f&\--]?AA#eRŀtEA' lR?7h}Y+5JeNpS;I{?ʮq:dҚK/+Ge x1\\۟QegF9<'*CVއ9vWC<M;yз  |NjPKTY:~2;R8\m;eCQp>?}7v2 :/YegjwtdQBCÛ+xS?5r{bJ}oΦ| 5q|Mv~#xFG>+Γh\pG!1G4LUOs{Lqj,VOGb^UN6Vj!{Cg7' K!m fyU-ˠX \V"U6 }`BEm] BvJOk9zP>Ҍ >% AH6P֟]gjaɻbwoLƤp0Ml; u5NG#~o x.cnieyx=X[̅^4T@`fZU(^YmBN'ğd\~\cOk 2Pf3~NQ3l_!Nγ|78AUr R\OH:Đ}ݦI(KR- M2/ 3aϮ;m7`gYF QG=\֝Ϩ^;;^AwJcпP7-I3`;ok%"n rvhD@9!LG1%S_{ڤ>p]̓KN:VQ:v R~q  mj9#ٷ6meqK8FۊƟ fOE6s^i(Lw@+} ?䂇jN6ÊE/2 ^nAڹכ'ZIx|{]4Ja2*VB3\"vIڨR-oIvAс6ܟ.aO aU Qޮ?i=X(@?[dW7G*ۧ xrg2MEg- t6As ~KT|]Q+6$3`A;[_`ֱB;i1",jl ShrO0)%=Nr6W`97&TGLD Z#fOMP5fn݆%qIJQpftl|ѕ"܅ʰE~5@_kB<7?@"'k(F8 Z'+W=,qT)=eK ѿ?\gS:j{\ @ӎ6S}/HG\9~EihPq pW?D72f:pYŠlzg0BFtKJO# g.3&ϓDJѨH=ؾPm-J[{!K%BB>(TzpED}qg" z"&jc4>$^uRDjTL8 ];eǬ%"u[yu6 ي8º87zRmLLqK'nMhM`>[5-S6h23MFpg+-&T4\:? YCq$1!}&4<8s2Oyծnjl55۞Aw8]+QplW:6ؖJpVsP^Ӝ~|*l1DHRlL^p,ty8WUp8-WdAz@#qAƩ+yړmTrϏ"Ȁeul/Qc0#-P5/gv00'kgVFz]Mj`#VмP(I3x,BH֪ys1eԆVY@qV!I$bG4` 3cG,]q^%|Bx!`*٧=gwjN§+4O0@ %,NNU䜹2G>L?T0ˁ$*5!Vd3zug%edJZr:EXw([hˏ" Tj㱿HC@*KeEUm%y0ũzwuX$_qkv}XEz.%+MEmJbZF~棄yq2Le:\!e->wswI pcSaw*OLW=A%&%=е:˞T:$Y[jhD0 PS8 qA#%VW9Fݠ%oAķ7gsB #-{֔y[C5=&C\u/ILh 5jWClF]`3, q)NZiLSK+fؕ'b\u'4*e6zӐQ49*(QzEuxTc{HS-ְ*H[Q{An-Mm`VhHSo*Tܕv/aYg\pOuPdNfc ,Eޯ{ ܕ%Qk'j)0ERpF|?霉?LgO)At+{I?{1$VT5Z̺uxŊ "$OMA۰K$MY[0=NwY/lܫk梌W޸W_>4 sla%T꒎̮c:4ޜw@^ݞ4C܌VmطkںMUXt4=OqbL/09@,w9x[ 93giO&g dZBEH湆GҊ6$`dIjsj1W$# zA^[tHt@xT&Fq*)VZu;kXL6N`bЗJ擀5׌F7z 橀]nE1yT񭫥k:?āT]Xoªsjl). =o;g0!/>YHz+22̐yU$C4zaF#KV}&K"w4b< H Vv:4f ~H %c"ZA&%S#/Exo3? ' RMQ~:)Sfy~bfF"" iǨE(Z+#WhI&A6T UtmGP:E.[V\ veܢ/U]~oH@(92Sģ_KC|zufU6};'04g@z'J^1r_Bvq}Z'SW!25r>{)lnRup]WAHP,"" R>M{b{緮darLh q1' cxڶf # aundi7[/]$Y2egISS-æd {M.۪z0LeGYIZ ೦<3"ml-\|oV*)].YerIGl]C ?dv`|Q<.cIS^~/SKl綯 |5q;-/t9⫺ryu\Y[D;=`Ѓ9]=!lݏ{.H7>H3F4I*!5ZVh! `gRY3)Tz-W@$t0~PrcrpdI $%L̉-"9F ҂G4Y`PRε aI*$~\W aѵc;A}9IC[A!DG™B &ңk t2IA0֪b4uVeG^uSGj4VV'fF5[w(ָ Bg}ZXܫ ?UiKa̤?-+ҡ~UuEӗV{ԧ]e\ję߅ٻкYfvhkKyRQ˹=+/K8:3 3t>np)Z;|_25\޶:NJ|y|䄷ӯdxD(pω~Ճ⵮9͉O +LI_DOјH0k 7зHЁ"ITp= EhZFb\C$P&cZеIA`ro Bz#B3Uk3+ߕX5_Z:SwX9#,1drϓNwh@BcLvK532[ FrЌ ^Cɟ,-Xt(b?Y@'Bڱmޙ3N!]3]BWJt֙!gb\] "H>pg^Y z0(m\ʇ< X%g{Yi>-뤦KDi66Y( )SRDNC俪)[J:-]*O"EQe?t2_VD0?Xl;lhK7!ZP\}$ZnzѬiV|hZ~`k)? kff}zw/5a\蓄!.&l6K`&$m:^|݈ ޞ:N5a|Nkuo(k\"ɵ^|7^xchw+?%x,b}ҔUc*ac rQ.C3$ :C/@ UvOCȮ .ZX QɃ%I}jȗ2vz@j $WŁ/A^Q ok-d8ڡDn>dAѫ(Zmj閺6s2 /Y\$`c: `3xτ,  ΉemC|8Ӵ HHӦ<:Zz4:Zz6 >] +wN*&%+ v 2}@AysS}Kzao"yql!мChɎQ <3~5x.~CCSѮOt !BzH=fkv]` NhVۚzu/>ỹ׈4Жso@yhgC/qα'G{ĭ47N{hҍ-V^GEۂzAo}5?mU'`&B  U=d8&b'1 l4W:TTVd|X/bB"W:t06۶o/Ns7t$J1PM%h.5;`/{}eXY5:C%k",;eq镘 ܳQh8.*/B4~1(EuP:A (cCJ--F1+qU"YIgRJzz"qkͱ!VA!eF,FDD[c+.v)pR;f Lۊ lF>~*ab.2|4{X}ӓrn: i8ԽΩzD-TAHYSq( EeP}G@U9wrGl$6O`ZU!s@1CpO毈 O<&b.~1d!5@u;>C '!.Vy_-sA+ @ɲ n/rwgPsi XCqv OJ as!8We-*\ouKG}\\;\45 `π&IeA߭uD0!,`Su6?bMr|)qN WԅlHxo yډz_ fcӤ/`\kO IJOBW׾&(\[ iLOT|qP9(1R;fF~ˏz3cTl,! \ (\|up4Wl7T$(ӣ "l%p+WT= u d-0GY,话08ي=6G8zĵE4ajy ]Hd{kfL{ʘFQ2ؑL~5 l~~jD1YuBҷX蔲b.:RǻKQ3r}`_L:Ch y6"wHdv YaTX< rPYos[E FN >$ (z@6NxLz׫S75Mz"ԄM%.&|Ivkv; yF2h=KXtFWEܥgJ~Cފ6Snh)s 5J=@Zk\M<0! GEN:nS^rn,@5I=K dتl#oΰNGD\LCI:|a\)#ʕnd`m]ds JON2>z`U]xxV#[wϔ6TQaKI"u<$Ŏu˶Lѷ,4pQڞ3'<4YR&j,)KTRt D_#iaa[,Ng棔Q²5=-1/D KҎ|5;De/jbUlpv>{>Du}mvJ-aIUgw%XBgqZ@crF5Q>~>:)pȉ%WkZ}Jc Ir>@ {oߦUQ E AYkfJVMo\QwDhJc `KWSLb􊋅Jpf-*u_) [%2]".8Ȟgo>p(XI'3&(߈5) 릊 dh" X/ȐyLv)R6oidL51eN'^Fe cZgŻQ_s~ԟA\k"Dm\ nhS7x7f%셭08sB;,Oy E/`_gɀX2 neH%铋kN`t \Jc *&_)bmNiUߠ0WqfzCu!%C_xڄ#rZPko[c皬6=Xt8~W@ 6BV@Z" 2UK\xxm›[bǏVcw#L0ˇ mS;Tԑ.c99ܓML'=fBj2Fw[9޴^yCtƿbpiwAzxXd%Mo #<EtۦD]ED۟}ALZX9stљ֝n4iKgˢz-Cݮth &BR U%g?c08PV脁}! KÒ@5>8*"w3gHe9uF_(7^wθNGR o9A4tUgP s캍Әo:- Ϗh= WYbOjvȫ0bt^6sB; KJ'3T$(ɢtӂ+lCIS;Ԗa'[;Z*NruH5B~} 6%jx:{4Z4@+~u I"7%M$a0_o#qQ;SB<糄9Ry}*V[a`X1Vn:oP6Z_z$ET޷_pZZ;Lh]&k <܈ʤbH cM ^!s$zJ xeNxUbA6{ Mt~uQrhdsbny[R@ `TuRm fLe~rXI׷ aێ@CvGqu ׯ\7Rh!<G'-#Igy0)ۛ,LX5ǒu*ħt7VRKLMi|KBxicpNYt>A ]ЫP[.oAe-.|} jnS|V8?,*PDl+SۂX K?~D!̊:l = ǔ/ȣf9y-hVq%v?,&iHAGV[ jX;:ג6T@  [Uj|MjTh޼pK~F٩.Z~ΔvZ򺉽JIT_ kabqᰮ xWFьI>0/g8 9ԃL5HIy^"YQTULS`br^ F&h3*~N'pΡap*ߗd9`..MxYӚA,Gmgy%m6VGKkovLj7 WovZU9اΫ(cf>2,xP<( aVy;V;&n{^-~S+ܕ}L"`l+9LZ ׅ}ilf&XGeQT~qjHo*q()t x0mޮ{FiQ[\A뼺>7X.Ȍv8k|a$;Ľ9kL4)&= {*E.~h M 60.s3ƃ'uձܭj p FcX8EkXviHdr3^WrLrR[~k4N-AՒgrFJe҈3Uz:gZT l2m,JWhn Uz=ʇKӱTu(7cؤlHJo8{T6|= f1J\`[b8Ow\O,qh]w=菅 Yb4!"$rbߋ3wˁ ,xv0IEC-cL=g˿#z)ƬXpN\FaFzbEBDJ3M5&}!/]&+hjMԏj9$:#̽aH?R_8| - hD[C%A6akW ,oo8y|z w$SoNh߃9m:C '4oh*]4הڎ86lH}~+O'vPN~@򸺒*u񂬼N5rBίoQ{Ffq>NZBtzr{zο/Q6]cuPIMk)TAFss=[D$ Pe̮o=q'!כұMk3v; ppyHX/Ӓ:Tcd|nɜHЈxfl H9 |Gow&3E45w'1E< qUtH-ۂ\ܹMo {lobeqƐӶbªV'{聻@& =^[⪀vp^9u#.&ѕwy_:_4) lbݲ'ɍ*,<(:~M EȋL/{w8Ūj>J@ʳNFP4kCRux(Q?c{0߃ޓk?Ul7cVpڤ N@-aX:W>^=#@ 1Gp^Q,ԉ{"plC~*G yhY'K`cB cҠ;Aހ서"64(:#vun b(.a)A oܯlW)@/kByWSEBh:Ĝi(bU唅6)&{QЃLj mŇQ\,[T}]㿺]yu8BFUJxVypl3]/W}hFՇ7FnvJt5%~؇ʳA冦st2E_C:hNNqMdm΀Խ#dzI&FuRCb AlCe|9CJ$=]j5Gh~n4!HaBXESΏD,,5z|<%[Exe`%b 4'K.77y(2>`5ۧpNP.lFL씋Է]|܊Ij|G[ Yr{kHGNo 9ݩlrϿe;"T*smdb?]&/͡f,@<0cթ)\Pꤒ ާkc~~mV0|\s"zbta eG2Litܣ_Jh} C>i $XRa(\:KħHzv5dy2Lkߡ1gh DpmkKMkq yro4dJX(de/rBvDܔM/!̰_}ߨ^ܾN;{ ہ%_}Xd"9\:B|q9xE.ܗ|}Mƿ wYPjDH/Vd_;e&x(kMɭY^^ǘގI-"npG@L߹H1N׵iCzN7l⣟ ֲmp\Ɠ"o[ʖWb{cb PI׻*RfFϢnr^s<8Ag4L뇻2M^FLϋ%| |[k:T䠹.Soᘗe%_H~̃tRוx]}m͜I "NY-|!6t?Ǧ=FAN&4urY}A 濲8$eU).=\L .VD0tӪg{ 2= &G{+R)#CFW&Sp%@*ʸDE@u 6 pK(`0}#hbI)IdO@ !nGN]3 ]QsOZ*0]˕ |lResV}W[/Nj$nhNamEPs 4ȫ!ORh9"NX-Oee`.LV4 9y ;o#c+kgA0]z{7lBnߓy-@ǢR93}ә(ۣ<<6G968!&c9 \Tg#9ahޔ mZ>dG1_'JO,z, f|h "9w)ی6YD\B7m F46hpp%h嫛܀#r!'Tmo!QbTqXj^iCgJK?Fv0ڜ_uBxWrlD+4@)fMeHbqO"ޡ~\cy( F]) ޭӇa_Hݎ , Iә:Vy x@AX0@B@Fzl7_qzEB!jEfrkY+[ 8cm?W4j 2a, jvx,vgaWLL4X 2=sDڝr H(( Mu(&AKbGp}e!$-f%=w8Y@ƜBnj'*ILD7T~vg؏Vtܤch/*jfm;Mf!PIXLG_#cW63eB2f,*<錆껭b^j'1fO Puh7ElN)gdm13W\lf*ͳ*GJjt*k S!nz[۸kss̨4 1b]ߖ{hwq8ytJH$v>q\ђ3j 8"N,EcjFPHBCO5쟝^ǯp7&yq'iQ`~6Rou4 1z&RCj>:ݣ으T~qjdXKzdNxr%!᛼C9W b]Ȥ% ,b"uVޣ]`>Lc铍#@)e|C@zG`&1B4G+@O0$2.OqV[<ߴ¨H _)*es.=G9 2Ϥӫymk 궂DNgW/N'LjK``5# OeuQoD8sL[, ن+h<^ʽ*H->.-pFFHr'!uEߒmhJ=Cљn}<:v MU}X数,ry^֛Sh*;GifX簠m$`lQ ;wX-ɹ:3T1;Ne$D~NԾUfsw|cO啊>cUe9_wr L`0`hz|"6ihH3WZC#dPB{Vscru)k XBd@ԗ FcdY agVW&]ƍhł+^gW"jf3o<RQ6eϕby}4 hŻ!}&SS>H^pȗz$KB l3C$88Q+w5 u`!bfD-->'1!QnO{$dHR1 ^&&Fk*Vei|n,o,4"(ϳ]X%MqDȇkoTV/t;QvkH%#PE[ p]BS8>o M 4a/}4 7 c'<]Hɷ;pid PvlHS)+9r/2 @ī~6 B8ڪN\VgQ- NR 5X\-`0ݴ(`SdHC=^ePI}C㢷ʹdkŚ7B|?Yf9 && wnz[F,Hhϩ:~؍\` ;duLt:V!fu)x.y@y%GW)}1rMB#wkg: CW姭k2w -s;$DP7.SG`6wBjcS!V秋̢$q4vtt0S09+ԝkQ`D@35B7YhD½8sdN{ A)z5[{A[)e&)Kњ;p*L$#[x"G-+ [P+X[a !JNCW.DY'A#.9}n}4cc ܄rOy1b6CMK_hpޣ8]g>%JncFI 2v ;!G~铙|~*)Q#cxԊ\K͘ZE3]((V43=ҋV>p&pqQjy*ɇ4+P @>*ᩖGEfJe/zFIjAn, ޭHqyIe=7(F?Ea.4KRHC>P'e/ȟ(H L)L/RI#Y8"EŬRNۊ.K ŋ=ND˦YBVw:>[X,N2vVV9Pu4q]7ފ.5PG0Y/mcŘΙaTpSϓ!޷0ǖ5g 62:cN@pB_{I.$0Q!|Cq&z+ǣ5cNU"'D.Lwn7N'fjj[P᲏)H?# I :EY0ܜ_:.l+p"PlA-uCոEJGACܔ,a_[Ew}'i W fѸvO}q #7~]`}X8g\ќ.jiU]Nܸ=y#2kSئorUS}4G)kaoU$wMZ$#㲽Sh)n'*DN@ڂx"U#һOL9KnK-T= F(?lU?vDMa؅*B9җ M烞;JKlcnⱿ 1qQg/t(tuF!p3h̚j]m cvxJnK &** Jc"U@787le墙zG"?xץ l=6L kN[yR{nmMPB_^ Yoc>p'QGL&peRCJ5\4:]0~Z̲&')a6t2cN,H8t@#<,5˹^Duɻvb^g.֕FG-n_ )nx+*#-ET G$mY󵍙9q`΃,R.ÙXA\J1Om8 y#!ar+w_S7,o(K =<]44Ɏ ,Ꙍ}gc5=ZPj?K2qiJq`ٚ͂6g2OM&鄲kuiIqh*Hk)0( Ȉ^'4sw(:&K@y{ԗG9/ғ&5!,#_lQXݙei~j@t;Mm"=Ú?1z(jN%Z]`Ȍ[|F47EDu.Ͷ'](! > #Nh(z5$ 8sb}m$gm=Z4\˧ Sz'vRs:)aA:"+oPʦDs6u*Z5od{"d1C[1R \ *6"hñP9^{QU%)&Zӽ2{Twd0v; O9TPG[J5Q$]X鄷L _)LyئVifUL{X|Q&7/n`E-0@Ssv\%&\{\ЋZJۢA~JŬ5{/x$U! _}]11 Hr8l0ݡ%X|m0%^kw5Dϗ[=rg^= H?MCHi$ˢAEM@56x6/B?}&<#=^DTL%l)# ٓz@)]rcFv^zws 0k vԡ4zD-蕏2ov^?:z6ƿVF#ЁPj xrݕNqB3) !h؋]Zm%rj>Bjf7]Ǽ<؞$Q Gpi5WD|} N隦$0d;/3_ Y).К+`R{T07ĕ` |iIVG ,D@ArBVi>g(IR.; An rIE45=Gao$ՔV^H(d2lvk.ȗ ,TtHcȒW\'d c Soy<`3G)5Ng}U 5@G)%c=-=61JdG|Q*$F]bX"43VBT2 (v6 Kۦ.ʳ#eFt38{`eA9%ּ #&zsT#C% ء˄<"}֛hJ̇j&,FYHJʐKE6 Ht8>.w*Y[qBvir̂oqVx*.u&-6G{wHiU9$u~:Ip(,m_A(/ɻʲcsNT߂}(v3\;Xv3^%7;OBESBO QQ )csR|7H7#BV(SQ! $OwUK) [QY$^U[608* 1J'nmf"vw7zI(<9Kj=&D:HVeL/{vRaƺ_ԝpV"ҒƵ}\[f eˍ]VspXFNz KeKkK= 述]%uC.]| R;x~4 [BMT}%,(q bjNk;qU;ѢJcW֜%2ɟ-.7B&tod.% s!K([&Rl1"?hnNw]|z_9ELfk,xO*:i"Z[D /k-o;Z[2Z>=RJ326t^4m))vv:qfPiW^b0HG1hPHbN0R{ LDQąO,{rѭ3W(}?xKm`B[Էqq"9f3B,leiatnuy۩o)lp3Iw|9$uoCnJ[rIHDcp˓Iq|$zߩ Ĕ?i@C 7Mx؋Yo EpH¹Ee+Df$ŘN?O 3zG-e2)gOXQ\#h܃";lM9lhAƚXA@!9Z KD b81v"h4jUj2!1R}҅!/v=bA`SfԨw~~秝EZ2JZ}<&2M1Ov j+,\2 %'U(J+^nI-Z%kDiT'I+WebT`N97jn\dQEc,rЕg3xg>^3|_ih'ѽЦ{k;ᦂ, JZfg/NP сDS?;VC5pG7ef^ k=3|#Nj~^팷GhV<( D7 ਱kY 2̬UZ;n}YhF]jm4Q@x#;*xh\ X!.Vj:'[&9ag4rIY^eOA`Iq՚G. be*iV ͙LoV>Dt \ X~ɯ}3ݴC?Κjdl6& -BV 11J@oA<3#}vY :w̙L[8q/ϳdmq[' @yv|>+ B V? (#ACͪqdioh7inC<vCNajc[ۻecL%Tdr>0'\;SZd!|o>.0rx7upăc sj#)Yx1–YE+ߜ=Zt6mD:x`0$ ju7ދg˼biߚ:>- υz/-vD?*57*\*ٟ>jwRs >+Z P`2zB^n̉կPFzjٔ4  m}"]0pnMwߤDpw@#IP Hs_C\0ZM9hѱoZ:,qpGڎV(Yφt`}s4.(5bǦs.SE5ưO#6&5u \C[J]{]7V5oCZ4=[ ycX=99Ь2z7Xhxl+ :KȻ׃+$/mui\fhQ=ȃœ-_@sd'`@\—x&axہr)HHa#x͂ry~2EXe4c]ιIע$,M9zG$֟ǀiE\adH_V6R4c#zz}Nzޖ= )h`NUs݁ZM$w(REpw Bwj"n91O픪Rv$ա-߳:n/$ Suf&U,*G OV2EvrZI&M.n]y"U}JFQfڟw0U&>^S\f %@u7ơ&D: 6\FaUnLEƿ*u=ج nY3*_ӣ{:6+ i>\ z.P=HGhΈfˆ EEĄXh2ta2gF*Z\|OpS{sǗ=iO,\zLr ̀o109zbꋪfm\tTot}ȑ+BHw+ZSMT:"%_oE{Mmk <#ܫ X> !)Z||Lm݃WR(X\N5xԙ"2 {#xob06Ӹ%I<;,vJ覤l}.qq8UrS~WIvl e*Ȋb;ALω֦*HC8 ޮ%Ʃzq CHgI@raKʋiz0X NҶ^uO ]Mq[I|dBl_N#(bh;W!m- 4yL(n]㙜#"zRCQHzOT_ <6f8SJ|gu+)fDgR{Oy=Yj &Ӭљ0dNvh!TG5'J׊i ݄TH(+mvϕ f#ImsNӨzif]tۂQS6p LsNs'^(3RXS? {f.ΝȌc¨'U SMS=3-pG7Px4`VYM;šAYLv|V>B߸i"NCHc\pxbYEqڇD9)Ȏ$]JQNrg,z@MeĊӮni~-js@Ӿᒯ=c\u/)1g4N0k̕/S| hF\;].E(MzX%OͰy:d7Taw_tNhXy])@#ݭ 9嘈ɆIJ52C 竴lu4b C222v\@uhd|Jު0ƊS`<∡6daP( AW &ro7buh&vsq`;lA\؋vhr`DŽ`k Ql~I3C3}8yǨK]NBEi*-@L[6Y=+%O[H@H̵icP~4>m ݶo9-3J1k#]UcFj5*dΖaRoT>f[UUk:Pj]ڝQ#afq ӁH+WDްCھ̕P1M9x=G[4R=|73}d@>  P(ǑOIrY/AYe;%QHI҈0 _WRK%91,(%H [;Q5bu-70KӦl ɥu()g#0EAݐb'A]j<wUBbjK2 f悋=YƟi%Wtڅ6xVEaJZnR׾V(SUU3ؒ J@-WuRеO9vk_=壟%evb|CkWVA+0tԈ:/h |FР*9uD]Ybkpz#/Ohr#G}U m~D&5w~K qyeAEm /Zt)>"$۷{XG)r0e{"5)Jz,$D:zqcGVz-Bt@쐗x5SE/MQe?~I3cy-4͝Ɠ~; kp% .*\J@D!*1)5枅Ժk &qr,<>K6=:!#рQ6m~}M/Jޭ~Lj`nHj_,9nFd!R>tŢtM1ƨvU. șI#U6 UǼB8&zA s3oTy%Q44)r-.:kOU6o6>pD^9-e>6UQU2ˌٱnقqǙs7#2rlYIq3s=L?Q>h{PDbc#^^U~t6̊ 7s伍"?NLSm(tsỹrbu(Xhg2KK{;Gn|{}ۤ\8xgWc XpIfHTSkKb|,GR.)iF=HQI)7azKK/INQd?;SCC:)B$;4`T-Zj/!p{E5M{s\b+ao}r_pT.{jO1K [A'z0'(^$Wr8Z m*ZCQ]JވH~> [!ȓ4-m<*yә@N3ư:8?a/7( 8U=<~m4CsTiن[5&Tsؑ`G ݁ U5NHU7 A32#gy;~7 ݙ02Nj[ #453p4z4#N=A%Uw@h7 /Q7, #|!| rH3Q=^ߍ 8ݵ띡W+3n}r1f|!T+"w Hx)WQRxJ/zJaz h͇ ZJqc`OG!d^ A?Ƙ*s#AV;&F,?ut)ıGc풢@yXŬ ~[k:,!䭶 D@k՝Yq0 Uv笖3Q(ZZ.73LS܊6g͡-u ~9G/0Z#.mwn!ωwN {DACzpUk=Djǜlc@NYR$sC*6R(>IMk?;5n_oGK'+$eHOY0xG.n&(;?W]ڳ";H}.^zSS_LOM2Bx0<[j2\(%@s hrx/LAGW@sCuͥȭ]"-] VHl_F*ԁ(1z֔ADK-h/8sfi\?x*(߸@&fʡKfq<%v8̊0PKl`Vno-kv('QrA' E xeT =mHߏ}P5v;QiڌIi."^!KU 1cwf`f qp%V7z|A) l♎W˸Ҟuot C'9''x-N'w^lchjpEWe ]9cDm-ITݴ`L)ݩ2'”482[]KdOEZ$hGf?=+W -WrV?4G ܸ+IDg0UʀoN EEFY5'sb@1z`XAZGiU`gFD9_#} 4P_e5=JP ̏`ݓ.E> ó܊6?Cj YBdˌ\XkAJ94]ev(~weLWOu8 dZN3ۊ=Ƽb,E Զ.-܆JsjÍP5,'6 N"@yEJ~|J,bvkDqM|D9S5zC!];C!9sݝы9'_ZT>órt!IZ -PgN`[>xy_ l>hgX3LϯHL LgkV/fjQ2~%Hp@G` ҁ琗nrc'kw.=2(o;ǴE`v;nZ1Sǣ4suA6UFfxN?4ayѭb' -hs4 T4uU4N}MCQ<1z >:F4ɵV)ѩ\%4@VgD~1chVoLℙM5=E?˹LAd,KEN/k( d~Ƿbr6(Oh0>pSWWEu\8em@aEPIq@C%VU5N@CE$"_" [wAQB>WK <֔=~S[5i]/9x \Lo"aoI@l2ɲѷ$*rlrk>A&xrC k#4n+ =1<;egT:^>eADG3u(wvDVBϭ&JΗ I㻪 h91]OMiz"w4h%_ ;w!ގv _ VFo'a(B%,_ lr `)#oL2<9Xv\S`֫6= nNϭꑿ"5R55*S[`=t}{)J)q_5(?x.Cn:4eg_'F¡H~{ↄV8z=nWkz0Kkk'9%NS]R4xT=0 UhGYY,6M"EiMJ,Av=IU춧Ȧy8 *.bZKe+͏`qXnG6\ɢZ2u(gd8* ;RE8lo޻BJ,+\_YM =|c BDQEG)kO>0񗭠;/,n7&}O?@^JA VQ'iaf`x11Hck(p0HA&뀹htM **>cAznQb9\uru@c1,HP{d ΙCvpXSQRijYWqϣW-1Js ߃,m0CeLV RPnfԊ.9qP%1MWп93a*.su6PFR`U{J5vFթ*8bzQ|G=~@8;#Gٳ0~yX2cNsLod?w0u$&tg̷?*OvV~ګ\ݜjO^}'9ʥ}}x`HOћͰIB`r>l俟It~ Kd au̙'tZ97 ф;WFE%Ã]4[rsa+Aې6>2*xm7681<~P5^D5őODS6P&h*ڻuo-Y޿%". s;|{wӓyY:Fpc1ŐG8r c^oGgeD┞TVYgsӧBN 3+VYZaC:ǁFD|[ۅ`6<3=Tba/BXhUld6'VUSXfT:bX|x"_o:F);|kzR#09$7Zӏr%/&o/Y\'78 2U ߕ8}@~k}pюrkAOeIKsl;,۽1ߜ8qQI8oxOo>r?"gg%sN2x(RY?XGZUX˷וD{=1{b9I04`w<VJ}" "/4k(#ç2xC>P^V. s Rb֠~h1F^bOj݆܍{ xzJeF8ƖS Va7ݧfSg~ ) i4'[fz')+G(A&WloWfm 0[(}FV </JwAtph"KNã+1d o "n# $kB18Nq8ӓ)'6e~]#c-P#'B$aS3Ũj gLuʇ|zQƊ3J|bpүbJN*XΓ#>ŃĝuyU[JՑZ DO?뤏`< tf(ReЄy|iϬ4]ؿ)&UCs}Ú3T{zZItOKyKszʝL`QC#sŢd8:F Jߔ#I4 WS}XNڠNL ۷L[p[i)1P`_Mjo]W1fw ~%Rs:H{@mK6ɗ)Y1G?.D詑-PLbFdf8{NYdCv%#5d1^ +A+א?OZb6&}'(^9 BY;5#NSQri=V]_#nNH>ך <4ڑC /9uXޛ׺7ދB;S ~Jm(8?$n;W9Sc^[ e ,'k3-|*j]?uv:&\p FVvlriTq(+ ި~XѼTRdlH+~/}sr4 F! ?>ÍGv*s7>ql(zx8e/O\mWf7rM m4^dm+XB.ɪъR; 4Qᚯ@BTVy.-Ok%15qz  ]x5\W,m7X[?!;)RuaAjۀ |%n&.bz{q#u.8bLݕ6M\RS`Ü$>#Ʋ%DVe˃Zwpi5g1-W[q _$}9)QVO:o!v6'ϼ"+%ZmESLxc٘S'TFVrq+fQ rR@wq=?#^ e~s~c^﩯 q} ,u45(<¥"&9/?Gxz?%ۏo2= Zq}inYֶ" Fkqu^s%7lC 0j`Gϫ2 0;ѱl$#ِ% [EEq’X/gиע isjW/sNH, w!CNѭZ*{KC,UVx0e7c;`Dmj9Ál:Rg-h ħOrp쉈ğI؃Y<=xN!Zڵ܂:!q4JSXWW&pϱ$,e[CZۣbkch%m?ҧܚjHCWM_KRl:~Rc77ׁfu 5*դ)e+1B/ydZQTK@*4s p̋a(:rׅz鬲 c*գ`ۿU?gûP] oxv/ $ko&8-/;qGPɅyd&=K[q #Y?ޖ? {b 7L0%G;8a]D0Dx\T 0 g$}ncaVSRn&% @8X[yZ0is) 2'MNRY|>zBzx^ޭv45iՂ_|< y[Bw$[H9ٛjfMcOSFU;^޳tswENrޝ.rz|ڣBd8C Vj(!apɣbflmMkL/FlgFQk8Z{l͒؟v_<-xdN;:cP ^p9j55~S| ne 7G gws̝N<mDEӅd#[g$@sBn@ r$Ԫ!\]Jukr?j7 O)“|_4T.Fpt/*4[Cx ]F>Ҙ-l^cG\yǂ˹0]tÕgT%I~h o^ZL +;[!` ?Jt,+ Yqg $u^e-&)P֫ =m7zI=sMFO<ˎY4g,ghD>{]LWlȉߒvf5Iⰷ-mOY&9SW}+AC!oH8L:bm!*%B l2zJ]-nKh_iUz'4?O͝Y<Қq> f2bհ.D>avS*S27‡.BX;BbKZ^7j&\, im\R$d839Xs$V!oĹ /:U,o^PY.G/2&; չ3\etBmM@;ZMڃШak!}?.eZ_9}RD=;sd"4~?ˠv i[RjY,38=F(t\~seFm:&*'KK=֙A! ˇJt;l  oCJ7ۺ[}xMDrkэ+-p'uP8,G=%0كAI<\4ٚbq;-҇5ӞN!c#يy 0![z07A!(w ?Յ}EOps2zKCMފ9PV6$fvQ\f;MJ8Kcќ\̏1F`葲5V7/^MmC^Q}b$VVW`E3UL5VŒə5wv4b I 4R&)6>0{'ŝC}/?Kɒ@5@ {T9b.U r+ԐjQe.Yx;wrJys\3Ei$<>?b%N+7ۥ qK~[ X79O;"ZVv?R}Nu6I{χ_X 8Gv+QTVPaʮq_${H⍥Y݀yH@UgΓl8&ilauՅ8Y_1*i@=#cu. ܡo$Śy޵MkFΏ y@n M*E}Fy~duc,$bЎ5ߺH'g0E n4i<\u^w|oˬu̐u1\M7RDثdx6P‘'DI빒4P4ܓhA0xJQ}M+Q)aB2 G0,/ Cj Qnv@|LOb.,h(\o)N%)b<&W XiZ}e**ɭHZQ78?:G[.FgtN^kW\L'lSZ)pj>8®y M:(u=΅*T @-Fϕ|h>9%>׹M&r87})9<c`V$/OD~Pp)WmNl w ®:KnO<ŷEb|U(b鉻 i(aWt+2 ,}㠙9t7yRbcN&KDC?eݫwLL2i0)M@\W}cy^KM7c]ICU^^ǩQp ZلziU{- ā.-4pÁ?y|U0yOe)D14EmMZڴxwOkҀcCWp%T4KKkjHU+L ҅X̸rzF~ZT<uMY|M^Z2u]G~ eYJMh[rʖW2Pb+0@c򧾬gU]϶ 8.0=lWK v]S Ķansh e9$I[bJG֐v2)7KG*"*FxrdH/B J$EGJ >%3>U4@u^5>IoY2M6_)!ǭ{f< 2$`e]eܲYAoh"Te<ͱDE@M1*Pv:WX©F9~b2h>0k3\]j{d">a!Fx蛳Qc1sΘ3#~ڽ ! #]@ 3=VVL6bgA[L?I];.ZQ@NZ;D(_M/XHm*,)AKJ1;dW/O1uM hA?z5x͠ fΑ71)JSp @O|fmghp2ÒVݜXة _d7D>B6lI`?M7UX6 O1~FT'  3{)̷So={jTQHϏ"_gјYma,*'j dılFgsh *4#6& i@GFƛ!eQys5|!xv3v_l/H~a1pzfXsϰZq%k`n&^ߏ,#9hz OvBˆ8XƿF3``)AUsضjӣus=mH'q;dVBih?&1>keq2. v!cٯZF}%7<>0[ū ڰ_|q#wgyԯ1 ?x8u NZ23~g4. t|u[煆U6 昮_k:(Z~ܶmjuEa#A숰O܄,1b:h1L yR^:C0B,9iE0^vlAhC>W]o~zb|J ^` E`;vT1\>XFMOS=N0&nu6JTX]UȆ!ݔczu,#ʒѡ<@E('ۜJq .uMDzʢRԎwz\XSmf:\wDP\h>D9@:2X@;j嗆}a<·rk('5z:97ejh0faj3\H. M.,#_*Im. oHtgSC z:|Zu{x? ~Eg'}+ٹ}7MOle< \1j£*z?g ڥ' }gjA{IEGVq\$OY~ux94N`*zģ!>+{/4Oe(POGp1)xTp:~%aNfg!LD hϯ:\E+j`Pkdݹ?(]mY^GK^cvdBAZu*4x%8nfO]gI;l:U Z Jץv!IULMոA0 )Yi!gCѳb$ÕB5G:<Njك'7 yy)O+4Rq7\ ΂/ЪF,l8 H,y;/!QKp#lvQd'L~"Ur›TtC&l#_`GG\1/+I&w|AyzS V+ʙCfrQtVB#҅Gr5V`oS_P -ĝ)%NtI[eG,]qe> ee#*i4Yb9&0Y ~4VJE`_9y`y؝Rc& ~7J>k/d|M\bՈGAGl֜9׌M:Ly :Anґr.!dJ@ғ.7\nle7X2;n|ǥߩ _7*"fa4s5f%1YBO! 5&/z5İ<]*,1Ma 4” 'ڳ!ɷK!=&@,HMQN&i۟}ao㉔xmđI!% ?ꠠƬBA OMx%ne5<ʦ-@UZ{ ,|se7=8r+wL{^Fqp(;-!bqXTnJ2C_;#m )F _FFȋwbG[ ]/,׃l1-*ansC#P\*GʏF=^VjvR%dH"[,h q׭kba'UI-V2@]@5%@Crtl_̯ g/TQc/}1>;ˮsx)D*0_E'3vA=>O5_v}X6E:-6k"f-xnfh!r҃ۜEk5w _[Ju~~Nk2&UqoaVP#k,ʹr8[ 1xb3TbLpm_pa(##BmqZAnl")B,1]IJ/@M"R;%-u0M+ n9j۔W)FQ@735yFLT%,px-I|YqM0  "jAOx͹Hm胠I1v|P<ׯcSn,TU|nC; < I-p~8=FYY{+8 h=KEH@oNe{^y" W-.[QR@Dh5^ zcRt3wHLR^[< !Q7L#sLNt*˥2à`ou"G#x)MO 덪a*ixc7(YXG1{O nW\EgCS~R 6 6mR6 wtir){!re 99B<x䱸Y\TFɿ'}1i~+WQn$xTL'p^Ot rXrۓQ_`rx/E[7S%_e9l"n Bbpa7 ^ZX^MQ*1%4-ꯈq)҆v 0o@ξ_XV0N D޶3\,t UVmcqݠJZkc*Ðq 5H7- :ķ~_ SS%dы^9:v#j4T S\Kv2> Y$[OI c.&y\!#9χ@U?w* +_ND^ULrc5Zu 'KS ?Ҿ# ZR(x7P DR1~DTW1AL)j_e($$l czה _d\_C (IﱊK"Ek j vSOE*Q'sYMrRCM "dH3c ^Ajwg;=c_JAZJ:o^VŸqIPڲf84B NB#xDG c/t FשjiQ$H%b&+[ k!)fN VhhCm(Hn\!g4WxcnS3p7f$hl5X:WuYqV R\a˔Ol3Bhyv}hgzJu(]a+܁HƊ0-ЃsDp$ttK 3Yũ\E7mZHe YO;r "$3Fi9MvLco[teIp*Bm\?)6IzQR-mtq__{RY*R{I}7xZP5\\kM@I*P4V_C1'@1L؛4("kssA:HP{jcYw%`\C0(E_qŎIťA}UlWUr s3|֓6ɢP{2(ݤ* ] Ƿ[~%6eK4[%>͐tx]8ՌјWG8ZLRJ&X8wd^;|wح{ueV "+_P\_*t>\:yX/~A !ffppt;RtdUʓ[t/rxg`Ĥt%;zSHR1?P~AA|YThԀ?R*\{v!8L/HU~.Xzo~ Z=Itv"6Ծ:7tB.pG4g* CU.u]Eaucϓ9v:)rfcDm%ePtIbZ3Ks@ȯpv̰IE5n@-7s=%~eD FP#eX@j+t6^ܟY\÷{NY|LB.ÙH8439kwxf%=Rb" h4EwK Ӻe6یBOʝ[B ɊssR!{W?<[vٹ`s~z) 1*y iO|1!%»|l|8)ĕxp=[%E Kϥ[/ &>1GH*2]3/u J5/)9 ,]zD_tfOw+>W/եEo,l]؅>cڠ@|jN"Q[0c'[' YH ve@, #;u$Sf7{z asQKD[o.j9ނl7#WzLIOY'i֕BͬUea/"xIOM-!Z`y3{p 0DVLRO6c0># zJ`:Hiͨ:ٜ qk&=)-C5G)Bl:bFn=ӒTmїe5:zrPFcߐN? ٫Ĉ(Ff|8 gU=hhk2w*vep6 x>,bBYAIc}{Ntcf|FZ;vQF~ oo&#| N=4S:lN>gYJ oh궇6Lb[3=pT ; m;<aJ2=sM,p[nяicb 1GH:"0J^'@-e> ^~ ϩ"SμF0T6~)7xW.٦ \$\ܱ AS;uqiф~,O tMΒZl~4"K` Y(h-tBjPQsnbO |[],!MJe(J6+FowEgtmϣT6]9\9x3/釐\1֦!DYcLAR2L"X5|NO6$ Ӏ)'LRjtpL+3hNTNkhJeikf") b#[\4Q؂h$_m9!c=ϕ{{-EצAߥ9cG#C -JLUDkO|P!(Vc|Nve@^%XF@dgur+Vt\s:n!_١m#qiXI|̱߀Bwnyi潬yyQuL}P/ e/φ}c$Rk((rtF6R؋ۏ|whf&B8wFjw:ao T-Deyܘ+d b;K}noQi~b֦Sk&EuF+f6|A'$_,Hm4|ICɮ4]t!keG=6RiaT--xp[{8(Yrdt<Ҝ V$:M]ꌷY@^5 `3u,>P`gIq+i6bg]Q,HPO4@t-hAGn/u{P5Z;7cHnk\RIliխ('4 x\]DEEn s>gt't>˞8;nrv#g`9_ ͉øp6sDJ@ $":דO_y8djsQYͻXr <4zk?b\ _t@7ENl[@͍0_E_@ҁB %XRzuU%2>]O*ied#"{uhV ' -4|xA]R`vsBzvS|-r rgOdE,Fbso[ Nn-ʞ(So F`e*8!p\7zGH$L\5JfAǧMGp,4i='P7+[6_@>}ヤ7PjRj=9(s=\Q"GxGʀIE\uSm}ZO/pjó #G0JuEe:X*/]Cd6 9>I{@=cP$#L厰Cgd 8F5* N̖b tx+lVn߭հk+=rW1QBlSx6-8ĝf8|o)AGZGLˮ)?W?&Mz42 ( GLT:~MpJoOW'[x@N>|A6YS8tAes،x#cZ[*t O2-a@: B+Qw?F_+0f  yђѐ`=k3˧U5D M/I މG:2&C.3KI@һY܅d^>c N I͋~TGJ5IMIj89Ρcȋ߶n@`x=6 }0R{%#7A X(D0s76TZtտMѠ'H8,(LK2Zc#u4bͬ%qR}Z ᖾI)p?%؛JTqd.PIoh}X\dx=h&T)*AO9-Pj8`ҝd TJguqOoD^>4;IjZ/y6>gF .yVո Sx61禲<~[$ɩW씱QN.jD"f8dZƠh;DT'C+wƼUu )1HTJxER/ZRsjg>bFE47JYi/gRJ1\̐.xy O3i;XqM~]m }pv8Z_jNha毉t(z=y*JD!,2nsS6Hy=I$8W# -+d]ƋBUH>Zmfn |c];gŗ˻!PL䩰_[ȡ&)TSAƠ 0N 42QyM7K(T<۾m;Cz"I> rΎ27Z!hQHdN;\&=3jYDH NK\')mҙ尣)]t$61IMӨY/nV; HAW|۞y[a4u ˦SN bii/4Tآwhv2 h HA\$h3D,N P,Rb=!۵t܈UUw{L:e#h\^Bmm}N:2Τ"Zyw{5߮R52%q*ǶfQzHFZ8Mofu߅q1'|Bml+kNpMLOecYZ{YhImuP \&κ݀^ՙ|S<;ݫcnu"JjB}tDydTl3*-.o7ۤ| FިeT}$TE.xp+צsH)(4׎2x'2"6LƭZUǪ[3oq[WDCO[h@e\]Eȋ8RVLVN2bߢ1} oP[)VO`w.^ wT!8a4}BB)sޡQ,fom!ŕb2>+۝S㴷{$}y}:PiL'sZ0̮vaƕ#Vсxy~"C~$<4*S=LnmH{^s}~Hѥ .w-FEFѕ_@dzuD7zY˻kބE,nJD<+g#Q<|@g84z-`?t6\WYn7Ԗ Cx 4 ܒuS|bQ6]x\?m>z"LxUWI!V[r 0ZP<_:#5 ](;e eX~\Mxں!8,6k a*`a*}]vԬMIQ 0;ӎ_3 \._[3S$glc1ރTgi d [CӢvWmU93M 38¼`@_R.x⃸1%?L, FɲI2S_U4mּ̼楖XWE/A7FVlbں$qPBJFժ )w40Ykٿ y> +6S9EݧqMO 2O(ibyHN ZWnj/.H5oqKsb|Z!A=-:TYzHbu4 cVſxߣϚ-jyfCK;b'-]Q-"1][u|0q9C3+Q'r9 Bɻ ~ EJ-_3K+ uy ipUZF]շFc53|&mcZZIX78hլ9†mW<{lAyL~eNJ +.+3"xYR]q̓]  Ϛ38_MGY (I#^kGLfbSSy"ɵB> NB ;aD IO}YsAYL QUqF& ؆b3-׋tS_ԳFlԑfD2ac7@v jhPC5@˲V)14a2FDޣ6?k࡜e|OMkto;=%Q|֐NnSsRTx }2.<>UZD8E i|FjfN oIt lٙH2gW#25B冞e7xf_a6l-38| -w~-*V?D]TѸ־Cɑ㰊Faj{U"$dz7ZukGDśD>[iBgLJ6&'A6n/ӂ{+e2=Zm$&xZ#/w<@c7]olxr&NWf hd]y2 (%d}Y(t10P{5RR34B񱤘{(_) \̢T(|Th]0W[ZrNFr-h2Y-tWGx<"厲]#BB@ԟ΃w77' a)*+Q)4wXb53ysct5^*nUWxP/5 W69@Ktɾ~ԔE;%^IzuF>ҦTڟX)p][=XDE>ZfO#N5v*.xX^hq, ,>]HC^e1Fnn9Z/\TR^`ʯ _J#YZd%"A;x?wBV薞cQGl=~˜kmRd cNQ8yO`!M'r?Sf2 Ctmd[~x^s}uY_TP dkȃ̌CI c]C4x/PBt _{qGSv20#(%LonG`%S{K%.@?prcCaeܰhR@j3 r2Av v-ڬEls M/)WH4Lյ@b1:GmzHI0Գtc:Z(]~ %-%闪nARȱц<͐"^ljҵ68QdfP۳I%o4&Ҵ> _as] E/N7Q R(zws}_؉#tc"ЉH3cj&ڭX~-vT bk$+4fG>_v׸/:5Tƍ|~]d6UwMqh{\.זԱͩV@B3M.²0:[;AnsçeK)JN; Hr.yzq)1nۗ"c_Ӹ ĒwiY7d$ OPn8 +G:*Y7\ N><90d/j! YݑKC.>h7PNa\ -IaL@V)FݪŹŚ5{ƫSOQƝg#C's"7i:t+1xՍo6YLՉ؏k%2d_R$$nfAtY:i~ErpȶO*ɏG^b~E* %}.٭4 HT&`Nsm>'~W71.^'eC;dTIuxDkb,Z06"b߲l7yҊ.Dc+lt'C7d$AQ{)_ 2 a 7/=tk ϽC ՛7Ea&e\4$ѠN%O#Ggtq/ uf1WhZFRmC4 Qsz70Q1iaԒweX ARwZi+ҽy#K{:].H m`i5Y9oB9cBǫ7!nѠ<1/YehS(ʃmzLW 7VevIp1ιH>Z ߬J^vN8/Gb2%r˷e"sߺW5ȏz;h*[Uƍ<`iYV:H<ʳjO:a%"CoC;'HVjߝS>La<5Z!E{xL:hZIcة:GqYa32+AQJBƥt+M O3x )8*o 6!u<=R.* 0ź Q9wB\MB),ے`u[CwbqL,2;\ ҍl,<*v*#rhjq^'r" ,hfgiS;F6KЇ_v@Mq +R5>O{" \v$=]$bCڸVٸV$ b^JW弹a ݦ+ Ʀ#kVWp!f0* a 5VkT1$2m]BP }I i=k xdq i#"ĜA&gE5k-(9t2c_a`9oπx ):=L8lu[7_<ӕ=MĘR ɆwO13pT#K1`0{w% @,coS6/) GF]tZ.PUN~vWG).Ì?̢ꡋ+(S;X|9_=ŭKE'@V87۷N'n^A.kɯVl-<;Y2"y`0 F u 7a< bu]ybq'[LM -U6oF7*,to0P%%)D^$v*)dErb]nuζxL.&'x^r>]u-\| xcI0,atC a\^6jU'A<RX XXqa2_hnsu}|Pqlp؃D+ߍAzƈlEtx iU{U*Dcd#3Pр*F >tY0ZcϫøjƜm hd&1S6s[ h T3tQ?NZU14bwg0;<_% d$qc(o[sOKoZdklI c/)-r`9/_)7.զ1 k,̗#>}zNbw͗m(f JMOPY0f .(9gMRxԈ"\[;@qg"VO n R7;Aϊ@&8"fBX"9Ҽ0dJzVshblirK6d-`?' Lg!&|˲KHE iY~;nuz]fIi$Iv*Щ[9쇱Δ &s#vʟ"z3SM.lKL|?+$ҙ~ceXbKp8ؗB\5ua0-῁.?4w!Vء;`*6!Gx*˺Yѝ2FA4v ;Ŭ :S؂n^'ZSsOռf]i8=?[/p ~J/Qgk)c"' ,l .,ϔI8;@H`u~8t ' NFbM& im8\Tݩ"DŽ. ֭S5)@P7"? Q=/aZ)B+j*?Zq&]/8:,D'[\B*;s ^U9$bЀ[3qBu}en"%g)5Cgƫhcgd9:L[̸PgxX~S)< y &~|=]ZgtS}ՅjZwO+j!v@_樣lD!VN=NbDIowH!Yt>FU.uhW,a~! 2PIoʑX1N₼:ªo~HB>BFo3 wpMaO EހbH7[)kM@I铆UٌchAprvK%g쿴0Sk{`+Qj8@"-pӰ*ngRaLڊFf>S} =Go\/z9u^W1@|)ѿӖ=oܴCJka׎qecaŭ X^>NfWqσoZn2:;]޾ t:N ``5$ uTڅ쥃1P]x r:z@3' Y,njJKj_ᡦ l p!廚Mx~LG50AЀ`ݤ Ysb6.W[= <^J.+܁P6~.qVMϪx`sAtħh:D@>I'5vQ^NjC[1v!͊pDGqݸP)fؐp6 sO%t֙(ZmjaP͆Vˉ)W.bJIУfkpG-M4 UEyz{!6-Ӯl9 Qp'ڋ{".bF<8 ]X8gdLe[Pv7[Z-3K#j\@4AbqR|2#/g6\9MdKaDa1aP_1\ZdѼ!7=[Zx]k쬭-~h%-mjR?ώ)tr6wujJj5G611ۄ#mp)ۤS2/~zZB#! {¿#ZOܕbSWB+5BA ^}2}\0sF1`R5[&24"ꍖc |a,Q`ѩ< V=M;v@#$8DhHŴ="ug[=RWĢM 57VTй7 R^c{[fii7Bbte(\W@ M`t4K *VͯRZ/mqN/,*+x7tE]Z*-p4 i${=_ sD\oHBRyn<Nt[Wu ޙw&A\ͿEOv_o4}K ]#x\s>NC,DPb5n(kw@h8ǧvP8L!+.2ο9h.&J5clh\-$#1 oHy훥D&tW|c#A48<.w1/hwܱXUdڝqlc jSfl\0*)1<]l L S` џyتvݑlS$}ydÄ:~n 3A *ѣצ|Xx)}݈c랋k81'Su %U~h81/A3n6Cdۖzמ^q-(n%-<ƨWwwEJh!?&mU#P * !@脱肎}22> pYOC\tإ|7 DUH02Q@3룅wPZ֒׬f.Xo` ſe7"YiOC]0KR8]OƏ଒eA5/(k9s_SAJ7-D&{ VLϛ df" i34k7x Oi̠S9@( 6P 5@_k^pU!Ko>#LPmr^T/~M]8c&֓RDtpt;$uBu=Y f3FkK]geHtXlST]S"IT-0sy5^H>3}JgW̠Hcjڂjy,-.gEP;nIfQom.:e&Nw@Pk)-'6O.[lx;]£/FkEk<>Z4vن~,"ʗ3G%ÎPmSY]Kd]r^gu".ئonkn b N[]&-m#X1X'M@1soAvTk ~蜎zg0Ӹ_`lR^jekZ6j%RFl"Yqs_3~BeW*sJ!3[5L}(m c$)ᥩ6G7JmfE?Q"l|3[nQ2Eᣁ9_'*So}ĉfhyLDfk e鞯 {+NU5]u_DcvI=,)K' BAϰjOצȢelk6 Pts;©%V=(hi=Sԃ gt/iFiG %ũ7}^qj,KʰNߞV*Hqiy;v(گTF$8:ʽ^bO?rCDzʛR̔$^U ZIglVҞ3PB} 4xwokI [gYʋ}\\m)dyZE?yE_uj:\T?NU)$sҢ 6t="LHq풉ShuO\F0MLJeePW?sIbR{7m03 CIz=1?nzϺ|wTȗLgHc̉pF]]iS=b]&;[dc<þق\8gޡ*u4[܂ 2$o4f0wmN˅ptn>zrd %G 'j6|k),+% W8IBLlIYh-PUJnА,!*۔wk&`u[2~Bf_~2~WN8G8&eGZ0Vg "5ntrdi!0#6#R7ȝ-kkT8{e/oٓ[X{`l%;,OSRR!'P43l r"cPd ,coLhGє"sZxn퟊8`d2\`D )c0Lw*1VRwO]z;6K_-ގQH` aR| YϨ/4M`"53y2 #b]mp6Z7~"4 BYԁgiL B`V%E!MYjD0IY\QGQy <`\rF9dP"~=u>\Y=4CL:e1r1CWZO`Pi atWe$tjwY_v0ֈ^"}yL~mf#=ixڒ&5&oouK'bQqzJ| N^v!7H⽅6x::>.1BZ粿I]uxdMxr$ys6d^$%2 .H, ?8VTWȡ W#_uu_Q[p'cV kI+ P(MT`zx\](ЪD+mpòM:,]C{8I=(HЬ> o4g18F Lbx-1 *n+Pr#j@Okb~!] JQOT0D5ݼT}f]ŷu+6o[QTGuBѣ0T?x?ShWKCcyܭ3|`xgԒ/762T"y *3&xޚt6jpwczPL.N^ANvrweCPMCF-`&jk&!)n3b>>g$yQ7lDD MXB~% |*G\Yo(+2ncc^dFq0=5iqd5?^2۲vzP]F:ۛ)ys8T }bp%K_gy𗞁v2aTcn<\t07'ϔPjXrXX"?4(-`QK4^[;~>?ǍwƨLĸķD3H!1o"{. ɑ5 (A?pzbx#}K^LVn^=V[cc%j`3vP&##:j?k!4_YXL߃C(2ԩ )򃷽f3-U PyjԗO1Yn<[lٵ}dCk)),[% 'G P)0v~Tk:6se^/ESѓ7 mC٬Z͎ .~"CaGîok/05?b p" lgrv_~ O%2$DyN!%;g7S> pZ-Ҷf8Z… 9DCH|)ې|Ͻ/ ^9(Ϲ0?f6lw-twWz>H6kޓbgMLqj'| }9g .KO(*tn NU_nQ1a$pCDTCx@TS~$*b+Ka壊B f}M"M{ea߶ Dkp%Je Cb#Ms8Qm "oK{S`.Y ԶkY3w 'yO`mB Pfk_ecd9d>MM5{^/4J"uќm`\~pO_blXBk{^9?ݷM"\ 8ke@+]to>/S: n=`^<y+4ndDm#l$P## =GV!ɐ:eWHx=sR25huNzvDf}xO֘^l@x 3M4dZ+_Qi]<.\c>eB~X s:e\2IE(E 5 nnEQWj;Ϙ[؞y<K:qaS lgͼ$3$g ;iH+53gg, 3w^5 O/HҐ`%fQ>) nfMcl!C Z[Dr ?) |݋u V}t fW q)e^bZˍh/+J;<iH gryr] grHAAjT.g8KȩM GcYdmv*u=灭:V G] zHIBߨrQWc"{gM tqm nS N\A/dh]J89se9]Ңب)1 1n-(}![Xܜ+LVG]M@mשּnR,ZbLdҕ؎ZW9zX2=wo=~uGw3SՑvO"Sݮ.[ \*z6;/u?OڠyoB㞋IncjswߩNo[)VtUȌL2]`JJH.8u0NM545%s~V z3Z3UEa D?5J%ll7{I[jϓ)0>Hw  ffꎂ,i짎gcH%mԈGL د'lkr"lwEvqBh6l 5*6+ZvX٪ Ku&PLrڱȗ<\zO @Ci*|1 YP UMo~B{e[ǥ5~gJ6=Cl J#ڿoMs[bw i<< hgwex/¿}6#{Sqľu".leYK;`rꪄ9QRYoG˞GW3?:†Mnd#C8.H"0kSKb4n9=EeQLĹyp&k ݄8tj>7{3ؼE8ͨ&,#iWAv:S yvtc}7q3pK1_` Oڵ֜YqrIzJGlsLOܟ8NIۄVN]b6%^'zOpŠrD~*]BGv6C_kO*F uEBJo=aK'G|Kl7 0DWIrK5^fiɬʁR] to.\)`e[G瓯Mei 4rƘ[ `Nlj[Y,m"pֆ_Rpnhᐘ$Dp pOpvlBa~zpxOQ4!t5E4+1dlgz#=l >HFz0j- \ qqiyl}-k4wց25tJoR'!L"л{טc%Wy/eEee2\Vl!~ZIpD"[%Mi[<,X,#+<Oϐ.GZN:tP] ͼ¤ls[ذLcנ*n-1KgGזoNr qu%jA`OȖȩKu[ӟK],9%ɫHjBi:!b2K$"^Ӳh6Z+#]lp6+񎼢 {/3 +YiY_,uX:$[i4x^ۊA\)0ꬦC~;ıL$LY\-5|H{y #Y@0\ej'npC&>((h4ZLQ,Z"h،(_} 3tꙺɪËH2Q4D!`Ht#^&d c6`b |dzrOLkx"9s<{ʫFE6u5x,P[ *0tnʹLo䤔R?q]S@)8,eYH F[7C*!ZqV([\,|9 5ItcީZrPҸZGPfGj!ȼ-km_YX/c w`bj6_>N1Z D͌>)${wxI싺AE" !qa LC#Ce4OZvQ?~SN}IVQee6!k4orc>=/_̒~s_h`Wc}^bG)^O &T>zeS/herbYwk>يٰVȋFߗ[:ݒ羏J=IJsJ(sRf}ЁՄ/ˁݷ1{;R+<ߟ8O="!ZK׻B*Pd TFmlQ8/|05 ='ݍʄ 0ur1P]DN8]ecn2(Bل&a\Eju4!){m ܬ(F?,3wHb6b9'{읆 %NCqZ<^1߄I^] `Ҁӄc1)Tt+]e+R:a (lKHgJq##ўC#u5`MJwp٦__OJB,$T,׆kW=fydot"Zw4CpPNE<Dz*cv`A1jJѦ,AܜK-> 2-7%`R\Kl%T8S167zhP 0Q6M_j‚Ҩ0A0wX653`ٷG ,CʔQY4VDFgGRٸ JL ɐ۸}xm=9XEe@3 Rojw;"YmRnoCخylCU1J&h\XR8`NކE?YP8ħB ѦX!׊︱% 5ܮ2Q=G;gsdi*_  $2Xl@X.93ebZU#zA1=4^V-jw~dܣb1?Uh4?V(Kp6$U.2BTͥbx/Ҋ.UNM.:(N|tfstz'?gQ{D -ؒ~cٞ"\+3tu*V~OVH||Ú]5,\:{kۅ\Uՠ|| S7H A{09raO.@N}3d},Lܾ{Qq;p{ ga+@e$sDWR- *j`$5%瀀IR;;* 7#P3P2F݁³Wy'1oɇe[V@ T'@ 5E4Pȥ2|Vvf~V,W*VfX xhibf'fޭCɌyz)^Ci.FNO8: [ +Tm}m;% 5njrWwhALӖ;GD 9E۾X٨who@^^0{n1#'7 .r]1`/PbJȈ,5Ƙe}}M2 _EO~sjX"8dSe-z>#\^?9V(ޞ<<˽#S;D?qzŢ.FUź;L9oI&4SlDyAu~`#B eDh_.qfnUOdu!m[ya<3+ {zA1$9gf- |;͹(y]+k3dA>, BO0^xc:w(Bn3t ]q۴j%|q7)6\3`#VԜ yXNrQĀʐKPv6Adr{XGF^Սifi c VLP5l)~n{/ߠ'ҧ`8_r(o?u8]٪s'2lc@JdXy2I!8NLG Wp3K-6 @ΔK]Ó9igs9M\?Rx Ca!Y_x bEl.SJ(1\/_+˯WXF^K1FJ Rj[g-I nbJ-^ ׷"SW/3xěwl!Ԭ6fivmXicp~IFGqDA)#N>Tl|2 B,?>{,J{vǭ ,Icz0^[S,,N!Zu |$VPlw(X/&3'VNjqQ\ޙٝ핺6b `2ܬD.裈 P 1XiA=ULڐs=j8GRQ펹†:r{#|eyӸt6?E% v[;B<b Q;>WJ~ N!b\L}y E8B]:ylnXO?ߺ35k vJjQb(#_8Z zr5 [*΢]wJS K<+VdKN+wv)]^{Dn-ť ab}>y\u~9/w:,rռ07pDZf.Ur MO֚ OچT7:`=8SSP(YU$+W"9h>caen ұRfY  ~nS>1YWBj4,rmf@08D"zQ~ay/ D1:Ǝ}trUKYYtL3\ |5t>ƙDdIp3Q|H9_ _ NTsђulkɷ=˟r8`CNG+bwX3Ryΐ]ыca96*oib{{Hq yjcƃ#FpR +ԃ29>[T/o%vC('JϿUQ[<\Ii5"hc:Fĥno kqd04\0Vf!㳫V S O {7t"sߘ g|$^za|7ؔ{">hG#' ,6lQnV`d-S;a\$:oJF~E7" ?{)D(քNm3 tm7$/,j(."?ϋdCC$liN=*oK \bB2#Sa*b6b)^U^*z eܪ͈:1:āX6<^ZnLn_vng+x%LFE5+IJd,]G'MonԍmkQ=lzD 0])'vyCg7+t; >$vd<{9";ۖd=L$"">3)A&U5bBl4 & R7dmϷ0`XW}@#>69IZI3IrfGlBm6f-{'"7^ac ':.@-#E-i$HD;ìV.LjαϚB8i(}q7(r#y(裊CbR̰h#KU(Ngsm %e=NG?BԣٯJ!Qq񥤈cRSdbL+-Z?I %֭v.b%I n,â% k/NB_'\Qq(X)+9-}e:#y4S ئ71)6,iHLiHL/&79'?kUKI!@P̄mbl6>66#)QeVج 1#@DJbm0Y1_Or3LL54=Q`ݳdhl7|26z YۓDFsЦz-Ȓve7>7:RS^oOpB_t Ο: x,e5@MJ6" #1JzǍQb=(PZ`dtcjA$g p53ׇ/)3<^DJ}<,u "v>Sp":lȏv Ӑ`f;n#A |JnaGpA`QTMS%XJ@Y3=ކ*8f_-Co͊€1NixOoo(h>FY١Am>.D}GIrJqןJp.d,~0^D@yB@Za?xTٳ.&'r%zspv&36S" Fx{~._p $Q$C t@$8sӫ mY'Tq`6)})xs؏tIv.B @Сɧ 2C=뼱V48ɭiPT]/@+Wu-T Λ7t 2M 1ux\HOAfȫ \0\6v}szE: ##7\ωWe1y$g*0BJTc@?NlMdmѷqZWJI `%֢>wGdi T׏=d{6:}Ul#z0B_aМs8 CEtFf-Q6e,1x ȨXHpXeU+ɮ]J֪~}7| C̖ssium%ISFQZJo6!hH]زAJBȁ1 [\]KSãKU?mdMC锗! [uEk򞧘`^Jh%<27>6 W\QD7&Ó;omSp(J r &ɱev(W 8%2+y[k@ NaJY7&V5-^T6TT~PRh7c|?bȄxbӱ-mnN>ht좵bɓ$SRC|ʇ~pQ:9.+]̎:J\J+=P>t4YMM.a# T{ c(%ŋqsZNnyMڑݿA D:rm1y]l|Jݓל&cAFxTº o:yぅ ,CdsثdŨ{TS3!(ηx6(iXѝ9"^|(ɼR2U3QsQԲLJt졫̥s??on[YQ"ܲ8[Ϩ*K1 i'pI=W Q/v볬 9P Aݙλ=ttRߢG^ ݙ^@!QE8PDH!aC^ cw/ քjĤEߞdiNVVUM ߧO!|`^ ]c0}H.q |0)F`'_'AD@}TS;ޮ*L'8\~z<)ˤ?$rW8G&X>^\!>0h6^Ƹ\1| ˌLؿ *XH_"C-JcQ,5H&WBOu dWF + 還ֿ q}`5K!vP?w  ie?a|)[5nIQߺ %amCȮH㟗KS RUi :ljX.9ּbSCz0+b+!=`pJ-6[ͭOͻ)y@hcno+rqGA1GDTh] o-cO>FWS$Η>`EvϪ6e֝, oKK.A,~Į?:g#4\k1גũa6 0 5 YJԛ]9-ӵa[4KKZ]'A0L;$s=r t]{OlPnaq:/!/Eݰ$O~?[#i2s?3kG;GD;mLoXCӒ}]n\TMu_eQU g7GVBm'PBr.EJ $boXyb0fK%qJ]h `\: 'Fgܵ;"Qթh9Ikq 0ɿhdT6/>1K|S^Aʴɖ-YAf_K.->Z*nڌ kg*N#KOs"&\յ_7NDk/K -h+8CmDN#,!f<|07|A'wLɍ˴֭ULE⦍V`(Т8h<wBqUpa^?|Y(OXj@/ֿ" ?!@kb ZcM9yc9$LDL%3CҔ<_[yXb%xFGG?d+e3fi 8eDCd&b=\L%0F"@lr1 86z-׽ Eexyl\ckxf7k [ \k,uL !^iD<C@L.dswUIX';2.@R(wo|Bq a8 IhCNx4ēq>u0fȮIFwVYqK[j P 79US<,I}bPeҩ u2Aeݥ_DP[JMǥDBn#dFJm ڝ&Bvd<gsX\fF0׮)/jqկ͙+Vw[5ӊŇXun݀,Й@Lr t\Xw[ *X4Q=xk8|Q.e[%z;RBT=hf<3fo%hctx2^q1Y4>x%nWf {kK7 VזŢo(l}yI[gZj]~1 XEto?0&|Jgj)…d^"R<5xVӇSϋLFbA@\8 j*,`ČSkr@D A8~RTPK +KMH4ƎյjP)[7Ai!BE};*Wwqa xyţ@[K]&BjyUIK^c֟VZ"$-?JFh6_I^/OPmQd ̎MJK|ԞvT/B) R&lOYK |,uEBl`բ΂EZ]fVE{F {n|C02l\-+p{$8tJ!}`FQ%|#i^N,Nz:)rZK'=3&Syu~Vp[$4gQJ4S%d -NMy_rLK6b>RGGK EPB~`wW!>Tofka_ȻAԙI[#79bG෠jWGIfG_/ l,A}P;)BG@;!1TvNq7\+A9N|SoUoCĘ3eHϪ|Zex:~%xS;|]ɰ#Zg#hAra8 "`Ӏ"_1$:K)erQZv6U䌢?q˹RUUutaѪS0xX5fsЗIt&v뱸PΑ1$i,og A&b'"wnGҵl,,:k;<Li3C;ըiMUo}/zFV6| ʢK~њ}ʒ<)TM"Ξe/vu4u3+宊xu|^wxgn꟡A|0ofZ}{¤p|ZU8@fdq?x t#KJ[C@K&WPeZҀ~#&+ZOY&@qaK{b9ݮzq҇ gMIU4mQ9xy6M9^I|lfrDu,':f:v 2R_[Z{Bxɪ %b2xj7؟ n2𠗀כ*0^z0s5nTqri@r$>i)i삅i=}ЦkK&J_Il"x& iDg{e{f2Já:.߿.pS /D%~e˚MQ qk/v4W(mn9rfZD%A: )K`NesAQLeP GA<}=^9DW:^u)[[JQa{=~$;% U%s̢aivm@*]s0SkL^=Fv"D>TI?:&/>E}2jhɺZ{|T"*xs[}6ܲS<+AbyudؠRzYA' v*&y :%qc\{1nqnXn:ʏ=cx C.stc,{ބ[)YM!RdLc6ۉMM>H^$ejk^A%e6٤Y3uqR /'΅xp\#(b:]}'"41W‡qQ_xJgSRq!N4(gU@8Ioȁ8dz*݈~)&'j^;5S!| Hgt&ldj*C[C ?m*,f擝!S2_B(jtPhBNjT߮L M4B `.-!ro62*nn'ۜq ەJ btJ'MUCCBL*hs6y52sd 5? _06~̾㿒6}blȓCGfF ]0-_l 3`)d$;Ë́ fҵ$+YtDvd*6 ^ޘF]&JR9D]׍f0"XBL`i=Ή8OKG.̄D1A-H ȇ{R-UzC87G>+|_zzX-+9pmuhag+kA-˲ؙYX^MLpe"L]1M+0kzzRs[t*je5&{NYoc.N#j(XOFwXkܱ{<3sӛժ ,?Ql=d!B(? feK0En>0'0!'G`6q/L\@7 EkdB)fL}^,L%m AI(xHan'? CUE{HyG]~E{ߍ9k?は8f]rq!HCtPalB=wƣTK/ҵsT]KEzջ5\}&m1c.t 6W"|cLI2iwX,0(fϨ= ܹTǐ Iv=La. UXFz^5ʍI%p-00i!HJlgmOe4+O-unt&(CJ|-<5HqQm#psT9KH~K=44l0 ; 7AZ -·écPOLS1r3; %je\3 B\['GP?MZaZ^f<5 H.Wm(Wѩ٦ mx4#QEHRZ @i fլi_=f4QI nZ-5nhB!yj~ }6ұ9ٕt0y,UƝn rGm;|{2t-?QH0z(48Mai@ "B8$̓ABū(zbwa79.c>c儿#˜ d(@ ,m)Z D/Ihu yIHK?ؐq>{F+e As j*ڌ ~hp !s)?~C 2戼A(5gs˞=U EL5wʔ&ә0|E2%πKިϨL4D :L˃<\E.7F0@fY>8`QGTCETRNK*,2VQZ7^wJ׍Js3P˄Rr6:UAa 6VOIK,# ^zx Ӕi̎L 1(ZW o^c1HrhFH]Q෗++GX^R  WBDnYݳNB>٫=F+eŃ[#Y&t>ue˧U #%OyQ B)x0']&W,܀I+ʜG!nk}uˀ q)$$Jl2<-t+OR ™عLbP9{t0K5 ["lNlUop{0[4{/v`QpVSOژt12Bi*L'͓Jtm`{o~B5KwELg?5DWP"d뀰MM'6y/fZ,ϡ6tI[#q ÑIl|2A0j_yMV@r|ן'9s]p?!\{$iEI\i4a,=#S1.E֒ p߇R`{؁|ȌЅ6Q~BBJ@Up0_H"vW,/qͫ67HCR+  Nj@FDhAs"+rC-t,nk$$h -,9>EGFmH-#W4!Th/R4Z|jlKll:;n)*[_#?5/iK- {(;n4/brǺ"q$ U`wO7|aca^Ԡ䍫R%Fw$ѱrG͐u!dnc/>PzE"5#b ֧th>SU_w:*4ߘTsV={ʯj0 Q"W0̙%V&ϳbNJAs ;"لZ&鋤8r҅##O ckؚQ} D,Bj_c F~oL*f+GH$pIJVs.N^BpBC7{+&.k+070a z#RauJj|x%Rm27iXuho'% %-PW $ | ZQ v^ƴ6m%34ɔb6|ĎϲJO$j~I o4tSݣNm 2ky搖{o >Ve:/{a]ʪ ;)Pl҈O}w}5 |RIS]R8&E?Kܘ~ixǦB~5?^[-^A? =%x8.ZpvL^m$j ֌7R. Q4}abMfV<_#;aK^jݙLB_)Q8Q d9زko@Kpd ['j:+r'E7 ѣr3߀y[wWJw_MkT6I:st?dd4CH=C3uhsZ1Kqp8 RrjOg*Ϝ1Ida'%}9F/ewS܉'2ZvZn+7M:c@AR퍞M_Ў?/3 wꬔGD}!ks83.CآSz¯eŋ:D"œNz8G3fxm00[%ACGߝ]v߻%)\n^-r)@[(>A\ K󦾪o/ t915:{F@j0$t?8&)ۙ~PoWѩ]yGt2kkM0w磩~!Ow.E^.> S;NGB9̥d [(܋e:ޞ}$.eJӬ@żInb–yPб8L3<$dZOOȅ)- ?չ*;:$m8`P#Xy>ZjԳ$("rQ|f/-&x=] "+tq-b}τcNT%PeD^P70I+gD㤼W˴eEԛհAZhC3xMplon 4D-C:]|c<_v+Q<? :6|ٴ D V^t-S=e BΗ&[7/p NqdZ 4?,"蜋P{^} oonBߨpz/Q} p&3~ 9pҬ䳪<]D.b}.6"ҴI*=uA?]aR׆&wx%XE~ASHN 'J/}3߆0.D!$N.pMnl'X[@N?3vOrKqXMd['>Y5p䠁mj#MF|RDIO #塂Tj}ne#qaQj]"q2I,⁕%2,HK! ٥ tTHT؛iƑr*{ޞ@NS) vt~ m 5 "PIODnAGʩx 0I(G9t9 !b-6ۥ)thp^*êf,Mv<= "F!mBX~w沗%qۑ"_lI˞bHIɰ~A@WZ01~>&z4nVrʔ^CE^!&Cma}N{iMQw׼btRm)ʑ AOOD^E2 mlߢX9izt_Rp\6>DyMܵk=%zWtNukR;u4Uw6wuAyȘcLfwwu@%&].P/ӌbS69_/PUBEߒ+js$Ł;׽9qݔJ;S|_`*-/ t( >$|B-Ho bc҃ų{Tc; esĶ UobWDUXzgE|Z͂9犄)o> l@hc,DO%nd-YpQ2A$Cx: c͠~S)#qTnrYcel+HYhv[SWڷgRFHDZZ$X/dZnl),Eͭpߎ78[ 9^kARoܵ, 98*݄ΪhMLTQxO=y"~`ވ (;mZ8M;َv#}c s2y68NA[Lk B7>qLmlPXV-fLz`R.JeفJTU|>x+aQwzGeHqъזnK<mm4/ @^oްuk~ZO zpEA s󥻖@!Շrc5%أ;pmZϩjS /ڂwyDs|NVflnUzVc^tjtXl 5:H/=glUU/nhتhԼV<>!W:O9shF G92r5䇻wc/@8v#th;eM|xYrRr4 F{^-qڥc} =.d(שuFS/l|BL.Sp_TV()o&S0FƪҘ M>张9~bqzeKkda\!E_ԟ PwF9Hټ1o7)UZw(\.B䋊KP E%q1ҭ,ˠAi}qy> Jd2}}r#IK7кeufWY29iVE.+B}#;0T5ɞ,15\߄Uw}V5Z)e2P{X \['; 64e rO|;h`$qhSiכ45Abgq+JuJ'bHbv@!gbo}dY4<_Ki ;c㋱HnbLyd7}B +FjΨeT1Pq$9S){B%;(]f9Z^>m]JweDl< .(SnOK G,nq>raDUg%fb]!S bRyOGDLgr;dq&9UW۹X%Sc?E|q37)*Ϗ/q (Bz(E%Y7ە5lFJ:L@1{]%J* 9'gt4jK(B(I(6~FsiIC^6Ê||n&` (A"ʁEbNsJ$q^|oHቛ8-9KNʞ) Vu%3V-sN܉bh,Ԙ))dUQo $!:SJKP/ᆳ0qQ.dS˚H7gfιV-;iFI,}wY):Rd+2"]#iaxt;#[h;՛bJ dcAJ_5PZƒk*9 pZeP2h,a'h̩ #V%Ϗj6T&a4y{M$v^duS"ŋ"{4°jCNfYt ח+NUhGMw--AskB7%d4~Y}iLgiP#N;&HBsy*ޣ}eս4M1ښHg{c Ad3x<ᛸm iof0o7o-.ݑNͰǑRUmLs0yVxYv߱AbMʯ>vDR*"䋧l:$$4} S_ Ά@1%`{?EdoTn28[4mgE5z˨F7"@!ͬ<2DY+hz Ę&pY~Y7 b)afӚOrd!hš1m3܁| 1`үUBٌ I]^#E& % hNJ@Z?_'W &d'Y~[J"/'䗥$w+]{ɶob!HZOPFg5g_ߌо \3J丙/𞏋:PVPAŪOvr/R[]TH=8ܜdI@3 qPUI4̞h+{:CA#]M[̧݉@oBp,b^).` MZN,$ b{0M"LF4͆*hϏ>Ӓgp8@%Vi(! .yԱ'SPT gOr(ed$D*)[dڤxrw}RHd/D$MW^6a!? |߷R+Dq /ԃY F$A>O9lIt5yݴVq|9;{fD`X[}?2<zseh0`sm845¢Y`% |_GQz_ݾRrlxuMMݲ0(Vt kɘ?쿵Q+qSKL¡!x*e@W`1@:)F#b<1&HX QVzWw(X 7d&ROaUp;g(^tW2naL)mP( N#FGZec1 7oIȁ:tA_h@1KW/-i|eWJ;iD/K$Oy)ޭqlo M zr"/&PGIJR8ǡMPHsU{|>Q̰ù+8T6c4+F~psyb7G&fƱO:({`mr8LPpi#r7#AQ687=ׯVԛ"Dnm_өn_淓w8»//`7:6yd]&F#R?ݷH%| z?++?h!<'qvVvέ}X:oH]t4/ۏ1'7RJ'/ "JLwB*&!ٮƐK"1Z;ԁOcNaҹץvMR4̺A&~j#ɹҐx?ug柎.\k gɃ󳿁wm ׄJ}AcQO,%!Bțq6 w5 ´ᖂnF#?+#Hή|Zt-vМQ> A-\lěG84ۃ)tTʅf'I"̚(2 uZ*h;]:ƲKLBtjMA#͸~/u`]9':ږ=voaVVybHJl%IUd8UωPVYfW) D5VJw(X7?q>͡>]rkߖGMM6"!:Y ;UJ;aFL0, {ElTQ3bj$3*Gi]])cDԵ/ҥ5)N $ n@Μ8EoӴq!md!i9 P!zt(V&{(("Y|` f.,E?+"G0z0CdZ-dpty_x@`mꆗ4Bfm-4 m| s\0!5K pJsd5좏Uhנ.uQ: FFI0yS6iY'0)ρE8P*+2tY],0KC1雧^0l}IK`A@ [3EǨ9kaX@3rM*5:1kU{K-| vQ<#^N =FE .;\=gE `\ jXo? }m5CJXz8.qt6ʥV@z^9BڰմR fA`(1(F~(WR8}m2㩹ۓmvߨ'=m#>ѼSϨ7`ęC҉ۨϟJ!Br.oA:˻q@ NsN~0oՁR"mC!&ɤV#''TNqZyҵ2Ц\69Z.tl -9[QCZ \3;lgo Nܥ旱mRg2 91UM 7\ CFE_q'Pϫ˔|K:1pW$-gt+JV kL˔Z_ޕ7-`6Y)%"1[5ys҉̒w&C0e~ qcfBg P CđIeX*ڋBy屫[ '' wDvQ+*%f+pw0!oaҚB=B#dNDۅuڴz |~_Jsh|OPD̆j^97kw3lf$oy)J c:ф 7eH6ivDPc62|A2ڃ+Nd?켜mU"笲gR=pZB %zV/Kr,+HUScg>jDx4p0Fe2J[46N΂lxXhV8sJ+ W@k' &kO; CXa"d#QgQ5vP)6va譥k{%ZF#L.XV-kori@GcKÏ{WzYF7Z\F"pJpݏChN BFfYyb_GVYlk|x‡7C}N8F Yi}my<%&pFc]kR%q^D(^. zlX_($Dğ&:O1rN\5h3;Z`j"{8&)`+`IN^I)uY ݫu?T]b-ˆRHu#;\`Yn{6A7R +7bL/Cxo> u ^P Y5ǰW@y7aTz`5a\ tx-=U-T#&FSAdo\Es5޵,gr߸>Rŝ$ODs4b8J{v7qo dL㚸H[-"6DT^{ N[P ctIna7c.rk]&ި2;ضۼn zy1_lIA'?+m\bBwB]&-HM]JF8;:v:<,nFj X ^EQai '}*"jR] Nl0EA11BO=FUҨYY>aП|"r6u0*D_?yv * O~(C~^eh ;g%}+QrXZrq ~qbj+8,Y81iEZjLcԉ~B)}X o4Kr؎C|%XhdużlCKP*n͂>}a!K]9(}->Sy$%Ci ujHqbdP6HxV,%wnnt4ƮkKJT\s7Qifi$5R 2(m3Pn?Y-0 6Zp`u'rue=3ל1ªl{Ei5+Φ[8ӞuԴhgm+Iǻ5Nb!z|MaFF1uZo2_AFP42DOhe/5Q1cMMv܁waCl\,\tJ7>ǚ>0X/!kjvm -.Ѧ9JSBlS04/'ٚqZ9bNvћ󌅔`t-hEo7rD ͞1E,~~aG{#iY{!ooMxuKbkP'\>Ϋ39,ckXcEn B:(Svu\pܔT: G2#~xs1~9<:pCq͝kj>tرتf![;;HHZEhLC}8Al큏֡},F,1f_=*hvlxsU>l o'g [ega|H >B/$Wy!%)u #e2ypVUΠG#54+aCa8պ^Lj#dpXjE0%hʡД7P* x"^M;휒f9RTJ#(d=F4f֐ ov0Eϓk'ˡu_IZpa8}CQڱ Y_ [!^97AR! ^^mGO쬬{::V[4 WU>ԯcq}*I/G^1-G^u̕3ʽ?) u7"mm=d~pJ'h#aC 19rfwly\PF:~88EYi kSSV708W5QK/6,qԘ$DRݿDJ|w/ewq NJmi:bH[<~%Nt0CMYsxkMG,zzۓiP㎾X9$ 0umO^&2ws h0V'9UV)FQdq{ R ?b#>܄'M,U }B=J7~^Aѹqnvf3`sΧnEd~.G~m7P4|;:[Q&.@\α]:s^auy̳RG0}Rty GP`3c/*Z_BL>@_n vD(W@a^avCFҲ(4P->BUڊ' S)$cFe f o rgod&3"e/p9 9R]-nb:e@yaSW_`ukMB=#Z"]~ 垕eNTʬɵ.2m PZo^Vvfr:=M>'mbπgNOFku7#GTSfj4(\Dn4`AC~F-E C"i{W`@:N~¤¯/OPǁ=y0d83X13+ةWfw35bˢLG8C 5n&%eî1I |q q6WK]ag|۲I? @ Kbʹ,|FM£5p@$Mo%!`8-/8Hq#E/O/z 0HQ}~  em5}|F!(k< oCYa,+$6s^=޽~<| N`t2Sin"H ?l|ĜB@|9{B{y>[ $3 d C(*UM|iN` Gٴ6wh B~8Qr&g@+ۣW0x0F.#O۞z9Se*naI8fmK,${2zAݜQƛ)5{ևĝJ{_Y5QrY-+XWYm t%#Q32BUq _'V P<μMnkZge-{ײ^ aڷ3d!udq"ϾYZI&Eӥ8VHE>ٺgwO>K&Bo8+'gTesﱵLyS꾻DN\U޾UݦWM#,oӱNJ5qf#K J/8w`J͔?ܯu4Vֈʆ<͂H{K1Б[Mp4. kNn|?4j'+5ćSs{Tx+`櫀%΀fԻ3gTčAaW[{' WcYPѕn^`]i%Y"Gv(ve'@U3WiNE G|>]]9AʄbGţӒdؖFe>|_ 1^Vy,T Q1Y!Ӆ6o}IB.szOPY(Bk|d{*.{ɏ}{H\Mou"nn +5ZX=)n gtQ%8'=$f6JM΢]t&i%ūq2]:Jş uPTG O^p,گ&KL&܄b,)S78_Uk֮.j$q:xw)W%u)E9菉WKP]?}P5̅T]ETYEu d%yKy?}YPδ$M[?X}H[yҒNT]† |+:ȝ0(T:k:QFo8!cu#.'c<0 '*z4b;k vTwcOɯϗF 35'Z%[ΝZv$w3SgS,$*F\2"3Px؁\xN6ԮaKdYޯ|J{IxBEeb?=l:87;? ]L eyx_z\HZQE+%1(a+qTR(m0d4~@Ds a#PQ"ޒROG2Zw8 Yd9(g !{-΍ Yl)ȌKjvA0QabdտB*t1{As>*S?fk7~9K*`aN!&[&zPc=]ݴVhra}: bYPsq Mt6JF8w.2{:%dG:'jcP ,;}vEĸ_kr*Wmh͒v*82\n Qrl +9uc܊ȱ R0ͱ8<)v3U67A;S9^G6G 8#!s4CY CSHꌟ>CmG/AiS2!en 3ոWϵXT. ?ԍR(n09Lln]o] AYm?L+^$8Dj L@ὦZ7&qLewV˓6YasiiH/Ě:e/VوR3ص G-8HI`$ɭgRWcNX_PG:Xѫ8tQq&N2,JϜcqQA\j\F7€h"KEA3x1& }XVxY5S=\#=?嘊 w^ EÀ^}%TA!/f7!aѧ;z VbAZ/[{Q@xK2Tss 5D&eB7?lj_IBk)v?Af00{ڃP9'd%/H',SrwBѨY@+$ trX] 7,AmuǹW'l阀0}'֫9kƦ#a[nZޞ1fK6.h6Nvv{W(DO 6"%?X6ų /Bh_ISDC,UvT6d,a 8.]ʹ[{ҶEu~}@ar-VRWT/ѝçDO|#rbXo5U6>]DYNK</P&T헺H44A ëÈ#ڛdaDNOS3@ĉ"HքI;[z\`őr%B۪DeLW Աw,.O .E/Ɇ6~e $Gn_#sGއgQ~i MH mOaHAt{N몤u8w/J|w@~!5KvL<5I >#Ł)(F-[gȭ&K *KxDNbс:sU )YXvxal@V.֡v} PY b?~I8<[\i 2N_Ej[Jڷ2-w6ߎ]@2V:b1iBvghIDKmg%Z"?>[q@ K[ -Ztq3T:GcZ]'uN;Ih X_ү9 -SRZc+c3u+nR)qw#[jBTz>AQ{Fc!Ĭ`n*g4Jku+0F:#j4pȹ;ܙt6 _!jW f0mV``FL V u8wJ뵄#a:$OpYhA?"N? l` &YT0~wǤBSp&rbSL#O4vݦLL`c`5"Tc# Ɩ*͔\1`DD_-BHC! C+&T8%X:a]4cO]#o_Nw@ggvehO\S*ނжZ5o^F|FU1B(1?e\%ѧ$ Kznv 1s3w)u\qq6+[}{+&J  Tki?97)6KDuɈO?r[GmTxX `POíDo%9rPkjzesA:8QSmn6סLm<3O1CYmbds\_Y)]HMTbs9U 7߀Eai,#1`|h\Ls8U<4]Tp]&z!s Vg>{ݡ*X"taDǟ",96e#yP2"n C8-l>q?Y,hM, (Ctуmob Ma4*Y.36d09XL,IkJ(<tЛp$bQQquh8jߊz>l]ku1%Ć yi^K?Y_>6a\tKgFD3QC_WD $ 1aD<L`dIWJ c2CYk:vG.nB/F=Т0*DoKG]:lfšQߒ9n{1,AdV0hsRC #ٖeagڎxsNXC*8rB{Hm!>f^h@_$]mh C[~RMDx6_4gC:aR\]6kNHU,[$q -$Dz&k88ͽcl;]֩جBY1 Di ĝr*q9*Дg42m7` Ry٦T+VD0#q>evi'mfԆzxd)O̬0͆74K[oF&d_oHgX5B*e7R,~Cӟ-0!|1Yrd!*VIH% 6TD,C\L$O'5٧j1W05nS>6 \<.JC2-.EZ^:]bp\9 <͞JcZ"0݈$ƽs]_U[Fuܦ#v#c?RӇᮮ78$wde sIg5p~)I"P=6F3M~NiPoOFβ媫HA(|wIb@>[ 9Kn029A؝nP1~f{0pqx}$%k)vS'&:؈}vkrKav&/~PM^ux@z^q{j| ȒۅMd  dhRW +\>_ weUZJ32ia +f*NqE25<Іc18Sz"ni6vwy߬7vM WDѱH/yNQ7iVP枣&I '5U+3fTщ M 5iM!>F:u2z9_T<͂Z"#'' ְ2H#]ٓs@W.Fh`_]+2:Lf )lc5R ~!em3[ A$u 7S RnW#C @#Jy_7TlC(g "[8Ni9+c n}"`&>hɹʆn^wV۽q #v>KP^ԺXg_ ݯo[ ~CʄBy˪8Q!GH2B5ͦ;HDט-af*gh;k#/A3[1{q${S i 6v6[<_eKPCUt0$ɞIܜI̛c^h,";?3Q "0+j&j$cEW"Y*9Yfʞo9qG:J@h%o@śy)9u7~H"k?D/M 4>,PWdJaAHMM x~hc5$YYx593|?}\ 6 K}p Ɨ%׎tDw\ oA fUuіPsҡ¹8o6")ڻآP>+ylWXt:YX#"XVX9Y};6<o Uh,ͱS5"X;M1]ֵ \»}MyȮHSwL[3Mڠ!'[UP]Fg_(1|JD)Q?dXԻhĝD8EGͫ0xOVEr@>ɆT]c$~P|0:: kһ?_F,b锼i%aǘ9^h*OYRpa&E=QS&9K{ⓛr?l+~zJT6Rk VEnbMa#+Ŷ=CBď@?4PQ8"f\B0}^ѫgb!2S>zi@-wJ#Qc|Eh%vT`mt2u5ٸ 0Sx uR[Pȼzb.Z`C -Bb{k)E]Y/B0pԧ'd&RCae|yd:8?rx">;0`x&+سa0E3m/{<OwK+ƶUYz1RK"(J_k_EHt ~YE;R[g2%R9 4B_w)D1k6지YKcA7Y vgy:l?ՓUl5WF3tBy0D/QHReT~J$ECe m" KmpDR{!cbi"wx|ǁvj^e<"f!uFmKMN'aÁ&r`DJ lGOPb%@JP͓6DgNB.q+N8WaS;rFnWd\>@^N2dLíPhrZMVb+$Os&Q Ap@keMd(e|"d M`&]oIB:&@Zv,L^{mkGa++j Xjb6lJab;-cM#,]3ٌ֓|ԀgÃQ\ <\J5y/ҰҠjByX$gkCȫ5\QG+xgem>BIIpԳ6e2"ڲ%HœۖW5Z3殙=d68Ukъ3mk]M;,euڎ#+K{=XT UXKaiOr,ۀʯVP6d? ]/3& |ަֺFp%Բq(o7PjYt?_W܂^}37hZpNDl,'WqwtN! bZbZ}cbe~\%WZk-h44jp~WIy9԰tv|AosD¹Vb*t##xc( Bs ijm(.Ҵ _qpj#aĸX9ʈofFŪ.U|"5x|(҉¢'4j؆CuQh񺯥-SN)>l]-4}{2jcnYpeg:D|WV@&,ZVψH- (eo f#WfԛȜZj[=Le׍- H\T;=@8nسCgJgKvTdbUӅĴFTjHd{I$ͭ6ZNy@xF }' u#gC*85v\a6Gbds5;G`|j聄"$ *B 0_׎z_(R37ao^uh1~,c%A=R8Y 8,H3 x+N(a2 79kOGjױ귉)S3AWsH lPMg$ղ|8GjØ'{y;fG\UfllյpŐ;ȶ{u;c>"ƳQݥ DoM^'#Bt,E&3X_j*haѺAJw_"yٜMԐ6̀ilH@szzJ`Yh6]uJk7c=:X;qizI&Vz_- ͥ cDېnVŅsY`ln yoIHfBoUO(%>={xVթe)""Fo5SZڅ\cY9T.ʈR$^IbNj mFf4{[/cƇ(ى 9 ,qDK:!H)J\@= ei&#F%I ,W(k3I e w _Kѯű:<*'z3T6bhFCw*}N]ڽ+`Kxլ069b3LKTa 2I'&nB>3%/p%="2.Gk0Z/N:5*!jfϖT*0yO#=#iefb{X)}zڵL6vNkC@Y౶@/Rˇjb5{FWt۾pH+4&crNV0d͞?$6"ne}W/jes`-^ǭ!gX6gZSrd|3{Ҿ@xvH& W?e;~sa9YpIj&/Q.%FuL4olH-ӪeBtk5d`Dt}uYԼܼ޶(_п@L+l4[|G-''%>&G) 15hdfOI$4ֲ/]YY WxIALR%twΓ Ib)QըI&Die-"f@Lֱb6ɫ^"yߡq avSӋ/8*Rc!`CzgڂD%_]nre#4K#r9|#4>uD5ož~h]].3Ċj7fL"m)e XUȪ`Nd{1B *PX sw]lONGNTAO#g a? /CYY|:66q>4?1y,.P>wl-`4ePWk_oRM -:. T#I=UdǎLH̻8Dcz}ك/ Sz+"x{jaǃ-AnL! Rָ%wRTz+\\ë_"E, h ȝ%'\UK7(Z-f`>h,crKtryyQ:"]L'Tlߐue.iVIܢQX2‹bvb t2HcanK (*ߊk xS#\S(δ%MvJdB*] [*mI=M8;j w: 6"ɰhFqG:|0kK#)zKI%DYp5!Ha$"zQMyqznV۪D P?HV5kvHrc2Ϯ V_6z+OVTĚȴ`c LmN\鯊Iw>>n*%#Mj jzs ?f1xq`uz&0w/|X&#.Vu5Lq/o%r:v ,XyAMYFz0i4jFR&S:54 S/P =\cJ)wt,$6hLYvHR[`VNQLWMr%uN X^vBefQ3VR;'6}Y@E5wX:6|jcG!DRȪ%h|۳})aEC%~u3+jB?9ћ_R8rfA-Tc'~_$O[\[qӓfN|]Ǻuh&`ۛD]$ @;C @ rI7Af;]n䓹: j(q=fs^S7DSa|P~ps5v_̪bSH,ޟ=Bֆ5>Yʢaq^]y hfT[˴lOZXS ^,F/P /D`")UX-Mv{_ {s9݄ `ړȭщ*FI7j[y(MF' ? Xc7޼' .JrGLq:iW"U w ͨi "fP 7> g5S ']W Qu.Ƴk1Z|'f0J+YU:Ɯ5Ņ3N'FaA,L[:{p4=oLk2έm,Robp P@}Z!Img.4|BpF[Jw?R be܃^GCf+(HM#xJr sY‰`jܫ>D"}xI1He!*F⠗o٥R- 5c̈.rKLrilHovDW\4^`9oa͞L+|f^ rbڈ㋘~o ad ,3>,^4Z9LjmIӋ+pUR|z! 6]]}{#] }gKKzf~YA%%ϔصM߁?QQX u+Z퓟9_b#mHyѺ=A }%kI7D\KRapK0Ҹy@ռT'{5̇Y`)x,pL:0rYT`Y%oLbΟ9$Kݏbt62iWϓ'1ϰwɋ.=GwFtF4JDoU՟_@N F^uNI<b3}z樮[OW'ZX}VT 'F_d(,ϲ`kD"ѕ6IR꿢T KgV6zoӆ6LVznPq29ń-2Gvd}=+)ߗhbX:Gl \yH:h+Ԋk]B5-FOU1YJ%EuݕE!RsK{=1y y tþbmN+K ?n`Q$tUY9JΑRRV\d1Сk/b 4L a ^#h7vB(o}kh+ q/ Bg՟2}NroAxFsjMUmX1%/?p]{t2`Mw` +SU >jJHn:DC"|]%bOU0Rײ;`"ni>?򊔋 llDrS|.qN:p+ضAs?&/G kOBߌGL. T[P8 ~3Z%oˏidxb8mb5م'ϝb=qUYjZ}`e=%_`vA(9aژʫzdvJ)%g$at o^^Rf6AZ4+@ zOf=aT1FL=-M%2ZӇУ+[ln12d;|htMqֈ;;IRC`o>9!Owr+΋T9[N+qwc߽k&3Db9=d+xL@RN҃Cs\r?D+˒ M'` $Y.qYwwURLq*RR~Ǘ'PԴIG +Sr-9[,]!MF~-l,kKUb6lu~揯v&OWJ:tgn2*wr5>УjkHZ ?Z:]bRT9`_j]o; ߩ  vr)=Pޝ'WpiO47ھ$Cpm@Q6+`8}ye!o%iy]Җ 7d;_ ]M2} SNГu~օ tt{D7RK`Uv+XG[, b,"?ުj*/]c?7Fy߀$qÊtWj_3[9koXdQm5&S5ѣǘJ@oR1!QLuYJjrAM*E]:BG$ΰ-4h^uXʭxYnM5In^qڻBE2!]}0"K֥L>@Pڶ`8`u좀Inm8gyXt(@H|]X{Vjugx`C`̷=;BWr8*xe`+Yk~O8BV}S>##*hԟ5hl jN`H x> b` ,J6uDJQ 7j*h!@895ud=f Sx!4{~bɿFgHpJ_!uoik QfzK AZY֧=Odju7rM D0Uc~Ȫcw5}Eb1[[|~{@ o AS*J#"ӹ`cLP/ d]JQUvLQ44KeSv 2=Sk}Wd"9S qt_d ^V (AM5!nNCm쿒yk)Wfp]v]X5C<+០3&[ϿId5?qP*Z8QBT] 38:D~)#RT],ҳN¼RVXq3zuP_)* VjZ `rR|rZ\-k޷1@ZAJGߪ:$4Vj.9o"t@IuiQ(̅8Eիdzofd-^ݛZn>"+k}ahFyl?W=*+0kj\*HE+io%VN7&3UQd@#:s[[ۜq0irrQ=|i'U~8\*9˶;jS]irBop_ȹ)"]<Whʩ²R;e+8ѿEʡ(Ft $o!h NB413yxyLq I PbN2#Mح5$L~r^]s>^sOw+/@Ĕ6ꑫK(tGy/ .""p>–\qJ!CHz6Y1 z ]"W?sWUج})@*ߘy88"޳?^iĮ~ʮqu+פ9R@e,ɧ6]|ļlzS@'$KkmXLK}̰6AnU0pm>BZ?a6Fx8e㹴4ƨ RWܫ{3 hd߆8P>wHVnVyeF&:Y+yo$b(a;AOij=cCQ4v[ D7T^; yBͰ3={Wۮ<|q'`$meMp !iUOr^WxKj5#Mj(,'׽ڟ# 7o=IKU2^`0ujIɩ]Pw#4Dž)uݺ# c36R=,8h!ROAjA\6P͒ W W+zrfG@&* 'cEzzJ!-m*d ]'me+SUSDƻ 'nQ9]z]cG\j@M3~Πڏ*a2ްrg&?'n,6D b~~'t xthug0xcAC;dqMn3һ8 >5ΥmIdu+輱GڝkYm0 7 4,ŇuiASG T{{7:{nT!u3H zH^ 4H5~׶ϗ$bSV7@l)Fz&PAViT6 mRmT7GPG)+);02,q`S5 BHtm¢ 呿Af /\NXl0[Yyѐf +#87c2-νo3$m=ZsxaE7RXoND-6@ʓ BV f;si0ΌG[{rY 9(o:wM95"0m~p(u$Nb S? ^y%-pP"PXR:4=WO- v! n[=&}ya0 .RƗ[`yEt6Z2V湴Sڢ5qN'[* K1Q +X$6<˘ L 15UaS-9lU4dr+a=Bck b'5Xkt$h@,=T d~ v=W%4nU_p?N?>^>V0C~EP٪ Y4I44QVzix+AIP }i}bm[ c7AlYB"0V?\x,"a@>E^TQBnw~KltZ+}w`i2C=A7sPʒ\IiGj>~IGӢWvW<18$!)BБD[ wT_8~NQ8X6>4n:TYnJ XJKVqUj[بG=:XUY2sZE5;xN׃!g n,s(b1(~ uh~Q_PWJӱq͓ȏ0kO)Rx7JǿR!~J7FsN&t,-*᩽^a2X F$?VrQߋޅr1B(f1 I#$+ol?[^, ՚7]'w_5]<: Jޘ!C),Rp3{l ,g 7]\+ش͉BP<^dbv=љOb{7[ 3rq?VqD^ׇy_AB" M͚آߙ`ԙ+&յH_E_X- ]vE>~ %aX"wx}}s}LM|?Nsy,IK1%=+ ; u30D ۈNl&Y孅=uUt){^͌WnWkX*+BRhLG3 Pjµ]䘒hMdu8=Cr ͲiisO|x`~j)l۪2줃.)bEsLSpn ӍD V4$qAp'/ҖԡJI|bdՈ1ÅoެnxozN%c 87ar@5W ɚ^4a\gI^KHu/_K,;.O5mc9Ieܓ[K1pmd .D}Ϝ'ʔWU [GK >M9'MPj8C3dk</y=֫p֠P$^3JUM%ͽy!1%eP-jbLأK^$ʞi@*=2Zpվ;~ QQ$Ĕz/4!rk` ryHa<ߛ="`n8j1dS~kxmj@p091e\OC!VfZw f7'MU7F@4=7aR-HcNd3h~l0[)I ^Cq\l gvzоk[I11qY;.~$<pvF/@, Sݠ`|$,=Tbu@z}sc̺k񪡅Nj I_s*8+,fT'Fb+xf |rNT_6֒y{ϵZwfN'!CҘ%{` y&/+>n6j3\N*jkbT;AVb$ )E''~LR 5TYr~u^0n: ;0_ms s3'>u/~Aը38@P:1z.ygSQp9 lhp}2l{ q:]Cy?p#sŢ0Ъ(0F<~?TslۻV`贱3`E.}[" 홞0}?9%XR4js +fx 垳_()&.WrE|%ƚz8XF,>&Hn.IqlA@̗zR@0]z`sK 2yM/u @% I 0+$\![p_e*6_MT )E F8rèWw:.| 7oЃFNQAn:gFb1m 0~ArλsQ,G6ry9\6=Op,qfJ1NֆƩEWPL'@u*E{`aaYd v W՞JJ߅>6Ko*Aclez(]% grNXd6>G'bSi-!YHa*_3N`Z$v%9Ӣ90Iv*h^Y{{J8I;v5-S3^eF jZ]mJؗ>DO@zG mLa"rapڅSesÉCTPT{ 3YuPBP`tªvE/y^*X|m~={q6~9Z N,dH7_T5.NN;O6P鑪,{ʍ 0:l-MtDB`=Bͤc<[y) /w}Sa`LdBOH:;xT=^ĸElU5k))+y_qZo~9UrQ- ^ ;H"z2 )R BeM/GGy hN}Ɍiq82w ]UG\(vU@3[Xm 5p) HZcY̸ҽ4^<F`:gئ% 1#`.|Sz lo=oJn ] 5hd%ulhwTv<.sVz 6x9!fԀK7 ~Vy _ϴI)[F8) D`uT\:*/¥D@~S2X//yT? 9w. O(19۾ݚbSm&BTSŚy^x$|MwST]E[L;.z E\A!`hͧ]<Y%sla9oS+~ ?}Ho Ar&5Rmq^!VfԐ4*B͸:Le5Xy\K>)&K/xuCuӽRſd%U`=.3.1 S2FƓK)r4:j.snv9^=R;d_4Z]\ӓq1^}Xj"0~OODJ-b@~!@Jys=BwA,KW- W+>uM*cSoZ4ۀ+r<@+DU~} rݸT,ցnќ8V:'Mw;D fQ -&8kR<*̧.!P!OM 8#d\9uޥyŮa/Yt\-E5:]Ұõ#wjg~!Jvo_7q~2Oi?`+ @;h\'Pz3دI$Ջ/@ _yҨ *$QR::y6p}BJސI^MӁgfQ.jA`(\|?qAgհlZ0zt'㯮쌦&9σűFi{7=1~ >﨣 $h-IZ C\R$TdPZ۞ҥNUxdxhnv5Vo~"dyܮoQ`o2_J-RNȜp^r3"|) m^1ߒXkx ե@K"4dlxK%$c].fLMlPp`@GofM{ݩM] E'C'r*9b"^GP؅p36*`o1 @ܯܵqv&fP^Ź: d\QÈ$ z]χ6oR$%1QhZ7Gا䙨~ٶ=ȈO\yrH2EΝmz A *n^f,ũW;O0 /IWίW.DЮlLBplV6i`c~`(,!} [rW 1cOx40?LhyHG?C& @w Y9v2 G )qmm9auRF'#nDV3 ۛ -C3,1gG=gt޶щ \c4R R (s}#𩙓OɞOU-9t C]FcH0\nh\4_RFnrk}ϧ![%d/e8h Kɗ㯆x6ܝvgL@Ve%M_gK˜Y,M^({]ii#8]ا)Eʏujb!߅ V! +:!iq^e5Ê&3{OW0B?AI`4T+ Psf4Y)_ p9gJ}E^*UA y:;[s |@=- 1\t&JKADP +w:lQu9jCc ײ%.IUa{(zv*ʳ(ZVۥ^V~YMii@F7P90/Z]˨vjXhTC>SG]G]C'r i§<'J$uP6 (o?cz+F 3 kTv Q6k]|tzE4كڪ4sWX֪֑i(^qY >bŀPB&B)T)ra3DМ8{ #(Ec ı@XE^@Ehy[,N&]:!iZ*J\۪z &#Y 0FRD*SMPy(_v^GC?'XUʈRI7wbb0FGF~9v|, %!,H̽j. 0VClL?MtkH0Y)CK~Q9<-,RH0 Be B'ˤ#Lx5ڎصRPY=|%^Kd_`y8+Cv%N]A{Ic޴)[BI0.6N8>2g0ch_lz'UٺϢAWFՒt?NĘp&È Am0pBh0i7V C'l ^8 P]ywQ+, uհ)/U tG鞵4EWRzHqA{o=,Q2s8 ;?->K:&QN=SzҜ~"[34FZDοCKɼ%YAmg#9qke>`3-r&sy,CVoM;GMmkQ^a֏:?>afΫH ncw`[S'cs]pTZ $esл^ UBj I#-p UuVӚ^-ٿhooz2q|(!}Qn B׽llg,R5(&?g$ZP+K?2) %ǣzFI_45soGzL94a?"3mQz .)3;>kя'LA}ƜlJ鬶Vhp&wڋ2bN(NDhl"B`[D܍%ߐvT:J7nޥ%͠Nߵ.dI'=j"uuȒtOI:^Dn*n/9y6kgpi1rVHT&ٽ\4%W?!g((k =ݱ@88 vctQv&͢<u!7*#HB9>w!?{zdzہ1R h4:--K}O&eRDp$<\WZISkO8Jy ݼm ?YU!]y(LPO[P)M^  "r1Ϥ?l 82\A\T /J>f֚wz!!,W42s4p$.&>[o >-bcˆҘYoՓWg}h&k}o'~4H8l[yYNsW Fi 6#el$@8‚'uW &AU\ј=oTcH:n8;V3&xZu*qf0gLl $b!+hZLQ2Ƀ $c"B;ʿhzROY%6BwTljtѝxǁ?6M.흑K]-\Kİ"bbxj&8W0jC"Zݚyא@URE'[LFu@^ 45F]/`5u$mߕ4YvTڮj@&bŮ} 97 RJ4'2[N^0`W^nd/}F 탼A<+ƱZF <^*udg< b&ŕ*"'c,짿oﯯiO;G.k-!C1qOR=2D{NG2c,^G;QM$}2PǓ/ݣBYֻin̊s;{]܇*-/fV3F5@rbe 1̚ ef-Uz\__;,-_{e=GdtL&͖; d-]A/,^AC$q ZT.X;؃3~!D-Ve(9_ Ub#X_!~bxxO#Hp (Lsl4]-SۛS"g1Ȕ9Ɵ_Td=g@؝eA,]'qUxSخzw~kkcäQZkr 9QK۞kL{C snj5oHCns;"0Sh]\I_46{ᄡЎm,7 Jj_fiaN.Ʉ:)F6_R̘ǝpe6 :bcN+ӏ5k 1ƐH@9_v %-C.=r1 ä*O}.B (9C\om7pKڜ4 Y% ,q "k$0Mw,kQ4{}dܶ+1ԩ=ޘ1>( v ѭb5484HuC$"f@pڅvIaAM&4CtA^/mܰ4f#c%(R3XUµe07ط/|y"7 /]%~Eʓ졙YW`LBF:J>s|˘Tw-aH+vYľ+zӢIk~b?# :ɥPՏS_`'<{}dzI'R>¯AJkyJ.HLц7GRmŶ]g%Ƶ p9p6I_t-;'"$>`EuR`|WSN4@"4q4YWh{L{c3U#h85Z>%lxBD^P.־]'ztdjF3ee&104:cDMҵtPDҞMdf["\)=OL,_> VuïS~_ VwZ3֙VFpn^9#҉zoHT HP8^r׹EGսlD7&3p{@7ݗ_jG4Po!x[<*~ȕVnҍ qTa*+q OyztX<@4/TMfĪJ!* @}/TK- +}}ۗ WK/g"8 \NJ}$gE؀jAB: HC~vB}ɵʨPǰa_>u|9kNhESGc`nn!ڜ_A65Ast,U ْBe@IE5mдV˪Mm"6lgih_pA|E顺`,<ި% Y*PH`< %=12;@nP8'ȢnN*ӆJ[ǯ6w]$v)m? 5)Ӧt3jSeqQ)V- MZ#{9 /BFlegp]pp&ܛX'&^8WpU fM VRޖKf>|\^?J/KTT 8 ǡH3y0mFA e<ᗒguǤFΆqIsʺɈ`Tj86MmpYI\WyyQ7y3EKuDy(.KBi? ǫ4-4n0l4o7yGglo.M^: #=D-5_'Pk@3|T `J>憎O-X)-YnmPz`dXg|tb߭q;1%-IzxbZ3իCe??j Z<ѹLl\XhO("^KĩJNiAQq}#C0SfHxg3% 6ap ̵$<Vx{UHQb`95;5 K5)5r#\},It-kS}3\1KV SDN~1 ]bICcgĒsɂۗo-*;E͘OsDS2bxbX i3AKdY &!gn)˄= m7:`vw~}b^.c LX^va&C!=P4U"ʚ.C%t ёוxh)QLeòi>=#ƪӞs lPA!Ǐ-󱑬&+Z U 7hadi]*L b6?[$aC6 f S׺lS/9+cK/"&)I ^KC;v(-8bb>S퍀@TBVCR~ym2/W Z*%;iy1{q^9y=_->ClЁ6&pj }+~]׌1p`;Y-|u{ܨw:e<)u^'kc䆍l ;UH֚o6.*q^dÚMCx#*rQ'׀lc܄ڎ`(o~I0R8 >brҙXv6tn{{|4΅b&uB қ i#}=F dӢ8| b`>>KUաYjOT7N(KC^-~Y:H4+@G{++ yW-!jrۧyRǙnqC \hG<U2dN 'D Shl/I*Ŗ\Z hsrD_=%aN04~ǭoEYv E֒0|d*Λow<ZoFbM?~3&/Fj:gtG$NnUt )51k3wpϒ6N@^3@^ёsP~6Ypv3D"93OWAr=(>F6jZ x+Ӄ"o<yIoc_q]lƕoU5(Y P/sۿ[ڞN6^jw eP4oPwgZz9U45ȌPCS|e>,$^!p#$:,ayɖBό#Ỷ|:b _AAO#t7+_rX"GRGbedâ =WTVVvNTg)OC4Ce8n\? ݐ,uyhH1PIՍ&x# { b\w4SdQaZag1G3)Ltr@RIuS3俚!,mfiLbc.ڇOkga:rl>+RI9ZE+9#^>%$mXBE ;&({ڤi{TS<`17W__:`] |HZ1䛦iy7]u:X>lDɧ{JHr2ڤ)O/f7lnƩXU<hfb$ CY3t͐ԱaD/]t/NQ00 ]ށ7օ)~yz:û?-"`4.W ' І_f{ړeTweh2Fy1z|vSܟ +{\'m{uT7iFGV0%xW_?Y G}r9Ba~htU]_5edWu3':Ք Mf+ 'p‰*gNG9)H+)?sO.M/)tr8?a9'Ey%Xïr.Ԫ paehnbo-]ASh!g'A^RVqNywTS8 Ӂu`+Rl>eֳ4]+fZ_&% 1U 7^wo$1/PGۼ|>?(+ u$_nfjߟ:M1LTϺ- i̶ؘ5SF\9Y P-u:1VFF]F ~Ѣт2&s$krF[No)x /DwѤvO[!h4MwyD,m)ofO(.ו k单^p+ Fk9}wuӲ-H.88wqF )dCSm~ID@zjZfĞ b_[<ը ?L=7Tٶ=u4dhOj^B$(͜V{M@?إRm V׼B%w 9>MHLYQ4RkZ+3Ke KPDa4 z1^+..%2?a3ҖoqBZ_wɌ{Q:@X.#= *X}Ngr;|sȁEGm_UFGV_QՉ!{e, P*u鰈 py;1-PvTBS<# Skj}7XQҒo!x /^{0Zg]_]fi,"4;PLfPdKxtv%>V zZ92&Vl/| P[=X])|Ӆ pr}u{g]J99"<\E};r9tk??;fw;ymXڡt)IOK9vyc>bcn'f+džgg 4AaqUp$y„KC[#k0C*fD5(gΗ:sȕqn(e §KQx" ^,bj.0]MD3 &o=`=*= _T^ZMG4T c:eGۊK6~l 3<']ͼY3-{=iUH͐a]'\"kw;䍐##]so/>g}h+]PsxL:q]HvT)&ofF:C^VlB߭.U7%SqmnjfѵhzҒOPivoALcFrl kú~C8aRSo x$  a'>Ws qHE$'۪Ғu5ET q4>,p*ִ^(ZrI694BD3uS9çͣK1O})|)r:pb@2ʂq;5D,(Sd!, ?ȷN {oxb)'Xp{?MNw̃Vdȃun#K߯E|*b3TwF0!\}a4;?J=a eBq7%I 9b'ٔlU^OȓDOlb[}@-Y*g'\ g&k[i&ܴY2 l~*@JG^3G^MNw Wt>~![#7)R+WS?_WaFUJQ44/ؾY#g OZw'#0JqR)պND杉z>Wd|Vԝ9|~qs[S&6^:tu#B|@D; HJd ,uÎSwy[n/Q^-6brIG7];5r=Z0@](f'l!'/X簶K_DNk?_G[dMCKusH ё}BIZm?-5y EJ `bMGr.aЧp*Iv)*22Cj'˖{nei w~Ƿkګƪyk Um 0a*>"eXLjVonX-55A$DQޜr&ں@EE!oӠZI)|thn%YWix{o,#˛"^?o ']7CTΟ߷KZpf &@MۈN"NbsU^# ?[ݚxQzH& qH:j)"!~P-6mOxc6|qP=H!B%Vo?7qǾ;h31ƛ[+}K&lbN/;rO˶)gY?|qLJYz`BayRh~@]z";`/"at̬GULUS1? y_qciw&X l]hn_; /B<0DD8/>SUAІW㓝?8ŧ(P(a'④BQG=3{$!(Ht+Y?7'{LO>Wit#)wVT:;?c 2Fv ӗýx{ۙ+~Oh l:,f[,J ?>#y8 ^FtW1ri\BPفpپZc|]W[: ii;t-'pZii&.Oyl'ݫ O@zZ&n6Mh:%S|)R iLܡdD1{&2O&3MުSxv1屃hKD3/p'aK>qY:&?jnOۜ`vR1ũj\:圭89/`Sd9EޣŠ;opZ4L/e#G M5 MM͍#NIrCN9Ն_knO -<2C$('Folw}%";#. .ԄZSU1e> 6 ,j?d|A@(곓"׸܈5c}6韪=֠O_{+獕= X,۸B1ZͳYZu&ny X>\0KJ}6@|!) ѡkף[+ƶYWM$7kío`)ky |;i ÜfEhFFT7Pi #O@8te"ߟI{;*O!,Ӵmc)yg拓:*+ ĦTvl,Irq+Х@bG(Wtie ]+By?gR]줿֕#CH96"r{ H-0%Dvp )5^ %Ԝ~ 7`4ήߨB6vPZa,k50^萯~¯8UytP i1/KR:Zk}E+(j`76ah8z&'XJ71_ @vh7JF(z_D؎ ىz0Pah=?)Tw}AЇ&[(k:cVqa"@]>?ن \+ c'|ep6c/׀̚J=@Gl1#+Z%<Ԇ?'O˳[z s0N]RrIz!uD6"俿] ֖ڟLXaCгݵ* WP @Yu2MNKY'Bݭ5dе]zO,SKQ5e )g-f ~O"4^J3=*8^hioX%xrK12O*/za ' Y60LtfwRlj^Gy9C;Afc1q(\LY?&Cu7C{F!xfxZz`6Oh+h n} n ]Ac/qn~b`m];ZXXD;:;sBlfzmu;C?7Pᙵ^FO]a{/ N9^F@g7Ey)wn 3)oݦ}x*,9p4b3 zl*'fIlYCB TGT~rQg^IaaeA`cf9#h0X4aqXR5 ݥ21ݱAzQwYvϕV됬 ]Lο8< 19 /t#(@aU32iXu<6OųL yfCdG߄ b4b=OjU'),?#TCb0d^4gJM6aa`.:;@)18bLJA;0j S_a#Y=8_N_>wg ^]`qUɩp͢U8q=*HsR*t[0Y>0Ln*BncK> L0J(epwՒOgF&*Tpgy ߶2)tec$ p}`DdpXcpt4Znz4λxn=J@5zOGnAƭn@N!jEC"o9'4J麲}}KVF 4,3,_=ꙿlq^ӎobuYO?vmN+${TmLq_ޱl(K bΦ=j|-nιPM~3qH+MӽiEꢸ0]Hŗ 9v] VޡƀL FbCdؓEE+]\h.` ^jmwNGȵ;ٿy9H &ږS96^pœRڋÿ0Du!ZOvY]p|pӢ%[W`+* =lZm3cx5z2=pg,PA/B؝I8Fסkg!fHEr}A:)ԙ`>h4o6uq nI jVc6 p7ںWBug+{m"~_ h`e?jw` }ՒϦacK=R4OCǏGfFGBV.h)$gHK<٭w};@h~Wxm@Nv'PvڷC[u(.bG?>bA: ťx4qJj<\`bwkz|4fIV)_⟉zjV$.a+&!V50h+#;UtYi=^omW,b/-W@"=ǥVmuO?:!U<D*%EHT*X[JŬHGYKLt9.Hs`3w:XmgKpFrQEb0T 4 m lNv8 wuj@o&=a]̃V2|qq&׍b PPE19Pީ"9 U_*+ɨ||i)s^A]?tL6HB0f`hzHIpV/17;^f\n)3E#L_7=A:9N^IPh08kA_'5D'D%&h=v?K[۔9~l .ҫq+OSؐ`!|SI0'N'YKm_)Ut"s# %Kf:<ԇU@ (y+ԫˇ R`$6,g?f̾)bl.Q2@2=ERORJ' yƏ@[!]dT<-yE$EM3)^{S|ZyTN<>u1 ASy'Lo-*۱8RɎG?ʭNٖUR82+, vi|O9G@&}6C'=VGfpzvtB>G'n*8Y(H`60f G̽pi4!Fl5#~WZqq鮰7%@EQ:]v '=æHi%'YVfHOr>zqq['4zM[%%h)9`PN} }GХFBK~aTGbR,DQ/e BH^?NnK["VGPm9g Jz#0vol)m:5{/D:Z|h.*~2`]%EV1-ʧ9Ws(T75$l%"=[.y7T5}VC]5} wI;W2\2+w(zs{$._MԪ袠X ;(Fta4^L츰%"z\>X;TtcV%/QMP0IŮgu_pQmOcΥgm:T gqxWZu y_GXX웂.)58ߺvJ%DJ C4eIX?^ZR5Em7gaaH!TQ+0rdWg]MR Lw'Mؽ1 xvYannWNMA^\~)WG'skȃ 2u%` J D^Tkg/W`U FCwܑN%oa6Ѵܻ5'eM$BsRtVU, ʾ);7D>%x.9S̛(z'׻lv8wjVv}{2[uų5eqب2W ;}QNeKǥP? 8F!; 17D;H}2 Hޭ%h3iOzDUX2rHDŽT@ = a%ԍ 'e}Ĝ|J$'ӴQ %$ͥT *cGoN<cҒ,`2^I.8v-_͓tѤ0 5s.J𠸚X,h5wԐ1A v{n u$ǻe46Hq@b:_t{z~gGZt_b1.k(h;8n[U"H tUdl2Z t=:)tϛ4P3G>sh5I/m*>|yXNQKƗ *Q ]^,Lj+^7uÊ9zl>HS:tFuW1- G|.al'4Y;5B`yc2V%,΁3yŲ:gH`4ά\\:K~}S+S(1BVFsXҥvUĩz~Ӕc/pOVv2L QOCD/bR6r!E.p6j'P:_'Gض|<0":?*QB"UϕF2pKDAY8ͱ`Bj"˰(,Ch;&(uO;d<$k3wy Q5aVhҹDew_ m,zyv4~;I{z6췇"r /(hb+VaGy;yalwQ$qyxaZo) ړj[;{&5HgsSypSQ+*?oO@+t:@`}:,*U[;nB1^҅m3`2 \đ:>#xHWS;e5J(@}۹&99NCs1Q6S,d/ k{7a<=k|Vݏ?ά18w"D_ǁz+=i[=-ݥEa>  \xМ51b t5$1WB";4y 0m$~P{zKgb(ATgFwK4wX WFP1)ǒp̀,~[dsLƔy9|X"(|)T ΋E]nl/bפ+٫B'!]ɫ G +EPr#%i STW?M#{<_VHj aX)'tk\m.@R.utO͕BP~A-ؔZ}R1OeJ"pLc鰳'ŲYD.):PU:?6Y<_|Bl:_b3mq,a55鶐2)| >՗8s+,$r#S/'si'!,!M% Tto>xGEI63] p{zȚQ^8G4gMB>-!I/C[dծ]Dwu0,| M,w:Hq OffvRU_h(RA@#Wڂ-"GBu؍=D$Rk*fJs?4 ̑tLenJhF,ϗ'sS/6چ {$y%gHR,k%ɛfB5۴w>ZmJ6C5Nr3bt0qko"kaޭ]ktJDŽqv(նE(CNU[9w sd_N 2QUXL 矱(+shKTj:©@D3Pk:FB~ʶz>;vL!t/3:dyQLϺ1^ x%ٟ\2]º o)Oa% W2PIDuxII~p vg!,D q^3K^bFcO=AX&)lvHV漶@3Q دDG-B70:ѪQ] wHk)6'F4T5a\RP[X^ZIΆBvOl+Hm6y[8?(3GJQIn3}=w;oT]~Im+s:#C 8O'fn0*L[n/_kpBGVO(rlN⁋}'mdd킇\4YEǬ'tPsWE*בFJpdU*.u]Kxe@%/;,U=O!bWzt3H < ͌}`6V¾~wa9|י,m(<.x&$e]Hx[ b4v56,j'<jVf䔬%s̄8;S;q3CizNP*@ zUܷE#mp w_D٣g'gpDy ^΄,W!٦߻$( pT >H GgeW_oRy yW!zqW9CSk6aޢ6HNf5 gବzm//~B~>CLl2(_db"9Fb0.(Dps>c_/NnjS‚k̼Z@u|FX_;J_p0MN( P8!PuM%=]Ъ$#d\@5"CWD]Oȓkօs*Υ9qmӅL \RY7קP߯wQp1VlF~$ꗺ-.BJɁ³NQ3cU+Ѱ)9 3lR>Ne<$&C<x& JM™K|]ڪ0-TRE3 )C8"#ZCf}}|.B8EOS:Z΃@щR 8qRxTzFWBpx oG.U#[L7; 厦EPh`g=&8*Trʍl e&y/S3oǬ4wzDI_\e.ʙR,3c\ RqqlEL4RqYd*7w@mbDNu#x:DgE5 `'զ^1^@߾#פ\VK|Dhynq33,gOc-Xgt(i.Hxˠ9]H0'`&Lꍓr9wW ̏2Pغe2S M:V"<|Eh΍_@YD for̆TjQY\&MD[Y47A}=^yB#x*G WAn7>YeO1 %dWم4u!.LYB GNZR\:0]cI6F'8B)O\_n{Pmi.V| W#BBYc#R4i2 -jr͛R~vK;>wD tg8YD@EI[(B䍉 cn-9%o &j538B~ TlOw\kgCU7stUQ@=; % r|'@Il~_eqOUbI.Vot۽oWuel rGB8URCZmnh.$W#!:I ihՀF,4XrzTW@{'a Hl*.Y^ʿi{LkW(U uvMV$@10ƙ 83c~^DžAi'$>(+wtb1I^\g=ʑo\AkfD.MJY6mP=3$7.r0&kh \{1u GsVF{lR%a+cyuΜ l?p Cd^0fdiCHgTӏ8|ě_$tӀT#B`NEtܛBArnc .y]@g/TMbtm`nx(ϥ0 F:vTdbj'#~4sx*WC9؅.UMl = ?g7xrzW9.J6l]ɠLX]ǿnsU]K;ćew(wQ 3'UÅy뉯^"vgJ0XOٵ jywof=jSٛr64 *9. ͧ?3m+P5C%3 -ū821X06LSWC(cfLU] u'*+F!BD_TBR}m'a:{第}SO:<.ӌu!I(>̉'2ᖀcn&u*G`1'{kiV{A@n5Іh1܄ SvsqCn(_d[m5-ߌ!S@N+touC'~^|ᄿd{t};oNi BʐhM| "~WVQpU,3 U!ouY?Mb?~]'f@vz>&q%}$_>:phZ3>Pp2M}Р9&-9K1bjY|g8,~)fv],Ysa_E,,3<{$(Ê/l P/^>MqMNFaScYQaX%G W81opw~ Ňb'T(1+l:W=Ns= v=CU+;t?E=k늎P!]V O0;aWR 4 4hKxhD7\ EӥJE{ok]Phj8'_Yq ^}/ !"4I>eB90T#ڐ +y\NWvլ`M{?L}msRɘYI9mYm?w)c1ȟ~rJJ ҽ{ApZ ˏY}o:V A 1A:}4\RZhWGe`Ŵ)0 䊀X2vŊ4Xi5~jPq *g1A[H&x;OTZ7LT3Eb8`zG/H07(9zz{FIL:^1p6xF(fŬ9.؉OiM5|˝Kx1c/>OPCU1]ɑcqȶ W5t#} R |kOl {+zI<עcvy:vwy%1rJSM9OI1- ? G!@z S)&E93d^Iٰ+ g4Du=⦁G2"T֠ Eub@zvWk}+I˲0aJGeÞq)8wMXP ίJ2hӯsg}24SVq1JrH-D3x8ҊRʐ2>('xKG0ּY.ǢQ9= #eJ3\1eWCg,?ʣCMx@)ώT3F^Z}ւN=+n\5pgסd'i4las!'i?cRæav+{| ilٕ:L힍H!2a|mxU^;EϠCvU!-OT"^Q:2]"^&+{}C6K1+2oT #rax5nơKt@GIRB#/ٮYBF?ҩnRی1 " +X\_0f{=vG(nU7\+*rh,-Hx@Gd9WcT Wӑaw(B ]lvϳ #ծΘ$=Dk+" "-;ʎ i%2"Iv’O],Iktnc›/B*r֤) zEthIH-JlkJW 4C8IqessL-`r T3T7Pi)-b2GIN%+E4._=A<[@+ Z@jr\ @Dɉ\ HF4n؛*ݦ ']?L}qN6͡< 6g=ɳmXu^>z2F35MJ} ïbJUmD {*fWR:  ح24/y_FDzOYǧ zGԷFL{+SF?vUBonFZWv*"Ӷk /3[5.KE9!㌈.<S+?8䦜ZtI#i+| W ӴpL$"<^?i(7+4Hvc(| A]eE~Ǎ!EaB~QENO "EaJVa±&ubhɅ@07hDv7EΎc%s627V``x5\K[VHjl['7f1p ͽsɩk0a[L*ӻ A;!-e;Fmr=SWdu'/6,7" AEY/c'ű1hT$z6K#rhFUAl.7vz4X!*4s̨|}X^xy 1N`1UbSzaCgTV*~FN؎pz2{r8tVM-4:uo3ze2NfaX(F[B4OL0Jp;>& XiLYTO5؈itgz-r+By^GO V7@*a-Jo~bBq|v_A\9-Z] zV̙m(fTvYX1B͕ k8'EhL{NK) k wY-0O'=SsG^O%]lt呞;Y( PžUD21 c{LEPcz~ 'c̰uzgPBÙ=SzdE1ֈG&֘|oLuYn`Ts_d`Z?uv"lj+#ldFe{/͆^ rW]*Ѷu5 Gij@=lk6^=DE[ۨ_9KH~2e  sɇMxz55p}!^q 6n*}G*`ͦcO?2"o kKH;jsc_ȿ3\i4!_  w{uINvh }9K~|%V0M \?%T@ӓiK}`.B{\%7ɣ*MAXwB] aŏ.A j,ާ{)oI8Ϭ gȅ݂8:pN_i'U6Z:C~Nܢd1O7< g鏭DHuIz|dڲNsy\1{38l@Ѷ(*Ww1eQuFuP(k qo +Qfѫu;4&J(K=TMC=LT|RKr@:Xէ'2Ԋ>CťC{nx6n <Î$P s z pf`Wi]-j`/`]v?/A|MAL2&{3TIF(`7퐉9-u TRj}v! іbV3+x1[pR*`EI7f_^@̂D*lX-]iZă|VHg6)dnN7umAba8fw~0N#8CL2@]c-nK n`mǥNz)Ůpf:;[7FaT"Up6ߺd3܀ab2AgwoZHpv/aN@y"u&ٟ{*#7Xj7%Tyw6,]X\ECʀ!ۛٸ%/|af ܇7rg iZeUB3B`=%x lB&T=l hBt*%0,e9-]GB-x(n5o@򘭛_MtdvHL:dq eOuVѦ (=sd)͹i Tg?^Kh0z%#\;xxt6%pwa;-|ogؒMQMT4rJE&I͛`w3y`n_/eف8t&& 33EDq̠~aYuv XՐ5h`D \&!؟϶4L˪D J M޼ 'ݚeysDr\>eSiIu9,{pR3{dAt0~]' T0X_`]Is, }U7{~&ȨYh/~ߔcl_ bbՕbr5-Gu_0痔%83b`8>p>U /uwFeOlEbׯD~N !b < ߠP+4oG<6c/-{:CmXVĔGIv:ʰeC`{CnǷtdl%=E#}!ؑ4{\l,Kq%(ayk}TdW2o/n%ÓiWtGR6'=wU^L_8 WZK̑''dpO0;tb,X:N0#%pYVΣBLܖ.`! {G%At"e~YA\~|{P : vUlv$"eQ4;u[AEE`f3]\p5I1yru/ _0v(.,O⁾:F;/]e1%[i |MYT<)B䵁) lpLW0;DXsӗQ2?<jPm#v9`:P3Sx>2tw+ג܌-cwhK)W%_}00j;n>sm8Ɨ/dW\<7&%x [sni+r"ƾ}H"U?}yYpz݋- @HMbe7fOLdSjF;{+5B'xK7sd͊lP^/NBD&zն?nЎ)S-`sAQ!3#<,zyI ^$i`ӛ >ڄQ7\1_@>2ƃszͰ$c+){A0bδPj*FϤ-L11AB$9.cEL d[xLH(*Wh9R<%;R`I&'Cb(ki[ t6d50"5g~V@|LtkC1DY4u+&z yq)f#5ԉ7ŵW3zelVX쑯2nDzDŽ K:/qG2fxfu!"0rC=lxr1\Ì#Wr_((c=,I1-EGJR.:n@rZ+(˷!)TV% GRA0##+%kjp)Y,\Sk~4vG[̦YWW0Y6.JqPP(H&BbYY4jXF UU_Ý] G `|GN3(9 +tO,jVڈN秂 P'+B_Dޏ0#=|AP^ w{#3ݼJLn(4Y0:Kǫӽ*qP"=ٙe Hy)28m{UΕ.JyiAce:D!\!`v>zgfX\oaf4Dq 1j"R| X4.I^<0.\&Q* ͩ~]+oGt&`:UEB eY&ONoC*p`Ls)qK$Rɴ\ͦ | e\=:.Tr }\x?J~D0[x!hφv%&ϩ0[C E͑|'(f!ag'Jt6Q>z. uĉaiպfhBq\pFM=38`fF~|@=ʗcB6a1hЇFD{}14M4HF:6%݁ZKĵ-%푥3{|'L\rGeG*w,xfM>k6 ^+bɄNh|L]{^[5t"0@"n*>bnkz~qǁtVF /q Q3e-_!29IjΈ)fǘmCʷ20Mx9 (<еr% iF82{E4 )H#qOKCrL.z 81)hb xKd`~ g}K]BU yE6*v"pL*} L M( Cyͱ-": zMp"LWq\[j E t, 2>Opl.F8dLd?8b"+ڍ1MHF&ZDgJ$v3ms:~Y*ŻN@v ?ڃÄ|5 3H'vWRX" ўk)>mLɌVG X+m$ǙA՗{ט0yw`A*h<٘'fd&I Iv]t[Idnޥ'=-&V9M'ͧ=8}Ǫ\I"Uoa4^nKgfz$i{b<Ar>WUP\Unz檳Ve'HMHt ,j =( ~c'y N23Ќ"J|߶ *l og\VekIkߞ]Ǯ}BW] CdDxӦ߈ (:2GjVkHcBbw9 x8kD3]& tJ8M'Zyuڃm0֨ Ŗl]&j'ytqcéļ͆Ea YV6?Qh ?9%tk'օ\ow-K}4o:;{ Rr|ˈ9EP K8.+X[['r~d)Hүp]Л':&+-j׳F饊310=b/y; L__VU;>G ;BdylÆ4Z:CF"3 V oׂ"iIqHxLxP|ү h0N^A*Mkџ=SxTVXnn˦'yJj}&2B Wg(d8=FCHa[Hh#y4i -U}N zbZ*v'8qj36-1v=ZWj("8gry4myCJ51R#}]Ys9-`YQn[r{y2[{+?Z՞M 5* Pw>64nP4i>x `#4(ErJ\ދ@6>a WFgĞ:ӀrpO2/bi%C.Q^ui!n<4[Reed)JF)[dδ}D>hL*H|vDŽyxUg*Ou%njwaYfx>&r-6ϟ Yx$U3"X|8rSP$.tnK*3r`5 y0u`&0M*:p(V虊liHmqz׎%"WS)diZNX_Rl/i4|V‚ȠFLBy&L^X@KYp z[qt; 횝,L*7Fh P*-|!fصcG#ZcBT \t)xMir_qoI^q&Җ)Uc\K$⠌8P!u1ƈ4"-,I{xn\/tO9aqd¦^Ҵ)>ht!NsZϗ<,JC0ZMѱIaAcNچ@XntW(;ªE4րcKaT nHbKF|#U't#[=Gƒ\$ӻ$./ރŔzÜ';c6{청!JY*!6Mo>leU ?dJx_UHޜbˋ3_YdԾjD s F^DꀜB$Vz剘,%,xsaQNypv ΰhݰ(Z̫c DJ&WumC\NR0i'U#Ф P{+˾'1f/Y4ǙAg@RPl~GQ"Z)gt6Sl;02l2,Ӱ3kwy㪾>  QGEDE3ey# $Ԅ> cڋ/ ID?W'};f&Rfj.d(;qT>&G`)JE8 TUDV@:m  43F(E ^6/UhS'ohFWCYYV5VX^0q];rEd>uTU"D_儀} !PH;kry'ZmFϷy/WX5: " 0nH>XpA0xt&g'< qA޴\ q S?tГt:-myC֝4؞qu񾡧?)҂ڑ{?\S=ވ55IAprUǷa9L9/\aLKAX>(U#L :% kEnEPdƢso*>,83k?WD{߳bDgh?z3C%1YWBj /zi=kWW&dόpdyXb^G<)5 \2B#) rE{MrFLx{YtH rirkճWA\s `~8.U'u { `Xg8 ]6+&+&HGSm\6Z:BQa$1p[]a5oG;' p{q}n!ZV!ћ$ ps>&b4ȘY 5J3*:1Vw.A01\~,ӟ,x'gaՇ#/,p~M$ZiUP+k"{BC)wM>oۃ_YMXi)5,(!ѣfyȫ sKt=}Bv7o? ?oWujնV WK70wTnX?!<t@8Æ"~'Igfۄ*[y.v!)T)MGI +.8Td-> $% cON>da, 2Hf^ B|O W݀E).z 4VaV,W5"\s+X%;1(e7Vuτ3,q p`(9utgKO>J ұheMM9i1 {rQpsVs{,kl[PLO]/9 +mbR%t4W' k#-^r/+^AbՓEej%S0rU8J*e[|]ۺ$&͖gR_a%&EylۭßA`c֫AFk7s/̊YOm["^v4ntћr ɒP:W<' XZAj5+n;3{全& )t ʣ\}01~gYl}Ԥ̀Wx_Q^ʶtRz:jҚ-R`OV\}o_i3^ oQ!fcnq֤ln񫍷Oki&?7`>#+bL7ТtHjM+FTX ?-XXHyc[/G |JXYg&M@D7L1Sã Dꂅ"8CM ӶO/T$|T/2CZS0iY&Ӏ ?^{Wot񉟵p.0Nu-B"8B ct`wkCRe\Έ^DKp٥-I<$L^;T6NYbKgѪ7czCl}(z*c( XmöQrLU{cCb~/& u1%$6X*.J/?*3J1ᖶu?v`b=;K1n+y}lp꓋oy&'tgWcݓ_"znHf<29= x`oWz }^@sAHD@~r9!1G ;sB$w=?7.ϠCT@23b GR+Fn^6[-^[aM) B8p[Ht҂[X] *3J\95]_)װR` ,[r&9~-`6uDh-ےhV&quX1 k&ծ#v`HOĵŃѕkd_7CF@L{{z:#|͡),SX|s0SX 4>:ڛ3XW[r FL~ߪ $;%G[9B^f xPpQ~(fʛ3ZxL o\q 3Y:Y5MhL6_[ˍylbc@9CAdhD7z'S#贗ۗso@ĵ[Z àҪ^!SaLͣ|_]\OFN>[W+ ~yRGe!#m.kzi6+uj8+.pOQ:EYr{Q412Uϧ:O6qz!w@6#'_BL*EهxJ6D3.3LouokvZҩϦR|O5پ(\ \F( $$W)lw0oqO0t4l `ahSmݷIM:L<pp n&ה ) „3;ۀQG{i+0etF]br^V f7lW`WkQnz*`8ZJm z ^}|ގ;  @ 4P#Z}1ZcI+ʼn&ʱUIQza*j .h2?Bű ~M;U-9Oˇw?1k~6CD9TpfxyaqvQlU&&TyU "'cqtg?R& -w1& ) HzBz@GB4E@u9t#n6#yRCfQ?(MPX UwDP$Ln=uKxCHvmB>~]Zփ5[$Obn6{ռʻ9v|Bؠ|Ʒ +VX#2S:p.tI 06*3O1:7 -4!A7zӾGg [ x$p?^Jd<UP7sNF2[01 N6U&2 LClѨ+Y4L!/m͒C~Pw9vjN} d3-FnwI@tk-wdҍxQB{OU<"`EG@END w n*Q؇nIVE*Ycgwtw4o8Nٜ֨Yn-:s(nfumNckCrj\ږջ0 ZUD(%q_>nV0hy_)usl]n5IZ'P*XT6(1Nx5aeG#EuA >ҎjϥF;3c˿ `|TC_s-́&WK,ӰØط$b[~tT4Fh)b\p˾pDs?'Թ-h`1|P!2bH4l8Uq6)wɵ> ;LG@P/<34HS߇[@^\`?vRVi$b:&)ێ=<ʾ0UM_pm/Υ,,> ?SvٲYjTX4Q翵U3I3rl܌wX}ct3O50x~$V@gP;05*BQq_W,N9٪ ZjobbY궺)fhS4$t>O**͂}F |WM ȱ]ݓz< 6.LOoƧ;g0h[̤I"t4z7c})eLglO=EBQLNe*n=(݂aXol¼]JWOg>3Y]m"5 }$işCU\Yɾr(7'p"r i4cQѸu?y?  .v#r}ﰂYJ;tȔ U r2h; DHq5[W,律&\7` YF ]2XG?@l+ ya6@j|lhM%T s=Sτyb8=djM!`MnW95Dr%xŕ qp6 &נ2ҲU %Hp0\; QERԸ/i`"X9~:,1:':~?-|D|\T#*OJ1 b,?ǰbQEp!|^3'X_G;|ԖJW"My7FSa_Q6@t59Xi_tÜ`TUJkqI72Ah֢"+F?/1$wa܀|7wr mMY~}t?cՁ8ךk.WE`d?l`D-5 I{hɇc'.')t!Vt! 9Q^Bq”%TU* vao8k>wE򀳊WsX(>HwKdb66j D^x&Vyy,!zkN;QZ֌ E oEX/f6i~Nkcۉt &FWƝT(L}M!"]9)=ĺnλ.6/FE' #zm Âe,(!J~̇>hfVD%2g7rO@Jt::m ``K˹'@0}pF`cĄڞbwJ bfD04y_TcyO"LMfƨF̐jʓF3Nͻ_"f=tX BԞ>[Uu[h]K.-zxJⲂ!Cxy`4ū cD\m1 0EO1%B-5ETJG7L]W1geM$F+6 cV:pxblIu ?ȫԭZf&֡@K [ȩ1y'~A08Gmو ^`aܺQ0Y vKbԤD"Rw7eO=W Ã1o6JTʫH"1EQ"sGC#_^3D÷0Wླྀςyok vfi-c)ùRu3YMZw_fޮgw䣸eyt"]ofe 37zN@(dd^}?6];J0,[>}X-VRFXgS[Q}d:KbL];st`  rp!, l,_$2hVm Su>pe>c5){{XHa]5JE.'i) Sc`R]GsYۅGUVJ/FbjuZY1ismx,֜ȡ60p,ζ݃ѤUBj h'rꊇ螐 %xA#lp-'Zo[uc~N(ўM:![j y)(7lNC悤xLR(s'gvcIwt m8WeP}u8gF_YD;"@`z+/Kh6~q0A0Z1&ݪLqDe4gİr#a `i;@Tw=5ϕZQTJ։-qiHF8(-Ѳ)tUBixa.Ҟ'wr% H}EJ<2\G R#3h.M]CغNc!Z_#t<`-[{{umdsA,E75"WiN-C 5qMi7c'w7r@$; ?s3JdI׽KyB/e×[ l__~'nJȤo>#1,eҽ&k5+ @2y+EX(z~czɥyo`Ylr6QÑ}d.g)2On"X9 r-<<ݵ&|ޘ֗{9wai f0W6fC ]BSa! p1Ý7up?as9p2Cq*USс vm4 Ap{;ɇ{ﺑLn;KvOdT~ԝdK9V e[H8&s4B8qug"WTzg ")*ٕz3=uXcBޏ'v^o9$EhŢ2nWdwlM]SQT?OV7oe}⃻J&7o|q#&TO68L m׻W]q[a)TVyhh|Ⱥ8\4Uvf0ٞ'w%r^d R?Y;/;mLGmO+jBEQODP3L[OH@~K ELkgNTo(Y' ԩ+<]P7Ehx"MKdA&EܸK۽WK]}saUHo+ nArQWLǬHRu&/O7zI֚QuJ: þCc.?Ծ tepYMBvlS>Ҙ{-bF0iIiu{gAXD܄b >=MƫsŨ_)IcPRoOdG SحOHq/"NYOn&Gϭm" &V|5kqQ;b퉔 Q_U<-K" wcX"K+7|Z>oy<J '!5D :[D"(dL1`z~ix3kd*j͌읏@X$f̄TY+w9U_~hU]I:!?Fuo5)&sAŮښ8KW9WL5վGVXV57SB#~hEs`1C7,M|}NFF:+?[13E!>ڛp}ޙ=g% rxWIb }(wj:Nl~oEk:4oDk6BlexZt@"MT'>WBn$ZQj[ʺ+愽sJ Upҧ P~;xz1$n q]Kؘ]+'1o?6uNt#.2<ƥ"K" ǟ׺&A(\=̃MdUQ5|!{E7 Kʊ8'1fiMԯ E'$-%|Zb-WqlXW4WmEIf8H+CFR&'ٟjmMLѤWڿ/v4 !әddZċe׽QXTEBd3tQ˲-Y;RRܱٚH0U-쀶y.Ny}lc(Utd!\8"D6p%\]-@-o> *2)37K}ˠZ 0C5RrZ l řlj3`Z U56t3mD=3CWl WrՉIЩnM@ SX'Xuh/zn # RW'^sÐ׉721grج5_ՙ|3Mtx@͹rINT +n`mlUaGx#Zz,ΞAWz*M$?4J(iBYDQťX_#N R ML=3LDrr_yKmvuʂ*ӭ[D4 )EDL!+gp+UY EmR)x@g8ӵyf -dz*23z;I9U7`A11lQtѢ4,-EwjՂ#2V"k_muWKPlwtut]ixǗ~eDռtprrݑ\xh0s79 /=nyƺ!udg) LVr uJ CмsĽ8!Rov}gD!Es.4Y uň9n:rF V+~QӇj(* ѫ~oDǔ[f,#`7uZW5ѱk_&c<{'|{/ÿKLGD6 qnVNV&: 2іXUW[3 3qyAPn<$66(+2~]ߘ=95r8}Ch:pN $W\̄ #ڬQz-xx-UXS=R`=}O9N}n?oF>|TqA!LQ&#>pg {|MԹK/igHFxZ̀(HpVg _T^`5QBԝ*Fe᧊s!S„q =h#7|ap Nw>N~^KQ n~aʫjj*[>ԣ-` #gʁ~!15CoP6ؚ癷<+)> +Y!de枏U؉q0dXfeYxM1I=/Ks|:l söN6U%p {>LY(쯗SۨO%NHٺ6[/*tOpXibc۠K !S [UOO|p^fFZe 17YLnu^pMe|2k8%<;$0 2hd%9&ʠ!s9tRT7ՠ]U߈~ ZerPYl:͚SeM_qwbAqUO1=MџPVbKYV3P'{h3]Pqk[I +H9¹eıxitRz6ԥVAA:] ظӮECNƊ8x5C+RkH?K & Wqqos"*ˬ|B;9ߍ`2Oc} mlSU-Z>$S p+_u&4\G ;i.0¤9GnVZ#V E9ǗھuPk%2b} ʏ#N'΍y|GYT @MM.*%+*:r$2nR~Ή}31tL^&`yB|E[4TODg:[әEZI!QoJm8umN ^vDuP+uyrZ%ƐT3&FpG&E7b{=ew`3y4;p4 "ysg r`#!"Ή9SַtqfgWs7(δ&S6rOj7u\vVh7,xOuxW/="H@`2p4$dg5 DJP]rҙ:/F~[2腹 Ns B?T0%۾,:D'P_[5ϻu4&3(%B BLߠ2ZqN `._?/?3- AO%+rw;{֙*bԉf. ÃBSF0B̡<5SJ#@ٍQcѥܤe[GB]``E>nXse̎$6uJP+Ud_Ch.z'{Ob`.aJ׹l4W1hcDUӔʔI$ )tƎ]XѴ?_;tdu 2.PEEE3#:Ռxbƒ)گp_7E*Kߑ#{c0A48l.=Lu,4<[ewTRjZb$`~w6W}s2Dr]!.A -꯹6zpr{sfe'VPq.]jwNs:оLޕL}"2Lwc宨tKA%|})}%kXS%  !"g=$ qPY ;^T֍$)V}*S %5 x˃S(u`i $xrh1JiyJdktx8uN-r 8pqaH06TlG6T$673=08NPA<L4Fx6vw! Wc[G_U ݡIh$Fpo%u5.}3n9V'݇ŬXy@>O>٩ Bi, cEj #b5v;wVf΋% ЧYq%&XNU%_ k٠zǎb -vHhDqXCSV.'?rr/p8m3ﺨ"3dW qq9:nmâƨ8.A˵dl P ek :jK'+'",2#U&6 FsLB{&췑L:"qk3K n+Js{v ;y|Ƥ!D'&N+^$ kU ܸ={ s=IЬq&kψrH)-ǑUzzxˤSs1Z*'(dc]>Bη0ijĝTv}ؒ~2A]S g a"%q;,s="<Ld2pQGv݂x6$[߷ps s5ё/A] )ف"n>EyT9,fxGDmc# 'װ`M5" U tɯ x_" VVG> ĝ_Ib*9Ыtl0a 9s/8+!Lɠb E<0.&OJ'Clj#m5씶S"+{d=vF4ա34rWߎ+ o/u)$cIBgrcvSH-nb}`Z["> !xxmt8h6:#&z98\dS;w53W%2cŇ4LGHa;q[:'%& Ƃ77T1|,K?Q74NY'Ʉ_t#pOPk5׼&ҔzcS ܞ6,'wdڱ(jFu3V~h TtPN)*?/E flJN2+Tluo/ jXm ΘyթKIBֿ#̔hȤᙒ!iۖ_<r@{A;߾.+ rܖmel|ŕ\hbREE/V;ffGa*~ i5W5Ӫ7O ]e+ ENBU!S[ %A*-(9D3 .}tk?[s^ N_k;t۵V+="wRùF`62L'fٷ!U6Yȸ B7G=[ݾK h^ȷ |fp?VȘ^K<+ַ ;hWPA.eŇ<,r>U} rF+ϪC3fuz.[&BЮ'PB8G}y9cva"x96K nS-`)vw ִhI 4NgkK82).'Dy L$ u[J/;!3A/S(Totl[b<"PZDx DW&fW% FPIͨBZFwgn18#2)`(ʤ9vVZޕ@殄^[|`rSY:ӎ ^ϓ4<97PQj(tVw {/roAw|Mvixt@/o|voJ g8 DD:2F,^-ѫ蔀9Sּ/ae n=Zcir'VcL`U\"}bWѿIڢ_ߔh #w2a \!Xtzu&yGW7]3H<(61+2XS l{J\vihF[@efm .nD`~_UlwK:hj'qx5Wbw_h.i-R;YhG5t_3xg}^yK1(woR j7@.')t[:Re &2ԓ9JYخoɀvZ3V\,,Ws_yM]Q87Ã+$i%j]&ɺyVD6ѷ1HM[N`ke U^C̤=0Tw,D11K$6GZ`Q 8[6RQEnz - Nl<.1Do`Gnhi}hNB3*f<hO1 v ߌ3fN\<(| jCb0Ķ p@wc8MZ G=m׫qr\mT9MtnnxcrYD5H" 9_p$W #X񽧠­ZwÎy:_D1<Ʒ|Sˑ# xN V pdW"%-c$q)BHw _)X+oʸޜ>Zw'S8$k,sʅ# Ѹ ùh&4HbΔ+&+ Zo|_.oRfܛ頑ٵۋv+ ʼ:Ff-ZVmTM[d{Eu(Zk`d˯IiLx$F8*"ޕ, .1xM9>. 7, B0铅=q:V8G!Nb;qЦ:g[}@O$AjbB-Tq񦘟[ORtˈΙNAD~ "|4vemd_i|ǹDwpávxt"뜶㨺O u%=l-D%|R\!i7"<{.} ݠEJ>MCYD}yX-LTk2UAѝÇ}Ho_n 0@t'<_6re*QԉJ+1= ˾)Bۓƪhv݆ϕwƊrt(lVyl)J]dJ_D'mJq@yXo!ppgzO.roH,q(a"9;W,vdn$z>1K:I|{o,m]5Mxdyd:/B'C]vh\"zPA5b}X/[K}MOQiHqgE=yWԦ Ry0d/i_̨2՛E2QF\"4p^«VxnL !"GPM ql,KePT3!+3xwR [.(%3P}J #oo,juv!U.gwM(˛VΠar7/qpMG^nȟc `q/>S^%dm]W4vjc^?4"yQ+Iع`rgd|bՌޓk&Jo8R2 _HqkIƺ]=N$=J`^̓kb{Zz5h wg]!W1]疠ˉt֖B|ĬwME@V*4< T3ϩЕ(Ь8BtY,p8uҵdYUF퇍aW6ӽsJIѿP%*{C^ND#fp' a $Cao],L}?BAj "p̰VͲ=V7NzB qd'Ÿu[g{(/r`3#U${Sy.KժND-J +ʴ=;!=T3aF(kӟyD%iqMָ,uTWͬ15rt`mJ1Ky+HIo8E+c{@<?/<8hih1O$@t!dy(?!oyŜj xz/{ O#ijG^07үa8d l3]dTl,$3%Kb/l7N)֫ UZn"҂%é[Zw-$*FTéCQho=k vxdneX[F]WY<-sumJEߌ/Tڟn1GDL* *+ /qT=*姏g$hzaqiW3KG=C8ƏxqcV_dyO!IEe戡Qm+/׊ ~/螪[rufY']V/MU< b`*hڻ:5דsE"i *zm*1ќND^ƋfVL7 =~5:شCq#NGnўd% 3O<`F2-}{H^7ПUQ&XTLH,'&Mךn ~.;F*LbdsNGffo2H},j@[FԸ짣KqVQE5QѽP$6٦ڲs6)ɱ[}hj^Ud8["[S)ѫy5D$vQa|gtbAN7.,gF{/G(:b\wiVaC'J juLvD9J?Af5]K$Q)Sl)נh8f_2ݧnO E0k\q$凾=Z 3:tT׊YYM_ߗA->@h]#/w HoJTP:l+ + *G 7t0l2j32 `L&nCFpwp{}D!#^[u]Nymyb2yS~6Tg(NeNR/5d5 5{/ܕKv~כɓEZlP!3y,A @NVy?biZoϛnmyK{u?sWzV'Ef:gnt5edТjD!9pI .)vp-7vZ9!aښe;jvՕ<ݺ~;3[1B~ۆD Ó#L"mvCؓ CPNݝήZkU ~%'ȅH#lN`q-0$B[S K8NB5]Xi^?Ym_( wbX_=Cþ8ҡ),~,3 A죁m qp'=,ho䙷!ʎ0lch]ohm"zVޑׅ%:RtT;@e.bbNtmSNĭ8-!7 wб4@` Iqn?79!vFzl8 gElQbIhyn{C ®q? >A+dg7HrP1RSjSɳH-d}2>2Lb#fNL"??[B*5{\zɏ||* ! Ժ{d0-}T+Gt;2ڰÙxvy 3ݟRi+u }=*hJ:/9, .U\" k`!3ݾڅTc<*;iHon42T` \&_ zLE2;pF`lz Qa H:5Ld8R6~M"Ό1#C^*`Pb35O#%=|?JÅ:y-QG]дuXHAM1nָop;˴JXQ* 8?M@u}61egD.8>m rL&a* ݁Gn?RN>!Տ@}wR{=Ns {;ľ4#.x70ъ kbB4il65f å1^?&ms.oZi=\a SaK`ΕsxN{bEj(9EH^l0ٳ{~ :HeFgtl/Ake{=+>ޯU(piiva;h#<4Ҙp2#-ZE}/9%'Ŗ߂|&ccaTWb5fxuc8rte &6~ |MO䎵,qgNŌ_xC-fYIXs 1okO=+llR9UֳP?%jDZыu[Z;A H ,?;_B?D.pӷ^Oa{W[ i@D)2`K'J3+z+3&rg7)?Ye+iraNΘF1@0ǡ^p7 EfD!D50 )rO~ussWw"9d`񶬉`aV۽OT/8o0q#$-~)a+1[:'͒CPs[߿Xw2[0d#fМ_4)Ɣ<19P'Zr&\̗r`! pq 1N Lίުk%3?ї>z"8DkzrV0*G^C~YfTZ!XsCz(SVb.G3a;I:ܝ~aLjkT63Q^Fv_Js+RJ}2(z@mq$t]t G$@L5w n仙Jt K$c<ɋvc^>[y|R>BhĩEfQ8. FTر Y)?MɎ$ RM則3q8B'_7x 0_ϊ;W1YW 3&hpNE@K˧k/%NZVE< >PPkh?\.hm*d$ 3YܧQ`ۚ4U[,w5 ,(Ta6[}0*lV+IaJj@|V7}[+1uKf/\枂Zxrā(" m3MDJ#PӲ,J]PhX=FS$\Sڈ9h+4\rErFaZT8?ɁA $g78Og(ev\≐S7}oürToZ@JBOP:ʪK5džg y>"p婚; Bgŭ70tRT5樺`ig |_3̟0Q(ٌtW}l|yw9`}i#T!K ٛ}oPD*XܗqaLgrHcD ]j)Z1XEԇh(|O 8D`saۺUK3!FXoڄ3OaH\/Y2OvbݼP`:Ws?G}`ܴ [# ?[{۝HݞFEJxs>5I'J]KV򭏾-ʪݗ HAf?1+XSC*C<dj`A澫{φ>Nx- 4" 7+۾;3';ѺO5D9hSɕQ!d\qrpgDM?x 7DB<"b"Pzc=2Ծ!Yn~wޓ:mLWԛ} $ H +lf6:G̨q@MhO|'-625n54߯|h!^FiHHU3{$&]&Aw4(9s6 }wpbҽ -@D8M@Tv󂨃'{b7`Ʈv~@?hNVOlXC/ΣEq ŀ&GBayB+~4p% sG)a>x?@7ߋ(tmh9.1\G#5\~۾,~OQGN#Ġ_yb R,-bX Uu[ڽ`$1v%EN杋4W"/_1!%78;7ػSVbQMdիK:hVoQoA~ڒeZH;ȝY JHHV0ȶI7z4)e|e=.G{j!r-55ac2Ն˷Gqlt :Άײl6)"擺Kg . hL6KiAez.d#gS31̵m93覴& QQՖU5Sŏ~gd ̬cq:;D␬x8W*&wTsLHIsLî+N©=S)r]Jd-SCȾ|GO^wK!lG1Hv#cVU 9Yft(_E.`C~cvAseiؓ*jHp<3Fh[_C'[**& OSh W" ^a:;Xvǘ3^N/}jy J$cCާ>&x ̧,ogmBƞB$<ԞUcqr8xv63~Bc{h"#p.q&J.Wc-H?VfiX}e%gYX%.̐yϙƜ00)_x 2P0#ϓ΋eQ'@A ['"ķSP:_\ܚYk+2%P~\YVI2܏-s#QU2ޭm❖d6|ہ;qB?DPi_;0Pr*(_9!IZzulnQ ml-7¹JQ@ax62˷v,WlTYEg%}MZ0gt6ɶϟ6&u%x4ut$b0fTnclo9" K7_evx@MP,AɃCD\N$.Z}"~PFȘvVPRXO ?/r .)W_ƣQn36Jjiށ7,yNaqXd:H/i{Q̧.!S+oLۉ0kywPv s0U@mJ ,6vl[dڨ<lca|"nT_e AjZ2p5e%}}ٯ);pTeJeh^ù121Byv sfys*5X~kIQqaMd,^&oĹWlڸejz5*m@Э!V_90Navr˸jL9c`Ϥu`?}Ui|R8 C[RK!" 2k+sӺOEw^gF&AG8BoiᅳvKX-] CX1$hN:6>qs0S/OYvP#?ՀH+qO,vbG/)KGs8":=9ѱ(˓s1 F:M 65;lRP ]xV|M) P&Tn嬚P .ch8iIwp4^W͌+#,f_GJ W]򧍺ܠ'n %)2ڽ!#nL*ɿ=-rQzj@r1e Mb S{QQ*'H)Ql Fs~_^,DZjWoHHI%Z%<0Mq\" )"|P Pj_ZQn]ku ": hW ZKj'YW^Q=F\CEyLԃ$:0+>p]CV96ZIҚhBP1 5Y(plu\U1 UڃϧЪtv̚A+؅h͹Q1:V Ҧ]r^`\-bͿvcp:5zt%u+F!$n>l:&Z͌/ 9b%U-"] ,YS+:PP40@`$;B vlhwNf =Nn[.2G:1/o%)v zfN p33M #%gϬ8xЅ!=BZ2T/Ӝ#G#Ns@ \[CxmDwB'uiTKo?>az;\Oeٌf'\J'KV>sT3ʗ~8cLC2`T=zU%AL~3pimdډ(јמҁB]RѼ=#cT)%.ZnRK'(R:Xs"ϘU傮+կD^ҭqy HLY>}H 8K}Y' ~!3 7#H_V 71Ƚ?,T2C 1F1&gHHV Z:BSqh eF-G_G#Hz 22d#JJ@Ji/詌ǁI~Y S1tckX6Xn7N` (ujϚVadώMQz쉙 hd,@po\bD[-{! 4򣮐Oyn^V)$4(.E$#<)5x2H?J}i/ܓ SDVi$6 Ha @GN*gHzEI=捊.Ud.fN7$oϮ=AqnIKeqZ䐫# ]e>vmxT]湽C<z40FliPŧKE_^pK#S^xONdK"FZQ̪GAQ$K5)I9i2|2*l*+44Xl!?u цm$3H4WR-PYK ,6~*1 ڪ?Zi`M󛥡ҿ'":lX*jtVwoH_*Ky&;AhāS>(RMR yPoP&go8}hIj ؾ|m& "&;\ PhKe/M(㑹_4cGrIx{*TUcgZX@sLǻ }ܸ`g*O{ m,Y5eTByJ>OcL75KhTe`.7~ch )pRrТ2) 44,>,y PS7Q"8e^+J/ ޏ:^StI'i>t>|({?ôtbX?w˕pn}o2V<\۝[y]MiQL2!'G 2uWQ9RޖTAmWn֣ꏋ8 z4sKƫ٪iՄ=}ӏCsn4 Rd~Gvqpd4#؜g*%̊opP=f*MC$XjM/e} jX,hvC6XS[rmۊk(M AtRNJ(y^jρJn:4Pj`MX\әGk80SjI1t 1fI߹,bKZF.G (?>Jr/%Ti,#WvZ8~2xo2:Z'8sh(UC{e,kC|9ÕOCqΚir9"n1g,‰|}, =ډ P7GXx=RnarX^qya*!;jzLc*JpJbHRߐhaG|OxQf5><r0ff:{`p8Tq[/ W vvފ\a+_:(Q/ $ eMr2ARe١7 #W/}h"2?I̴+(Yk.3UYd9di]%Vpq$ iBdS-iҵUz.HhPIVuHA!"ļz{nh\>5{xmv\`:h>8R}'(([lA$2(,$muT K8f2u>&ex:ۃ*=-&u|`N6XAR43:"g'0^4 l6 oߟh㪡Ӯ&hҸ׷qd 3~hf`iFonEؖA LEM]WyW8]x1 R" Tl\uTk,묞G"( 7p!UNC2* c m=.u^*^PSQ֣J:[kT)c{t[9n};Tm0Hkq.\vfb-̸&ZzD(%M~Zi20"|_P*yiGX@xŕRPs^#~hJ?t7!U@A)?| ;:tVΔJsՏ3xPӻHoB`#c?TGT͖-mF{u{MmCم<faF~QSnDaX+wHK2kɍy*)c ^"Cc"fl `V^ri9e(;*a|kK2H!n2u(0`(,ŭe?oFD AvMUȉȀIqP 3_nDe-^_ zo5(+$ + BfebBfSR-*RBRA _"}`+u oO59v Ҳ07!*ImS?[#E{ XnAZy|>! bl^ɰl7S|ӆq&׾ \̀|gcE^&afqvXvJ4 (3|S{i4^@G16"3B wa4Um3f4!0QG6w$O:}=ݛL&isK).$wRp~PBKG#2G!oZq0ڻٛ}TN_Փ(+{v@d&Y#w&y]`LƷ za++o !v'wVUx3Nwk$oH2J91-l92&5CT?5DpPFoR}PM2CP@(e J_au8kqX3:R!s{Kp}ޙ+ u%Dߊ&(v BSm羔}]nhϣhtHMk b٠%v>W{e=pMWFU_Dq1N^fX7ؓd kiDlje՘ު`ЄYȁx(XloUﲖma0Ci#B'bs0]CNSqF܁WZ`x 3##ח݂'K9iY2 6E(|IuiӀx_^Lނ]{;nucU^yKA?Pgu8q3ȊsvDŽ+CJ{:RV_n Ht8 ڻ(Kғշ&Z%Ə$Y5H>_BXi(/ˊJl˔O9PzVBIڞʎ^1='ZĢ,> GШ-XYE{$Ư]L~r""RR mkixc)-U]4 hRǑ.9עԡ#x!BVTtWD.%䤱@ d]=ɯ6W1/VD>u -fE jy*S?đ}@*BBFYBЪϧ 0.O\˺Fs* F=LG\xč+ZC0~i ]7u_ + 2sd t">JPFo#j0'!$ }]ԙ~Qߥ^lVxq/@ +Vh/#ڋz -AT3-ONMNSPBgyau$o|,"<{{b߅h,D֨xWxPN.C|86pM]\Mz,aR (!=tl xB՘ĝ=ewJ&kgf{efcCУ3ufѳAB~MTIcA&>FSA#z'M4vb +α| >hVP6ok stפ8 ځ$^W*-vj?ԜmXɿI`c= _u#BCiz d_[tq0|ha%0s,0SwqmwHvf=z`` !i%jR8y?Z# \$2&I4d=Ae[ap?p!^;o bA ,{02=z0 Oy 9WP-ET|0kIe)7F6Ur~mL Ey{k H(AEi@֭b=3ؖ#f &GN zfzw+jQʺboztKx|0SɸX͢zwv.F0E0H1a8L9ҤZL2]. ޺$L&lq#7)}%o`)ҘR"[<]_~IQ'6&:B]|vn'I#c-NUU!Ѓ#rI_ m+ah;N&heqE7D( "*U jp!*%1hS&\؆i^ 9WX E33I8PFNĕ Qp>y11( ,MxۯS /(Bo`HS)6љ/BԊ(Y4"hvqR 81PHup@ٲa2sz߯״{ :vxm9 S`:$Vn25"A$u[:2fnoz䧨ZM$&{s6æB&e;rYB JYA$ SʇpA:y! ɭ]a"obmAS όA3o,9 yR|K3"rkHPA(>c6q2}+ޓ5l$ks{󃭸VR06i1-eQz !+wmBJ_΢XIOJV bVJ VIFs7NLfo}ܧ>VHEޚ#?63:yCGeRS'.:Ɍr1K mLOE=eqL%k0K1L6舢ZM'Q>F>5'c  QxnJCMa=PI` B䱨#Kɦ;L Y*e$SVrcJ k+|*Y(0 r({Ě7x#,s9kNIOqYئƴajBZfix]l; G*\YrlP=͖:y8eNڠ&э*v-c\@< o(Q:195[ ߜ;sJ%qEVyf} CVkK*,H\X;kd㥆}$D\f@] tc3 CukY)U$ f}Ѡ>\?}gS,q>^">.CrŖ_ݏ0Nؽ]e dUEO S[>Cg rh(ppyBD"c\ ZO}hfPϳy(m \bSzcNU ņ^r?%vV}~ qG#TSTC4}!i's J\6>|5"-G?}[3p(Ֆ]H  ctqI]Uݼfވ"ǜl}ߎ|*%īY3s^ q˶KiQy}w=?i!0מM]LKGi~xަvWTSլ1agxʔV#2eʣ~isst#6%N;; *k{~kQEicVK#_+ }yNZ$s}ӚbwJBRGQ[uE>,|QLZ% 9O cz B.קA<|[*;ZRؤ{Hu nhGm0t u._S./6! Kzܩ]ϏDA[dPP1!8ssf,b ;nQ| ۿ!.?Ǫ ]3Ĕ2=EQ˻Ʃ1,|)jQR 3Q6zC}Qj$d+';1WosҤ9cCb S`&[@D2 $byZ6#0tk =P%؎[^ œ 0 G*;L֟ $}j~JJc(AwI%{&C5>eUxaf@LɼaV7pW<Xu5aw _Qr3_J$E/wd1BKj*TYX3~P8v3tk?iӾ+r(u/_hbL8HZ>^b S^ I*e2&F|5qcx VQuMWexEQ W7~̻{Ƈu^@R|-W Gp*+13m0Q}YKFe ;Q\S QtrO0t&JWałuZ_mDt$K:#TJ~XmGBBF >ʼn؊ha12}4?p(:Q}!ɏ#L~{lX )xyDO<~˩yrY2ҍLBrW*_E[q;Jp˽Y%7 riIaE3'ZC]1Upce(WrƲyOX܇4PYsu vQqy>qEHtc٠8ײ6gVX,;#nVXx-ŸQWf%.iөv8C,,P)܄٪0f %7R!g*T 6}#)q']K:'9l_?w'. U̹$LqMkc深& 7D q^FB"` [7re XoQ^7&m1Phfcn.ѩ^+q4hdջljSU߾FG]! ҧi;(%* -/'eme# ɶoUfG# ""<?ŒqokwmezqA*_$6A=;ڞjl}bʫ7z@|%H'6YjoNj䕆(be376}y2Gqv)@ Ki,I kh>G ،f?1:-|}|Y0Z~lZKgqu|o%6VJB%giݕ&nVJ~ړ6*@| cUGmȃW?´0.Vڿ!6gQ5ץ0wa|'}&N:S{n(i)+!F\٘SUa#m|w<ŢaI,Uέ%}q/U&iUz8pbT!5`F,ٜ(}{]~r`R {+i2j~(ů>Z63_zdwKZe*}y57crC$CRj dԃ+D:ҤC. @=o>Ga34Heri%aslxV;} |Az bɭ1L\S&YOKG.DI]42#{5iJ4h $KkwN$ڃ( Z|<(JSi/N}ǯFmT c$-!g~4+Gμ]q5f3sG^Oy<䤸I@}Q6uvx%hħ{xaELuX^s7:-&pԢ0K/u[k>o-5s0]Fa-G5[Cq9:s`A11t`C*’UZ )o]g~l"KTYk|ҾVv0F,H7mle&RBJ+JdY 3imiő@$v ;$x 37I5$nzO3G[;]WJƟRՖb.ܘT%At90ٱI ˂3ޣԟOtyHp;nÙn:;#}HQ2O& ByUHg!"c2ӔGS^Jx5O ;s p {-={I z8 36GP`;D{ZS%#,by^"|N)nS:-Zenyx_(8t}vkZPL o'/ru }/^[_Kh'rlJp;јDvP0ʠD8JQ`vKx4IU+leʔA Pif_=" /J@v2xd\M7"Tz^U"\Gߦ酕?Sk6 SkHDvB4'C5ی]v"I4~"Qηܸ @ҪMsy*J0Ʃ &v 9vVvr}lBNsz{$Ы` 2 iFK>Rd4fywZ.ZwZ|n_{ѻa[nH@qc됩nTE%vƥd#tqpA' H[_~6o%M8'e3*Xutt𯄘h Z&GKf9yr 0dZr3ܒɯY`'{C'[RK(t]f? ֍6Q%WZPV/~*5Lk90 < ւ) yGȖ)bO]aR' !?x' m`XʟFαiA/dQQ-aC40֥Few/h>)W&QCݰCT|߄OY$tA}!^ֿ?C Bk6  __cW=|6U^SȿXlOT.6Fqѝ]i@͔V|y9nGtP&3$>![AU1s U'J`@+h͇ Y'CI|ex_p`TՓ6n+Hld]'ϋwbur~skcڿfR]JNqkw(y9gڔ~ރU>\w,Y2AkLQ`]&ԖBPYIWꒊTdJ*QL *ᩍ]5С\$q R%],D,!;aՅ=Ĩb_}cAI>5.RAz$XFZxF=#|#*mS4fPכZBB9ʾTwkEo"rW>Jǵ#dBٸܵC^f|@2|Bά_I7!!rNCTKCP4{Y' ̠6xW0vJM6.ͬʦtM Ņ?'FJa*L]3-!&@:|&0T^ N\hOWءh'V݆hΛy$9]>"Gx=$T(w8Fĭv}|.CSj bt(Sa rdWw"_ - M/VwE01 e6moP2Qcv=TA˔4L2+}@*2躇*O"x,ߥKv{{2A 6uL*0_+d`M\!Y})Um]m6 ̭){|G&. v5xրd%0v3L:k`) /o p+QX'@oI=% l~g0s.2 ԡO&C[-')sNjo-N{P% 7m}sv.?CqȌSŘqjdv選d1,Fґ [C/F|R: 8='}2ύ`ש9RpVM0#00Zq%#qԹ̖9CsuZ=aos dEARɞƑe+bIErn\TWCzycw/ސHҊӷij:6KTf+Aw 0A;$0w6!dS/DUndiF3{4٩*z¬3)Ed M>Zե>^p d Ai0B̵[&I;pKS]ÔmFo4^=ڦO*4+I'T iAz̀_d+OGJZJ%uPnbjfbnY \!uI>%&PZo?s)f/UH t̀=[mP\6'dH&C޵* 5ͷ&95b_:iooVݗP|.Q+™sL8qsֺZ>HC.j;G9glt2qR/D`/+B>&*eMpԖ] a&,n Tu˫oHf"GYQQo[kh.;=1#>a_'pS=7@x]aq\33A+l'oXH?96|`b-vaO΃Ѳ(a_>@$ +ٌ)+¾A–^ ;4kR \;&}amDꭘ5f$U|ӻa6{gK A]0:JPnLmGb9 1d:n=^!wJAL9N[s*Ɩ>Bs)MvFyE~5DF(~W"LiNNMKd4,OV ܡTmgWʌw 917mC:y ;cAZS: T}1İPfm(j߾E pm8nQ>י(·'WRM1ksCONk&frF3jQw v쥺Tu(I(nt =L;mDג+IXR^2cs,7PJ:zF ioSE_em_#ԙHsPM~Y3LJHކ]9%?ˎ/=n*Hwof}4W,s FSN&HR]8A$`34dhܲd/Y%?斦Swiq2 ت;,?Ur@Q7VQx^| d(IGM/ŏD*uA_k .A/ۄ)jse/QQyP|+nUۭ4l[gXg'9c|kj`sx+'rA" #Q @Wښgpɸ0ֹ|DqͤGY:&e0!{ sCi`8tmƺKh)V1mNʓ"{%/l#J ./{m#a^~f|1Hqtk>052>W"XA5CW;fC 39U6g6]^)n.zC|J`a }˶Knw5P5B3шosߞ^Byve9-2I39EXkV#NPgSJ(W&dXხOd\#̈́ʥt S^:vR@ȃs=p )X,W^ [ ZD~^q 6C58E8 J*g{E8d73 7?HL8Py"!ƞ jo#|eNhF!PpWn.7'&X |M3(epUex6rހ'Æev3r<>L=$T) HҢK3TؽjmvI*)\vǭ+C_"̠(\%;)z?TFl Ct21r@S~į0cgkgֺlv ̏MtsuolU+mNCJேZYR)ZI}z;Cvg;(YƗjqT,_ʡ1?iP]ӱJ!Eɳes S`F:rRe[sc3Ӗa?}FƅwUtQCwõzS"ڬNF Aد6F;LЬH˅1|CH !NG]/E(I|ndFzO-_O(5Q\5cLCF8q&BKb1@ @[ʼ $ApY3R.9 I[Zs^:wz͋V!W \iX%%K IxYuxk8l>Q`Xއw1U7ip^QSSF=H{i]\Y]ZB w ;pA#n^eK@兡yyGU4WPm/A\I+6>*Q} i߆A[TR ,[DD=he! )>~ ]W+ S"D$*Pqfa?}~gܝ r2_>]q{:GJVorc9>ڻiC3j/yI2"5,if=R#Zf-LH?#EJ2^ !b1Lժ) н[!p>DJO~[O8+2{>B]%5wT+L(h˛L4Y{Y@t@ ̝; ]YjswBRjRAzz7< *,1ɩնn4uV._肃P䞔sƖPwދ-DO`s1lU&(R#pL,=*.k-!UlapW?9EoM0m">i'9 gAc)F.e˛逡.E+@Y<.@R`l7/S/h57Uw:ThgvA_^seK R3eY_4QD֝) Di`|.AwWoF덯];o9cC+w~MȪoc_dq.8*VXl\ZA 1[698xDp7uGݘS5nͽ,άjnsb#L MعmFjIHxۤi1s2lpG2_EK1rt[[,D"&^\q AE)sVRm>0Ecu:1AWJQQ1y|گ[,q0p9T7}C܄N8&"=>60>ggga4NtG"쫲@-ʓTg6b[wjK[[-kT̨49$gp5wA\TY@udR !L&WpBT&W;4}v[Vreȩ7]jo,ݪ`S Ys6 F E}P.CKYKbØ .`+릪'0 @{ꔧcw15? J.OĹQKZjŠ'L65qW^ /:qVk`eIrԝ/aw5LWdse% I8ڼF4Smq7U,a8t͔ l@7ȻƩ˄pu4ɞ)w.sm |s{1VO4b j,$ ݜ#ɂZkx%;^]}0fu:%Wå2ř{B:?A2:ZxƙUĦB='#yDC3,S,+I[IB9Le]$罒8۱F/`6337`#R[PIٵ[mmezr.}Rb@F ~WmP:S4 ܂j[+e>~[iP gkDA~IXNߟc9!P|jGh]º` & Z\vS.;!ehfrg}{@ya_dFHbGvqID*.5(?IZzwWC;3B*ĥk2zrP6T!zkNr5tt5mw. лk'όjY<} =_Wf0ǫ&YNv:݊lfJS޵`#mk:AY'Bb@Gvdqr a5dqbY ެԱ $K=ʝ~Z-j]v*9~wY;VE%R,w{̴Evrl}-<<u10|djbјιFMByaV_+@]H)ڴ$wCĈ'd*4;Y*h՛UŊhv?Sv ,&zh G}^fزtxJ0(*Ʀ zp` y]BCñ a.o|Ե놛 ? !"6;"^9O @U's'ڣF;d ''X>kp^Pm$9bR\xȧJqЮ䤔Wεa/vb"\ǧ4)shGDP\76SoTN+u>e.Ɋ=3prY8MۜhYT~LN3eJ-d<>5T^=D_C_ζ5gYܓ8ꀁY@\s LtFe ~-|D}@SG:gغiHi}EzN N ,TOrMd}rpP54%%tI0;O׬E3ujQNXڥݦvuw"/V4vEpD^'и|hnilBJ\I! uwß*Hc_|LWGipoqpj8NջEd} aئ8%؛[5s,0 RQ_"&zVDyQ)m2[6P'WO`(ƶBM.a JnSԘHpI[)v9D^q#6|?qwT0dB%Cpm̬jz DZЖ*PhahNEY(r+Cw+Ir7u-\={`_#B}Mi ~Wbn.b [X 0P =?$-gD!ISpb-s O$wߣ$~Dt@%hhn#x&#OG!bc 4`оU ueiFje%$SU|Jly%ܩC<7?)a umiVB6,{n-l_AhJ j%כ;gh"8@mnn;Q$>T&i೥k?Zrd! @ٕb\hzeV1ȟj`>Q*#wS 8.1pB}7)C|6]zM7;%K_[8ȄFNѱ$XXB>zx%]E=$Ŗt80A+t ֔XA  |,`Rbޜ x˷>-,9Wҿ([h^3JKC2.v\RqaG\F^@LS=k+݋PomcOyŕHl VE}JY[k6N8>s ]eht.4^nZg7Q#H%X fEkb -(6ΥC"Wx]a7`N7slvL*cĈ^WG❸ÀCo NsF R-o60BwUYOyt(i(ro ͨ\L{-Tb-# Pr LhCm{Wt^v()&o!,G\:ׇÜIbdna="Ȍ,5hDs\}C"eVp>97 weS.YLdq-Y:fDԣG^4ԞZP\BٜL[LŠ\5f|2N,Xp90MxI!TT&to7yqŃ 'lvDa`ZOoǘJ)}3Ccl$R$k2\(Ҿ|܁AzֵJRoՄv<3C ldabiMņkTHw"YNjį9sH 6*Ɉvs$̬ zIwV/TcV; =tykY w=[viNM^XzxNPhx Rґ?6[d~Y*AUdi= HB_q>q&Q`3BDv+'6Gti^s xf9ټmB NceVnsb9zm߬qojcbsgûFd7D+ﶨ3 6@{zt~ >"0mmāG?B:Y@k@l|/( KKsowfbb_l@SI$=w0 H^^W\ 9Q ֤vI E>N9>f>k`Q _Hvb+T(GQySv Mop6x E[uQY$b&7F +,v P3pkIahć=,Tugp>%ۆNXIR:I"HnxJ^5 H&kΡ3H21p)$xGnڮaЛ@qgx{7^חz|Vc͏`yo8[8dۯ31s٤q0n乥|NZ*{_vcސ)r8:0Ϝ>H +لd/|ށ*m#XwW_`hdeBg嵥Zn©wɊm?!?v!3QO}Da-2_i8EWdRlGR/;kL8b0d9ÑwH!ؽj_z.MY!Gqwh jE7߀Ak65~dn^[{jm]*Q]vk6K- P!ma̓)Ɂ)xv;:&\0U-o)p5?HZtSNS75U-&zz(q EmtJ%ƗpE7!!G@X_z]J¤'?Wf,:^b[.vOM4[T&2^#tf<3]}2RAt&CNR(j0qw)$ ,jY8 (F|FTZrmpy|N7hl~?x[nqFkl?_ A͊5SOs^%-gkezu - a0P8FcA;0Q:GLG` Z*lS;E(v68gqC|ܠܷ.l Y6͇SMM5L߽xW>;r7:]6q _EbRK`4-S˩ܦ*1i>Tkݰ=әڌ qY~Oթ+3{l]2c0j⁔ mw:k >4ʅsF=&|¶u'g@0Y%}ObVr=Y wQ$uQe^Rx:l*흄\ GcM4(_HH[1vXŦ5#%piDF!U8Š3TP#޳U>^NpHHWlQx-Uݕ\X$]ʈ_Vd$BV#EciӲ1lc|T8dsۀ$l.du~ˮq+6M5]\BMZ©.ngHÉ['2T-ɱĔ J5@!~EXvc6W:YLXh9A SU=r+aG I:cH *hHW~w$w/4Zi"7샗: qK9%`X[J['s"K)`V sT_OA B*]#gI~8ixSf>>HF$5c4:A:bM%,UGL\ͤ̍c/Zd`=ątߑ/Т.Τ# ϊ"u4fa^K%. sVQ5lK)/gxbbu J~4cЫ(9 S2B8[6IQjۑx4?}čM9@&-IX{7XOGfpW𼪀vO@=23`&7١|*e#@2S\$t(a.{AM$HkTE/+^I~c  =/om |Aw A4#i,3hh7=RUXIO$BCkJEH`T]3=:4"]:֧!s&)U׆]4o,T7J: R,#^G.v\I(_ȭ: #Hn3G.H dBB_'xl Zm{2?oҾtD 3aj`a) vD rVN}6~/^Ijqlrarz7Rf0覗D2 +:`E73,-`#^|# ߚDwbE>492uo%χY ##3d3 @)vW,CL]Fw TNWneBZD}T+Ld㣎wurԪщK!PN|զjeI'u$2!woTz74/kęZr0lĬ_xpxBwshoye2U:fdy y9R529RUJ'Ur鿩MWK”4frS#K,fA׬C0 soj"12yOvGړWfE)RmX9m1EO:X^`a`&V. l| wbbLYo3aujx$8k%`NTw eZH 'U'ݔA_}Ρ'By?]U[6Kpf8o]gޤ<jeFYF~AA*GJV]tX2>J玷Yr2-2!a/g ا7κ=5_[&s-yQNm*UuFZbe4Ksmuޏ~Cz`dY 7oewc\Vek?! xf*AJb@D`|2d1GȽ~Q>+F@p%: p>.Q> 'ӻRҺv32ϵгeZm/JE49[Xt};T>l@nu*gmqwk_ll/ėO\(/tQ9 wAX5=jmoɄU5~)>P@$ Zs#fFq"(׻NR#eRaiJĢ&&*Gf.@Ǿk]"]0Uuh$~[ըpiwf5}f.=oqϐBSMU7xGSk֙]⶚ޢzN`-^ ZTꜘ2&p=5X̠ X 9=#ݣP5`tWM_v2r*Jj;b3n9YsjlD{E9I0ҬЦr &L(BLr <܆П:KޗMa@yao?ʶ6\۔.k51#,b:BgZKJ_yk@CV๗Rna @ >Sfn1'P|mħ`!DrŸBMG_#Lj0֗qMygdoUꣳ)bjG$M\m,0",*mrqaLY eK,7 D_4J(.,2N?1jb;>20 g|?0sUPRgRt=,4ŲQ;mۙC1Q" vZ³*!>*TN(P7:,)ٗؽ#יNly1Ot,3i_UΌXqjq{ď~Ejߗ=@)06:zx#@jc 7bn./2a2cLC-ЕPR`dy# xUwWI8Ac.SO>U"IkmW@j|cQ& p"oZ@`)R¯4W&,W#pM|:0RxN˅EⳖ7ȮJq| ᝳr@!`Ͽ6m)7-!FD[ŸOד?'ࡋ%Oru]f־6/Gϰ1?roԍ 0Jag'+1Upak\1;ԆkHHi(xs"ɩ|Bdam-M[XL@xb2tYY_?qBma'Q-U2w׌f& r^#C9?&@yM:.`%Fێe pb,aFO}W$5|?LD$Ed.J/dPil&KGt@/F|]VA)"L("G88L"Bl0\ YG $F;d&5R'p f2)U]@6j.(Q,h~:Z{*ؔыS%"G͛%$u?Gѭpb` y$#c܆$Yj`u^`|bcc-)^M[Ύ.4s'@Մ!+ldFq4gߴpwqE4ة" }WlofƢܛ>'ANc?fJǨ>qSQvّCU{1j}\mEq]uOEK܈ۯ̱GW60Ŗx 7wC\frCҦwÓ()Qp.Y~&V1.7jBYw\şm0$Z7P9-G~L~}owxHg s⼉Sq/'Gy &r׸wHuədjʽ}(03vX2:70tT?j@vԾU$ګX=.u/ǫҔVVIyMsto8K,!7FXt$)URO Kl$?ѡjW!˷.|H1ˇ\ݴ B9Dxi:j @뎨ϧdI &s (KNOZK{(bh@!uᏓt[<Ѡ}+A=\ޤ&t8{>H0]h%{Nyxܳ#G n[XxnuykAKomBRO)BOٖ}LDuF}iL~ow|d&n2ҁ, *ENאyMΔUu=://W=He>wDH@GjF:EG8R퀄`+АGWTa9I~n9> E0ʕ9TCu3a)Ks*-Bt*Sk 3o O1kwvS6wD%:^R Jv*&G2D1=o_AV&fc֘ex")8pשtEZjPmNQ0=D3/kra͐(E3fkQRpAq3_Iu\&FQkP+]R]cxG\ÿ5beyxؼH.lAJL/4m#|rԢm1ȗAMbƫʲ͟'uu G-Rxf }X-p- HV-U($9pVPɩ)fbZ t(?f,x+z4ětE9Q\ ,nMx:u8|v }bՖ p~ceVQc}#;!RZۥ`ױ ~^툻_=0 /˷xsM&&,n#Q3UU( 'B5MBJҶ 膇Yj?'S'K*wxT4)?*Nr.pӂx#@n ^]mfGdz\@F[3= qK-_6erl7sW}9cZQ?o )VkuxY"8uEK 2oy9eb((kr@l -]n9=Ѹ2+b!p$ִ>b>>W/Q{D?_U[9̬yN+NCWK,!DoW=s³Sқ^陿:~|+5Q04:yhb ɯ(&ώlQw3N't(zJ<ߏZUۅ.\ +c ީƛ4+:aJgEřrPxͯvſAuI1KFsoE:,|گ. }YbtKsTtgb}}K pD ?::H+&Ifˉ@[q{ r][7Pjh^-V<oގ@9ѧ})}ruPNeM_D=gcšb*( x 1i"KLxwqI.uM}%qRݹ+iR[25nV.F6TyąVބ¤j!ܡ,I'gWn(!F$һ.{迩,+, ѾdG.AH'-1IxkzӾĽ.vxW~ ҨH!WD5k gWNqwP'&궴^IrAlJwo9tumISdR|!-i .ztm8Ҵk`"dXQQEG2 6g`T(2˵/s uc}G1Zn^DuD^l~&Q8Oޚy i[=^W\}As Y_wongsn 5-oNL3d.Ceq ҬmmRЎ3H"$TmD~>2iʸ uK}i36@K`Bg{A035 ZeO!I$7KЌ/ݳ:rѲMbq1E>!9f@>XԜGd _WsۿtKCOK%Ê%Ny D@?oC^߄m vDzZ]ПOPbSFɐjGBL3VlyzS-*8✠ cjUO cvl7LLiN,%-BeO.o4.cC|O;UN6i@7h+73dcΊM *^ ]Ly]9#ha5pZj?c-IΝ"fk&w0O!!X/B3A2ӽ31^ 4<<ЕVZڙ{'X|'Û$OC?5WM$jʾ*P@IB4Ͼ)v\~1%CIXZ;7#z;4d`y7/T[ɿ4n'{HL96'O + (Hf &uZ..]<3ȍA^dIu90L Ȏv(inlʲO\d?f?x^LX[ J6m?wg!t 'L;ܻBiw&Z'|-yG-l7Eh~@v"ϯxIom'g]{MK z(_$n J"k4+YQ0&l,k#ԶjIJX)KR[C=yq-k|؈C&Q9I ˇp:\{6cG)LS[\Gp⭏.+흿;XWе? 'M^KU:?j6v~}OI=@č/.%  n%q0RV-߰Ia͌Ao"0ʹ"*!m~ՖQ-kveR;4|隁a|WQhZua[OĢ .=pb@ _=Qa8IxK;uY 8ۛ;/UUp\jS MgQ`n|'f`EaͶ7I֏1(6~Uׁ1_Bش 0ˉ+pZO3#7[>ËS0M .i5Q-s؃7ՈN̉4).[_?j* CJq ~{ 6!&A("Fn<FJ-@Y'U@"q<=T9 fʆ'3a#f* SQ, p] a X [&k߹㽁#jf &.boTzPTcq,?te=t4ErèFriNI%uoWA60 QbZ (̲C UN;ø4rznTs~W<)f)5fTwjsѭE<_zӔy:c˶mu_1i(:!+3=ܬ_60kX]KƀmVs&!Oer N#hq>gD==<*֘shFRA[ubJ96_DcgPIT* ͥJBdu 240aXCcT4\`ɐ!Js0uuއ@%Mטm B0l;$kJԌ`OտdKPZb!— d+KInxaSm78Vuy+z:p3HiXqy-Vqk{f~MhѬB+E6jm=0XH|wQٹR 9*6$pG+6@<^MWrm؊ xϑ"HR,I#I4% J"\'U]duio]{`:oT =)3)w`PL@R` R{y?-lTTywƦui/='_=.'jCРl&4Ŭx{ QKxv, ! @L/V6<=!ϯ:Xf@7jI}:a8T;w25 P [ `n\v 2)d2Fn OBCn6L,KGm&w@Lyhx}4&*qWmp} v'`KgDd)S]Εs*y->j/*b&b}o)AH -AK0J܆ 1TG LZ)?7pw"K7m>)6':}%=-Pu"eB}&?/LHb ;Z?!iWM-/Mlq%bT>0 YZseqinr/data/EXP.RData0000644000176000001440000000205212440112106014053 0ustar ripleyusers r0b```b`fdb`b2Y# 'fv @@9R7*?造*" t=  hͧB8@ۓDs BݨڎoGb|LܽkW, ?E;wlpϛqoH>d|yÞ_M|\flo1?>uVzu7VwB/ڊ9߅o}Dz7.7g9cBރ[VߛEZJI$<:ph w%6޸{kg+ v9微B+yfVK=ou]m^&o&g0V`ill7 1u#Am}k*Κǀnj7wzҁh@!Me?!@~rg 6|Os'_4*OwA> wTVJMo߿\n]}?^s8qSa|STڿ3y;HdmICE4_ى-hy`)֮ă8DI?X|˶` .M4G4L.5j/0Bʇ883 h y"ԍQtp @.T˙ 0 h}0>^N~4i}h>}8h}8h?g@,.zM{puhXd G\4L45lhԯ5~` t0P`T ~hzS'؋7 tjT^(KXsS ; #h [gÙ0LN003\'\d2HL ~0`aF11y$aZ;1 c(seqinr/data/gs500liz.RData0000644000176000001440000000026012440112123014772 0ustar ripleyusers r0b```b`fdb`b2Y# 'H/650ɬ*A X< t '&@$x T<J;@"|)_BWB(@@?f@140`Yk;AIG&'!'a|vdÄ$WCLVrHyU|7WIL84x< wCߞ~0SV+ұawUĹ[ᛸDzƴ9q7WE `\yeo.}JG6H=1cWCm4p V,|{~20LM~C٭-LaGa(A8ܹC^O+Plrz>] J۾KcE=wX[Hz4 H`pvv&2rW`z4Zl ,ANuk`(,('~v%; ,2=^ҖoYYmu=0kmfDիnAwct0]=98k<)Y§gziԝ@ϝ@^S[=.:uԷ=V{B1MSL4=.uZ{%ucndΡYmq]7T->0u #|: z9`ؼ% >5=l6-0p g{j-$SK/hV /nLSy 1I}#@8ۖ-?q }.<sJ#%ɈdoE٘[/ ,"x|Jbl*X2m>;J'26Y揌cmҹW!z'HvE+DŲe`/n[SQj >{e]pS;RU2`m].X|+{%(s\kdJ1Wqpw*vMRĖ+[xJU-,rY S̕ 4jEf| I8i4뮌g[mOl/1'^Y8%N* ;d߻`7ګ \iPrf 8q;B9Yٕ2Z).~9:؟H+QWR6hp&IНfV1/y]m7a|h5J>4TFh}ݧK/6]ޠuK|e znA'q5_p@Rfo}EY̱s%ڱX{RlZǒst?ܤ {mFNj5"~{ 73jyb%Srr٭X7$fP>S|Ĵ61l9 nm;xcԜssXS_Q51/kXNmiȳsBbf+cسoc+QیÚ7vf/dQkv" ņ/c!Z5#ȅ^CEw/\8Vfޭ=l0!iutO!)y7HT*_6+v {8aSSdGZbI'0XP(9> n{~ ]eT˱^?)Mir=ڞXFؐ\iMmƆ!Vw8*;+iG6`9=9'}y(,yT[>, ]!ᾎ4X-E&0rr+$?f )^Y/k`ʙ nl9cn9!U6ћQ'}S6U^ VfP7lс lV|{$9ĤaFxyS> lS0yŗK0R??Wx)b n1@>p\; \w%m'F봰LtBQ㇣J+&6 ܏.WΈI- s-z ݉ y|}4=‰巖j`ܴzZy:9"$ 7X m\cɱ_K7WI/JvEwHzgN7csr ocsTHFh:񥗳{[F~l9K?XiƉ!^㵇>G{CY zFv18 Gi\zʗ;΄rbK#[DZo;W?r +]ʱ㲌kl.9v!쨙 a3{ OGrole,ZГ`]P侄L &OĆSI;/AKOFӠ"V85- ^ƎˏYn4[6)Qx*m% ߥy? N_f Jgߝ%ՙl+|w39I\.+۱ݶc\xj&FdEյaCK iѾrhWu #&p)ݘ{jNs= />K&<_,aMltih8&fzm†{ad37[[GkÄVyBF"8|ӂMg7xaj!ne]C,yal:nO3 \wA=ӎ`[&t ;q_zf/6_ckŕOQþh X OYWt ;UX}0OeJ1tֺ}tFH|i$2ĉYw̓#W7+g+8+5Y&掽6CgKBhmں4;m[DcV!=>ŭvAT: A5UZ@sP5 =y+qX{a)h{C2 Ҙ0P{W8xUD9(o+_p(aySQ&{0L>>"gd@ь5GyU{NlGA[YNHBm]]P։9d vcNJ fFwFéۺ}D &[z@5cP}ɷo ?6| J7t|NA7ѧضơ-)|k5Q Nx)>G_֭PXYBGsYy5:އ<+fi!6T2l6l&#J=b-_jBFjm Ldt_'lwI.Z#6o:]DfK[l/(/JA 9N{9q]KcNn[>CkC1.=Q"\@O9:bqBl.ԏ~:Z!Q\C$tW3.n)7ju1|x~臘)'l؛рbݕDZd4d/ִ 9X? xu[ *pcs=<%s:"e'l2%hӍ;<˻WA/|ryO< T| [`@BEc0LOnʪANۏItcX99EeW@wSk-ć9XzaV܄ *C1F(*8Np~z/b腲%ZKlgv,3ö޸XCv]tKnQl}%G eS olX9>zp!l|{7,6NǑg'Cp]qpg?TŒg93cw6)?+6bo=Er6.AoOWo};^?\|a a=ˢR3 Aд NJaD.NdK' b;{1MsuvKYʗc} CH2s*-ӥf{S}M$0~IVc-fXٹLX%xY0Տ'RXj"Qүl!jJ)DGZYrZ;'lօ|]}G=32L^T*'ŵ9phU{HLriV#oS0T_ؚ|Z, SbOu@{ˇPz,WRd͹LSSXyu: `?暥&EPc 6A]<=&s {vKޞit@й)#ɱv76ps֖\[0ӱ}R*tް 󬹚8otbwwcDY#|X"hw1gVO^^ &wb(PHsJdQ{ZİVn6|"<2h>dza}7Nw^܎("ph`saPSzA2n?]~yk62ڮ@ֻnQ =J-c^e^?4DkT̕~ 1}sSP~pW E(d̾ f Z%@þ&z}Jb76QoJ_ lmUAd1h8`5"}殘k_+0C$^xx|{nij5JX>kj+;fVwcjo7|Q\5I*=;+d1% Dc?hl@zP&=um:3NX\Am։]ŠnwE>K`VI b~\Th2SPJ(*>gMO$ؙ2B$zU|'@]ԥ#,Py}'*v;-.d<8_MynƂ(gL9ܽ6S'HÙx}64h lAPݥmB`chO,E.;;Y¼"qD y_I܅9׸a1aF2 nAfF(|q؞$ 7=i[ "v6O $A me0}t4̊/ė%CKyi|QA3ܛfkuP1÷6 s1Z&hTA7;NLmGI8W}ݬ$ʀhb2t]"ASt> P(()][4gB&Q=t0tci*ȔLz+lwW?{AwaXW=)ēmX gXY6y!jý4g@:;xt^l,ev&{!Q9^6^mǤ>0ġiR Z?Gu hhK)U (ښw]c 5c@͗?AA׆3Xuz ,Ϝܰj6B~AvPw#Y 6Y0_כAPs{-Pvba7FZ&;NK pK;So3ԂsZUʁtV!Ő}YI,u9w{èhmJ@&XK#[X=@4k3;Zl{Ջ=zsS[LMesU"9GI+_h鱓2C$TJ- >7D3% ^I)o5DMPY %7tCDhQHZn0-RfM3s,3~΄%rj6Vm|A5| PC8јչ! -K[Ŝr5Ür)d:I,x+s{OtCFA(Ř"%e%ר ݣ젉ra 0(B\ғ^9$;|8o?hߏrǾ`O֣Nfz3C|VNy8; mBLU!K g@['q 3Z$:G~Z3i}S=4jy-c8ŻۛM~^:8he:ny>4@57A%(;卅e$dƢ=W]>aʏV2hV!\σ.Vel48^Я=UVHu )rW Q[#d{ SAu>mKRw[Hp.Ki?N=~qp#T'W2Y?`ɳ~o,ՠi&y!U*NJC}[l\4 zG`]TмF/nsܟ#`U cU%lX߈s\M\MjLUO-%f;``YOnaF7[yt }*MÒLO`:fNI>8gڦZp&l?r9ȋx)S㑜lrv #VMz>]iDKУ3yq+V]t,0Ľ~qaz0%$ɑ Irصm-.xƁi?y-K(tTZ-ĦpХh|6*o}-ĻOA#[-h_ơɚY%C(|arpژARNu bJᴇ(FaFx8vEV *Oӓ|Uenn.bJ8Wa4^mۼrvl xO4c Q (6IۚIA̚-a:C1f)w0˙%5ZօRb_c1-uBT'dCԠ j[6`Gܵ6F ɺuO }Yն/lӞC*تx̻NZ*;3(zԱV=9FѪ&<6]d\+02Bm̠zC؅àwa*C[ PpڕɻO萑KiwXX |gE ;{TZ+$'2'߸Jibv?R>+A9ʤ Q ۿce).ڠ}XZ%㰶|5X=x/ăEtXK>DC讜s᲻XU;'ls/1QVj sa^)4j$\ G%C 㻃):ّHӖ8@sSL0Q*NJ!4O\pŞqeoWo;0܅ %?%xRoG(6̝HelR 1^GA0[6qql-9^~ m ElVχi6]K0G6#5"Pn=3oHy4 zH(V깑 JnqЭo]XsV.YlN2+}MŦ ٲ.863mo/]{/8*I87U9vnXORDIH肕qqc&[+N1L4Ā^߄X\}I(g9MzуA{sS x,Ȯcis|wqFYSx~qzJם.WV3#1*&݇ Ѿ8쥒9߾. ͎5+%c 2Öq2XN }$~P3ơY^h[xQT&vLq )ӟk fFǰP1+!_*,>wyB_TIa&%uJGs+1ʻzZw4?9ԁVoL}0꡷Y1gVD {38 m<@V=cst.q=ױ=FRJs`!g~se{!= w"H:˜N"Pqʗ`kS- اp\^guEK7!WLN6E(0˼˻0{"Ɨͻ։@Tl(n)Dr]XA2v\.^KlLv_bק1G?7]0N Rk݃Zw`M=}{zV4qO6k%XJp 1I/v~7!b[6P3CvU/g_=)rD/&v顴/6KEZAn {u kf M`^Ef4P[NO-;ˏB=>oZı+Z3sD60 H˾9UrBFf\oz $w]lo:Ӭ|de,#Z =y$<УyS_nٛ tu@ |W8Bšn[mJo4 3F!̲":W*"6]Nd'屓:PԈK(R@5zU`v[2w"N@cHج  K}9s-ub+8Lo ( F$YHSB fy8+.lǕncv?;gMn^^ Sj"Ʒ7h [}ABi @eW>lZcx~IK!:Qf[=-얝jn hdyfT5v\U8*wh 1iDtxxfqeˁ7dڄX (z[.Jd^w{0KjSy_z&c{(ERX2I='5㙆|>a>L#5w@b~c3.F"vzhJ`} gL>R6]Կ}? }bP]G/Z񏋦Yl2B4G3;ޗF )ywMus톭ؙeym|Z>ёUӞV0_;H7aOy!Uo f0Mv&4,%[&`r,^/z{BlOY/-YHP=bc ΆvCYv )90vn9TEĮzŵ8Fo#1Qضظ+f"2`}P̼EJi6=4wp fPW6S)daƻXE+4/~A c cAPRT'(!({7_ e,z}]m'0{6=wW ,xLazcjL^:bMB(%l)f@tuu'~auGm$K;=$ {UW zZ`~UH1UbJSSqGR!=ssJ54CJG䫝=K `TrΑGJ[mFu'6,N"M_ݷw*=D/!;ADlx 6.qa< v\&C^߹ 'D/H<.Ě%Wc־}aucl{'YχMMm-P.V=v2ÃNm6/7Hup*퐧\|$Ȕ`Mj[`wU߳ ч6LC%6>Q7<=f͞C \M:,)xR%l8C;h ''YVY]J@nȝm b/kt) zOiJrV.%?J#a&_Jp876OlU oϓb䊎e}_`RG;O3jJwWbk"4?҃!aQ@`e>Η⮊{%Xf(,q odz0R/lYN; ?9U6Ꜽ17'd'@׊ SR25i-UmZPѳ372;-(ά6PpB_#Sh(/^5K+^BFmw( Lz1ݭXQr|6BͶ~ zSǭ __P>3 !\ٯ#:X8]'/j؎"N^T!1|Ҁݵ.xku!ڇn@!sO6Lol ΦAY03OEm; cg 5X+xgD/ankq3֞Oy7 3C-#eyl<'|pMy,fq;t4bLS{(ZL/o[qn6f1_A9ϞD1\Kټke1T3d$7o՛ G{dó?@-E +dZ+qzojCM#[*BCx6)fKἪx(AsrP;S!BFv+TƦX󻙇T[-!roV'x%`#Yf>bپp]h !9=rd.^IV.׮Z}繳fRY'C[t@yU 20I;u/n2=M_q;'p* zS[wv7G0ɷE]I!~Oe&ZStg01dk#IZjkw*N阓X;! jP{yg8 5PNJivbtP#E]4I"'vCӶ"-6VҠ^βqy0? Ņ =!9߱h[Hh]o`_ݯxb~eH t%?esOlvjT#8eKjI5cx_չwܿaԪ;H:O7Ys#Wc;i,81r9K͏VcmJ} tvh$SJ [ ponXwc M+a̍1_vBsem( _5<] ocPbçlQ n'<%IDh,TH`}瞀^|ztiv{Ċ!+=*4EfZ^L_/νoJ̠kuэ*JͨFqqy#zi'N{}|+k^c^&;_g 7}ޢo2c5[R{q'7ϦPq{Mt{ U @UzH,KvNC e G5t3Lv 9|E>ڒAo>Оr= cc1U0$S`C~8xߩK]VKg>B,`qD;A{j5=z)A놠2y܁&df^xMBohG*!]4#&9\l^+>T0xGhCŝG k>o.3л㰩H}z7mˠir)YCE JLhJ# U[ &"0(.n_A6@+(Wv$ +xo)C(=$!)X]5BթƏݕƟ1{n҉}ØKM&z0noOV4fq7/Ggc/=IiRQ|aXt>,%ǢպC1:&G(95^ |!MV+9ߍaXJ95}ccgZ)cx/48-`*ge\<'ֻ~]u(s#ovˌbCl{kڂI j6z<-J|eSPݬ$ȁwsa 6^a/Э' B~]**rPϠS\@F N6wW% 9}Z{?aʼ'˚s'E$+m0]ɂʹ&+B5P.6yn|̮rƷ{sC rv/Ŝ35wVh|í:B6VP+E_U1Q0j80Ģ#7|8!9dZ1B9z:S;9_~-,V̇BˆU]L!2 3!C7$⠿&lsDE} :.{ jCw(>$ |tx @2:cs݉4(?mSh.n[b{Lutz,)Gm/@D:甓P6 ,,n'!d 6I䧖p2Y]CjTO-@qc՛gE[]u-v:;5gx`J&Xwц%mNa<a9޼6"=M#7G{wJqœl;(]Wmy1,Junç"ZbQgڰ>9x}eis^KFZn¼ֺ0Cto>r` x8C }g~C5 s(X)v0W>^, z#/_A>a-O_ JA3D~$ gV.kb*ׇ_=8; fYpGW Hwe8&#g:ۍ/b].Ǧl}I̯.C6mts ڭ!po1޸~o yMoM Y1a\>,/2hɹZPFZ9[i–ѻk5 6n 8ggXa h7y 4|xr!bOTDŽSR@yٷ]V']nNȪ 7ÇFдW싛r-dPpe y`_zW±q&ůnwFN)W*(q{ƚ!Em.@kM[̠)1|5>L&̊Z6!2$<2Et1M'8 Y z^@CX1ϋnAϊr)'h|rnSX6>IPy5N iP*-raovЁ- 2KQn)V \%=ut=d n.* Z7ӰaPBK(u):6}*9{Y+{Qj{ vc|{tV$ntM8֟: \6*箿Dg&yf(y]?mޭ=AA8v+!kKWY;c2PZ"yӮc)j!~ %AH''g[Ba+xdϤa8Z9MϿlhhx\C⭰R3%[ǨCscɚ-%ѬOZ,aC)v,1(i; - ?'{',+"?t,6:#&4MEco%ș~&lyؚeǧa™uBC է*ۃ_X>'CFrX%%KbaFp>[\砚9m?9]ʇ.bآ=ūh<3<Z7k4q]-:G37Ja4Z?cr'EM:n\: Z<ܡjod8im ]ZLBGywFbԿK)/. 6AdѬ5lk_g}Ʃ5 Zl4?&}$e5y6F$(eD ƆtncE`$'Fc 3?q<`ewbq1؁z$ܯŒ[m/f]r$AEYϵռ D5XfK]~O 8`wٗ&q/ӓPݯ֍= %FX&r6 ¼s߸L{VX+ M|s[ q S;YwjLasiul/< Z<v-$.aMXR3q6ˏ6/} 8xKeW(搽% ھ?jL-,)9JJwoH#g?liNkQSMwl)u _A?6o$^EeW(i~vn{Xr !lGtΏؼt[r>g;ҏت%cy [$L8&qFazl~6n 2vry l]H~ݔ}5;Q\T?HqN3Pp`Y Xu;+'v8,sܺXN6{jU ެf!a4ÄL1>+Rc,>NĊ4H@ yi8 N)'GU;hϣm}.oߞ-X'D|x[]S}kz$WH?"[Nsfud1Y.>XntTXx"ոǵ.`_kߔ?:ųXp'=ǠٗOXA }1N9rv޸W 5_ cAVv5QlS܈R|^$ V?xߢLW `m=S7'Bǥ82,ܳąI)PŰwϾ)AYF/L}'%t P_13缈7-K۰>lr8Vb):)9]#d0@U{4gswF<~-{"!j6p|eDU)hN¼"ع?Q' 6cc2:꽀M}2_!RfXuq=H8xCg4m _ rXֱ>ؠ@&kEGIƦ1l>7E,=U3- qB #\Nt7\JR:<]zd 3:j/O>v܉ˇv]An?v5Cݷ{lM`s3g6qf]oҫ 1b}U6'&Nx-n*NMWj ' ݻ|]A2߲4&lv,'3R(&cSp&A'T,E[U5qeY&6[bGu5qIL*f: v+t~68qovtgֺpilP[)L@veuط͚%pQa{c)蛄V#Lˎ?6Rgx Mq8~(/[dW{ʒI'k doJ8O)g.MgӮ$X>NO|S # yqZINOjyzh *!(9c?Ul1u1>8#A%33N>Zl\Gu)kn?ѧ &GKehmtL{6 }F>_{d G̴$s(vd%1 ϰPjo|hoO_g54ةEnẉ ܓOtP^*헾Y*KoJ;M|,Ey?A(D+Oz&&ұoc X)=bI|f>ǼȊZ&T8i0kM*9Y58ʟ$=ҎW.ĪE7%TqV]$$;߾},{J=(8U)e v)W~eӫ;DZy 'p#E) H.|dL K%g¦moI#xy3wK.!qAK'uЕ= G7 Ot~|y6R^۝:;>گ!)"q&zi{EN'Z'ud$sľ|8D_n/Hѵ0B}:5?KÎxظ9A]6i L ջ[dq|D][r"mompV|߼'nv"-֓1iM(,c?1G'ecWAvXBwyT~q`e9$3,b%9'{)7cxp`P< 5BPBksz[\&4l 3\C/믯veIrO]$y 6GF1KL0 \Ƞ+oƇvaz f>Hv^]w q}ݾ-Yde3`Pq4` ˽q@xŖou[KcUѣ!zqnx3q?ܔ\OZ۵?,V5p[#L7b\~}$|M9+8%AVe/2mq:\gx"wUv-]ҜR2olOstģJءp9Mh"TSri=_< ߰ hs[aˠ6}7'z`PfEO9{ҨHl藁G qq̨v}%?@Ӗ@11+^ ytMů`T9W;Ǒ3O<7+y1 KXAƋzpMv<0 *!PйG.~9m3B1W@+E!M55fT@+Ri^MZc}=4}Ec.$1Ơ[oO">t OpJӟ;ǚ E zn uu9y>10fWCvRʮ;\Y!ܠf>r*c=1DC  yd@Ky[ ɻm^c2Um`έtanUwCm&ÒC9rhfs]6Vmb߀ET[Kr\ZDA+ITꅜ3nmهX 5U,Gs,anDvuxVu! ˓ߖc p7 Oy`SI) z0aL8ߎ$ĸ4=:QsGbl\w ӿ:7R }ôٮ#Tgu;moF&Cұ8J=;5 C*)wwawW1A6o,d3 bOvqXiq@)~҄7_lFqR;X9YOmm ʄc݈V5rx`ݺ*Y| BWrC:Бyp{"8l>+/Y{ENxS_ D]rq'tZBd+NcYw^ljHSC 3aaa받:Xt͠>la]gS]"ӟO J`,8$Eq[ +|q~EKU mZKB1vJغ[7tR&W`١$8tnh4yVvw3ou!Z@Ynm.*v>.O"$\{Y-df%>RAU6'Pz m$cG7:BkJ 6.k V/`mk5[6ocZܦZCNjlSJּ~ZĽ׋y|Ywȁ5t,ťeKXm)a&pY9պlO1.%8Hgɛ0Sw牣yy+=x[JBc=QIt|+Oru )!\+[Yi7Y96c+dݝ8Lв;amٕ̽rf0r=Ċgn<6VL4zC xFp]6'vE,f~/ě&Cx/Aeznt`ްœ]yPrw&aE]*G==BL_MeY/M'o UXGً[< ŀpCky<<0gNB-ʃr2%a=я*`Y.c1c(XU}认৞htm&|sPfCC7"'&X-|9vr; wl!#Rjt*9$MPIZq]4tO WCQSߑiT (/q4DV?+BBD/4|yjQBDf}'FL|,rG7c~b}XLN͏6r/b inR=(<9E漱^I EfC#Ѯy6(G,8(tFJbٻYЎ2qP+{h%_gMMB8ô}( q}X:rT)3QNW3 , gk`[;ېWGk|CcoS>^i w5A #]_/$&6> EҙNX.*9yOBcnsWKiB f}=W *X[9)LG̝hI|`{NX/W`f9m%&iTjTn#XhAbKjbB}^ -ȡ dqMB~J!k^$yQ:gPnzj,%gSXH,Z42[lre1'd@U'Bu (V5|? ]ͼ^$H|rz"7biU,EܞM,jf3v%~ԳLcEX4Sၩ0eb*X_;+;& ɷila|W8e4`azNk,2& ӷaA/}nHLvL`RDqCڒ/,6w$=%Pe%-J~;a̽;?KRָl`Oѡe30qntY|4uPBWQ3wu-L81d}`7 z宿ˆz~0Ɣ@A#]rk_c&/t ol[TY0iڡ6ks;mdt4]G&Vqh2VQu.OA|G`0z9:͞$ 4:@\n~1v^}e }Rߟ݂tsaAUQXIۢ8 _^\g%E&^P-aƜ~xͰVW#gbY`QU}V̟u $_I7WNsz tkîȶ3.QvW.5[HsMUP,. ƠЊnZm%LaR5꜋#6<ilQ^& Bk 7X{F̍0Y?bJ=rTa`azֽ0@,Lw<.G2OP!ՍܴQ,vmtWԸs~ԅNNv@2T tMɠS B=Iz$2fANt z>\"tFIf,~?޽V!`&J<R~Pz㒚Mk]Xzor38)Fv6 W,).U.xCoҕ0!G׹Tg}}[ׅg۷ n`xįiлQfG5fKt@liWzTʖ'O߽Qd74ڕ30Iv#غVKay<?} _5g_ը2mc#u7?M>f&ovb'U0pv ~08f@uNPWXO%J>=z׻4٣|5nx9L+# ΐ ƾh++T|oS4C֯,V7E$Mj}6iGG`̙2,rFZ0t⎛xFY'(n͎['AwIp!ƨz k`(hˁdf}34=6x }s*xRN?d_ \C'0:6Yh0*N^8U^QFL Rma&xmZ_nynOa Һ^Nm[6ִEcTzrjGzSV?9f2ߘ0<9k 57€um=:-*k^~+ ЩWrw-nYw4=ٻL1F/}>< Llb66y;`.&H.k <ݩC@]j?. bӷ=#C? aygT֧fl謼IY'g'ejCϦ6lhxNH4Eo>b0ʕFO_~BP"3!A0 CgSfh.-饡gYYʢka6Q;eD\ RT8;wtc޺Ûqh!IY.n%ka1ȧaws.Ҽ@E_̼/ ~]$I'uDW׉X]'Nbu:uWjz*&ō**4I _Q3TUQ30V634Q &f1 C5C553ecuCu3cgwHZVL_LUXLDZyc #C }e#==u3-ۄhjX(h33bbfjhjlhMZkac5mZz$'5Ho1*ʪfZƚ~ET[OERd45VQ6W1 oXDIG45Q雊)ݦzo#.kU hhGH~{oFrCw<6WSQT14 ::ʤHiqc!*&iexLI7uN#KC- ߇`GMTt T~~BifoGډt_24 %YPCEWʼn FGMdV#ZBz/HW/ߤ3rXYXDMtuZ= ?ANE_FSKR1iI 346T5hF93=MԵ&ZY5] SSI<˯̱ kSkhhej5ݧ&*jܑJC?.ؤb@_70"TL&٣awBj.bl "5_ϬW[QTMT4~vɿXodҘ]u߸;Tt,:Oh VKȿϺ_Gwm$ըj173#Wfjz*~(i<)L_J'XD_N]钉ic ]d5fjڤ~#M : t~ci24Zňӯ"#LRe!I}3.3Ɩ9@[HO7Dl]D?/_^-MM?ҡGj߸)@pCB?_wr# sNNDLc16ta9U~ W)"bxj"ϐochbflhk))w' /yV= Ha쿘~x MlAE1ję됪UMw]1izP#1<&*Z^1 5*j{h?kbiLJjhH#=aGW ?D&F**OI[H,M:_SW4Q&Xr55!W3=iW=ocDRö?&_M 4b6gmV3r*WR4H\`Q?QWf&SϺ{jhlXK6W«<ϲ\ MIDtE,4 ,MHjMR:Wۀj*F\&[0!wv154_mo-ߣ,*Ϳ3lbt˾6RjȺ! {IU!AΟHM- o|ՍM~6?=MsXCoIgaUv< Q6Պd8O$1H!7=Whbjɢ7Z:$dJi33ޯτ?)#}Ff?;743&m kjXdz: ~mmծc@j-ƿلi_Hj_U31kD"i3A'R L`U6{&t/h;_mSOd6KYْRRCR_UMc? 5TW%?+߃jmYh H=Tg5ND'VO*)1m254^ 6៴$ HsQ@ _EWmҫq_誘RC쟢; Hk5[~'_#yy~OO!d*fW6 '\0y@ iHgՑhW?~lj>VS@',OA"Ej$ߍaOOmbpʟG'ѳ4'0O~L1U$r;K;uI$gتR?sIXExXor!zwkPjFۤMgyï]Y5V:F?7 M9uIDHI't }cfhaQeHv?$EDjߪLېǴUT3}~_X[O.X1[T*(^b, ?ը Da13%qf+I_ާVȿ МDSWC(bl7K Q?m}DI`U~^7xr7#r#5?vV_[F8D~' 9+ߍk5Tfr/UzVVn5u1UN;VT58oZ$I-?fr҈&*Z$*_ˑίo9XƪegH<B??2S?RMqIHaW;c_l*iFqmcp&Hb:?Ey130}ϫ6R3w#R5TPkPЭǷwFꔯfNed^UT}=6N &nͽs3BdP:xaRx"B r.2)CQ3ߗa, &d0ηU(8T4z ʒVkBJOKoy<.ae{ň^C[!7] TNeqAOt1<{*}FAJ10Qp,@ ,1P,^t˽9s]kg>s}ϵksBWi6E!r\1Pj|5m9h ^*x1̓񧽻sBt@YX N)3Z'B%0"7Uෛ2atOb- zt xґX`3nay@+v\o8jcN<+? oAK,GhlSDj$*GUD &W|\"̜d#܂!a-XlxE[Ffְa{Z[7[0Tݵ٨BFkC%М}YhnI=9aApty͘xZ>1hL{..k~/}Vo.bkaH|wyw<]EO#B޾pۍmUL0z i, KQ y{ڜuV7’ AmIK1q{PjE4{|xH[hg=;-#m]sPVp(Ay5Oh4m1A]0_H 37g 硺(I@@^=@p^/q?tӁ/7aS8yh??@G+Y7y>UXjd%uP`*L<%AϮNBmE0EKwh+Zc>ٗq0VDw-I'h<'ac~;FV}9r۴ es-3X.nђu'E; ns\{pי}EyFF:5m#t͆Z6 uƁ-^iLbUL2sMoxG ^rc3(z?V1?(;ݛ7t)*BCw6 2p?pk`x/ԟvMa$%-/n<9ƨڮk|L@@Vc4Ej;ࠕhj5ʲ^ 4og-~.C`S8섷c{3wQ#=x|.ZB5׫)1ީHH}pVEgznb ߖ;߰`Wgק؝ݺ:ņg ϧa *\Ҙ?d'S۰Ii.}N *ߥ(.1 B3o&#sbjV,qfu19{n)mcSs]tp'&٤ `*q)H1XQq:Ǹ vزfpGac1-%p%,6x_p>"i}xCT ՜TX[e#P(& 3C.JK7$,<1 &pt&om{݆j,XvWD=\[OX^E1e2mi0)صC7VD`lx8ҿ ~>w8f qJQ+8*ƶ_Fm󌙭+Ϛ{, nζ{*a;Ѓ !\.7vm~),?|K~m9Nq).^#݋ҙv='nnut[;&V7#/E۹r.T?jje1ǫtpU{?JXc %ya";[8830vLFoq#,2o8mPݸk}XtUڄ2s>JݬA-Xifz,ӓyx7l:r^:r"A`P\\ws?$AtcE'N ۱tzHr*/tpLpFL`LӏYC`W`aBi/zuh `reO :嚵5:0=LґI#a;tpxG(fT ipPc)y|ڰ;΋L #qbUjMkv>VS{E{ye9PyڞF k~cwlIڍ蝶#I2̶^v%;xsWAbUSPʦVV͜y =ŶnKzIYObó=[,s{E!rU[G(zM=v9$àՇ 0n^*pZg K:t lbN/2L PϋEryAmYyoyHfl`svzϮ'gm>=nQR{d4v>*$C!i9 g'0 մaBJ˦MUG'ݰP<]*M?Z_ALb/mc&t%9mw)ܝBTfl7:}$-5*Mr]8i%?R!ۀUg OAYl|4T}{Gڨ'ȼ^eXti9֞y7g?\v^nq`(mr=6z/\}^ Qg;f1"_ʯ'㸄) =${|KjB|~%(W:hdOn rߌ]5d~!]"l$Ѐy&>=ea|ơ-,ٗdgG~>ryv$N 8V\vH 8Q z&p$"#u8;;$- f@lΓ9]<{/Cv:гsH!FY=tD5zM\Ǿ #n0Ym_Zm"NILjK =1) _ˏSdTf}u seȺ7tU-z@=I#uMO IaUDĘsHشGВzAt~E//%HYVCvX0C׬{Vqe}B>7F,XʲGp:ՙ/R85azS<<#pDq>ln""ī-qjqf3N˶X 4cVyD**axu[pl*Qs3q&4f V +T[mL)cv>De/o9Ga;Ήg!9ꐈobIaN lݾqb%g;] hA7 }uU"Tڰ! 0?ݖ=3IJi{Lt3<]P!VJȷ)ɴ:j5;/*"cw^҅w^-ұc{؝$hI2cm?\CSO8vIeh./ihHr>7tZ#˖n` EV5I[b T i\Bsm5IsW z6;WC ~"73!2gsxtYgwŤB 8pv2mbbƢb42{c}=bPeӽ1TUwk2å[i7hFЯ>BV]\MU>SY8pqab _ ÚnD9H>t&S 2zŞS⢌.b[5H;,kzGB ;Fa%vMR4S$b;=T8Nֽ#bs㘍1=XݱV3),'`J~%-lu|E29Ͷv*3t>7kC3{0kq|["CH~>(s4|!1g; Ok> t`ZfCW;qL? [D5CghbYm-t Zh䛫ﭤC\(>W>f&wf}; 1n F b͋]XA]YUjO_MIc{A*`7㹧IB[Lc< OE^5\ܛY}G57)sI&J:q啪ClPvcj`&9M|ztI}S01 G#Cd#^=#};]y|þ޳70@2|k1Sth'~@u3-3HyG b{u>)pXĉyca,M7:udM9XF_n-(i,YPG}[Z4LZl CސߨwY6VWSY`Iz"rg|G+?Wǡjŗq7f$?;)|Į&mv@ɢXv83庪S<ƪЁ_ߜEI\e=8d$L+֋>URx߃C9H]`pnDeKu:G:%-܁IU0nՃTʿ[nUHb kFs$lU|?: e ^zGc.HwR|K.vjJ2z]y; l㾷 8={Uy Fy<ip^F9ߜ^ĘW>0{ǘ/Tmw ±G6ui}u_aS)-02cIPj *Zqǻݘ?s=Pp-q:>ƥNvM4~A>R%G OaCwg Kle!紽V;D\h;F0U\G-^q\h?}RxM7΀A4f(>}#2@*R",S:gU@"4n// }>.SBB4#'V}B501O]5OلU;0ϊ1|?$y߀yg埈l#t!*1oo+k)z^%KՐ/OݣõP~ÃFzFHKܒsŬկht?\*u7¥cCqϫ6`2vhC˗wOaw^dtXZk/L cδa N:ɬz-܄YgsGza L2YoGQw7W:+xK<>BKٴgwYl'va;v\Z`e¾ FUJ1~2]2&߬. {A{TaGRZmB%L5,受MWa{r-Zg&a 1_)ם'bݽ!<=w6, :#N &c3Pi#TD7k|:> >(:KF['b0AY-/aa汉8mEHy9̻vtG`uP~V\N\U"TܷUW`qbNXU߼u&_~ǿ ҕ覟woaPDqBM0|F *F3?'G[ /YN0vȳ˸:ej~㑓G`y3.s,O)òa=b_r'|R?VدGXu0Q0 eڗCs$3 Ccڗ#8:9S݁G{iS'Œ;K0I6LGa6 u^U:RR}UMooJ2O1t83a|5s$q$@H<$JKԲq}y\ 4MO{+=l`aւg2bi[{|0TPF'_m!.oo"K;*8gjC%?U۹Xh4 Żj޷y S>8ʪHuF^L.Ln4!Is HhL50Xۨ)nH7ZF$vx:O(O!׫Wro8.D`[L.o!R՚麃c> BGy w/4nǺq͂!jm.ghߑU'T`a$y'opĦHjm/muTE\Յ! 1+|+G s2pey}fQ$R_:4ouFI`~^wqPskyI͸]PA|wT ~#-#/. iNuo;F$prշU`c f"rrH TqQf4:9GœĖdޠOm)o&}݀C:2N$fw޷B17N_0Z #¸UKt|HªT`=|# "R ѷ`vH ;^%'$\p HTaN@(wd-x=͝ >.>3c7כ4>Uᶆ>YW(N n "D*ۢZGwLMlq:}=|XAGi׏4tZf}G85xg^5Dz5>ՠqE+ln \ GnJҭʾPQlzD:MߺJgd,~OY廧`)MyINֽ3"È@ȟL!swӧ8gF+^ɰ z^ʳHa"JYz68޿5ɹz Dd|p%sWp}YpOhk&x)J.h1&RqikduGWʭU$2Y%bK\ecqj㨅 PNk٫55cBe{Ƈ'a78_AdO lq-i GlNXYޘpw[K= ό ?*W!LW?y3B:D!^vmlF$ͯK%T|b,qÓR݇DVS {5o2jJB4,sh mгZ7ʟMΥjOpg@=BܫǥBF C9˔x+R9KJN}c{<(Pj4.^aH>|&:<^wqcf()9en!᫥Nubm7je,/g1>xf QGZ$B}lgpg.E9vǦϞ ot ՎȣrxD 4#l4̭ac ;-& *i\g4tMN}&6'ýsdO5?ĔC֑_ҥG8Cm{g_7ǚn31lj+㲅g4}٘lGa4m S뒍p;LQ ecG{8Bpn45|$p6zcZ0Թf1!FLq*a*qJZAp2"RmK_%Hť+nmXmf'&`~3wLMXq; ]_.4*) ~Ү|D lov>hz=MiK;frL6t= χΞm+)k)dK&{}5RZV#^x ֪řR X]+1gy!]w`ΣdcT/<P}Y09Y%u*0wcqd~uL,vN1'ۄ,Q.EUrd T1J}*v|E^,6i-yPnCШQl iz Ye\q_6R 3;sϔ7rGLzSq~HQh,-|e}!XSL%r| 4:p=h5sU!@fE!&: p8xg8AV|FF Z.LtjmfNJ<}}}6=|#+qo^Β}&L(/7BYnae]:_!t8I=pkùk i)jLw8mمnD) ){? 7WK٘KC7! {oK% äҋp"MfVlK<G)%w'L|h_? wG<\#<]jsa^ XUy4nG,Aw{W*&U)})LޫALa)}0nNQg1ƝT>xAj]ڪ]7-s횠%t3Fw (H=5FkF[UBfsVCfdQx5_Aؾ": :^^=]n[t0Ц/(`!(^ {-3/liw3jGNW: iCK䡕~ T$Ƕ݌fS&bPql>˨OBni4MFeSA;#4e]U3-_f%>B'0,HVZȜKe{WZEwDcR}6]efH\"vuhp \ֻ_4YURGr,Zl5*̌X'aa}zFv,bz}Q-LGKAA,mX;Q)gd\/d#N3Fb'^'@&HPW3rЩ^:[ nY wBBF􃉗oo,oY azn&v'.?OƑm.{$?x4#*2Ӱ(C95s1Bv.X 3[=`9W/7'T^CZPX^>K {D=lӍ&B^ΊK߅Z-R;y=ȧX5A:9[u6Xv.\R>x\k3_}x72B_,&^DP{ LE'`܅u\~^*gU|iitayDȯ.S"*Upb;."Tス3 fK!Ij>Ur f+=ըލm5#ΗC߱0^tf,ؕ~K!aw4 }]5B.~{ yfH|mOJwxn3@/$֣JC8xRm˖isnVp/Y.JI9HB}`w*Mfl;$No ` IF i]Ilȁ 3#68v9F\'-B#$:H >BҲ̐: A|ؐ.{ X¶J}N.ˎŪ^OO`O?8F5' ꈡ*7]Cae:u|LɱJ\ e爃(D~3D'6cCXZUx 4{"txWd0n:J(]2"e[ĺե:͐椛Ͳbޗ~qwFGp *x <ð~,E|b[^AGxk)y5AEc- z:u7z6."Gj(^xi5|nAY30`kدCӎ:K=4¸q/@rk|g N^^Uǚf5[Ղa:uwrFL(*o<egIL bJ-$vX ACcç'@cn &LpLʶ#r8"M˶=*]oGV)BKNc3efף/{Ah\ 4|̇z[4/X(V8߰~3m)Jj":sSO=Чᠥ e_l;V7oZ4`bVh23e+R\ex%1{c'&.췡xœۗqÈq$~w7o%(4dHh &E"Ty@aC۽XaQ[dZ.fcQm QLZiݷB>oeow:C*w뎔ycLبBxcimϨdUSy_4(yܘ>= J {~8.NȀhv0|/(\B_~ AdCsń'48h=~8p8ܫa RCTpn]:n {=Oz64L`6IoFbu1sEK2߹{=n} VRkX ;/=L+6#Kضx&]~ ?rDg\*8A, zbö]2hQ޽@u2LM8{BnнgAO80y],hd3,;n4vŝTC4ڐ3JbNrуyj40<1z>bo*{ouTe2Ex @/cbdl;4cy\1=;FRfa:<žJţ&;WiE`k=YYXl Y|ǩrhoړfz_DRbL=*O\,(~}rnW@ONc25{ixv+ ~xc0"j Qm̝ʿGƯ*A{cPeJ,tir(hsF`ԕ;;H'_ lITK'PpE֛W)_}/_g awNvpᎽU1 W;'ah]&d+R8Sۢa򛱆7y p,J!~]k:6V%veh.ݠgdnCvJN񺻃0["% m[`YKfH7oI%aҁ1'tIg퀱0?J't.NK-@ǜ+{a}݋gjVpڜ^Ӏ}>0{tӁN7;@T+D{8ħsS@jNP[cy<0M%MT+C -ʆN<}q6TD-5Ckro04̷+_bkoO}|v.> ?x*2 8ngz^BG 6$bSaeIm.%zv+7Mr'ܛ[35CJXr/dI\lRî玄o^^L‘¨"M^X>cz^?|ː+NKawJiߗڐyvxc/(wxaZ)C~]H^I8Db_٭XxJ#ܴ8 Κ?x8+ $ط lG YAx.w{DRʃ׬Ê a!*E@&47 I#]^BUwI))hRZ$(G"Ӹ cژ@ڮ^ȇGA5ݲ\,AnmlZS w#R~lUP~eAOV`c g߱ H?Py1J^"2HJ.xkVrG l9KjcW87ׄRNOV/>6{Xyd (:;2/o];$yjO$ 7oC28i Ů{u`CDlP՛S|Pyvg/_u- G&f44~L3XL~z5A;,CBNRIWPfahFLT2 N`)78^4r(D!ÓmI#A+gi?`Q'៯ݮy8 2J-SF-g0 uk,M:xhΌ{+;DCɝ=`@E%{h^?3#Ř};rv)LVŅ;?;YBQEF9fFĺF/HfEɸdT2'lӎ:@ #ifG ߘPU [:F99ª{d1c]b=Vl8wP[%Ŏ8s}k q7 G aUM>X ɟYh|K޲H2S'Fh[{LRuW)'YH!'}SU貃!L0_Hv{{ŲxQ>*?cķd^x~4YΩs?GLNײ q4mtV^HSDű45"kuos&1[=ű] cTӐ|ևmGH^}w& pwDܷG9W-ò7'oVa-l cg>? 0Pvgc}'GNvRP׈xC5儏?^Ϝm:ج٪ŒU_-&W|qNLzH#q B=5C[ [}!쏞uIsvJ>;ن=쬭+0VW ݕekαKtAulHZO^`/\Z˓t9id,<<? %n**=)jZ%NgM~>߰v pMGa`9M'qTgxc'/YAOP]Ra6}L&6XF.ش^{0,񿤖Hu[.ag=V2[_#cdc#u0nZcY.$ ( '˸M1yejX{o=y=q+7R}U9v82k/麽pVzD z˚}%_듛2]1V<bK8ZjԀGgCg98nKˊSQҧev:5f>f'8;ZCh ;R '_\=F\ct\Ȧ$YQBFSmHcӼT..|iXD\\ćSo+ňr&TRi!o9:uc\ Q4΄ZeCCqk֍YP֭X6|>;(bqnؖg,KE#Sk3`%fT{g] uz_aݖo"2|XYkY3;p dB4= 1o,f}20iݏ8bs|&TރG"RPJg9]mvı Y}1\/eձ&~Zsի.Xj607ٵ{>b#8q|aXIʊAG\_o,ákx |i.j7ɸcqN!g:԰^4<2}YĚ48rnʂIX%/7 P!00KC#܇s7qp9:ڔ63 faoWClxW1 [3|.,f_ˤ[P<콛q?nhv/v8m,0@)JM* &ҷ?qk'R.G*žQpTX 60O±3lʮe8Y ,efss{JVFJsTu;N=TӍJzMV4'̵8L_79^lCR m>vbT$"-8uPɋ[œ#fUY2~W @"Ns\KxyRѶH\H@ 2UU'Rhi#R:F\Hť8*e<6_֨ 8IwnnpeS]&xG-Lh@w=8NgglK94\ʘEq'xܑ5 YS2gRŸ'D"I!"5L#'i4hs*ǹO^al 88tvfBOi5~$L# >/"=lO\&8q[Lnq*yg>-g+T>炶N(ymZ2 N~xE[0ߥ;g17pӋmO=qiVQz,HJh Ұ8wV/IEd=\ۉc!YpBqy«|?v`/[dv8u*Py T^kL1m UPN?D{wqtj]wDh{+UGGwhwַFYHfN'Rh CpT0-5)Z܄^/Nh (S%h FDk76P{ѮDCjw).Zhp=ҵg)F3U 5N#-˰vKL_qeƔi(y$^%!p"mE"-慠f. {p no㋫qulZh6x2Ns …OptZL)7(]}21?b(qB~:l{7f+z<81 (pZ6廿4KY`!$gs ح'8y_B-Z';^8xcD* ҭ~-'^R}.8עa .4fwCqTZ[5e3=O{OX+?# d$4cTJ>VX<#{B^6yUj7q,;Q%* )isqAh2*AV')/%a]$hRDNÅNL*7"ť z( ,y .U:Sz9tFRHzH'n_"*ƙG"x^&pi̋j2۬nQ s5Cs ;vҰnNmضQ=nZ|8Ei*#vzQJ:)lfלkވӸ@uPt`ii a2}o%-m9yoD9"=۽:'?dv'$\zD ×<ϬA5{!3DA 5=8S*qj:td\N!}z/`V}_gs^Ae\dغ=5hsTM}\;T}==Oubhx6V[8(t\=6~%(kc)Smp:I/~Mʁ[AWC褟ԣ$aMF%Q8'\'lr.C> j$'ҤdKÌ/u{Dݴ\߭bF0~Tc$16I~? TN/gJ]`*L]N:\P=w g.FJ[Sgc[18AF$]VNG=-7-j"B)5BO̥4Z*蓜JPɟőKmbK2{ʔ*GА3X9~m=,MZUjc ۚ6ۙX< ߗLRYvzsP< R{LXg CO_v,Lb`O&Tq ܚ]R42!Q|l*fd8?Ψ?ƢgL7cn  qP.ZDF2K2gwJʚebXf:\p/ 70a4A>z2TQ<zM32 +vB?&wi[uҾ3\Up"'xYBѳSX]jPޝY{J;ng>=+pB}zW+,!ԡ'Bϳly #8o/τ~Q"!]^(ڒ-F6WycuF'g$f$YIRFW}9G4a׿~Bcbj(3"n-vmgVT+uT 2Kէ!a1k'ػ;14t#CoZ^H2]BW )㰬Ƙ'XqFר U? ݔKp9IizHI>([3bX,w=0Q >t d2ȼ}e%Laz)g84vHDط^ƶsvC<]d0ljևe{9 s SnG3LKNC%18*ai{y]ΒSbw/, =zS}é,}7Q_.c5W 5帍dkXOI@$yr7xldI(L٣w~往]6[ENHʴ'X=1IVMAlL`܋';$:a:UP5ԉ]=3'G }g3-wZU?C#v>эiBA`>t< 51ӹrО#j eE^͘ȨTF z3UkyPC汃Ayk+j)$ĂcR0L$f"!<ӎ{1-(lXځtǩ voM|s1SǗVXJ.Mۈ5k;51빒jc+flW0zb'xOBF(!6k.5{ ,<BYݺS(kv迼S,%lz5+ N#o-@"!L:$kCɺT9k-QcJ7\XgjE_1\; CaI0a5,;991@ƋZ6Xj_XV0 a̦{0*uN8 V-bKb.*/dI:>(LR`|Ʈc:&?wr "i!INnsoK`n ;u]!9Q +`eO)}=ǶDr@NUt2Ѿ~gMq^m&a̯RHϨ'4Y`cYpN hq:͌@z3uç{l-C>{y^: :zXD;/LQX@밽״39xYJ{0xcƍ'ַOFQ N7co4Bg?C'\Pn*nv;;[ j`XWGђ-%5zL?>f2wk:/`1aW)/Hnm鑗r,{Pzr?qI8 W>>͙}au/HYbgBw/ӏ5LI^ NEuA{i~}h_YL5>|[CEvD؞L>,;*jTXC]FSO-4 ۺ,g~^7|kfH17{^8i:v]<,iU3_# SUz~K|qfM_1<0V-t0"U;z]+cf+؂.7k`4=} m_ZJEZ0QjJ,p3.3G'Uil 5['5ügyqyd5L446Co8̭+w9,=r1iJH9e@dRVx¯ҥp&k0}7=H /W䶋75NÜw]gۻ=RQ:lvbj(p7UA4a.z,}t5]h3x%* ?~:<ij PmS5zLJa&+U}$HHCPc]"\8eؘN0 2 AyJ0l=5,QcE sGx*it~kB7Ec?$ţP4 N: {6ZQQCwN-\MiSkQg>Ilǁ|v=m"&\9`9dʮbkǰi_2^dcW򹅝 -}僋<=SƘ.Lwnvrlќ5;W\1HxB( >6ʸ Ssa`eG@t]DWeLK`x s*S`ݗT/Dj`fiѵ+?6TMFUu` +9uѯ*} FmЋ,;CbaZ e4#v7Q,`тE??@äp,lwM{4B%YPjsP==q1AK؁a&4je`r wXFx(thٚ- g-k˜׹ZCi헜  `>u`~peFyƶjIhwz8@w]~-cKBAVC} W#3"R/|w>Q-p}e;([aG V!o~lv'a?C@ԍ< l,Gn{;j\2C9ntJ`[TVj6sFU(KДpD!a!hrܡC=0L㷾Hex1T{Ηdybܱ}iб}~[ J/i ^{ "'e_<'0>`|X QAO8 2zaJAyC0@.LzRo>3%" _'jށx:((w)}n,h᭢rx %܂dcf5P_aM34'!Hg]Á}KL}/$ؖ+ ҖO`qáo^Dac}n"2d) {f2 ozCanb V_K.,h\ԟ@qWlU f*`UZ52Iof>6ra_Ad}[tQ=G{q087Cɽ%FA!CEʾ}:j* ZyFAH]RI"OA}o0m+;{.(,6T*{:jmު ͞[lJtP;MT~0~OY}J7AFF | &Ys'7*Ϩ,Pͭ8)a@]Bā 7Ǿ|^y?%O_A5;۸?tdK^O,|`ؓPüi\VY6ܺ.4(݇>XDqTOQ(CRwhX3dѮaa:%֑t*D/:go-] r/CKLMmu B;%%7!W o(j'֡ EYSܰsL:6~ϨyAo>W@g CytlVAUzV4g,]X%+4R7`\%H_f躈0s4 ʣR?9 rȵe"Zp-uX~sPz{0FhŒy0K sh{> eMY~RԆu5~CڕL4{JjJh}r9Mym +ᆌ::Ǣ~ʍU٧;-c169uiW*kp? W*=bd*.gD^ocdbdfjdk99'/Wӽ,- n9~x MdMnG.J_pYR~Rjcך/jk5r= _%3Cr Z)o ?CgplL!\ :r tijᾍ+EFPx_ʟJ }0V1m!㯮ȍU09͔1հY _Ӛ۫}+xHϚ71&w܁NWQͿ؆ u JD.Q/Jv /~yha5g+*FX?͕?73-W2gAzs2}_13Œ1u5~A&9+ek.k5crT~-6r];T3)5\)o-߭{@Y̿#lf|?˾6rjɺw sW!\G[O&c? [V2ς]1Pg0*;ȔMo%#7&7f nd˜+o4P5d7ژ:ddBu5t- uǕ^7g'+!oJi%sϊyz} cmi& kidF:GeŮcH[*-؄y_H._ΕS73E"i;C' Yk:XE_2RS1Ia5"v:j,,S_l%/YɆR#_!1PtR?yG̟Ar%7m 5Wm3>13:}0m232^qOZO侨ajcڰWm>/|tELGq_:,kk~'_#^'lFT,1/1'r\0";Y=_a?ln3?VBOX 2 Ϳ󿔥O'nU?RMJTodW6ߟ:Yq.:wUlYo:\ 5(d{+l_д`W/Қܸ_BRX>"y/i6Kaek={'|tif۠`l=~>=`Zˬq}k ?mU)Gsr~~$l`yxyQ6aQ:G-=j[嫺i[ջa0f_cxscw 14hK$rXLݴu#tb`b.A-A-A-A-E-E-E-E-C-C-C-Zy %K /A^y %K /A^y)RK"/E^y)RK"/E^ y2eː!/C^ y2eː!/㼖 NJn5hO5s]*{n E seqinr/data/mase.RData0000644000176000001440000000103712440112126014350 0ustar ripleyusers=o0@ E/tR:tʔBRq1=}۸@ȇwG=}{WU7jpM6U= wq7d_}9’l -׮?-pVu^8~>MTCL[mAYyް- $*tpź:8XzEdh!kPc} r!9E3uP2Zeu8EΈ(HOD4@ɥ+Dq" osvEԮőVD~v5QTz""e0"}DȺL|D!6 ).ҿ]W> Xp󺏰HȪ&#[CNe6BF"FEHոdcU%bHjkG-"j0%c+"ԄV1z 9-xq^p őFqdr=Qn\Gyj䖠5<[%}Kri %)C0~seqinr/data/identifiler.RData0000644000176000001440000000105212440112123015713 0ustar ripleyusersVo0vl쁿aqپ;>_]=3@),IU(s92iY/S='qjR2"HiD@@hT@U~Œaa`=SbM)T`m%$XւEVmX'XbJ X~N`~Rtu$ե'*O6_4'4 .fn/;O9 D,Nia|}Vԝ̈́WZk[e=YpfH"- #lWI6Q(tyfK\Mt@VMt@bM#`nPE{N-S4b~=*J]~}#W3S*#Yp<56J`߆VWRquvtm簻[= d?sv.n;D nz:dql0mn}mzfU̦l2`z^}P{ seqinr/data/toycodon.RData0000644000176000001440000000030212440112126015253 0ustar ripleyusers tA@ =AU\eM.D/]A0ḟgqo ` JFU3?f$8Gޙt =;!UO,3K޹9B™\+PqF Y Y Y#TiW$5R$^SQ\=4n seqinr/data/m16j.RData0000644000176000001440000162165312440112126014215 0ustar ripleyusersM,d~(`amtG @@;UvbUi݌n*|X;Rj`rV/KɖA:K:˫tjѻU7&dǻWttJ+ǔދmwu{/?~y}#mǰG*w4R=WWrr*e[ 7ȱl9%/6+94dmb㾥 aίXG4Q2~Sh[[a0R $6ܖ%h jbKS{-18Ao2MTi&ip P,_ذEybX5b3u= -ʻVm*o\o*#YoP0Ϥ[qMh6Oʖ5tV:pnToo4g_i[sčJվYw^G|CllH]*߃R8yCBq3ZJÅ@يnoxDbѯYY U@^I@΢S>Pq OT<|мyQ[HGض,dp&圓o4N%%B1j"%^n8)dj U}4SG^j-*p(~ˎa)xZM vٯa>xx}~09-Vyg' ⫂צp,=>^h x||¯ᘿ3I4*qi"$Y;CݭrHǦ0]'G`\:(Dl쌀+87{D=Y% 0t:>b5#Ɗk/}z~VIJR3ߣ{@L774g ͞|&c֣<esh1n 򵜹)JL1#J>tNKzBR@c'Ɔ1z )%A3ֽr#Z $iOPJb2**(hL|5]~[jc02!3CL)."^u#׮[Lh]Փqc]wJ4Oߑ/2Uwb>3i{!Fc(U.{;;ٍN\:^.Qt{7F*+تCJQӘ `^Sΐ\l| '(< @7 aQd}i{QHt\k7=rPF6QZ`ԯ F*%@xWh`b{/؁zى÷+U1? YB0?j5-HGj}d l '<5HhG - ],2G\(}u,A{-NO742 4Qkw "G[ TƤk?ݳOȸZQ=[A٦mA Phu<|+IO͢S͕pџ#`}bIlΈ}v /@ wDl{26JE㠓NH:Qmj/^aM<*>W{ZfT?XlG} # \EijG*S2u0re/u/p2jѫBJs=M˄`AWTY}Fj[e S4hB|O+Lq/MBiOx=0Ò_K}LxG4yh0|,DO v({MYk-zcs`*##RWGz!9 f:%kΦq &R-ֺ͏&@AAR4aZ[hh:GnxgCa)0T\dDr gH!!?'m%YHrtH چ-fpJ[q۫!=e[HckHb3dD;nm?&' %̀+idk@R= ^Nbc_ҕRG5lnU"1sl`&z P" F\%NԈPؘ܈.e+R_ŪՂ6CY){b懁RU;yvu&%4 ܰb.m m\u &Xeʠ|&멩#se`uZtdΖǚm{{}*2( UD^x A8j`^K:9rWLw&iI߅Y,J55-/:w[;HQ }X`+rL.tE*c,𡸽weڹ%?ݖF )qVR;iy:O8Uo>03ԆZ'EyQ5{ 󉳏LU&2#zd7$ 6\A)qȻIBe>$|3qEa8hVOѓxl,7p֌K݇*Rn|:sBE9GUYx|[՚K'+@f|đx>G%E09Ql7Tg"1N^r}Dt\i6OMA3P/:0;p=Γ\iLèl"CQ_) Dxq^~Xʷ;1 [)"{ʃO*'ļܚsǕyKTf81e`&4=DD[c,"o8P҅,zRύ"ԣ|bEtydDM\N@TUW5ojto!U ++ M/ý;:j8SQwqA )ZP3yj~ 삧`9譖'/ϵORpu:D`HWd3cX WΘMBD܋-t^r1)\u5;R]g|Jg Z\`HK 5:`D;*`z4a6{WH ,'U1>1BT9ޞ6C^5 (MI ('}J^kyCλ.g5< zX?,atLM]UD.#,q^"! 'og2sQ-¨Q? ;0u/|9%tO3᭘RJ#ڻpI+Rf*X.p3S_$0]hK F6 b,&'y A (6` mQam8۪k9SnK\{"G4S V8Hizmb܀'$wȋm$+zUmDst5/Up:iJJ lG]1k4G6^&:jJ"&sI X?ԎI$GJO-iKNY/_ V̲4oAFӕIj&_VTR1&#, 韎5)kӷyagGj8&%qo]qBȾtthOt]I˼vV *73#Qs̥5R;PqY-{q|bȈ)PC*E?,;XF,,X0P9)72-bII>}?{SK(@f:' - Pgv*d;0*e~OSFM;z5?W렾#~W_hF$u??n)ܢsorIN(Rm{0F:' b)Zo?N'1 DQz5j\ Te3141 ?5BM{"/fZIEZ`|cm@cE3VLe7SKҩkPVլƊ6¿T Ngu4&>;S|DDر䞒)ciY9:L2 v'dc7g}' ?ALFPӃ7Z1A~ռ+PkmY5;8kT(ۛl(+lBCC/){ӺJ6z,j*RQԥX -gf8!5=B%y/3Z<7s%m]t>⣒P@[u 0?+e]S% iu.uO7%1%_KdɇjVg&&J_3;%zR iF.Յ\EFG¦!j*3(@V8JSYOPƷu1ǡc͒l6t 2H@)A&^g'.HGhƉ5T,65gl;cTwNΧ`V$NF@qCSr~XyY{}RtW.uUB,籿ȱyjoeϨ<@28L$MҖ54õryJ/0s֍ ^SH6]Ic7^&ُ Ӕ*" +hR32..aK6.Q:9hw>iCLDz{WFyqe S<s$Β@]dKUCL!*X9>$V\RkBSΊ ]3J|qUMo srSN6uT,VJLD_nW :92MeMc !5 *1y(Zfo 0uLr)i?[ 9uAΤ0bBȩ `my.j},WgVT-d׹qg TMlL*Cr;I6Q<[BTHY]ʞh76%׬/:hκ+Q̞n_KR1^ϒjeT\3E*qGybñi.K#Fw+h.D&4t) 񞣤áG(kHM[^D f8'HGI4N*=ja.bڰ7p]a?ZI,=VIdPÀ-BE[-U∸ 5x5+-2ϲqcza$Vx2z7zE/~%]iZ:ڀNFL>+fKwk~{Umd&jqS{&+v5/,,.quLl+D$v^JͶ?PKk9GZ P"@)MWp^ta"Xa-ZxdvMUWHEih JT wFP,{<"*S :7(Wa2oRCr7a ^$,-(f+L -`~DLFs$N4#OTП8=*AU㋭ڌgaApP;(\L#~κ]T@` q<0j}H^DǍޛe|9 &ӉC'3dS,G61Xi\XGĉVnsO!)/ύ=h\NQ@NmF{2\/oL|,$'a1t#OP|r zHXX^p{lZ Jrٸ!Y#O}vpm2u! eˊ宻Z׾F %t TNHթuT-A!)ugw4ޢ+-PJ'Nst^m*]Pqz=ZFht D tRe픉Jz:*+gYWˇDr[:t~nL2f4LŠCU$dl Iv3802#So$E fą[ȡJH(&:`&+<)Y9sq:Yxvg x7t7e%޹bM$ilבL |I{Op *#h|5fhNZ$k'h&熘/xgY̥6zäadQJ9; c$$&P<1<66't*,[&JeP|4`V/: pqt[2f1B"FYqM=wRcAϻ7ԣ8fk=U6:X ^)޺Gp E(\>-zc1ނ(:\v3B(btu(R 7j0Ы--~Q%MH.0F ʉ1;VB. $( 7 @>.fp<2ݖ7CЋ7Ө]oC-QO ls|t^ϋ3ʢ=^cٳކKGR< 7hõáKqharRHf1Qv,p1HEU^KFk;]y2 °B K]8y!`.kfonb^VAFd7[BNXɯ<Ȇ/Pv3B 9z1RĵLg5{^F>2 ㍈"%`v:ĤtOF8UZh͉V =o@dߌg7qy(xf+9*| 4hlykMՂ~ݨu8TI[G2GZrp}.(!Nd7^NWk_x*ʺ-He $򜌕)NޒPP@Ff~܆<, UkEi1ksؚ !ä c4ݢYOBڐ0ãY.ȾxЀ5Maɴ*b$&F&e[rmCNCz> ':e\ xaRko&}Gᒤ#i moa|ULΝEP ync{"[XO>jS˖_'>KէTm_ }93Ua!zbmO`:2z_ x F ^Ni=hyYcŕ1;ߒz?5E{5QۅզkUpIӊۭTlF}#)ت/c ,L<`yjk{Q3Vm/bheH ]*I( S2SEʗ;b@ة,;4‚ 1\]hsGu<.'^NHT+n*/in*6ه;ín :G2[8YrmkҺ 1́ӠT hO\ޚxDuGZX#Zl"pW)-N &-4W{ZR!U|9}?l\9hW#6xmiɞKqg2nh <@d\ZҴ[NzZпswpNb^5IbT""|M^mWRD P2bӽ| %NhvNapd;^!KB4!r9߼d*ہ'FRKVG-C}x1*g5•yiņqw@OeOҏ! T0\|l*NGEY!SF ;)% kTGf/j"׉Cp$I ^Sݎb/O௭29{b/[KT-@DG~j}w{h[iDADt)QZO9%KEeӫ!qqW 1 , :A5VjLP@ǃֱLZ2`@Pg(whk9KTQ>4 ꬵ( Qm}C MP҄D0~pp̞y6Tr £Sxl#{*e{eG yɆg%Q9J |@]fg(00F^8H^1m1!7Wc%Tғ7˅;bu$BzNւzi!&HܷrQ*y 8;*Gsr1@;|Ot@c-QQ~:0zt" #Z̍ew egDW+GY )sљd/ߓ+ŧ]\dԘĎ_*%׷L?!'V{K~*Pc`wb[cq$'+% F3P]aE ߈pn]Co]Tf -ŵa. A0@bEO%V\`.Pu-gjvEJT _#bT@Q,GfY:鵪ifktDbV@WMTD0U :fMˀsg!=ZW&39MMLPX "4]"BrZ蕭`e6sg촨ЀGwe-C}u. [luڹXAwrMOT:~ypT.3ʡ<4:)FKۊSY/m7&c G4ֹ~AQ3-N$Nw2W*b? y̭7‰^ߣ?ѭ`vtD1,_yl4;=-|M9n2VoP%b޽!V$29N.qA'1V=UV]9 R%m3|`R>a:"1oz6cvaZ [֪u2@i\' uwϫZr&bBJȯh胐m dH1xl3ΰZrR/c~֗u2pb4e ZefIBs^ȞW"+~SvޗCtQ+BQ]&Mjڭٛ3p:kY>r2.T'चCKtP`i?Tf`V&}} Ȇ )Td`-'uZr!\Qu'ίqp1~J^wAI.Y6B0M?A]ޓ>R۷?1@Nw&7jmƁB#X u9p򏈸EQJ(wrGm::C7(nhaI]g$W ݀I_lN&~Yû|mޓ[2C:vVѸtG4uKGIuG uЬ}?/DhjQAsNr7P&$ C+^y7zCX/c3'"u EWpÕЍMȿaI'`ddb|u^;mX؍]/PX{ 'BUiDmX|1ۺak=gKe[˷Һ}; ~k cװFP!FU1.;0d2g1(G82 >{" wNT>MwSNCJAܓPn'ltSc \ EBr{ )!T}dL)1ȈЇ/6SOҎ&ʘɖWO0h<#L_u24ӊҭM2]w/8+[64i;BH@4V xnƸ: Wݔ/Mkck͇K{VpR ,|8b9Zx_ +|u=w;9GT6aaۚL@8؆;]<%> Ve6TSɄ\G_VtǗ$G_qtWذql{>QLaR&hcr]GvEQ*tvOm &A^+~+-?uODxJ6$KVzru)6K%% zl4'iD:F a^OgeAS6 I`'hkbF̷nA[wwl笜Hga?CK=Yaü *;G,D c?> `\5e&J^1 0yHyMd:,8je|^|cRVy#6B(FSqrJY7.B& % 'O,Sfk|A*ϱiExZ8޳۽IbacG}J"9&xR WM33X5{ѽy++E~o@į1;y8OvL 4~rruD9 +GN1wc2JO^2.Z ߮ݰigkcT7(YW7Zä́x ptjgST^+PYX)3PyUq^w9 ]%xλvLo؜'feU_o?GTsE(HFT 0E#{ Pdx gz|b\NW Vb4L+ 7d&7 H(7=FT2J'qʫɯS=w~j'u{(vdS`H=P^9[u׽V/*Rʉ9Na3AR(HsiukZx+9 [4).uJ/ y| r˕4Samsw=;AlvUsEQ}Q{f?dPq11ȦUQ *Ekf'UgI lߋP,~jU+d٧'0r$Qʔc3Q䚒i =#@gd(+E ehͯ;>q`3{ReqB'θ-t8e(}pXԐ&Ks7;ݛ *V?_s[P0~\w?3Lgo_am7[ #csvi9b)l,|r_[<;D):5ķ*òR[Wn ث2co cXtBb7~Yîܔ]{v.pO67-p_U}\8mNrl,t3Lr:[wK]a甘`Z"*& pKMw.^Tߓb*d8d$JsmS\q?$O?2CZ9THlSR\Υ9cH3M++sP6huNlK38R9oKGұ 2"U d2ijQt]GWOn7MIa )봣 0.{(K:k<r/EUVi\Osڕ1ޘ]Z P,xŴ'ȆJ݂ҘːGmrbCC \6LsR%-aoD+(nN>a,gfnvi!jcM;e J}oCѺpT(ku.9#?knDR|>ǪRȐ>${'1bd^u:rx@^ˤ\&n.{qltRۀfqoTQk/׆j(4&YcM$Nv a~w^9mɚ06 ,<32,x>Sl=$"CPAZr2 gU4yL”eusuHVQtg6>;o$b8^IWt( T&!G `Q !eᚌ5jZe;[@(R.+^zKbFF`v[*R` ]q፫'8c~2sagg3x嶤ZZwrYO!{tV’N@({ -g\6$֙,OXB^ԉ#z_mٛ 6Cu tm#(ڸ MƮ̹g d*ƕsC+edd62i OX Xys|?lvQyvo0]s!Q}s%(#(Y&׆%9ۂ >@SH;qF@#J!LNnG6ɓYԊgk.8Co%gBL'pU3ƫ-k WtkpWsd- !bOFQW2]]C+e',% "'JWw0c\u+ !ں R֠WOkfJ{€z%ԞmŸ2 ׻ i!JI|TvxJDOb!W]6xYKǒgAϦ.>L,s˦='[?dtb1U&\A{(ڌQfd'œmENa1 iM$4_O7 &fghY`~-oW$}Yu'Mԗ~-cX sޗaH5Ǟ?AxصquG:g1ƆHQֹ!&Ŭd kFd Y*(RAV ,}x>x8Xfű+۴v؈pRH[8䰝eͮ1eI,JWŅV_R΃5C-ɫuك"<"&)W < Ty"Kq-o;F-a9T8 7 LeϩB^{mBeflD c.Dz>hN_bъN  PKK=i?Lj`,lX "Xc .Dkܾ_ )=k8hoh| J 2lGz3c%1Dv.fy傮NHm4 GD$ s}A]G @-~7B*vs@Qί$3NVvդ:IdFU+ .Ɉ)Ƞiͥ.hXw-wǿ&fݫlje{ժ{%L~ث;v},ӆO-?* &8;B#^Bcx&Nba6P.`e9&i=a-{JיO'Vk6AE.dLptfJ7xA?v7^PCRC'a<NIΕXSZ(w3{-jo9t2W˖J/XڮvTl'uu6ۢ-2!u=IfL`7\V9ؗA=&ζD+T$$6Ts[A GUV?aTYZW5"<7HPՎ1R`zQZIQׄCWׯ^a6/i\jju Of#UzwD֠zma"ò$zCB.*$Y7ϡz)YQ;)dYp<9poW@x)\yN7qglŔZholw lhM=7 F\-.<.IFVûqYn!2`0XRQ>6lYB8,]@N?Wv!]Exz BI:590x"Iةŀ1M?u󬇂szyb%o?ǎ\5سw~䜇beλrsSu~^LζM؛j'U9c7B"AEWSAdEW}L$an8,G fۂ|$Jp7wiF,Gԧ]#7| oz@-+n+Sk!PeZqݨX+ 0XƒASlYcTʼn>1ǽ[Ư}Ee(>o( (1;b=+E7Bby>9~DO]mMVAlhF=ޙ$ȧ] !-Bq3CkDzHtNFt tA(cɶ&j%e>):JI./gXP#s(?nW"9(H%[!a?z2p| ꣮("Hgz"42(ҳwh\o;D\^ ?S>6,[)ͮ4PlQl.E;CJ#|+Bߏ}8MA>uV>V*}8PW'd28NjwqSv/_,3uo26NJ nҶM3Ra%NWzΤf7ojvcX,EƷ#r s 3" ( w;Xvp@jN.=ݝ]g 1*igOy) cT>5SKM(!Bյ7 t۩.6=xi hVDR\aAVvKIhOWar-@JJG>Ǹ*έ~E8>%(XYfXAɽ7bcjJ%y-WƪڹCA͏X;se7iJNgy3e*2q_JϝeX7xMqZ8NG˲:mڮl_m 5 bUp 6Ϛoptp wҔѤR甹湈  iGկbh(enmO-Е=  SaM<kcfɓ՗eTZC'eh@Qݰ:Ou/ …"FSB*QBy<=NB LFLHe+([%zEoHl0M>1: {\kE jtIMϚȥXB_Z.-<ܿIߖN3N/'O{Oa$"7SE2DQ0 #dXfSԱӨAh|vO*h$C#կ`I6,\{șqHe#gܰ*ޕ{̂y8yw;BF ADCHu9gnDǐb$6䯝y&,;dDQ/?r}i6l Na$wV[1`GEX7"Mfv$!h>]XVvuw{6.K)̪nz] 6L98ng6Qb2O|40ъb5S6"ˑȬ(AuQXO">OB9+Z*MOľ4ki-}qQwDKMBZ/{=U*Hm&E5@eM4ް:3d'om~lPCߴiswCldWG$2NhiXR4Z;du=c,ӹ600^]dIw2MS۫@9.kPw*qi#9(sɾqs)s] 9-xLxJ7]5()bu'+IR؊gIT ]lBE:Mݕm}_^ۖ{(41.P&woih[=-5jiW-\{g.%Q#W46N\UkY#C,ᇪ$3`$#ᮀfmr=&2 c(2G(=@E5[^8zȒZ2ʷi4J|Dˠc}{0Jf,q:qz[z^o~2\%eO':F"C J,uyׇ;7X>JDRɶvk2S}4vN^6l70Z zDBMRR>kN Qt@^QIDpA\6JBVFTx ҳJo*EiO&Ej ɗʪk ~/2]8ZzOZ%EϹ+]>8N}“7f E:ak֑ea:Yatk#ڮN1Kܗ\s $@J ˕'{G&BUU);F.ELn3&2T3h#t|T-VD7$ Vy|*ogIg We8̈?K%e]䕔~Wf3`$S'eo@Xq96Q9bU7ʗAGnR'x7ڏ)>9Y$G筘\E>Ůs.ے- q/ +jÑoORH̨nwdj%گ*ƾA_$\H5m@1cK&Y։|jdxEAYm_^LXެvDP`py5I_[=fWn7Zi|fiֻ3-ՂJx[9]½*L{gI7 ZYEAᕼdzwLho&JMRN3Ea%̓is\}ɔiYQ=Nec\%39Ika$;a0Gl 3̈:u˻#{+?f[ n5s!QwXB@:ֲ+ A",Ʒ%ɫ/`ٷ[r,y\eJ XٸWVq [;ys7cuҵ9?sRUA֧DV.Ub^Wꖱ82xmrpt &0l QWɃN!zFd~&(۬3if!Rb cF˞%տ^LȨ߽LTEn»9Wf9P|[z(+g=%oxwe5A*G|ZZYAGfnTu94G0^Orq(iTDvÍ3X3觗@ݑD}SSHNwo~Zs-.d߉QRKhh1x+z&d2?QK-Yp gi›6(o: 7'`iK˄0OLW1L&8_) Om.ٚ(B{#zO]mיQ]Qh,Rư֒%#68L cg>ͱ*\7lyI9c:h=3L5wAk~㳣w2 A-MB2Fa; @>r}dN⡠i-G7`M1FRoLuG[(4C-k˓Sؼʲ9-og+ v+k02wҹ+WN2%`]Ċoqx!;X.\DPK@"@r_V3ymd\Փ6CЕfyabW&? AaھeEa?s8GN*s苊<)SY[^'Kh>90&Q#f3[ҹFRrV͌۴T]WCӼݱ}Mݯ2YoNo;VSm?ߨtllō!cgv;Sd86 2~Jx.\7*r@mQED9E!Y?:OI?)cPP5Tt.y%Y G1R\I"Iݥج1'F&kαp(&yb]*l$dօS@#"s;MfdyT\0o+ʇNaQkpNcj=HU~Pf_xdGQ UC7F&ݰq8X._dg!iCwb3-UZjI3ڸ} 41ghR:-H{? j޶6$f[Q+^R^!z˳4%+.*ZV=?W #5ɱx h&Ϸ;_S: iۿ0ԴEl꜆;t Dn.}VS;+2В[g?*ߦ#Zc.o_Z.&I)`Mr`k쪸ӴK[%V!ld ؍ڱbT(uzڄ9*>Dt8^͗Ŋ mB>45}Q>a 3~#w-ڕ9*?:Kx4m]w='֨r>Ty"oCO4[}tJiيڀ;lJ䱭3ߙ+Ϲ20bcg}4+jQ,`4X,׬nVZ:h!lX@>7 :ڨv,Ϙ@ubI6/tk4wx&+$v{7k 1Ir,JD5$_Hkvke&"ofUuG}.Q,2_ٷF3p =*4*n$Qt\ST5ֆFkFf):.R_ʟOq@^e"S,#ߦ֟2b]b<2;`7q4X&c;6kX6xh,8 Q__lsMʆuIvhSij;0"D4/לO"]ž#U(D+AkRS#v|R]gl ^HxUy4T`ɡC1!U6(5- d`7!85|ls2;O؏Be}`3AOP;,˶ y0{5)eA $ƹoe|6kzĨXt!i. <.mj L; c0Dy9vcd!򀬲0nN>^Z;xIG%^5lVX뿣g[瞒@jTpۣ渽Sv{-=RB K,r4,BF>)fIJ Φ){|vZElx+UՆqUdSQX4C?8Oh]y~S49Li+ =&D1DG}mWH?"7T]z,Y}s@Md  *%|NFk+O֫,>Y:!Y}:HI6ƍQVkb'i)-v^+*7puI{73 68j:s׹r0WvmciCKa#uSIpԩb:a'k-egDuxxA+MĞx :͛&W^.uS+>^[ 2#]o脮+D2Q:`#(ʱ*FT3t/].]ʡ|dzz*sH F2ᛴ?}H~L}L{[8iXP=/e+HJ"u~9Suȧq묁~GI֫$";d[ ?51zS5y5 k\aD%BbԜ8&% KxhCrbg#9SAU,a'.Ȥv3]{fNOdH(qo0>kd(,!/Ur iPBXMhmX6Y9'nE?] ۘثO[q - zkA$D\Aj:^壓nwUQ1O!1HZz9.̡vj2+;1AsqlfN kys4X<ç1Iȹr/o&")υC[j'ѿkSQkcϲ}#ddzJfɋCDwc JO*L[mC3]?;hݱckiWHÜSfZ*:#P `;K}I[;'9Q wIc UX (Y T;;~~sh:(=OnR^:o3h2F̨j L;#qƖbu+ Lx罗{&D=jRnwOšǖI1 Nl00`[wB=5v2 to3LZ{w$0WW~,~"pQBxD]P>% j}.K&R#]2:X+&Q&%w+m`~Ws LaHY؉,A:Ni|GR',d0m̼x|SFQ[䐂ؽ/I}nTI?F-Sk܏;F1;&nOL~[dQp!c<47̂]!@.wXk+ 'mG}DQDp&%芪lJx=)VCdgf>N:%B ]~:hn VV B渭Oh0gmq4G@6" Fcnr#lfI)$\Vς*=դ: Wev:neU?iU[:nm`?WQr Qr%WWSlj㫫*`U-C_uaLJ)+hcl΃>?Ch B78beh-f}{Ụ4essS` !Ri($qNO"S&'S D%}2DO\rXf\<ʼnwv}GTǷC2Y~K˿ suץ޼e]=/)e^UBs(+d4QJo1x4=c3 ZnW n~ { /,ٷmBb(UsU%β vet㄁PlpJɏ4\\?VeOeāL@mut $Fwҁ p2ڽglfkHdv37/ ,z.u9&}$XTfppn(DR[$PRIfxdxIvu@^voɩ<82=ϲev%&ۄ)]\=W1|װbp2Q@78 g~,B#.\aO yH/#jjqŐ$1ݴn@> -'HusvlO"5I7]h4a23k\G)MC % .)byd l߂ms8qXޒE;@fmiΡHL[3gdG` SMоQ9J^@U$/oJXMw%D]zXw".u5 U]Rkd@j!}Oą~QKڞeKH5H{3WfPTxWo C`ʁoBТ=.TH;BU.Ϫ8d|1Y10>JCo}|)I c ]l+ʢj @G夘z*dn66Ċ *i \CB-8U/56&(@OHPg^ R;_(ALN*9^S9m `Eek08eP]\ISY)_p z-eZ` p8ߓRS(~!eq9 T4;CO'DZTu3lNF)Q2smuCi:{fWq/ '0Ab_כWޗ;qY7f~ł(5˹̖(Pp#QMjg'@#h"zҋڲZb3]UR iRP)AХLx>(ٺ '{ƙ$>B(^$t@TZD9E)6ʺ DrN{/fH4#.ET1&dv¦>Z-eS7V1=NW@Pz.mmmiT B9!.ays1FUIV ']8 +,K 0 *fz9zNXzAt>ӠO, fLI h}N:Y^b&= # vɲ\D]+v A rcK:SME^AfEʡ:i܆ogYgb,I"'nlx= [~sEy`C a$}Q 4u ^sih*(0Y7OQXxeEOp=ME[qW*٬J1oⷡ+[H0e"v x)Xo:__-+&A= ZưΩriUg7K茅AxJ0o\ uQMl ħll꨻.L()> Ipx95,XƁt߳`'5FN-UIXܑv_ц@w~ADlf [̙Qf[ELJ('>n͡lp3ux S7jNͨ$va<(TџBFuCK)Y:u xpWݧR.@ <3G˿zjq9AZ& +u:ʕ;S[kym H;% ơ`2=|cW^ӉS!mE|+q]TJ[zulWk%7gK@W })6%_ 4 SZ*s3b$1qS\ 4*:fJ3%MI)LYt[dMq6jM*Xc:˚JӼH^P׿WNlP"IF:\ =5¤(Cu0: 6w=5mv=Uߥh{w&]B- 'dLdYFT eSDtpA&w,޸ٰb4DikaEԽ%btM Yaf% y@̑rΤ}Pwx&+? &=bU \4ԢZq*MTjKepy|v[5~ {"\橵nqY90NcGW$z5?<xm9-vz" ˑi~*Fe}eq6*~Us27G7nT%dUqGj%,k,>$b+᥏m1  ZTA`?5 0Em tJ!Ue@4&|PP6g8=_gm*'TP4R7c,U}/SBRv$Q|5zt#:UxŞp!^*]JF܈6uMy8ֽvFw/fbӳ [5k7;Q&awSs׸@Ui_b"+:-ҥ4jýEekzGei则4WSl*A|" G"hŃ jܦn5hY.rhS&s"B#b6^*_C@s0~G&ו+aQ8Z=m"5_ =HR;p?4GcvcW-:ԕ=>U~іrɞBWTHSly~{@Yva,YXAAlppFkɝ+ LXvPWy"ts!hq,8TH^i]#0 bցd!]PTR4+E};:}RcѦ6h\2M KXWW~{\ ,д l5eȃ/^$GYՍ6Cbst#IBEO!pY*D9N ):"OcJ5,ГpuXn[7⠼6rQ%%Nr3G9ĶF)l{Q Upr<^ tļ,T})uB5o(DvLǷڎ a,}e,;yvN'h69>*N&U(wfG _s GmhhhİtWPl;-.; S/ʫ5Gw[o+Mzv\_"$b-O7+'څRu2Py(1{}Yhz%R*9W#&Nc[dg%Ix2K@*gq* E%$F|hQF)s{;kL]2C8X~T\:PE_(<5DLluc^V1ך3~稹_|/`*˄;cM1X({u&0Z}xln1F5oT U{ޠ4@> '++n-2y z7#Z6ͲD-4Rc:'R)bn .&SzYZk.IJ~Q6NvT5~rHQHpz7] ٝI "=muAKн[19>ʘ4>VWD5*U"mT:OtV+ dXC 6#]p5KZv̒J3d4m^?%2qg*+ 3NwGk|30ಃbDcD3ƐWVB 򴤙A(^$IOn! uISiGQF{n[$_OFSC9q{?{fU  kt[Yn-LȣM$u:DŏIߖpqWڹS<ֺXٓʑK0"YN֫[)CH5nd.-C& tzu%__4Qnd _ S,<-} RzC&DnɼVeD*UO,ps L8t 6'YY/([LWnWEYAwp;J|Lf3y2F*t!4]J`xˮoba/l]M Ε SBX\,&G[#)mj2]ɥJ('d}ȸvN/0BV)HVh&&ַ7+VF*RTJo(gk!ЭQ/NYGāY__1$"ws&MoBg T\lꐾݻ$I,Q^dmklARa, o<+pPjY*KpQw맨qmY!y#75kg!njg<]{X]()r/TiN'@8HwrbUxwKSx95ȯƻYu |G1 IHnV7_aZ}S|?A ioB^p\8q a4\qa` gBRS qЖ(#]G[؎˜vD3XBSmeсUآmɓ@Gj 1IҜ6B&G|=+ݯcS8?.62HA%sGS冨]Lרgjz`2, '>ƌ-R\@Sc7jG!Qo~0 цzq5̐R݄>d`gv,0ɭDgtmJ|wjiky^{>.[tƊZ%0b2Ӎ [9o1 6ٸ%mKϬEEXR)Sؑ_{7nkZ9u6XiMpSlٴe# #lNȹ;e2.1hIx'o8_'%)!0bKOPKJ\7J?!eE/T>(rnȎ 6Ɖ,yBi0ed0V,uF*FDYGc !zA} $Q5Lr (qP :(5q.DVY,w;5u NU;Ԕ`Ѵhyn+Ua\]55H0;[_}_h.Xgn zqWMjCT;KC:.N2|}m[[ZDB;HرI8+6#Mi8}^ӽ{rc[şMl*:[A FJب)9_90ib9k[.'fT\b5FGHRwHo NC,uʏߐ}3T:/ιqH!1 tW# Fwb /aTuωhBQu*x\ 0l ,D>`.fbJ>"'*SC`3\. JfJF|E62IXH00 9T}q>|"@n[$C+q8f3%R1 wtBx`#\: &3TL0qҲJF#嚰7cFₕGPvt&gPj5t;meu@Ƅؐ!CSzujY.1uܝ~5\5) C6BġRN&?V/ih%- j~ p$}°Ϙ[UJKصPҖ,vo}͠EGY42kqՁ0>'9&@we'rVc _Žqjg׫o E+R%){Qqq8QٹHpA!(sl6Wlbи(6Ϲ39t .1k.#QM@ ]P!a,q_= *)X=ڗ75#ڍ _uLT y> X튾~맡$}E?ny`RLֈ&nEA yfښbsk˶ᆱÝzƒQSu8⮩-HѴPTt#z$:_I1r&m,`egsTن.Iȥ0?HfoMR8z"e{~5fglKw'+3(J iKUy[̚?-#9Ei!&==*H =ƑWsm\̘BEۚ$~E7.uIVy֣=N3[^OF۷E,;KV]uྠ*N)%]ZZ;bN+w+hds@jQJ[0@ ÊNOĚhDꀃZ*FnE-nȓGq6?lOk^=ʁX]a\)=94 0 +<͍Nn:ənNf;ro#_ٔI-Ec )&JYR8Ar}:5\E(|r ʍOo2?eCoG5,e5<+0{$iĒG6#sO;T7cC_oSnC e1nD&w-\x-<CNxtN!0 {P+`2jJqjߨK=[N)fX҆BI9*W{gJSxhi&JExTF E9a92Jc`c7N~HEYS,3[ cZD hpm$9b*B@$NNw9W6vFiR6*Z} yϐ%H`yNGonb{MC]>.z?fe5*q#ML5_Ps- n&e@iSpQz6ek6Σ5QR_GZ\21wK*,xͦ ہwT}$lR[YީO(L/C.RPp֍D s:8VD#Z0)L^%^^6u6dgz"sXÕpv ˶k E5!lP"7Ped5:;;1qS*Ijˆ3Uˍ-+eX%W;.F?VPkʖ"a6+}'JjHS$VWP} $N?lfЀW>s&<~{8yɬ}):t P\5QS/X~hů-׆4b9I67ž.GxtJ\q-ytd[ 3 kU ۣo[CIhd=d HʟMWhB${)n}:[ʛuu/2()hx-91.a'L_6oMkc{/!|UF&,*k 'o@h44m{S}{byެ.Q9<#4RREB7:" Lg&Wu&t22Yx]}ճg"Y%7 ~Oׅyj5@)OE8?Q8&=3&RK`'7tx,U>Ķ,-Ω~EgU.c5 ReU3 a1a298 Zg˳ʀFDcZ}B$~~`*?mSӖ]l];K|Li0NQ~F[BޟaJT نIJ`mU9xd`tb̶{ OpcfOҌQ3- /=O%85) _ V Qǥk&@BYŧ^VPG#MA(O?(t6oET QVֈ\:22oł\POXG )Uz<$|lj%oiUkk}AwR xJUW{fXj%ޫ .|>V6_|7D&<閣Ly02̀qLӪK3ws)ž;gtOƳ PjT S5ڲOM&WR c6-t lRlN #Y5a1+ &=V7Gatr!k>H{R8rL٧(+$r8/XX۷=X2R]/]UFBB*Z1d(Gk}JI|Q;_\:#sp gLY#jեú" <͎ƼY 5;zex@b,dc> vQi62 XBP{ӚolJQ4zBO()ОPr^~¸gJgEQۍL!8 ^*udT&Iĉy܄;zPw\gݻ1JO.>b) Jh 7le\0|b,k ЕQx6sETm9oS\ M)kfTHpeDAއX^(cQ*: =@oȃ{w"^gg2B)ԵBU~:#'I$Vq{\8J5 ɿX,c I(s볠[F%J론`&4&oQfqR#q ujJĿ)kYeö٘)̫ ē[1Qqg-vs`kRZ62E@5vLLXlֳ@MmK[ASQa݄!1sCAf ^ƻt49՝jE"TNu9!d\y1, _) SS0[d8;yzY):5I7r/n5J$QyEj5٩w3֥4k^SjTϻ߹RqDR+be/dmK{r_]Eh'vG> DU87&9Z\|B[p9SR|qIF:n{jNr vѿKqËks6ڗ#ĠuXw ~&ՕKsuhs&T3-[N7'YnWY/8AwR/qTvfA{5rsψ v2r^KhKl*~qBs}m6H (upG%}7mޣ]lZA7DD0T퍕NRZAr2hr>M.4y5,me!ҤiO*3*@eh{9ғ'ǣs?6EU&P!}XdEqLNm՛-`u;)kM% C00Ձ>uUB<mkz7esz*+;9¿0vi5j1 p],)ƭ9ڻX MYEqjP[|6FآD[Q^l>h:2֖8J"m'Leg",_-fR[Y젇΋)\h[Y۴(D0p]B/FɍTDܨ. x^><*'c.[kTΑ1KZ7a*(nddշTԤ)!-V>h[t+[m\&l=I^b#h/}i7.T[#eFd?$}#lPpWXICKxѠգ78O ^ >PTHYX%#>M"ϞZg8[F5hD q&`8j'ƼFzE£1w1qU$z4a/>6XcD2-#cfx (֑-t s>:ce#C`)pL7֪u;8+*QRKt]O#{;x'UN'u;\T]% cmU*P0}l󹝊jgSd=YA܌ptkoxl,$sR-+a ítޅV9kwXKf4$i\s?[Ix sxXT鶵QIa ,Ky R;KZsA"cJ>.‚CFjHW*p1}Oƌ'Ba&$e_Lle ܝ62tr1"p[g\Re/y? u/ZPDkt};j}X ON3$AY`QLr ;BkddzbMFN!'FSFU/'4Nk'N)iM248GLĢzWd_nr>B;ĂXu.M y#r~'W]^x>e ,TY  ),PЖ%5RV b^n pt=Ju1D֙d~2NY%Z ͂8GΟL%(N< '7ѩMPJS^#=&s{px[Q;hx5? Į'{N5ZZk@uuJ2zTv6Ue#Z`˪[\vm6dgsjksg! ^-e9m> ĢpŹFxSP΅=#2oCzٞTⓊbFo;Q~{\. S!HѼ6jf,YEryvߟR'NZ^2Xžg: PD[8HLph ̳pܒMO-Č$l"5'+xa>h.{__ REn$e<*77~SL'C~VޕR֩ 0w)2TvB=㡜|1 &;$Uv>.}3Ǘ:K$&GSkG>= gL!2v'2 7gWk!SM]XFDTBޞJ3M=91~MgA*$HN_ɽ=8q_?"Y}NW46Ș9-mn.rq'ȍ?څ\?5ވ4<bᩭȨPDLES] eۣml`NL,uNMs@?+)( } g QGZK0UkRsvZ.y.Dm>NTzsĸ{mT*}]+bc-Jߓ3ݽƧͅ j{ JgTrwYgsx.:`$d_̯CՄ¯di$\_-IOU-(g Ҙ$|vXuoƎai'e'fD)t5'2tfX=p&6*nY%h0t[ޫ]MXxoҁŒt:%0n셂ŻӘ]q%qO+\x5C/*u 㧜D\LT6'D>^͗{d#xW:ծa>RxoI9䢘#L]msTŦTir4; yNOLY#쬽kYQg6N{UilFW ZJ^l$P7C-O`Tt){5LSѶM^އ 7)ϧ;FdF d"[ 5PsCkOAhlw$UT7jqojF5փ0GTF?Daq)-kd[{i,sht KRVDxx,&uekۙ]v2CCdKXIF#v={}Z>Rx]ɼFNFUIΔCVE3;؝ҮE *0ʏf㌸dNpjnIW>V;D M%U'p1){l |S]SMyǶBlzM_S9|&!ft˜|%jL/Tp'0Ə0P)!fǖnvf>&ͽhJ|x*]`e@&eXGLTYK偭r F,IGP&ndoktnf s]9w si?"YUilӁkBm]uP9isl@.'^6,j{,t\vcKa˃R&I{cV4Liۖ6y+ιqÞ ~KYd2O #P:;y8X_)y߱d0b ]I | 5 #$-vSv`gL- TU %Y D؆+JZ %R6_l?488yMp# 6|w ֖b|iZPGdXGӹ6MV# <?*}?6:a_9qS%X 飘r6D!J)X@+Ӫ:l6}fd646m:A9+7rf|n̲OXkNj/u9 hU3E(F|8i2DשzFM.`P ~D)@&KZP9%'#02@=2QNE#33,o}h:s:"1vF[aP"C>18uUf%VXTG,uQ=iY l8HqS45_&8OI %ޓb5fqFSzB[ x})_+[/8=-<ړ`c7×#چnXB3kw=(xYFdPjipI| u12C Q3kIdX;]9%A D~[P3<MI+:[2=Cos!vJojKɃ9TJIVb}<]%( SLT\u5R}'i|8 )@ twU"N1Q\6,k41̙ح3n7ٝ>jA y&A{<]ή{#u8]rΈ T}-&Ua0͆ bs{/OmXH2c{/;ge܈ .[8[TwRUcQ{[2O) }}ɨRƦJ 搾w!FKZ$QR0Ʋv4,Qavr2C +ޓP½N$v]u=R$k9Y'qbjmpPFP>MȒBOiC1kٙN_X1'Pf4y0]Q'5Wh5DAqx#v%Do$h m3faFSTpi7`].r؄ۣU< [Ur`U}'GXCw3#G7^UT3۴)pNs><ę趲6c3"J!̄h]9ϓ ;KjlTСӵ&gئ;̒y;t= Q[ tug3׺xɳV4}qSsD&rΝjtQt=M8 ++~Y+5~ʇEm킞=rx4ƻ0 SO0;p H٥=)l*R'!:-Twے).9#8zVQ&r>Ӵ ԧF)҅#5-9 54 6=P (wD(ztݍ"0ݰx51|Nn.ۗ4RK{3)$"!ji[DkU ~rg"ɾD~ 8ȏS IDzVsSkW_Zr}7eӛ2 ٺ( c-p ?+d0c-Z:jXF{AİڮyT̴[(c<؉sWi(TqD2?(Yk (3ߜUh!\cDfk),XU7^GGg%cԓfttX=3I#"5Z{K -k/l"gY2m=n;v*n-"Mil]C1RiU(c)?6t]g\<$/s4߉8+ATt~Cg>$ZU3"-;}Gۄҹ;o:MO 9啣te,8!|RFHV:Ľ5Sv%tZV.:Y'Z{{8WAKU.dUw׋x)Vh291I!ZBG_܏ 8E|@X N韷s'#rmGP.ժ&ɟ{n[KF<'GOq=ɶԈ9o`#o2 ͕gᯟ!SL*%ى<.Ņ8Gknr<^5S+Nq*^\hc(ʸKjPc{~MI_5sPPW -*%OHaM]VDf2 V^{7@S]|dΩfY;vi-o Et]k)`IW9U'Q=@lNlSlh+' 5gK/{l`ZLNDؠYfܤ/xg?-; {)!8BALV6l"[>;Қ x+ɼ'(ɠfsͷ1lBc8\3%߱-5Yʃo&m 򷒹WEƓ㢼|/ hYNoT϶t(Z#z[ݓjMnfona)+9}Zt { 4eR'ݶk c`zWfI*C<-_i2rW6-_~TL+ kI"ۀT Ɨ^95u+hinF[E 7D%i#x.rι/D֒,_dąv g]Qpi W5߈)-QKv|3%Z8ɪyM3BaLY|0 H"Eo>hʫJ%k+Ny($6Q('jzH6QyXK1GN^&V[N\a o)^JL1m`M7pIZz.Mq*f;ea"6u47m>yZ1Ӭ@r9v grE[ɸp9T\XDDB2ǙzO>2_FEtN* VD[?6],4D}o HB@M\/"HdtLՈL FFZ%6}ZUO V85fWirkea1c]~l1E.wL7O&joӮN>9\UdD}%d64k6emNeEpgDո 0a3փPngF+@R*`\%K>d0̖ WޠeWIĂY)׭}jJg3r(yh G:E.~|FrbI7na :.ݻ6fMWN:jex(+HWxn\[>`Mk֊be|&kXov3*'J꾏Os*S .Or*O[ҁDlt8 LR) %fv_"o{wApe=- 6y:(2סaOx::u2o;M#.}ħҮrV`'$|6}Ni&ZIqLTlu.orL刢4y5=T~A :TsS<WFS~`mBI<2b[ҡG6A7SlzQԻnwyPmН͇*I$m)!N[F(UsԹ7|6C5,LJ#՞.RT[ gCgǐ\9HLDXE!CyVЈ:!qeWuy3#vnΨIx’ 8K\]zڊ%<gqp(k$=azw{W/Oj ШWizo bBCrY;Xrrjmz&@K3Wώ]e"Ycr(K>8VZxkPE v6۹cHD#pž S*X-hsn#2kʁxI~Hwcca}S<)t}8yx3SvJiӵZŧQmm&bm149U4+WCu6܁R +Bm>bOeq;z HAЖqj`ILU5u%K1omoi9;2] 7%SHs8~%JX!Dl)TT Q?U=Z^+T8J<74eg#Eɛ:TUO\?QX֑~W[6D Y`W0I׸ k(0+0irpg @f .ºqV/N`8ɿn%s h ]t OĢO+\7Q ~h];s=DP̿ =ޠ'Dr #(}{rOKk*H`*;GԒ蛯U9h$ƯV!?l Sxdca4 wx&J(/F]8 NJ!dj7Em.D+tȚR'OnԷ5p3mE)',nbsK |'銗7B"[U%%kޤ"dЩ(8%P)kOohx0ZUU@FUj\[ k9;\(ebTev,+g&tyPk_`%q#`f`i)TS f`PPik3JjC+ߤK .6agIߥAokE19Pr2t?go,&dmŦ2]Z-ȑf.^jCD΅j#_Hx oqFM`94 trWNX"v]BWt:AP$D-N0 542h:x9:OtG*pO)P=n<b(dW(ɓ#HYy.+5]RcW1%=)'V`>.шlάix7JbtsP\nHgƁƨfd:BI?iDe5WX lL]9JiMB;gi24cL}|Q;\G(֠c2DҞ[2DY5++tdstZT:W Z4 nx6|AM$;2TVjDGy#@嫼H_FOK pţdvMkXoP^CBnf#a+xO63/aQ%aչ᭷i&h"ju*`˲NdZϒ|8sshy&*M&MDei%&m6G(χu"͵8or9肧 8\u|@EI~>*C[kHN\K>órȪѼ86;L:__Mu#|AH8٧DMH&rJ~x"!1BdKZ5Ds#;gyk06,]R\Ѐp,r>5IצCbn٘pf$tc9_E9u| H˞XVP)NBst{hPBwnݖ.wBѕhtsgNkR4:v>Zǃ:0|jGܷf;NEm byz:mejg|Fy*O=yU}ō/H.Z‘SQly$"d?,{k|Hާ@pxT܄ )1M_̩ Fi$,fċFb THy8!#{(HƦ,mo:jִR]Tl7 VWPv2Z]Ip&wʬyؔv~:M`eۜn T.גX~_:E9hđ@iV,r۠[{A02pV˾P9Of1h{6߻JLx#=O Lt;^$oE$G*M.0饭v: -b>9n'i,7Ќ\|6~UE%xip Oߡ.YڱnV" MSb@!}鯞>y*yShbI.M/>?):-&J{sgh 6VeU`G⼙#S Q'&6"A)ek!W>IG3jŔg,مٿ-qGU@ZAJ C 1-k rV|tzL{Cu}ܒZHf]C\gp>bFƹ 5A:JWLiQqx[o戴،"i*Zh)o!pvyۧ- .ݣuSy9N\ ;AaϿsEq@\Cs8hVK`"l|v냛*;>=i,I0ké; )0..zb(f'yP{hAPa&DIm9,e_ =V.L}t]:jSa#J;;>di{b 5=jj;EiVZe;czD~ML, )4ylu+3;[lxTu(VFk^"~L0Q uJJʆiWR%RG>:3swPWԐwO L?J#:mi2qs`wT.,-FVq(\q+dj)(gMP _/VB)7qJs zpFnIw_|PΠѡR#LThxj*ˑJ>VۆTaߍU ]Vm?Z\#αҔbB庘)T*dR`&_yufcm 9yrgX" ?u3n'd`BL'PڥV!Hq.Vvt{[QYn`dxS,궱[JsƙN|Sж< F5K~3Ip%T {/elfjx9C[댁yɾX/1J4mկ|Qؗaq(&Ў%N5\[Ŀg,,얗 JO`9SO'oX˶էI8͹/K4~.pb/mWG&g +no$_pΪ&w&ْxP eʵyEVfg;9,-Tj$aj6v<[~npJBB%dK=I%UOe ^ykܞr~Ԫ#&JyUc`'6У|Po-GQYgqUmW5 ' 4@RKFAnl hJrE\oɾoBJT 0ި/CI-XIh+5Cg$%ѦJ5g?&SEn;3[43;pvyywΫr `ŰE'vJmTЋ]'2Uf XeM%勬w'/L5>00T\F \y*) +k87eJ_' eaPݨp,h_Ф]X]O ÇcNQ^*[ic5xE %nRd6gs[ M;fcXCGq,7h+1ݬWLj|wnC!yp__ (TGfbhsCC$92ҢQ(1fsxG!`9,2SBŨ~"8 I1N$@2]`J8PЍ<g0A0 qsMqA4Ź  u^{y]NC,`& Vi,ڱRZp$(\e4U^D!޿p7 ][VBɜVp"WRȭPDZO&4Z#~8dpHFv*+y)  AT}i40W6uBԯNk#Պxt73`,-N=s(@o9Ot um&0rs!Jӫ]R'2iXu&Uж nNÇ@_Xfd[g~OdweŞ3)Vi*4̭(S^Qx Xs#\FY|O2kӯA'WNQ$'U(n^sƿh2T]";[3"9SWK f L73T}*Wk{HA|{Vι#v3*&'-mr_:;Q 0Øgl|r*-ȕPҲotk, ͕ҮPG 8N(̰Ra*AW@TrqJXec؀]PrZ;EkQc;z"hwtvixLp ?}yoJ#C~k9tmOkSۗY坌j EQ'G>3_z'')YxpNQ k>)=Xnҷ1l{5kiڬugC"q{ERsR9>шeՈ?O:f}7o Zq3+_kОR/vg9}omG\g#'YL %  x)wm ˳4H~$+I tm-ͥvV>0߂ $n'&6N49f_. 0wz$!hׁUuw?i|9RK.L+7+p@HsV>I0+zG9C>ܟL£-rfIYM[CY + ܷU C1Ii嘆% Fkupi&XO{S0F]y?3\Xע{=>mn LD}Z 4"^ܡӞ/T~zviSԮsQ¼V?6LQ&kUhs|M+(0'D^vӳAp4vEvYv ah_d}e>UnW+12z!(\S>_77{b!AQF,#"_Ze2kCdijYJPȞvDM9`K1r[jiQu,OJ) 'UՊڦ4t&}RRtזH#v?q%մ Wwbu^~'dL5N.!׾ 1NT*j WoWylQsI7*))mU 8:ujL0VyilҴ15jTOQ)~~ecSыmϬ/F"bE,%---9tȲ/Ǔ-=X L(2nFs;5t [2#YHu_Bs ' O)P(22\WEN9Z 2`o4\IM jD \N 0&4؆J$F^vzDᆷ$ _1%3~\'BڲߴwOvc>*[(33Pwfc-&л&0wáB"vCZq#8 U6@O/P[ԉeż`a}RC:k>ЯKǿ|9" -zXJU vAQ \sny.:[f-yWS&j5~[R7\Jr(:-3Ж=UK99/c]4 k3bEϾ4S*yPGʀ=r F+f嫖)İ"#˅~%(n?}isJY5 *T5tL:e}it2T&1(|l;II\Xtj{DtY]6QKaY:֎Z-9.FZ&]i IM8/T5 Oi4hH@ jUځGŌDi Fd)Ȥ8̞L H6G85w=)>3)F_fJ/0Vf3A[h{= M9-ڊf\*l{v*Mat^`@їX0AU̪pFBq$ JϒDD$Shla0DMY}{]M &d`\~M*i"ZjFɍ6o^Zҵ1H,HeJWRidI.(~2Ei>z!`#5C%s;6gRbrVBL 4~g&&:j"\PȮ9!ѝ2=W,b=ZNDoؤ w_Oա,knFj6@!;laiG$.F{4iQvcM [K}I8!Kt\/lWOdKSq}(4/7]!έ6]Eaw6kyNxU2}7!Z:^wP!A2EDefig7jm,(fָf<2էET1; C0+Ғ4B"|@Uڵ>H4DjYu$'uF_Z'pgn) M _1jg[6e,3wAD(_%2eyʘUg;6Pe5.#.ϊLSJzۑ𫕧nwra E6fF.EGbB1_r["FTJ&DYth @qwZuPʻFMNE #9yV&|꧞{0U? OxZVROMZr0BeJ*M1YVĜ~q@iyFM +!,*<TiͿE WXݏ ϒI=>xҼ> 㘾~Edb.>aknwt v55 7g7yN/t,h)o^Һ_l>p\VXoWH]h:XZ>ggNy<ו{+`Rʏn>a^sm%4[ HqiU(Z0 %Po)#pW.$L _YŽMT]Q}?f|z .l'd4*ەJ} <'7C&IL8uat#-P&RoP\ZɳzzKyIuAc6va\{Blmy bd}os~zU Ӄ|bnIVXE$zīQõ Ew }% JȕeqBӡQTA%$٤,.*t#S``Wۺpnǟ.JNwJ04:V zdeg._zx\ 2v' ObHk5ݵA[8՟F)um[(jbQtu)+kv: :QZե%Χ~0ET'J.U]LA.K߳GelT|f~>ox:܋t@6\_i)qu~`en! ,Z{0-jpOKSA[v(UU߄k҃5<# psVulOyq6ؽp'r Op8-W75kJ׉PBםnwz(KɼXPu#] Xw8F(Do:L8}򞓈\ Ai8UhhltZHzufCj )odRRSodB+NGt͵M=gۇRGaw9}mW9nDB(+ Ev6l8:/bg[wMD34V4+MXW96c ?_LӀ Qipx+(Y"􀜂|R~Tv6 Ӷz j?*oV'߄-fΗ!9PKHj .v$~Sqtèz)f 8׌LqPgKNFzyAEߠ4Re~}.-T'QYL%vnE$fN޶Jx.zp8ԃM, 4 LPW,iwďս֩wΰ< -=*%&ˑ\aTrWXߜ\Ke*E޹aKӺa{1W>`҄x's8l0׫ΚD8qmJaU!NjD[L~;eHd)k#_aQ}t< Gi9okj 8lW-Jp2$zƮяcfopJHl\o8R\Br =j\hclxx;x'?+61}qjކN?E6pֶ| ANp||` #fs}/x7wae~;эͣ w}[brB 샭tdz0 1"u7>'"nZ 3Q/!>xuKЍ!%}Y+c\XyIvĆ-#R)s? ğEx4r?I*^M,Aص|BE|:+|#&ZKCɚ8 ڢvs05Y&%8DSXF Nڜ˜XMHlK-E;XgS@K7DGŔNn(d=BWpxr.ۗ UJs2"z;Do_ì/L:M `,E-՛+pظJ߄:Wrc"ڸDEβR#OI\+[Y _;u/-٦uXt?~~J(t.[m]QiɚE 5\zONFKŸ3%bvݚCd0@V}X-;˪ZX[j @Ex(|V-XY+/B#G#G,L(?M!lS-j2Ꞥl05Q`Iu=CIUBJw\pA;93IVih $$(Vw"(生Wf?6߶32Aeg_y,7xtAll&#uT2l"w2PF#4{X(traH6$A? 2DD`Cuv  kg5A8fuRusA}r6,q)FU̅W}(t|V^H/xPkHg;RFVO ƙ<:O86-0^wW|Nwž6'(fLY{`/Vj.LG *feS ƊyE)5 Xbzx-79NjBݟW :XƯ]/A@q4@0c٘J("2Dh~[,:ǯK3?>a$} 5FP8 ;bmThU}sv=QtIMqxƅbkϦ38i?nnQ|g(D9L`RdD[]M0'F6&qmW1e1 K+HNn$^=vfdx(VBHRՇҳӉ mծ8mQOZc~(T/Dm^ d+8?I\ =%ABn#OD6aae#Whcd%pttTJPSxs{0E'3WwkUs+4ksiH@`EId&zcs7mp1έ l*mHcWy*dmZ) Yzur@M63CI,ܠN V{YOgWDu#w2EG,QHgH4o[ }"DAo__wX]_0P{s"mLߺSǡ~2^7[.>>yRT[nJFtt(<_ԧ(9jA9XeAW(@ltVtX9KmUb[|/(# *گL;LT)":.iȺt ZTKf⠞imXZv!HжLJW_60ŐA5, Dg;2'VCxA[uK}R8IF V62~G|lS~;&ٿG\NgKɦNl (=@t>ZZ@ oT4цv/ϴ>Gz`H=&,'L-i 81Eə"1*~C l~ P"W6$ ܣdNcL"O´puNntō,fjudl4Ž:xIZZRF޶)Re<җ! ])qTh&vf1wmdZtIof3oKH>_nS ujW75Rk{kh}lu+7ߏif-qLw }reZO,)*9ޣ B[|.y%yYK\ˌ%qhNeqC6eSZ4٤A@ߧyWܝry4f#zjm-G:oXnO}nklhH $2j06C*1}E"^csh=isl+8sSpQ3&@ :}(`- ,ܬ(c5ǝ*w@zGY"ȓUB @*tׇaj.'83NE(g eM&Zƅߘ37PA$:WҵI?\v}zݬ#*薎Ʈ|s:tѬw\aJTC>ojm)Xd6DWٗf8 SlpjFf\pa&ODDJ1 $՝[զ(nQ%3:i6߾dbdU?9 3Q5O^ֶ( ]zU\E|ݗ9xI?5̐X r&4\ï81+)-jPv O() YvG) seO#Iτ6.#P^юeTZ"vtI1V#T):V&Xg~py Th (.(C"*կ2晀ݬ6 桵 sOyQX}eRmm&ɂg٭yk  FHI&&:A`e?wst#6U6#_;75akԙz5lJdmE{]w?Z q9̛sekO+(*U . ٺ{ڪ:RZ#4WސwddUFƺ@iC%W,b8!e%Jw@*9-Ƙ8MҨ@+XzUs$6clT"LlMͼ6ϬjU"2)Q;҃Qȇޤx)Vh#r־dMtZoHlN*=:aH0Śl&qZ7ᬼ6q!%U}]saCYlD)@(fHuvtXv#xcD^TJu啔E%2ZFP"ouD[w4Opզ?$Ǽ-|_ rqJk*1JO`F_o>^5mzy0e*N)}\jf{a93R=Ϋ(蜹WӴɥQGnkU >,-J3ZVdb?u2ֻwPeZnL=^(t y(h_g/(595tsx5 Q"IecppOoQxG"&T/ y{z2svg1IhŹ? &7|$tcS8E iQVFL}'GGmf^;sEvm#UE@mGۚCPz4M\u0)f Ndp8:UNQ+z8.1w}S(C|L+|i4Lub>IhVew-cbhts8FtBWrWa}yTi8IsX sE4#$۬37 5}*6໹A}t5bJbNZ$ ڰYED%ܱ ZzDC,xυpmgr>2q;!b0 ;&PJ*$I_oΉfx1߸ nNJjI]gpb%z}!85LZRa-)b%]Al4EUO_]M Ńc Rg`msgygM[|E)nkP[:FXoPG ;T!ܝ B>UӯHcssGƼ@M,N/k@ ` *@ɚ7z'&E[/H!fEIhN)ߞe]5D2\W.fu=2_bq\Vh`pˠ,NcN1#QPt<=;}= !*HC* ʻRdk)ύ]O~B xXckPu8% RH=k~VN'6Xʄ" cֆF"B;Ox|vOd$xuRn֘%ZGAOogMa 7'aǻC,hsO;גqꭧ./6mXRPw&%~iR}ȉm^` >s6 H}E3Hu2 J]mLOkE~i#qc( Y p89ua\(PY9Oղ| u'|J]矡 B6Dg A,ݜiͲej,ʩa~&p:Ѣ+@)8XS Xe r/~)?kH7ۭ£’)ˤx?! 2T'z}UdUC3rr$UQs,V򰒢{ W/&);o[Nv/1l4^BÐyOȪ]hLA:{^ZdwrTh}*X{A~ItD/hC;וkrh;M n|u7ҝCh_tƖO]|=ӉT*qW)?/Dzw\?N>B0f^/mwBc=-NA;<ʱ>f0+d_A'̬e@#[/>*La@yx ̏i{{>j)m+';3 ^$1c~uފ+`yKu O(Eɭ^ZsIwQxW'qF/@q2e.n<-Pg 0ɱDlWb;8u>VT)ǬyI/ NT^]oj_FP@s&;SUX;'OdiH;u0&FC&hXy6z5'̵Wt 7]ܵ0wX$\Eߕfi [nc{2u9sWugo&$.l g6{f:[J^ ԟ4'e Xs="|žZzָ,su d 8RF;2_tɘAT(E#ʹ`#$`aT';k[e>^C=EGQ:W">կԤgo@yUoM݉ݾ |ĉ~6ܺ6l (#)p83, GDkDdtʁ7c;yn&Ǿf;K\wkjY(cd$8W]޷fcu2 K,"-n{Sާ*\e=Ie9 +tv$"U"Є]LE7UIqIHZÊh`UTxj**2D[" żxcx]3,zşJRF"?F#jv93⸞l[с@Yŝ0PZay&j*5"TR:oۃAEU"m:p Kvh>eOi'Nn{&!b/~űTgD-O*Suez{hn}vlӽegij#]޲.z׫~&_mSƤ>Aw~h #&!MX HG/G|̿w$3ė ɒd+l dkIaJh4oa #$]Mt +`rU&lJޛЏշNKͻKȗhRqG?@[W4F~N^U7=M}[uvS+LW`1B`qFMƯ) 2ͬ0tYi4;'UdӅ7V pOS4,٦WnS&"ZNXIiEV!q4B7퀸bP%|ɾ!d!( KԤ Oz~e{!ĝUy-A!$ZQlȆ0nˣcGgo̡+e?n(G Bxꮿ+I*+0$M\SUZAI釃'$QoX蘼ˇwol괖ԋdD]GrN$z/lu)cf[q)AҮg+KTqya| "&mf 4S8 IKEAڔ[#ŇOiY} VV^@򐄵׳m u7ZR9'{TP<eCh[u'{~G:9U28@p&asbψ;$|&:#zLݤ){;0:F|ӌGuL;J~O#,ï}'6d,4`3"T(?w1 \l+ݼ͚oCj;yTy5YyQ@?Sj=1b+(f!e@)d`zNE<Ŀ ~@rS"q͝5iN܃{A^sK+3"1axJ}՞fK.utM F~jβn Z/*JK7TXUjNH ]vg?Z؝8/#TaɬcPގT LP$ň>} V;}>%ൻt{+jBٽ]Ε/ M3{f玑wZ-igJ8qlìb> dZ,,`#xW$嫙M Kb22^ٿ^YBEDY Zyl4:b};'x R]rbV1/Z](]z }o Q:8ӯը9?I+3I-rZS)Zk^,%?"vlA-MSA1(- jȌMLE !iõ+,7խ,*z )@Wa 8h>0(o,L62v\OJϘj>23ڥB\O(nRԆVvA 5x[1S:D_ķp.ln 9U>erv3MM.DQOFu "Evdҡn2lht]Aִsfz@zC0l b!% 0LN:_<[g Y?Ӟq7/Ni&`JXu`?ş;T|% q:A'e;*qߒhM-pHNr N5HXDSsmA !B㾮A9]$zu$C fd5Yn6&4l*o7,4z++6 /T,1w 64޶-xeL ܢu92o\Q)F֙$}^V:#S?G:%\~$a$$ȹXSǍV%͘SY0c{X$M4w-B06:/xD:TpPBp Z+gN.aì%,Cim۱ȶ6F&(i7K{i)ݯl_[m)t0x+o6[#ikaƶwgh('n]dR],3R+~p`L$xQ${IuhA# ᙼ2̹rz?dRC|in>j 4-eqq_ٖVОrs}m=pTl+m:lz}:lJQD+.azrI;:57 >Fs/{~q(1Cq"OUH[3w8|un$ eGm] %CQ:(TfQr^Wb\dvE5WPXvخ(Vv֔O2q&BD-UkS[Kò#A0ShJUm( ΒZt|:t3jȧ"zjsybd1Wbf]q,U?;Cj] Q4pc(EAsO=1I4^dmi(Ԓv$X1RQ']}o -gEp$=GcZ߃{&Vg"1JIo <{^$>/o%ޢl:n?+3Z?6;iFOZ d$οP+BrtϨ;n4" T+ 4*y.m>z΄WJ-$#\ ϴõnM:\djwNVUI=ꁎ+N܏3LųP$aj8OB]:XϚW( E#zT/ >Ez ^B.M`}niKj ~WM8d8K(K8EZ[~ 9{`a@fw0u3]GSdsЯŘ2fZkhtg&~ΚPeZ 2Tύ B򶎃!DtㆬA4K@z+f}$e@>ocɀmEm0qM$dCuh5#rS:Ѣ5L[ʳ^MJjBDWrSˆT䪊K퀞c4x\Y78s.smЇʰOpku~DB:AٜU%TfbAXPEV$$V X32~]WA0\,u',\B@l7B.=*E~l3^۪%Y9Ӡ*5iC]o,-:vci#WNkk>z H>9 9+{]z{*ȅ~| NJasZoq'췉3I,9i6E (Fj}`)AqT1 C\Iڼ?7 c!(;`+ bD[ɋzѳQԖ‰UR?5wKe wڒ V(q6aed0ܯF&#AG7'G :#~+nva&6`20Xe GXjIck ݈JH`]PYňvZkH[ŒNIBU㌽’a7ER:+JxﱐtPL>RR^͹$^QiK6?- 5GkG&- /"Ѧn!66&8rz G}<\8/:} YVsbV;'c)lfd{FS3o9ow8fNuf`[Εһ_~SkBuYpF}l^A^z7\oR$S7LA5iGY9ug% ʡ5ƫQFSYoA^8" ENlCXTq c![w_酕r&~ W6"wrA6}vC&Q,aJ)Yt=)J-3*6MDϗeH惉˽R4ŦF^ Wv"3?ѥus`0RYdhR3) N5f7=a*a<.֩6ug~J(+Ԓ=.KwtZ d慭C8h_Sd 6j gGc& K2fa$$rPGzيD8k2ikcxR*7ֽI Ôs-uE$J U>`+Zd06*g:AF?W/<p"4,2Z,&3odn ]bo؟POkv:0X ̂,EPUXV{ׯ^ 8V,Iԟ`(( UheYٺ>ָ7M*vE"VUQgspc>J%qvH&6ɘ~;ww4%n76ؚBtaiG~ٮ8Ċ+æHx<z rM6b9kEr}u.dR'o^VR`COks%0z;w[W/;ڎ$:/YuXbe,j@ '*zSNWUCY4eH[o[&RG&hr`;eiR$IF'Uw+:>Sp7V;Z.ZGQY8 Nj+(dhP_W@ٟE6cy%A=)e-l8d/MJ[GW9 !X7#l>!^_ Vr㤠cl!k4Tle5B3ĭxP!M=1PY5p Г̜;j`&"7wԑSebٖJkpiU|Wf"Q)!2XC^v\f~5oEPvcHDԛTWV)ʱTwx% Blqty;Gzu)u/?Y^_4iD(ɥS0~ 2LKkh2Ah,l?^QG_ߒKLӭV>J1QxI,jKK!0zۚ#K0[k@#kʐLZ)5MZM[ǩy) Bč/X[Ԏ Ǯ(g>KlVbTbZ8[^EAWәTv?W]$@FN69^8pO+J;BZCWzCթ rShS9uE5D܉PFWm<8UFq,ƚ% Dܾ.ԋKp:V݊4=qۈS7SU2Ii$f=\޴ը&~ R5 M_HQy@7 VAQȠ\Β1m/E 6˻65l~EKM-=bNpl6_,yN:XahXIbÉ L^W FRl ~4!LA;QׄQJ YWmK1ᙨk@~%7xt9hR,FzZwb>9;PlLmuC…:L-u%^AX΅`%DNυhguk^'D DR:oו@ۺ}OnԒDU1 )vnU6' y O|]׎Q04K= Џ69 &/JBi{q] fK:hH ,-槩4^TNtn\g8Yrmexc< sQ=G*|+Y/;A▚ 8ZmZkb oĪ:Ԣi+$)B*m'@Zmlg$qr9+TM 5$D:S+_?h -Bw*9%9$Ii<;rDWS=YeY,{|h[[ůrG5_fX";cEI((m)8"Q:W/GxJلܠZ R :{n,ޞpp)cp^lraˑ_߮sW!>46D4ҙywjB3' ŏVj[Das?$\|:ޏd~kH+*FmG®4~-z| +V1cVo8 }%+",jlbEzOVh.#]}69 VyeiZb+&F~SĶnx%(+:rLFo4={` xT Щ &MVJ#u w4N~EX64P+p957',U}',ԃ:)>E6ԪqПڌ!X /iaIɯB9MSh*jV-yM) V{~VQOeP.-puqtI n["O)PX}SS. cTV!]3(҂*p x_"lr $;Qm7vLwt̡/ %}?vj!ԜFz4E"p7,u䑹{rI] (w~izXJRpo&FY3m-t o5K+\' VQ2ľkEUhF :;LZć΄vꞭ1N+ZѪplK+W{'| ,YqxhPw:4|}0VшJSg$B`9R,Zk2UP}4Es>t6_ƩV`x52} n} |hWӦT ʎu=6ITx3_) _w)+V1D8[]K}G̗`LG0sTYJyi~ 8v ,[;$rZW =Rߡ-H-5  gQ%.=u+S6mz6=SXzMh~ -Zipk&Zeg\YhJT-#+R_Z&εtP9&[sǽ[Eh4u$MԀpEG|?)b H9PEiF|68[[T*MߌD8i7ȏM&ƲURහ`}fS6Ԗ |DiʋXI8aZ>L9u}6G%rh h$ڥuߓ؃Wb#Iem 8\â\6p4TE"jfm^[ H!BwR4#'\E˄1cwc֞ -DEvP-1*ehàNNA>)յq_%h®^WJy$% H3fOXi'r#0]SD>u:k%}'~lhUQ?H#+Vޚ{ 5Fp炠!y &H>S?21WǾ Ay\'Ѳq0{E-pRns7)We< ,ڪt>H4?ɼ+H8" X&*=TR),- _t [~TlrNLlX8tr%O f#d/J!`|NA\=]J2GL)EN`" ."~xo㳙5+[\eC-ؠJf!*4;Th,oOဎnss=6k5s*PFN ; Sŭp&FݞmFC_0#vR Qg |O؀6#4e}0;m "^r|&`~wYb»ĔveCr呾g񀹊Uͦ Nbh`鎴/W;ZM.]]B*cOː9m[^[W*UY'}(ό1K%lɽ((#*9ǕL0Ǡ'oFGDi\);Ҥwcp?mэb:7F~5óW.t1Z FH#fNK-:8+)ouHo.  5QSɘJ|T:esB3JvҍJ˫7k˅$`뾑d\nh.?!ʛٹqm`;cpO4s6hq@T[*PG=^% tVﬔ#6%Ե }1-ą#Q]Xfq[T+꧃bGK(05*%MɟWj1Uڐ> u øPk>xz$@#:a>f}`{~kt Y* fE+Z|caF?qh4PCŒЗc4b*Io}%U&?1_Z!mf>s+v˥LcIy @W^n?èT:_ɵoi+`47 1|&c>9p6fA9+ь='^0/OB<(O{a"*ATY1Lk'ťwa.߄) NfZKc궧3wMڪS ȶv^ڗkti7%x+ת;u^ hU82Q5cdH6t.?s9ӏY:5Gu94>EzGX\:yjyaFj~9ǦSU=ΙVǒ urq/6Ak( \!]طK1_iG _^.͔wΊ,q5y΅ B\O(pUXڿ)KuʸvT L9DWJz+e }jbDkHI؇nVtf4p)K.Re9U b;8t+J5GyGuUoc2n F1йO X B Yô:v,FΊua$y RR. =*/}{ȃޯ%5DH%}INp23gTPM($榾\J_s:uwdPKF\ UI2L˽Tx1:wD>U6"b![;`KehV8!|έc!Q5K%bՀ& v[|ŶW& 3*э`I\x>M2k(EZ:]s$wkg݀plX jImg617C]ĜLet/K(VI3pʐy#B0&x`pJR#}Ccpob{^z٠)’?V/4J0C",lo1P賂'ƊX4 PeP N/ܷL *%W Z |T}=PZ,-ׇZk C>N S+R+bsf+[ w2梫]ӥ^݅9mt~ָ<f&'ޘu_ʋ1<RG!F^xޘv{K7+)(6C:'"= [P|zٺ<0?,* ytcjbJ,B2$t #?U." 9WeN&]KMBk~'X^01Pp6΍Q+fC!~%xR+ؙRo-2>a:Z+ $d2w$ÖnΟDB]G¹B8fD̞A b5]EH)UXd缵i+zSC!G9ꋊ)M_y(ۖ޺T݀W=7Y&C}\Ҝ3LAŪy:^in<"&d&l@4.v+S,)_EЀ=я!GV~(c\pV{`m =\?X,Ƽ9itToδ#Bb2l8@4zHX5>ocV^Ɂt6ZK$?K'I_yޑu%En*{D'R:Gm?iz<%ғ:0N#z[/Kbu I*M;]GA:F]#C${.uf[J㻯Sx 9)H݀*Ѕ?j; '{1|}Zu)4E8J< sGcAyШBU>M'~bcL]ʾQPLy%SХo$\ظ0F]GddS_gTdXs, tEj!3aB LlG\"bJה2C=w2=AtW1}}[ +wςBQYgb|ڧF~^uS}[b(,)6eRºJ%˪@K#hRam2[Yvz%'Ŏ{:XndϞ- ^8 ͪ0e o+w*VɐGm,ѓrK;BqR~̿Vck{[&F Wnry%$m(wm7LpՇ ? :/!>0؁%Z4YHx(uwب䶤 ļL qE+Ovīen`L"Bu:K:Ƙ}Fz(/Ѱ 1&I6? R 7p2gJSEu2hFc4t4' #D"dWz7SB~ٜ0/N6}@O'h(oGS-9aUL&uq-DCcȅx(zMPYqj$GFcNQ q8A7B>UE7K|ټUek-73$4M9UͬvP64|l4CҞr%pd-+ߜA#79:sUifO$)Hl6;ՖSeCíF|e WX>{bz,=O3IJC8߽?`/A<poPwGPU `mh 7r\NO]Ucї@sN>lTDzE- f uV^PYP CCfG"5Tk^]/^Nߵ a"yb"дGVtg'n7P}t<{-YAjH>u)H)-w#uu=+N`v6r\]˄%"y)zT56UC8fO ͖*i1:<'h7cz6f[\( c9_ւ!͊Ǚ)fiWn_9MRpQnЛĊOǶu=5w Ț>!g϶86E#щ"Y^{q@fB)n}R,vE:*t%FǶ$7Ww2+V23|x yZ*7yZK 1FCb\&LMaqͅ,Zwb׌-eA],{"Kʰ7Iyn]Cw  A M2ӮhCǪ]}#I=M1oVȀ$$Cl*t#&ksSGB; H#K5@(|Ns=+.C7yN6.+ 2iK+Z+W4BdPԭlu:JjHG)c'QjO$卨«$WEErͭ6~9|GjR!掂5_4Ά;T$F쁗LS?M֝iS6i/(YF& iFgZ])C\^D[|Nf(%tli{_?%A+ȐxIA@Gau;*5uq8 [T#͜[0kߥr!%I 6gi*3Z Z$K.M2\juZcץ*b`2"$zV l+CQu& Y4L\A9< wyDFB5م>v_u鑝;'ױ%uPBy}lKAI0&sѭazRd6c3P \+*Cw%/Cy߯)HMck.78lv 5(> hԺ; T-~[a!=q3֦=|xEh8G=I$QT't.P[S+R%qȴ($*3>+ۤ0z$uzgU[{X'6ru..ҠDw|SYF'x4hOFb*t&rBИ2uJTco%`PY+m|#1?hMxh/3}ƶJ; -̡} Luhd;]NJk炋:Py'uMrKW8![ 5 nGѿ%k.bD 9]ׇ&z*=OU_eoU>35N:nd7|Љ~ F]W[4Кng`C$䳘P).|aǻp-B3 Q1jO,|OԳ|Oqzji|ǡҳUՏjh 4e~6<֡pp7JU|OO^9Ht-_5Qf(y1qIPNv1Wwoh]|z0 Ue"~x]6AI;6JHih~0067δOk^i˕Y!O.EZt4]h(SR s5vD9 ?"WͽKȚDjxPÞDEu: zEay=a{*3wȈWىm6ܭyD'8VRƀ1A *C4ͽt=t5ņaЕ"§mm005^ HF@MLmn=• h 1K ݧi_h<v NkX3yrrn VJ5ZRNs9[G(p(<eR!CTc )h|(zU RVL]lL؀;Hi|wāѲ>=v8U/2B5,(|r&AEcsh) Vmx^rKD24Bu5/Զ/1/H\r.e=G3'Dz&9J!ۜZ*H㶏I>!9~d3q2_:PT'V|$:g(Y+~**\U97CٶoVUڌJ0KNCc%%%hY ut (נQ9W) R83k)Mߌʨ:5xn^TL],1pJ8>UҀ?ciCݚL߻P[%Z{@#&D`L.rORf.șӹBhL4U88ŤXŹ_uJ^F@hsEy_% Q `X8OhG5IYco5{&HŐ(x1Ap[ZRnE4AAnxѸ51cѤZYHiԨG;b$"bq0hh2: @X.P) x\܉'d4xFvKD ;F Nѭ\nN ;ΏT V$Yi&gI4D5G˘(fʯX)Vo\^2Z$`2ug&R 鶤ֱ̻ TȊ}rq,_mZxcB'xB_O5`TkrVm@xzsxliV9a&%12 \ʼnZząry\:yFʈOPRvsr&q!8m #VȷD[nx;8lbOR RCs4b2#Q&=cH98(1J3Z)dp`rۺ'-a/t P ^֝ ЌBB>}Ljfv$_Q!-юô hq {V ?UuhGݝwABQ$UNHr!=;ciFn5QI[z,MJkЙkdڨ>ub*j-kfd &ʊ~!%NSf" r[/=K>3VqIg#fqp5bz*P)5DF0a r{j|8;&4i|Mبq줷 │ͷN$Ļ#)V[_`h=| DBiyX(mǘ~Jss6؃l+Nuee6ٚa 1 ױ< ,WOҌEKm=E Sy,Ř&ztau${Ո)?M=|pn|OXFDzλv#R(뭣{B9O>;֒nwȦl~SA5nA;8FRNCNݥGd&1֥ s:륯UGpX@:s >%(ܾدb'xm̶.J0.g5WK!_ Q^T̒ MH^Y9Tk{ O}@Ccqq 4lT9V0Ɍ dN&4 -NaWpǿxܦ0I@OnGvUnKw+kUI+򭦜i'4q@62ir;qP1w}ZW+@PKbW6EZ4Ep X`e$.)YrwVB(>xgCxtĉ5 4I BLm)p o`E{()%t6T{xh@yN,?.n]n38 }&GKvݡm1sT'& @݃~`|WHAm_DkXF|f,c&fj$0H40Ʊ*r*\',cB,"UWk;]eh\yj=rq0S+85z~倈!2CLw=kB5ʷ]k2?n8KWӡgi}Se"(D ~vUU [kGs,m@#V."nnj+#:?E|`HZ@m*[2!+U(W>Aׂ =b /7M  Pv#=|ڔ$tsp-JzO89ؒ΍ino1eMAi#c zyd)Gmნ ?~ i* [ubҶ?~U5ɣ#Q \u$/LMphBMaV)Ѽ!`m)oVC:AGIxYnf1#XyW[1ck+"Ғ)V3s:]O!~@5"vobC&Ј%JY(cR&r i&P[7C62y'ŢUI-̼ÙyStY<}e:3%+ȝTAV@t疃gJ"$jyR*X|f-)՞H(=Z șIZX>죿 Ƃ?+HД8ˁ . ]lVJ =r)CaDZOП{hRY?m&RJ9(WħMz5u['H`LC2Lo&h&h+SU2y.DޢZ4&(cdSmm2 U8ؓĩO.u\" G~xRs4d2Mi)܎H94TPMjf^*%`#گY`!y&W p` [=w *%갩=(R4+ :B@Kɑ[ +D'($XVq+g4u~ʚa blJV ʪp_O˥[A7]qtc<`#b뉱{ jC?!WT͌4m}S)5V}CqGӟZM&EZ*r݇ -=v7mGd%3Ln0* > :vDD^^(62. Fb' \z߁xrؗ )LueO{B&'+:r^۝}ޢ@YN2l)}w} tPTǃCf d+4mKRQy޵?`ہBP/ !>2`f۵# L; ĉǎ̄RƩ5GRqɗ9d;(pB-g~*/B)bVF%F Շ*UK `EnK+a|QrAjKF#ѫ&m9U5GV`kRY6;JW珯o@orA"?k0raSXbѡ"E+?yy~Z0{|rM;džPPؔ41;5n'Њ+cR.-uQ,|A}a7jn`Zw€rF/  A]y 1j[ O-!* D̘lxAV:+Q4QS?C ۱KXW{!<9Ek3TαSfSǁَsߌ?t66Bw20)EL50S̬g9l HwYi~UB7?DKHL^L3;e[*a)"E:yg'̺+$4`V/B=ɓro:!NH#>k#WiP\;~rn<"T`ZA=I ^]xrSPf1=Ny;7޾pS,W) |KJAΠS#6ֹ +ڮz~%JcƼ!{#썻߿ثƝ(u>!oqGɵu~+m )[і%jv{6$73k=yDcz[jnFQF3(*x223aoʼn:FGԁOV$ G3N *g㶣KlyQϻ"A\D^~1\`V\q<\i@h23g+~2u$櫗6E+ٌ]3ɦgNҩvcΉZ&(s81zfW,BZ  b8c4&ac&KBDwNDvxa=`cqjp]ʒq5N]=",H;kPlg]i!.&(ݨ%Vԡ0'{TCl^EBz CK㖲K ?JKw/d-5T2DHp 5B(b]v/ޭ)WFWgCj"k@=gq xI`+^ԑІ_MN1T۔FOwH܋f,,9nӻEc>QbcZާa<ZFkU߀OOwk}k4̶e뤼 G0UҌHޢĬ!h7#7s9_LxLc +MS F~dJ**:c]C +-r`*n=L}W㷈]pPAE}ؙuŽ/š\E!Qt +!9wHGM̴-XK s^Jz21N=6?].idFBiLMBޅ8ӕJaS$F9&wCʔ2P@̌nUv$PQ WUn2E_ zccd˨%|mtROp=4N^ K^@%8.2%o6* ^$n|d r?en=ڊ0^WSޕ@!Dn3YWsd.B9ʗDZN)ffNZxGš?#,{Cҭ(rdm;toma+zdHj'4]W({eOE >lq.C9Q!f3~ޏ4ՙBIGMs&ߘt]0*W]ɏ㞄/+sKHkXjmld+A%g+y n)RE;kխmfƬl \萪 <1s5Jb]ޞ#_:#'q #87{ȅ|F[C|T%͜pGۼA58]ULQ'&]xpFPoZ36 X n#H$nRFHC;K\`'(ՐsY\an4e6)+ؓ}!R-"6~T@ f夃gm ,quc" 7ߐZ nƭ\F-b 4th}8Hwe-'$3akGpvB7eH .URr9鲙ڪ_YLLW?-6c A[Bo^xd8p6IQѕw%ZtL (Pvpg`c]u(:Xɫө~z"9aR[[% W꺾0N9uh״cpJ'=EF*C'\#o0.Yakj :CBӦ94erqƏ 60 )FAcj;A $YE)tA3 ^)i 6=` ;s6˖&9:/ GM:ɲX谆ib# dSoLE# y\fڃ',n-|%O;m>z ^E$h8)Ӈ$u)_a'Z>+6j,+ f1 ջx+wc_墪6iuxdT8_W &bJ$J^ ~t:X[j*:hTN+ T6P?+9QG<#E1]|m")MU{kblk>57T;Sz a&wf!9ng tiV6׋"ۜX3$SdML  Z7̖krGbNJGʚ%GZ=:OVEW(4>TK(T, lu: ҂]P-Ǒh#Q|Qۿ2SY-}IbʙNJk> NJYo]]{ybʓ(sG;ފ< azas x9XN#ٵ9aǎOY״w@utsߥ[DRvKA@L)kPx#_O!Gtvnd2X2 دR5c3QuM[@ZiKդ#-SQP3CEEc* $Rb.yݝv$fS6ut-q#6n$o>>j𽚰vC0xOcl'`3;\@3,q-|V(Z]L<+u ۴a.Hd# _hWT Jf9:gMcz0|{Mr.(1-e}It(wzm?tt ^Lfm̏naJM6&`eMalzܹ>5zr||HHɏ'/8hȔr33eyU:恌X{ik5L`>˩0Z4.SڟT-Z+5TAhN3&P:9m66G?PN+Nb]kǴإQj RgP>wrCc4Qbqұ^-'h_E#p0 UY[%+Y됎7nH_)wGhS.0T!s~149ufW+ F8Vj]' Z9LR%n)I*qWESٚ"jYN^ǒXGTmFv%%[~ieEo0;zAܹ5IgC5Q{-$HҪD6aH҃hX4R͑ LUw61BXBlу[peF*!3_je[8 7~?T怕6}Upi|fvNEyLJ0Hӆ(7HSMUG W')|Z}& |qr8/,z vs* "5T[Ze2kƃ!OQ !.y@ˉTy,jnf/#U1WI+ xa7f-qZVO:ljڠ!;oq)  gƭrr^"Ԣ*79:o&NZa"r3T+py2hky&xn;t9  [RSV¾ޤ3t:uT^17)#~ a.v^M ކt$\ɀdm!5ӭ3Be8 -yowL%{M̾ȲQX^Ȳ96jZf̍+' KS$ƶՊZt -.cq!׻.}oM <{l77.4ַcЅxh J8rڮn{t;=:;W_aolޅ,Ut|85vͨ7MEvxi)˵PFttFoRrȈo:y*N"J^Pɥ5zJ ̘SI¤g6$DWd," VRyáb%EaxE[{D7,l''t65 9 rOqOIF0jԅv7`>hN'$M;qʤ-p̍ JTB8r~n Pa2KLB*ya#l Z p?1[Q>JGP;ݥ3㗄:12}kt铍 BS~~'b޲n[ia}$zfb5 6ȵb'zxՀ^y'DbUݠ-IW9Y ׈M8vqI'{`FAl4qkw/PԦ"MsX;<* $XAʑN]}/v h' xLkZKP ːv jl\2$zh%j!o,Wa^B#)1=}RZnYcE\J+QcL_y)1w@<|L,M^FUO+ad`!QBz +Vhǐ`0  u)ozxW]! (204X!+i_[ԚxE i&+ѡmnتf,'T8]+NÍ\ATeTܜKryx2jF +t*=ɠK)(25vcAk 3esP-%?25'4֔RԽz' /Wm5_%2..&s7 75L>6PxPgu?03 pԥ.̑1IAQ~W.Pt_R3S0gn7B>P΍K;AӤG+(lk*PKBh[T)&OO<ݻ:4W}7{|;/=QyYQlc{k&F O/{=犛\{e'5WMgqKV;5oțWxGvg;-eX <~M,dDDqJ ^ʦ,_*3~"q6ʅ)}.@^Ӵ^m K i0A}DɞG*A`5&Fn&)pCѹ:a΁)ՃmMu2uS_H>{x. #+^S0fY$O\V͞k2rO0-ߑ͵x{|ҸTf{Fq^|R| K ;"vA2uJ-ZGWVk;CXlE8WҼ٬@~F5NVؿal} UVPw9ROMaJhh#hwtuE2;}us wqz8sjZAȡDsDH #!塡KqP8+r_Jr׾<uBtk uso僞faqNz/LfȂ]X%~'l^ 4gi]{t{g_@r&p?;L$FRX-ǜr l;49}TnJAOjWYQ]"Tj͓+]w"WXgy(G=LۛXd(XziHu.뀼U#qd3ڡ),[IcmցG(C{2wS]u$`jնcHG_p*(0KdC<ݲ=0]~}c,,nƅԴ >n2sW4jOFiZ՘0aBATw?Ia*Ѻ-P$Z/poXQ v xjŹeQ8о3cg`0cٍ{Ask;=FKP',WX.Q[xi`6rkvUN>aу5(Q\YBAQx0m ;/ˍ;5FWuhe55 gx>kh&Qq^ާޔK<'WU -ݣSP{f1cʵM Au+YpIVvcicV2jZtݘӎhDOh(6rÝ7@fVHri8/PVDVl߱ 0&W/PS)9t.h$ٻ_21H"ȗh{KNV?'( )F;#C4%^A* :g=066Y,ty._jalg 4@T 7#OE365e hSɴCRS,]i{=?9R \OD:w:lMW{wj'/:dF:G +PP$R¤]`X04!VyN$:݂҃/Z|#ڔ VL(>^~SǁM$#kXu|Jpi4EG_SXUwM( J4DUAOeJ$h F;GF4s Ձ>޹CpR S4|S{ut+T6MEpwu]י{[b}tSkֶ,Gq|uPVo!hؐȪۺIo"Uc{Em'8ư蜯r|RB&2{Sjj9LUxzwf!.P?{c k;)ZO.`o:Ǔ{V܂WH4-n T.0 ta$Gr}ʳ;e!7:Z73GWoOes]۹rhOџ b~aUl+ΦK6աuƁvr҈ҖckfŸg;긜گqZ+d}s5fGuWTd`OmLkM~K*+Tܨe I K6&1|7@!Ǿ%+'>bGNw}ݝevTϛ ֥9R޶=ѾރL{6e 5]I+8DDٲaeDlшv\W[_ekdxS,[lb%Fܧ+a20N1)@TjNg&0_bw$ yU#PޓXJ*M6̩y#[%Bn&/H @e{:|E3ڏKxm qTB2k)>p2" *^쉙ye_0t{U"soM:uU4sM;S hLm٤t(BO/y/aC' jlkPǁu<i+@km9rr)mv]?sv4{V= KCCCm_NL0$9[ Q"G]嗕LP?'t# ?5ZN1"ރTp>,쌂ͧZi HQO@I(Weha]PZYMBC\z+7p{ p@U>Zr6}U{ީɛCVMBKw|>@5=~Ѻ9"\#|Z8pr}oOFsa=N9#{\3(מCz٥t6M#{G2BEr^azrhaOm zGTa7<G(}HȢ0RzmL)\w?܉Rx v--|FZe(}1a24I:ٍ/QT>8ꔪ ;h)-S~!'c"z'V.L9MPu:|aTxT%&544`J}{gEew Q]4xŪgZI@ ]*|3߁;\#Z 󍔁W|fǕ,8"FV: .R] jV]ps=Wu,#'' _8<or%PlJyFe!A8};ra6P&9͗D `:ݦ|)q/}@7@3\ߗɦζRέOnkNe i ,ӵ'WOn*zM8+9ʩ hr.ڰq6H){2o3baв$, }omOlE>|GH30k|]ʷv|\~yHMP*!6/׷lB@! :WfrA74L-"$KFqRS 䍆@dAΆC~S´*ڈz%@@uxFN/ȧN760eB2Drk8{m?bW,q2l.|3aCjCǓaT3ho ƥd,Bx݋"}ø=醛2Ĵ>eH@TjnE1Dԭ$fIMu1Q*>n%.Rө^ prV1TCP׸@o5,EQ LAVҲ(bbxƝmgwj]n{cN8Ms§,, Q ɚUp05!eAbОbkէS 'UPn(yO~ؚPF6&P7ȕ+dVAo<&)E0Jяtozަ?v?LFz?Q!2~iZNJj ID$ʋ۪L{8үfi>u`z{!9rLesbrbx1zJ ?$*3:tSq$#J%i:g=Fԃ@ҴVn? +ir vW xNFmFQJˌ{;}ܝvnh$qœjΚt{8D7:Zf=/<}>YR9CVon5Ʒs}b0I/&1=תiRPV'"lyMcGCP0[óW>:ɵSId_N^-4[ *hØҢOi@0=;:e=EqϫM{s׭Y>7jN&'%w_aImszGŔ-vݿ}`*nH0^$ӏ6h{!Dt2"[{H6MXLޅٻfڅy8Ux#^u+>YgMR+?S8#msˇP;>d'--q#A3F@|Z:sfgn PTH7!G٤YҖz| 5)mIm(;~QhqDYʘQ_j7F!CFr6&KnaXY'ވd=қZuxOdbYP9~XWk,EyHbV~K^ -Enf-[dׅ\& .)؎hlε]+DiLW座&I dR){}5t#W,cjܳ#~7hcHX_?glwS!߳c+NCoP^E7h!u\¦avxÖwV!GDrךV2Ym}M=ӱZ)2Ϳș|e4?W>ƣ(YFC5:K Zgy&thEX>ϔK%2v-?ʓ&sPpIT`-yV)Fk2 voO֕3;RMg=8أx3*p񣫒Vyµ'(u`'3 &Fgt6 5!SdKX5"}wpc;g';$P+F TU%pp bvMբUq5}J&/\x#$2X!w߶qWtiL U{ 5{}ߤBͨ_"[j%P*XY7PD@"&(s5?[FQq˳<ѷܢ@+bs68BТ Ș D20~XԙX\d œ_F3 9Vx:g1r3Fo[+Jň~tH&Ãyj?W}(OcnpxǣmLit\mSvcpR̈SN9<'WēVQ u'*7S`h,F[GbY,b:dװ`$uNrCbp:m*D2G` -㔢f Y9SU @8Ny`d" {1 j'Z(b:I2 jb>6X2'p U?1kXkl1OM&*|:`i0WT v@_l$" S- P'sܳ 9 YꜥO+&&]s'e;zż s_W0TrxsTcH>tl|U sQw9<>tŬnCzi3!k bLT꧗71sP< Z]on;uS_C9WQs3T̹̒?4]3Y<$[4<#x8'04?ƭmnʷU_Z[hpvE\ i^US+BÚq2mՁN'탦gF89S4*SI(MqX D <rm[}uM p4 Gԇ+rSY&M#[Wӟy-bdY6ei y%ŝ&E?֪`ьGdǐܨ |?\a8 \2OW%:*z0o b kNF42zALbӫ-ɏܖ͆m,%ΏxU>`P+М=c%",׷#shʵ#NعJCwM;#\ztTأtOݨy6auNd:Rq?lt=e,U%v.:$UGX&q|*H')%J(tJmWu ٬{9I1OG 1B?лe2.&m N1y}icڧj tsy){nRAZףJ3OPts&<1 y^wj\6ɺ=虶vx^Qs/] \fL,F/±'vˡhGL?|_0QYёad|D2p o5-'kmFE\xU}%rtR#c~gX&G>9h (o]3m&Q@jb%8\|6OR (IshxYN!sa'[ZصsC-Jܗ5=EjG<&5K=% Qn؟xbEּE?OO''R0rI9+tZ_܈O^ʱaXttZi3F&IqV1Wd?jIKkt1/vIUϳS*CޕcZų=ގm?n<,j7 ){tf ^De_a&_vZ PuR 'L:j{ˊ%i9ՆR.b_Czj؀DʳHcBeJ3>Fw,{ͤ'j{Y`ߛYABbFEB>mrQ} kTdu eTiR+P*)NǐErVPxyg@iy>d3<{r$"lfq&yg1h4ޏu ^KCr3ʽwt>rMu!&ZG;k?2@jwX?M!!AXz+NGb UEg\\$fԿ xɞtFeɭ)ZBW̽C !8rbL͹v:Sp!ǁ+^Vӑt T PXShŸ%[#G(t Z,D_Os5xe6@ @4OՉ '1!qc7|ea˅`=H®j>RY?Pj2eVfl:9w:WUW($x9,t~NMWO$.S VSʼvX<7 B?g6a©t(#j-Tn>s 9Ƒm],|05eSkSIIi]V #GczBV$:eѓ5'8K` K`n ֈ;=_?VwM'r2x= j ŀ~_;k@A+(7gXV~U)K.oy\융i?s78]i]Qs7A&,O?eG+Ѝ:`+Ldoj{"-45å3 (Y [*f^oϺ_f7~J콲N.FWⲼ`=&%BT;aBXd (YGϭtT|Ыݜv/CUAǝ.JCPtgbbc5oee/VehmCwX&$c hV~)!w3^4꓂XQ_^~榊 jިeXҗ)i)ѢF}J2GA0ȣƒnh!HiⰣX͝d}N _ q\̡T,6`])ˤ[||]8 )GEDɟR+}w{*E3忣;Ӝ ߰!VX'mytz<Ǩ%ը_O"+;T3{sDqF\~ñQ?MIaPTTvj3But!gVtt'WDZQێyAOo|nu&8&wA^ // 9OpAWp O]!! :,T QU-gt p[PJA&DChڀJ@<^‚0-eIu8=)$UZv \n4vIT9fH%Mg` nʲ0؍WĒIL~-3&4t.Kla 7Oӣ}z*Wu̜ URj꩞MyYq(y92􉞔`Nt;]1|;wٯVw7*qLp*oՙa)qIx "h,Z!^Q9/h 03;%JYY4t:],UAwsnK+>87 kSYx[suڇxWbcN@mc,0An;cu/eW[$_hmIS%͉֮׼|(7eE e!6AvժpKtq&Xuiڱw b]jA\vuQ/=Hȟ|QTN9i̯T[٤b{T^m. 4L:9s5+eϬj;U؇3ٲ:̏&9{=vcij_EQd|)}UUw:߳ Okv O w$dd/&yrIC.N>! `Ф|u5#R ťҵ5XlexQ[:H챸?b ѲӋ_6w@˭ T-LC3ı9\ec"eƗ uoi7hoS&R5/5e}=&Fjr~T2;_tE A0]Ӻӏ'  x\I*HI+ ?8Ŀ`j唥 j/Z8{# nꁜ,+dQjKB3+6JpySX:68F\gYu$ᕪf" }WZf,C I9)'U/DGSItJ$x9RA9:D Z7ͧ{"I8ª{pX#lX:l;zHhJ6)J|q"B9YO0:>Jh4ɽ79oռc蕳-"D3جNd./-g. "JM=:h?ew%yGX~ Qyr:ԉxl 2Le}Xxل4-(F ܪѭw<+;CD&H-{sng(U&sLEK7̽!M4M2p{⧅=VуyD0<ێ4xC& XW ^Y,F22fCzO?ISI5"Zte'>vWdάmƬ.m7{?`2"HڼqDvQ5G!Fсt3![›B G8ͽ?Hpvh\z[KYZnMcNpBKDLGMr*޾GX!G' ^kACe >7.nTݝ?LdcR{\PTqZ%(_\"ߜ?1W9 ,NEF->FhIN>#RMLb0e*ysl'v=`!)ev%߷-#"Ӎ+M!Taj(VWn^+{['@,mxц1Pҵb:OAefޭhD)k&4wcf2-)m݌:h|"uDW=Pw0kݱtG`-^e`(Cs2^T8Uw~O!var r&ٯw3ݶ:}ad=~HEcRa [8%1~F!m7hSZ7b`wsv9n.!_˾WmۋBe0~;FzɎ"9<@b? Ze(2Al4bu7ThsAFODO).ejcT>}I%k5;uzʑ_Fnk窨4bwBsu{RutP\bu89 %w֜϶@uD7n'$޴x"cE W-ƲUj $eXԍ\{Q Eߍvn֯7H3xMg|mBS8r0Wdto47Tɉ߾TQJlWΦB4+(`1 ~\{M9 4D6J6e?cJ0&izR|tU>7Nil JUW1rjZE\1x:3Vbc [9?x@!#Zb'+;Xd$ Tߐ=ucU&R~rp?FgcDC7 5~۴Qi<3&4;(7zg`g8rʐVV~j\s{)oIJs۟_(HγJ//^6&]"\co< N >cZWyޣrե8.)?,xCv`1!l'g_Ž\i.\D<  ϓ983"W}{Ba6={<26ԛ \ד joVFҸ4>)6|4*kfNS`yV_$~) DNWO]6,lނj|Ajۨk&'ULj}~@+IBNpAs K7 8RSG(i@մM%ۆ"Zk"40'Jr7՛4y|JRL8 /&ʍ?rSAE5)=YPj,gs9*T(9EjȗZgPs ?l$ATN|sˍޢ)MmG'[e&7te@FZUt!W4] ƪEd(+4d~2N"*.DR hVd4շ,#c'/ZC*Rߝ WWd%Ժ]ʱP婨 ,tY;.rQ\92Ow?tׂmfxVʕ~wE;=bGW=dg$|Yrx+_#G%qh}H;8rj2)Y9HIQnZn 1h-TR*ZSBJwY7G+G᳝MB In2}Z/[C]lIE'Cܡ(YL`E5W|ԼB&!1B\4",fv\XsBohu_]g^?grEP?7U*"UNWܔVtN)..%d"79/؍td qq|^ fͨ%~ ԧOGW'}ze $`Y)k!4XEkM:V Ii؊K/DpOg E7'eڣ9MM\H5wZA|I 3.>p ZQ7qS9HɹJR&򕆃1R[uR+p6hu<䂍Kk WYxf7ٛk.z3PKHbL%ԬP^us"$jhfi vJ:c0LPN8LP̯Oi&JX:ĝQx|i7,I >UjpLh+L {Sԣ8Q#'rU k?g,P6/va6)Ɲ--=jaT&)BB"jes(?ϲ<\iT:@u><4uy6&+DB~{&Ϡ^n=Dtͻ퇺FzoseeB)W``1roܯf;1j7KRiX.k;A|v)|5m㲑IJ'*=∓+U@I-)j S_Yi3k!]998[9 }t/*e{"zn^8xg7BX RX @*!kDKVws~IH;94Ɩ_H9V^W?̜[2.KZw;;bA֛pdOԈSȟozXRK1b!ͮ:-ԊY ? m=mﯔG1 ;I*s2Iz* Ym 6rs`Z@+XցƏ6Oي:T5sW@NBY_ԑTCZGr=ήeCYJRwssU<]1$D yrsfM+;t o&,30X3OPģnP#hѺ _ hPc?w1z\C]P]A/߯n8u]ce[OqsZE F\2Az2{9FF,ogiiIA˽Wx;vf!'W \dP]2Mꚽ׵aߓ{ӝR;`IT_U#F/X$ZrEfqO@yLWrtn9ɺXYT7 j3]~J,2O]@_udh>81Ҽn]X=+@}J~v68O_kﴸ_Ut2gj8ևpW I8*,ud#c{?uyW&JBCV}ѥU}olCzrRJeBF@fVnS3N3y2GK#ErB+5 Ēu]O^h3l*qr&*/)_Xt0;& Hmxנ= ]Pk)N$>ؖ%^LKxqR==EG|: R9ky9.clg;r%9-9|'6zaߕTaeimab3rQhCH4yrq_V'E![H(V$ ԣ Q*rcIψpʵT: MI.T*-wijW} Q'KZpθ3g쑝Lx:)T(h1KIpD8(-^>9J MGvv1[rpaQ+z+|>-ӂlԍATLጊx* {mc^GG z{^( Q6Q0NȢlx$M}Hs$I),K]o)B j |$.24r:h+ԛь됞?AeݎFcܤhw6rշȣh>Sa%6&uuV/X#8ػzlK|3eݬecn\O@@d:+CnOj=PK9Dk$^@;U9 emZ/7=9['IƳb@ ۏaIhmk*y+d?̶F/3_+Byl02'9bDmZ)a*QgdNAhlT}"D,7Ⱦ/:7h;SuHNA\hàh&נETͣĸG ƈS3zG䧚c* )`4b`G1qS2Fሔe5]ig0yf,Knaxm" k6qa\e:i 6(dsPW7{?u͔|@mnI=RO IeEhUj52mTh)Wy#hZT4<*\NZ=ŋJxӲty?h~b<̝ݭ, Y|W'449sbGTն<s;2ѝ rgU-p(w,"8 *w >\y@pbqf\fޖb.4X$qmU^W=sf$)U_RIΧ 8^^aҗW*xVmq竲{v;~s+Իi=y8J3i(oLkX4ċ6إv3e&N6 XfPA)BvGRƏ*b({8DqnHk9Vl#b d(@-,WSRS3+%I!g-f¾5tU9K+.ض >wl0PQ6kmg_Zw*3 P$b;@ 5HSVw͖\+m39u}(NeMХ#KLtafS(rM&vhr_Ey W!bvV_OY\v1RI^trWNQǠ2MPĝ+iA!i;yu%Aqmmnn~$&J~)\JNnS JXlb%Ka Ժ ==hA0si*419׫&u.FȎh'|15Y3ȊQ~2p Όg42*QN'V>hH&'q'I(jC32wn GrU"-: Zw M@ߛn6Y>vEJ"ԍs @8P8}K38Yd LAuTGnٯ"Xi}ЖѬ6Ĺ-'-Z{ ~S$*iWiGpkO"WY։ V*➦Kj1)zL[_'c9Xu` ~d,lDetbJU| KQ7-E=:`Sr *7*SYW#3L}~3CLnbnV-a8#CHb*@J)x:~+'5+>J.0  p$/#QEu}^ʲ&. 9)KO' QSNC1{A<C,W"]NZEL> ae•?N, {(2Җ2$͑MHs^jȆ,ЙloIpښ&3}1DhYާ3Q},8WF^<||=c{c!PL֔] ˳kA34|O^9&e9w$8mYU[@{bc5sQWRau<@ dNIyG7utdBčڢe«Fv&6-:\ke&VPTie noJK7 oqD^BfaP]8487-J=hW? TA7;#lLDW/t؉. QCT֞@\P`T$Rٕd&1 5 i;Vs 'N^Z>ҴV*x;Hg a%#F}iwBsz7j6oܻ?m/*Gn,r)hBzHE)<LmM|±d3k;K_RV0C8ʜ-k \ti}NO&#zhؔb\h_iھǼ0|?&iNHTgʻo^*ZK~7n{5,㲼hJmֹU^VO]62ڐ[Ή]`Z؞3|h!TqLץvF<%7zRBAz{2_ҚCSrV$c.~7,uksF-hG5w"m#d%7e'?:h|EZ.Th\BJ:sx `V 2^X@,g.R_:1֡.37G<x 喛o;dgm{RKճ8m'VNU"DTm*羲YN=HK".$;!Jr(>2KȽ:۩|xe;IU?Ea OS:ʸc$q~; /]P|-q+WgZjrUtI6eR-D.Y.hMrî~m݈Ur`2 &KU e SAқ.W$)GUQ~vk-< P %dm (E\hh7o#G#SZ4KZ}aY.eJ- .b'F|;⯕^MNO+-I9m6JtWHc٨FdGIOٟ]ߵ"!O-t֤<-}סSt@|DMeVtk7A=6 z:ޚ|hCUxa?SS?A5tqJLKDs"py˸&pv#!rZd%R E~#+"<[q`{T𵂸#=q8„f@l>˽J Fc[ k]du6^"E"IH#h)*$zYΊl#y$$we*O:`^ Co%%+wm uw4Xt ËwJ4ooZZMK7k =(rKsGhȨY*Gv `ipJ q'zvy]x eGmvϊ* G/)O+μ~j{/; (vujϟx_B"RRJ8 +c3! H*K6YdkOH4!-8$!8>7WYt1&8u$T߀:A"^`=4db> &9:j#V6grJlP8{c *Gtf$:MXBۚ|!fs ݻ@h)WK0n\c4U& a!;29d2cRiM>b-9Mh M1!˙N"')=P:2<;YɂhZi8sjDÅ)SE O b}h[Ѯ#CNm洲SU/nGZAY^~QKW l7GHF~!3sy?Fe!TeII=Qw~è^_Ɓۿ1N,\v2mBO$CP}+HGD獮@D]Zk_3p8yΤJwS*#+"<L!LtY E<-mcpkyQk(e"\ jft|J89MF20v~XLbc(&}y ߻uxck$3ڶ/7NM>a]#kHE(qZ~4/`(O ڬ3z2oҸo;4?j sr$csV${^]$J D%xb7'5W>"sAbi2ͧI(,/O[󭨨IxxQ>fԫxUq ]GȨIgQ[3 Y]tjxw!yc˿;^XNנeTG|(7쳜s9cț*h Q/@̸;3EEzoTzA0dIA*C0"[Rx B+l"#8k4^{+r>V%ݿ҉GHHHq-F/p|DƦ8JMhRD5(=f=Q!Q y"Kb*~9?wri*]efkΞaIV^~S p D #}ElsaL"%rjWa&jni.BA\1hVGTm3m6p 0 [zteTՊ 5҂H[@6n c޳q X >.f zE.Mt0L0:oZ{E-䞮I@ pOfZv g&f2t7@;Vhyv\DgYaMG.Q#!akel VPb;I䨍E-6WApb}}0 o4bm*Z[ffuqY_7-f#y܌N%[P};*.Eakȷr^zw#pXwML&FӼ#YTHdiqz?w<P6텪 5n\<}>a=s&ۍ:{ga?T[u"6k>ф63cPD>6 "&gS XAKEJwɤִM#~bgҤ Xn97vhhQ;k:8&y <|;[@Ps23OP\MȡxQ8H_\:;jD +NhOP&Jt 1:"sJW;‰ϾXR$9܏%IP#cRaPvONE-c$()=u)׭΍㧞Q72^;}w֞إwLlޫ, Au7x؍ph8\g 8/hH!\?}hj^VPl' L sWGy5,4YYb|>cEc)ȨSkT*AzZX֕!7'u}JjHhOۑIJB;`G2ZUõ6\U,G kܥk54^ղ ,GƋ}VK0y{OQi*)@1DטXo&^@(P%3XWȏ@pfH;Ւ-xP"qjtQOW mL.c -=L՟ Y1zg`iKۋ f_|6qK`~ lYu`ϊd\:RB(! 3CqG}֍g}J.y*QdI YIm*6:Bp0mT0c$NNC4mEt:a#+8o ;Ÿe+ySCQ1MߣHQ` S㍳ULvViː?pja9,qlX+3%'_ H~Kx4?Qq84,]&xC*Őq dmCvT$ѕR\(A'-觫#KѝoxS 6'Իt=GބEnf% ᰊkJv7S\؀!S6qyxLՉ)>J@PDfޭt9ޣԈN1݆_?DF!jU;/yx'nLq8?{u{Dl6Fb((sG;.Z5OH,u䱢ǣK㘦2{NjJ:t`"*n沗q1[T ;Ғ8+͘dyQW l1S^+;*&(gZ[E(;I|%1vN;n!20vb=&'j"Ý +CbfZ2pzJ0B 﫪Q _ kgrFFpS &I7ڄ+Iһp?0KwOӽJ!՚7a"Cf"[s]·m?Tc\;KsS3T;Jv//^b*HRyk[XSA:* 閬J|rh [z?*g<"zcח&`ΨNYa|SaqpL9LxyZTΫAH*^%0E[3N5k\i'1=5!ܢ Щa6 0YBIKJ$K)Cm lK"ʦG<1%q<G>(h[%l#pk U{GZؤvPymwiEEKRD)I2VK$y ~3goXZ*ڽ2}YpoW\tݘxz6,%Ղz(N;H`j"S܊ 4c ߢm,B&q{ߊRt~@FG-v炣R|' ,hz2vYùw*T-J:DW&v}%IMa]=I@V?U}.$KMF/C7ptQCVĕ!WcxQ ,bV6nd2#Q˦_b-C"V7r^0ފ'iHCPƜD:ׇ cݬ*9=z}LPk>9F郾=>+k{)\gŖkYNC.Uh .ݴAI"֧YH Y?P(PQO.ݚ cuP ;c$hv=3؂__{ZSh*~h),͆sh1RѹK"T- OL8Xv&h7zUK#~, ڮvrYnM]= IJ KOڂn'I6|'ې]V4kzĢu7ӕAMoh:gn!Z'QѼuk2} ;e}*[w F݌q)o~㷲bI]6"'/R"ȒS}py-3U@*!"UyĨ"TDG"WKͱ zW&5bÛHؾo<㴪o27s@ʶbl~_CZŪsY(l$;>)Px|ޒWc2gGFZE@EP :QaUnc,B?};pT]:j}Kda Q`! D\9p.&Wt0G&U9Em/"ޏ)13-YSv/ySdzYqBFm'r&_ZS*>¹@ mT,CsvPD(C$ |J$N^D/3Q EVןw&jq"ÀҡuaG9y;Y AUO§pϼ!ڠk1B \pQޑE'Jb5{'6ͩ(s`<\@ QjhEf,ɻ[t$3o>{q샖b|-ݍelzp]Ŀ9B p7urR jHl;qV2)ErpWpbQ p.W6_atLj-e(^u:n=8N&7->tNy:є KX XGGrbW Q UP3=K:w )`uTg9qHaQ`~pן 2=-/芬|-Kr06f}fVWia/!9]"b@l&, b9QSgV=DȼvAa ͧ<>!ɮK[RF؊U:#9Γԏ*^\korÿ3"A 䍗ZS6! ؎M9~K]d(|erδrZ}u-E fҀH\dM^A NnjQ+`aV/{Κ*)2Fи UiA2}NncR= Ex;PZ75qڰh D$5'ϻ̶'5jx|gM4u "}2Du]g~NOJg CD#=Oih*/' [JQ)הfg-(JM`;l^^=|Jof}o8# ?`ÞnbȞ~$vqQÒطUGX[=hnJGW-ZTJpR*UggoDyf1s5Wd*c"W3A`ּAXwLJh rw9>޽Hqe:(;]ɩȷO\Kl5˄`%>V2 r;"+%`Lbɼ-r`:K{|;n%NUQK:XSIb"AjTR"?jTv Bkpd(hgc/lZޓHLLPZz;6@k7 4Zcz:'qggrX•Qr6W* `=eKeL9ZH~ r$]u=>Q)aL=Zn'! =vt>ibPzJ K*d]Q ߛWY]_B_2WLƽjPW}͗SɑةDưͺuif+qfx-ڒB&zlʾ?\V+xtjzĖK{5: t 0} t4/^8=iTDUpqLo6A ܑ2Ƕ|PhZ4M л T~'S"~Y ͇9$#>3+D.n e Jz+eoE9jAv|=(4N*Gn`1@.d^6H\vt{FZԶ϶-02,?w)w@t|hWuVD6szk4O(VUHSצ5 Ӽ*DYq@fh3WuX{]~8C7}Ԥ'_}CSWPE ~P ?-v;ifAP%dק=>m΂S)]2v$vǨ=KpMV\ _x΀en&ՖbnW7s]%6EQ13zWVZ2v#4jDq%T糟yaq%q8 Yc^V}T[_+$Lp:HW ˨o-GYh-hq]X;ld REW\JuGUAliz[)]&mϹO 2P>1Hɚ>VuU ZSPz_8wwL\{bF IWjʙJpV @ɎSEȏ*@NCLlFɏJbZOYF _Zf4p{$}AGgK;ME23(@[PѧylUYFeƀazriGVXUFW;kv=QH;s HM¾в 4$7)_zq|b(+[ DBpX$gE =1yӚxlH]{#ema4E )8t}@\q*<2"h+aD%$5Bq䆱8@`we'cKCW7[[D+1_6ϙ6zH60ڞ]l|ܖ]z+kz*{ZP,)?U]g CZSF ÷ʂBθӭCi Fkfg JIcؿGT`s#M=%K(.Un=^"#T)r :AeBU! v-4+(ã"(\ &RA_S4Aq7F6:$}Qb ׭Ȍ_Gc;aiΝKk^lFUgV2$}rVOގ!˷E$\dS..dbݷJm\h7ꥰF|JD]X.<"fU'ٞ QF|%x4xgK׮RwCu* hgnӴkmxJEx3'O׺uEZBl3Tǜ`#qlJd(1b``U9q"v\qY2F$j޿b]yk-7F8i1#=QڴK̜Ӈa'fIr:ۛ$@E A#~t[֐@ф^#-nYa/"a5nwګߙ;~V*` ??r7\R*Xޙ_1{L-n{S)$TwVN[zm*nB`WK\K>;ZBQZ5YO) vy33j+'l)9ҝ?8wq8]J Bhlb"0̼jwp q|%y^kn#ʬA!)=)M| XWcPZUUԸ]ΑI[EV99Ht{Wii5WLBh07&ݴ-2J&Xz{ lDVij|N=x({trN6$7)E`y̲7MK:A VQp0}GⲼĠW!:ţI$СnAe9XR$cd>KYgwe2u/\5JI$Y!7XV,r;}ڜxGrc6$g#z9gnS鹗\V^`F +G-S,n{C#w|I|fTӗ@' 7h7 $|A |ۏYy,M$`_ ԪOh׉ckGQpuup 4Dq[':b5[iⰵIin0CArX ѥL>n:^m38q9fRPSC'OӤ0oG<TMLN1ASu)C$9Fyc(2CD^$D(_ Q42fX 3)KUX6hX{\MNI?4bdmqv羕jDWlF%u:IjgюCǫɍ]TNW 6vci\kVCs8bcY'bNd /~nin׍XcDhN4/)PxV)!huc(8>SR:T[[=qj iJENS >B3 ЖV4?.~ۡ<ɝ̨2c3-4罴~mN V3df͍^MI˻zQK shTܗHXC\+F&\|H:V7I/<"l_]Yk" z}&2V+$`4HF8OQ L>vcMy%\Xzƞ6J B9#q*b YH :RxE/)8؃<2Csy9`Q`2`b6wև"dzes6B\AZ_l49sxWgֿG:ˏ,,‰5 ?B9pȔɺ0Ƭ/YԐo]DY_CD 7Z/i`P²HOXdG* _(k~{3~>i &=PAo2vk{_x;Vwy}}{I}|cJLjqp;RIT%NtRGMBdKWps̘fJ㢫RUHm~Ի%5`Ik5T¨3;$}@NDS YL])#ǝ ?$E_<;;>x'&ULnU|sc(@ߦcFAv)Kh5S=E#` cnOajf1:R|+^0_7)K!I"_]QWZ#8^%U Ʋ_<%",H </}i<'7 㹨p;9Hmj]:ǁ[X-+`[[H哌X\(B0cI&.Si%`*amFNy8SߌJqa]7a`(VD^] ;Btq s!jRqt ʧ>0>_aaECj8WuS |fg_D+ ̅Sť}2z(ϗ64VU˪yJ!מ5Y9(GvȟunyT/'h>#n"X/ô^#'~L/R Ju&uItڒ ג줍omp+nH}9Y3^:ھu ^ N-vkf5hwZ4/p}/5VK Z>e`(y &K\{U l+*4s &rF0I=G +ȗ;СkmP&ƀ[ȍXBdnRØ `ͺ 2QzrdNHR'}0}XkC%ˉ%T a*SQ7!G Pw8|oǚOh`P\ #>&]f{Ez<~s:DlpFkK68F8TfFm3TJ>E3u,޶NN.a[-l #.K= x'CĜXݍr)GJ! .~_;btʿ%71tl=M2Tf= [U|Uo49k Bt?Q-Zk2áe18C^q$܅ )v=Zf\*AKvWhNM5|;D`X+&c/b Ϫ`e`J^tXQv3X[/MQ@/%e|?RՠVČC^I/+c_uȅ>4A4O4;(Tʐ |1cb_9*Tb^)іEJ;!caUV2r^mFnF[ Vx EU:qqQbwrn PRsre)O (sR'Vc!)=[| PIm~g}D؊6?rؑܜ `/"D Aa}fSMN,pNb:V??gytM,7Aĥ-'ބJJ~;MQo_cS2^cBJ@"!!pZ^Fi0Z4 U8"Jݗ65DK Q1 (x 2&4QwÏɪPGl&QJ,pΧtrA4RjmDu݃TJo-}?^.ZN&l;a&W?e_7$q]Nd@GCkQIFB t־\<]_Ndpܱ-pY&\n^H.=`fLIO; ] ylkpx]ǥ!! qZ~)ch }{3Fn')vge+(,DI%qݒ '?L{gyw^tcGΝ?\\" D P ~I*8&#h5jve,$"l|G;-pNn\:g b?D7!Œ4h5!<}%Ц\H9ʎWG C!)y/Z2$Ս.Q0С=]y\e0_R<UG&R)g12ȳ4f1,7q XtQ<ɅPKsl1_Їqri㥆JW &s9n3݉^;\ 9YJOŇ 2l6a^h;~ץD4 [ac7_>SlnTk%ȨmAN˕8ab[ 2=ǹ퟈P-Jfғ'SZ7g$`IxwH e<:UsGˇnX:N`hxλƠQ=އHxP^2pbݝʵ/5F\Z,B#Ի iu2wQpl4*m۪^]n*m2ǩig\mII$j)\֔V Vy7%aA;ZUw#:p2ҞPG w_y3^a* Z=7\&w5+hLTߐSIU,0L׀9/MN#ҹG>*#}|? Wl4ٰ$-OUmyL*QQlG=#U7:KޕFubc=SeJJszn1TT%ߧKR)Yh87RF[gpp[e8| zm%;3b{SSG VCߺ&nlj)_=q6<Sx*xX)Zu -40$}-9fj y5s~`)Ӿ^̳N]4XlìS[e.'q96]yQlAL\,u5j }6zJ+ՙJ@m4yh2lR'D?nGS }Y&6̳\lyLؿ$ ټ1.gv2@P 7]'Yg opSYK˔񨎱RW ]$KpgXMBnnn ˎsW[3VMȤvAeizoԚ`Jlh18VnʂX̵LGc4 q3&w2ΐfEu˜E%GBjNc=~wizCW6)iğP[u k<tCֲ=[C6^@ E0 Kr9L4 }{"Zg٤aRGd撆 _;m̥X;i'^mܛ[5/ @&eucn+gLjp]2Ng?<s (c؟u;J+oB o MnjUB^G)?&I[hrFgM䳂^Jꚢed+^SAJ_ʗq1<q8g'SŅ7aűF`l+6"!^)oCȹA"T(Y|#I|LOpA:04ӵ`:Zu:~7ǪVK=Οث)?YH=CgaқꮺRXfz)s .Rw&g[BCX^!5uk=5j Bʾ咥GeV&K\8e1:A;NvZdJe t CN1:s}{Ş )w~E7IQ;+W#(wZ -gLB61pm"~l?kik\y 2a6\^]k -eLq(nPCo<Kmޛp=.7QE4z IŻ%GKM章+ //DȜޤ@UCYi$XkClѤ|@1'</fBVmSM&;E#>r˫:>+f]E\ :2n*\Z ?\rj~ei `<4Zp7:*_e,o]!dvK}^?63giBVTUsvwZ[ iޘĞePtYbO o0tNW%`F:u)s33I볓;P`bǤyB0b=V8s@QKw2hpS+2]ȆrP#]{GOiaKE@?e*Ab+T'*8}Bb.#P׊a4PML;>>."ks渤:8E$;9֥hȼ]r*O!PLWeE)VŇʋ:PzITZ/tWDY0 Ov N`HJ9L =GӹK*]LK)̤q4M %D2Z4KB$M 갨uisJTeݹq!g+ڡD#l걦LE/K+..^= jC̹j&GLW~OfQpۡ)ч'@#/<7:g9!" 4Gj.QWVb(AG{;?%I-Rls*ۭ =&ޅHM {dыv Ƨ&h$%^)}STJ~_w- SdsJtJЪ/>wT˔ԁZL AyǙwJQϞEK-ADрĵkDGT"X_mxP4„3@qo:VE8%G_^%Mʰ˧4'll )镎"rpJr)'1VSkׯ$Vgy'67[OȆ+E+0BrL:34X|Qn{;< ^;jo*AhՌ4h,^c;;b׍4dP ^}򭫔L*<=?mNg^ӈ7J+ۅt 4j#v^A? kIϨ Y<|o:H0B NRdIUz\/D\V2t5u*B;S!U^UkzTj 8ܱu|[ݷWD7|Huܓ8-Pɮq%gs`%Q1){}"Fd gyBPbvbFgjc5N[5BgdOAy4rv'% ӞT2QMLnr2F)akk7rO= qWߡеQEbIboq`H{˧S!(-Htݭ/,Pu;٘r*ּխؒi$zUjҊЖd>)"t2xZ')쉕kxOUvh`YVA++F RmhC; Z5zhYVf? +qv*aK& z9&[h:꧱4WF?ڏG``'i0JcYVe.37hV&$`r:9Cu@'*t*2V7x|JyQw֗Oר:1 5~PFZj4zϵIHlrZ eIMT&"Z]8:c4KqU4o⵻]ii$ T ҅h27KCb$|gydFZ%0#dxA_ևz\l9Q6S4gKE/no.DКtCȽbق)27;%1ʙnݝN?:V{K40<FJo\)}EC٦@N+rP&']b7@|,GSRAby[G*nSlUs*+c !|wo8U;ad|*PUB;݈N;QNJ՚ͽ _Jާ feCƨR\"5S-\_Y:i"qv3c'!ٿFn MdU՛Dd459w?{3Q^T}NNwYQ,}+'{}1Un es *e8\(Cꆔ'WqȵhE[[jw$QlI3FE%vb쁸 fv٧SnKh0չLm~IH7ʛtXaBqAP#(=jawHeR7;6jlYx(a7+o%h~ <%tA];SEPU2qؐ\bS8ՊeY;*p ˬh4, s}l@[!'h=9eڦv`aN ޸* PVh{s*nŧ]뀾>T;qHq ;/bw6:nҊ#ewi /+]g6ϤW::hloS#3Y+V)湘 z@~!(=%*IJHiw9lh{QshyduO+~M,@2 e\,]k)raoOZ GR7%8t5F&` ޹3p'AJnZ.EY /j3;8E(.=NPW@Q3~S|KŃWsܕFHL0%"0a] A8êr[%=70T rhc參]caak)UQ\i~a=9Qܜ90TΩy`ӯ\]L{RRgu*ǝJ:lX:UT74c&.@nQ"=HR !ÔXc%}ǧ{RgAnGb!e??vS 5X1V {޳DrH|@y 4mHu+>m^o',˲ Yiמ:^ #U T VQNxem|~O$:β/|ޛj}bցl+IBGx\INT %jC-c^"^15Faf`\γ3?rr+66lTA&TX-mŷ"892Qh}pu ~UGOq1nRQMG+<6 N0g7[ٴ;l?Z.euPnaofP^u-nB󒺆Is1|tA׼^٘5;Vx, i&|̫O'(S9o[ k,~ <fL3unhn=: TYڜZ;o-'iʦԅѵԕ5,r2MЈI4S$@xEziÕ~yU1xm8eWU"xiNw`**]J8|ʻiŜx<,xLFFԉ0I&!45ޢ_)(Rjx-ӛCs֛BkGo7r%T{H @ EZk/OHaAЦϤzpY֧`TpCe4g})}샃ϟOStXX R@ JʕQVJi\0NeX|BN\^k57b 0kipTdDpWUIEjI oE|mh u:ꃼʠbM /m̡媾4ܷ3==ޣQuYDi;Df G+ Y@CElծc(옃~݊N؏_$jE:dHu=A ^+=Z]r0Q1KH17Ư٨)/4xg6n3+g}[f,$=-uZmN,@b-& Bw:T#UxnJgDnpAA;)O)}*q J ri%ں2/%Z«iOE۫jv$G@dGh3ceӃ I ªwR@]|^:i LI_! C{3m%H XeΚéUgvJ#[ FeAR5ѐ3s{[j{5{sͥvy+xx㝖`W:.VLhདྷZ4J)5+!vi:(Iȶ$QA|RH0/ 51!*=Qa}-D!#>]@Mc:Ъ68,y~H=hdёjc]f[z)Xd7\WDSH{`tᆆ8drҬ.[)uub?#L P2TA 4٘"2~[hg@]L'tn>~u.:Toy1G]?Cc7ת7j-~s?׉<9MRGc4`(kӎ[+4&{{t=kL=A?e-c)|(`JԖ=eV0I *UEД1Z@'isdMfe3%J"5Y~O:>+c&fF7m\7FwYcfsWUicvMh#H*:I,Be Rd޽͇jR[_c#49 2ctu%_L6 H+dӇc'E&Fr:* SnO_')O˨N78`3΋Vְr2YTAn&5q֧v=#Զ3ŁuJҷN PHC[B_4!#|L=iF1!ã~s%Q4U DiqCAjvFk;]ɘxxUDSsZhzӯ9v֒>8u&[HW4:}.b\8QxVqhߘlaD4ݲRdi=G >b9,Z_A|&Rǣ8aUBJ;I4𷺰pimzZxc@ށo< ʬV [#?Msʝv*W/Wl5]^V҉8 #gXN^R2;(7D<|l܇P$pa&w3{iͭ]!;(zRNL\a[KݪpA.2#@c_|l앑`MdƨM˱iG >y+^:^** U*Nr;Dӭj&Ef{gGTQ-T4braU]eD)AE^:;:7 #O#s-FQ+f1U*D04oڀCY$6Tv} OWljJ~]JxXy|ʵNFEZ~su" -.řtqk vRؚ53tCH%$7Jv\6δ:CQ5oZ(:(VbTaʹCc x9@]xvdYrוSO % ! nH$9d*[r3Po@%SWyp"ބE$) ˗;l>ll#1p\ᓒG}c!]*&x&sp}7I\R(WQAoy8R ,[gT>^R8)Ztq̀N~h!|٤G46 '6)lWzt'ܚ|9`%^,U]^{$h>84 :Je$'c:CDv(ǜ?lL V>'(Aeq{타Rμ'C$p>I]}EQlɺQěg隗Tx,}[VP&))&yDPmlF_FT|;ޞaY|@[.'#_߬emzwkb7~MOJ{zHi9s5+e)ƞ-+ zi[ }Ԟ8 N7r!ux`EQ]3e3IEQlH:"c;9xC<=}ik c{m ;ayټ#F}Dܵ +Zf[C ǵ5_]MތGHKA6CkA;`@rh6wEtvfհ4G#X ?Hl׫SQs9ǎhHv+(=ز .t_p*&̜Y-ݫ{4*32t7gV63Jҽ={=1 } LiAПϲ'j>S#q>NZ3e#`_W(azWǎ/w4UuDћaŃ`3w|<@xƆQ+9e-#8OJʀ]J4%nd@f؄=#`}>e>7xݗ&tʣթID!T:l _,3ʮљ׆fg'ż;MF~kʔBTߑԬiB{4QHɶxgiSXq\a.2ٯTOþSC֣|*  O=@`*]1b 5nrI}"%ӵhh.uk OWM:1uF4+&pUdf*f)SދB꯵8|hѻ9љl=EI:L(x~{:2Gvk~GgvY rQ'|omF!M)?-VCfv#3a.B I?N$xJmi WY6"",^*e(SE"p~y<Ly?|Ea1>۶] fG}uy50C9 'ԓܕ$l2> =f3P>izh,n9/t`JJz b&[oڻ.~H'O.9z ͢,]eICmpWn6/~Do( CB>=Hsp_RffG({ZRٔ6W{XcunЭ?<4] gh F>O;ȍv&ɘqjGL^yӫ' *+8ˤ8jY巰Y~6ϭH Zǣ&\6TVC;@!+Y:)gvR_ |[jw$ 'fYyT\r-弛2ÈfJ[),m~jը^=T%됽 ]vRCKݯ8w9uçfAӢWlE<ëhE^};1u))2'>TƎj08 f-31~tC[,P7U:MDr*Uܾ3fTRc w>T"FA.!^ -ıHHxl]<_YW #wQ$Ѷfa>Pvc/ )}\C$NceH)2Ik%㣛7}\tɡS r?isb(e]J/Ph(2ngFY~TrrO T:#KƁ»dfv+}|3{#\D @Ov2('tcq':?VyOk`Ot*>b|;ς)WՔ(IhCKj3-A^e[m06K4<" c|a?ma`uϹ{G0hYӡ_QΆF9n\d')~Icљ:^6sy:D^U:]"T$M%\`Zҕ1gge/U/ j7quOĮ]E U+dZ}s.pXX?E w& ^o^,5JZ[9̢k o[ q뿕,TH4.5#渧',7DŽ-Dsij`r3+bulSnF35݂J2FZn7*jLԾlpkrOkP^v|6 ӽ'HF*JRXNxbszcߝ~JwWݗuƥQ-S,Jq6ly +$yOs#AoJ:pP$Yt?B<&aM]3T@< hR9#fO8vC[]~z06"ZʏJE~Vwѳ6(=M{u_~JXwJ!B*j2"mZb跤Iʼj¡8Gzǽn.uNl3=;`u6@&9z!\ENrNUMh(߫^keWՎx&lh7]jF<gz_2*G\gG.pH}6\LCĜP*Y2'8Ft8e0q%R)51@^wp}|($h5l'qRUt(1z:Bá hsd"Q\2xtG&5^C6o}'=Ȕm,3cTt) '>XڭJ1c^uѾT IS\^qbfV5Ч)GA覡)FDQJ#L޳* Ųഝ^o\ [P&SaN IF\v U. EVC PBZaf+,Q EU4 SqY9r kGt?&u̇R]qTzKtPc9m$j), u$R;Z~%FFrTQ mD-A^+9}[qtBi9:֫{R>(t6tRvޥ EA !Tu̹ ||>JK-$5c dR Nnґc "6FݏHH מ?wXY~QȃjLT NR/Ihj}YLUrf$c(lAwh*nWDVi6'#Nb W}V`%p&9^ }9PL03ތQ++4B}u )"lQ?drݎxdeUt 7_!45vx'c׾8a&}=қ^:H+v]1*0i8i2L(|uS~/#}ifwD\ laRStrtg/adYQ;fRP\a+{k?!Q,i.2_o7†ipᡜpbjG:0tecvOCλ'R)TZ@JvW(isCRaob uX?I.{0 6,`*{?@=_^{ȏS14^FI9$eV^"1rs9 K֋t;g4+ՋDdG-~ǻDO"Pf|n3aq;P+4=&E/,VC # 6Wc˼?v_ah&ʹ3م)@}Ldԭ"E\8j|j 8 8'XCҝ!`ekJvIjߋfV`ޛH dʇhhde?Ondv>}?U*#J;_4O>Y򝶴Xƞ;'>+W{wu=#^ h+y\LG`E3cwyTʩ2g :aUdIRq(ZGY]43My׎ " 2X{7Ss֨B~Y4Qɖ*BZuݾrL[=I^w§D-o.uD4 F:d۱* n}cJdkQ$ֳ~=3W$P(^#%shH흪~OGv. 1ItE:yT:JWԾs/C ׶I"*Md,U,/$t 0袉SgEkZR}^.&}? b)ΖF]:Jqكi7E .R1JNCE eru^#L*drֱ} іl'KN8Er:"Ɏn/?gF29a).JL7oFhCmL`dE~Hʡ~_9' k^R4s2 ž  N$*q17U~|6eGzGŇ}^7/c2v8AJRL e7sJh"bZٸXD7pəIO;ޏR+=W3;\T(uҊ WyP97:1 QLڬa]F @JiVt't>me^]zEv xU$bgQ9 ИnNYCMa$āGSQnŠդF'(#A#QjTvp]~]:q ^Q$܄ Bl=Qͼ+ςοݹfB&a}}FF{h3GPXR%+FVܟ>Bzg%DGeU[} j2 YWP8v3LNvs)[4Jk߽חӸO[Bᚊ {l_oF*y%̓o 8~so5L:7yXxP4Da&:n &^|VF*rڔMmD`ϴdh8H3[y=e<6}ayB8*|֒ GD Kdi:]Qv,nFr6o`۶TW ۳sA`>!Ca#6ͨ`м-4kQcڜ ;}!S<2) d4ҕY;5/P_Ͼ9e_@$o7S#$\ywLsN[59?>:KRJ&ؑt"7')uhӺǍ8_3[3_X:$tA<&oܶFD̀qDŏ<% F+?\11G'qԜVI{M"hoF >!.yw2:Cu +$LM+s}^oDc!9sß6 UJҠ$ChڏIKZ0M{ipN9 vgDTZ,&V6Qڭ>DY͕LbmC*G8iyZRw9;!h4Rpa~~ǞZ7;K]^g%~=uvxFBU#u@,N{#z;RdJHl dޑh l[ym>;PW|-*EEȍҧ3)VD/az >@q*?lyGǸ+ \*n+7>Y i+4ZS$ $KDGS Nc#BNB > |: 6G@hNZ$@u\6{SF7Z xugDg3sp/I rm9'l詃7:ՖŻ]9ۼqK/̔"BYXNoſstYf<ዔSPGB٨W&McE]w<5;_zn*A^DBڗ1Q0D qZs՞oXNIs~l%ެGǫ)kt^ق#7鬒MʿBKa 5h2Ro"pR#i0S2\$|bjۇYe*66~\5++Y𳏱,e"j枩`ԀxK29C=Q>ҥ/u*KI!nGn /D(񎾠-tGSM[m}:d(SDmG9)9ϛqޢ3"Fy㝪E=_0ndXn)nyxw2  9ea1ӠNȣ5jA+G1#VZc8&ks]Y>9|'ӴPK9~#T巍&&IT-^Jzht#t9'r39g B;)ג,v=hAhPǫr\QeyՐN-eoJmP048Zd[)cx;[[\ic:X6ՃБ: enRZ(Nv.QcS#d'Vʎ__{\QD͏#NBmsrfH*0O{x U]S oQP-xȻofd3aA e$F'kǮ=0~L@ AV$ɘͰw_*a5jRb ݍ#A*qb=i(uRkF H_-7߉+Ӛ>뮼uϩ2W3oآKSu'K6Ue[e=<<97Wx>P&enŅ=Ǚb1UHil9 ǺA$]%PU6|jw6\F mCn/a+aǓEU!>1bB֟ຬR@@j-wz4UE]/>L\A߸T6whmp̡a_ax2OlZ5zP% 8X҃Ƕjy>[K<#?we^ܚsc44Gl; HZR9v'DX@f9"dR&Cag3X!@r.: :ʎzJ !?wlUZ^# S^}npkN"]G3t,{  ﵎iR-)+CPpLUHXfz#}^s=*4Vӑ(M:j;5t6oWeogG\ no&n/4K8>/ǸD%oRإSITD'毑QjkKE#Pړd{ 49nѶd'Sz^{{vE6i!qͤU{Ȥy낇;<&(Jtk% N@߹ߤcJ,jխ"LxWQ;X涃5c0&dpRNQ8NGT|=b%+/z V7E``9{DVHf#>IzmωTfTSM[0D^~4#g9bسr%?u6lwVyUy_U)_6G ir^DUMyEڶO;TDڱ19)8Yη]Ns4yp19A">F ,*AfyB,{&jC4x+:y%.-DG˵Ti6M^1 4!QWR8Gԑޔ2Xƚrm%ߍ-&i8Jތ=[y5c=V3-j}2i.d}OL:`ePN0HݶpNf7fCn3),jCb!덈G,(5F` {QK&D~KC9]WMT -k?t!*( /O#@bۍIK9ȴV2!6 .쏘W 8m+$Ծ` Jrz:8Q1uw,qגj4GE1n =o ?39 (RuԻgn!ކb,{ϼep72V栟]bKP@drTxV%<5fXއ%Ri xl6Oz[!s *FBZ",Y&Jo$2VJ1Qsi1I$\".{d}bH)9AI8?5td{'/uO )#} 茢{8C{cv6[EIX|%AA%0xs+B0ʘѯ=f#qZb شG#aˇ 4߳wdL)JHvi#g8= CK!O2!zUu># pYM1ԟld Й=Vs_V1h.NjR+Cs?=ǽ*NU:[$4 1qvmC jv=1̆GQT3~V;h#n:8 np'R/P"fD lH6i:sd2:7zҶ>9֞q X-E+Q"KdHbdD)pNo]@8H]CG}w-J!gܘn96SJ.OOnEfFŹCPu5O\{o ~nPƸQsh1'n~s^ƿc[6T:/IXOtY"T-5mT=L"O*jDgg\~R| k zםsyݛ,vwSܒntt;v#FlR& )FR zy6+~TFyK_Et^eFKQթLo~29~N_^"ٱ͂$1:ʅoOlTY׵7kiZ?D04h~fsCW111+cu8>ͣP r@V9f1mgb+l( 3gޛLN dp_3W^5LָpbH_PfxƵ$<,>UerX+PLRYmGtv8 q6Zy9Npd#n02h L$DWb-py| }Qͺ7'ɵtqt!9A…R6C|enuϕĩsձK:rڀVo,)7>"nM{O9WSnz}b_kԐr\>|(k| 0M+ϽEfSiH8SS[|<8(l}>88O@iݤZ4"Grή2jXlfl+vfwYOi6|替dfo@>ĝ%Sc%o+\B'ىJ0w6֏uKԺΓwtVe']cT>76Kűekl vPHl,K5/e~K!c|TI7y n^I;A͡*q 9 "#A%&dsvQZ;(B̚AیmnO1h('g}HE)a#,B AN˭0Z%!_3; ,(hjerwY: z0VIEMfHK0G# 6W,.)Λ1Tb;{[5x(>ğrܿHtcrVW[cpߙl;). -TPf1f{m%sm*F E̮S4O f;gREqSEƛ͆ty'(`r j͵?{V˶ 7^UL&eDaxmZX#LlUCQ71܌I4)%2%i+^8 GZnmtT'Q ۜW|Dz{=5}ٶҁ{ɐRђDF;Z%sg17v ;" L#.2S PB)at v)~ME?Q؞bP\KLT'[cLòc=:, N`l w)?$ (d9cFc3eӦ̞CId)\F~,/wpC<)Mk{Qўmh!S=D^j WoόϦ|e+R.-aRV#nےr[fxh'1š= fm cb$ZU. Q3n`ywv\)Jf*xCyK4j\[ҝ wxC ЛG1畃cWNm`sylmcf5Plpwɫ$Ŧ0rMPkw›j$o79q ͚@C)?>D%BC`b݇K;^2,O&Tq]MVL6`V 7tk:z%ZdcR-I#'A'9\IFOF vXuvOՅD(sVZ;KqښCLE&n%j S~xX )n!R6''>ˎE||5,?DL%}63 $yelPtob͙):t0` qD \ q`q2Qyj\uF(w7++i)oS@J]יsg6x-s\aZA 8_)al-AzaQxI^&^cBz^hRƑwD:bq6?l6mLlH4< =e$ʇT 5?ѕ<Е90[ r6(81*ߘȞ!%tiEҖ^L)?7c2eSV 7wIDdXGhX.6Ԇ24N3h`~IVk>wM! _Zbhu:!fc n&dtc(xB9^>zA9J >1`3Hpˊ]B)&O8p DU=GeRu<=+2G`F2Bs,nn!]@\n !.VFY(.Qс=`''[̟OZ&i>Cۊu+ OPW.mKOǽ"eI<% 72>]e"ǂ'0Vg]"ͩ\$r"RF1+] t7d(|Y*`9K'A>fSb%F+v̊i; MfNlJgF.ڈ=hCUFH6WxÊCUYS<,@J oK'W(|W$UlPE cM[@NPSk)'Scd)bTxT]Ro6u_rUN\e=*Nc89;sD]H6 \ȢU]mHmM/c$`궊zen-Ƅi#\m;JNO'gQi: o#o*~j(.:"+KbirDՐeH(; `wnW':/݉j^ {H5HcqV1MnҚ\D{.Wŧe;GYb%67BqCqNC52Oxds t"w!Z^)c8ӡD0C|/Pn9I/nesiA. !pڠVxKKȎr@~Fqpf?JGőe@/yoIZ7,nFlf^T9,7Ĕ0-B>>RxdmVlU|4CH2)/p*GSwaV1 Q߀FD)|ŀ/jy GwjSK GWNE3k\*򓙺:tW&awW*Kx-ٚ:4'ǰqqd+d_S!g034M)v*83h4DEI+6fd#KX+ ΐ@,]%܁3-9 ?q ;7W?9%H6@ގ|g'| 9,۾ŜJ,rܸ;fE{>!Q{G7.<}3_|\K7/R1Pezw> nyQSj GE<='[[mUz͇fUaV4pΌ]ciWvΙ c֘K ` ٺ.e :Zd2:wC#씇 Cb%?Qxy;~)ÄNFz8Vh$݁1 U2w5G$Ե#곾+ޥ{O&T.D46% DrIwG`I{.jy]聴]]+Y9>7^ߏ !__holE?:itf&^s)ȜMif]QtcǚLZh8XԱdpѾ2=݂nRyuf⤂aI٘ښH&)=eSӽʅ Dܧٯe°1Z.r~QBQ3YP"w[n8co;^C[D(֥t|H*m}5FJ՝XsD&Y&| q{pTs =m>3J/,yZRiB1e ga i!x.e:ak՝:ּjtW%_(-8I C\&TP }Cib:̣3u@e?ŃIZ0 ~E'3L;SPNg?@ Nš9l(ɢ0~")!ǧLE߼ yB_;ү נ睃8kc)}ŒXCžWqʀŭ-`M+PZz3rqK1+%|2;Mcъՠi|l`\VP,2HxNFq\`@їk`RTiWGҋ:੭J</,nfBIz~hK̷>NSXaUzcCT;g,QZ-43;HUJ=EJM5v`<4%Wh|Wɦ^-u픲WaKj]R$rπ%GLwDEqf CW_*F XaȬb{G&JޞSvӲ笑i&W/5RIoKe"^us 5.p;4W6b @S}*?6)1zDdCmM ea/%IA{4Ǵil͈J/Dg^P t z6OB;JΙ+RgoNWu[B%nkUz?nNM6uiƚp ;P.um<fpHsYq[6kO KJoGaQϴΙn:tO9 }ނfBDuۧP+uóehǎJHIw&v PncMb\#) )܎ΧɆ oz[F <op4 f0PեEC=Rr\?Q>m8 P2p #&ZKb9kdn4sx,K{3'#qHEfIO+3h6}v*})҇R6R%Ҕn>jd9`5h-qrmZ!7%#PeI]+bqP=0n6sFrpS26α2Յ Q\xLypn7VVʾ=%j^I1 O)m1 /Wt1Yv˅6 h [PeLgeFj*V2GsDX$Q 7kZ$^YuL^2G!`\(f |-Rjʩ9~}T3Mv.ے,ǮQ2݅yz}'&5#g!)E4ZՕiWwC< ΁=z!pt%ɳwV ,'ByY Z26\EIÀ."G-=8^aD_LL#u~M2[psf}t*)_ӿ{׈ O$b >^]Lj[6&Dfnu krf*Cro%{&vf*Cpwͺξjc6Gj'Y (jSI,Tm*ja~V%~YT&ێd9J?R\&/;R DdlJWP]>}~*D.8Ii8У9l⹽fmuy.)#g%M2Z57[8+K#- utGMpS<1_Z5M$ǗS`;]:k>NZ<=9p&)w@kxnS6J_g.I{{(y=WR^lM!ޯ̙ 殴һr`;7'is5C|OLq]OLӗt- T1sV7u9HfU~eǕS,(VD!Ĵϱ`yEiF&*&I0zT,Պ8op5~m~ʳ=p"o;ZS_)[AyJ+EK-?EI2L\9Xw2 )j6Vge}P%5&q?#rFk"8v j Ґ^h$e"eYXTu"o*M|W6̾*z2F;!=-Ti4~[+Gvzrt2mCηYMBTEG%xO<5/pnyjAl. 6_G;4"} yڣj ՕMJK-3z0tH^ ,[ #93YJ k,OQCU=Kh雉  \:p̫7b56L)h,l8`f,Z%$#0괻j(|#;ܱ`SZMh&h`[j((K4qgo4Gr/=g(54t{GIm@U@~u-Afw$UNw^W잦妺h`cVY68'E]DI TUaq4]39Ħ<3׺ !Koo1H'7A=2{r0ŪE^߄EX>ӉRR72\{/+Us#lRUikH=lJ`Brz::6yN~PeP|t6fSГԫR`5Gcؾ]Q9,5ѱF=ZфrE 2D5h&K&;Gn rX3qMU zpnS|zaij G-GE5(_M>l|iodEۻ=yвj{ #Yr= Ws&RFtEBuȗ{2&(yn3J :iUq} KCSA=誗g>LHr dEߟ^A E4.sp{݁%YoYb=| zXIޡ{YOڵ BO[W8gg_X0 {L{M,+KCaVǔw]Sxr=GR}S%픓 ZYT>sT+ÐD*;j&7U@ڠ !(J"b^T)!U`)ewǼ1 'l)1[|U=LfCҼ>nBX: ]S}/<Xƞ=0Odѫ cQ ɄtK)L}ve=4B|W9V!dMyƙ+/ ھgvgLVo8J&唪_OZ׈ʎ*3!N26xWeS{Aш dPi0 d\sO_o 5_{Cw,g M樽~ڡC _VN'^ނA'+"pQd^WBʝQAg6$Ӌ%m߹VfAУq#17S&Es9iM(zgZrxu<H[SXr$֯D{=#Pc[ٷIO>`֜}14ڨ IPb|:qYF9%) GXGE2r2l*`?R:j6bYnp4cV {?x AdÿmjCu~R/K-rriD*$h'r^Ԧۗ9R4/ۘ@My?_^_c:?c+-@ *TquKM DȞ k4MoG&r|E0xp(5o芈un^VE;gJ6"*ZuIeK)5 ?OQ:khU%Z3aqɜM9֕= Y:Wq֍v>\g fx^^ԢnEa/n'\s8tQd2M&En5W8@kBAWެz rF}޷:tWNZ1` Q<Y#sVzm mxmERP5~CQ,m~qql"m!@6W 3Q-7 2VqЬY":\v痔sQf!ތt /ag쏛Y#O.[nޕ)' INL1v19L9̼ҥ"`t&FUFlJ]o Fl Tr ̴[]5G U7ND%qd'B]R4(bIeFL89Y۪q16WtNBJ>@MT;2H<\l*`/ y}5Ga &0DY{^(P| Gr ^ێӲ֞.)tO]nc7JuD$9CVvKnl?$do n*p~h S@W5>WQ{#. ե)c\7F8'3E?<37ķȔ )8rv@wrYWX,۠"RϹ:$#{O"=LȦKf_KC HH QڗG5p1kvJMG)q}N= (CZGGk,?mA~#jK=۠ӄbRq$e:`Ӓ,z6~ٕ|FC7iiV:f&0ͫǢe?#hHP2Bkϑ̴ Skv>/)3{s(^+(cs;4-ΐ:R.;_MHxG| am~e`>3=ogZ]%^kUDVPjafr2NLdD>M  :ɮ,|U3v9zi(kѰcWN7qHx SN|4[[!  ]kD h*iav!Kxofi<]xN=>dO:Ԗ*KIJxxA7p3HŦk4%c'y>~j,.C٭9er>*3L^*!H[o&0N0#1bJP?^s(nrziD$V<0T]]sC#شd]f\ٿBB+_G69Ȍ61-b57zZӨd>0X-Ǔ;]餳[L`=ka}j}@WGaB&AR:Wc $x/+dv(VNwx7ʬ&l/JhfϹM>ѩQMKfȵ1Z Pu`>`iSGcbX);:MP.y3k:ʂH>`d[KGTJ9.FDlb>ߍp$HLčɸnZq TGiW99Y': oOg][D$>%nn*4!I1AD+ŮԄV|8[/a=1ѣQnLxӵu0tT.:Jz}Vԡ #=JY wB Lr P=sa-AFq2(e;TTQH\w"Zr!D҆&2^ &zVq1{tKc{"%Bd I;dyVwp\J];{ƛI6V_Hxu-'pGc'/F"أbTk,&crlMp!+7d]P7^.Ȕ&W/,,X-^BƇ3Wx6*}M'#dOQ7'lIh-;Ǡ`' *<ljR?^;N'60ڃus1AޖY *zZPS_`Tt\EшR ;T(8[;BKԒujL+%.8`1\;kF{h~q0mL\+GHԯBb3[Mf%µ;Ɋ#U 448"(fm`s/8yC~\B@@t3aE<k+)_^b`ÞMg3Mf9QvUsHtuӂk}?p ,dQWv5r ! sXs[Hzp҈[_1hPIf\@i6h痨a#B[k^\R.SxO&JT[?-\ M ̤_U4K%vRBi:W7JTqc +LC7q|OTO|K ]'Gnq lg$cٜ|=dmN|\T(N'IKZd RE ipƼhAk8!!;%K9͢(f7k:vY{ˇ~}>#,ƎXzTESؑVtqEiEUNBO5h ;[xkte5 \ݸtPL;ݙḃ8|pZxί%(iи$;;p{ vE6Q:Vڽ/&}NӱJ<93$H/&nuj`}yD=b78=$k; rz*}"s66F^d?;sJeq5{t@I|M^_ʲ괐epa ?cAk s6% ߍ% j>:sb7ywsš6ZwꚀʝ:ʛUF fl@c(/Fg9$K|i_l7T|fhSb;pź] ˡD{8W*+*v !K_2cϒaoFգj^mJIPTP%Erb}yXaE޲b~AI S+`#P0e#,v8~׭=dRy:x; kCؿB o5XtHC ;!7yjID\gǜB{[u]_9-2‚rJ)K]}Xm8_f3aG!]bcBA [2(je>2Dc:^xGCq̙u |Shր22SNA Ʃl'ό9}fy|̆iaiLY1wDڪFẬķ"-42 'ԭgŸδ_>ڨli"6P"!KO@0[p[WnI.BλeQQXLL9qyh`K,qMu^GuЂy/J K)#^ 3,VOcI,dYU"#@Na̔nX<>5^+,1Pe3Ytq),wV<΃E;5yب'+s1@dL_a&  /H~g`=Vus~(*$EnMk (kIahW1.e6|CUEigcɨ9O@U364!վ:a]+.('b!)H}XΆܞG (4-\"}D:1",ZbɞUU [+9ۍq"}H;JsJ!Q;=~!ޒ;e&%ɰ-W,B 0ļmه|mrr* uWm9mA0)[riEs*WTU? ^a25 H)K!aؚvL** {l~i<+opB0]4mvQQULDFfLaB*J"e@G*T5G&޳Js}c{Eܓz%R|.t*}Џ_'>*er!'*,|)EDP:%;)(## sIėR|VVazUsX}MCDҞp&T}yR\ nZ&rq:ulΣuVYNz %ރ[mr>e%{{:[ka c ('b?H߹'bl|m q -kr!9sݿ[`&'x2ltyooGеF !)Hݳ^"π_q^9qu$1JHl-pQ5v烴>$'&S />&7g>@7N^v%~'i ym+i)9€;چ>ƅ2 (pъqoN#%R^s=Wnl#3A}UB^N%q.8{v^ \k*GcWNѧrouW-\OUD4 *((޾h1n͉#9夅kV-t^J|Xi,*+8坊@ .點4efS1 |m*6^hH//a`k[i+Br`Smc^ؿPfS<)(+^(obDBN?GyW'la]kƉ|i Ըd鯠0eb|$O)xl!|Kt9q.Re>Lǡ"Egp6`oIE;Mj+.5L~ŭksjq`.7|+r,cudhGJZ?h('{_[Cݧb:s-(+$nI 9t{Djykqvn r dL"Ϧwl O,\G< oE͍m͸p d!-cȝ.*d;H }UǵD TG2zW[>M&yDeyI=7>(t#V튖=1DT(/B~AXѤ}ݥXALfbB)*F2he͵rL_'8,#}C{3NaVsh*TaV(@7}j_*Q"%/3G̼ru Ƽ9 !`YTJ-gQ([+mA|ť=|By (WX+Dk(cu${!KF/89Җ &4(7CovWZC&i_ HWwm>!4,ȚEl~omN#,OƁ UvBAXוB\nXEYTujDm7\dQ?JOPWNT/ HM)RZޞT)5xzG|oPKG7:)_T$I+:h$0}+HGqq2}3X#\'ow$df@@R&zX 6*NJdi67P{3gbSװ{]BtЉ3:Y%0$nMvG6hY&pFL窉AIHG;Ы(69OJ[p[G Z=*aYcdٰ]¨=('< ͪ`B;gYF,ef([EΏB-_7e1yp HG=g"eY-j q `6I֫{| =v,&kKJa)&kKe6~!yRkPpƻndZmJmYQh:[D|WKWC9|s⊷،SšWn>ґ܊x<$P6˾:x՝vXת}GCĒ_)H{tEvxn+ldYX6^X!`Vhv#hN$>-/hBꀉ=eKM!&?t꜈Ѷ5/CenѬOˤO`8^EܓVg:^)7n 3'~^@}q&-i_"ӽdc㍍6W0S@Q34`^Cc,czjK:cGnڔ9zĞK 1ʹwIlFVOucT=Tڕ"ULcXx-t." %krr9ی50^ȅ@s؆ @1T^&VPEmB7=Iu մJxʴ Z~ʵ^9flɲȽ׾*ot=fq+ѠqٯF|&_xsEknt7)ǮLwD(#jk O0jn bPǭ$4Sy-XN7hGoy3g%n͐4L>2q6YN zΝ,GlY]T37}]mG  ^X'y:VY~OtT+zFΉVW stlyw ̸8lkGTLA,ѱo?nbR;Uspx1gIDC 3X׾J< 1?mxʊ[lx=#[v]FEIMoE@hg@x\]y]YFi"G=P>{J:ϒ=:9zN[S 1?"ɑ@bG1ݮ(U%NE_E0feY~'2^P@K}_O\rǭ5oTtHh30_LsNCj)˵O7+j}amW#f4FnF@̈́?VD6I΁^OHȷGg*m[e~ ޸R!: vog.Mem- oIæ}]me_Ԑ 2gX2Ĉ/fL(M7kc߁zjcNJC$;}wB a*93yGSJv)F I5G_*/]w'!j/xR ñ&d ˣ[;ocl5l c7@NW㫝 %4鸩Ҩ)Vsun+st(vP#2kgK8BT 2%#9ՍͻX B* Su$3*THD3A%wW?)+8ZL狃uѬwyV :DֲIR;h~_[gq DimAWt2k6LZnV {Gi uI?X4ފ+}bAQzD4>+(gm1 #ٯ[xꙋz;n<$hlXcab9Ƅ[Y1Ь`[ ˟ZqNPQN^`&%mA((4Rf8<,TL⅌d%e*#[񩜢I `bA[ȌXU> 9r%Gs!uXp:3rm6-PzܞC99:AJ-;f;tւ:gmJ&FƿiwDjԫ\qG`Uc@WsA(4Zuő*!s#s J/@n;d\?n4 `̴Tߎpj'Ƥ59h|cՎX\Kz)Q cOW-K~/ a{fO_]=NSߍuhFJgb-JF=pyU#OQ^37cVr|`Aw YFp$Pȶ Mb^[;ϧSp=d(k`S$o|G#wm$xF _kh2.3҅הRZ *hm:W[E:cQ6E\kRjxxI^ޗd զWG,Y=z:0F&K[l!Nfd:2gSMl|tUKA}mKg\WE&1;lKyУSzxwd%jZ\m{Բ=S(֔ծ=o='[ kHWMV( Rr%;6S,Cμ#t2[Q1:km0FnX;ו|3VD=bUn`V;gPcޒoDJШ$Ջ@HC(G 5@gZɪe?HRܶr6^W圿efPa?#Q;S<+A  yG/2SI8Se5eFNQ{Tz["Pp)2~hD==sR@LɤFrM8]hsQfBV*#eMBٚpl\Zn"YVRG{-!"3[mibUe-^@O-t܊5w&#iF5yڛBDZs 6ۣ&GF^K*Kb^-Ǣ! nq(Fjs~5VԐD#EμNQY:T~ ;Êg7ڹ {kdS|90HIaxek=}Yv4{uki )RK>Yg`ޡ{QѕP(XQqShlW!$&Ns~'jZKOL9q]rWv3Bz `%WYFbaUΩɺ+ړBb-* ?'lqG6._G 3>~OC[LZr)@`wBm1{o#S 8DnPkED}5WTR<T[ԯ3QC&f%9fRJIdhW |09@m`DE5V5ցBs˥NCu,?Bwp#lqv\z:pFn3o,ҥM"EB-s;sPځ:bW RR{OjKW8RrYf/6(-o"NtR6+QSU_ds1G`\$ 8 v}nJMLa4DX./v>F{ѼX$Q3-]+? v?u$"-u:Oqum 'y:I^8Ra=򻹻[As'(cf6z2uQHd8XI#ǨB)ըJZn~z >v|Zg / =+FJ<4O4)N8AUP\+0˼'cm)YĮKGmfihL;0#):&cڴ^k%_V:s xGmLr#¹B,=^ju>Mgy4nzv1B <P3p>=U)`^BǍ¦~{{R,L~xwPHdAX;[ZN_jvgSB9mME ɸΘ^'@1 sj_s"uurJĨat. p#n.QQE-X&J.qKIO L;fs "m>+R>! *kH:^\s)>5?]T`15Թ=)E\nj٬Mzڛ]DZ\~GeoekQ~Boa^6n"{f~H6ߐcP6baXݷev|zs%\<ǴTR[%7t'KV Z&0(!e"P%6L@dꚩy#orOʹ]QKH? l0hDkm Xw=oxB *>NϦnevYȤF:EFJ]GB +82͆o&AG x =$cG|^ʉv1ˬ]l*D$:LiIquOhͫB aTS<:iddE9>qo(޶k{~ 7%%QlZis]Fsk#抁T'w?ݱƵ(9ba(E 4Lf=PJJa*8TZ l[/RWx0i!,z +CFc{Q:KQ2Ta^RcKz~2>@T QQ*$%qDf|CymCޕ>:l\hxMU1+fJ=s`yGjDߺ_`ڨEFQޝ>ӗ3$d:A\43zNAh4pʬiWEcֱH~U(Yz`CْZKh_?z[v8F|g ȐbP0<[Vpp&,kqPNZ z 4,Ks*8 G̩cjVtf&YΆ&neI_Yj2RfGE޳vVHhU`0ɩ9;tǕ Lixoֽo (TJ$z@wc78U"~=: 9P-2Ꮹ7Z|9 L%$cODlhs^kN_L&%A"ďM1~?لkT@UFx﴾]#Bs.Uʶ3H\.~c_aO6#%aH&mM] m/;#Eye[]Bb5ҶqUYsl;Oczc?+W`EG3s8rӕx0\@$OSJ "2'EWͿbH9Wjp1Ɲs?8 ?G}[V$B^vrYN39uvcOa=@3HO;pjyOt<(5.'*Q*9JvN=楨<~kBCawQhky6?qR轱F'J10$yts?鮌TTjU ;xȉZ}RQbOuC Gc_I0AcQh\0mܓ)4ɜ:U|ek4SOL|,"R4W߻3ψY=xE?QW `#cf;CJҎGJRԲT@,L! +cNJ"(y+ٯ\* m6;!}¥f+6tV$/l2V:CMaA$8}-8AO|T|kc~=~ZNS[ [d}v D @_ll6Uow5 mh_*biQ1A)-tǓ\op9fn1(F5>m@Mn oZTH/ؑ^SG'ҤuNAJj>o~Ǽk7F&Q6K#Na1Kw;)U0cuRX!d6h+֗w:=@0&h9EC<*oTSUCl3 G vx@J$F rIEEwDbE z[еy!% \ee ]V cL!Z=EՏ. 2 @@-Nnzs&N6Y_ڞ!C\ 1!c#NF~vsqdFŽ28xnA0+cX<@=oT^ǟVTGkbBr~{ewlj ;O%ws;~2ҶlRL= Xq4Y-6% ή` 5\%P1<9VL(%Q5Fc7%)KbJ'#ۖ}2`A=0nq WqA Eg UOeA^#tw1LN֛1vh]zbw tQm֥ur4^:ŧ"Tֺ Oi*z=_O[P8n'+$*UuXsp qPn]IzÆ,1JN6-R 8h2FZܛk8 =.h4|eBpĭ$OulC;7 ʳW^Ao!Hۉ,nq5HmθQ%L]RW1V&4855wKc/E]-8t܈>*+` ( LNє30mtG3PILX&5+[lV X6!G7īė kΎ;-*e*Q1r{8(--0R:){RGJI7mDږ3ZqZ=;7 x'63fi,S u9jd:ٟVD]#83ll .e{tO6'2ި56U0r+x27: A,j;+ +۹SST8*P@~g\y}kw{95w,zn}tG{ W]E`=꟝0| LnykUUA\ TTL( m}DJM 5N"Xs!EJumCfPh?4~9*b/x`J/xH1~,yRzHDF`aEη_Gױ}IAs4< 6(Ry!y6Y$*$h]ĐDr{Jݙ+ yTkL)͘w} MfX;PgwyqfovH+]@J0؅)|P.錡vM2WQzVY 0O]k`Nῂ1eC}3gףex44>~U{BN+:Q}!XR0<"xo=<[7*ACW9ٗ?m¡䴆_9AH#3I8s-Lb3DgØQ'&-ʨu^"& {w]p6ƄęA*Lg9tׅ5oɜeb~9}2ֻB <^e&*Ŋ­}3Q4c,wGm_aMY,% ω XH(bM"4N=&WMʩN8C4 9rK[b9,zXOI(4M9Q x0Ê>*~}yL-r 4*ˉeWu/' >JJ~@G+߱ ђntZ[@?T"5[m3L=Y:]@Fp]s'@5^VyKX*=(87bn"'g}e'iI\fֹ 0>Ȯ*W)0z*ثuD@EMʦFlXekN s P1ך X2_:Nh)Ge9 d![~.uvߒc,&T+0Ҕ$VA6f@bf66.iܥ'ؘD(82(2NZ8/rTS QrN0Szw1Eg*eMk6JH;ҩU͞Y[Fqh ;Ѥ<+-JK\32ѷ ;\flk: SƫaW{m>Đa eDב4 @0 l`%&צ:9ՕGpvl녬~}Zk5f>x2)^Bȍ(߁ ;&y/y/=y"F [U,ÏKȚF1 rpYg0˚D2NYwVKX]WIf. bv#RF\nj 5 Gz.+kE܁b -LCft4j꾬{ %:zD0O$|gzmpBI}}J8J_ǁM15")6W1N+|z fr."LkN \z&t nLFF[OJy!PgҔF'DOL9fɶ)a GR{l?nɮL6Ƿ,x ײqT-#(ΧS賒Y67}UN,H+uB+@i3k$HVَ$lkD6G#N;ocno|nゾGX0N(ۻS 3; !p}QƎ!t,{2/Vi*~vRʑIŹcٲ]xC<薳ٯafȄ'uKwF3KRjP12@xi[sjCZq(~Vx?ۯ䏶;%;lK !&v&պz:t1pcEzG55VEQk0+MqGs|JwF"w1uGGXr>cv:&%K}RHr}\:)j=$5cy>տKyFXp:NNɵ|-N2w^6 6z|mFK#St>KqH:TXWWK6Хmٿ ɍ RVj:+"c~uA ƋIo ڏĻ`$FMr2 O2 4F#aA1nCuM{ܭAesLmTlHx VxFGY*I(_P@yKS¯Dt?uOi2Vjvh_q:M^dSsPGiM`װ7m}cP]3&q:])kV.w{:7EZe=o+#&VY%#B)sNJ6,ͅPuHi TRou{?QYrVQSzבr+{A]LXD{q3h;fXK Gʣ: g뙷Z/p`yAGfktE&Z3T(^bZ0ߤY$p;Hδ0h/h kG#n>o:8&8"_P|}N+DܷBUTe_VQ=ʙ5MF=yWZ}\gTZy F.X|ں1C67=Dm >f?mz*ENVYAh<{G ߤ~ `9Tϟ%ȯ ^ ?$ݕo8[A]R87 d)DВs)(8NR\>l{'w) %ʱnQe-UqGkG`uugfy *-6㈅l` 63iHs 2L cY>S{M2HUAٚص+ =b׏Wn6u85 fa(ӆ(6CӖxW^BAl^T !6ބo&GsۅNX2pQx$69\eq=7_(QOPd3΢waKƇ"?(VN?u64\u [햼F7wdxàƳQgiځAgٶ~ޚ<|׻[KXD) # w8fqlAl eHfJ`iR̶>) L̉!2يM'(꛽ղ7ȝUD e7Zmb)Z.,lLF1xIUʸvv3S Ef5Sڏ>UԶH/B(#ǭF4@J{uI>>j]Zy/D.ѓ?gsUlt5}Ui+_s/SMҙre(ɵ (.>.U6͆a/Sw5w6sI~mMJ:H/JX[+q#N(|K݉2ȍu:pc35!oiy  wSvS/bHnʓkIAnS7OWǨԱ( MYԛHDzqoWNs !U'؜yt\t)ʐ&v{gaM"WKEY-qy&rhu J mi*9z?'8k$'Js5)h50{?p[$tr$]x~ᓥ Y,G􆅵ZSJ.BVLOuǢj)MP vgtF-p!hy55Q9Qu)#?޵_n0.7X*REIR?^0|G1{ׅ]53"7(K4{ QJ{,6nRWwL/KN|.VSAl#@Ka(I0 3` N޻; Xb]H3r36>ʕ$jD믟"S[J]\B(qDX$6cJeI?E9 IF>Hh]ԟ33}|Fe_~#Q+gBDs9!nu%18V4Sr"PU>N\)*JmfkJzʋjmti^^Vx( ɑEjmxM[ =jHz'+}'c!UWA r,JƔ6cn婁@^Zm/g)uY𒕬6>ja0*!,8YTir8pk82V*M4 pM'56mwzM Tv)E2VUTET+om_S1YWlUscjk[!?"4Wh:TD؀׸R%bT$-ɴ7a- ;} SxS&p€:nYuDObi: PD4,Ս7mmx_쀼b[*Lu.c/Ki|4{gpOw)IMCcsahiKS7SM4/,װzΛ+!\=p#u[1WVٯ!-1Q.nM3 .ϻrc;r3Po.ۭ!*DG8{/N X.bCI(3ivi9 X m(o}qw}= y ԿFAE[;DhUWy*+CSF%1S4nR:'H֖1FR_>CBcV[MkL=/n69vqun vP$4Y+M1-K!c)]r1!olO*Ј.Y#whK5Y_VK}: Ūq+?h@YZsǵEz״ssdoVR"NܺM]t*ʆע]^&UD^}]nm;{[?g}˶iV!@%tEx1)h|V7#p6$JIWēJ19KKI:WJ"[e'bNOT7 ZnRdf<Q~Ɓɽ쏸GӑBf7hx2p"ݭ{9'δyӕbe7,|;1+Owԉr:nguoGSuE5Ӌ.HЗUg ͻŔԙOO `;:׬*!';_~=lF$n>~$ْ,֘9)%ؤ.dȇ:s!Ld Y^dNxԚs3fxNm]6gD^ ^ 72wk""H4ɬƅɵ 8OQNHM'owpHѾLt8bNzJ̯a`ŎF-O!_º߹F mQ/aK+p5+m A,JfL-fQ\\QJOlՇ-y&ksFHW:ITeeȯ ƲWUb6Vt~gfQ+6W%M! 'zt+c& ~.H4jE0u2;m7~gתv9.Gjֵ]CzLl~]s|Slxz8ZQ5cIo̘1nj/HmEfw\3?]0}3^83' (eӎW+Ecpi" Qv!iev4B=-Ӎ%@"uq?.W&۷#X1|}U^DeU"9 dh-qx1ǒ=TTDs]?3uKRRUTQӣ9(Ic W֌)>3:³:K؝8Tl+/9PHT 4*Ow1\ؼ,4 08<"䍫;(B!WRcShWu&ESW'j@WY=x8b =%o{7/ QĻ2qXbỸ3 {l|)1xc|N}$s)Vћv-v*vqWfҚa2cCw8ƹlX2DEFtxܳ|[]j'' xkoN BgTGp6xgZՊv"䍟n^WsoJ`-FזM50}de[5u"T3kITg+OH'=,ydQȮ!M/i4(WW]B}YՀ!:Ab!"7Oz:k36ndAO^GаAX7Ҭ\3B' Wg[@0# PG ,QӸHVNQ.a[R&Uܸܪ;[ZqZ&;O)Iq6x=_/y4 ]flc1YH4]'҅@8g"]8%Leh6SL:6zP&ŝw bۮ4V62p6XiRF4feQ{["ycc6H`aqYe rJkVP\DM*yy{Y5fTDĘ#Xr5+FTܩ6vCZVA3E:@vLo*[Q8raBo+#fe\nN` `_˧M zS6=hxu]޴̈1ڔѷZrTu]7An.:Db X?WJ93JitJ`Еuat`3DvRv)GY/ r3RØ|A_]Ґ8Jv@QvgPYM%AR*Z=;AQ"# ֋rytIyN3c϶qG˪kM;~?hv:V`=Pd*Ɏ]b9*mh y{`*O3n˨dfRcF`(L|ȃh29n 㷕<2D%~`XFY}R kF.,KKkPK j镢|Dg;-okh S`ho_cVʿI"岪%t?U`PXp)niw t?a|8RJ: B;ur n,P]!Թ&e\+86~s_gd/#j1Z0Z1F/P I4[͌JXX桲.U8q-T_"U.= dɺF.S|M殮\I'l;hC3mA,0Gk$3NERH^dWO Yx۽х_.+2G8tk6U([:Ժ\e `.FIg"Ť$[,mO-Me7NjGggDpx^+tTx4 'x ܴ b'8RѣgB _fѕ,$`JȓZ4-bAG*AġuTj[ܨzJ r -1qt~HXiZ + TSJZs#4'o E ( \Hl:;3gjܦ -so= :>!)NycmU ApJs>? פ)Al1Na 7J'CioZGhe-x$p( #:uUO;tܼrhhAX>~IWDT bjJ7T.N54Xu\{c#J__iv."OVRR]ko 5 TMDw,4*}%d0bBd.bbs:t=STRz:BDiQޞ^ɉCf<" 'zZ`6kȲn;aa/lᠾ.W7+Neq{AW}Ήر~HwsF [@U67R eƮxѓB ?Œ$t0%%X ֤)=T]T!6pa%/s\y[]˼WCΥzMcifJۮ AVq)9*? Rdžy ]sG/6!0_ND1x52(Lq`okUA%U2mVo3M2nՓ2ظ wOJӃǀj27p*\w!Ah0G` %[qRD^p*N"TCDN)jJh9ؐѸG9OO{ ;[ĴM#:97[Y&r **NN7q_Y@&ýsv'KAڨVGh`S'i݋ӷP7/єXeFbdlEUp\uB.1oIɾkڄ523vLUyb|~=4(& F -Hf:F[a@:w6b@BJM?\sf{1bhW}QEOYU _ʧ "r:Fֺ>Ĥ5h |L5eEM<v6 l>n#S6XTI`^9Jc#. E!͒~;GrIH_~(eiҊWnOAҗAY3 &)7JkXYK|VQ/~V`5KEiQקs<Vh5nx}i5ZcmhPq- kqJGO ϙo3)gx@[<9ۧst O#'RLy_hAl`'8nE1ABxtOγq*:#M], 2MR,e?ӃHg|b(7Zv*l.=J[:+ťqwsV\Mg2;'Hkiid#V'_X\[_݀䳘]PGvp2dM`2&9Y=Ƛ>QqcӗA\^œYErnV>s j!bDbY:Q߶a{AbIb&}Z=gMH>è'ƄBli"n'h4C<5Ut }2JD,ޣLJ*ITBI-h?Ln !VHhyXP+`D7M:J'q5u.;9juNۭElU!Tå5Wv?~Gʰ]w};6cjZrUjF$8Nv+ 6ܟ{>PR>&>72u hϳ-*3/~GM絍8~W"PgvEg-R;%@|m`8o`dOyD*ݼe"" Ogp9No}_]:ٜ:JTYL=\E\oǮW2*Qy3aK9KϽG{/ 8d䐛 鬊e@Qqg38ikŜ"r+c<(Yo?=4~1Xl?kXY4- [}3uFa$W$ۯL'ơpk(ij 4^vq Z[ـeqSB3Dl`~v$cF~2m87vC JSf\~2XY^(}1񔗡 j|~O`MPƅۯzf# v:k>fj㯯8_d{|/4mTWBDz|~tެk7Fu75tTKm kWaхI2t#1XwM4Um$qHUW `&VtɰKCMȖx2Y.㓊 MOʄ0a d@[* .aZ]ٍWm# [/diDг " } !-,fݰ'G?Hh.ݩ"o[hNdYY[qS=FC%2;h;hb=2Wtt?ybͬ0N}(ݒ"{#:-Ka#Rq;B"p{LZL #dt6+# S[%Ɲ1FSl2``g̅\fP\by'*uYd+A2/φ>|!urйz:GA$6IUKb7ƿ$06k@h&RިX2H%{ >&tP?MٹHA.mBܹiZvLQS*V 6Ra?xvf,ƦTj sR1>yB9MQ #KW-0Evverk%$08EerZ:@>v>%:veiu;1koZ])vP=6Reb| W";IAb5"(hP<:rYY/1Q1g{>z':U̎6'EZZAV1 頱^g|Rs l&:##*FF  '8̦D Tц4 ؛M:XCwgZuaY@(iY eZ|:쬼vh= 5I54ϰ*A1n 20lz(&-9hHTBw'\uJ dDo?s1k >դWp#J q~E;y%hﳟ'.pgp ..{1{ŵnO-˳,2)LQ.ԁx+{nU7iТRYnMo2(QQ($V`aLMWp[R ׌7neږ&zz_fR,)ey^ eЄĩ{H8BBdwը@Xe\`ZG`;63'uKΘD.O^-·!k]YϜ&gĶ&-D%(ԅk?ti}XX[7^-ߔi~m)XOs۹ɔTloi\x;~Ry%#:\$ܖ62|eT'%wrǬ!5=..JH^bpS%Cͽ J:fy~6+mmP"B[FJ-q/c g0z@Z« o^'Dpstjc/q BٕKǺ6KC]Q@=6>toE-M;{Њ':Gi욥tNћHVWg⛝J٧BW@y5(Ues䗺Powx5d 5lV$ cAx:h Z7Lcف!Yp:) fOReou솊ȳlX]>G'{;uȣS{#~uўxO~8s>& Dl43m v+62-:jZ =>(^⡱s4F 1Y,Z'K-ڍ--`](@ jׁC,3/`HY-1%2ڿuGb!wl$tj4(C ^]Ck`T A$una}Tʅa˽5KșEXLa,r.""]qBh$B BE 'Zޚm=B U^+ {M87D@wNXszR}D9y \ LMnm_@Zl7$H4W*U*[zl6T<FF^/^ēv*`=+J[.pD!FGeǩC״]ʍG8Bob4HD?vo ,MCT) 9g$䇊mI2}ڬ "VJJGp98GW)(x C_?^A/#-5Xdc.࡛w<2V)C?Q6:ef^"Sۈ\W7LBk!;IEĎsyQ u]y"1=ԓxfXCnaEXLJ lQn*,di`hlHQ&]X/`O=Դ1|a>>x@W &șV0땬1 ͧFJҖS?!h#p45 5*/Tx)uýq0 1EjªWl- " |ԯRi_h",S**#*ǵpp%s-mEr&M쒃 MffS^Jd[VႩ؀0i)(mҁc&ر"GE,o3J0׽tX7+-zgHplUw!iU ;\Wdj7Z"NSKTcړ 7a:T{Pxz; ) y"(C#!# }7$׍4JHFR#߂(ok[D_ȎĢZ{?g-1"uhi@ $[i{D96ܶ{\6(2#"RGL[P:#l!.<94eQ4ϲ%H5<_~J~dd1R.ω,RP-6>І+hHUm N/-%FHx:3@.{w"v5{Yk%B?Fl8!j-zgX-YTV}I{=aO . xNI)BG;x=/h?GS -f;ֶ✴>"K\+*:b9[Sw5Q]Ŝ9E#&UO8~(фUEk~kZ]3S$mџ* ,V6Ш *ms3/1_S I*)5$Mh$e@ͲS(ɜWQEPLkah:g}5yx!ɣ.pwM AV66!uu㰋qʊ_Wռ9uU"+p|6_A<&UHnnhZ?nQșO xU/?*0jkׯܘ7Iă"Iҧ?mp7u F`5IɅf{33%fðPmԓao<Z61y1Y]+@A)OʇZ-QΚKl: !H=H>(0aEX|m`+\=]!*9R┃Tɺ%+ҲES53q|iF+t[+);r@{(񟷦cG[ZW$$׈Do}gA^ki 8H1KHG44*RzQ8'l]?ިMG]WŴXS@UN3.0k:`arUT:(=hfGyfAG 0WNT_:Wx@L{A :>zu@';_?;c`Y3qmܢněE=8J/É?bun{~>yuoVJMnHA|Dis_1,O[SeԇR %*x^e`5PqI{WDdy&q' U~ίdu: f>L i}OO;,{xsvYmcxjQ9 .Hs2@ӀiO\L92|)NMV9MbLeCSJgӅ|NW;K\?eeG$\E/:1ޘ՟2|!KN8uJiݽu ҹ^Kbg1bZeDlOy),SXF9#lG {C S[ ze/.K&a}Մ(M9'q,ԢLǺyo adMޔ_2vSq.3 O:ﭒmО1RɤN+*%X_8.m!d*#Ջ3Qܟ3{hŽ[ dOl)1NWUnF!HE4okuy,jQ~Qj 5yiP[xbqr[>)S/6_R`w'T9آ{SKp[ArKUĹ{y4WugұVLEFoԵH+\ȟI+z7Q#SWy%A0 'A`1rӽlK6/ .9^hhME䠭~[WLv̸'%bPB3޹*0:+}n&8{̇KY'p:KTs.h?U$0.ڱ*HӦCrM =\ "heLZ7Nꢤ4߈L\;s}/׈ ڦ#H˘#FQV*1N[M/ GYlDw k/{x0̘csia30L#+'vCSG QJ6z^à*JΥZ~6+8E^ 9R0s(q#sM̓gbx{ mC:V˦e`n% _Y~ /Q|a8-) }7*,xŸ1U彔 р߉2%;Cr76GA_=\&CeTT~++RvcY>>y07aB91n%8JLܕ2͋ RX#(;9g2%Zp|s 5ǛbIZ> 7)06I4|8^&<<'ō~#w.RakI-[3֭t-"}ߵs,5b?/^#(Ӌqd|V߂2"ęJF4T;re܁Pׯ4xv؝!᳙jOOj9eaVҵms:s =n沒^;[|u'}45-5.6p'X,:䒑V@Q2T IÞzg> %FPvxmJ"y%#Uܪג^y(z ®+~gUIx;V[玃%jrU59Pk{~3UаaTPKWX1QdH),"ގexlty!UY>!}DgdYX r,֗JmbȆ{]pJ<)>N$jf};/J`^Pa6W 7hEF$JѾgόZx_r|ƇH.|| $"y `nlG_v&ž$4~>:b}.R:L$[B :v{V9u1,2KvH0uL5!-sW 7B\Xefl{FUHX+5=t qhbC>f"^y/Wp}wQ%Fcy5ϋ+g qSZ:ͦ;'U!{T4-}q;> ,I|[X<:Ix߯#7UTo3gh8VWckrþ@$e(9!4S)b[zVn{0AfHxv$U?(C_(~'$Jb,l@atP>{HϏ0B^c+X0:X'җj;*1!$[)@d'Tj{w,Oצ ME֪>͠'Mp Zf`Lf2Y*TY(Ry a>|ttoh+ƀ8og@2gnF'ҕp9ZQ^YuC&2~ >9kǤWu&RlDP jF܀콕`JV,I )u_8rݮ25N 5_pr9w&[ڹ*5$ фb;x]fr(V5u{wSU񿪜j860lYPO˥9ِ#Ȼ# @Uͧ:|1=&FMaƟhX[|&78=u}\No@ؾrLAGt2ޜMgv1waV}'p Ȏb-6R?f ҚBO fZ"vrN+dύPE'}Nb͠nIa7^w9(oz9~mk=h-!6.:L@DSvB8O#Fv.?`|V{}BGKmr`hi 3d;:BX!-]KQv),UYO=46QbeVaXFlۏz- 7dyN[D7rۮW]TOA+=lJ~S"PGBswҭuAK)10@Eg籣eGYD0BlNʋS^xl<_Ժ*O0UwӢ?=73_qtnM܀qLGQ'K[?'r3*XEf- B变5|WYdl7bkI`I(95:+(l;iXɒ{UM""iԌk#eqUq{ ɴ 1;X:v&0fٳb #\uf p\$S&ԛbp''g\1" BoOyn 7o[\${މc[ܗ7V5 5d_+UԎ$I~~<D[lA.)LzK&'4*(#$ͤz+A2i Tz-a8~-0R|߹IbT_Vp/MWqB<}T3<1o+ԬJL̘h@ӻ,yel8T oAi%TY0BW,]P^޲_ZEwitB1L*wF i<6L/TMI#gExɦ= k ?4d=l('=IoHSV!z iBLv;E^\!:qfv~WI;8#4:sVm'UUKY٢`-GV\jU>1uZgT.KU0L?p= *ZIZy-Նixʂ CE9%[ck¬_-.yKOԑ,4kFxxp Y&*n.+nk+Oe D!֧KmkF/ vO97=<Єr'-o /ˋ2zKcEQ C%X#9s+Cܐ4OQ3饓JX28餹52@waKFXi(ȡxY"=ܥ_$mce8f>Wa;B0<Sa_r s@M]ߔ{Apnzr(+X}aDYw$#M!:XMK!j)~fɧu/j0u{$MWE8DȺARٱ$UߗFY3\*g'Q8t>Y's) 4'.2%:˅ у[>8DVEbL(tT Li1 Fȍ02`ց`^'vkrqF*CӚd *1Nl:N&jǎr|.zc" eC@: hCQJtNT 1R&Ԙ!sZ7Pe6dŇWWD˱MR;xDݜ{7Q%a+Ç$+b^m%&n:\cUb&sLlVcY0*vrQn8c*?6V U>WsscdP q>-3[ 4ltg3 #[+cNЦM'Y"2d|,lDpYCzO8تi<廸2 I>F)=Bomt3qi#h>84GAڻbG>+9f!<񾵒yn*N*~=[O:D>~R?5Ci&.7n3CLug +*CyS b4[V?jn6ܥ:sD !QA%g$}K/I;`cX'XuȜHh2ۑ9ޫqCISC(_G -$g\K[xrV.塸M*bPrq:WqFʖɼw8A䂱i HʅtsAVPBE7 @23Szm@sNr.;Bۗ>k%9p=t{vCҖܼ4Bp5Ǻm0KC+&- [Jd^Ҍu<`X;4n.7NGx>y|}yrva5M3~[VރȽqdW:R{v|Q P8;IK+nѕTDu^|$|M-YQ<<0CHO!. WW 1*檩K6m2)`k%tgQN[!5C(J){ V(!E\CD>r"d] {j e8{!ͧ+׎p7(SR8 aO|WnClMT;k ]i ^S?ᵉ$.y" :ߢd{w.Wu(J! w=G&24x2MB.=@6poL&aJ}L%aKeJ/: ^aC%?Ff F\1*.mzKaٯ'i2 2o)aO⨪:{5Pi[dJ6 7tb[dHb":Rga}z6=`9o_g`|m w" 48noQAf~r+ޔXNh-we-dV Pү 'ׄK:W*[0uiߴuW;6>§(oǮc*,я3qQq/o*z7Njtdx4GH%Jt5x4FXF(a1dPq.`Rܳ#l!jfuW-pWvx<T׉z40dyeMz'Чs. &3BC\۵CLيw*ka.Ka) G 6Ĉ*P%_s^ ^q#M%%r<0kR"+Nq#NEH)g0_-ʉ•p$5ւHvyZzU~jX^>kԀ)8ڔ2\뻆UKsA[ٰINRʖoKK.)ܯ07WlJb"mRFd 2Q%4,$kT)(RYLW_Rѷ2cS+򟺍3+ 2Ɠ6sg96/JTf:rS\;VNYх(/sGU.'y: 14b1|/դrөRO n W/VE3>S TU'31.o2zcSE@l]M/ڇI*zZ%p[P"֭$pW+D ~ O.dnS4'k(0܈ ¹ȥdژUXHVG,Nͦy_춍 DHa9(4 *Bb18@X96JXb60l9 )` ! NSxc oW )v֛9dӂ$:BOT2D@s\*nQZb$<6>lЙ¦~P#С͐0liv`rK6I BNt禿}XhÛl7适6 xX S $8$wUbPhy H{ qtQXB=)y#uôa3\b*h 7AD1dhb͖y PDF6Zf[ dxk4ޔRXN{ir3s9:$\BϡURA+5Sq`nP$)%Pyi|)`-oT#EªEe$}}ӽ +P-'ЛVظUWZ.e:PVƎM ]蟫W;7;x[ Bo:_n'y9/bD{EIK'hk9;UFnުp93&'f7S >*7mrFο'jNwfWH$< ׮ڋА}Y Zum(B2t_yAy!n\9$!O ^XDVloo  3mZ' S;h;! . _WngS$_ׄVJyp:H寪SҀ)ƫM9W J٥v(Ȁ[G1$r{^|"։{Ckf-pۊHS*JC企v-r36nhT eP<%ܤx5јZ V+گųD4lw;oěچhz|-˹k.t+gm2."F^Xǭ+ΙMֱ=jM79Z $ѽ%ßIhv gn\rbJwl\Sf >B;['(7-CƁ]U5~#YR-ƳrђO1y!~Y3>D zB6$i xk)#WgƥN\Wquy@45[[ߧIqzs}뇳ddJi$)UAg~K9 OM2orpk P_ғ1J^EG.)EѠZt|\4[S U@d;Hjy xlj hL#sD"0FMjݷCܠr qh HBKmVvbI1i~3)߭Ly$i/rv(6~ρ9SunF)t  x.ǘW@cUXNY}bq^ra{2a8l+.!vbӘEM|S\ t;k/vFK+Glm:dP+BW(k.%a4ɘ~'DRE[GS'U tt0^*ߜ) r!͑^;k ʤH&T᪯cZ ) iPj%K!Zlkһmic Eqgw\8T!&?)5cM7L;\ѻMT5‡3B)BU$ìlQңs%MoCeeN"Z㿗2OWq9oIRބĬO#ANcSZ^\'55_zI/9$@l4pj" n*`` 3oZ mŰon_ :cFd2f9jm9a2o"uER ᜇhE"D NXl,.eI#Lj6WVNГ=!ٌQ#teIZsg(Dsk9~JLvu +w׆kNyIAN&95Rˌ\nQe܂9&gOm>)oU&T/n ,sY{ n5އ km>1Wq*bbrBէ-;Xx\6LZ$}BfG5 lF1: i0 L0IsW_8+t@da˖‹4y|Nx֚Fi_9{'nt˄$Sd=ݷ[]&H 0%S`*>S~\<mayK`?jsSYTv uW)R@o9_һ9Gw2d[J>O%ΔVX?4ʻXdT i]bXi;`yjSأ'Ɏ?q讳Aj*wlJ)q^9RwWf>RQK^;IjB}kl& D pzn8G!mļ *Z#,/3Q)K&PkO[<0ass{dZ(P~ Hg^N6y%]#ߖEXRgiD;u/NT 0S[:Sv@ǿop\XT؉ qdJ>d]Q֥o1yɤyHz.i ]ЎL#BIœbi!\!ҜUxZ 6CY:5q .FxO*T]Ցׅ;3AoFD pxDӢDfØ?zI+V&fμc" zS# 1 \Τ k|%@MznZ*mnAĕm5N\vqۦUMzZ-=s`'q̽׷XN%2 :^TO{}|ԉиW{Ԋ(e9(pbtm`ƉQh\GPuɌ^_#_FP/KUym'CTתtٞOuv2Sh>&09K({+d X^Ͷv3w1[obʖ5X kR(mf|hG˔W9Zf#)侜Q@FRݥh1ͥHvd '%?;*g9qEs70J۲z"z< wΊ  ;ɛ[]/OT}Qm+Rq2rT3+֔y`P$\=cq ~'dwJC(`v'^(C#sP}(cdzzcCqH{2s`l3C*%k#qކK?ڙ>''gc~,P`mp qϿ8?U_zfNS xy]gd@%!s|qM.)(U v굛h4p3[NYm{-Dڹ_0?^iqwE,"SFpP(GnX%C ^*/f tHkWKOQ$#e a"0J"\gZ!fɶٯ JeV[źLtT% SzJQYv~&k fWq688z8&9 +dsxw_ePlVe4`41<"BSxO4.;ldyt829XMBяa'bAGcHkӛLsS\m̭O]U%U.W?ZvHpIF;T,.pMZ{mqS%lo>񺢏6q7nCi+%So־Kos[tB1vOk?"i meH@Dj'y]$QB[;)T~. ux-n|C 6Jͺ:GP1-D1f)R{~EYN ,%RSr8%zxDC"Ú#ueO"1FYdHR%r#x3[9r ,ƬWZNLѼh4C }*lޮ!l{xQ\Uڟl/uזzFU[7Z# ۨׄHsbnH]u҈~AFuQwu=*v漈q~] djqA8ߝqcQ%ЭϦCaV׶4aNk*@.,(}2ȾL#̦Ga9#( j_=aY [i3x #}Ko}trv9.D(n=yCH!_Gy&uTn=vn]Y.:{4_::8SL YILX< ;O`+ԥ #W<(Ify˓ԙk:06 ?РZAdt@y]ý'Nw41HTiF>z[t5zYN*jWkh{/Wsesa(u"IRt2JZ앺L}E \U(8];\rR9ThMuՙ3cd V{2${aYob\U*oi[CDk!RZXՕ.0SIzm q=#DC%u|ϑO#pHI-7{ Oe0?kzRYع@w<>8J 92<)Y? }JƁnOk\YU>Sz?U:k{U*/ L'z0S: YiiZ&-7R=N*  ?˹$Ϻì mRc{߻j|Rt$qaZ_Q+KV 0Y' |?lb)ŢƉ{"ξ{=$Hv: :X,C'<G-Hn`N-zy2wsmp6kC$;7.i &s.Ebz:j9szz5`:潦eC%[j h(bꊞ'zW _w!yniAL#+F0=9{=-|+0ٛf)FVޖ_D>j$m;6ڴ51"wsbV%㲨@ůg!# X>Ա*5&Hc qPq̡u*X$xh'8Vɾdq-S?Z AjT O$򱀰Lx,y 0:PNp{fcJ)MÇ6%,݉YOsY7Cg¬Q/Ga=sDLڭˑfA9 dGtޯAscE)~dG`hZ e,50P Q $IY+pZ={j.4Cajc>w<X72i)k,]Մ6FjlܘJ8.fҵɑ*a{HDKҨzgh#v1s=ۣ\]d ZUt.|*\(Y wF,Q%џ#7g˗0 4 +LLGMs/oFB`>ǯbq?_d8dX6a3y<8lV KIz_?pzV\'m$ Ǩl96\^!ȊT&7ЂgD_xcW/aih'd&YtjZYR( (2G3}fsBou7&)0 W.\4[њX' Qjv'瘕$sXyouBm`JUWs  Ӏz4 w92!2WN [^Y]ttjàUi3Wm_D0,fb6;L k]Nqs(c4,J%ma}eSxwNY7y9(K!dvYFԠ%LPg-%6Le&]yHS6jDF'ŒێqLv?!(Uy^Ӊ:աYv^8Ntq́\h& #}.|E:).d VF{w[7!rjlFy-p!3_h ^Q2ۍ{1J>2`WIxJYH@Uk3o6@NL.FDZ6∷5P.mM下tj;7%D\ &kl{/)5j=G,tYP 07"CXϼ RFZc*y[ +?k-Vn"s[FV'v2*3Jյ":d״HgzVuT~q\Sۯ0pГBpYbLJuje3:uM& }9ivģi8‡_U&oL߁l~ H)N[黒[#x=Rg Kc&4cˊSq~~ whQxTX .|Dg-KneRZ~w7~Zɭ!fQܡ_QԅDx-"w] r"׌3eDƭow7>p[Ja)>LN% G>ԅ\]k"Z}m+@ݵ(jdx5e m:vYdlŕqnu@+VR"yT .$T*9&^g \i8AyTqY4[UsқcioyfROP0Ǟ0,:>W5#m5,;t=*M ;ߪgrSiqq^Uma̬ix%ub:7de~+Spkh03JRo{ӸRJK0^JJAeRELۈV͌k,#8C)"7I m .vq'F˯'`H~ ax -m]@ՠR9 JeZWN5;R0]Di뇾rR}| ]mʢ!,}V89WWoe:i^Ϲ,o͍$-=3U֜Z)._TT9e39GVa,gQzUsb;Wm`CI#]j vMHM̵gf!4.F"jĵ,:qG[VsNӲ H]NJfOhv'GBQr&>fv۸E׆E,H|BG&\`/68|)"yW}V#߇3YXS &cAr,FyhB[awD!!$DdEmIȹHf)=:_lg}@ l$au:dGJ@@d9 -=Ɨ=l1|W %X?B02G;DaN(l_"ʏЃaZ8uD;&Đg(VFobe*. ژF>=@gs?&PI9J;e԰1eA4$Oh3qIF1|RZt^6OEI$A"`) IwuB0"c2L:S0Ua9T$ZSٞy "i7UR]VE'{D.ϷE.݉EYoI{+Hܭ G)}غJ WY#UoC) =M.$ð$mqZFCN]p92(=ݻ@4/ĦVRmpǃ[YOl`კѲ>o^G7ERrmKēp$FGgt1bYaGžQ*E 9:WU+ `SN*hDF舧hiu%b^lXzﴱipYNF@MZB ldYVG 9OsfjxN4 c ni%Ѣ5:ŀ np* e2Wo@bKV7p^ʥ'䷶h5޹e!yZ(,-:o<]Ɋ[NpeW#qvQ(l2L(?.^v%9ˌYIԛ51?fO - ^Wœ[,JDyJNd Di*u<=P@SDxLj5~U9I{Xz lIB30Q@t"zob̆ W v?n=]LgUBϗx,OO~6i,Ur0:WLjfm#ٌc'{/܊e@ lG9Z `\5BlfjE/,@N@4l7l%.4>e&RR5Mfu⑉2^Ƕ ,Rou5<,6}ˬc~x n0e@`tD#QKռ|*"ԸH~pjܱBT/*8}HHvl7{ #YU4@wC];R6Ɇںti +3j J1Hsp FEe'?@J—P= 5 ;֕1˖N'= qLe>G&Ա;< qm*1H@#^[ bd_JfxCGiWV|r+D,ׁ2`:_ٟ#|le-L"mU7pNұ ^9e>^zVRm$%B7,pclN-ԯpOqn) &")]$Z`?JHn2o|0M3qQ?Zh8`blq}['3 ztܑK)zp%g,i/4 ADw|hv6pgP55yykj=B5c+o] X.#S6ALY#t]#B}INt\\]hS~C*Gȁ$(p=\3fgoB>nUzIHcMFήJs6w*D Fw%4kCBaw4·j/%0k}4'LW &W-Q?$CZ:(5yڌk>'U/Vُ=uLPKfB1Jn)I%Rę傉ʔÖ+ /ݴ݈S\ aSThN]F[No c]~WL[dҷ]z@]Jhe6lqatEZYEVq)EY,+eϱ)V (5&*Pڲ\(Pc:0&M:19\%>hXDu> .O?S`0l`uTLrJ3YyU.%2WYU*H>Pm?YzH OOUxI2gVUnu9<1ڇ^)(8@\@)Z^k5kګ}=WW Ojs7aσu0r^!2-EhJKPo[q2sgl0mn1 zRN e*lV҆w&==fiy0aGZ^ $Z)?|]ʡ΁mciyX3? '䝮uRe֠w;Jmt86ndŧɲ0"jA (ci"01xyVBB>:N؆6[[E[xP'@uiBܸ lـb)ەӐÔƭ\Lڧ[٨~%Nٷ[Kk3”際:Hmt2UjRSFT۴|0`n(zVoS\ MG8ҭƓʳhҵ<ŷ?՞C)e]g6}ItC|y0HJQrmG!uEN20JTT~(Tk>؟䜅}](A2} UK&<ȣH 1p*a@軦ߘb*tp*/x 'J ̟bd7bYk&SRL¾]]u? d;YW9?7[ . 2'J GiVP +Chm?_۽k‹w K#G^! ;IZD{T9stm9lƛe.8)NF'][/;"q쁲VVRdZjqc/Q9B]@9;梚bYa|GFtRL +Zi[ SN_ @p|<; Mj1OM%lWp}j'm2YKݗ !Gd"㧲qtQ ~N 0iYI–,9RYK< gS=1XVlV\\(&4%'A]B:ˮs잕}UFgԒ+0 E`\\_F:9[,";{:+Kic\@T]9-ODT!QUSV@BZIU: XY,}V*(oCynxsB"ģVyĬTura0Z*lTR~LgLnK#XFW!CD>+ܺ/S"Ko;y(oBg⿫c؈W>穫_7>ќ$:aN)B-cE ۵mptUG +H\V_~ 86 dSdyxAqj7a4.J8c%]#:da{9;v&z16t+NM5#>nWQʃ$jN*35+02lw䦚?_ËJ #";!́?f3yG GVg[MUlu^KE܉w^O5\YGy2Dѓj GNi-# '[;QOLϘ`rj "(jB7*xF0jgH _擉"sח 5TKq{!ws& [$ /1Fj3?3`'e5/k"8~oj}mc-k˜RR )]{ZUT$Ɏ{cE(n \[ظ'd7?W#j`(,|:ȫ=y%] 4 /;b LBYLN-j {%upl0zOmشyԼDNw'DAZɩTUEJBe'遰M/$?]e-\}%q-Aw-M4g^i|͋s75+yrȻUAEۇd>fbn+CV()PM"fGzPo;?O|);X*Ed-Y ϯ/l"S+fӢ[kd=xdIII,R&0eڨx~51=t("۩E'Uy%yj爧 :$T(zlh73;/eHC`xϰֻ^b_r*<מ4* }V 칼zHZcF'%.@bq,ݟ ,.nuU N2:|"U'aJ+0@/&XMD0ZGKH^5BuKzUT`DBj# ZL.S(1W`bɤ Sr]Gj}hSŐfMuYA#)Y%go6nƋhMsS䘓qe!QhMGœoStkˋP<=6q~GQFm^ 9sFiX tO) "6+sxNMTLO){lwרHro\]\$21a\7.\2]aV9nä!_)+q_mŢg_T4 Boz:Sq~q3_a n:>x5!2(uϹBt.xF&bf P~*ʘtqlbiNy(乕1= 7YcC!L_l!Y%< ukU đvVD}Ǔ'x]iu9|B!| c`nM4`|(-Lmp鯱=?nu@ c_u*'vdv۩ժzT '㪅:VbAtN( R.Gj&Ղץ{@sfO.t 7#7 !cW|%k?`Y9N\c2ɁXGXgJ7VkI͜:}&sH"'Yi5boZ𗴜Vg_*C džg7afP lʏq$.{6}T=~ BA1a53*W5YNѻBV܉=)uO N';"B J PӟOH\Yl/x ʮG\E ¯j7Ŵ=Ny7OjPxh]_}s?oRʄdgx^AGlLe273=ʵioH(: ct"+!f+MH}zy/K E|i'W`< 6%JTwM ] h1ÀPxz';CN& ӐM(f!8_DD鯫F9]. dT9ÍLQyNA,g$y_9c;6C2A,/Rl7ee3KJ" @Ѣ*"y QfNRKԞ &7D5@;ʲay^d4c[wM 7G*CE[{/^xb4ϤHOw&IrL쁕_qVJ?A3}p3+c幰im2'P]ZqndaD]zL~jz,`1by0'sߕGT>N!.>TP:[1#jי@ ʑ KO-+a:mjEtc ҫVm?ܨPfq>j:8.KW,8ұ .xZ "80cN<;V|Z lو"HrFF=OG擒T_5R܎-[-~jG9~z8{ ,8R&ЊzsDĉBMO̿_.U|j)rFc7!t_x wi&u.e$(T{ |s)68}j}fbۭ ZF(EwR&l+]\1gj{HFPb$l6* 0 lHəv¸-WwrN{z![*% ->h:ttCx4r"]*pth&'0_$1eU<Ǻ }t2Chp~)$+d."DVϻDq|Op(E Iګ=fYu}xԴYʱϹ\;H^#Ka+V}%JxPʮPmpZK^.Vl7٩Ђ:E]7IYƪhW& (1I39XQOO$aAw"竏"VDu:LZ S$Ğω>+"9i>ku v|Xh0wa$]Q |_f^'T_; UWJxϩHr6O%mԍQM. PgrK۷MIj;_0iD/0J~{KLW==5,Oo{I=3|Dj1ڄwz`ک5C `.x-)SɤmfR&XDn90N,$K@A]JY^V'O eU8V4"މȗ񂱒Qbpȯa2)<"fE\<đTszOڎ~dFTq=vfC L$SeEy,C~Md~ĔdZhW:>q8wGʔ[幜J|z?G?F1lƺGe6)YUL`1K;:yZ%b}Řam&HAIÞmRbk :0-SߊSWDLJq0&Eb;IS$q~Dwڕ{hEvˁe 8s F/:`fr(6ټ!ul^ `J.$}^4X}Hr8ӣLئ<^TH::Ur$e"w^uѸpjQuxhO đ\ d.%RiV=FO8g()}=xmZ~*Jx6麛G@̜ufg'3)')k]Cz0?U.DjMSZT4Z̄n1csG9ePq-j>u[on\C7+,U]CM2UF ̅~k*/Z*H48.s< &6}6nE]+Dx)%m]NRGFd-:t q;FL4>FDH xBG4g2^(}T1=ا-)ᢑl+L9(RWeB? U =Q)dR+ w^AV)$XFXv[K#zT eri3SP3B- !j؋zX9kmFhWB/ux;Y GxF~ņN"LR}m1%˸ ŏ:7\FU6C["0q?J3(SFb1x%mCRY$&&ǕnOp/ &oSt@3֚\0RQ&nm?0ٳ~,A1I 2 +ROE$)+i}d6*vѬ$2XNZv&b<=avVi{,,]ZpP}%nktV_}lMh7Kj SAwHb9a. j2a0_8̞h^7)P\_VIuQ)[4n6Q9W00F\w`e r]'üMnAE!-Jrbٜ3mY܌+t dLI7T U1E21PJ}{C>ZAc/E ꫤ;L><1|:>UI\ZAeٝPt*(E%2)Z|ٷˊ=9q.y،k S4z~Qx,QI=Pb-9GNUr;:sL),`*x`y)HjkG?g #=QPwrԷ) CB7rq:OwwOfk7ioqU?  W2r=_mEte/ʍT$qVe>pRyrĢʗ0G۷\Tx v)_FP,ҝ tk9r?Fל/KO"r͜~wG:J&OO8IR0C72r5dUTa D cj3ˬ뿕jSLl47)x:t`E(${AcHnsDyPk?MNC#Lj MP O}})ff:9v V>ʱ4UtNEG.62~B /f=b 7Uj% H&!|jFYx] +8< 7O>% ?}wpABW=-k9dU2ZU&F77[XnbEi`:.K h#iS_y48r'c8n&<_c=;e=gsO[̑1VEthC wǴ8,yok7c+:eģKr+<yz]x(F "!dRLx:0e$=1gAFtzldn 6Z4|eC'b 9J:{Oʝd k&4K93QLO]*nM6cLQt *%H"ڇ˻F@럎NXA;[9Sl]lJA-'};M$]<'FSA%~$o^>[d8.2#?ZE 8yNاX$oȁiS^y0AeQ-)"m1Y%8%Th|!4M"8i|}g](׆ Tzֹ>Cds O☜䟛 U2q5T.W dתKB.B+s;j <rT$I>5ɾXuqA 7a ͉l~QvWZXp‚Cƾ=  ڕ.ߨ*Vei+P5fFjJVW39v˹`N_VCֳDon͝@vذcmTM*S1eՅG:{x"v BnN|"%7(Iz.R P8ƦxpZ&ZP&9Sjc_qj՗%|ŽTU%`|  sehWGCy Rvlu[TXFEr~ qy$C9c1!H,pŁi!WPꈤ\0o:6)1m?1F*!Y3>D#θ@<9%A[WRbdqwLK旭u^60fVoF~XwS&_EKїQ;ɋI+3V^Jm,1PGat@'PэS,X4eՍ$ثSWqըL#*Bc5{)'߅gT:HBXEٹ-j1oTI$w%Vއqhܐl7Uϭ[j _gaG(1_-oAN} ܮG,r<`W1mfLց7g;TΣv32d.#w z{f' Četk;4gH(+NG4X@qDy`W>g$.t ș:- /=4c5?+ adIstoe-b6S'l[kEL1X%]baQ cnՅLR(8: r4;^}D.7^\9̱)>iLɫw=9VD>Wn,Y㰠].JЕQ7hv=My>V_3? QjO$X 7tw販Ruߢ-}7ߪ菾ߞNUK(nkI6azEI䧫BF]tObf} +`+q"-ؼ49A DftEfƏ3nb?ꮓ?Ey݈c @UXg 8TfʌakY#xnDkהOg9,ZΐkH_dD>U:G]Y֐ͭ$,y~a55C1@Xނݖ&ŲoIX@ݸ O+m !M &R -3o/!i\FS* ƠsrƔJsV@v9o⟎ZXw"7bۺ2?pG"{Z ^}lk=}gզ~%IA{ހW!FxktKCW_e%NNZ;i'6O_BV@ZCX=־PxThq 9͆;!NYt?.S$MR;NFKqkL71tQ9sG:)zZ!Jl0Md"N&zZ<;ZH4ZH- h Ն@v j6mg0Kg}VUUrYd Y"'"yrS&p+xY_ ɳh #jLDzzûn4r|4M5>,Z㌺qEmN'Ybh}Iz4n0D'-WH\ x}%6OcKJeϻ%SVa_=y 9(_&،XꐜsSbAӣQ,f\([1 KyG@vFja;-bȳ&/ە3g?r_2߃g,WrMUF|{dUQq]7@w,(הfjqmV=Ө KdZ3!8Uf32p +nyжҍL.j6OǒF T,%%nGFCa"ė.vv:#@isR e1H:X4?ot(OrsQTUT9)aȡWuo ϻsh:lR_Jk53=uG%iڣ9~=^s>fޑV(ZwD4}:ELtv@zC4fPDⷵ xGcns[ޛ' X]O$9_!/ GVn|Z@2H'6"2gCӶ Urlj9'h2RTEXNٟ\(?};9g^qrZ\Jxar![DMFYfݣ'dr'~D_qm;n;)l m&EҒLTZlj#/V=uH=!ZR-1{ue$sܷ*BLҵ&2"q>,=ULݶ'jK$94M1CbhЗsQ]8M !w)*?1-Pl_9(z5Msy[(F9)z:m?;'S4ſa.D0Hs% 1qxT8?N/*ˇ|D˜ؿO&@@Ax{ D0Kl kbPgdez gZ- o->iT-}@ɞ_eȱzQҕ*EΦR+s `OAQh B V ኡLtxuF?~uv:^Z%osl`LQV۹fʞ>H6S37:!e­F4(l*co<4X]jDI0EH0dwڠv-t?>Q .5y«IG峣X2+l-1@ϏEҜ>QZR^'1 hw98| ̟~/i8[Ԟ>es*b18ְO썵4L OsHWݔ8JV2XȢb[#$uTwLscזa<>P{ţgvM*4)Nwe.rZ9,tiGz+~z(SfUד\77jpCo<S);xedeKx$WU12T4vq- R࢜Ý2&E7 ?"{V?x7MۓTJ*qx)쾊gi> 퉇1q04Gg?cz7BeE1^/K-U--Ҭ"T* Qx;5x*ٵYyapx٫-);KM+=86(%ʘг2ocq%Y5O&397 =5y?*gugVBQ!::!AƣD* wD uUAME}O=ǐ}Z:=[+ m}2`pg5pjg~C!2+DPvDƚ` l ACBm$CnUAcEHHf >`za1emEPIF8Y;m%Ĭ#dGJBH =;EK ؝Jtj"Mr0ٖk:u$ UoN2-GDԿ{z |ZÙu~_[Ja'* :coUۙs~{c|-M) L綞ڧvu T0)\Kl+3s;}PgLN~jT(5.ڲ~ kw{=RSkCAG1Iyqf>k g,800neK@N6S4m<^z(xjR=ZG!DbZsQѺTHMx>=,Nޘ}.:Em>4TT._A_(v]Tѝ()-cQ-*2N0ċ7vꪢKqtBHK Ly;.=0@ iK`8V5mBBaPAca=TbpJOFU]`x`r^Q&B5N9hE~?> N8f֐2̮l9*93l;LXiXFM*SvC}dl-.:s" x?i~K+坹1AꏤmS -m(\R!(~M~EK*]\xIG^G{;ZJp/3r¬UDT҇89P-,dkUO N!BΒga"!ё*BI_E(M mNR?g~:7)m&T;j^`d3gjd1[5*RPWcնnb٨{g-W1d`SfZ"n:W)S4":J{W}QT+p1 xOeBZ f~k"u0Ĥ4aqSS@@;`-t_ksӳ~) ;S3 5Rvߟ3aApLjI4mߘC\ǥ`lj/nPa44l#BƧ mk;9ͽ!'m ŧkҪbx\b=h{$E`cRд߈FfC͐ڻ~?`9v:J?چň _݈ +Bu:L/^}Af, 9'fO#Y.Dw|Q!PEt=/=φRB&S}7r]tݑgUHaτ 2z@ ׈$w4l*HUq?mM{ >pMwՠer8cZ_{Z@ ;2xl|+l5 `SEɁ@Mʯ 6wN#H5wy8 9:9 q9A06^ `@s^י4}:!=Q:B964Yӿ>4'>;O 8Ye2OA"yRj~RuD?Bc8ʘ[-*׊+J"C,ZԎMm}L2+HCy)EIPNԪ3mGS(6.QҞ#Hى=RRZ[WS\8'~üsE;欚nޘiDk@<-`CA73/6^q8gyyO*&x?[4j_U4D%{#A1~xRu^mH}z绁! JeZ24s+kϾ)W>5\N#ְSa- C^jnQŲ|7A%}:PbQ܌QFYA e frH@ZEM>?] &>ari`slK tD }9SĤ-LКe=" cx _<i%g(Jڱ93T'[65 aUr+ W3;{k\ qrꚼ:kZ#On;Tu֧8ü gT &ZR~w#͂tkdVm}ulo?6 F$m)S% (?>澭2#/]Kˆ0JO[gP*ǧqsȊ<|$x]БjIo cdv_7z=r^A!BZSYϕt4o#zk$. HBuk!w;^n2֘1'i"E*EJ&HMLsa$!XE#R[ dnU3C0۹W hU-Ջu'(`kM}a޵^SxiXe} h&-rKE";{JG>[fYb5g4+W(MkΨЪZ@K huU3]p63^aX `R5-\9blH-gÃ.׶XVPv&ւ6=8;#uޛJ.+4+\r'?H&HB`zG$չ.WJW!ўk&:e1˺{@3}eݽJ"=<"drq^2}{m]m'+eSzY2q=pr>}R+-7SY׍2;5o6&pE$P C45br*[S5-x## W-[:Us5GDWIQ$2|1`o h6yݱ^pZa cDVڃdIf3*pa˱U˙i(p,LZ(FVәK|UUM.)L fG<]k5@y^F ~¤ţW22BPy38mH[xcrdaSbHE{i^%1m)}6ey饀=,3@1RU+u,WW].So&J8N۬cj˖&=Czg-lk";>2}I9"-wC6DCDM++ FW@:PJEWs4:eO5\1hWIA$*pOX=cFc8htKM[`OlJ۸wiݘD&کk(ӌ|ð< Kaŭ+ g6N ^6"\*%5p$d.HA+~y'iؼ`ilm&$ʠ3ɔT-tt#:'`s^ vsm8~kq |SyQ DmT.zap9ˍ !CG_!Q%?ݷs9QĨaYll0Z)*Mx67z|TQC,rFibZɽƨ!,}ڼkfr[֭\EM4):b͙Sq,Bu| {A)mCe%=O® -]~sDp 0vI]|//kXiĊT$`@9>SnTw5!-0T9ABUKiNiW!堿mGz-,pCG'z=<0KGݣu1BW}+eK0y`PK,,DPzYrK ^T%#Ǩ괒:ݴY?]l\iGPv~&LqhWh Sdq.v]oL")q$lEm@2̍PmjT"=Ր&6F8Js3VyrwF 9j,NW,z8idZ_XO$ۄ%~Ҷ6h^&! !i 6.m邇Km'*%m4RexJl4Vn:iGW{/IՂ7N6dz8Q-i[ֵyDF[W^ v)O6+FLBVܗ #xhBZ 򜼈XAZ W5;kq>r}>,= (\rxiMNm 7D>6KCVF"#,۱hQ~`h+嵙xrَmH'uax f5W0v[=c:.*_z Jɹ_/+4 r C"OS?0ؙK:R5LZGoŮEBy1d")6/DY,gm th T!JJ:˻ڤ9EqBWE++[u/mG,7J?eܑn$hdFXݜqy.=!("D).8(ǚ3Fe)u$/r؋]O U:5ir/(}s|a$6r.%QbF&DcHQÿs`Ө$P Qi%`*F>bN 3DwK`tmow猹FQԭc1iKcU#!YT:kE-Uկ!{Ga 1+K(9&lD=jmbޱxF @ lp$ I`NTc-ùcn<~HkQ[˚t@ၟm@U0U+ b3#{0/ׄW7|] #2;՛Rx>!+,lZ-7Yޥ wkkt,6=AN#u-|[ l^0ldODn ]CaaP-B馮lXPd9xS$eNIAk)Xy ]ITr^N 2~q|V&%;a ͩZoYtF{g\H9\D<@mVWr&fII1>aILL#'^lVq5f)>Xe"4f}Uz*- aCAwY/˘h?gA{Z`"SZ#Щք!znw,>z.Isr.ʭ}!x6-kH*T:M '*9,2gmO؎h q]QV{%]fH_u[Vn\( ЫӭZh/Uk^ -s㬠b즓aRTHS6}Fko@E/oNMGi.8+kw0*a26㢓Artd,D\MM<d}ܝ2rsOh]3HwAVݾrf#!1n2di+{./ zGEzuIYT,E_LSTw&VCxXN`r-;v]S+r di9u9\i q7N\gRd45vLR/˫[M/,hi;6aE]q~W`%=f6J3Wퟞ\QhV7Ho^_1*5K*{KuW 눆CUMJ88Pn$gvuGR5Ş$̆sF!,gPrmV$ +3; hʜMHK<Ϛ#qH܈bO"Ѐ>K ;ŲuRZ_;1\ϣ*]adkE`;Clj^#!paRβ ʂ񷬶vp, LǃCWE+}-f>*iU;6S^kT+y|Ś358Dlf=bl~z)q+񏵉Jq53yC -Dt;EW j뗩S |vGWV #9K[an *gh @j!y?/{hbjӽT]ACd;6ȴH[S){z|rplAcg (XCaSh0F_HQ :Fa6.aKxfErJjrLupn]=tKE$er ZO3ZԵ {ۜR\2-vPqlԱtHtGن7:t+F']aFXq%b6g]u jeYTezn'䎇'qC5P4 1-{]*DpMGtg^Nk߄u3ih LYI_7zCDh뺫% \kPjbad }Nkʒrkق/HI+r?բNxsl'gO" >)VT7~ g)ꧏSph!OJv4 6R!% H;n(aT.j1iELa_PǮmhEUt!qpf :Sqʆt&ˤo*P_0iPۮ}Bf~2%|G"z#j;EYP(S>!7/ D owv#hͻI=`yL\: ]W[)4xkGϙJp+X.p(CT㬳d;tjzoSe7g?~$GlDy2̤? )9w.x#$LߏN9IVavV-^yo*1 KP3lrʯ:S4{06K ~WV3 A'鮬P"Yu8TTL:ְN>nUmW 3 t=*R gtqnI&;y&b&ք{]8e"L^*5<(@ 弚qwc!Xt^lz)BmهAn-Z\?'ָt "t[z3!ٷky|Dq3p=2IZ[Ru qey3Kk *kwSY2i(u(֠Ua$m+9XvKeQD65i<_ 8WiZޡJp" 9s] Īl0f7ރPxQvC>l2D꯻VdE8 qo]KOA:iȐaO>Q{%MSa@$Ui@<Y'#ΙW9{զ+fx CH;?7\(X8ؖ=8wBn0Y͏k6{~O9Zay297kISSvOzYVsR%bTm6C>C]2b'TV+DUvV 9tX9\V֞4AlIC \F:Q€+cn7ϥpQ6Ϡژ:oaA(phQ֌%WhTDy_(R _XRv$n}5*-Bxme|Ug 95Qa(L.6t uRYd(:Tۃ\ᬟۘJL"6qu#NS+b(l<>~L0?,{e${qiTfDQe\ y#lHeڶbzBθ&FϤ~S ~L 4ԃWnW+YxD}{иۢ!ʗW+eD*nǿy[7 tcM2&N3[wuHx˧D% S+|hRs n+ΚQF Oq$%pI'HELDT C\\AJ}bO`#;^0p^6i*1=w_CHt&VTrB:M'Q,Jj~<h#V2zr{ wO6a]Iې9}zg]Za+cWLo+Ѻ-@-Wwy+JQDl:q5_6뎾TƼCn`Pof2T$#~$`6gmeuT馏eqBw'gn5&ІJT1(lg3xSSfPkd_[q8B+qֳf# T"ROKuC{">p^Q$r_hC;D$Ś _ղ/&F0Cq0r*^d,o-t6"̬pU(+rٙ۩6:G5&'}0&Z 5et9tW|::AV rY\V 537"w@|RW5_rLoQHLbe"ABKd6^]`x-@$w*b7;>3V{laj`tMiyhIWHJߕ, <>,ǾGcGc}PjdcQآ$8x}xNGڡcX|Uri4l2IXsVɞhnoqސ"|/>+f9uÜV[2"MB],eNO%n2WؠHE?X89n[$z'3?>V "_ VvNHGs [Y{lV!4?iǔϑ; V)힗hEI^IKB!EA][(d SJ1yE[$|L|v'a_Е=^L⼳ ?i#I8ѹj֮|mnB<[Ͽz~7Zh}7yۼfu(]*y/SFP ۊWr@5P@YHlm9}c+X"; ō;ql'7DM{(8ognfa=d@.pMԖe5O ' QIJy{_ck26KT몇2ϓg{16V'R ټ\7( s0+͈hMI8x'bBH t7@ز~&Si iӅ߯#Žk8Qi|f{[xYJE Lq|гfdBRg8) {t ae^mMe98Ge"-LmZMFfZ QelAAJ 0U 4B˺9TAMC/{eY.9ndݣD$}(+Ui"uX sW4pɻQ !*0UgLgXՆ;WhYJ}ޖɽs?cG=SТWk qT &ꯝWѥ3fBlfR9)1p-|e?#6yz17)],衳`d3ܮMCMraCir9\=D'P>J<Ac/ cYϓ'v :t^ћ/FE V~@ ^T~iAj 5;S%/Gbe@ߦk=i\ ˢإ[.G(NU歁odT|'E1/#߅\%FNx/"|OUFuVo*#nyfq(GoNQN$ La-o:i_4@]I1.~DF}CO%iw0Y ǃ*:Wg}ŷMo$e+gیXHHns0[ lQ u5mJi{GМk^qW*64q(ڙdNgi(aa}NlSg~hJ{قSU+VZ$I˸BDn[+bRS %=Eߚ;%7%ݡ<$H6^oM{DC/O] KQ|.r%AieҴJᅇLڼ< hozЇ+9h`w9̮̬ߡ Ű#!5!JNFL,逃w:轊PE{IBۍd Kf66f ЬIN+&(_Elq\s1t`t%@2p@IOgYkV3)Wc0^Ip5=\׽1lGC;)ϥC PKVJ`wf`SBCm]f \x((n XY1oᜈ/+ VQǖ@*d-Qa)Uc⌾bm֐.{Iƒuo/]n1KoDGp=s*bIggu$AWDwhrZ=~Q?QΖxq|8R@/8?y[/Oϫ| ?2AnXcTk;?:vh"F/;`)ݥluWA2>Rg (?1,x92*RrԵeH0f,O\p;؀Yڮ m}Π yPEAAݿ( Mp2"ߖ-̫9Y:Z!zG%"⅑i^abyF9ATRѝ DJB]6VH.!D2t">g4N%,+!Ux"kͯaz`w_fn16 7Px&Ds?W}s8(ay"dL)H}7M||R&jzԆdoH";0G&66= oWԥʁ51!Vҙ1Q xHNme uN\ei ێ$kTֹ~kf=dȘS /Ca5f3K"asX=-:֯SrqֿNK-T^V?g)uQ|i<ЛX2}+IKZt/#Lqu` )S1׀?'_OϚ{6+[gQ uj1By40-9@7d3*>L~t 4uhsܪ!RZ.$rS O$)%t Sz1b{Aa3ݏFVhɫݮ.Si>9*Z!Hpc(~(Ocui7]ё!Ƞ{Bt<7 gr*Ӣ W[)|F֬(?.FǪs¥(!W+Y&_A uV ~퍁 u5^ח'kTL= Q[#D|ZYcⷤŒNȰzk:BSzR[@HiM1tlPLfDkOz]Єx?ɩPTn/??R9Z{Kײ~J{D0RdQ8=[1)f`-U 捳"mCT[&뵓p1\8H%?Q1F/(VY NUC~7:րJHreI[K/+%VY3^V2'{ޒkӊu5 kA.S@4KLweJn'$h =Y<Y_lXU\E*zW\{*aιHU@mniy}KwX9sQPe"Xo1p͊NdSE3#!9!Cg%qz?ߎRUyXL.S 1L"45cб;j:g>QD {T ٘ S3WfgD4}#kQP윥U8l2t&n%'C=MJSa(b~*宽QƷG5e|"\NTRq=c'7Q̵CAڏ:pjw04nhD#4+/X-A4"Wq~DqR/Ω±}DNi|gzod}B .:9MuHBQ#w4{l_\dDk6]B2n٨MԣO:JiKv~*U[Vҡ0nb ]0u#Rl UfT@Lw:'lBAJd<LD`aIMMXˤ *jBUW B)еZ& AI\PIkV{#dr<\U)#ai 1TD ~46J+sILtߚ&CR;̟%"蘢IY* ۑb}UΪc(6~@쑄*cp-&gE:.U.X8,Zi¢/VXV MΦi\E3V43jٗ=fZIo< Mp=].bӏ9iJuup c6KdГ~0(E$T`p935>Z'xK5i?9q!Z:'y~%qg.L{rr\oOxވmy3,VnK986dĮ /Y<9N~^ gk$V{ =6cZ\G1^6 >+V.7›z^1L{͋+|T?kE1hR3J@xyR`-( KmJՕf=p۔!\I-+~J!ȓ,Vίhbt^/Et6YNЧ<-b< ReM¦2hv䎣u6 &E\n@ĶI ;UT &b6;-Rekh 3$R)i(ZQL8!ﯽ>Pދ;3[lpv؆܋۫~duJu#Ɇe.hи8"2KԊm,}]fWPh|<w_$uN;F>jJ0+hD>=1`DFi3o$773 K&ޤ?Q;l$ 70ز~qyB6WEo.1ad+m0Ɨ8}Eęf@(︙ шQZ8+ I7AɍSqCLaXkU^p}JS*9dF&WvfEF#Xs>]NNTV~k. nh:Q2'ePG% B^SJeYŷ[aAn 9{'w#%}Τ_ ,9Dm:eyW\p7~PvJ&?2fҧ0"-$/V􆼫7s-y#GBT$NR'V]6lId[݊eMSSFꁒoKPax5ey!ˮS %IRg])%vMB%[mܓBLg7C3bXC۱ e"lRhWq=;;3Eič#8|*D0oQY6:/>=2X\򋵊wÇۈ@I\;+`AhBuI@zEpx8;?y K!Y C(N)ԬO6nE݇G,e3PV}%,!W:$rU\<no{SMRmt574`V*RUM(B_;2S$xDg # RB>'ypnQ}J?޹@Xè搟[{0Vo:z$&Q{2SN"3d)Hx@fu/5f6\cSdHH ǴB'GD8;zW%c0Y=lbv;!)>~:6tn.Kt`MH%R߶s" )Lf " L:_Y+)i1V#_S |urcZ&B#Vu6wЛ[䗑 jG7ffJ0\?\%I)2C{ОMPE(E-u-:VѧѨ,}\n}ű I:_X7-y54밙"d&sT'fw8?s*kuqNJWXXƜυMhMS :!7l.o~z} %f^gQ/OIM-Y5N)E8lk<)G sl붌QrĊDr#މ('cO}Ċҁ>'-(Onw?8jyHfCzϮU}r\?Q҅QjWiLM"9l !|5E}3GcF,(VG:6KdcnYgbUr<͚R$ZFjq)=Ϩ3aDN>'+nBo4m o I! 5q& D]UbɈ@b CQ~mZRFNt/&p>}Sq9^gy~Y)SO0Zqߍq"oxh ķ:nc3FRvb}ڛ>Q~5?i;AsF&ͩ31SH&LCELGOA&Q纚1ť*~X>Z('{3J[ 3Yg^vYvx3FJoIL܈ Gp>69?y~b;ݛ5I^/FTN@C^{Q$ ku%#*7^s\igz4𛙳/N{3<ʉdǡ~O7}jcU^1! b cLtx1ah03>egȭҧha16d&,,2 ݪtԮImj?$ (> `”W@UoA\0BGx9[G"J8|F\x}eW'1&J%'謹 N'6ܸG$v.?Wh*+S'zjbyAo"^*!B79]VwJUpgX́GoS=Jكj3Hȟs@Sk?-I,p~u%OYn9wJot{+C6vkhz[%t""9*Q6E,nۄeEuU*tђ r+K̢,Si {9Eam 2Dkޥ*3ɥfQAXVE&G+BW8mܙGȩ_fj-[9/+}X̺9x9H.6< :͵x-oNNn esOל}JګάyoQIqH)iսKû{1yҌi3#*mz\`G{p5)g^<52g6*G{cFL*-{P>U9K<|W:bV㡨;2 nwU25‡QR{Ek8&`83TLsdq:_~LO(7:k3X-ʏkT] ǿ=Kyhk̥5ED[ąy+xg!A0TX"Y8+HT|VO :Ddǭ$^AM~tK ejzwe$P5bO9'&v}"׫y\ c߱asN¯:<`9T!b!!n9ǢνȜ|B"Nߧn~-UPp4رiH[qFߜc '"YfDDWyR$¸l*ʜw%z2 ,>2S{ץ٪BX{(=NY-Z"s^:ޔ2Ć4)eiPB RnX~w;3%x9u*hs{#j.TZ' 1?yyGn_qM ƳA|tκ)2+\-n[qщDg-23cI粰uzsYh'^P1{eJ2{zQijќ*6:_Th'_0 Ia)2ŭN3;Z('ӗ;EH^8G+C`A#m+xn& 1W".!شY؜= 9G:vfAt+*M;Gֶw"9u\vBץleS8,Hp ؔ1vAF89PI9 ʷL EG1ƭSxOBw~vw"d+<`vQ^LiU?FHCU(Eaon4;-̓1IN$X⍉Șjcg5>QA8s x]JGq* %v?1Ȱ~Yg-DAp1 F @hlX#55rZKď׈B$ȫ*&M֐@<-vQAI{TVGH mC׼3@`Ed]2a.Åտqd_a|`ƥݟ PO6Oo=dAn )I|~r=V* ]UB^t˯+Eཛྷ7}|4'NQMa:HE9Yȏg(0&$ˈmʿENUۼ#:2BK>o0O``@QQ5'!21tq04) AE/8reH wBAy=^z p4>2a82'w |-KO{'Sx9 TJ+KO6^Yf%`>ݞ.jAx†ȻqTP P'fq-6Eo\14d>o"2ms΄26n^KZb&_ob,MnCA7.e?Z2R:{"$bh`9.AY. (pރCm*sg?^+ѯ/jxCm'ych`EU](c.Nм$!W4caNP_f/6x _sV=D(>';MVM9,jWؓI5W#w7c7%ƶ QNGgM{N J4z ʤMFJdə6Z4>rklaEJHF8W-ۯqK^D)>켵->S):hߜP\1 Yo6}Te=m(uM`qL۔hZ?ٺi~q]ɍEHH\?@}SDe.+Zd?N: R_-duVTa'vtF(,- Mv:v~f PU7EX[+,ڽ|1{9̼ug SZI̊&=0]TӲ~ROu,sŇ#?2!(Jm0T+wH 5bO}[tC=A^!*Ć@C;Qzc.%\dz^-8axVIpuFfX1?U 2=!E$&˥Bpy-lasw"#Qъ'|Hc튛9~fF  _/̺ǧr~xPϏah"<Yer}22MTW(Ɵy99j_u3RzQ)-!3Qfi%Yʲ=}9|e+QWei&oTδn-1e(fmŔ78\Epڤ%re5%T@TǷnУu_>X!!Ow1$C޸o p91V6h(T<G(h _ֱGL}"~,ҙS(9b>ʮFK*Dxc`JuBWc]A@WKQtM=q(yP"/NsSQ*>YZ,/ Sw!.닺~f,Eir%2bVάS#eDb\xdNQ9LC\߯a:;|XX'm[:**[4YEd]Nl[(Dsq|rƫ+xLjB٫aP+E&j#kꘚ흢yDi2i%ŐJ?*׺|/Lz$Rsݫ5cEd쀉%nP[Kl!4n*7*٥@uS#rRҹo2{ZAi%Zb|}dGwimZn e?k>n 5ǂr /W L,R ~?tX{ uۯSJaG:ЕM񓗗qN^6A aϑN<7d"[C-Kud3Q㥉 rfS=OGye;! (~Lq 0(_ ΢ .{${m~.aܵͬ[9̻aԁm倕=)cjcRֶ sn@q 㻁&p;k@$( B~U MTdLs٩di6ܡv뻣@ M(BMUtZS͌ykӻg oM0u|t_=oGm?ef[$ ցypьJĽ;<P|P[G%;NpU"n_oRd%hHd,&2֖^a^b x V%s g&H]VODk=gu}g:C_xF\YRViJޝ4*5&.B ҆ }}WknJOHuJ<^TIY>}5kޚřGhE__{t.B'tOM.(ә{nE w.ƃ0.Y׸#͂_=%{)GIlz|e=(/~.RJEWwdf2L!bH2QO4seKvŚ4I)Wft#iDZP2k kJ:̦?Qصv/M&q0v+"dTe#2.7sJuv_].jL(W$>mb&]JC\(js&w^,pg<gSD1Occ%f{TP<5w-0*V@q=vJ@E?|š,+͹jGln8[ŠA%DY@Κ`xP\XMhw"ۮJ{+WmD(<ݤ x{1SvE:⟏a|@RJME3c:5!jr-pBrF>bsGˢctxRvqTJ ^[P{АFRnp$:begY Ȅܔx_;p+BA1{TN~8 sB:26upF: RΔQ NꓣB0J4ƛWiAiV!rfI ^P((lzvC5&ϿC-pIqoZ}a{R <A\);c%u۫Qq"0EbR0A̕3@x #>)l|^faҮN dC zm- U55 vB3_/Gy|Ցn*Sߢ!6DWo;:BeLQqOeY͔|ALĸ'5*Budj/1:*OyhF)e')*PVSm^]M2l>7nB h&-aRGFYkI|DmD{LE""d^3Y qgT!/RkUo螥@ș6>4 ܫw"L&rۣipVj*IvP8=^;i /?=on^(bpWyMMLK +Y^?Iy <69J6)~#eRRѪwB3N63jfA9/TB)Okӏu fBi B.Rs]a- z2lԛ6aI}gs'q/T  +F@{e4Ϗ1Vt0c4f=],-U  >\;%ewFU6rKB>ȨNr>dT@ȋl\ռ*DSjB FF ^^.@E}N [3:Y 5򛔻%UԻݛ`[q(G:j1jQ3}<^wX)^rnb'mʇЙwkrm˄]F!DE\uឮSlbM0Tr`X3NԘ;[HrȝY=XY$G@oyh7LT8YSKfJӦT[oԴ~tҫ)6Ǖz (VhM)}VpE.G$#iS1Yc2Ekp:>>kíC^Tz17@ś +j #[S`-iS`aA;rmJU4MžNR#R1<P!~DiYBS w[cP1y HM4{&>؉ Ս zE8FjcTxTzU'xO |nB*\b]%UeB O\ \ Lޓxx6I%p3c=ºlcG+\ĵ0]%vPQTƝY+_Jj4o eUƩ kKCR)V  y3W_$A)!nlGbZ*IϙwN:⩟ۘF51btw 8Gd||4_E` :g%W5r'q?c6.ZFx(= {M *ub<mԙqA4=ʼn.Ui]牨o>pbrаQGz"Z9?ktZ~x]VL쪛d_6& Gl% 5-ɍ*<"A vpDϸQ|-\mLF;<|4!S4ىcnm=#5'%rzũt7V21:^NWΜqvo~tEe-!BuQ0|XNɤR]}0^|-ga<MD&Yd*ָv1įf_^}wтީʛ>Ƕ||4bI He^YU8+b*aѷyU.DPU/uYtz"(lO^X0/'pzN^cfWC&byTsJAc&аig$ kʥ^'wH!QKls|B7)gOHcGʏ4-$(Dw@FfV]#(51gc콘xqX&S\.͒z k%ɩ Q0 P[ӛN%ho-Q{"9e8zq wvH^[J?,\nns); nhuǥ`ֵO]MaBN@zB!;-_^;!ɴ'@<ϊ&۹ cL+0%>Dٹ.A\iGDd1mN\\nآrvᱷ\1y$TW9i Gs!BauyZy%G=xאUMGRHzFIV5eed$ +I`:Qm4 eQԃ|hCS0vR:k EnzhȬ'BLPiJGeZ / _˞~91ٞ6˦ G}2}BH&Ùlz>&N0VC~zazed Q[Tɦh)ua xR5j\'?)i%3tgI=ϒ{2yr4Ǖ!1?. ~'S\jeMr9a5aHjJs=][,$n$Rɕ)w?*3s4Wi~fk}ls8Fٕ,&Vì 'GZ)k8M*HGnҴRף/ rIy0(r;<æ:'a VI j깋3e}K}`;$kTH{'r cP5xh3mX8_mub;I߂asG> ~߭A5c):j8qͳJX^)^[׾wrO(wO NrͲ&ș{.N'JAH SVb ٶ +CUoXE6έHt'NܙnXMA1vN:x2V-lݯsM6Ӊ|q5lTs.րxoN_6__GXټ=Reh\IG ]R:˴sXcJGC^UN7!g1Jo{j :M&_p$snnD:b04_gQfQ'53 Ӎ;D`\gWFT'w w"2e.[$sG(YʒY|,%{|9! +ІZ8CWs]EO܊Xݗ*D9͏CԾlBJMGU8C (CoLd]Aѣw88iF8pYCQqre^Ʀ#j poܫơx6M (I6" V/oX}I q-XKNzP7zsd ׊<Th+lŴˮ7_n?)+!"9~7d9Jm peTSSN:BɦKW)xpRWa8e Y\ ̈́r/\)=$=Gi8)d4<,.t]aX]@$M[* O2g!Z=K|fd P6ũs}= OXrzzKF7Ɨl$F?ۅ$Cj^ڜ@ʞaU)CUN ?pmFzpJ6i'}:sF fmQS2'aNUj>2~u{4hPYj# ~Afe&q nBJf Ғ)|M`Wן+c]nmEXqoF% "\K=i4駝IHMb{ķ΍#L.9(NHbo*]Nr7Ǜ! Gm.;뺂Ǿ[XQ1<8抪~H}Z]^~O9|ɰr6t 3B:P/5hb jf74֪1u!*q<zҢR2Z ~T~N֖GS:бaNfM%6@~v6RTG]@R]nN+~k"bcw~6EndIya ?p%cFO5vNe<lO rG*5mQ"*_,з~I%G ^(lL﷙/ G8'FuoC $o;-& M˔:Δ>KiyZkK%,PX{EO@ 2+g9 Wxc|8j$>D>K F9)+mF7Rli֖&!9'@ {n3j?:kX@_=BJ]h+_NdZR8:⟷Y GKGjY HLL(ֱ+?F-JɡxHgjqaLt)շ#;#.Eʨ%K cEx8chwT.[ɕ-b˿s"e.kHY,r,wQ63{U[ׄb%o=d*c3Uǁ{vyK{t!1ȠGS2x]LqMKN23 `14~ctf:8L9һE}^9 a˘u @pG㐛j90.p7Πn@Iaýڈ)(h#6iT")XkrCߝsm)2j|_a*'V֕Nn3i ͻ/ /5P #FU:dc—Na^xqޫ" (1D_<,'?$}45gڤ< ] GmWb^lw 1`2v?0C˰oρET,!)h~똜W},{9Q:GG7 ^[YS*^CdZbZ8pM2C_㜌sYwp7Ž6"@w?;A DsWf+u1ɔB1)N3 Y2l6X>ao= g(aKMPH&g \ާM뗣 >D/X8Qc{ӎ 6)*O0xF7|7/\(U;>p9B? [qҋ wk庨,0Б PrӉx%\3dDЭh:ĖZJDQ3LTJ-tZo/@uޔR;tG,P'TZR.+@!;x7ZEy(F~{|DEM? v֠%kf İ&wgmzWjotF_Q,!jJI96'U}ɅFWGC@ 1THb*[>h[UЊc10FMk Eeھᾎ(\T6+"ӧ6`, MƖyΫ{36Kd[75= .7fvnӥFWvd@r~dDR(wu))"SB%cK}a}nkuͶ@AzlriA΋U9*"(lv]ިBP$2[ Y@T %_;(K-w&}Q@ꂢhqԧkeޞo^,׹՛ cs~`b:nQ"cvr1&hY9p[@> +m2N-%(T$ j=;:,V d2v&_GBnݐe elھ% A=P^hLEؽkm6ܚ"Tpx>=&i>U*(h8I ctTmoa: K{;T#oCB߹v#v/)o px]j%pR_)Zp.Xo~!FIKn} ԇ8j| Lacq(Q KE>|P:= VhTAq6zzno2,]yK(a;Ve꓇2%MALۆi(#>^[B{v:R2Ma0}_2Tnyg~,U&/9zQ Z.,!,y\$pEy"_f[.4emǼ:鶌+c,xONGfUS6Ld ]|x))&,5o;S؀5۸yԽ=9(7j$T[e ,,O\@La(gLƓCZ\A`&]GCq I熙LdǂĺR( +TIPTF$| aJ4ڨ؝ P0?8Yc=7ګ&܄s8?2gt*q[d`_'^;^"i~,(eb, {mkLWI9:~Yژ9wK ?-kq#&H&98#D{0pn?^.p9pm(5j{sZXWljL-s9)>"s`7[*;Ixbr?wuT儘 ;.{-yZv<~N- u pcDerVf;ݷb Iy%'ڗbpUĖS3p1K,LSpwWI*w XOkaN%pTzfDgORLK* u>)yX0 4PFL|'xs6Ʈa+Wargg/& &hpuk6"7{"r$µlo~MjX)lMQ<'7ed MKd[,𷸉a WS6#۬V"|(]6ι,Wڂ3 !E90 ~!'12**Ih_$vn$۱bJ̟[Mq} ZO.`ب".,`uЖD 2.洭/lS{.HbuY:e)9fA$тJ)pZsZVY"{YdfNfT%JZ(U{Ɇx~g*/vSRݗ$uez+LYYStw;_;KΉ{T#h̲۫۟c~?? "|ڕIP >]w&|W2̣FQrkDgiLgp=ܻMlêT:-uX/H䃾%\5~覴E 4gWZ ?LT"r/J_H@+~ $H;HQȾJ 6}^M{j956sl0UF 81CZ#Ƒ Ÿ.R߳)[-Xp{6^WPNaWhrՆġe.'PB-Zl}4o,(? 8 k%Gq"?1 9(l4ʀjT΄c@tnO,*+n ܚI|U۫.:Ywp[j>C?Pn%݉l*l;JOKWW.'xAiMM햣{5e cƋEz&)o V{|yY%z5}Oն&9#oWA(ԚrW8U6Tl@z/3"1 @7}<ʒk6 W xãJ@ ݓzӣxKa}?k5ҵcqc෌AQMn;G(r`U2G~'{SME64w\&͛FJk)!r7 <j۫K6 c0w96㷸i[ }%F@m*w('ހD LJ(4#W91mc$dQHW?aRuʂ$% R@{$f2㵑}ک+iv2!")߭gCP,r ͤyԃt?MR<[a z/q80 WOB/+pfgM0omN{$$^ҾX+wf4R"J!"sNtFdlw#Enm?o,ܛWèٹ!BLjEvVЅz|dF&4N(5٩H,j K1&;s>1C""`zSG#n.!v7b @&鉠QD; ǎzcXX_ l-*V TR!dz.P[daG$4}.;E+ú".O -s̰xԓw`okjre!Y̗ĭX"o^ȑ{dĪ#=UW|Wf!A*RȲE4v9{+;://;]-O[L\En+Nmk^!ڑHD@{I'Az*oe$}ƍ+W P Q <)hs`/>g˕͛(!?RccZ|ޣxqxaU%T՗cJ98'\oز^>/,l$k#BAھ;B]+ɖ k6N=3uM!ݳ6kV&T,6b4\S'A\wtc*b&s=Ocfsu[O(:pzYZZ{F2>刕/̲ ZfKCtj^V7KMux?Tr62~,^8vSoWТ`GwԠtH# Ce͔yHvc̵cQ4('ڭ50ɟ342=B`1RNKC嗁^u,Cr 05}bD{Ur]Zvr>t)>U$7@ gG~|8jteY pAN5n)o]d @vb7רTmd[I:b,_⡨c, E WfkZzӼA"}@5s9}D$Iԋ )԰IΝ> `=!>v6|m$n1j?'ʑhbg.n} gߋfC8l2omSn3DFV/f!Nf6fEqą_'S:v8r!vu2^[*{9ф?_rGq?hisqP%sSg޿n qĬmd\Q=PR*;m&RЈ)lvVFZ#rKe?E@a*62?*NQ ŚW W&jnti(iο:D'[bu*H|ܻF)C<{5;P)mR`|\-)8Y2wGStj+nFe4?(f%zx>A>SXi][Fs8ւE@U(h7DcB']Jc)eXW\[9PN*(՘MHoVUǮ2i@4׫EܚN`$w& `I0<H>Idܲ?Lp'p7eYKsGAj.Bbw-;GfDțU<=RG--ZS9_B3~؆+X! PQ;ulCwcH+ʦL J~+7Fi5:$&_mw>%+a%=p5K#nGPV4'F˕-ȅvPxޡ¥d ^=.'pփu,&yҤ:z֊gYl  UhBB /pl]2`v?5mw_wW̏8V]@YizJb<` =J pEhek| 9| 3P(FNPncy((dN>ꪪ3` HtQczEZsLU_MPJćK 6U%]1$MˠKL4K6)TG[dtcڍ;c5f8&tCdUTˆR ڊ4sѺ:a}9d:ވ$4]`+pڦ%9*ge ISF P|RX ,'=Es-`]]&BQqon QZm9oԶ0:r|0 N&ܩx +wZw=,FsB\tkY,쓟awÐv?Bwt'ixoo[DnS`ȟC ^ [l M9w.Q 0a`Ȕ1#aǗߙ}=֜wIZvRLL=ގWXMJ6K!Hxn"R 瓈@ZԂݴK߇E;ypcmq(goՑJ/_hSC;hA8=@H6\R]J/; 2iK=촣\V Nƨz&O bu}+U=Uc<]HK1?imC)B^V$: mz/Xt# ځ,꓋t8uЯSg&VyCu?0Ԯ|Rl,uG۬LǷ*QRLª')D}{M7QU)aSv3@IU:l΃\ %|σWRw D^u8_EXPm+gQ^E" 4~ GGm&ִM?15\RaA O>ȷש/s'JM/ TOSTV=A<C1`F ܴth["q 7!$ʄڼ=c[%>9F5> Pq|;*3,- F4S㹦rm]|`c QTX }I*]//F-JEf'+4Dz%%> AUի #ҎA|kf=ZI6EsDcFϠN4&`hPUj-[R_f ƍo=)z'a(R 5qrGqԌe=l9{p`qUХx͡T~^OʼnfNLD҃*I//YSvmE9QW&+L8EioP^b NڹbO+<%0͗t 6i)ܸNnF7Y0anϲ_h2U1ED\e_1\GCðzi\+0".,v@%7O+qM@/)HQVG] 7-ҴnRFQ2HoJd}I :oƫƍ2r RVfq1df!;qO^F%s-UȊѨhcnGeXm N$ՠkJǒDvMܨ;%NWqߒTm1{ cmTo*szdK<*V,?f ЁlsH(Cc%hT{k|Ib_'۲D1FE>dQi1F-D9鴮ZCE*$+]#OM^ Ԭy q;,',Y{CʄqCdѱԞ9j?2Qxվuw7I;Kh{94 SŒU7]#.@k  d|ǜ@!a8'V2D$qm=$ ^qq\G;˥l*5 2޵r).k {Zα _"4foLnhwij`(U]iN3{7Lt7-:gQW]9˧SN5E< ]b@oZ^$s?Z5#̣gj :tˊQ8G`FD؀^Qu(": 3$¶XkMV%t,։gVG={Tlv[(&x:qG{.7虴ô>XH Bl {FRԎCQKX[#'MTT Z5JeYMwiʂXH my<'[ B ݢ7*(Ď"@b\R!+3G0BF i 2@T|nX8|:ixá`>u|U*H_ dbr ǿC]Xy*8O'\okTҥJHSo2); )!|F_iN&%`X(Tdt'ƟSi4D  *\bLUϧ~܅,=~#yKEasXB;q3,wſ<$ @s`2O;@U{Yh76q1Ѣ:q9u3sKPxg^Qir>nh2F(<8x b'=*1 h ?NHж鍱{O6 Q|g:Bs 7K7l6 _cQfj|( K̃ln{^Yolv`UA7X@_hbi#]96[6EJLKm/{`#J(tRsGg.Lc+[fRFX3=О2FqD(d7ˋ TZbT]nJ6=#%~2JnQ۠dkA WPnpyffi' p43 R i]%ye_Ӊy4ouzS|d*BT_eSyA$j1&8(8b`B4e(C\-)Kx  x32iMe/pˏMR!ثf8OcXSvќFTĄ*5EuKi`Y…iϯ&%oƘS!Ո- 9k;.fӹ?5Ͱ͠KN4jXPN)sa>yԸ#/KPTL;ޏVI' ^^w 2mkH|}EjkūhRMpkagbC0sNm܊$GxCxLS=b HN2BOW帨m01 fIUv[2P :2r] &Z1{Z1#r_7 P1`pi579VI8Y8+WևƘ773}IB:ǤdCK2c%Qxp {;_tECX&-)^D?^`[!EB1P1єN>j(fV(~/^WS/t!:8?3A1\V$rTw5#CtsrV$ЖM1ɹОYxRsv7gHI$JU̅@qۙIb;{499eo7.YBBb1``JlAE t) }"^vv,f#~j,Qy~+qcO`boe*NP/y][Zʝ1u`t8G;ȵEq(왤\0'D0`g_88A'pS`\Tq^[9_HmRJ|Hl[궾C9iW !KzY@:}BXH!*&TB QJ)Cwg{,Ll0^kn8aA(g\uW=Q9sպ5Ias'()f UyԦ렔lYc+uLxq pteM%s:}jˑq:р_Y 2Ȓ`N)^|psLMda8jė0\YGK*֎%ɸ*Q_=XfWڛ^$+˙h Uy%0:taŴȬN+Mt~ 8^H"+D+zvެGM˿\'nzܸ{1nUb;>AI W7PU ~A"ClT.g @% HRe'/ Ή=!|m}dBn.YMvd D:O]"09H 5W',AλEZo+4sz 5zG2 EzSX>!thfoH!K&,uu5i/ R Y8Eyz8c)F{3weJ[m";1`z;3N :9@U2PMH7[m11D{:N0(d1XĠO$T 1̝vO̙:5C>m *P8@MѿQWpD*OMu?s} 4MqxLxSwCngxc {ǞPG{{ыGM;I; -pj`Ү\^r-ge-(Y?A`.{|2J}Bjͣ&39NubGtAH R=m.+^#P7_4FP4?C;=G>[֗G;K=cexN6r:ͮ'j"p A6W^/|np=u;)AhǬ&bFI$9 W(mEcqAuqzFluXxQγ]nϻ 5cʾLa),]cQc\/3OU_*T!I02|o^j8/vHO1PԅISػv{UΗ<8{K"#k}rm] /viv?mfGS-L'Yc \Z4nbDRIo=l߁FhI&י;'" m7lTPGͳm]?N|9^Wyx;q bX4w0ez"jyfc $pACS[}_}r9kN^~v o-λG.tU꽀[dS!6L{&ýMNWV#u½/Rw=hA1eUX)$Qx7vdG |Rm=HhΜ}2y/e`~ F^}>lp8$.o(m: PiUZܚx' b]|.5$Gm5VRZzr.)𕖒VQT}v̳fΆ^JDrvruZOtĎY^ AŹT$kTw]0gIwQXΉ%U/jp)dj` DM%А 0IąNBIJ74dv%aH!Tn%c807RVP AURhmԅי6VCQob'߷ӮFH.3ۀ3xH8hJBt$oU|'R'38x2?Ve=.ND y8m~=)g9dUTVmx)V^S↥rn#YoX+7zĩ4{ִ瘮^3ҦRBCd*cTn*f;:ъ.!2ֲ>?KئFG13`||'=lKux ˭}~|˦gk/$'XxXrMڼO0fmRGJQl tm]_C\x[RFmQ7i^3{콑?؎EaP>m4,Zz$[f˃D6{:r:6A^b-(12ǿ9IVT=#fb^GRА9f!Y>wu4ohPOs^IϿ*U[{/yʢhBE]^ &+v|Kޘ.)q`Y0C.cʍjrCżoSlm@QyM CGC.w<;:pIJ T`M7UXz*t+ps" t;Ͻnsߞe-G)k+3qw*kuyG_T#naUg7Y7?E P#pCeG?I]Z0I@ǦTޫ5?7*CX }tb |u */7_>Szrjq|HϿJ^O3H ^Wmx4a jJZI0v34)|H>߳wjzpf?_}EMpL8 g'(w|=o~؝ @ %ҟ}n'}d{ZG2oE9'4?WB !gE'-#kΆFeN!nJק.ò&6nѲIcS@I?%tN5~6;EV'湼U1vOKgͳiMImiH?)ēr9F(lb UհKͭ@ RoSMrNxܴEuަ5த,ʃDC4k.]Fr @hBټ= X3E٪T( *sC hx,L5GP0:Q9{TckzZRd{RqI&c1\ +s)C4[Ut|ܐ`D~Np}R&,wkl4"|DR0ҋ?lЪǫ%Цl2tڂ|U-__Jpۃ4[oX,j_d" O0hڜQS>5DH!@Q>v9oK1QY")&5&n'<}pW`mb Zc49i s&ofE>(/.A~ c BP?\ X/:e:e:ʻS(\G>T4ۦ<ç ̏T@)>Ar;6p(V"$;R887>;;Q_M(p>LFz05<3L*Jq绕Hy+t0\K5Ns,v8nxb{[D~9#Qߑu t1#rԬ^ -A+u=,ՉezE6^&|~@U|;~&"Ih$l4tE 9V&n AanzؠU߼p %հ#+P.HYn~Y8[w5"S{%[r%\`ϯJH񎓈M8XӜG?)Q;iK^D&ڗ7 %̶‰s'…"St"R'NU2qd jvR<)Ո7)Xz潔;0/BK`ԉ||m8SG;튰La|-.FJHߊ8T$Ԙ7&͞ AÝX"VA5g󻔽oBeN뛠ˇbrq 3~ ϖAėoIwm)Lqo\AhHN"]ب$E<Ŝ40F< @|gk){t9+jҸfgw Ѫϝ򰱑oIomK!°u=F=^uV-QsAQ4䪻ڪӫQ[ѻ :z&焅4gH3h0(OH["T T& DGAua jazr8E|O뾭j5r wO٬1>TY^PBx{;t (wHNn5oWϟq*i؂@Nxp미Zʔ8;H_xGly+.cyG\8\N{MG4PU9@swhPUE#4o\ر0ʾrXN_(> 9& ~Z"*Sz609X1^xKyO]څSDxq?ܘrѝRtbwl)wzڹ4ɌVҡd> /UqDߊ:{d|Tj-k=*{.sdes۞@% ]Fda6ﭒԜo<>%5 75L_xy ,o wn]SkX+,Q 7}3SȞ'z7&w"z2PSTZ;cLde%+lwR-U'gWA5 [+W357ga#m.W3?ͽISoI]o "G W΢G;).KQgl獵__>S1/ }2a>=>d|@VK좙[:EZjC(͂.j܆p['&J͚TktTz}F$ucFy *U.tVC^a^;6Qׂͧ0nuc$r'Vwclbн_rw{~1h2T1p_+|::+āX}J//DW?4Zѹz3:M\aMS3Ϻw2W- ;m{6OBVeJ] ݮEiS¼ [X6oEsTJ3?SVt/3: sNUNLI"XUBY.ѻwQ)_vY)8]0!|6iR␢鞥/`4.~֓WXj_\EZM@|AY451fd/Sޅic.څluL%V uug&YH2|xO^ -]¦q{R._4Vhm ?aQ?ҊIpU)? R*U]tQw.ioTV,R(=Ys ݍ[pn+jh22ZFא}C]r)Z}'P1үSpշDqs/ ou1*1PYd0:c%2HhDDQ9NRÆȷSSk%pV%*߬ y+\bfI4̱Usp!L:Q&,oju1Zts=Oㆌ2,M̵whc3Jjşs2Kh@:Ї1 ଳɟ$}5'v#TPĪ}$>O]R J}hm,~]a'VWM/Julsv aҬK"u7Gcʄ/T*we$[r\&oC:~sWl;0 rM%bkI(QLEF U#e‚UPcDV|dAuMlRݱ6ĤMB(q_ >`Fϯyo"DV rj+~>/%vew&%¸Z|N-jr@i0nN{948=;T/gHDOhp& A֓寇̊ =G0R-l3'!8aO Kh,pRhRӧ:/B4۩XM!WEՐQut֖iJ6EI Z‡xoőqJ"<U|dRZ G^ha0saK-G21BmzZly3,V.4_.F,}神aXLp~r2W F>];x׫VKXѓFJg <96SIȨJ^hvAdxk(@=W6,%δsaNNJ|r华dJ0ee3iFg8l+`_N{o6Fd5`Zƀ8ldzAB]t|x[>ZxѰ,l4<]JodSiRW 2,J6#s>X&"uySM-MKq*g$z'@ʴ3Q͑{P209cDlM :C8%PϚj_ f:KeZؗ U>âSp!ٟ>P!+{]ZW0,枿n'yh,Uo ؓ -&{:*eR>uaQC|ߍK *>;oageQαh:o_4H*Wi(Ic^-'@I>W3LW +`8ZeХpx 4N_ᘃ- Nڹ 4ْܿ(Y_&%Fc[UY]7͔'&W%@k5`6}Ən@`ߠ#x'^ʘY±Tg?\^K5>%vXhsn^HK9gmt.PP3y>g_2l6h|r%E&+G6QBҕUdu^,V /5"H!T;k5bC6F<5kQ?$9+!_'XZub珛V~v[j`ne},E4Cx tg=$pocVLW8_v>A5i ?ޱ+Ytjn#_c! >ԫv4~SWM*?+d,:.+7y!gp/Z4Ng#ö$=2Czƍ`NIV嵤Gwhē{R>]hHٴ4V>N`?|bH (utg5%;q҂a %o=Fl$t64[Ìkl`N+x5^}E{?@!=+)"*Qz;EP {IYv#{Y^@q>WK+UG{gsuhoS ԯc?0ZxPw{ /M)Ɗb$\zH >-ld硯N7(UߵA[uߛ \#(r8,'JWlю,In,a̙գ{Ah%͞]AZkIv| (VM@Rs *{eeQDk3tU"wo[|H5PJ< `vځݻ=O[ZhmUmY)2"y/Й:ޭѠVYAϓO|~Lr)vĴuLW4J2c;_aee6Ѷ*Ik^x퇪D{ލn͏PH@5e#(I9DpR 9˲dV=ޓN 4vF<"Y i,Jc aKaZ~ #+Cs y&,6~V.WAݰ6ڶRh%)GF$ؒ!y}~(LRp>=T`pAV1^ # h nWlճ(A,]C>W$s7rGx,N[g\ՈHu8)C&G8I2{ks<|ֱImm$KBP9[qwM֏IӋ3͕@js.V2W -Q-FȤ<9e˄e?aGl%lŀV&ߓO TN ༜L ~n>"+ky9_=)I[14M7uWhOd J|5vTeeSz>͊*3nTW% O##Dy[=^'l&C%S嘍M$ǫVn1HPS~3w=Ru74Jp_Ѥ1 9meӼi;Nnn]qlH))`AʁVd4q:%H\Vj8lқW~=ϏEhtttul=Q9Ң'mGU̹?.h]-]"T?Յ`ҟlY ]9kJ~7n=-\(slnlfi}*wt@"Éd$ٙ$k @d,s6O2Rq'l89]\} "쪯aE(Ö=2A}<{[k] ɑ4'=ٕ/譹7 mOقй` G9:hU|ytYT9V) 6=*əbaٝA*m;; "B^Zix GߒY{m ]›{eDo#L2r?jZa=q!c׬dnapEW>Vs R@Z7zoNEKjS}9ʀh׼~}wg-bOu0=x^YO3/}d\\?bH}b>frPkÎB%By@|;EK۟O+ioZ1x O-m5#ފu7"#4z:z(?uBV1S&mV:FG$7Fof.䀮r75c,\F@I6 a*n{fN P6`qiX_=6s5ze8URT |M4_D+7\zlà%`cc h$5C"w9ʨj[4t /%E6؋:KWқM[q\7tVi \{ =gũTf5| n!e!ē!f;0nK-o/\Eeݾv?ؠq3K(|yS:LA~4RϮ ]й{}UG,}:`gDUUs#A=;ک<j2yKҬf0y3MBRº/߀r*> gR8o.?Պ݁nSOTC5*f$W6ð3q<*4$TW 7~*'Duycx{~E菐LlR>ЎK4FH<áÐmOs2f=> x9T >ٱsC=6c #<'Y @9Q{0`e0a Νw!Ib.JtCUPzrL9{[wa5v-MQt)U&#/}N)dx޾@6[k r=7ݸ9uCqi˦sE{ =8Q* 4뽍:VdX:fFG c .\7Zy&«b!:*fWH?lĂ?L'w<ʊl|iu{\pUf;\7P*pt&vg^Gn f yU"9.Zm:ƥS ^:{ >R.mgYc[ (pn"wT?=]=XMeTor C,־bmV'40*z\0v^PF+џ]mV;  \TJJ닕Y )[KZi;'H| ͸1ikIe[]| 4wtS2segr Fγ:BH.oβ QFH*┶kI4: P BMvk[Aݓk}ˁ}{5UM2ib}FWr.ԫd0)?3,lvrROC%TjOل\#2V`iLî[.ˁ* 7#[W 2ՍX+n "e `'º|3i9K%;t9 ٲCxw?B~pƪfF5½(vT N~M$^R¼Ț=^VbC[2M̗qH]:fP4)fTjJǽ0c~p)1 I:|Z$A{FsNP"mmg ҅^O;N"e 1<C$uznF@!2v2S.+I Rn5j;hc\9 t&C54uKIa6=+SP1) x9GYVA&LuMɠ'H>H+:}KlGTOP진96iFǂHj3NJHtԔ\{!Rw|BVjG nIo ~`ҍdPn;tI)ԏJl[wQpn'smGtgcKDUF R(lw;R*)J͇'ѸAFQ;ꢇʂrl2L@ To#HLۙDy-~4#ObB5P4Zl.i?Tav(N\;Q!\\40WLo$ȷu=ߡ&lNͷe BLQX6҃CDĻbkNQKz}ޘzjFLztQ`+<َC3؇יA话~lG" Z"|]I[ˀH{ .YY$9ѷrf  {)I_Ba{2^VHb3[v)KIV)+TVA䥐R|T0AW4bfj:BeǼg45_Jgq:t@^ےh90*1Qb!+ 77Żpl HSoU`wd` CL@s 0a(_8J2iaNe<+ҪSs .&mǒo%+xmu+0ӓ9xeb4]yBy{O*p%zn`=*!QYMy7HPi-~poR%tuъ2\hBQ6eLTD3V]r uXa\%<NijVLV"JmpTڲ5O-`ƟgP.}Q zޘ8=m*2{aQúP4vGߗ_0yco-YmyNךTIC QO#{ʌFR,:Lhrc\)WѧGZORp3j;ځy꡴pl`B̶n'v8? -bpbK0֑sQ#A`&Oni(9S4?3ݬ 2vT|#@ʃDd`M.Eg !HeN;CƞKo't/ۦ ETqd%dglN "t  `sL15^d<$IwI#W3s%.rEcV^蠁PE/-K2ܭ(IړpVj٤W4s8-fdwMPs*]:xNzR'ְc=%lÜ-sn{zo=*SGp( t-"*םQ09A]  ǘ'Q56 Zs-fI3aYM!{/qlLJÓWX?of-2ƺsspJujoU*Qa g$׹ֶ1m—^XMOnPRp#SySNΪY/اbu[SWX-om]օ.ůԅ5*\A(N~%N#,m=:I`ĒԻى1F9b:bGol71dG&[8yLnZ%b[e"Q 2eL;"usjtDv%K]B&vxS!61&XV<.e&w:}'WWc-Vpz:VI~û5Ku2ߧA;OFuꠗg7ݘ<&w$ nCq,6fq&e?d>B"eВ]K0ɛWW[' O[WT\-*NB-2,>8zȴӠMc:/YGV,Q+a`+'ᥩ瑳vr`c3xr"('sQAαt_PhRA2}L~BSyhByS?3b-ȇD2JB>93&i;Z'.x &.{gI}*dClU^<\0 nBRoqVrKؓ}E) ohYY'DF#Gh7E¸I~RԬg &C{}nH0GX([KRt6H5=6y# UuYd2s+p{kGֺ "6ƄHQ^]5煹tF,ϗ0THe7V"N^qW(,pu|vy >)Ʌ@E#q/E(>I 4idCxN@hvY$Wcre4TEgM'Ρ .ČarQDx̍][}8xVe8 RPetIOG_Vgۈ ◈xNJl^cG`bVO5׋XcYG[Q!HNgCҋ9ީ:uҼߠpWOP+?b}畺B V$5J\'q8ъRT٦ɊhVVU8Gx ;!wNij~*r=1MGaD1L0oFow|2Z/zR#ssYeNG(宛寰zJ²;j();EQEev5G:tmi%U¹Մe*ҹkg$7vL; <"*CGLS<Щ9}ljo!W82ͥduȅS??W 0YcwP#yG&Iޕ1Bje2ְC2pJX)-& lV⠷3?S^\T1>uǃ+G9k^sEU=해٘U.te9iZ :(`aꢖ򯸔Ƀ̳N|HYf#9Zme;_)fc/]J\!,uG3aqW!߫MkMtXw. 7{e e{~mhO q/& }?dK;E AZX-aٱԌ)+͡R)(h;%E ZK)Am& xQ@.Mg2'Î{J'uh9hY-o߂3PΪ|7ζ BO~'aMI7cK%yJڸO,&x^wnҩ .|VDO/W(1CSA?E`(#.x> H#S _.SޏPmIJAuA]$iDt6{Qbt>L ճk>!?pxW O a+uԏѨ-VOs|rt>xN7 kZ3 J2uFwU0>}%\75D&+TnHozŬ}w᭶p:1r W "W~(;8w_@a,5s"6uLUl٭>6E7sH$8]PXNWV rn/yO5ӌ$d #$QjƝ:}a@7 y6Q8p1ׂZq/c};7$'f}SIZV#\fDrKCdSE,V4;ƝA8qs Mu"}`rVj􊬧]Ż =&˱ Ib0w#\DoYUl$$m٥+"EaHb~1Tu{ LUıII|> <λK?oRk$Fz Q-SDmP&T(7ܖu#lғpN]lQ+XT [mxWs{E'`=58]^>M8XWj[|9  bǬILq H2q񣠗Q"#GF =T es; Mݸ%dg-/!J mAag<)¶Nm;M c+jf: cʳ+}?8&ӾfRD1?AOfT4|"mQoebI?8x: 1#tp[E 1bߣ|+ʼφw ]M`37V1,Z+TK ,>|IYmvyhE2ZXRr͏`,)&7-E5"!Qة 2:>`L AQuIaY TpmYD$Lm$2 ڳl"400Ŋ,(YOٝxsH V2BdZ.)wAhT1ZӏS' p*5:d`k2l5n&n-kL">d;PnwD[@41P~N=DLj9nfNۈzb'ʐ㽘[I3;KE,t !';bhtVI]RVrH,C3ʶ.{@MqB]Y{S) E}| Ҋg ~eL@\)xRrDe EgI&`c"'^?u_yZhY3Cm.PVƒwIq2\N!l";N'&Mzɮֽ'W =E(UI6c r2*PJ+67ͱ!̨|45g 8XH]p{lieJqwX1A*=F87U$p"k-r@ >0"#= y`GO|PJ+=,2^)3 )GmꑰgHq:@s`#kfAh[Q&8F&KF82_\DATܯ95(N7R91qyc Z'L-nSvID)oGىnLmrϡFeɸ5lw2x5䘋V$5^HvÂ^v뱹L 6K)kؓ497O*7ciB7o3bF75)ɒ$:-k*Y7V1jU\5 ::_ƓI#z;%ZNV,KJ{cujY{K>iecM 84E%`MV kHVj]HVeJ|Mj@Qp t3U2.Y( С7rQCuIǼk`:fNIżk;J4:Rand]WPz6칿r4(׈dU}6 Vj$3`A9١~7Ժf_{W ۔8Bp U!ψزQ VWEd'=;_mGEMs)z e]5<ıV8!AJ`m xd8`€ 1i9Oa-֭HK ^SiL (A̴8od%i(F mԃ UP^nEO8_8bX)ZMs`'Tm*Z2y&qs!|mN +d>֮}אg </}?0:*lzbӿ7$IUdVg%qJEթ>J[&l >āSe*t[{;]i7,6ÜfIZRrmĵ U8 G05]xc5R:-Jۭ6Lgch衢yϞ5vkkVf'.[+G.;avWo<_W}.=O/{km[;4, њ~US1%Hc&ҕ=MTj6> I A2wCK J ! kAw6p#N^$C9adeV =$,Z<'\߉WaO}=7 zVtˣ}iG_+㽧h'׊ F28|B<'A:V\=&'6*RYE<"{Bȴ]AS[Ϧ1F}QܬkbOPwZwޮT>[@(87j+ڒkp H ;d OnhP(~ c@~$Cp[Gl-gk|92eVݕ]'wvmJ!6a3˙sU`Fc#~Q0pHRM6u.W6/ %XB~. Q* ^N9 JY|g(|:BQ)NEkY^}fC ЕAll8#ucSȒwf;`zB@χZ(/Z5xem*k{MXֽ _$f$Sq2'nM_T/ڤ(ݸI :t8Cr'陷Ai'ۣL̉tC]9Qgj48}%o-F~=9T;B yRH6< q!ǰ=Ћs[u)MjN1ODY(^.G:ڥS~M&.dA84IltW"^aːϙآe8(q ϑ'q8q !&zp4 e|l:w2=~jmeWoCRN.3tT} /?WNQXƜh 2J} #2K![;OXB[aC . DESc3TKG6Y2.b z:򓶠6>m+n;>/- XyuO474aGaXmE )%Щ 69r㎒S[`Ycӭ6GFiyNeAuxk(Ly` v桘Cu67~- k^D \AN+JK)^<(x՚UIALJ"h")KF$^{a(eMUtM@ryQHmRƂlJH_uJqwIO~&ĸ u;Nj#`X)Mk :g$icH dBϡ!10IΏFTf8紓s:X"^ZV[u핃͹ yLK^:E%F>UhGɕKjŽh6'ȨU/s%E/= =ݠ_A?7|DŽWpmL хMlxȃ7'$c.YJ}Ǹ82wʹTcf*'sR(v2d5sE L).ܛnА ]q>>1F YWVtH #mϻ/Q#w_hYɄt EX<ֺ=Z?ĺ˺}l/rAeʩ!ft={+x섑޸Nu=a?~6`B{h+b,"s,s[񭧛C)#?XuP4Lx2 }̦^~U!g{xج2SMLX썛j4\.aM}?6wW>n^dr]NXL{`;#Km[M2ٙabA<)jH:)Iؚ`P-䷵[ll_d=R#(iZ\W~J9i4&I}rKEGࢊK]a*eIOp`;(ѠaPk'!I=ciw -fzt&x uf%ck1+^DԁŤ1PnC אqPclIc3I(L %NI| oAbRiĐ[yx:v'N3B&.zXJsUuC9ևP"MIE:yWMič&v+VΊ( DŽ+"5k@V8S QgSOJs B༖ԬuDzfo\'#{<]vϜ["n CΪ+ 6LU.;mpCOq_,͕}U dCQMdBb(8> CP) jDŸI@`"4$fvƊ rHL]*F,}̳ڷάF(ujԻ9:u:s(} 變6{Öh79hEd&C9QuV&)'e̓U#^=4Z4st*N렀CX;z#2"ɒA6CUwAYv]Bʬ{["qu=&K W>Z4zg`PQo(M C43):vS6owZ6 ٮ?n/J ,j]vy3F3S|{z6؃W- ]Ԅ˝C xPGj浀QuH5{M Ipd toҕQ${1.u!cKpC9–8?R";(I^ m,4$ O})@>a<3_`!/3Jm> ;zmtn")kfNAqOn&kv\g6R0D+a8o_O_/{`zcdIlbHщ!8z܄ m$k͹ o']LAuvD1Ͻ):,f*Hث) "O}1^gQ:yЍe@9_SF <=.NXc3tĹI{{)>:-rc-9m|c.ITj3[QT ig0;W6W',}Ԕ눎0]%^9xG)Ç(*”^|>]e!|O;UeAM^c|r.a KPA1UIIW*M[_Ug|:w"Aլu94DLUxAR7< 9uxd:*hLC'{ّ[;9nF/M>3lMB-0QpڶlSD!uH _Y*L-/|z#$s6AӟZny^ա snmH@خt{8~Ţ.+ k`PA6db/:B0l6{m;- ;6~jDW&OeR<:I!Ͳh[Au\]Yd>&#oOMJPMp뀺aJ]TiMdć]|iY@̌ϻܣU\!+tF\ kCQOjV38$qӛ^'-qIJ@%^k2a0% :x uG0<2H?62jZɜ,kZ(|RVhLj]73"wO+߄-vVIdmcD2*nML׶^²vi<=1@r*iV3~ 6WWZtO[Uj'ZRM|ˢ?+ե =9{.ɜm.`pBBbw.3>43JV0h0a`Xo槳<( V.`SpZAό0"}X^WԵՊS*ݎI7HId)GnEOޡIl~d~LuY< @L?: 7ZnLM9P,t vlkeCS{{6jiGӴ/|SOS+s!s4w@'+&[3f{,ʏ+;99% %K8^1XWέ.mBuJ&[ۃlw%uG Ui nUw٪Ϙee `u3Vm)TMLZ_¢[Hޥ B^&x,Jz_kC`d}|}rDp'"lU:&ԇxK$w6jXx \1ABe8KCo[ Wꬽv0xǎ/zْяIP4>11>z&F?3fʆlȰ n<2ᥔg&8 Aap}EUotUS+aiwk=CJőV$٬;F hբ'֬1JKzezE(RgjuM5pmŜ2=^UzTdA^ [6޲K=ֶ6(/JbګT i8wqn (Utz5*vu*썖 4*F1"ngzSۭ(xhS@LYԲt=Z.XM=0a2"W1DC]/Ond3tm06k|eFsPod6OA P3I&Am2uLkRIMi,\s^LOb4 +?3Y?2v7Ί.Rs|j:#nwٺlQmt%N 'Ģ(u4u7F1J1=FQ ie=? Ig4x6>2VKO$UAR%{eG5Z5̗v#n뛃 ^cun)NtFq,6 ^tjP߿jL%{vf3&v |r4qflF~,ؖ&F\}ƠQb; d%lp>PHH*F*oBߧs*3BT<+x T8!ˣ*2ot#5Q)!SmC6Wmq phR6y.ct_i|qhNH~'" DD)m ״OȱR_@h;!( iUNU{{zYJNBϭmPE#\SԣN<\&]NC]H`'sw I w{ʞᯌ*'sc&yA bd3Bc%y} S["آ|&%ڢ ]FHmr zt9fb4B9ѤbZFkVv*## j]7?lI506n0,\-=Bz'' K's) o_`upFkMGS"uqZ &<r=䛶 :e~'8ꓚ(q oOqs^&W1%Zws."_Mk;*h>s'In-!nq|dRZ+[m8g3ʠIDu"3q;&P'x<.lEn&×. BiT ѫykP9Y)eqcz"Β*T]77k(H6QH~R1C{W|uS* ĥhky7,E%kiP l>Qc$PrCA=7b塼:&te&>Ĉ 1{bng߇E.N0࣍HLgtrf~NT@}M7tDfV`A k앁;{cCfeΎ#j{ 0ų ѩ1<ʊgAq(LU.jh&#wo6FS&J]߈Օ'׌fD OZIWEn|<Sz24Ɣ[Os6:{ع`[!tWf~i:۱2*",!d x#Ы >m4.abȋB#ug嘯IVE2t2B  @8 l@loG_.&քcZ1zID[;[sNJ 3ZO &jrT%Y"F 3p*+p*R [S.Z]*cKeQW{n0HvC9MױM݌ȩ> PX:~U ĶgfP `-rX(( ^yg[^osZC72ѺDp3HKF%X= ް;>ڇ%i7ߋ *siV_n%T2N51x΢ܵ QC2P ce:]ѧYke5BXىGU9B2(t8yg#ޤ\юi E B6&n.+JNh\W0H-q v{jK.?6c0||B6cq=f{9Ν}o&*2@͢xd"#!7t<]/`Qba{\H**SV\]C: \{*J.A\$ }r 5(!EB4쀋htrB}j1KKA ft̀2hAeAdzh1R'dTr~o,rBy\Ʀb(m h:1x Of^qL)-~ǂK0F4eȑW*}L ADmJ8 b}([-a?}%Qd(eL*g:gV4NԿKV9N|Ծ?3sHr>PE^DReϞYfq#`e)LQh%+^Z]Vq 灺6BV ٸ}A5BVG"TNŖʪiجA .tOW:_i<23uESrT!NŒbh&U Zvq<:1>nkBzGČ9$2n`bnm!eSIӢlZGyUK4NN鑈|U)y9LQw$*_\=f0*#`CVo3Im̩aT=:!go%Vʝ,Gp^d n{]B!3# zudS]:Z@#hƓqd+Y[e&"(JҬ0/MϟNuax N<&vҵ7(k䓓|HC<Ó{n2Hݙ qikU)q7%fIsm Jk~yo<]~!/s :&l߫cHrvU rtjv eLH?Hwy39wDߣdWXȤw#cr8gqWVF A0`)),955@jc-<+֟= ѝQy"$Y!NGҔ :Y> pXШzVvG7e"VeUexXG;V*l&zG]%*Zu\MAMȎSY=4WiKϕ+qꍲ]ފ!ni"h ˕SHtIɆ}|;6l5x6,'զbN5cI77\m_sOڃNvvqnl>s^4 `9m};T{/(-2SX~\Wr.J a, L^sX(< B!Т8Ī%,rɍje٢uozfkg ׽8]>eGنwCЏ>{Q\+(1ʹhԱjbT* C*aɿD7JڰYEGd' 5KgDOf@,ov~w@N[9lr5 @[&DVk:8&| ^{yi-+]A$ce6`>unڤY8azX:"ypiQHu ^ļ8p[| UXyТ o}aZc57e)Fُ:ծ:dVګaA=IuFVP;o3 *f7a`˽uPH?[rט7b=9&bQ5T 8t%R4Lni@~ZҠg֎D `hf>^])%Xs MPhr,3NS-dig*y+BG_?uN˦%0"w-+t-"n?e mX LΪn46)HtmBjBϛ8eNJ8ORr +!H8ޓv*@G{ْ'.X[NwGx>uu8I6)Z兎bnF#̈́Hݔ.e(gx儒u)ଜIY!plRn;tUn_hpCU=UNU=g%)g*4h[=%XE=|*OZQ魁H4ebf (O(P$"cUVl]D]3ۊ'fF}x$wkM̙B2Cn#K+ʻi>hXLmntʍAŚ[촀Feűнx7G*vU3 a5:_mY<;ba~qxv8&Dt.;}B٘sVGqȲc" Nq<<[ei9]ުij6(랯7pth1Őɷm1;MH,26ֶxIaXp@Bf%uÌON!SoCnw2eױ;}Ь8Q2 9ץqU tyY,rx;KdoUZȥޱ0ј qv~KΩ0:sG5W2Rm tuSCTG/VvS. OTo?V$UˍCpcAFq&/{yS39AAƼoF?V"*:_G}Dt W*p-h0/1kkؾ<)~\Jɐ9dn[J cP eK_$7$5q%@}n5zY%L>K0ex]A̝Z|ODZ1_g4֜'s&|Z:1Eg ݔ6Jؕ@}6ئ\$тBG3Yj\焤{#좒L&n rŵr%fGH78a/TذUfO {&ah{W*UpJB>{ͺRgӚIQ"!OYdԤ" wʎ6| '|uWRip6ipZft!U@ R2(%RA dII֢EW!c<M2 vE OVԗMu FVaeoQuJ;M$Q s'P=)^e+L*k,/aX8j5lc|j_[3. y5FU]]OAϫ?koҤ,}{)7KjjTFJ*a qsi7QY:%*٤FH?IV`=9XSm7nO0k B ў\%;Cc0ڍ8&r4<(z`q,˧HYNW.ģ*X"ξJ3pÒZRr&0 }#3M>iϊÃ08E%'W*פlc2.p\.蟝lЌx@.ګb#qxT`Ltܾº"U Pl *ڡL&,3~u?uUUd_UEY ɱ%Fѝӡu8;"."uб-q겵/r~*d1 '*aXݒq*=k'fz6ڜS<h sk  ( |C9 Gی-Ε f;(' T"X:Y.M@!#'uzdEHpcSh2SOqRI21xv׉2izV_<"v*j-j;_i(3M:? 4rKA kJ kT|Yޤp$Mǻl/sBxxb*pޘk1ߨ3S5\ a!5dp93[6ֿLRtQ!{N2eD q!PKl@XyA rGޞJbbTwNMH %Muv3JyF7b>f{v ,p{qxKb+$ $-^]*`_7 6mn5\iX"}m>>. 0]Pɚi.we3FOXZ;sW"Wm&,ihqNے4(y)y#lNca ;ۖ7>8>J ,:u]&̤y̤6Fy`V'Sk/YN;z[Ϡ9Lع{]IQKMbd8reu'MFi!2懵wcMr핂xYƹaIUV*_Y[+oF5[UjydޚI J#̪`Li# Q-5hށaPoV9#[t&B@z]PZE|!csj'>9?ڧ3kf!C1C99Uhϔ;9K٬)hF2 -;:tasp$O՜ՉAt$8z[t{Z5z,K1C\5J< +yΔqX[t"3'+LiV <ҕ\_ τƙ!J30㗾M 7J*'RPɒs\ جh۹WamZ%ҧ66E[ SNVa $gSaF n|V /7NDCܣ> r;mѠ@;BA$:45qGVżhUK= ,vŸʛS&ǎv rDZV68BdZu0˝nTzilKsx U塔#H7fUjiAe~e+OGMZ jCcR »ܒ|J^mY?IOXƂs`J܆UqV39Ž12.51f4uT&́4 V/-a.LwĆchKG8R"IߛJNl H6eѨ:#_:c=]9x!eVMJY:BVf3II7Q]>4jhe{ 4>,JMmONJԍD 94|UO=XE|.Q@XA;$/^R"8hK Q,! wHttÕX-t UUE)`jtlв(,\8IO{h_.ʢp>H]<Ǵ7p}A_`hE'Ze|VǼT*Yho㮌'^nj떡]H_EYHS,L^lqdXḾ)~M-_!s<~q#Co8CŻ-ˡOAƓ鎍"J*!%#[Y פa5#mgY_EQ8۞kl܃ Pq܋Ħ͠p8k^6%Vl]mn.RL0μDvi!>awcbdtJ;nb&sJiU1bM3[2qUWiŦ<w󮃏]_0mЈ,1i>KۨOYq/;:F<& YI,Yy'F$ uO-g=Ɓ.I7^c3Ul59z>h0)F'ђ[lk)LgM|:$d<*'gY,4z@'ͧvA4owd25l1/6v # \}U!N.g:SOPd֝+؇]HP.ilm3To, HCM,د.;kzb&[Sɳp$])o9I `,{41}==K$fڑe~ݎr]1눜:VވYϒ $|p#ǬZk4'sȕɢ!Mû…WǴseI ՉF H5T\Kl94/97"$ӑ.nScߘU? h\Jb\db, s3ֻ6*8eqрKVq>{ ƙh +: ̃ /e7Z}Uj/5dJ pt,NcXKԩ'Br~Y 2)1raF2eM38FոVvдMC$AY{ESe"kt7> j]M@ڙq0Zȡ$2|̈>?p'.&(3O)+T84eE;]lתpʕ\YwNÍ{u2nP ghV®?/wǶJ^gF+׫ T D>mZ$lHq$|*D(k0[.cOaT#~UiSܤi!6Q tԴ=9X_k}YN~{z&%k\"mQak;c-s%S^iy,6z \6MQŢ+*"K`a, {`L\R:ngr7Kq#SF.e )&d $:Q=oe:WdzEKb`:CEYnRyHQMI2֐Ps:7b&5WQr ~\D3#[[[Iڔ9IFLE@Z,nt YتdEh5ğKq<(IwC.E5Huqyײsi@򷙟md:Q`ՠ}nLA%[Z;v`Nd<s1j5_yAT(ij,ȉslBBWq0 ji6,z(t5U@ǎ".h nbZʝ4&0DYEcYNwl5 @ϊEI|FwFDC~Pq:-1 k"+^] 4M&o^jNDbe`iSØI$]Mr2F>ȹ~oܥYކoX%Ga+ ;h5U46ꇑ%x +@QMA냪EU`@lU^2 7'Y6GOґP'-/3ForɉXä0KÖMݓ!Z`F9nѱ%K\6XͬS'6NSC6{jz]aPL0+Jr 7(SyV9t%^)d+ h+m,U <|#16tQ,V垤.a ';f1CKC^5]W$>'^qgFD?d6imfﴃq*H+TyQXb1Ka`N%]|T &pC\B(}1RI:< ըJ`gԅX~C݉*B^Pb5q4&8hX}+CQɅ,Ac[.=Ꮢ,@I*u'aW\Ltt@ct{׎r? ;YEgّHrj3JLCw#dQĜ |oDnDFn=܏l;2P*u#oIH@So@xڼy QUg+PHVח/уhN(i0FfJ [6`v".poT=2'nRJ>ʣbJ#OxdB| r'N3 CBCy'7 w蚳;_ ߄gWfA6(ZȦJ\"·-D0%NzjEBM6oJQUZme@BMUƂ\Aw\CWx}{']kmh'UJ ՀxX11=,OMSYrjj67B=)}SY$˜as:؅n> {;ӝAPJox^"E w]՜hɖiȿ j9_ E!jyR зk8OH{6Ƴb/+\SP2wMz\Mͦqu!4Tn@GQx"آiS!%ݲrd|GEօP$X"E-HZim&(\^[qURE)a8Q?435 KE8hrdCB呶T\hi5MN2쵑=~&VK'sA)z̊{{ww (R5:U'NWpnf[mNNHOp5A H܆r-FRN5 p+"ź'iE@Ne"W 5&EoEtB=Pk5ɖyYNʟKAʐ'c̮kLhˍ8R =`AkCVlaʬ0S*GKQ{ǁFDXN 2PlB+<׾"apb[ $NQT{ ƨLxkrƬ1|%vm$qA)[-ASTk&lpuQQm$~e<ځ57ɕH>|W4=RqLf~&RDjt;fYwR'PbkTґN|>>}0.αӀxv[t#Rk ''GztBqVWԖJ&y5^Ư~p ֟365[=Ndf{sO}!&*-sodWFd4vJEg[ZLTQSDBxzD[ߣVm!,cw&Qo c-zS,JVq#5X Zǔrzڮvnk*L;5?҆p4Xd@d=}TqjgDJٵcmlwCZ:߫1LHv;tHŏzIhe_vJ4@6Zqyو3R\cd2A+ˋT&,0lv!0,?g$ fDר;2`SR(j[28._m1*4t*Ks>]Q@;dKc3$h28Tt'3Hd2 M s :쓑ERj2) d)ZB3ld S$@ ѷ%$;a<8ܰ< v187ؤML61 8{ElL I@,q{3>`d5+uq] [Vne{S.gVML@Iwӯ[/; `ϺwQDH9}퐳(\Đ|:!۪ QhD֗Ӣ[ ҡmSҦ`"qH*aEGr 7ãFF9~~¿ޏPaĀSZ fcC!6PfBA>JQqeALWHfRn!37#va7O8~"pPA VP+x-d@m` f4&6Z&ctt&:tZʭXfsz>ة<$*vN]k }Wa8c(Bg, RR<@4WMF|qGoRm]lVm_*Yir+sRXnx f<9,AY0te\5$V\]镻Ok_|_Kcy^ 1"RWZ׳f%YjfdLI>Z3ӗKnx# %j\7 $'|Mѕ_] V<''8K zsZw%χ{0b31dh&Rm:R[p_M{+¬I=J$k.;^)Kچ(by]4_:qVe3gPZIAF5XgVF zsEYwW3u?B넍 ځ8֓LK*fܵ$zeݟ9䕝1 *TaUơhR1J3!o386kYW! OQ&CapNbDP #C 'WϤ$Mcl<ˊ%/k3@t’t)}JVBZ|n&ְd `("fүT,9Q͊IijeHrtN[#j$GZ3Q+dʞUk,2~GG쩴|*J}PPq< ܵ"釿4Rvѿ3zؒ42Yv i'_d&^iGږH(?g2V1=VU`8Nn$tJy ?WEͰյNүM&g`XKjU{R3Wb:G=jlcM:ω+Av5QVZMPO^ PҾ0:%953B4_xS uZd S'sьnrBofg BEd: ~[:&ڧKPRi,]r ZXh=35W1ZR@: Dsh=a5o؁!:,U,7}<ˬn`$5B_b˒G_W|Sߠ=\Regy5Kۃ桤q'dR#8R?\Jvyp@}XM$EKI=y(R$4PXg T߮Dh8 u eĀ7 @Cٷ"dU|gDZ?X+Nuc\CT8-Ԋft>B (c~eSW4u^݋㉠F7Nr1W) ǰln J?˚ܫ_,` u)>.[Z ̠CQW3>]jBniX|5εv tB`~FWr #OFm.@ʃP( fPaWjhFWo%&^CYd KU$/91)1D׆&SG.p{FHnS@'@b>IdTe.a@'Lhm2lhRb9#: ~T!CBR?dAü^N9ɱUf=nPE=)WyE٩H\‰1lFϻE)Xq.JLqWY]-IlM[)z?0Fkzam4 =f ;a>OAJxTnbo'ۯ=!`1$N,퟉6>ɏPVﵞ^bi/ac|8e$WpjL KTSu#S E|kdIm<R֔2wFk;Z(`R7S/Eb '[6trv4.w* ڐ{S| 0I퓎e^Sb'[+ies}KFft!XwBz{pbCS@N[J`bLN6M&`(b˜Ŷ[KgYcmŖl̝|=tBn@2j5aVu!7Q8- ߐ"z_W jqr dIng7n:W5v̌ծ< BUsJ9d6YbKMxwd11nzVTߪ)_'OxJ |A1 BT8Q@MQV<.pdLk C"zAc͐R>a?LS[gi65]vL]7^<&ڇ<3sI: ݰ7Xئs'T"}o0R }{閊͛Dn#'ݶ2(Q8၍:/K3TQY(tEO"#ȸU.#6YXNwťT@ ƥ2۠&V<1@AA(xŔl"xLp`Y}}'"kBn…KK(I۝4J#NXNUUrV)B< 5cRw?hhvF+[$a<3fVn{AI΅6h[6l6LMnKC/' j"uBn V2UV%rت .#os,8'7#te%+#ݵွg ܠiOƋkkH`MvF|uCd0Ix XyI˺kdyf+K?drT3?ݓ+N?b;:n ʯaE\Q>2cЏ^-&ҍPH,\-b Ul^OVgxl~ M{r+򣨘mMdS$@.QƝ?b4ӟֲ8YƜ,oy"o崟XH1cǯ#>N\VÁ_謿 %8X3ZIfLL%ڒ>z4*6'h?#n8F<τdX(|m7DUǢj6p},)N|L&Ύ?caC#~F!AsN^>#"qXJ'D7WBԠLc{7#RNӇDü\ʕF {xSz^릂*]Wq9cGL$)yӊ#tpcM}+|F)l}F'!?ihJMH9G6j|OGIw0,$XFv)cn(CSMqKفӭ7'debNɟBʂ()] ۗt~=%wkmmзVO.NzP᫽i6V}9G"!ӥQq8tڹ[=`ѴwF{d!=9-}Xݚ+OV m^s) QIֵj9qBaY@ZOt^}J3`n{Hy8 mbϽKp_BB1vw/oHF`M.e O홴K GZ`N, _kQH]^4tѭ;Z4f nG]GNl}2,K*gV;JXr'YD NRaB1ĉ<%H?j]KHA8\ׂ^H1D:G*$gU{꒮4qn>vLI?fӪwU` ` 2KK{.]Dp[LݦcW QCiytNUc7eD9 ʧڵ& fk7y-6!cʍ]aYrm4'r'>O~%! L3g?y>fECUe$SKq  Ι o_-bGl2fxj?wiݝJA'6:~1Odz*:s6Ȇ gpGغb@`K$ LUG`E6hq>im߁{] > #v/8}qjKQ=:\;PG2ɍ9O7 :j-ҡ)sԣ(#KF v;[7N4[JIMQ^K s-b VRzfS`X^9;A4ēA^W$|JB5 ~4YWG^__SxIS^ҾqLi9d]Y:JZc;Hh7hVT(ލ2yzM냣xu',e&F /֊E]ޫvpF3v%Z&^振0X(D!Z9{MKZ W+)Liufo{?ȭ&䚄u]j6};{ƖRKrR.CyC g|zvg4z7-c5,W$ luCʨ6F!\'8^eLޭe'-h#J#Aăű3,p'jJmR~™AsH1YTA5d;.兖o;dԗ2H@>XܪIBk~@\aK 6.GVߞhh"Y@KґvT׍.be>F]>E {z$ɮ ~ '9s*A*{NZ{2(=ؕ35)KvV~WYZgrS0wF Mf殾 mg;̬d=1E m@k%_b>vbeyiGa*{c. 1Cˁ$jͱj]\fpPLP?[eePo$BlC}Hek 2cTGJu~]^CW&<>gltC1C)xMl.9vcݘUkm%l?ӊX+TVgwrT?12nch<8DU 5kj{pL}{H٘Ze)6 q6 X,koc9@=KA"1+z˷K Ǣ cM1f~ʥG*e[vdv>ŤM|uv;#<6.aw> jsuXB[_D2᪏.Hjp=wLY o2+;_:QB6]kG#AL:l3w-15Zʂ{3L\]PU)'x2M"F˚[j ab Wy)A9}DhʧCDAY(=en6v>.]9E*47æ>x&=۬|Tbܝ uݪO`4|$Mu`|ItL̐HP@ R쯜5g:\#2[y7p-R{հ#;qI21ԄH*TXę)1A{Q%D]XMJZ⭡8D̵FHy`7nmhb~}HKUswLZZpA/ /M[&)ۼE qMn>Kȍ/+@ʹu;,t@&)78FJ) ;VP6gʖzB |?]ycAt>^:r=YkG_;uIeK3 2v!rjю8iLy3oVN=.-V2YND&פőP 3\g6]+fP"]f{r`$$E Y ࣉ f%7 B{ W!us~h٥g:;k[,&#Q JvQ8e/= w|nmUz|My틠Oߟ,=1uVhd*D$V҂,ѕ)U::pKs}Nw6k"WE*dSqRp܃)=UCnY B(ȥ\sl@Q[OWCm- hGfCY< WpڱEkn'(b\O9:Qpm.DsXBPZp͔ba@VpZ7 l˴vE@`Qٷ$ ?>1@nY/@'S}pET?p UB ]:4) QJe)8 d M%ԍ/gՌȬLDcv. CJ=yg:>?vmcsˠH5 "ĕ"!֎+.G{skaDW9C@DG)r;/$&eN_[ M4eGC'fm~`NJ(#7[Ro-sXp3r 0U+*᭸UYm.>.헫(bFp~AΦI=6/.-2`jeDUa$>4R\+Z^_0r}CajQfx.1̈464%Ocu@GlX@#S\(=V[:dJuAMڧG= 0^}_(9y@2 1]8 z~kHrHo<D2^g3ډ_,F9~p`E lBl~Ȑ5Wd8f(p z/`NĤDtʇ8U#էz좛fTQYFv@5 yX.cGXV%0!%Ps "#dr[ؕJlnX/i H_ろ2OVKBt!G \uR2#+mG/qR t,1aǸoA զw}eknHɷN(^S |-2ų>j]%yFT!!jJ["JM50쓪FqsNҸ< 5?{mQt::Bl]ws*$mg7' 9{r\_ Z R/n #/xgBm eouekT+ Z9yRޑ_3# TeI]%FbQ^BGobK}}'yLy>Xu>^:qm"u03h!.g&넨9>o;~5~:gd'2v*Qf2Sxe`*xe]!CW7Z⿮?_Fo !W0_%{ڴ}X{&yy}:S]qߟ e51iX!9l=%{0B/ -[DԪ :R!CI9~AW)hيF*x6jqNQAHuTRsw>OfKJoT [S4S㥶d RYT(׹~Sf;U-4Pj4{ ;J,3Qvos,OG}*K3`SKd%^.,~0v:0;e1c'd0VzOraW3`KR?DۖevܲV\Oٔs Vԑuk[^̻%oļW;)we'CgxE2]h\ 31:([u^GPcrHNR6\F\rZ!r} dUøHtWfY(h[Y7 wdLȳŎ/a4iTeT86qj[4jDǘ_Plh~/|ڷ]c܃]D%gl2~_a& _]dȯP:|)p6(a޶m3Ӆ*QJ) SQ'ۅ\U]`py'kYZPyeoWB}3",|/I3G וVJ)ǐj]l2ie& N խ~ӷJx0o|< >pDGaTdtƐ}Jxi,ierĵ Oͱ+l8gхPlj BaюޯdN93 Ʃ)J*'-tB!Sl):ѪYn@!A,}G)GF`!Gp2#5D{zavfYJ|[ֈ$ˊE $Nސ^`"À(΄yʻ6g̙ mٯj$mm*V dUޙ* _?p7[' uΚ7n suO1rzcI-v'ݜd/ F|EV0:Tǡ3lκEt{N|t⸳>{uf/ M!RF Ri#W2dٺe^gymFnxGP"СF 'yQX{F@4WA?RέdSfq[!F{GvIx2c LP_l jDRyid*8ѹ>Y:ryΣcm5C)&3hÃ< KhwIeKHmkqvrd;Ac]# @pMc=El:D~gIdG7ZS-% 5('^!DA\hr(ݱdRVȼE>PO!?ڲ9tF4`ϫOu,ڙ孻CrٮI#M TW8ɌXr`LVon`贛(#m Z;,})SvشJR4T|=R-Wȑ|,&5mfaʡ=Ł #VDO&6讕=,f:8v᪈>n>um}JLLO(@U\X҈+q:C䟳̱:U'zlibN^zyQ;SA >w;NHѭ$ec~܉͘Ɖ(Eq!"Ȕ6[Y 9&@]W`}.OnY8VMƻL]yYZ8>{C6J JcN7x}c9TWކ؉nw"̾_Eoψ60{[P#RҸt3b P>߷F.)$>[[|fƠ 3DdDCpPrT]Ŋ۾G,㫾>8ǢRgz1H2ﴳl)`9a[Pa# 1푶v&M6G:tpZe)T3_qIxg @Tv4m5 F6Jzbxcy{'5I.Q"oGxy RYڳ!LNxZ'`_KQ}yw_~0qڨ=I2+n.U(Z2CoA9 @qgˤc)dFގ=L!1<0lgN#9475 mѴ?Lj΄@!0ǐ>os5P B8W q2i˲^ūt[  weTB2uE>(k[Gm96"n48ӓvn4?8Yfi^QbN4ES2N:-&' / ?]KC8*hr2__o=-r+4x, `F*VT ;c[q3;sEv5`&>( * nwE9@DiMyKOILz ~!3`s牴~j]Äj1F]h7VPV CS'7g싣#,ޟ5N 9NjrSK50 倎|xO屗X8+O\M8uh-& W !Lդ6eܦf^i58$HY$ES&w̧1_.wx-R:kQ5h_@ `&vYHm7Dk:y^:DR]FF4iu +$: qWKO!OӍBu]a ށGV@]exvgS'*X( " +)%R_6Y\L ZRYEtYf.eowq{Puj%ڮFN|=%ጨ1k)Mx6zt ̫()wشPnk}؛MdPXk=ں?^A$5+#bS.#q$M͈\IG "jYmݿY,mff5" x[Y r;WeaPV #/$mkrxJ.zވm&%;e! 5 lt\)6\S}\ q۹D9 i-9ڒj6t r:Ӻݪi`01hw  as7aB(Ŭ:1?vQGI+MM@ 'i[ɫdhxfdJhl:hvhT:S6n"6;0Hq>i=Kc\m LJۓS>y!Qk 'S0O\[0ftrH/*(? ]AFuSDcks$3Eg}=6 X4xի !-N<,L}ccͩj5 [[ _X7#`OȎ>Hp0ZN nWFS_ߩ zWYY8NjewGѺ~Λ^/(Y&kPJFB ;.]h` ye=#'G8IT5$`bW qWΌ2錘Ij/N[ng~#[+[_2ݽWednadŢZEvS#>) }*Ro/a.S ˁi–(cJ*w޼Gy1=a^&A\Q&X.ɜ)Ł+_[VʿIb*ݒ).6}!Fa@s1}h1\6Y!~ cºZsIWH'/?d8SW٥ΘOH%;!{LA )!>hku[ !V <訙YMDiNC^ӥ5.︎ybm m#PQ18R\\"3 ^b;8QpJ CP@*FL] $n}Fftv'V{ɐ֍PMY:Bx!p1&/Ḥ -Ҫ5b#rNޭ+b1G Ro<%c*$gIdpn8p<6(r.IvM:`,䮺-ÙHe#kE ࡢE%3 Z~ urYƑR 44ϴ,* flrj5gg .*-R6{n *0CAu`{flsF"E4[H GֳNJȭtZuq +g[.6e*l*2q܃E%BgY: 0[-Ǚ&QRo3N=wZ 7Ga!<W*tjdp״wiOHgŷ[By3Jw~R/|Wsc&W>"'}"k$>hFQe++Ym-RyfO,\F#w;p"UԲrDk_mʧu}9-‰D&EvRz""eJxUA;Z;&@* 7^բAȨ-Bfmn)ҧ][6+sjT }?ʔ o$:W˙ (ʴ`ik7q45ZUhk)̚vJ@beWGi&=9{}إju%f7KPX\,zs736 hjSP?Tr*޵ci] ILBPqKu80@¨HZ_hT(7 Lȍ$5# *+Lc&p*oC?ԥ2D3۽9EJPd!ۖk0k ERoeĬȬl-5L5P'g4( VmֳxD VqdNL"{bow NÍhSiGs.thsM<-IT!kFse*i5)c"ɷ)YO#[׽lxE[W\}x;'f\4\k}m> bz _iɚ%tsKe,G͝_ ;F]T7xjfN 63Q^L* Q6nJIobʯt"o?XusSIټ\U{ +o^Ox9C.G` N،GI5 !e",<$î4QL#7Jgd"Tf-?Xt3ꋱ:: doJg?/ 0/T(DI͒DzE_7!õWs:f3A T 3Q (&Δvl|rV/'(YX.GNPx{@CKibO]؃ ̷ g(T6#WZɍY|sJ]zt69x/*™&TAIظ!'&MQ*:ZTeī^ʥl 3Qڬ# |#luuL"P'N’jǚ9I 6gb1?n\Q 5ڼ˷ CEI3-Ĉ7khgWu7/U3?L(^RzKA/!rz=F?'Aj:ZBhC !Ё0Q4>'e὎qD[#uH HSC*k0Xfj :=_6 _vSn4K<{kIw͓\;Uq',atWx3P9v8͛bl|ꈮu2kS?#5zMN)6j)ar p/9MI4ψPݏ|jd^E6Nֈ3mK'8UD(ra(EUW a5M%?ei%@K Wk+PJԶb.N8`I2g,}2ܑV.$:~8UvOx[ѵ%MW/In7CɅ QkVjm;rPp2oeW:VWJAq#Rԏ gU(i+2>`iVKwm~R)D^[rXj zY!+]J:hR7TgS"p54~t@ 8)a|OqiP,~|dΝ2OF6uC(d/N l)H PdWx!TZo{`DMthOW=sTg5'޹ׅA!=TD$pPط\)mX#Zi IR8׋Gt(ug.AMC}Ÿd9vU=C%X/]? swK!I2 \P;ra E7Q\7j~QBG{$-6|Oߑ;A &U5s1iԜM)t' Bfpwvpim\'7)+[fↆ?;auLyd 2De]YQ x>`'o͟52E4"ՈģIR~knp*KSbX N53Uښ{W)~F>폃)Jww+yg}k \h/O\֘mgTY9',7)_jhbb#\^I{O@4]1iyL&i9+[AV&=Gf vxRV^qtF5fSoX_}Ex&;aS HfiXǩC P0)90KLCJw76֯:NLj#I\ ~K]arWނOOvpc=FvuHWacW nC s^7 zpgO+um!|R9:1G@ObDvƴ/CR3VvzhB\'U}80 ^A@rFыs:H3!A8(X&$Ob,Q[O&t1(b|H^ZP.w]yϒ5Zl\sOQZ٘VOF7@MmSӠ1`.{ٍ5#Bxn.Y]d5 \Cru( \VwpdiL)RkFxo-L /e]M9զE$=% ڤW{ufnk?e(gY J?%>Q.} 9оāD3\ PƖJS 3"^,ka )&>unnzWW_I+kjP` w8$ /ϮM9ݩbOu77<%=4D>!=Yo&[ eOY5(s&-"Q,9"i) VPүn3˻ܳViúr9SnЋEZ0MJ {#Ц)f,ols'RVޥ&MvAn]p;3d$H>i4m* ,x=_z_S&H/  \⡉lMS:3\'XF|B]CURcc#BemI`32hh?Ttc+`_/k4 m,+vX&M82%i1(]ZyL]w'QaXtC|Q ̈(<13wZXYΤ6Ad @1 օ/u!NHUhD^k 7dE)}X/3'/߈vQ( '5qqڋ8.dKB&#K݊ORG~,KK [Xkf۳ PZ WeV /ENH';V֡^q&>z1QH9fژW{J8N".9P4ͫ 1Qq3Y sCӢ2urCx8t&x}oaH֪'FxפUm&k( ): >H`˩W:oLH9i\1I{)6*x<2$[ZO)bk 𑫨̕BY؟WYf~bA#CzC= (􆉃DS@3 ؃=xҐ" „(fws6B$wHl8k "0Z P"jK=1uXy8n65CJ)~]Uٚؕb?4T(3'E2v URHuݗ=]bF^OQLwUi enuvT*M۱Z2m`N5Ys\wmOhX'`o9g{OG{Hh+20.oe=ƆEub5h47dgu s;Rk6 TtT(0ie@ 'X@QW@[@*"qRtH8諬-R96,}*-/4Q1l3[8<]Yl_fW4uA)Pmϐ9Oز4GVWmD~z@My4霏Uv&j@פט+-/c%!FJ? fGFm}7Zs@A<3'hRjeBR5`|}k&@߇JE% 1aQl*6׳نp0 ZFeĿAeCٿs8X`1Ƭy\XfK^ILXCɳĝ?Z5J/0Y2\)L:cI*]{_&=bp1z{̥ZEĦ=0)bUi,J}R;o? h'-ՐEIpolqULg,+  }whh+¸#|iQ\aybw#qcּ^#]8 ř!J G+gs 5!` !* &+N*!kx| Ё`HwݮV&t2q[QpW3e)=NeQʵwZR(Zpym- ɩ?Z+@Af[D,]~bt_ﮘVH$ՔqMByyfEDQlRW JY(k;yOkaJK=~6H^Iƾm^1-Y[shCJ1q:jDn'D! X0 6n;46Zj˾녦=8B'S^' \ߝ G[*#%tվ`khZzflDuJyhN$pWEya&/5b1fQ4إ Oq Yh]`jI/g=8ҿJ:383DJVUX>PIoSۗ3r+͗1t^֙;aE>A6Djr;%گVH^AL +K 25sY&l+CBQ {{Y7$-xڒ jYOsThMؘaRLqKߙhciK,2-cI{]1qڋSURVd]B~a6ˎ.8)ĆOKK]z{#ؾdEL0%ڥSƩ=`n&^Pw"8hH A411MV^rfYH+k@ 2v%Ƃ6lA\^ C֣/PFx3 ӿG<ǞW\LWȵ)M+\˼LW"3C%ຶ ]q(N縦wȎ1Tq_ ;8J⭲>6r+c^ QRDY}k CE8]g":g2uHCa;k!;bnehJz8WUz.UWVJZΫE0=_&Y薲op9sϪN]Ȅh'7Gh(!kV( H2Xg& H`DSDjK}ʿO/37!@1fFPj]pg8%Jؑl['X#w1u[5mwlqZ^EowNQjI)Ӎ7Tjan!mHW3$wO*?{` Aӷ *!ccIB*w922ω&s,OmmFdTxX,NsvŸ-tJsZ[VHHrNpJ3r& U„)Y̫8@ڤ-|GҏSCzNlҘP&wVvn* pVlDw-*Pg׏~REAR,!n$;x~ζZyKR =TE+f#7Wi0ϥG;z?bE8h2}G\@7UZRg\|Th reH%:I34ҾqEHr5V1ePɁ B:f<",2CB cN;]>/ zհ[gY(5{uh%}Wf&.2,PG[GE\œ]cZəi=텼iQ lo\e5vuTdWQ,W#Jz)uQT'em7eZB:7vLUBMz:8 Z+i@9lFvi0]&˼sH,_-ڰ_1m 0tN?ԑ䈩E:kz&f/4=Ab"_B$Eqęb1K&BE&bQ(sJx{W;XZ6"FMw{2۲47Iz- T,8Kǎ8B9, #-5_hHԷKy]1 *&^=^3=(tNR*6jt\^'G\ Ac~6xT%d`IYp"4PyxSj1xm4U)rg$/xPQJFU ;vrZ![.Ja1@ ToȕLE65eQ(zHDW0Өh0^8(@{\崃=q <<1=8 2O*(CÃE}e|c8 #^E0Bū `j߃漮jkQs[pyYOr9R% 2izsيVą+ߨ]XY;xe:'Ԋoz4Ci YڑOWwWF'(ڷD?"Yj^֖!.#Z=QJzܲmň~m;0&xZ޸&<<Q|+J1qA9jnw.ܱ+9Cbt(p:ze%d4F-iEA;VKMP؅ǦUELrPpF}vDJ\'&I=jkʼn(D'QQ byu^$He*܋p-)Ӝc}]%mYc<\`qT &AqcT~֥sUHH"ygUoZ;8hSBrޥp'T0T (HQpBKG9݃;9-!jbl"E5[_Dj kQY{꽇frtQfneOŒ^Sd|Cp$Zo/%VJsrhƗ?JunJ%c"u[Lzr7YM.NP 1;wIVpcK-D(x&\prb-MtnP_t w0/:LEMm9h :U$irqZ MqQ79?-W}F;VqM:E@I6zO.o]HM.D1P461!? n Sa]`a]5F}:hZw yꕺCb<ibb)rEZ\b%RʠTiVT>/T4oW.))C֠*իuk9{1Pji"-w r?ՉV!yDh:L0CvU2]5]2e47yFOGX^r] eDWȇEdcZ[]+ oE@g467mJojմɀ9UE 4XQ.jJfYLE]{VoKwZ`%O 6rU G)K#G@#Ec n9kq>j8*eCh0r\7Qan>t&(C)xa$D]Aߤ\,9Z!J&NS ZC0ϖ!)6l$V@gfT1I"LbD6 j_|+MA~Q[ʤuaOkJdl𞰺0Sc 7u(TL}Sm|3+$SW,T)mLOɘ1X)amy [Cغ\;U&\PD'nVM'rBt>ztO/Ʀ/t\ \TߛFFVhWcd!5B30 ~V8*ֽ)q \! 0V=pvϯW[H+mm+o8UdleH|bY:/C7nwf +TEA?)EWP p AT%AOҖt~*Ps֤ `$o[h1[kAtGӒ2il9hgWEМmM VƤIB=gP9bǛ[:[}L]UxU˅Sc;tJNHxVÁDhJ'K}OWN Ŝϔs1r3h@(SA\!NeGv0sϯ#$751\sTpvyN+AwD-ͲֿʵQ ?B7ޕ OYj{uS4)]y\]/Y|Yz?ЗI3q午T[ VUp&2tOf =JUe% wi"8Le׻]Zo6p>*rg(:ŽCGDC k2|oL`W[S9&I 'G@uݩ? E4@BEY"/}BJΖbB[(iŽ+ZiI l>ӚH3֕(IqK%ITa54]6-><֘5(v 3erTi%^c8rq!j,GAjS-;J+>L J]~tKcR Z@@Z>.Xw)D^BMr)j jy;7_+6‡AEvJf0 +ÃEdr^EPP Kh,ۨg~\l<&I?0NIMH*⺫$* c%ǹ<>1yH.Kzξ]駨7οAr[z m Y<"Oyc$0xt6FچNԷU@D0,Ǝ.u]RX<)+OQS2Rv3 |= L_abXyI/k2(8b4 Ng#rS&u/!U!fTLeo6̩]%$Q%ɓ(-.j q:VՍC(NI@N7 0HeF8e/Mٴj-0C޵@!~9p[:=?AI\vUXy-@%3s(&֢`J9%IQ?N+%ԝ0Kܯ 7gpuSq%M D}iu_s]gXҹ}E D'%|=gC>|A;pNj㡎LX{'Ad"v ^uX6ױQ x}SO^Aî qJP76#KnȦ_']O-F`TUsil6 Ldҍ0ə|T6q'd\$e0V7*vV(b3*&26C) 2UG5O' ä\ va粃†ƒn$}+Ҡ[qc&5,{Qޢ ں?<3-kk;{PA!M3}6W3פ7d%Hr)зؿYܚ$c(sL6V)N}f ~#–?4UC.d69O>xNi ĢcZ6WR Gj=VCHivV#x-r3ee$5M Ծ7Z͢&Hn89oe߻rw?Y?tJ⫢<qԥ68i.D0M|^+pO֥Scmh7oE *0?umպ t5.ю`(Gk%0BFhTavIBp$c{`*h9ݲsGLpBws}S}N~ת<+A64<}lV'Q]kw Xd?)tNmI}/ r'b. *jS׬Se $0Uz‰>C}ׯվH~lcQ 5naw9 b׬+{7omW"&Va>RQhr*nNШSI` #nxuH&s©OcY*j 40 D<ˆgh~`EY6ynl ?% w)ar&7@7|HKlz>qjRohoīc2??*8=x%4Ut+Z JƮ^6 Wǣb{L xe@V?j%XFj}%ZEټw5753l+weMD(i]9 蜝!rRnL FMD8Ť`_>DORWthd'F.~Zݬ-BHT,A- ?r_Kx9Ax_qD9:bM)muwר" ЀH Zr%k+`L SU(jn~Pw(gy%m j=7fc(&<6%R9e_NԘh 7!CJGvOyڬ1MD-6rx\;ΐO~DnBHcn?WrKeAkic 'do!ş3wMk|(OdPUvoW|7LM 8j֞ > KEe*h9ԏԟpO}F}omylFAwu_U"̒`I1#L"=Vu{9$`7A88[jټ^eڂ,VakE|='9ܾtטhY૲jKYi"TIRy~KM5 ܀oL.13iJ,~.Z%nU 4*8Nt >AY>/IǜEn+Y ID f'!^(B8{d{/k'*j0moNn5RXdQ8I`"9eݓC(1 |ݬ <3>}q/4Y'y;vjXg$E(^^Aݢ<4Ph?+ veH qفҊ(b۠Qz7xF챫;g=#t 7RZ4A I>*}h1|7Ef΃$ٔ Q֙RhpQqM/)mbb{{'u^I_߈,xuN%5NQk{J@Wb{s])<«4w=Fq Aq eDo9'K'': =ConxM@ Չtx qd|SN|s*:STgFYBV"]{fŀ6ڈ>ф coy* \sh0&{ "0.?MNJXd~oo 9aႉz"/G2;R9#j-F)NjE$RM_LbJe!聐?V@:, &^~;!)H oaOݔs`ud6*BcC\W EnnBkD \ WvNDWdXu$Isx^{;u=R=cg~w$xbTZ?-T+F1'H<]ۇi$)^bǍS%/ z7>=a( Gt<ey+ ,Í$O(A@B7C.ml 5y H$h:#~]29|&lf=!Į@V߹ dK .9}@ilE/%>|HH_`D/]FH}6Ji uϩ!_Y[>&*nTS?3x~BALvN]L{s&xYR<1DA /@Kʋ$h-NRJsdcҟQsjo+;H06Rwr)v3ќl~9c HO|Jܱ^H]\P^+DbSS d]9"Fɵɢ^RK_#I_ ^!0C{%n,>ݮVrPni]qMKFZoI޾Duo- Ԅ3FwMna4kRJI@i^z6h{bӎ"&iC,[M3a Z'klO\r}%p|OںZ"yW^>!reEQ|i:pr#)El20?e1Ȟ5*~s8bǐĶjSb)*8l:׾2;9| 1뺙ʤLUas^[߻wq0An\P k=b Fb_*Q9rep/fzSCX]ޚlhݿҞ1^jLs}~*+ղl׻s%WW`HmR q}H@i"Cp ~|Wx[|\sJSI.l@>V+0-|#J A]l 9AƘ}G%OX"]ѵG<xC\n@LݛvߵiG krBd*o%m6*~R?TϯQSl5Ȱgs23zM=wpl2œ;q'nTo8{1&t*ά_ֺѧ}t遰=NJ\iSR'Np)?+(ѝiu7]"ŝt9N LE^gL(Wp9`,V}wXf:DHUâ;%C$Td%r)dh%A6#oN=Wʼn &$s#p:k*F6M!D …$ @/3ݽޤdP-mPɈUO;ybH 1)GP$9uE'uHrթPeQѽ;'Uh9"7]47$ Ovnd7X]> mYLmyؙ!9ScHhu.ѫ}\@Vtn_)n)yNVRaT6q~q6۫+F^Em0v\g3 +9˭7G/"6զd -/áX6C^XLL˞1IDA]N{aM7eU_00Y[ʋoJE%ۃ&Vyu&-K<_wMl 绡#_dy ^,t0;r屰:l,G[>`_d}r}\kiV~wJ 5J9 $ģ֏sXgE"tG>Ηsq`FI8Nx'$7g \&L 5*~mܲKy~X[8s-_>ATQi0hĔ,Dgfjnk{vMjݙg-t7ٝ@9޼ءk)؜bro FDCimN}ohIڣC?-~("xYj;S+ly+.,K04F!}'sB_9zbv8QacZ U>׎EF6Ծb =pq OC^!$` G+ԤL/@VҙnGT?u#Y x@P1ULzW}x#!\طF/`%5#SăL޻C60i#:RQqiXb2g: +H|7.fr(LTtvYuI!UoqxբSVPyoJOy\MLu"i@XD\G@h}'ёNN^@ň'PZ.;EcZojp3Z^U;KdJoÕ$ǥ`t>3r֊E2kez'@_-b~X\O>5QeߞT|k0>ŃJ&OLSE{'[=McrKBEҳpcF=FnDa`!-a_L PNe-/Xsq;ߟ':i{?+fkMCqS=X#*|vU ֣GGQ*] z-:Jn[}6mC8R>?C"O&SsU%ذ1TFhO8<&ͮtᜓLHYڑ&KAmV䝷+<68XZUvFoܮT`^W:!=B}N:Z<. -ڨCW-Rl&,q\5v 9ǻ,+!ҡ)m~P[FmӍ-谸.va"֍`ک>[[w'h5`yLɬ!zU ,*Y\sF)n Q~V\pi?_AZ'zboI_1IKh D :ܢCHKцju1Vw2 gWwrr2šL2$x2'ѰE  'c [ w|Zqܪ8d傊#Ԉ:w#*hIŹi iKkBz)`Lj(LKxwh%^-&/r}5fFVNRcپ%]0'#qQ.͒˯]|a, h;I'J]$~_TI2IըX1w{7Sug7yr͛ @u^rOy7~p1x*Rl?U7VwJ7pMI"g󉧀b$c?s~B.i6_|;OͰ~#ܵJʙ1*G|'>PWOM rj@l""<K;rt7+!'UgZ=Q&OC-Ub筨+"0"iwW9} sWn\MSn56}֖DJQp5C%RLkqw)$c^7a)2賮0@Zx6r񤲚}UUY\s+N&&S<(]Y[6C;1r 3V0KIoޝL; ""+מaw+QXrtLB4D4?E˕})VL&7T%D&T'N8zC1kVN< 7wsq58O_5%m /1 ZoˏfScs묊|fH1ņ)|8JwȄvmOnz#j1$% pU=$e?P'V=$NDΡ"U]p Ps]XT 9m֌5MkAwWV5^=Uz1PYEBRgbЄ_2,f3Ovs"X(z^crdށba"w5SqaۆvҨaJ}@ɳް8J zrKSl<_*haS^=&{) .Og|o:&z+-L^0yon6MƋ&ǁOMte|LU><ЃnPH" RfU.sOn]OkPA\,GpAm'W"'}+#/ݞZ?P[D$~iNFU2 g~E*oBA('/yVLZ Uz):(C}8\_q}j şLG;G|~fyE;qᚬ.՛H@- IjZEh9NE%'钙(Ўy(y~[5#>W/&k+!xT -0~1M½{(ȹc-il(]"%vE]|r:׌B6; : F1YhA*p\.7̩0-qSRigk*ֺPVT=y2I1 s-]) ++*[To-t6mWK i;{yƉCcs)hԍ,;yw1 k 8zTk+I 5lz倌+Y\DM\e⛡j6.lBmf?;C[S_*UG>u]C \n'h>Xe~ChbLЊwpwz}u?PsUpDEPQ@Jp 08]> yT}4?_sОұZ1Ys4'c6pT$iԼL !5Iz@י^ԫwN9f=Vm_ùdچs#Lir] X*X5.dh&irךgH JɽqTT6HSS Mr`T V8ȭ78N^ǁ;všц olGWuĩt(in~rDB LUu1h'*Q 4ÆOm1P6+(P"1CBIr#+Wpxq"HqNRޱא&Z}X¼)^V5!ߧun)͓UqpIdPg`"V^RAl[pˤ9+.9/V'Iu3WЦ] !tA(AɶzN|S\늈6g3 ٖ솲c)+nDz/T\/HG՚JN{Y{/|KN`Ѥ][yѸR'v5څi2rd^`q?Ko;9v5M6e+ߣjRO6OPQF(Q pOʟwLZ`[mqV 4HSyAߒ47>'V Em| j jr';h.|'":&E8EB^x SB0|{x-gUK$;q猲-su>jnqԫbY:Ӓ@ݨl∦)PߎpDb+)\=q?^E;C-*LITKFp@6"^C+;?aa^~uզI 9ƹ+ uq\%b=EaX] '9J`E{FHs}Jv;)FY^1 ԹN~S.Kã,'(Ye_<)L/KS.)$dҗCZGpnYrI){$OI"/X6lg@v ? =<(}M$ lAAbO夶M[Z"|y5r&#"djeJd3Ε"%NKO%+W!&7bX nPanSVsSZadF.nj |r?LE;\焎'w]"#e$mE:j9巛 TlIG'?sUڧ8, -J$a8Xndu Xj}![Jza>H#/ EgD%ojom^@SZi`-w[SG_ߕf"ΜSUuR9q>]WRV[:Rg` V!쎮RwzT%bZ}1 Y1/rO#7"׊SV2dq}6Q%:~t r+H";^+.S(!R5lZܧCIM'#E% OvmK3w+`~@)mA0x%q7Op)H[.Lܝ%h- ?SAIJ;i1ȄXT]AG2MPN^fxv?iB|Ǵ;KmPN۸ dr#6h{{g5T5$ߨSyVdP!>e T+z͝/doTf$fڼ %-2{H5+Jc^"~e ko A;LUWޮPp>DV:]m,ִf7n~1sVaDYe7JW"괠N^Zw $(ZS99Auôִ} rEhkEJj c+&jU({{hbh'v?!؏xGYfס_)|JgKM&VP]D(IyqDƵ~tuo1jbX9̴6G< 4[7ň?yףm4L KU'NQ@̖z!!nbhpя-WbcH2/a ʾkv;7ANN>.Wj6Ew8e`|p|=sw:MRf7E FUUenSeorfM/7n7v09a͌͡J{6(n@ҹ:xafbzT7Kڠ_jnqs b@3DGV}_SW4Op3-yLUn-Lm2EN $txdB|\9kKے4qJlhH6y=$8jR/9 ~)vNabL.AӱuDh\ۡRVCw7\Jlt.~㴔7Rbm?oKU^ W>v -˰ ZDŽj3ql4MPs"GT\4 @jS)^EPKc<)(a6+s*v)d'T7dK0@Q8XOZ]5qw;qu WbcM% 4ݧRAEdniXGǦ_wZy-ظ\g|'s'ЛU#*wIW}1dO$:튎v.{6S'5uQn;CڳdeD$P3;4H5bBkD +kږ//Z d\ 6~XxLM{Ž U-*-NFVwx_ hLetbAu+nsN慀om* sޛ8~>+Q>nr n&yG:,$(F֎y踄5w!;&GD2-i{JaIMW腭KoB{`o'B1՟XyEGkR(6DfDz9QTi4"Ԏ#-`^h@tvX,]VrM W,F~+z=ĩ&&'z5s%[B{pt3A&z*;/Uw!NO%9DژE$aX$5/nV=BAXmbI+[+( ;ffwVr4qRDb2VCJ~D k;OZѱ85HEQ?RAPߨfq'Oث2 ҇+L'_͉^#g<[ ,2(Zb7>r6ε2VKמ=f ]lcoM@yAci*_2\% F_q> Үt=t I$:W Q- #Wkj,YK|,!ߙQ#GR:93l1~UpyV~k ׯ}t03F-Դ#+t/81ꉊ:E]Mk*V"*XUSle} Ķ- ($VX(@Ywc]Sm1bUqg\-?L!dE])ee#(n)KجͲ &9!3v`Okfˀ/7F Rt%.ogBؚ"ROA&3 Yۂi9K-ݳ?hW cΰف,03`p=Hbsuj+'jފ>;hbGtڲ=E {{)> CثM@Po.&#NK)晴H ީ6SFv\aT3zߍ&&@& RK|"vr\CǽB %XJ'iůw^{h w%b6ϊw߭\L */"v,#hUZnzh#MdVeC&:}6oabI4nht.ׅVI[֠L0 K@1)3M|:x"grsH-%~SjBMa^,sgI(+ ]A~(QU.WlS>rՅѷJqjqf1V=a *c{m}?兑}?mcNY0k2o #AWw4"m ,J"b)B]nh.="]^h+[lsOGIY1߶,McipTW43R͝@nEu1^1_[%p;[3wZ3~n%LGVU|[%kD˹p +äLx5R½cLG q,xN[ ;9e8ʛw:_E Tەԩ~ J* *BQcA)䨤Fh,O Ъ8-$|ɃeH- 7`_ FӟFzd ]dt#;Na7wNk蝫uY1wH,QOJf"vB#VRBUӴ;xܾkQeRlbIFpּƁke<8Z}Tk(iظ7@|"@jxw#\kYVd8{Z&r} I=U$ =h ^uKP67!A F UYń hhArylw#++bc<K8bXb-X^ 6NҲU rxp>LTt%R7񩽔EhhQMKC.3ДKMf+U,O]{8ĥHg# brg&ulgm j8GHxkŊI]F\q3HAG[GU-% HF 7S \V+ׯU\xwpewn{ύχ+mAKELѭ' 屾#>bsGZ3\700% lbKM=e)ﰹv9O;yԂhc^'6ߦEloQQocDAWwtz{ GKEf*F {d]ĵ݉I&%Bex_I@1x Dh)FݕKE>t쳲+٩߳) XMd1zMDDhQ+Ļtn\^stIIfAc]qTg!o2M,oȽ6ntʃMnDrV9ț1؝ ?Vqה3J'wjz(.:Ʀ;f;^& t:I?K{0gtmܻ°3QhX$pG'jh%ž3De^8`k?`O8cw 8I]P羵HHV`PR2;9 s `)cchGG* gXlE/;ޢx%e%@QY-f"I'©M&ϥ=m&F)- "$/.74 2z DEl-WrWȜ,Bt6+:囒7(Rp6o>O;W^$/ؾSo`spTd+L_(_vuj6UfhbX"YۡܶYa~є5:ڧ=gj:b>66kH׮aLa(jN7*1sA<'(GtгF3UR5tjDY (שE*WS yw-՟~=,ǎi՞6BVg׻"vJ^ -Yeaxyy#j( M6Ӹ޹Rߩs=R@>ݨ%xE`7"*CҚe 45TZzBIs(c*3HkU+ k@4T&926(yz[%iTfˠg\UԝrH;_]돾-][)ѓ~tE™.r MʓvrOqlrS/9PP엤XHBYɦP\[FPqr1uL #72쾣8k 'bdu̅r#i)G%*oWſl5\|n+ 9AO2v55˓:,"TXsd|f ρekR?=_bSotƛ ڂ{3JeaˠJ8SΜY[X_zp̏E;Zd@Y&W}[dTᄗ>`mݝE>5WWV5F&ozCۡA(k 0Ngun1>w`BqQTLNr 0:MMI1y|^f[*:'s϶bV[\<};cjfl^C|9]P2M?~A#,Y*Oc\$:+ؤM #ybUu=UeZ;GG;^UTy+d9<ޤzUT)R roÚm^<4X<49EλLnb 靏s$C^è9)40Ă WF ]Γ.ۅCԪ^p6n8w4qLLi@PIՅu}*ؠֹ1=iߠY;#Iu&p_fԉpjrv06^9H46\9G脇hRkm×qz% LM*R(FCv(zH #Qr +47qalg gK0U.d#s/9'Jz!0aV;k PYXx5*DU]hNV"w_˲뎁ONե.?)uj-~@Yi+J\X LanYx9e[(j[$b^ĥk< tm*[ICW@^;5$ %% giǙ= ֒6 GF5gLY%ՑON"_zxOuL[Jj:+:uyRf;qKa,JE@׸XRok)mV#E%-fƿTͥI ymXtC |#uY 8G),` >U jkJB<5B`,5GjW.\y>ߚFh5W3o䍒'2F_ תPc:89R8ZQ\^kM t컂Rdk&^>)@=jsnax=64 .`DP}0i=e}I'@bP|U_]b˘:ҮR:<87ܸHbǦAs\CvZ%މҫDj|*ҩb^iܗ\n]DP :ZXxeF7P\UU9+=ۑ"}WWHCUh1M(rTnEG-V;=ΏKZ)GfW2uЬͽz's;"z_o*3w2$?.C(rH"w:eVljv Ќ碚xHe.^}fH&m7B 0 F$m0acN,)7K3!يLu<zU<'Ntu4A>+)o~^A6% ̣1NΌ1_*R lg)e*1֙ IGQ[* ^⎴{m{еPzcfq~wI{D23Дa؎JɴD;D9QF0IHzG\9>0*ǏC>\ Z;flJ^8 oͣƂ2Εm_ j@`iP/&cS/>󑉤cEJJTbx'z*=gƸm]x k\ֶC`>LK,4ZCpEO(ED_Q8GMjh]-"'3k,,?Q*P=.ҵ 1)1c@&noFNrFEc4(ڍiƎGN97XWj_)|o.PniR楩Q@Kͱu+csZHšzU Q!&Roe7KdGyӈ0,m9b[zM -qXO!3/ M5w[-G!iA N֝{M!{ B%F.L*b;tj,(51D%V)^"FCaK>^kOtk#) |Sk_}ԍٟs7>l{T$uv;ė8U}DHɪ=mƆ1ΗM'k؃c! ^ʯJXUr5sZoKlѽs~#yڄ)w'o2PA=|B_8ҁ_"bYZqML}S_iQvňS:qPTVqm&H"Fm(J8*J+;28,xe j+QŻ[W:V \Yf-T$+ӄ*M9ˡ98{t%&cbnЕ}Plt h\E7(>x0}ԿʾlC?RGO%m꛱N+bq뱲i[CdiV+g T$C2S0ǁ f`/q%J0<~K~-ڹ' XIg@};vȐi0w+h*L!ivtno;Ѹ C`|כ$vDz@v_aRǒA%y X2/mVK/*nXs^܊i$ќ 3p3 585s0 Hz;nr {U#Zia 'LVu5J BF꧵ Y%)#a\Ŕn㻂IAT0&OE)j(eG`(UώYp0~쫼Ux`Q:#omүߡa#KvEɷ$]A C>\th^5"*U\?^_ 63A:#ŝo-:QJ(]kK}D(R-,v)Uctdme~@@Ww-^fRUi!HMC,pZ ^+Y߶3*qEs 3-Ӏe=_uɲ؁,Jsri/p+}9D3Mfq`1nvXgL~nNp<'5xޚ)l3X"vF _ :v˸kc?!ա宩}@ٳ 1-s u&G,2ﯨ}35AΫIBQ%óXvIKu&RAc%C0JiOFX3ݵv$|J,jurF e=)F SFl+e\ugBWvDҬQd+BVl-p7$񂠤w-: L:@bp#XgK%'ϙdac=b@ClcÜDwh{Z~Rր'ߍLu{'|OPW޿-X&8N~C.` ;wodC\&36NV&A(q4ͫ!.:?5F {f(}r%~&A' c[$f `jȍ 64U-pi* ʊ5z :BIG9Ȳ~XHh2ƉwLO^J"hn6x9WQ66kA {&x]6'2O8u u1B{ +`I(0xĆH@m4\=,W4w][*?^<6u|p"CnrLq)jTsX:ɓ-\]ARM2gl zF+WV 2Ħ:\Y"xS*Ňvk؉FT.El_'8 ΙK>d#"g] vkoEN02 qᘱўعcK<.TR)IŊ^s ;à}a[#ܑ]8gSuIPPwn=n!P9Ô퍞:L 5w.x@@f<%4{T=uTfk s|e'}A1L%PثY\#EՑXQ#~V" !\,`Qw6 @pu+,T'F(-wSpW,q[x O`TTM7O>͌9XkQq) M"C|VE.7ml:* kyJjnʰ¾ulOHŞu^|+ | ZmHkL)FplVt [6QMXX-Cq'hl^یr$3*]ܪ!2is3B{Y;Z·у)3WT70D>Qz%V; `N٬҇=Ӈ'[*q]J6ߝɚ_f[ k)rz: *D6Xilo(.^|+6lm\zt( :dĢ2YSZ}W2ݎ\n7̿Z>1Tzђr&P lxG$~Hoܘjwe-R+0րwpef8$X|']&$rjcv׮Hӑٺ?RapREJ~GFUr"J 0eMNs #OR8^"&|z#p*y!^l7尷>~2V<^Ґ:ۙ<6ʳHQ { ߈&Uԝz4_AX.3xb"iX6r$%uJ;0BdN, Q Q%Yh6a5U _m"+B3n&CJ\J[ )s=ؾЍ#ALkXJS3űrVڳs{QU|}NңW"i}~lJ T~)KVhȱ :VI8HoM߳8`]0;͟K}}%[Ww"8.J|'QH:T2=n7.m eL8úz≐9Oj JWI)!_C&BCRk {e4U wFVδ8iT|MY dyYMn=Tfi5huIf䅛k%nSZwvz]*@)Hm(넲 `FUBU6J52ىy(ꊷSeW&nG_%o yKw#_ (74ۍ%Nrwhgk/|Ejt}o&QX| RP%Kz'x,[VdWCj3@xh[m/~ZaM:cJ)z^c6դVQIq+tҫ)YzK^&Z l|/g 1$VʭP7<+4kt<LKUʤi;tV$`*ԑwlLcBeyTHqv ;3mbAa!2- "}T#|/ŏܺ_(9a*T3(vY?9y!Њ; w#ϦQWe>*a3OXLڂ ҔϊTnx=+"`d L?킛 }K1>Uڷ|^kRC|:+LleS=M%]R ʩh1RDsY)TsQ43]}+6pevIV ,EDj &%LƳT@ۣ`VE eS9Mq io|r~B$ &Y'RlU"?*1b:.5%P +--Mbq-%!dOѴۻcSMum^k4̶k ]8p ?ɞPY;ǵl<˵޹sp'bl<hx3qF&O¦Y%"mG~"fQF4"vՑVh#DX ̌مBV'Gowo"KXX%H1oM.niCE[Jpg6bL.~@%7ĥ. >y0^ '%LhXF9Ujg;ނ{ ^nvJ Xr[ Quم*Ym7hWׄ&vחM$$vC@tkl 7Ȁ*(__ORlk8o1y h&1217BnDlAc\XSiHkoc!٦"9_Q-ħD*DTgFnbTiۍ&(Z? jmEIJd73v,A3of/?-=q1I#Zv4B aúp%Q6'S8sr斩Ւ>s{V$&7!e>0\֡ x] ?(`61g0@ 64KubP` Ep[1$yCⲖDr滰OI?n&et05ԀB3ANe5,NsTAT;pZ>){rkvfhj)@ l:~6=omPa3i?cZA e48Y>t FR{P(-#דּ9&w`YބrKYÚϏR}ku]Qc:g6kSoZgX+??̘#ٳAR~܄囘qMVt۾{犡QGC:\\cQgLfqZo\_L}YtĬқt1;[S+4D |e/wy6Z'rd1WȄI*( s&MD8lK%-{VhxR^*J89?|++| ipWN;[YcM1E1P1}# baI#ʐ#g$)J Dh%Eי6Q$d6 2.Hʏ-y^}GM*:9 h̚ ъOyŴs~E.WWj|KOT)zWJY͗90! _gI~I8U \SGȈzY{9 G4Şb#<DSLJX+a^X\ƞ$c{Rw![\RH5Ven&etC_dMYٔzI9c685$c7G-NGi!刃\Wuy_@]^R{ =(qV̊.C*RGнFy5^"ģi4aTS-H(SвfR:z1ʑp8,8~Ti:)E[ 'y>d3̷Tk`p%ݴ?f䡤Q(W)W4}j2ْZ Iux>Ʃ6` IMۜk"C9N7Ho;FҪƾ5q*6y:C%|ͣpL6= NF=d2,k9o|W]J!'= ~_d e6,jDJ4D)]aCMRo۰ˏs[*8[ PV폜W-GF&@ Fs\̐nGM8fgͩvBP2즓-i,عP>fbe9d* S8rRGE[IÑ!2T VʞLJ~W:?p2iEd8.ڛc-r,aʞ5dMDF51ъ4V.$jz'+us"hbWDo L & hEr?/q;WXjPN d377<3s]njJRV!oe!wJ@}ɶ O%BiEzCu#xSyy^8ߋ7gR~ b F)A_ؼ;$C+$^ |Uˁw`,ybX,8dmuAU186cǃ6K!fkpke+#ԤT8MYwĘ. -b&QԄQZ $kmIbB[dFf|eRIxTfTcЬJ~Fщߩka?} ӡy%y96usׅb{~ \7y0p8檤I~jf #rpkw/ qi~UV߮>_e ᗄix|.*4 !6-]ǼLr,qR&{N]p'9e>1B{.ID,pZ)T*b$տʄQ#&DZ)] .j]w0p,C&t ;b'Ob)y |0NXT;J@%BT Rȵc"e75KaB(wIN0(n";B 6&D^3q!jLc946ΓeҺTR;~:9TQEѴ} -aq&t@-*7lpa9 ߤIݭ5?[9S軭1JPoOk9/-`[+%19F8Y4Q0>| 72hs(82]U >M&c+ QexqI=Rx#ÎR>Rl"KZFJ~q$Qj Nkp\y_)6և[@NDxLqV)2ɾ&S-hAiFǒl4 #S="z~vgLWg,)d9UeKi՚(=1MgzWMzȸ'q(+{:qe))i/;~)W#KG Un7]XDޖi|E7 9q[LuZ޴ɥӶMĆĸh+]>`MoC.q;7žoSSM/ڒ&}j;@+xy~aRpK/iqaPH;opZEβhg@aAEЧ\S腟7X =!n|ALn6OD1hⴷC+jGȆ"h0fG"&J&ؽ5\GPemwI-x16csT۽9IVDO{<7@ƌs;N+6R`1]R*#UǸXÀ:'̉+4ҪRYpWW_E*JkwRʘ%B={Mɺ̻$_-p5Oڲ.  vV75_Ξp:LǦ%|k 9] R|HPxAO*ΡzW)+ڶ7TPv$Me e%uI8j39ÈQw֊D}}9db*M,A<e^pR gb¥i {[1& .)v􂏤|g.r9TRTy܏M!YW]Y\X}=ϩ+QЄh)/U4hD Y|H6*%bJ)8V2,{C;pކ&Uo:J&m'݈\]R 2gψ)ğ?X]3Eq1jZTl@YiQN U/LzS;I-g) ' kYqR32&Iw[T1C] L 5`7(y3AxIˬhnOU,3Єw(|/yHk:Ȍ!6BjpS=J:J4%iCոֈ!:U[ 0K- l$ <&[f.5rDGGES6~[jJ{WD%㐍Ǻ=E3& 갋SY5k:>G~ҾG3iFq>f[mMyF !ǿ9wN|/zݔ#T9=/, {k65&̘v4?U$bTf4 9iyCfx'b십1]T5O)\u,k3vd-oy0N%g1 㯷GDxX8(9}Ay ׅ.M"4BDȆj"P,Y(Y85e P 4v&$IpNEnI'A DڅX21'Rs\lo wMќ|HXKeRnva p %[`$ ڲms5'\Io]ɿy9}h<"ݑ'8vT49,ٶ/j';6S UHԖ HXq 6rn-ul S!SyPCWɴ^zjZ_q3~WՋmX8}DyJ})mEGekb:mpS϶Pm퐋5l&*zRA|)?|YLɻvQD zFfۋ̗%Fɱr os> OQ(wծ%"+sA?pROPCK!KMM=`{Y(^t&!=~hxIv3#kY> *#U5/>O7ECsJ:y1Kzh:ۧN0ӎq|>h_`Oq2./{8\CZ 7r\ J~}7L2nhLU,gquF3۲ϏO+ԫom#I3Љч( n %c$n1%V_43,ur+\pۭpkb+M{ts2\!QUDb!;X'${&eB|. ET?UQ/pB 3@}2mCo\Yfm+->LSKWI2Ԫ4 x 0`zymXtg^r܃m9)̡;rS#mŐ_7rSE-8KĊEƜ0317yL3uhE8-bIs|# ǚds1xDf>] )MlrW$P2#+bRt?o-y0aU Kf';7yd@ @CEv߹de8}Roeb+8X_y%#6:+v k;N"!6 v?xffT;bٰ]s@c&"^ LLXw6ƥAay_)9gJPL;dLB A 4U$kd3:Ocﭴ|cA5S)-ʔe^e o5g p5ɿuKYM^pKF dy7tndk/Id7i֖h[q4$ MR:F~Uzkgm&}@p[3R%Bpj&3,rպ;|W壴Z2h1nV`1M"ıA+ Rm(ψYh0P%_ 4.mpѱO9 `@mx.=mvVK8l`~Ztu< arl駼t/?8ڸEQ+뺗0BD^RJF\fckI|ZJQejb !GȘin YhA3քu5"kAՙ =W`!*iz}1V֤ z=߈rϼi(;yMbǒ#:ocUlZ?됴Tw)p1fAz'dlC)teWq9](>WPn_0NMvFlLb&CIBp4 DʐoE,[[v R_kxL43< h ЌtRզp7 uGIwrR8YwX-CUF(ZG%hW|ņ_~45*9׬J?҉:n ^_'HI-殮H;Lզ?K'Z紞KXs p,12j̏޹ҽ)fF/:):CV%957P w˸-(:i;4\qB i B>^r} 3;+Kyqf-YzS٩wM eߡ2ҽV+56%Q':lan%ں_9WC}R"֔7r;}MSkE>#Mv5-ItQR'hN!CQ*e᩻Pg!0TMKWPS(ޖ462IUO"uuxwn$%N`6|uYpzP~\8AW4}Q 0*-7,DqMYI^ýhڽX|#K*iB1p &A A1ct= P8Ƣ& X7~Y\\7 c#dU4j>i 'ƉW9nyq焒#NjIUZR%,[4S7#T`[! FPvcf#%"qe׊Qjg7RaHi} G*L{WB s1Rʃ:Cl*T8M;NizާZ;FxOj`i`<\h5y 9yLe3)B$ bvp%3br{9ySwmqJ'dfc6ft;ԘW*\yS"3 `W]QdI$nY(sq+8' $s": BRXTǜ6 ߧ]&!dixהM+.l-1$օ5R|ŷ7>aQp.B~&1ЧE;=]+Q mS+fGUUWWlUc8! %S4]=ߡVOMLؑ$!3<E߄ɎPT/rxEYrБpf5<@h9׬隢XZ'R}3uXJ$ W_gUw^>WNaVV'+7: .=aD !I_S"ĺ1csPym_k~@<ʇ P~[=ƻU:X{_T0.*4-gKI1ٺi/;(-nì$ o͚,&')Qq|&b7+aJ-<;0ZQJEX/Dg]**\&M"DHo~?uʍpbՖzc)N,s]枎 b5-Hku'|y KZlǐNcR*NԀԇAepweH>A݂OV)8D)bf%+5ϸOLphX1ޓ[-gu_Ihzo9?53g+I=G6!m q]0Qu7f WXʸTv-Y!ATP\'z{2>1!qٍ9(τo{y”&#=MtMFroy-kHߎmR֍&ևˡoA#qRDQΊTfCBj%N#mτ־x$}\p04hǝz^󖬿վ',՛`tJM tZe V 3S{3̧wd5)O| 0)Y 'lެ@岺zNR\y.ی:JC;t{ .+Whp ߜ=0gI&/g>S^1Vͩbۏ1Ji{LqbJGѸUy_Y: &bBTKtR<9kGn܈+a[Q}/{ΌXT|l(yjn toou.kAXٯ6Nw)fYѢ,PȦ3wSS'rqz4;O:Z*(d e>t=b{NA9Щow#tAYwck^,Qnu.˚\jNR1Yf|xgڴ =0L7(b/l#:/ pcfg68xׇ0QÅeH^2@eVLϭge0bhRtSUI(ku;ɬB7 7lǽt5gCayٹs#V ~@Qs4>jχ7ceFaҩN53&t nOюTf&t=d惹Zü [Q2-K(yCO n|3<ټ] 9i6eKo}3=s2b:?ǥJOOl]뱶ڙ`lmֱ}MH\x1/"CҜ'@Z`qdGK&I#~ydGn<2 թ[ي򸒥ZUpZwSwwj%%m6 ID}=G]fQi&^-H^̄@)v2J%Ne顲qcXV՜l'J5.EFqg:au }U&، WCg+b߯+(R?6U꘷BR7;ZCIjǡ*:N KWƠg4c$:=8zC@stC ^S/#[j15ZIh);fe-$@M"4ajN. j16mԃVn lcWPb*]f1WZȗVw;dABNBӫOs Lc<Ӳ/NDETۜcztO^|>z'eUPW{79'>SPJ!{wԯU!5ޱ)[;<LX}?g`=n@ \&qv2$Y+c\C٬/R8?Åe_u)ǎ8fӋ6]Q 1zMٓ`,p.y|ʓVBm̎4L[16'joz^I;Cdžg]TuJ*V>Ɠ(Qr(ߞ}Mj蟼+EƂb:)zk—,+WHђCٵ:l@>ocRA[e0{O|UdOhnM~I:Ȏ5#ɤi/^rbf'kci `7j8ƙʘMޟړ;nlŲ4ݫH#mt~lIe'fRڵɎ"QqZnܖǘ??ޥwv<k D]z˽|ni;=]ǽ _֠AdFvZ7irH^5vuvβɮ)˰%) lHi2}vh_a|%e?eͪ9pWD֜Ɠ+6C0@J 9&2{A*uz A\a,%%X8qC"QDĦkDW&tM h&Fx 崍V7lZ𝔝HChWi:nTIkFD~*|ݵوdWy+$\VSbfRɒ7GF+ +lhc6Z\BGކd3WS)R[؊&a|]>_ )+4<I8%P?Ŀ!supNGԪ!(EkY S 8)PG-%RQ:1gtn^1_M%Xi{~,]]0x۸ĖXw Zabl@`@0v/e \:7͆I 4Z;Ŀc/ԭƦokrce?k=UYzEp--j@mm^;1m !Ib(Z gqؑ ((w  J,J텛sqw~*Dl/hm!*sO}~+;-1It,Ug6yMX}u+Iͪ.â:Kj#I:Spfw!/w6a8g}E`p]z k>#ca6.Z]7lԀd_d(Oy)Ҧb8"0GpWuѕpҲVحϨ6U V@VtDnbQr2kҔa5it v}oPGt9-a lFN[hd?u7&H0|]W;0t sSiCB֙ 2ɬ6CuQE(vsSH ]FMl@ڞIyr*\/A])!:c^D.= vtOrh3b\pQe%KWw."͑܃V.<EW)b)&{:*G75oaeco'ѓ*8tx hPn+ M:͍&mi\ :l&+KQ mLzq4vG:=TJ|D*F+T@q_6W֤H#6!k\"ntX p/@t4[S#^P{Nm& řWdG4M{"S!%X3h;o7~ņ㉏Tlrij՜GcWmJaiH`#xA5zm~y`VM"n߁KQ({ O?WٌŋX@FA4vnŜ7Qt+2P?.v+ K%/;FqģJ\FgA3;Q+$)ђ/3kLfdjCװB>س{WsӗsbNX>/Ck޺3HkO;d~Dq^FgDrR3VG7-c ^0JJrH煈z$+|>so]oз0'(s,|ϡP%t#hh^g8WޙjA—D7LPZ:Qg }$U.m1} IytŹXLDN KZ1o(6N^O]fD'< :02Ѽ,~m93`5j8b]./P0s%06h&@3uKm٥XotRQTr_aBVė%9-^'OOG-+߿)\y- ʇt*3;h9=Ardu(ހM6&#&TD*ݏa9Rr-HVؽ>ci1^Y' {SE &cWJʹ2NIΰ͎ז@8WTa!Q8u-^؀6% ̳u PgёZBؔ_*greQIR]R֖5;> $|% Jґkʼn;&K5qdVY< T6M'U kj71C{L_} qj"8`tFC{u5kRRH%]ւ%1fD#|PkF|p;T~vP eAK*Oz I/Qٴ .bUOV~z`&Λ(amviVV,IEťvo"T;mbuXKzo  4e +诚<۫03״#ޮ[l8 S9NfZ0)>(AJP#8.:;9=TJ51KQE),DɊqĩ)co~mYLZF~Cӄ΋G?l|+Hsai3ȸ9 IE7SwYGGV|}Wjt{jHїOty 6N   5]ṼgÒ@GCTL{_D}Jn~V &74&- [O~yl?4krO}=BIՀ=#?]Nc "70ᚈ]Y1~"MR+ Xqjtґ})p7 I:2hW;yXo*%Ky\=c2kډQ|UvNAn jܝ!:+֙}+N8l]nx xEF}U9qYAK)zϡ{.Ν+[7aK44w;PVW^Lv;>\#5O J`zlHkfIQ']7Ұm\鱭rW؇9r<͌b-2s}Lp(\Tk,G*ʦ)S'Yi@뤦y<9U`֚u#.~ەU}4A݁@HaHUκ2b)^#S`KJ=em_kdZ <ى?S'*}"wz{FowAUl9db-[_J"@5QOgGa8J3g5-* `O25; ʘZ)+ݱI\tr+ 8߯N[wkdS\8Yrvt .Wwɽ56lv7p% ;G9M@Z*ʎlZ3q.VvY&3-eZR2_u!Jp):Kd4FsI(-}R;ؠ E?BÑM!Rz~"hmM8F*1V%Σ0T`!w!#ix %|+d=ewbCRCU$mQCTfvt pMfC`'|Bm@&Dxt)56d`sqU#39* >FIaoZ#DhO/LӥC$by)i_}DxvG 0Z&[4:5D6u?tb1}v:ZsFulY}hI-sڒO?3A=kz˜Wq VA?XaRRtҬGX8+3k̜zC);D6S!bD#)Bg#QvL54uƹߤ| Tl؊DSM;o>X1+ 2XK)Nt7Т٫ζЛXv>[8gtP}v/Xj`! D6WlP1('1  9 *6b;cyϹX}J7,2{Է*c^2$ ϖTiq7~5P"7UISD'VlWhV@ CGkp0!*Igwxo-hV< VrK$TI}ﷴ'ELSk%옅#&C`\KsȘ|Ceu^_/θXڂ|r]}c7k[*!6whE*6].(@VuhpO\*J/洢#Q[LW@hq|V=zuVn6t$6v*[m rqR"bTC%:*wbZ*ΣH5B,=_<0۸MOn=)foddw[`F;*`}['h~Ύ!v0)Yl]QɡZgO~O4JRP9Ja$M2:[K݄!l@uy-,t0+Xd4j~ [k9rzh=y͒owNAlK$X!o* b2,HNu<35*PU$`г_-  )j'MR7&2}&c&dn`tmx{ ,M+""np{UlCWV]1/J蓝w\C9L֨lH}+,NDPѯ@ ܾS4K}ʫ7p)6A\qEA5A:9Ƭ; Ef2jll&A").9R 1K4 jO`3RI'i9zrC9rwu;熌Mi&tԬ4\Kc\x2RFXMgw󨵌~J^ݥ,zڞ\B dD3;umwgLN Ja{맟"SWKi%(M$ pam=тek=VAor޹&7#-Pr*q"[Vd̂EKfg7Bn`&ѾA?'vfXmO!eirAclW z|hdm92I͜_;'"z. ^$H#l%v\yq93+R4 FA<%IDYE歡(ͭQKX9rpֲxo-+ot!Cd+PZDU礴7Gҍ(n^ ,}&Q =],r%C-%)/!b7`OgPPbbOae_@SduE#6Pc<^)cK`y 9Kl*Tz K0m0Fa*WJ?fm}Y C xڏMˆ+$"iU0iqo6=i$O@l|>I}F]qnq-\x{ѫrTxc,wG5ᖨA7ل|2f(aZ)w+8ǖlgIDAt .nD>|5$6g!e1 =Uz0FӼons吇~p)JA$q3ŊE_ yJ~b:pgpO F"YevW08K%rZ:NSsb XiȢi"o=m8qJ%mZ,umBJ ';fsj15F(tc޶~!"֔ 0g]AB@&@hB[5 '%y4Wfot5=c1Ȋ 6"4`2ciN:( v٘6S"V'f7VyMx66ocdk&jVm=1sVT xi]+|[\nM6gиܬUsg)jD w5D Y 1˙R'*{Ѧ*8s M9'up_1'eT(iװoO'kÞuv;~-\ BDg.3yw\u Sz;88Tlԭ9|Y? I̐zh"+uS%ymG.Y8ߞ5\g#]QkuR-oqrsҀ9RCMB)TP~k|v:=lڌL<-FӚ9[$FW] g6tLh#JB"!BdH?-X&,B (w4c5Pʐd#U T'?R`>hCR O 7T᫊LE p_7yӎVfߛW颔?ѾB&V(3ȁb_${ u9ƂF"*ڷ/kr^֌bz?n_Gn5,=w6Sᐺѫ,ksgk/>SLQ܁a%TUrmRH}eNBfڕM 8RZꐵCʐ޿F5f^܆o?QOG:z(%S ;n-gL(I*[?2ٴФ;1KHX#7j0~w9YA}{%^>ua1cCb?*υ܍xl W_Ov%qpT%Y%[T)i_];]a;SYnSؓXdn\Fwu):+ %?딾l`bO&.4Gb\ca9;Zk] @L"~gA0=U5z ZC[+3ya[%V'''?7atȓWsሻ< }[ҝ7bK F#Ie9Mx] W.z&+r'#.mɅ؋aL Ϫ̞ަI v.:@,bďf&I grhG<7N3>e4 s(R8RŇ9u{7m3p:CGWx&)B%qikڻ/ NGeF l$>z%<ș jA_5P#F |~B6GPa!h){Pr)hzBl)R8x@ ,<3:l2 hm˜4] u܉}5^=J͓>ZvqʎZ 4zFj+TU$AgiY`b-8ŐPΫVoSv0MãVc{s֤; /J# |B5iQX1}gsF'~E{q (TɕKڳ9?TT/\d[)o*$ҏ[MΙeK=ɸ{*.+5sSC rQ!UUu}ſ!܏R'Ώ%8 Xc?1_ͦPF+*]S!տ1 xmSȟ[{*ytB^gCi&N)hMBڹ0WBsVceҦף:憲]S譌:7S^5Zz994=M䡴;y-~Lx_ sF*ߩ" -@3ZryձmōL6Bv?h.;2SSى'b}I₏RxOaH4 RT^T?>;!Ɉ5=AEy2[,*R|/h3XoXD0-M7:.`9mF/"tcXW ¥ [K%831>k"(=a{nא] ͭ_f#POsMi~$U +Z9zvRә2qV>h|GZ~V١^O]Íc lcJnMU,Spn%.。Go,ϻa3s!#bP4x%`&iJdvd~=(rcҬ$c&7ƻqrKT1nC*u)RP^Ѹ~h7]|*;"N4\S{\OI\)0tJ YX֊X}YۖنiPѐ0O!?`QxZЍq_Qg]a %:vMVW?OhMGժ uDqI QAOA. ru|T dC2qZCb;<߁屎GNΜk|pјtcua(*>?f$ywZZGnǘEҜ:)*)WPF _ZbRCe-u GThcB=J^҄ jsIhެe**R's+u̐ԧ:lA8zSZEhGu_/gE/((p:VRq g~kbb!j£?prZ$"(M^#*=DMԊ ⶪǐcdlmt;oD@kEvg꣢NH/&N*E$ :'A9r-הhuj>⬾wv&E#h+0&չU8^|͝>J'"DSZՖV$ǷIqF:ݻZ{vJ6} 3}s  ;'[FKI3mō YkL'ٓ9w$qMGZ3ދN[&u'' Si [@=A=~V$c>A-}DdZUDL>2UoS)4w mZJM]Kozl%C`C$BGYsk/!;PpmLqwzc0z3sИ82tڛ{.k9d:A4v?a㹚 (oSkܳwЋ!'6#bjMv7& 0t^Б٭qYK#hJ!anи)MshRDJ#4KWד /#Ye/Z/^XqŨ|# m+s:-Za&0iiduF [miegXi4)WF=t 0 AHfE!aazIUVS;\PwcGYYN8tnq' c7Q0:7袰'ٽMl͊97UA/9JwZ( E.|`>NlaVB; ;/nluE ?L+fK1j)%t9tTwk+%f>zzXIbL#S j k:ƻR+eM2;,z5ybRjxֺ$o;[Je'zyGwK&V~AQWmA]%P,Lg%W+~[ "0mbmSy )6Nu!]WRW`U)bpMY_BITWWG*3$;.B/(Xhpv)q;y З-G `7U2 _s֤?U =#+捄Q3#FhegNX?Bi_ T9vIף$`dVrv~T\q-(ڎ )VMҔ@ܞ`Lƌ6;`~MYٹ~r{hNɌF~}̥ Y!{'/,¼k(:5gQcR.3wT~&y?]q Ҡ6„67Sb:|TRj;)Dk'q-L݈Ͱ]V^DīI11>E9v}־G4Dv'h XXHnrUi.>,n[` "zYI_QQ-'wI|"OΗ&:Va";oy*:JXףtnJl⊍5`ɋji_rODk]qL#[077C˒2"J A7 x^dqKR&|}(1]tl*"fDF0\>"Wi#&zî,wIc[}޶xp8hw20;0iR]toGwr-`ɐʸث>)? M⪓c *yyΊz*{ Il\؅@&5L[~nSSX^7_ߕ6,atn:}A+۬+dUC7c1 n@ :kmk>` ۽5DtB.6Y`B"Aƾ{a~@vޓ?ԁOKMG3nzWJ ;"h EqjP.^1ˤ\+h/=R ¦@Nv͵`jvca]QqWUOU/qmZ:%xHЯgMJi\8zq*ڐs}݋s-`9rZ`cQ8>gyz>!gJj9k+>brV p@VS1)Cb] Ӑ!-۹[=ѿue}P*\)[Ϫs8U7vUOSm$Pz~Vob&?G԰D Ӳ46۰>8ףWM'xQ؏Gى)JBBxC5=|؅h+ `i\\eUsYia~5^:|ńRsH/\{RpSfe( LdԽK'Nn!TK>nU y6 m3Va'g!n|r"qj# ŮkwO {64qg.*U|OFQN`4`/*"tRwcsm+4+DkbOmJ_DlJ{[ (9OIy{*}BW=]Z/랝XT֯]ӊ~Go( +ɉ) F8|c^*v- Uw&_CEcx= N!k O$C ߺQ}"_#bWg6vS W:GoFCc7-+@O:樿紤9ѕRV73PH6UӣPqT*8wxH,%uUg~sTfR~˦ʒkQw 'a$T[,n9\.܆vDd4ajQ5_Cߊz# 3ꕓ ƅ7~NtMm7o$?FsZ`&mVm*wcqI@2qxhewNP !0JY"6r#f!)d bVUJD!5d?B|1c '{G[ ]I6vzqLhZ 6d] U6eϽ^x!ڽ Ak7|Vз=9ްO) 2 YG1S#Q"X(2N {­x5*e#vz>S"96zOl6$i.5n{ ٽ({nuw`Ռ[X~<K~&^f3ƆD&aLhTJKTZtRbD;%ZSuLDAgx~@уtwn"lGproleaVm`֢` ËG #VNőTFb%Q~o-â_ҰO1VnM:DȰ |UT=_>CTl"PУq8M`1b)FO[g|br*7n8W{v aEfe ژ# |^˅WI><] l( WeA3Æ6?B1+ZĄpP+2nr.yc%,sr ;JeD$Y-Q>~̣AX++̓]Rgwk]9g&^c#hڌ +17Ff.LU"rR.77# |^.`by1ْGA#*b.GiF9qP9hgTc2%Y$?]4P!%~-bv۰j?;ZZlÐݞ2pq&o#ZF\yni@:\ѝ)$_8A/:o2&g Jo1;[(߈seWm>Hu#v|soU߲3/6 c_5}Oo§Q֎X|GZ !Nл~=ST2Nt+44`+YJ~0䋊늤`(=ڄ'& chj?B?V f7G(Zəz]Jv+l3[gpؤn'K?'A~>[+:nlIF1cB JYk6S-\5%T,gՐHl|mӴ:]IOW"#&e$6`g 4|[#r,'n,/4峽2q4iE6>3 Ā_č$$rֺ✕ ?K7#ڹf4_d\4˴r%;ƝCx P;ՅueR{gSڄ)gY4ĀS8J $> B;Zއ2oMz ĥ{%_^G_#(D|c){ZfB5ˊTT WZ< PHxb>)F7~ǞvA̢zGǐMW/6 t!@Y`-uWӑ`3JrQ6ow}R,9] (˲̙pMUwEۢ,i3ʸfA7HRmN7}|<O7cPsybsTuԒ+Y.d$|&>L$dfQVWs,c~j|&쟻w:ei5ԛNXmɝFX@0Bz1lhz 'N䦇2]j4̟to]XOt8@Dו8%޵2-e!z;*0< cPul6D);>#lטӀ8Ur6UG}lN/uplr¦#/5x:* u@NZJR$e9CEME ~DHD8>bV0қ:qIjZ*W2:;>?Hj-bdʠΒ1fĹ}$`ѪEg\zYi'lzxVI汻^ٍ׭8'uD2w}pP 󻿊B#}ɦp46_fZm][GsY*E}PYj"磍 ۄHn%,02O}OwS*}hϖ@@[uYV9 7. Ʋ>&=Y9=i8O)yE;9 j3[6+{)QC{wiعKsO}OY$3:7%x)0n`;~i iʭy^ڞRp2Xf"\V7"_ -jw X&0-=-S<}$"oe"QY27DpcRl89 E6rAbLXl쟎t 7SZg6̻͞tjfۄ.R!]DaDm6XJ 3e_2/Z;7@:zRB(a8pQyӠq9A,n1Lإp۝Ky6Pf |Har+8/ۈJ|M( 4ymy\G mJ, dL+M`ߪoL}I9&U!h Y3ɮM9չA'J*{cv:/hQnPoLl|ӆC^~׉3ʏIW6C[l !4 Tj2 ޠYۖɬn GxssFm&[M#_X*1c6 xharAQbg_u߄Iw&h7(g'ǩ#r߁B ͕?c&lDB>_7z306m$* E4[)dHڹp`aŽ ҧfFlBE+>#?ɇYmdϡl=Dog2vElEHi^ %@DtI2vXBRM:V'Aб5y`']8taf) 7y}FQ#`IXi}68ލ~ROzύ+O@nR{{V׻HM Ș;tJi<\Ąi kG3Nt?\ Qz .G@U5FIHA1E<3q C6~R1rوI%ػrI'n لò쪊o1讥ʞ͗;ѬKnXUDY)1vQ3x>@Q7jPRgmNc3fܟ*{ɨPg 3`_u鿜qq*8`эW4_ӕc,"(\V7N#bk*A14Ǎy}oVAp +=%UY/# b1y u]X'~*R^w =%nN{ 7_[F%.q" j0 eBuc+Nͳ9V}*9>yHB_ QE@i?MBh+nZk.t`* 50CAOkعBsTH&uFlc>7LgP yl4UvLn3sIXj@!&;9cV%g3htn?c3Ydgz[ z928,gQJC]K#CS$q2U@o )>۩cL.ޠUA2MgF+CU櫈s75̫By9hK{}:i^j롃I|m >|#]%>Tʶ|lhTR/wÓP$c8׉OM*=}t2[CmUz[އ7oRv<3&@j=jQȴx{ݙU8 _%yi-A0j"c)LqK8=^EdxUy*bd-w󱬇v)i1U je^yHi#Q㓆'|˕g=.jĀك6uʉбRR&Aؑ)>" : ` p왕$1ts:- t呜%=Vr_AChw2yҒ Bу8 ^~n3 I3:wYN?htd=(cWmlN Z20wEmM,iAS &1 gLt^k kbCt8<\uϔ㞌ڐF Z@r(#Wi N.{a+V]x1$ee@zweYq0[Nse\[6kO>ARd*Ȯtz 9Nx'aoJ0ux\T®Hr %VG@ܐG]ybcOi#]t hA)5c2@:Jf'9 -v"rJ;Ms׶!G7Oh 5?gg eVwծϱ%:ְfO~;׵ -K⡹.&IbmfOJ[*{$ҫ7?$4p~R1:̣K+U jA}tʼnP/ 3I׮&Y>^MmrEl.^E"8LఫN+QFE;Xt V9)$B%19Cyi]W IVޱt+ *LgR5͞hJ5 Ⱥݢ3ر='æDuA@UPEzpU5UXܥ9$Ko}\$!ů AJhfsh9n/F&CWZ@yz3t~Z(Pu;nQ?5I;_m*@sutOpUE7'XKl )} !aTtrys ݴ ;+JzlKzq6qbr O-ΣH-D#I] Xb{pF 6 Q_1?нGh?b=|3ip޺b6-b*8o$R!$e) ik,&HAb(1zG)@ycźaK%y^|6$na?[3Z'OYK/811[-a]c)8(jcMp1puiJB Acfă>XX+xxvӌOʥ'o'ܴn+ zr e`bNqrvsڣExq6bmb-sɟv:aʗ KvksfcFّIoI2ZOTknqȣtq( fL{8]r=|4P~VoJLZ멒\63'a5M,o7fOzhDU7K1Em("QNR)wV}nU.I2/fTL'%sZO?*!\FSO'+&Ӯ~JRaW%Vq\R옢#S/Dq)l{{ʼE X: ZMfeZu>ܝTcq':^~tg vx'%+Q n9F @Ng7]*A˳ :y^,ʶRILS3 fY%z40@PuLmdy;yg; т[֦w\|Bs&TULnVo' %@ OfȞ@bˎψjIXiT'f i x~@(zH^hobArp2DbNa<}~Ho$W}Ҫ!~}es)4ka~|XUR";Ck lvXZZ@o{4H$:z) j=[ebHML't^ASȝI\or1[}"o6IIGUP\*鿢bИHcsCwjM+U6vgJLթZB,: Xt3W.BޗV) UJ6j)tjz"RMrG7ψni$eM ʨzrg4~i߷"h4ԳZMm8V1YO 7쭎X568M&{(T73 ʌZh7+S㴅YfcTt6Q([<9pw#&嫁1o!nv4r!aEhܭ9gO@`qNY0YLGRUufeNiKߟJzU30@nZjuݢ1B*Ȯ9[q N ei ? մ[3W(xȣa3L¦oӄq=7`9x>d~e/ccxA+W`2Pi >}~B]=y+]{sbؠvی)ɢ25NMT%]u]:`aXs i; UO[="-R,w4=>\+ytym#y!LGq*:!u!>SK(mk($e+YC岯v(y0ں=1{S1p*ް22KvT]ټca̯@A^z׫ Hh*9>x6Z2Fm'" #{daA8 a&q>6R<:8?WVS*H?2bų|JnG,QLIt=-[|Qدq)<|@斿9DLfq)mHa[Z>qo@ mR#G2sjtrS22D2ĚR2J&2w81>df#|J)qx K-*IP@Sp<1ù*$(8 "wPX!;YӘ=VNˮ j۝0k-3!V2I#{҄΁I+߈1LєE:sQg c #bT˶w.>[_o7j-X^ߪ5tgz-E*hL?@$mjrY1XAMNV ެ%o֖7֫NJi&)w`m(/bmA\$A8:؁p&\hjNT} fb> OJ(dc&HyUܱwqPPrs1' HaQ[o*S_QSZ6-Ϻ{CaqZ)ːeB:@ SK {ZFg߰PZ*eY0ߙtwO9Vv@XR0IxhgV^-MO]'FdN?doTr/zNJ2sJ>"YZRzQr&s;澷ak(WWZyyɋ̦/DU)f3Y{T@L :mœ=hnNJC}C;9U(xS ECƴ{QvPZ5  b|>!&mA0} jRƪ yABK5j lI{x7hvc8ʷUn$@xnqQO4/i]S,mЂVQ@l}=搞gZM!QAdksmy01U/Ly 5s'N㹇d2SڿᵝLoXMXČa%7-Z,o^K(5_$U) mcyE<^Ϲ",Lod؂3XA^ Qњ]!׃O k-_"qS)7P*!!84ET<\,G w;Fr|X2`-#Ri1 qht:zgQ NbNNYNؒcT$s993CΠފ#{Qb<4fMR!ub_Q,e hAN(œ):pN!A K:t|Ggc?VIF/5MyQ܎sv~ $"M')G!kcᨼLtCzhE ĽRs"ʉ-X{r<Ȏ{@⻱^9^BG"6ϲo| Qq/4  7 i g~g7/\v:fBދx=\vL1gh 4q6D -0xU=YD)eq,-)Z[H DYQ+nO-mۤ8`2]}+?[;B6R򙥚a2R"Vqvk _{Le(D!P5Ԅ0PFxS .xȰYMZ pX kCcZz˃ѽx2U9G.—rU䷕P19N$D#Z0pTTEl;N7o!~G/f~HZ!LDJe ַ,Ũ]Z)F_Ԙՠ3mHu`UgVbcv qc9ž[1M[o $fAmg}F&t+w+<t|[A)Z̨`1 e* Il{9koa̪>&GdF)hnB;2@"Nc9Aiޭ~IRpZGYN:jsmD9MD Fe <:Ie*KXMu&g`ksp{VTCnNZQw7nh.ؚsZϓKQ&\ͼr 0sGW>uS0;\MTQ>A>'0u5@KԢv \%-h|+7KR{K~ӄfKDݖn=n~|L^bl<&PwCܤԈJߘH2\Du& A\Whs">Kw qZB*霈c FKI|C9|Fs-};UK 'U ύmnY{>d {ÉQP8<{5YFH1Ƕ'۬:*BuӒ0Q{~}99X=&s=ܥN{Ms˗γwAݓ!b&Seθ$)<ԛ3[]|:"'F $.iJ{5q^7u_p ߸O8Ց+ f7rxfIt;a/74>?YM)_$#77@П4'78w!Α*5R-{5( |ugocnGT&@Fe+wG|u2ټ NAjNØ^VZʟQ[ҏ)WGcOsy`7H TNnٻb@8cFc}7ng8= sKA ?YG8<s޲'w EGg٦|OeSjo=Ɵ~2-go$|&HEP-݃ n(PN"KPv5*\d8zD]$8PЎ[qԈͳ,lxGgk<LeG'cjIcA*扫*S{T.3sj,yq](u;Uz1Y]D_W8宩Cky\N)zKr7AK,Dr&$=I}jvTG}zTcΓt_O6GElrc UO;&68a^Ejՙ(N2GN7eA )fFМ3k˳ܝ֩.ss[WoiI_b꼁+2Y{"qCj=PśXӓbq!V43F%S0%s2N3q0JAZ"$;q:+@[Js8yNoo"l48QUnFwxeXTTv}ҩG3^I,RI *6SRMsŀɱO_!n_lsQ.ucBQx1ThHd9x%G:w BH*fz}A('LG3riRGmn.F>pE:/;!b_\No"ύB|dBm1fO_8~ J 5s0h6<9`X)Q^} l5-n -!J$m,bL.D¸?8U̚RuL{j i#/iXh#3WKua)$PNʊ{:X"k#%sf+;/ u *^U!0.˪YE<2d!R6N9tCLDEߖ>'Fx:j[FJAEޑ_qAd'kCpėw&ܛQaBb2oH `ΏȎPv{yg1u",C/U¡a`dFƙa>!GwŐs8`+zB2Sf8/¦AFm6, -TSM;9dEqLxh;b4~ϾISY0gc30- /g}_C2Nbz[o~tRG xaomgv"6n񧈊+lLBaIYK@o&VKZCv}Nsݷئ&PX{-υؤS2_%[[먦W\7!)vr\ikP*}O8Чfid3>p~l]# ;H,rx7cne v./e|ri7,:woPdpےb#!sۤ# ]O6OZPm=Q!Z7ChOVfDrV+)6#mcnus=]w)D#V7: RύL0/oM_N2+ǘ'G5ͪF28Q=׼bo%{NTd~aG5h%G*įڳOĥ#bQFR6GTc guMGq7̅I۴^o! O'IѫuDBywX`-;؄CЎh{%B!0 Q˕>Pjx)kխT&Duuv fXqmHa!zrIM i1R2r>i4xz ayTAx;'ԥg6)6kyV],3Z`y߳R->A 7'K ;+t\bX݇ /7XR#w!ףq)LIVl6>^ܙH{mծvbB,W`gωy[tQTXXܮaqZ26I ևHpMǢc|nA9<+|HiWi{˦=U1ɯ@$4% DaMQl @ܣ+-N鑺T_|zbm&F[nF*`w؆AKl1%u$8PŠ)O]7!9;*6Ft"XNPW}~< 69&#omm-=E2%#Unvnf PrB4,ޠS<Ѧ6.tMDuIi\6]@$|<^)a֦-5#&g/"+}r (N;brZp*2`u_4i. 'K1sy Zg cAI{Tx<#$Rzr8 E>w-u*5DZ w4{,*{p,9"=ۑMU@T{:8YN5Kh"Em脡xpLkl+(_-1o)ۖ{hsB:b\K!ޕl‚J]@iؼ e F5IJAJ]b1ĤxlWw/ k~3LXhpj9\ ^PdO_EAg鹮w,n_x)cR,vD{{q:4暐%dUU 8ei]3ǨbOdxQuor7^&ꙉH)X~& x)(}+iR .aӟsefS<ߓ5vV2&R>hFߖҖFx>a磝ĦiϏxD]ձpjkxs%DSC,izZr@s辽-m0eF2zF?+LRr+Gt"#ե$HKx#D0ρU/߈AYXǙ ~LiCΣF+E64뼾`-X֠0xgȰ})7F[T@ [Dka*+Gr_].}g) F~"WyC+GAA-[Q<}cdiنMN,X,IcWjb4̙ kM}L5fĞN >Cş380b[.юJp<)%KAO&Xʛ n炘)+F/\݊O%"ci>kw)J&f7W]p\ .0^eݙ΄J޵7]pSΛ6VOhTh5UI(em3%@1<2 C&BJfU,>Bc]3=n-ۙImo;)JwU eKks4 ~nm~3nFvUY[7 Sy^%iͥnn`'붰JrID(C)Cxq8y=vў0ҾۉiF@xNJWUӎOr#62O# Հt'.FGݱIB6m]Aib~&Zl~qT^2 nDRߡ/ / l|>i<%N981r^Q^N@S 9`bSQucEl8 9;t6QUK j1KsMP2z25ûi2NNtdU))go,HyԩŁWvkԌA ~MX?Rsm0^8 5ܒQEIOZyHs哝&VL bdUIڬA Ip{4*X:!a;K 9Xբ~@oiM[JSi$M 񓁼1?1eu 52/qctBԶ'r^#8o#dۯ9IC`X|dQZ匎0Tc zPN]OlBUQӄD5֓ Ĥa6~#O[UndD>Nb$2%sGoɣLdY|GJKPym]Hа ~21"QWXJkuС&L{6–B[(i̘X]|DxKrlB=y9u,퉣kzn{j1Wm@)XpEEXJƖ\)C]R-熥fLcccث+!zQ~zFF} #[z>.AS8s\7fS^<|U~ɭ`4lBc<27=cogrpBh2H}u)3НmQދ4rfgxLIٻ6>:U_id" 6v6*V6Q,rc>TvcKp4MPi$:!Ik J8ª0Z @CM؛ N4kڜЈaKc0sSs@O߮,5y֌h۩@ ay *<ȧ%G#hYX%W:z<WsŭL +±l,?cti;; :| 2BuE$C&̿k*GBѸ;r 3.xӢvj2&#JO)(HKM̉ȳ_wzZ+'@ Nbdp7+ dĜVҴYeApR Tp#eS7d*A{߁}J˝PtMxŪ{gK?tȲsQr|C1-qݸw}uq@0+-9S4{_{A1֪seqinr/data/clustal.RData0000644000176000001440000000064612440112110015070 0ustar ripleyusersj1 @[JP ~A[KHVԱ qdKu[T)݄\ے%vi{ !taBvq p>]l?,_۾wߞ_|qyu{svrq{k;)HBqJZ{U2jHE `Ą& 3-#"ƃE aetVb"55?)TCZ=+@'@F2∕15np? 3"1`=|S1RGf7TTk[iLQXfS9[/' (W,Q8 󒭷#ܞf ӎ0cc^%_'_^f{WG%.ÄzHi'$szǩ ' g$seqinr/R/0000755000176000001440000000000012440112016011773 5ustar ripleyusersseqinr/R/getAnnot.R0000644000176000001440000000226011350221640013700 0ustar ripleyusers# # To get annotations corresponding to sequences # getAnnot <- function(object, ...) UseMethod("getAnnot") getAnnot.default <- function(object, ...) stop(paste("no getAnnot method for objects of class:", class(object))) getAnnot.list <- function(object, ...) lapply(seq_len(length(object)), function(i) getAnnot(object[[i]], ...)) getAnnot.SeqFastadna <- function(object, ...) attr(object, "Annot") getAnnot.SeqFastaAA <- getAnnot.SeqFastadna getAnnot.SeqAcnucWeb <- function(object, ..., nbl = 100, socket = autosocket()){ # # Check arguments: # if(nbl <= 0){ warning("Negative or zero value for argument nbl, forced to 1.") nbl <- 1 } # # Build request: # request <- paste("read_annots&name=", object, "&nl=", nbl, sep = "") writeLines(request , socket, sep="\n") # # Read result from server: # res <- readLines(socket , n = nbl) # # Remove the "nl=xx&" answer from server on first line: # newfirstline <- unlist(strsplit(res[1], "&"))[2] res[1] <- newfirstline return(res) } getAnnot.qaw <- function(object, ...) getAnnot(object$req, ...) getAnnot.logical <- function (object, ...) object # so that NA is returned for virtual lists seqinr/R/autosocket.R0000644000176000001440000000232312426453046014316 0ustar ripleyusers# # Returns the socket to the last opened database if any. # autosocket <- function(){ # # Check that global variable "banknameSocket" exists: # if(!exists(x = "banknameSocket", envir = .seqinrEnv)){ stop("banknameSocket not found, try choosebank() first") } # # Check that "banknameSocket" belongs to the sockconn class: # socket <- get("banknameSocket", .seqinrEnv)$socket if(!inherits(socket, "sockconn")){ stop("banknameSocket$socket is not a sockconn") } # # Check that the socket connection status is OK: # status <- summary(socket) if(status[["class"]] != "sockconn"){ # # for backward compatibility: in R 2.6.2 the result was "socket", # so "socket" instead of "sockconn" is temporarilly allowed with # a warning. # if(status[["class"]] != "socket"){ stop("socket is not a sockconn") } else { warning("backward compatibility patch used, upgrade your R version asap") } } if(status[["opened"]] != "opened") stop("socket is not openend") if(status[["can read"]] != "yes") stop("can't read on socket") if(status[["can write"]] != "yes") stop("can't write on socket") # # Iff everything is OK return the socket: # return(socket) } seqinr/R/stresc.R0000644000176000001440000000132712012141663013431 0ustar ripleyusersstresc <- function(strings) { # # For some reason I don't remember, the objects "fromchar" and "tochar" were # originally arguments of the function to allow for more flexibillity but # are now hard-encoded within the function. # fromchar <- s2c("\\{}$^_%#&~[]|") tochar <- c("$\\backslash$", "\\{", "\\}", "\\$", "\\^{}", "\\_", "\\%", "\\#", "\\&", "\\~{}", "\\lbrack{}", "\\rbrack{}","\\textbar{}") # # Definition of the function to escape LaTeX character in one string: # f <- function(string){ c2s( sapply(s2c(string), function(x) ifelse(x %in% fromchar, tochar[which(x == fromchar)], x))) } # # Now apply it to all elements of vector string: # sapply(strings, f, USE.NAMES = FALSE) } seqinr/R/setlistname.R0000644000176000001440000000155310706621630014464 0ustar ripleyusers# ==> setlistname&lrank=xx&name="xx" # <== code=xx # Sets the name of a list identified by its rank. # Returned code : 0 if OK, # 3 if another list with that name already existed and was deleted # 4 no list of rank exists setlistname <- function(lrank, name = "list1", socket = autosocket()){ # # Build request: # request <- paste("setlistname&lrank=", lrank, "&name=\"", name, "\"", sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ warning(paste("code returned by server :", resitem[1])) } return(as.numeric(resitem[1])) } seqinr/R/gbk2g2.R0000644000176000001440000000413112435602525013210 0ustar ripleyusers######################################################################### # # gbk2g2 # # Conversion of a genbank format into a run-glimmer2 like format # # ######################################################################### gbk2g2 <- function( gbkfile = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.gbk", g2.coord = "g2.coord") { input <- readLines(gbkfile) outfile = file( description = g2.coord, open ="w") # # Keep lines with CDS flag: # input <- input[ substring(input,1,8) == " CDS"] # # Extract boudaries strings # get.boundaries <- function( line ) { line <- unlist(strsplit(line, split = " ")) line <- line[nchar(line) > 1] return(line[2]) } input <- sapply(input, get.boundaries) names(input) <- NULL # # Look for 5' partial genes: # idx5p <- grep(">", input) if( length( idx5p != 0 ) ) warning("5' partial genes encountered (no output):", idx5p) # # Look for 3' partial genes: # idx3p <- grep("<", input) if( length( idx3p != 0 ) ) warning("3' partial genes encountered (no output):", idx3p) # # Look for join in features: # idxjoin <- grep("join", input) if( length( idxjoin != 0 ) ) warning("join encountered (no output):", idxjoin) # # Define partials and join: # censored <- c(idx5p, idx3p, idxjoin) # # Extract boundaries: # for( i in seq(from = 1, to = length(input), by = 1 ) ) { if( i %in% censored ) next tmp <- unlist( strsplit(input[i], split="\\.\\.") ) if( length( grep("complement", input[i]) ) == 1 ) { end <- as.integer( substring(tmp[1], first = 12 ) ) + as.integer(3) start <- as.integer( substring(tmp[2], first = 1, last = nchar(tmp[2]) - 1 )) line <- sprintf(fmt = "%d %d %d", as.integer(i), start, end) } else #direct strand { start <- as.integer(tmp[1]) end <- as.integer(tmp[2]) + as.integer(-3) line <- sprintf(fmt = "%d %d %d", as.integer(i), start, end) } writeLines( line, con = outfile ) } close(outfile) invisible(input) } seqinr/R/getKeyword.R0000644000176000001440000000306610724555664014276 0ustar ripleyusers# # To get Keywords associated with a sequence. # getKeyword <- function(object, ...) UseMethod("getKeyword") getKeyword.default <- function(object, ...) stop(paste("no getKeyword method for objects of class:", class(object))) getKeyword.list <- function(object, ...) lapply(seq_len(length(object)), function(i) getKeyword(object[[i]], ...)) getKeyword.SeqAcnucWeb <- function(object, ..., socket = autosocket()){ getKeywordsocket <- function(socket, name){ #modif simon writeLines(paste("isenum&name=", name, sep = ""), socket, sep = "\n") res <- readLines(socket, n = 1) number <- parser.socket(res)[1] writeLines(paste("readsub&num=", number, sep = ""), socket, sep = "\n") res2 <- readLines(socket, n = 1) rr <- parser.socket(res2) writeLines(paste("readshrt&num=", rr[7], sep = ""), socket, sep = "\n") res3 <- readLines(socket, n = 1) #modif simon # Get the nb of kw (not used here) # nbkws <- parser.socket(res3)[2] #recupere la liste de paires val, next tmpl <- unlist(strsplit(res3, "&")) #transforme en liste tmpl <- unlist(strsplit(tmpl[3],",")) kwl <- unlist(tmpl)[c(TRUE, FALSE)] lapply(kwl, function(x){ writeLines(paste("readkey&num=", x, sep = ""), socket, sep = "\n") res4 <- readLines(socket, n = 1) res <-parser.socket(res4)[2] substring(res[1], 2, nchar(res[1]) - 1) }) } unlist(getKeywordsocket(socket, name = object)) } getKeyword.qaw <- function(object, ...) getKeyword(object$req, ...) getKeyword.logical <- function (object, ...) object # so that NA is returned for virtual lists seqinr/R/swap.R0000644000176000001440000000031611230170265013076 0ustar ripleyusersswap <- function(x, y){ x.sub <- substitute(x) y.sub <- substitute(y) x.val <- x e <- parent.frame() do.call("<-", list(x.sub, y.sub), envir = e) do.call("<-", list(y.sub, x.val), envir = e) } seqinr/R/ghelp.R0000644000176000001440000000215110706671270013233 0ustar ripleyusers# ==> ghelp&file=xx&item=xx # <== nl=xx&...1 or several lines... # Reads one item of information from specified help file. # File can be HELP or HELP_WIN, item is the name of the desired help item # Reply : nl is 0 if any problem, or announces the number of help lines returned. ghelp <- function(item = c("GENERAL", "SELECT", "SPECIES", "KEYWORD"), file = c("HELP", "HELP_WIN"), socket = autosocket(), catresult = TRUE){ # # Default is "HELP" file and "GENERAL": # item <- item[1] file <- file[1] if(!(file %in% c("HELP", "HELP_WIN"))) stop("Wrong file agument") # # Build request: # request <- paste("ghelp&file=", file, "&item=", item, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # cat result: # answerFromServer[1] <- unlist(strsplit(answerFromServer[1], split = "&"))[2] if(catresult) cat(answerFromServer, sep = "\n") invisible(answerFromServer) } seqinr/R/stutterabif.R0000644000176000001440000000637411264654627014512 0ustar ripleyusersstutterabif <- function(abifdata, chanel, poswild, datapointbefore = 70, datapointafter = 20, datapointsigma = 3.5, chanel.names = c(1:4,105), DATA = paste("DATA", chanel.names[chanel], sep = "."), maxrfu = 1000, method = "monoH.FC", pms = 6, fig = FALSE){ xseq <- floor((poswild-datapointbefore):(poswild+datapointafter)) yseq <- abifdata$Data[[DATA]][xseq] # # The baseline for the signal is taken as the most common value: # baseline <- baselineabif(yseq, maxrfu = maxrfu) # # Values below baseline are forced to baseline: # yseq[yseq < baseline] <- baseline # # Set baseline to zero: # yseq <- yseq - baseline # # First pass to fit a gaussian on wild allele: # ytheo.one <- function(p, x) p[1]*dnorm(x, p[2], p[3]) obj.one <- function(p) sum(( yseq - ytheo.one(p, xseq))^2) guess.one <- numeric(3) guess.one[1] <- datapointsigma*sqrt(2*pi)*max(yseq) guess.one[2] <- poswild guess.one[3] <- datapointsigma suppressWarnings(nlmres.one <- nlm(obj.one, p = guess.one)) # # Second pass to estimate stutter allele parameters. We do # not take into account wild peak allele data. # est <- nlmres.one$estimate censored <- floor(est[2] - 6*est[3]) # cut at mu - 6 sigma ytheo.two <- function(p, x) p[1]*dnorm(x, p[2], p[3]) used <- ( xseq < censored ) obj.two <- function(p) sum(( yseq[used] - ytheo.two(p, xseq[used]))^2) guess.two <- numeric(3) guess.two[1] <- datapointsigma*sqrt(2*pi)*max(yseq[used]) guess.two[2] <- xseq[which.max(yseq[used])] guess.two[3] <- datapointsigma suppressWarnings(nlmres.two <- nlm(obj.two, p = guess.two)) est2 <- nlmres.two$estimate # # Fit a spline: # spfun <- splinefun(xseq, yseq, method = method) xx <- seq(min(xseq), max(xseq), le = 500) yy <- spfun(xx) # # Compute output result: # x1inf <- est2[2] - pms*est2[3] x1sup <- est2[2] + pms*est2[3] l1 <- optimize(spfun, interval = c(x1inf, x1sup), maximum = TRUE)$maximum h1 <- spfun(l1) s1 <- integrate(spfun, x1inf, x1sup)$value x2inf <- est[2] - pms*est[3] x2sup <- est[2] + pms*est[3] l2 <- optimize(spfun, interval = c(x2inf, x2sup), maximum = TRUE)$maximum h2 <- spfun(l2) s2 <- integrate(spfun, x2inf, x2sup)$value rh <- h1/h2 rs <- s1/s2 p <- list(p1 = est2[1], mu1 = est2[2], sd1 = est2[3], p2 = est[1], mu2 = est[2], sd2 = est[3], xseq = xseq, yseq = yseq) if(fig){ plot(xseq, yseq, main = paste("rh = ", round(rh, 5), "rs =", round(rs, 5)), ylab = "RFU", las = 1, xlab = "Time in datapoint units") abline(h = 0, lty = 3) abline(v = c(l1, l2), lty=2, col = c("red", "blue")) abline(h = c(h1, h2), lty=2, col = c("red", "blue")) #lines(xx, yy, col = "red") # # Stutter: # xx <- seq(x1inf, x1sup, le = 500) yy <- spfun(xx) lines(xx, yy, col = "red", lwd = 2) # # Wild Allele: # xx <- seq(x2inf, x2sup, le = 500) yy <- spfun(xx) lines(xx, yy, col = "blue", lwd = 2) # # legend: # legend("topleft", inset = 0.01, legend = c("Stutter product", "Corresponding allele"), lty = 1, lwd = 2, col = c("red", "blue"), bg = "white", title = "Datapoints used for:") } return(list(rh = rh, rs = rs, h1 = h1, h2 = h2, s1 = s1, s2 = s2, p = p)) } seqinr/R/cai.R0000644000176000001440000000073011021546123012656 0ustar ripleyuserscai <- function(seq, w, numcode = 1, zero.threshold = 0.0001, zero.to = 0.01){ stops <- which("Stp" == aaa(translate(s2c(c2s(words())), numcode = numcode))) singulets <- which(sapply(syncodons(words(), numcode = numcode), length) == 1) exclude <- c(stops, singulets) w <- w[-exclude] w[w < zero.threshold] <- zero.to # if value is effectively zero make it 0.01 nncod <- uco(seq) nncod <- nncod[-exclude] sigma <- nncod %*% log(w) exp(sigma/sum(nncod)) } seqinr/R/choosebank.R0000644000176000001440000001215012426453046014250 0ustar ripleyusers########################################################################### # # choosebank # # To select an ACNUC database or to get the list of available databases # from an ACNUC server. # ########################################################################### .seqinrEnv <- new.env() choosebank <- function(bank = NA, host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE, open = "a+", encoding = "", verbose = FALSE, timeout = 5, infobank = FALSE, tagbank = NA){ # # Print parameter values if verbose mode is on: # if(verbose){ cat("Verbose mode is on, parameter values are:\n") cat(paste(" bank = ", deparse(substitute(bank)), "\n")) cat(paste(" host = ", deparse(substitute(host)), "\n")) cat(paste(" port = ", deparse(substitute(port)), "\n")) cat(paste(" timeout = ", deparse(substitute(timeout)), "seconds \n")) cat(paste(" infobank = ", deparse(substitute(infobank)), "\n")) cat(paste(" tagbank = ", deparse(substitute(tagbank)), "\n")) } # # Check parameter values (to be completed): # if( !is.na(tagbank) ){ if(verbose) cat("I'm checking the tagbank parameter value...\n") if( !(tagbank %in% c("TEST", "TP", "DEV")) ){ if(verbose) cat("... and I was able to detect an error.\n") stop("non allowed value for tagbank parameter.\n") } else { if(verbose) cat("... and everything is OK up to now.\n") } } # # Check that sockets are available: # if(verbose) cat("I'm ckecking that sockets are available on this build of R...\n") if( !capabilities("sockets") ){ stop("Sockets are not available on this build of R.") } else { if(verbose) cat("... yes, sockets are available on this build of R.\n") } # # Try to open socket connection: # if(verbose) cat("I'm trying to open the socket connection...\n") oldtimeout <- getOption("timeout") options(timeout = timeout) socket <- try( socketConnection( host = host, port = port, server = server, blocking = blocking, open = open, encoding = encoding)) options(timeout = oldtimeout) if(inherits(socket, "try-error")) { errmess <- paste("I wasn't able to open the socket connection:\n", " o Check that your are connected to the internet.\n", " o Check that port", port, "is not closed by a firewall.\n", " o Try to increase timeout value (current is", timeout, "seconds).\n") stop(errmess) } else { if(verbose) cat("... yes, I was able to open the socket connection.\n") } # # Read the answer from server: # if(verbose) cat("I'm trying to read answer from server...\n") rep1 <- readLines(socket, n = 1) if(verbose) cat(paste("... answer from server is:", rep1, "\n")) # # Send client ID to server: # clientid(socket = socket, verbose = verbose) ############################################################################### # # If no bank name is given, return the list of available banks from server: # ############################################################################### resdf <- kdb(tag = tagbank, socket = socket) nbank <- nrow(resdf) if( is.na(bank) ){ close(socket) # No more needed if(verbose) cat("No bank argument was given...\n") if( !infobank ){ if(verbose) cat("infobank parameter is FALSE, I'm just returning bank names\n") return(resdf$bank) } else { if(verbose) cat("infobank parameter is TRUE, I'm returning all bank infos\n") return(resdf) } } else { ############################################################################### # # If a bank name is given, try to open it from server: # ############################################################################### # # Try to open bank from server: # if(verbose) cat("I'm trying to open the bank from server...\n") resacnucopen <- acnucopen(bank, socket) if(verbose) cat("... and everything is OK up to now.\n") # # Try to get informations from HELP file: # if(verbose) cat("I'm trying to get information on the bank...\n") bankhelp <- ghelp(item = "CONT", file = "HELP", socket = socket, catresult = FALSE) bankrel <- bankhelp[2] if(verbose) cat("... and everything is OK up to now.\n") # # Try to get status info: # status <- "unknown" for(i in seq_len(nbank)){ if (resdf[i,1] == bank) status <- resdf[i,2] } # # Build result and assign it in the global environment: # res <- list(socket = socket, bankname = bank, banktype = resacnucopen$type, totseqs = resacnucopen$totseqs, totspecs = resacnucopen$totspecs, totkeys = resacnucopen$totkeys, release = bankrel, status = status, details = bankhelp) assign("banknameSocket", res, .seqinrEnv) invisible(res) } } seqinr/R/closebank.R0000644000176000001440000000145610707472307014105 0ustar ripleyusersclosebank <- function(socket = autosocket(), verbose = FALSE){ # # Send "acnucclose" to server: # if(verbose) cat("I'm trying to send an acnucclose message to server...\n") acnucclose(socket) if(verbose) cat("... and everything is OK up to now.\n") # # Send "quit" to server: # if(verbose) cat("I'm trying to send a quit message to server...\n") quitacnuc(socket) if(verbose) cat("... and everything is OK up to now.\n") # # Close connection: # if(verbose) cat("I'm trying to close connection...\n") res <- try(close.connection(socket)) if( inherits(res, "try-error") ){ if(verbose) cat("I was able to detect an error while closing connection.\n") stop("problem while closing connection.\n") } else { if(verbose) cat("... and everything is OK up to now.\n") } } seqinr/R/amb.R0000644000176000001440000000202710610133220012653 0ustar ripleyusersamb <- function(base, forceToLower = TRUE, checkBase = TRUE, IUPAC = s2c("acgturymkswbdhvn"), u2t = TRUE){ if(missing(base)) return(IUPAC) if(!is.character(base)) stop("Character expected") if(nchar(base) != 1) stop("Single character expected") if(forceToLower) base <- tolower(base) if(checkBase) if(!(base %in% IUPAC)) stop("IUPAC base expected") if(base == "r") return(s2c("ag")) # puRine if(base == "y") return(s2c("ct")) # pYrimidine if(base == "m") return(s2c("ac")) # aMino if(base == "k") return(s2c("gt")) # Keto if(base == "s") return(s2c("cg")) # Strong (3 H bonds) if(base == "w") return(s2c("at")) # Weak (2 H bonds) if(base == "b") return(s2c("cgt")) # Not A (A->B) if(base == "d") return(s2c("agt")) # Not C (C->D) if(base == "h") return(s2c("act")) # Not G (G->H) if(base == "v") return(s2c("acg")) # Not T (T->V) if(base == "n") return(s2c("acgt")) # aNy base # # Uracil case: Uracil in RNA instead of Thymine in DNA # if(base == "u") if(u2t) return("t") else return("u") return(base) }seqinr/R/synonymous.R0000644000176000001440000000402610675456272014412 0ustar ripleyuserssyncodons <- function(codons, numcode = 1) { # # Check argument: # if( any(nchar(codons) != 3)) stop("vector of three character string elements expected") # # Force to lower case: # alph <- unlist(lapply(codons, s2c)) if(any(alph %in% LETTERS)) codons <- tolower(codons) # # Get the genetic code map: # allaminos <- sapply(words(), function(x) translate(s2c(x), numcode = numcode)) getsyn <- function(c) names(allaminos[allaminos == allaminos[[c]]]) synonymous <- lapply(codons, getsyn) names(synonymous) <- codons return(synonymous) } synsequence <- function (sequence, numcode = 1, ucoweight = NULL) { tra = translate(sequence, numcode = numcode) cod = splitseq(sequence) if (is.null(ucoweight)) { for (a in unique(tra)) { pos = which(tra == a) if (length(pos) > 1) { newcod = sample(cod[pos]) cod[pos] = newcod } } } else { for (a in unique(tra)) { pos = which(tra == a) urne = rep(names(ucoweight[[a]]), ucoweight[[a]] * length(pos)) if (length(urne) > 1) { newcod = sample(urne, length(pos)) } else if (length(urne) == 1) { newcod = urne } else { print(a) stop("bad codon usage content") } cod[pos] = newcod } } newseq = s2c(c2s(cod)) return(newseq) } ucoweight <- function (sequence, numcode = 1) { allaminos = s2c(c2s(SEQINR.UTIL$CODES.NCBI$CODES[numcode])) allcodons = splitseq(as.vector(t(cbind(rep(s2c("tcag"), each = 16), rep(s2c("tcag"), each = 4), rep(s2c("tcag"), 4))))) syncodons = lapply(seq(21), function(a) { which(allaminos == unique(allaminos)[a]) }) usage = uco(sequence)[allcodons] #r-ordonner selon NCBI weight = lapply(seq(21), function(b) { usage[syncodons[b][[1]]] }) names(weight) = unique(allaminos) return(weight) } seqinr/R/write.fasta.R0000644000176000001440000000213312344313507014357 0ustar ripleyuserswrite.fasta <- function(sequences, names, file.out, open = "w", nbchar = 60, as.string = FALSE){ # # Open output file: # outfile <- file(description = file.out, open = open) # # Function to write one sequence in output file: # write.oneseq<-function(sequence, name, nbchar, as.string){ writeLines(paste(">", name, sep = ""), outfile) if(as.string) sequence <- s2c(sequence) l <- length(sequence) q <- floor(l/nbchar) r <- l - nbchar*q if(q > 0){ sapply(seq_len(q), function(x) writeLines(c2s(sequence[(nbchar*(x - 1) + 1):(nbchar*x)]), outfile)) } if(r > 0){ writeLines(c2s(sequence[(nbchar*q + 1):l]), outfile) } } # # Write all sequences in output file: # if(!is.list(sequences)){ write.oneseq(sequence = sequences, name = names, nbchar = nbchar, as.string = as.string) } else { n.seq <- length(sequences) sapply(seq_len(n.seq), function(x) write.oneseq(sequence = as.character(sequences[[x]]), name = names[x], nbchar = nbchar, as.string = as.string)) } # # Close output file: # close(outfile) } seqinr/R/splitseq.R0000644000176000001440000000057410675463540014013 0ustar ripleyuserssplitseq <- function(seq, frame = 0, word = 3){ # # Compute all start positions of words to be returned: # starts <- seq(from = frame + 1, to = length(seq), by = word) # # Extract them all: # res <- sapply(starts, function(x) c2s(seq[x:(x + word - 1)])) # # remove last one if uncorrect length: # if(nchar(res[length(res)]) != word) res <- res[-length(res)] return(res) } seqinr/R/dist.alignment.R0000644000176000001440000000212512272462030015045 0ustar ripleyusers# # Pairwise Distances from Aligned Protein or DNA/RNA Sequences # dist.alignment <- function(x, matrix = c("similarity", "identity"),gap ) { # # Check arguments: # if (!inherits(x, "alignment")) stop("Object of class 'alignment' expected") # # Match arguments: # matrix <- match.arg(matrix) # # Compute arguments for the C distance function: # sequences <- toupper(x$seq) nbseq <- x$nb matNumber <-ifelse(matrix == "similarity", 1, 2) # # The following shouldn't be hard encoded, an argument for full # user control should be added. # seqtype <- as.numeric(.Call("is_a_protein_seq", sequences[1], PACKAGE = "seqinr") >= 0.8) # # Call the C distance function: # if (missing(gap)) { dist <- .Call("distance", sequences, nbseq, matNumber, seqtype,0, PACKAGE = "seqinr") } else { dist <- .Call("distance", sequences, nbseq, matNumber, seqtype,gap, PACKAGE = "seqinr") } # # Convert the result in a object of class dist: # mat <- matrix(dist, nbseq, nbseq, byrow = TRUE) dimnames(mat) <- list(x$nam, x$nam) return( as.dist(mat) ) } seqinr/R/plotladder.R0000644000176000001440000000240112426453046014264 0ustar ripleyusersplotladder <- function(abifdata, chanel, calibr, allele.names = "identifiler", npeak = NULL, ...){ old.par <- par(no.readonly = TRUE) on.exit(par(old.par)) data(list = allele.names,envir=environment()) tmp <- get(allele.names)[chanel] if(is.null(npeak)) npeak <- length(unlist(tmp)) x <- calibr(peakabif(abifdata, chanel, npeak = npeak, ...)$maxis) n <- length(x) par(mfrow = c(1,1), mar = c(5,0,4,0)+0.1) labels <- unlist(tmp) col <- rep("black", n) col[grep("\\.", labels)] <- "red" y <- rep(1.1, n) y[grep("\\.", labels)] <- 1.3 dyn <- abifdata$Data[[paste("DyeN", chanel, sep = ".")]] main <- paste(abifdata$Data[["RunN.1"]], "\nwith fluorochrome", dyn) main <- paste("Observed allelic ladder for", main) plot(x, y, type = "h", ylim = c(0,1.5), col = col, yaxt = "n", ylab = "", xlab = "Observed size [bp]", main = main) text(x, y + 0.1, labels, srt = 90, col = col) nlocus <- unlist(lapply(tmp, length)) nallploc <- unlist(lapply(tmp,function(x) sapply(x,length))) loc.pos <- c(1, cumsum(nallploc[1:(nlocus-1)])+1) locnames <- unlist(lapply(tmp, names)) rect(x[loc.pos], rep(0.4, nlocus), x[cumsum(nallploc)], rep(0.6, nlocus), col = "lightblue") text(x[loc.pos], 0.5, locnames, pos = 4) invisible(x) } seqinr/R/zscore.R0000755000176000001440000000515611721140131013435 0ustar ripleyusers zscore <- function (sequence, simulations = NULL, modele, exact = FALSE, alphabet = s2c("acgt"), ... ){ if (is.null(simulations)){ if (modele=="base"){ uni <- count(sequence, 1, freq = TRUE, alphabet = alphabet) di <- count(sequence, 2, freq = TRUE, alphabet = alphabet) rep1 <- rep(uni, 4) rep2 <- rep(uni, each = 4) rho <- di/(rep1*rep2) if (exact==FALSE){ zscore <- ((rho-1)/sqrt(((1-rep1)*(1-rep2))/((length(sequence))*rep1*rep2))) } else if (exact==TRUE){ rm(uni,di,rep1,rep2) uni <- count(sequence, 1, freq = FALSE, alphabet = alphabet) di <- count(sequence, 2, freq = FALSE, alphabet = alphabet) rep1 <- rep(uni, 4) rep2 <- rep(uni, each = 4) n <- length(sequence) e <- c(rep(c(0,rep(n/(n-1),4)),3),0) for (i in seq(1,4)){ e[1+5*(i-1)] <- (n*(uni[i]-1))/(uni[i]*(n-1)) } v=NULL for (i in seq(1,16)){ if (i==1 | i==6 | i==11 | i==16){ v[i] <- ((n^2*(rep1[i]-1))/(rep1[i]^2*(n-1)^2))*(1-rep1[i]+(n/rep1[i])*(1+2*(rep1[i]-2)/(n-1)+((n-4)*(rep1[i]-2)*(rep1[i]-3))/((n-2)*(n-3)))) } else{ v[i] <- ((n^3)/((n-1)^2*rep1[i]*rep2[i]-n^2/(n-1)^2+(n^3*(n-4)*(rep1[i]-1)*(rep2[i]-1))/(rep1[i]*rep2[i]*(n-2)*(n-3)*(n-1)^2))) } } zscore <- ((rho-e)/sqrt(v)) } } else if (modele=="codon"){ split <- splitseq(sequence) n <- length(split) pos <- sort(c(seq(3,length(sequence)-1,by=3),seq(4,length(sequence),by=3))) #position3-1 codons xy <- table(factor(splitseq(sequence[pos],word=2),levels=words(2))) n1 <- sapply(s2c('acgt'), function(x){length(which(substring(split,3,3)==x))}) n1 <- rep(n1,each=4) n2 <- sapply(s2c('acgt'), function(x){length(which(substring(split,1,1)==x))}) n2 <- rep(n2,4) n3 <- sapply(s2c('acgt'), function (x){sapply(s2c('acgt'), function(y){length(which(substring(split,1,1)==y & substring(split,3,3)==x))})}) n3 <- as.vector(n3) e <- (n1*n2-n3)/n v <- (e+((1/(n*(n-1)))*(2*n3*(n1+n2-n1*n2-1)+n1*n2*(n1-1)*(n2-1))))-e^2 zscore <- ((xy-e)/sqrt(v)) } else{ stop("analytical solution not implemented for this model") } } else { #simulations = nb d'iterations rhopermut <- sapply(seq(simulations),function(x){rho(permutation(sequence = sequence, modele = modele, ...))}) mean <- sapply(seq(dim(rhopermut)[1]),function(x){mean(rhopermut[x,])}) var <- sapply(seq(dim(rhopermut)[1]),function(x){var(rhopermut[x,])}) zscore <- ((rho(sequence)-mean)/sqrt(var)) } return(zscore) } seqinr/R/savelist.R0000644000176000001440000000422610706700413013763 0ustar ripleyusers# ==> savelist&lrank=xx{&type=[N|A]} # <== code=0\n # list element names or acc nos on successive lines # savelist END.\n # To obtain names of all elements of a bit list sent on socket on successive lines; # for sequence lists, option &type=A, will give accession numbers instead of seq names; # end of series of lines is when savelist END.\n appears # lrank : rank of bitlist # type: A gives accession numbers, N (default) gives seq names; useful for seq lists only savelist <- function(lrank, type = c("N", "A"), filename = paste(gln(lrank), ifelse(type == "N", "mne", "acc"), sep = "."), socket = autosocket(), warnme = TRUE){ # # Check argument: # if(!is.finite(lrank)) stop("wrong lrank argument") if(getliststate(lrank)$type != "SQ") stop("wrong ACNUC list type, should be SQ for sequences") # # Default is "N": # type <- type[1] if( !(type %in% c("N", "A"))) stop("wrong type argument") # # Build request: # request <- paste("savelist&lrank=", lrank, "&type=", type, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Check that no error is returned: # if(parser.socket(answerFromServer[1])[1] != "0"){ warning(paste("error code from server:", answerFromServer[1])) return(NA) } # # Remove first line (code=0): # answerFromServer <- answerFromServer[-1] # # Check completness of answer: # if( answerFromServer[length(answerFromServer)] != "savelist END."){ warning("incomplete answer from server") return(NA) } # # Remove last line and dump to file: # answerFromServer <- answerFromServer[-length(answerFromServer)] writeLines(answerFromServer, con = filename) # # Say it's over # if(warnme){ if(type == "N"){ cat(paste(length(answerFromServer), "sequence mnemonics written into file:", filename), sep = "\n") } else { cat(paste(length(answerFromServer), "sequence accession numbers written into file:", filename), sep = "\n") } } } seqinr/R/rot13.R0000644000176000001440000000036610612437520013104 0ustar ripleyusersrot13 <- function(string){ if(!is.character(string)) stop("character string expected") old <- c2s(c(letters, LETTERS)) new <- c2s(c(letters[14:26], letters[1:13], LETTERS[14:26], LETTERS[1:13])) chartr(old = old, new = new, x = string) } seqinr/R/translate.R0000755000176000001440000000317310611104064014124 0ustar ripleyuserstranslate <- function(seq, frame = 0, sens = "F", numcode = 1, NAstring = "X", ambiguous = FALSE) { if(any(seq%in%LETTERS)){ seq <- tolower(seq) } # # Take the reverse complementary strand when required: # if(sens == "R") seq <- comp(rev(seq), ambiguous = ambiguous) # # Transform the sequence in its numerical encoding equivalent # with textbook order, that is t = 0, c = 1, a = 2, g = 3 # seqn <- s2n(seq, levels = s2c("tcag")) # # Compute the length of the sequence when its length in codons # is an integer: # l <- 3*((length(seq) - frame) %/% 3) # # Compute the indices for the first codon positions: # c1 <- seq(from = frame + 1, to = frame + l, by = 3) # # Compute the indices of codons in the translation table: # tra <- 16*seqn[c1] + 4*seqn[c1 + 1] + seqn[c1 + 2] + 1 # # Get the translation table: # code <- s2c(SEQINR.UTIL$CODES.NCBI$CODES[numcode]) # # Translate the sequence: # result <- code[tra] # # Replace missing values by the string for missing amino-acids: # result[is.na(result)] <- NAstring # # More work is required if ambiguous bases are handled: # if(ambiguous){ toCheck <- which(result == NAstring) for( i in toCheck ){ codon <- seq[c1[i]:(c1[i]+2)] allcodons <- as.vector(outer(as.vector(outer(amb(codon[1]), amb(codon[2]), paste, sep = "")), amb(codon[3]), paste, sep = "")) allaminoacids <- sapply(allcodons, function(x) translate(s2c(x), numcode = numcode, ambiguous = FALSE)) if( all(allaminoacids == allaminoacids[1])) result[i] <- allaminoacids[1] } } return( result ) } seqinr/R/bma.R0000644000176000001440000000110411022246252012656 0ustar ripleyusersbma <- function(nucl, warn.non.IUPAC = TRUE, type = c("DNA", "RNA")){ if(nchar(nucl[1]) != 1) stop("vector of single chars expected") type <- match.arg(type) nucl <- tolower(nucl) nucl <- unlist(sapply(nucl, amb, checkBase = FALSE)) iupac <- sapply(amb(), amb) if(type == "DNA"){ iupac$u <- NULL } else { iupac$t <- NULL } idx <- unlist(lapply(iupac, setequal, nucl)) if(all(idx == FALSE)){ if(warn.non.IUPAC){ warning(paste("Undefined IUPAC symbol with:", paste(nucl, collapse = " "))) } return(NA) } return(names(iupac)[idx]) } seqinr/R/comp.R0000755000176000001440000000203012223525051013060 0ustar ripleyusers########################################## # complements a sequence ########################################### comp <- function(seq, forceToLower = TRUE, ambiguous = FALSE){ if(all(seq %in% LETTERS)){ isUpper <- TRUE } else { isUpper <- FALSE } seq <- tolower(seq) result <- as.vector(n2s((3-s2n(seq)))) # # More work is required if ambiguous bases are taken into account # if(ambiguous){ result[which(seq == "b")] <- "v" result[which(seq == "d")] <- "h" result[which(seq == "h")] <- "d" result[which(seq == "k")] <- "m" result[which(seq == "m")] <- "k" result[which(seq == "s")] <- "s" result[which(seq == "v")] <- "b" result[which(seq == "w")] <- "w" result[which(seq == "n")] <- "n" result[which(seq == "y")] <- "y" result[which(seq == "r")] <- "r" } # Checking for N in the sequence, thanks to Jeremy Shearman. result[which(seq == "n")] <- "n" if(isUpper && !forceToLower){ result <- toupper(result) } return(result) } seqinr/R/s2n.R0000644000176000001440000000122510611323413012623 0ustar ripleyusers############################################################################## # # simple numerical encoding of a DNA sequence that by default # is independent of locale. # ############################################################################## s2n <- function(seq, levels = s2c("acgt"), base4 = TRUE, forceToLower = TRUE) { # # Check that sequence is a vector of chars: # if(nchar(seq[1]) > 1) stop("sequence is not a vector of chars") # # Force to lower-case letters if requested: # if(forceToLower) seq <- tolower(seq) if( base4 ) unclass(factor(seq, levels = levels ) ) - 1 else unclass(factor(seq, levels = levels ) ) }seqinr/R/db.growth.R0000755000176000001440000000511712426725505014044 0ustar ripleyusersget.db.growth <- function(where = "ftp://ftp.ebi.ac.uk/pub/databases/embl/doc/relnotes.txt" ) { if (!capabilities("http/ftp")) stop("capabilities(\"http/ftp\") is not TRUE") ftp.proxy.bck <- Sys.getenv("ftp_proxy") if (ftp.proxy.bck != "") { warning("I'am trying to neutralize proxies") Sys.setenv("no_proxy" = "") } embl <- where tmp <- readLines( embl ) idx <- grep("Release(.+) Month", tmp) tmp <- tmp[ (idx + 2):length(tmp) ] tmp <- strsplit( tmp, split = " " ) not.empty <- function(x) { x <- x[nchar(x) > 0 ] } tmp <- sapply( tmp, not.empty ) tmp <- data.frame( matrix(unlist(tmp), ncol = 4, byrow = TRUE) ) names(tmp) <- c("Release", "Month", "Entries", "Nucleotides") tmp[,1] <- as.double( as.character(tmp[,1])) tmp[,3] <- as.double( as.character(tmp[,3])) tmp[,4] <- as.double( as.character(tmp[,4])) date <- strsplit(as.character(tmp[,2]), split="/") date.to.num <- function(x) { x <- as.double( x ) return( (x[1]-1)/12 + x[2] ) } date <- sapply(date, date.to.num) tmp <- data.frame( cbind(tmp, date) ) return(tmp) } dia.db.growth <- function( get.db.growth.out = get.db.growth(), Moore = TRUE, ... ) { embl <- "ftp://ftp.ebi.ac.uk/pub/databases/embl/doc/relnotes.txt" op <- par(no.readonly = TRUE) par( bg = "blue" ) par( fg = "yellow" ) par( col = "yellow" ) par( col.axis = "yellow" ) par( col.lab = "yellow" ) par( col.main = "yellow" ) par( col.sub = "yellow" ) Nucleotides <- get.db.growth.out$Nucleotides Month <- get.db.growth.out$Month date <- get.db.growth.out$date plot( date, log10(Nucleotides) , pch = 20, main = paste("The exponential growth of the DDBJ/EMBL/Genbank content\n", "Last update:", Month[nrow(get.db.growth.out)]), xlab = "Year", ylab = "Log10 number of nucleotides", sub = paste("Source:", embl), ... ) abline(lm(log10(Nucleotides)~date),col="yellow") lm1 <- lm(log(Nucleotides)~date) mu <- lm1$coef[2] # slope dbt <- log(2)/mu # doubling time dbt <- 12*dbt # in months if( Moore ) { x <- mean(date) y <- mean(log10(Nucleotides)) a <- log10(2)/1.5 b <- y - a*x for( i in seq(-10,10,by=0.5) ) if( i != 0 ) abline( coef=c(b+i, a), col="black" ) legend( x = 1990, y = 7, legend= c(paste("Observed doubling time:", round(dbt,1),"months"),"Moore's doubling time : 18 months"), lty = c(1,1), col = c("yellow","black")) } else { legend( x = 1990, y = 7, legend=paste("Observed doubling time:", round(dbt,1), "months"), lty = 1, col = "yellow") } par( op ) } seqinr/R/pmw.R0000644000176000001440000000406710451750146012744 0ustar ripleyuserspmw <- function(seqaa, Ar = c(C = 12.0107, H = 1.00794, O = 15.9994, N = 14.0067, P = 30.973762, S = 32.065), gravity = 9.81, unit = "gram", checkseqaa = TRUE){ # # Check arguments: # if( ! unit %in% c("gram", "N") ) stop("Non allowed unit argument") if( any(Ar < 0)) stop("Negative Ar not allowed") if( gravity < 0 ) stop("Antigravity not allowed") if( nchar(seqaa[1]) > 1) stop("seqaa should be a vector of single chars") allowed <- s2c("*ACDEFGHIKLMNPQRSTVWY") if(checkseqaa) if(! all(seqaa %in% allowed) ) warning("Non allowed characters in seqaa") # # Compute aa frequencies: # comp <- table(factor(seqaa, levels = allowed)) if( sum(comp[-which(names(comp) == "*")]) == 0) stop("Zero length protein not allowed") # # Compute the molecular weigth of one mol of an amino-acid from its composition: # aamw <- function(chonps){ mw <- chonps[1]*Ar["C"] + chonps[2]*Ar["H"] + chonps[3]*Ar["O"] + chonps[4]*Ar["N"] + chonps[5]*Ar["P"] + chonps[6]*Ar["S"] if(unit == "gram"){ return(mw*gravity/9.81) } else { return(mw*gravity/1000) } } # # Compute molecular weight: # mw <- comp["A"]*aamw(c(3,7,2,1,0,0)) + comp["C"]*aamw(c(3,7,2,1,0,1)) + comp["D"]*aamw(c(4,7,4,1,0,0)) + comp["E"]*aamw(c(5,9,4,1,0,0)) + comp["F"]*aamw(c(9,11,2,1,0,0)) + comp["G"]*aamw(c(2,5,2,1,0,0)) + comp["H"]*aamw(c(6,9,2,3,0,0)) + comp["I"]*aamw(c(6,13,2,1,0,0)) + comp["K"]*aamw(c(6,14,2,2,0,0)) + comp["L"]*aamw(c(6,13,2,1,0,0)) + comp["M"]*aamw(c(5,11,2,1,0,1)) + comp["N"]*aamw(c(4,8,3,2,0,0)) + comp["P"]*aamw(c(5,9,2,1,0,0)) + comp["Q"]*aamw(c(5,10,3,2,0,0)) + comp["R"]*aamw(c(6,14,2,4,0,0)) + comp["S"]*aamw(c(3,7,3,1,0,0)) + comp["T"]*aamw(c(4,9,3,1,0,0)) + comp["V"]*aamw(c(5,11,2,1,0,0)) + comp["W"]*aamw(c(11,12,2,2,0,0)) + comp["Y"]*aamw(c(9,11,3,1,0,0)) # # Remove n - 1 water molecules: # mw <- mw - (sum(comp[-which(names(comp) == "*")]) - 1)*aamw(c(0,2,1,0,0,0)) names(mw) <- NULL return(mw) }seqinr/R/getFrag.R0000644000176000001440000000365110724555741013525 0ustar ripleyusers# # To extract a subsequence from a sequence # getFrag <- function(object, begin, end, ...) UseMethod("getFrag") getFrag.default <- function(object, begin, end, ...) stop(paste("no getFrag method for objects of class:", class(object))) getFrag.list <- function(object, begin, end, ...) lapply(seq_len(length(object)), function(i) getFrag(object[[i]], begin = begin, end = end, ...)) getFrag.character <- function(object, begin, end, ...){ if(length(object) == 1) object <- s2c(object) if(begin > length(object) || end > length(object) || begin > end) stop("borns are not correct") return(object[begin:end]) } getFrag.SeqFastadna <- function(object, begin, end, ..., name = getName(object)){ if(end > getLength(object)) stop("invalid end") as.SeqFrag(getSequence(object, as.string = FALSE)[begin:end], begin = begin, end = end, name = name) } getFrag.SeqFastaAA <- getFrag.SeqFastadna getFrag.SeqFrag <- function(object, begin, end, ..., name = getName(object)){ if((endgetLength(object))) stop("invalid end") newBegin <- attr(object, "begin") + begin - 1 newEnd <- attr(object, "begin") + end - 1 newSeq <- object[begin:end] as.SeqFrag(object = newSeq, begin = newBegin, end = newEnd, name = name) } getFrag.SeqAcnucWeb <- function(object, begin, end, ..., socket = autosocket(), name = getName(object)){ lobj <- getLength(object) if(end > lobj) stop("end parameter is too large") if(begin > lobj) stop("begin parameter is too large") length <- end - begin + 1 # newSeq <- getSequenceSocket(socket, object, start = begin, length = length) newSeq <- gfrag(what = name, start = begin, length = length, idby = "name", socket = socket) as.SeqFrag(newSeq, begin = begin, end = end, name = name) } getFrag.qaw <- function(object, begin, end, ...) getFrag(object$req, begin, end, ...) getFrag.logical <- function (object, begin, end, ...) object # so that NA is returned for virtual lists seqinr/R/ClassSeq.R0000644000176000001440000000366111101133047013642 0ustar ripleyusers ########################################################################## # # SeqFastadna: # as.SeqFastadna <- function(object, name = NULL, Annot = NULL){ attributes(object) <- list(name = name, Annot = Annot) class(object) <- "SeqFastadna" return(object) } is.SeqFastadna <- function(object) inherits(object, "SeqFastadna") summary.SeqFastadna <- function(object, alphabet = s2c("acgt"), ...){ length <- getLength(object) compo <- count(object, 1, alphabet = alphabet) return(list(length = length , composition = compo, GC = GC(object))) } # # SeqFastaAA: # as.SeqFastaAA <- function(object, name = NULL, Annot = NULL){ attributes(object) <- list(name = name, Annot= Annot) class(object) <- "SeqFastaAA" return(object) } is.SeqFastaAA <- function(object) inherits(object, "SeqFastaAA") summary.SeqFastaAA <- function(object,...){ length <- getLength(object) compo <- table(factor(object, levels = levels(SEQINR.UTIL$CODON.AA$L))) return(list(length = length, composition=compo/length, AA.Property=AAstat(object,plot=FALSE)[[2]])) } # # SeqAcnucWeb: # as.SeqAcnucWeb <- function(object, length, frame, ncbigc){ attributes(object) <- list(length = as.numeric(length), frame = as.numeric(frame), ncbigc = as.numeric(ncbigc)) class(object) <- "SeqAcnucWeb" return(object) } is.SeqAcnucWeb <- function(object) inherits(object, "SeqAcnucWeb") print.SeqAcnucWeb <- function(x, ...) { res <- c(x, attr(x, "length"), attr(x, "frame"), attr(x, "ncbigc")) names(res) <- c("name", "length", "frame", "ncbicg") print(res, ...) } # # SeqFrag: # as.SeqFrag <- function(object, begin, end, name){ attr(object, "seqMother") <- name attr(object, "begin") <- begin attr(object,"end") <- end class(object) <- "SeqFrag" return(object) } is.SeqFrag <- function(object) inherits(object, "SeqFrag") # # Query Acnuw Web (qaw class) # print.qaw <- function(x, ...) { cat(x$nelem, x$type, "for", list1$call$query) } seqinr/R/getLocation.R0000644000176000001440000000315610724555621014413 0ustar ripleyusers# # To get the location of subsequences from an ACNUC server # getLocation <- function(object, ...) UseMethod("getLocation") getLocation.list <- function(object, ...) lapply(seq_len(length(object)), function(i) getLocation(object[[i]], ...)) getLocation.default <- function(object, ...) stop(paste("no getLocation method for objects of class:", class(object))) getLocation.SeqAcnucWeb <- function(object, ..., socket = autosocket()){ getLocationSocket <- function( socket, name){ writeLines(paste("isenum&name=",name,sep=""),socket,sep="\n") res = readLines( socket , n=1 ) number = parser.socket(res)[1] writeLines(paste("readsub&num=",number,sep=""),socket,sep="\n") res2 = readLines( socket , n=1 ) rr = parser.socket(res2) # Test si subsequence l=list() if(as.numeric(rr[5]) != 0){ warning("It's a parent sequence\n") return( NA ) } else { i=1 writeLines(paste("readext&num=",rr[6],sep=""),socket,sep="\n") res3 = readLines( socket , n=1 ) r = parser.socket(res3) l[[i]] = as.numeric(c(r[3],r[4])) n=r[5] } while(as.numeric(n) != 0){ i=i+1 writeLines(paste("readext&num=",n,sep=""),socket,sep="\n") res4 = readLines( socket , n=1 ) rrr = parser.socket(res4) l[[i]] = as.numeric(c(rrr[3],rrr[4])) n=rrr[5] } return(l) } unlist(getLocationSocket(socket, name = object)) } getLocation.qaw <- function(object, ...) getLocation(object$req, ...) getLocation.logical <- function (object, ...) object # so that NA is returned for virtual lists seqinr/R/count.R0000755000176000001440000000211011344705116013256 0ustar ripleyuserscount <- function(seq, wordsize, start = 0, by = 1, freq = FALSE, alphabet = s2c("acgt"), frame = start){ # # For backward compatibility: # if(!missing(frame)) start = frame # # istarts contains the first position of oligomers in the sequence (starting at 1) # istarts <- seq(from = 1 + start, to = length(seq), by = by) # # oligos contains the first character of oligomers: # oligos <- seq[istarts] # # oligos.levels contains all possible oligomers for a given alphabet: # oligos.levels <- levels(as.factor(words(wordsize, alphabet = alphabet))) # # For n-mers with n >= 2 we paste the following characters in the # sequence to build the observed set of all oligomers. Some NA are # generated at the end of the sequence and discarded when counting # them. # if (wordsize >= 2){ for(i in 2:wordsize){ oligos <- paste(oligos, seq[istarts + i - 1], sep = "") } } # # We count all oligomers, even missing ones, and discard NA # counts <- table(factor(oligos, levels = oligos.levels)) # # Build result: # if(freq == TRUE) counts <- counts/sum(counts) return(counts) } seqinr/R/R_socket.R0000644000176000001440000000165210724556167013721 0ustar ripleyusers ################################################################################################### # # # print.qaw # # # ################################################################################################### print.qaw <- function(x, ...) { cat("\n") cat("\n$socket: ") print(x$socket) cat("\n$banque: ") #cat(get("bankName",env=.GlobalEnv)) # Ca pas bon cat("\n$call: ") print(x$call) cat("$name: ") print(x$name) cat("\n") sumry <- array("", c(1, 4), list(1, c("list", "length", "mode", "content"))) sumry[1, ] <- c("$req",length(x$req),"character","sequences") class(sumry) <- "table" print(sumry) cat("\n") } seqinr/R/circle.R0000644000176000001440000000043511250533444013373 0ustar ripleyuserscircle <- function(x = 0, y = 0, r = 1, theta = c(0, 360), n = 100, ...){ a <- seq(theta[1], theta[2], length = n) xx <- x + r*cos(a*2*pi/360) yy <- y + r*sin(a*2*pi/360) if(!identical(theta, c(0, 360))){ xx <- c(xx, x) yy <- c(yy, y) } polygon(xx, yy, ...) } seqinr/R/getlistrank.R0000644000176000001440000000372510706621630014466 0ustar ripleyusers################################################################################################### # # # getlistrank # # # # ==> getlistrank&name="xx" # # <== lrank=xx # # Returns the rank of list, or 0 if no list with name exists. # # # ################################################################################################### getlistrank <- function(listname, socket = autosocket(), verbose = FALSE) { # # Check arguments: # if(verbose) cat("I'm checking the arguments...\n") if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection.")) if(verbose) cat("... and everything is OK up to now.\n") # # Send request to server: # if(verbose) cat("I'm sending query to server...\n") request <- paste("getlistrank&name=\"", listname, "\"", sep = "") writeLines(request, socket, sep = "\n") res <- readLines(socket, n = 1) # # Check for non empty answer from server: # if(verbose) cat(paste("... answer from server is:", res, "\n")) if(length(res) == 0){ if(verbose) cat("... answer from server is empty!\n") while(length(res) == 0){ if(verbose) cat("... reading again.\n") res <- readLines(socket, n = 1) } } # # Analysing answer from server: # if(verbose) cat("I'm trying to analyse answer from server...\n") result <- as.numeric( unlist(strsplit(res, split = "="))[2] ) return(result) } glr <- getlistrank seqinr/R/GC.R0000644000176000001440000000730210714426556012434 0ustar ripleyusers################################ # G+C content ################################# GC <- function(seq, forceToLower = TRUE, exact = FALSE, NA.GC = NA, oldGC = FALSE ) { # # NA propagation: # if(length(seq) == 1 && is.na(seq)) return(NA) # # Check that sequence is a vector of chars: # if(nchar(seq[1]) > 1) stop("sequence is not a vector of chars") # # Force to lower-case letters if requested: # if(forceToLower) seq <- tolower(seq) # # Compute the count of each base: # nc <- sum( seq == "c" ) ng <- sum( seq == "g" ) na <- sum( seq == "a" ) nt <- sum( seq == "t" ) # # oldGC case: # if(oldGC){ warning("argument oldGC is deprecated") return( (nc + ng)/length(seq) ) } # # General case: # if(! exact){ if(na + nc + ng + nt == 0){ result <- NA.GC } else { result <- (nc + ng)/(na + nc + ng + nt) } } else { # # We have our first estimate of GC vs. AT base counts: # ngc <- ng + nc nat <- na + nt # # weak and strong bases are 100% informative with respect # to the GC content, we just add them: # # s : Strong (g or c) # w : Weak (a or t) # ngc <- ngc + sum( seq == "s" ) nat <- nat + sum( seq == "w" ) ########################## # Ambiguous base section # ########################## # # m : Amino (a or c) # if(na + nc != 0){ nm <- sum( seq == "m") ngc <- ngc + nm*nc/(na + nc) nat <- nat + nm*na/(na + nc) } # # k : Keto (g or t) # if(ng + nt != 0){ nk <- sum( seq == "k" ) ngc <- ngc + nk*ng/(ng + nt) nat <- nat + nk*nt/(ng + nt) } # # r : Purine (a or g) # if(ng + na != 0){ nr <- sum( seq == "r" ) ngc <- ngc + nr*ng/(ng + na) nat <- nat + nr*na/(ng + na) } # # y : Pyrimidine (c or t) # if(nc + nt != 0){ ny <- sum( seq == "y" ) ngc <- ngc + ny*nc/(nc + nt) nat <- nat + ny*nt/(nc + nt) } # # v : not t (a, c or g) # if(na + nc + ng != 0){ nv <- sum( seq == "v" ) ngc <- ngc + nv*(nc + ng)/(na + nc + ng) nat <- nat + nv*na/(na + nc + ng) } # # h : not g (a, c or t) # if(na + nc + nt != 0){ nh <- sum( seq == "h" ) ngc <- ngc + nh*nc/(na + nc + nt) nat <- nat + nh*(na + nt)/(na + nc + nt) } # # d : not c (a, g or t) # if(na + ng + nt != 0){ nd <- sum( seq == "d" ) ngc <- ngc + nd*ng/(na + ng + nt) nat <- nat + nd*(na + nt)/(na + ng + nt) } # # b : not a (c, g or t) # if(nc + ng + nt != 0){ nb <- sum( seq == "b" ) ngc <- ngc + nb*(nc + ng)/(nc + ng + nt) nat <- nat + nb*nt/(nc + ng + nt) } # # n : any (a, c, g or t) is not informative, so # we compute the G+C content as: # if( ngc + nat == 0){ result <- NA.GC } else { result <- ngc/(ngc + nat) } } return(result) } ###################### # GCpos # ###################### GCpos <- function(seq, pos, frame = 0, ...){ if(nchar(seq[1]) > 1){ warning("sequence is not a vector of chars, I'm trying to cast it into one") seq <- s2c(seq[1]) } # # Take frame into account: # if(frame != 0) seq <- seq[(1 + frame):length(seq)] # # Return result: # GC(seq[seq(pos, length(seq), by = 3)], ...) } ###################### # GC1 # ###################### GC1 <- function(seq, frame = 0, ...) GCpos(seq = seq, pos = 1, frame = frame, ...) ###################### # GC2 # ###################### GC2 <- function(seq, frame = 0, ...) GCpos(seq = seq, pos = 2, frame = frame, ...) ###################### # GC3 # ###################### GC3 <- function(seq, frame = 0, ...) GCpos(seq = seq, pos = 3, frame = frame, ...) seqinr/R/as.matrix.alignment.R0000644000176000001440000000035411022236602016006 0ustar ripleyusersas.matrix.alignment <- function(x, ...){ nc <- nchar(x$seq[[1]]) res <- matrix(data = sapply(x$seq, s2c), nrow = x$nb, ncol = nc, byrow = TRUE) rownames(res) <- x$nam colnames(res) <- seq_len(nc) return(res) } seqinr/R/draw.oriloc.R0000644000176000001440000000450210611373606014356 0ustar ripleyusersdraw.oriloc <- function(ori, main = "Title", xlab = "Map position in Kb", ylab = "Cumulated combined skew in Kb", las = 1, las.right = 3, ta.mtext = "Cumul. T-A skew", ta.col = "pink", ta.lwd = 1, cg.mtext = "Cumul. C-G skew", cg.col = "lightblue", cg.lwd = 1, cds.mtext = "Cumul. CDS skew", cds.col = "lightgreen", cds.lwd = 1, sk.col = "black", sk.lwd = 2, add.grid = TRUE, ...){ # # Get data and use Kb units for skews and map positions: # ta <- ori$x/1000 # Cumulated T-A skew in Kb cg <- ori$y/1000 # Cumulated C-G skew in Kb skew <- ori$skew/1000 # Cumulated combined skew in Kb cdsskew <- ori$CDS.excess # Cumulated CDS orientation bias start.kb <- ori$start.kb end.kb <- ori$end.kb # # This is to deal with CDS that wrapp around the genome: # wrapped <- which(abs(ori$start.kb - ori$end.kb) >= 50) if(length(wrapped)!=0){ if(wrapped == length(cdsskew)){ start.kb[wrapped] <- max(start.kb[wrapped], end.kb[wrapped]) end.kb[wrapped] <- max(start.kb[wrapped], end.kb[wrapped]) } if(wrapped == 1){ end.kb[wrapped] <- min(start.kb[wrapped], end.kb[wrapped]) start.kb[wrapped] <- min(start.kb[wrapped], end.kb[wrapped]) } } # # Use CDS midpoints as x-coordinates: # meancoord <- (start.kb + end.kb)/2 ymin <- min(ta, cg, skew) ymax <- max(ta, cg, skew) xmin <- min(meancoord) xmax <- max(meancoord) ticks <- pretty(cdsskew) ticks.y <- (ymax-ymin)/(max(cdsskew) - min(cdsskew))*(ticks - min(cdsskew)) + ymin cds.y <- (ymax-ymin)/(max(cdsskew) - min(cdsskew))*(cdsskew - min(cdsskew)) + ymin plot(meancoord, cg, type="l", xlab = xlab, ylab = ylab, xlim = c(xmin, xmax), ylim = c(ymin, ymax), cex.lab = 1.35, col = cg.col, main = main, lwd = cg.lwd, las = las, ...) axis(side = 4, at = ticks.y, labels = ticks, col = cds.col, las = las.right) # # Add vertical grid when required: # if(add.grid){ tmp <- pretty(meancoord) abline(v = tmp, col = "grey", lty=3) tmp <- tmp[-length(tmp)] + diff(tmp)/2 abline(v = tmp, col = "grey", lty=3) } lines(meancoord, ta, col = ta.col, lwd = ta.lwd) lines(meancoord, skew, col = sk.col, lwd = sk.lwd) lines(meancoord, cds.y, col = cds.col, lwd = cds.lwd) mtext(ta.mtext, col = ta.col, adj = 0) mtext(cg.mtext, col = cg.col) mtext(cds.mtext, col = cds.col, adj=1) } seqinr/R/readPanels.R0000644000176000001440000000257611216202020014201 0ustar ripleyusersreadPanels <- function(file, colnames = c("marker", "dye.col", "min.bp", "max.bp", "exp.pcg", "repeat.bp", "stutter.pc", "uknw", "allele names")){ src <- readLines(file) iPanel <- which(substr(src, start = 1, stop = 6) == "Panel\t") infos <- src[1:(iPanel[1] - 1)] result <- list(infos = infos) starts <- iPanel + 1 stops <- c(iPanel[-1] - 1, length(src)) for(i in seq_len(length(iPanel))){ toimport <- src[starts[i]:stops[i]] # Change all runs of tabulations by a single one: toimport <- gsub("\t{2,}", "\t", toimport) mycon <- textConnection(toimport) result[[i+1]] <- read.table(mycon, sep = "\t", quote = "") close(mycon) # remove empty columns # (I guess this is no more necessary now that runs of # tabulation are preprocessed) tokeep <- rep(TRUE, ncol(result[[i+1]])) for(j in 1:ncol(result[[i+1]])){ if(all(is.na(result[[i+1]][,j]))){ tokeep[j] <- FALSE } } result[[i+1]] <- result[[i+1]][, tokeep] # There must be 9 columns if(ncol(result[[i+1]]) != 9) stop("wrong column number") colnames(result[[i+1]]) <- colnames headeritems <- unlist(strsplit(src[iPanel[i]], split = "\t")) # remove empty elements if(any(nchar(headeritems) == 0)){ headeritems <- headeritems[-which(nchar(headeritems) == 0)] } names(result)[i+1] <- headeritems[2] } return(result) } seqinr/R/where.is.this.acc.R0000644000176000001440000000305511303762712015353 0ustar ripleyuserswhere.is.this.acc <- function(acc, stopAtFirst = TRUE, ...){ # # Argument check: # if(!is.character(acc)) stop("string expected for argument acc") # result <- character(0) # cat("Looking for available databases\n") banks <- choosebank(...) nbanks <- length(banks) cat(paste("Looking for sequence with accession number", acc, "in the following ACNUC databases:\n")) print(banks) # # Looping over banks: # for(i in seq_len(nbanks)){ cat(paste("\nTrying to open bank with name --->", banks[i], "<--- ...", sep = "")) bkopenres <- try(choosebank(banks[i])) if(inherits(bkopenres, "try-error")){ cat("... opening not OK, skipping this bank.\n") } else { cat("... and opening was OK.\n") cat(paste("==> Trying to find sequence", acc, "in bank", banks[i], "...")) resquery <- try(query(".tmpquery", paste("AC=", acc)), silent = TRUE) if(inherits(resquery, "try-error")){ cat("... not found here.\n") } else { cat("... *** FOUND *** here.\n") result <- c(result, banks[i]) } closebank() if(length(result) != 0 && stopAtFirst){ return(invisible(result)) } } } # # Print result summary: # cat("\n\n") if(length(result) == 0){ cat(paste("Sequence with accesion number", acc, "was not found in available databases.\n Are you sure this is an accession number and not a sequence name?")) } else { cat(paste("Sequence with accesion number", acc, "was found in the following database(s):\n")) print(result) } invisible(result) } seqinr/R/countfreelists.R0000644000176000001440000000166010707574477015225 0ustar ripleyusers# ==> countfreelists # <== code=xx&free=xx&annotlines="xx" # Returns the number of free lists available. # code: 0 iff OK # free: number of free lists available # annotlines: list of names of annotation lines in the opened database separated by | countfreelists <- function(socket = autosocket()){ writeLines("countfreelists", socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ stop(paste("error code returned by server :", resitem[1])) } free <- as.numeric(resitem[2]) tmp <- substr(resitem[3], 2, nchar(resitem[3]) - 1) annotlines <- unlist(strsplit(tmp, split = "|", fixed = TRUE)) return(list(free = free, annotlines = annotlines)) } cfl <- countfreelists seqinr/R/fastacc.R0000644000176000001440000000161011256146272013537 0ustar ripleyusers# fastacc: Fast Allele in Common Count # # Computes the number of common alleles between a target and a database # fastacc <- function(target, database) { # # Check arguments: # if(!is.raw(target)) stop("raw vector expected for target") noc <- length(target) if(noc < 1) stop("empty target") if(!is.raw(database)) stop("raw vector expected for database") if(length(database) %% noc != 0) stop("database length must be a multiple of target length") # # n is the total number of entries in DB # n <- length(database)/noc n <- as.integer(n) # # Pre-compute the table giving the number of bits per octet # bits_in_char <- sapply(as.raw(0:255), function(x) sum(as.integer(rawToBits(x)))) bits_in_char <- as.integer(bits_in_char) # just to make sure res <- .Call("fastacc", bits_in_char, target, database, noc, n, PACKAGE = "seqinr") return(res) } seqinr/R/read.fasta.R0000755000176000001440000001077112435602525014154 0ustar ripleyusersread.fasta <- function(file = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", seqtype = c("DNA", "AA"), as.string = FALSE, forceDNAtolower = TRUE, set.attributes = TRUE, legacy.mode = TRUE, seqonly = FALSE, strip.desc = FALSE, bfa = FALSE, sizeof.longlong = .Machine$sizeof.longlong, endian = .Platform$endian, apply.mask = TRUE) { seqtype <- match.arg(seqtype) # default is DNA ############################## # # Regular flat FASTA text file # ############################## if(!bfa){ # Regular text file # # Read the fasta file as a vector of strings: # lines <- readLines(file) # # Remove comment lines starting with a semicolon ';' # if(legacy.mode){ comments <- grep("^;", lines) if(length(comments) > 0) lines <- lines[-comments] } # # Get the line numbers where sequences names are: # ind <- which(substr(lines, 1L, 1L) == ">") # # Compute the total number of sequences: # nseq <- length(ind) if(nseq == 0){ stop("no line starting with a > character found") } # # Localize sequence data: # start <- ind + 1 end <- ind - 1 end <- c(end[-1], length(lines)) # # Read sequences: # sequences <- lapply(seq_len(nseq), function(i) paste(lines[start[i]:end[i]], collapse = "")) if(seqonly) return(sequences) # # Read sequence names: # nomseq <- lapply(seq_len(nseq), function(i){ firstword <- strsplit(lines[ind[i]], " ")[[1]][1] substr(firstword, 2, nchar(firstword)) }) # # Turn DNA sequences in lower case letters if required: # if(seqtype == "DNA"){ if(forceDNAtolower){ sequences <- as.list(tolower(sequences)) } } # # Turn it into a vector of single chars if required: # if(as.string == FALSE) sequences <- lapply(sequences, s2c) # # Set sequence attributes when required: # if(set.attributes){ for(i in seq_len(nseq)){ Annot <- lines[ind[i]] if(strip.desc) Annot <- substr(Annot, 2L, nchar(Annot)) attributes(sequences[[i]]) <- list(name = nomseq[[i]], Annot = Annot, class = switch(seqtype, "AA" = "SeqFastaAA", "DNA" = "SeqFastadna")) } } # # Give the sequences names to the list elements: # names(sequences) <- nomseq return(sequences) } ############################## # # MAQ binary FASTA file # ############################## if(bfa){ if(seqtype != "DNA") stop("binary fasta file available for DNA sequences only") # Open file in binary mode: mycon <- file(file, open = "rb") r2s <- words(4) # byte to tetranucleotide readOneBFARecord <- function(con, sizeof.longlong, endian, apply.mask){ len <- readBin(con, n = 1, what = "int", endian = endian) if(length(len) == 0) return(NULL) # end of file name <- readBin(con, n = 1, what = "character", endian = endian) ori_len <- readBin(con, n = 1, what = "int", endian = endian) len <- readBin(con, n = 1, what = "int", endian = endian) seq <- readBin(con, n = len*sizeof.longlong, what = "raw", size = 1, endian = endian) mask <- readBin(con, n = len*sizeof.longlong, what = "raw", size = 1, endian = endian) if(endian == "little"){ neword <- sizeof.longlong:1 + rep(seq(0, (len - 1)*sizeof.longlong, by = sizeof.longlong), each = sizeof.longlong) # something like 8 7 6 5 4 3 2 1 16 15 14 13 12 11 10 9 ... seq <- seq[neword] mask <- mask[neword] } seq4 <- c2s(r2s[as.integer(seq) + 1]) seq4 <- substr(seq4, 1, ori_len) if(apply.mask){ mask4 <- c2s(r2s[as.integer(mask) + 1]) mask4 <- substr(mask4, 1, ori_len) npos <- gregexpr("a", mask4, fixed = TRUE)[[1]] for(i in npos) substr(seq4, i, i + 1) <- "n" } return(list(seq = seq4, name = name)) } # end readOneBFARecord sequences <- vector(mode = "list") nomseq <- vector(mode = "list") i <- 1 repeat{ res <- readOneBFARecord(mycon, sizeof.longlong, endian, apply.mask) if(is.null(res)) break sequences[[i]] <- res$seq nomseq[[i]] <- res$name i <- i + 1 } close(mycon) nseq <- length(sequences) if(seqonly) return(sequences) if(as.string == FALSE) sequences <- lapply(sequences, s2c) if(set.attributes){ for(i in seq_len(nseq)){ if(!strip.desc) Annot <- c2s(c(">", nomseq[[i]])) attributes(sequences[[i]]) <- list(name = nomseq[[i]], Annot = Annot, class = "SeqFastadna") } } names(sequences) <- nomseq return(sequences) } } seqinr/R/recstat.R0000755000176000001440000000641211636107113013601 0ustar ripleyusers## # This function counts the number of each triplet in a sliding window, # create a contingency table with triplet composition and then computes # a correspondence analysis on this table ## #v.18.08.2011 recstat <- function(seq, sizewin = 90, shift = 30, seqname = "no name") { if (is.character(seq) == FALSE) { # class character if only one sequence, class list if more print("This file has more than one sequence or class is not character.") return() } if ((shift%%3) != 0) { # test if shift give the same reading frame print("The windows are not in the same reading frame, please change shift value to a multiple of 3.") return() } if (sizewin%%3 != 0) { print("The length of the window is not a multiple of 3, please change sizewin value.") return() } seqsize <- length(seq) # give the number of 1-mer in the sequence v1 <- seq(from = 1, to = seqsize, by = shift) # start vector of window in reading frame 1 v1 <- v1[1:(which((v1 + sizewin) > seqsize)[1])] # suppression if more than one incomplete window v2 <- seq(from = 2, to = seqsize, by = shift) v2 <- v2[1:(which((v2 + sizewin)>seqsize)[1])] v3 <- seq(from = 3, to = seqsize, by = shift) v3 <- v3[1:(which((v3 + sizewin) > seqsize)[1])] vdep <- c(v1, v2, v3) # start vector in the 3 reading frames of direct/reverse strand vind <- c(rep(1, length(v1)), rep(2, length(v2)), rep(3, length(v3))) # index vector of reading frame for each window ## ##direct strand## ## cseq <- c2s(seq) vstopd <- c(words.pos("taa", cseq), words.pos("tag", cseq), words.pos("tga", cseq)) # vector of stop codons positions in direct strand vinitd <- c(words.pos("atg", cseq)) # vector of start codons positions in direct strand resd <- lapply(1:length(vdep), function(x) { # calculation on 3 reading frames of direct strand seq_tmp <- seq[(vdep[x]):(vdep[x] + sizewin - 1)] # temporary window count(seq_tmp, wordsize = 3, start = 0, by = 3) # counting of triplets }) ## ##reverse strand## ## seq_reverse <- rev(comp(seq, ambiguous = TRUE)) # creation of reverse strand cseq_reverse <- c2s(seq_reverse) vstopr <- c(words.pos("taa", cseq_reverse), words.pos("tag", cseq_reverse), words.pos("tga", cseq_reverse)) # vector of stop codons positions in reverse strand vinitr <- c(words.pos("atg", cseq_reverse)) # vector of init codons positions in reverse strand resr <- lapply(1:length(vdep), function(x) { # calculation on 3 reading frames of reverse strand seq_tmp <- seq_reverse[(vdep[x]):(vdep[x] + sizewin - 1)] # temporary window count(seq_tmp, wordsize = 3, start = 0, by = 3) # counting of triplets }) resd <- matrix(unlist(resd), byrow = TRUE, ncol = 64) # conversion vector to contingency table resr <- matrix(unlist(resr), byrow = TRUE, ncol = 64) ## ##CA## ## resd.coa <- dudi.coa(resd, scannf = FALSE, nf = 4) # CA on direct strand resr.coa <- dudi.coa(resr, scannf = FALSE, nf = 4) # CA on reverse strand rec <- list(seq, sizewin, shift, seqsize, seqname, vdep, vind, vstopd, vstopr, vinitd, vinitr, resd, resr, resd.coa, resr.coa) return(rec) } seqinr/R/allistranks.R0000644000176000001440000000456710706621630014473 0ustar ripleyusers################################################################################################### # # # alllistranks # # # # ==> alllistranks # # <== count=xx&n1,n2,... # # Returns the count of existing lists and all their ranks separated by commas. # # # ################################################################################################### alllistranks <- function(socket = autosocket(), verbose = FALSE) { # # Make empty result # result <- list(count = NA, ranks = NA) # # Check arguments: # if(verbose) cat("I'm checking the arguments...\n") if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection.")) if(verbose) cat("... and everything is OK up to now.\n") # # Send request to server: # if(verbose) cat("I'm sending query to server...\n") request <- "alllistranks" writeLines(request, socket, sep = "\n") res <- readLines(socket, n = 1) # # Check for non empty answer from server: # if(verbose) cat(paste("... answer from server is:", res, "\n")) if(length(res) == 0){ if(verbose) cat("... answer from server is empty!\n") while(length(res) == 0){ if(verbose) cat("... reading again.\n") res <- readLines(socket, n = 1) } } # # Analysing answer from server: # if(verbose) cat("I'm trying to analyse answer from server...\n") if(res == "code=1"){ stop("Server returns an error (code=1)") } if(res == "count=0"){ if(verbose) cat("Note: there are no list on server (count=0)\n") result$count <- 0 } else { #remove "count=" from res res <- substr(x = res, start = 7, stop = nchar(res)) result$count <- as.numeric(unlist(strsplit(res, split = "&"))[1]) result$ranks <- as.numeric(unlist(strsplit(unlist(strsplit(res, split = "&"))[2], split = ","))) } return(result) } alr <- alllistranks seqinr/R/gfrag.R0000644000176000001440000000261010706621630013215 0ustar ripleyusers# ==> gfrag&[number=xx|name=xx]&start=xx&length=xx # <== length=xx&....sequence... # Get length characters from sequence identified by name or by number # starting from position start (counted from 1). # Reply gives the length read (may be shorter than asked for) and then the characters; # length can be 0 if any error. gfrag <- function(what, start, length, idby = c("name", "number"), socket = autosocket()){ # # Default is by name: # idby <- idby[1] if(!(idby %in% c("name", "number"))) stop("Wrong idby agument") # # Build request: # request <- paste("gfrag&", idby, "=", what, "&start=", formatC(start, format = "d"), "&length=", formatC(length, format = "d"), sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Check that no error code is returned by server: # if(substr(x = answerFromServer, start = 1, stop = 5) == "code="){ warning(paste("Server returned error code:", answerFromServer)) return(NA) } # # Extract sequence from server: # n <- nchar(answerFromServer) for(i in seq_len(n)) if (substr(answerFromServer, start = i, stop = i) == "&") break result <- substr(answerFromServer, start = i + 1, stop = n) return(result) } seqinr/R/move.R0000644000176000001440000000034511230170342013070 0ustar ripleyusersmove <- function(from, to){ noms <- as.list(match.call()) if(noms$from != noms$to){ eval.parent(parse(text = paste(noms$from, "->", noms$to))) eval.parent(parse(text = paste("rm(", noms$from, ")"))) } } mv <- move seqinr/R/getTrans.R0000644000176000001440000000333111164210663013716 0ustar ripleyusers# # To translate sequences: # getTrans <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) UseMethod("getTrans") getTrans.default <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) stop(paste("no getTrans method for objects of class:", class(object))) getTrans.list <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) lapply(seq_len(length(object)), function(i) getTrans(object[[i]], sens = sens, NAstring = NAstring, ambiguous = ambiguous, ...)) getTrans.character <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = 0, numcode = 1) translate(seq = object, frame = frame, sens = sens, numcode = numcode, NAstring = NAstring, ambiguous = ambiguous) getTrans.SeqFastadna <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = 0, numcode = 1){ dnaseq <- getSequence(object, as.string = FALSE) translate(seq = dnaseq, frame = frame, sens = sens, numcode = numcode, NAstring = NAstring, ambiguous = ambiguous) } getTrans.SeqFrag <- getTrans.SeqFastadna getTrans.SeqAcnucWeb <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = "auto", numcode = "auto"){ dnaseq <- getSequence(object, as.string = FALSE) if(numcode == "auto") numcode <- attr(object, "ncbigc") if(frame == "auto") frame <- attr(object, "frame") translate(seq = dnaseq, frame = frame, sens = sens, numcode = numcode, NAstring = NAstring, ambiguous = ambiguous) } getTrans.qaw <- function(object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) getTrans(object$req, ...) getTrans.logical <- function (object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) object # so that NA is returned for virtual lists seqinr/R/tablecode.R0000644000176000001440000000674210474024065014064 0ustar ripleyusers# # Genetic code table as in Text Books # tablecode <- function(numcode = 1, urn.rna = s2c("TCAG"), dia = FALSE, latexfile = NULL, label = latexfile, size = "normalsize", caption = NULL, preaa = rep("", 64), postaa = rep("", 64), precodon = preaa, postcodon = postaa) { aa1 <- a() aa3 <- aaa() codename <- SEQINR.UTIL$CODES.NCBI[numcode, "ORGANISMES"] urn <- s2c("tcag") # internal # # Make default caption for LaTeX table: # if( is.null(caption) ){ caption <- paste("\\caption{Genetic code number ", numcode, ": ", codename, ".}", sep = "") } # # As a LaTex table: # if( ! is.null(latexfile) ) { Tfile <- file(latexfile, open = "w") cat("\\begin{table}", file = Tfile, sep = " ") cat("\\begin{center}", file = Tfile, sep = " ") # # Character size: # cat(paste("{\\", size, sep = ""), file = Tfile, sep = " ") cat("\\begin{tabular}{*{13}{l}}", file = Tfile, sep = " ") cat("\\hline", file = Tfile, sep = " ") cat("\\\\", file = Tfile, sep = " ") ncodon <- 1 # codon rank as in #paste(paste(rep(s2c("tcag"), each = 16), s2c("tcag"), sep = ""), rep(s2c("tcag"), each = 4), sep = "") for( i in 0:3 ) { for( j in 0:3 ) { for( k in 0:3 ) { codon <- c(urn[i+1], urn[k+1], urn[j+1]) codon.urn <- paste(urn.rna[i+1], urn.rna[k+1], urn.rna[j+1], sep = "", collapse = "") codon.urn <- paste(precodon[ncodon], codon.urn, postcodon[ncodon], sep = "") aminoacid <- aa3[which(aa1 == translate(codon, numcode = numcode))] aminoacid <- paste(preaa[ncodon], aminoacid, postaa[ncodon], sep = "") cat(paste(codon.urn, aminoacid, " &", sep = " & "), file = Tfile, sep = " ") ncodon <- ncodon + 1 } cat("\\\\", file = Tfile, sep = " ") } cat("\\\\", file = Tfile, sep = " ") } cat("\\hline", file = Tfile, sep = " ") cat("\\end{tabular}", file = Tfile, sep = " ") # # Caption: # cat(caption, file = Tfile, sep = " ") # # LaTeX label: # cat(paste("\\label{", label, "}", sep = ""), file = Tfile, sep = " ") # # End character size: # cat("}", file = Tfile, sep = " ") cat("\\end{center}", file = Tfile, sep = " ") cat("\\end{table}", file = Tfile, sep = " ") close(Tfile) return(invisible(NULL)) } # # END LATEX # if( dia ) { op <- par(no.readonly = TRUE) par(bg = "blue") par(fg = "yellow") par(col = "yellow") par(col.axis = "yellow") par(col.lab = "yellow") par(col.main = "yellow") par(col.sub = "yellow") } plot.new() plot.window(xlim=c(0,100),ylim=c(0,100)) segments( 0, 102, 100, 102, lwd = 2) segments( 0, 0, 100, 0, lwd = 2) segments( 0, 97, 100, 97) text(x=0, y = 98.5, font = 2, adj = c(0, 0), lab = paste("Genetic code", numcode,":",codename)) urn <- c("t","c","a","g") # internal for( i in 0:3 ) { for( j in 0:3 ) { for( k in 0:3 ) { codon <- c(urn[i+1], urn[j+1], urn[k+1]) text( x = 100*j/4, y = 95 - 100*i/4 -5*k, adj = c(-0.5,1.5), lab = urn.rna[i+1] ) text( x = 100*j/4 + 3, y = 95 - 100*i/4 -5*k, adj = c(-0.5,1.5), lab = urn.rna[j+1] ) text( x = 100*j/4 + 6, y = 95 - 100*i/4 -5*k, adj = c(-0.5,1.5), lab = urn.rna[k+1] ) aminoacid <- aa3[which(aa1 == translate(codon, numcode = numcode))] text( x = 100*j/4 + 12, y = 95 - 100*i/4 -5*k, adj = c(-0.5,1.5), lab = aminoacid ) } } } if(dia) par(op) } seqinr/R/gbk2g2.euk.R0000644000176000001440000000700210674427210013772 0ustar ripleyusersgbk2g2.euk <- function( gbkfile = system.file("sequences/ame1.gbk", package = "seqinr"), g2.coord = "g2.coord") { input <- readLines(gbkfile) outfile <- file( description = g2.coord, open ="w+") # # Keep lines with annotation flag: # cds <- which(substring(input,1,8) == " CDS") features <- which(substr(input,6,6)!=" ") features <- c(features,length(input)) genes <- which(substr(input,22,26)=="/gene") genes.cds <- character(length(cds)) for(i in seq_len(length(cds))){ print(i) this.gene=genes[which(genes>cds[i])[1]] nextfeat=features[which(features>cds[i])[1]] if(this.gene0){ ## there are introns !! end.par <- grep("\\)",input[index.line]) if(length(end.par)==0){ ## the exons are written on more than one line next.end.par <-grep("\\)",input) next.end.par <-next.end.par[which(next.end.par>index.line)[1]] ## we take the first ending parenthesis exons <- paste(input[index.line],paste(substr(input[(index.line+1):next.end.par],22,nchar(input[(index.line+1):next.end.par])),sep="",collapse=""),collapse="",sep="") } else{ exons <- input[index.line] } complement <- grep("complement",exons) if(length(complement)==0){ exons=unlist(strsplit(exons, split="\\("))[2] exons=unlist(strsplit(exons, split="\\)"))[1] exons=unlist(strsplit(exons,split=",")) exons.begin=unlist(lapply(exons, function(x) unlist(strsplit(x, split="\\.\\."))[1])) exons.end=unlist(lapply(exons, function(x) unlist(strsplit(x, split="\\.\\."))[2])) } else{ exons=unlist(strsplit(exons, split="\\("))[3] exons=unlist(strsplit(exons, split="\\)"))[1] exons=unlist(strsplit(exons,split=",")) exons.end=unlist(lapply(exons, function(x) unlist(strsplit(x, split="\\.\\."))[1])) exons.begin=unlist(lapply(exons, function(x) unlist(strsplit(x, split="\\.\\."))[2])) } } else{ complement <- grep("complement",input[index.line]) exons=unlist(strsplit(input[index.line],split=" ")) exons=exons[exons!=""] exons=exons[2] if(length(complement)==0){ exons.begin=unlist(strsplit(exons, split="\\.\\."))[1] exons.end=unlist(strsplit(exons, split="\\.\\."))[2] } else{ exons=unlist(strsplit(exons, split="\\("))[2] exons=unlist(strsplit(exons, split="\\)"))[1] exons.begin=unlist(strsplit(exons, split="\\.\\."))[2] exons.end=unlist(strsplit(exons, split="\\.\\."))[1] } } return(list(exons.begin,exons.end)) } already=character(0) if(length(cds)>0){ for(i in seq_len(length(cds))){ boundaries=get.boundaries(cds[i]) exons.begin=boundaries[[1]] exons.end=boundaries[[2]] for(j in seq_len(length(exons.begin))){ phrase=paste(genes.cds[i],exons.begin[j],exons.end[j]) if(!phrase%in%already){ writeLines(paste(genes.cds[i],exons.begin[j],exons.end[j],sep=" "),outfile) already=c(already,phrase) } } } } close(outfile) } seqinr/R/AAstat.R0000644000176000001440000000230512426453046013312 0ustar ripleyusersdata(sysdata, envir=environment()) AAstat <- function(seq, plot = TRUE){ # # seq is a protein sequence as a vector of (upper case) chars. # AAP <- SEQINR.UTIL$AA.PROPERTY tutu <- lapply(names(AAP), function(x) which(seq %in% AAP[[x]])) names(tutu) <- names(AAP) n.items <- length(tutu) # Number of physoco-chemical properties n.res <- length(seq) # Number of residues in the protein if(plot == TRUE){ coul <- rainbow(n.items) plot(c(0, n.res), c(0, n.items + 1), type = "n", axes = FALSE, ann = FALSE, xlim = c(0, n.res + 1)) title(xlab = "Position of the residues along the sequence") axis(2, at = seq(1.5, 10, 1), labels = names(tutu), col.lab = "blue", las = 1, cex.axis = 0.8) axis(1, at = seq(0, n.res, 15), labels = seq(0, n.res, 15), col.axis = "blue") lapply(seq_len(n.items), function(x){ segments(tutu[[x]], x, tutu[[x]], x + 1, col = coul[x], lwd = 2) rect(0, x, n.res, 1, lwd = 2) }) rect(0, n.items + 1, n.res, 1, lwd = 2) } res1 <- lapply(tutu,function(x){length(x)/n.res}) res2 <- table(factor(seq, levels = levels(SEQINR.UTIL$CODON.AA$L))) res3 <- computePI(seq) return(list(Compo = res2, Prop = res1, Pi = res3)) } seqinr/R/draw.recstat.R0000755000176000001440000001721511636107113014540 0ustar ripleyusers## # This function draws two graphics, one of the CA of a DNA sequence, and one of # start/stop codons positions in the three reading frames. This for the direct or # the reverse strand. ## #v.18.08.2011 draw.recstat <- function(rec, fac = 1, direct = TRUE, xlim = c(1, seqsize), col = c("red", "blue", "purple")) { if (fac < 0 | 4 < fac) { # test if factor is between 1 and 4 print("Factor number is not in 1:4.") return() } seq <- rec[[1]] # recovery of elements of list rec sizewin <- rec[[2]] shift <- rec[[3]] seqsize <- rec[[4]] seqname <- rec[[5]] vstopd <- rec[[8]] vstopr <- rec[[9]] vinitd <- rec[[10]] vinitr <- rec[[11]] recd <- rec[[14]] recr <- rec[[15]] if (xlim[1] < 1 | xlim[1] > seqsize) { xlim <- c(1, xlim[2]) } if (seqsize < xlim[2] | 1 > xlim[2]) { xlim <- c(xlim[1], seqsize) } par(mfrow = c(2, 1), mar = c(0, 4, 4, 2) + 0.1) # division of the window for a closer between plots par(xaxs = "i") seqisize <- floor((dim(recd$li)[1])/3) # number of window by reading frame, we take the integer part if ((dim(recd$li)[1])%%3 == 1) # adaptation of number of window between each reading frame { seqisize1 <- seqisize + 1 # for fr1 seqisize2 <- seqisize # for fr2 } if ((dim(recd$li)[1])%%3 == 2) { seqisize1 <- seqisize + 1 seqisize2 <- seqisize + 1 } if ((dim(recd$li)[1])%%3 == 0) { seqisize1 <- seqisize seqisize2 <- seqisize } ## ##direct strand## ## if (direct) { plot((sizewin/2) + (0:(seqisize1 - 1))*shift, recd$li[1:seqisize1, fac], type = "l", lty = 1, col = col[1], xlim = xlim, ylim = c(min(recd$li[, fac]), max(recd$li[, fac])), main = "Direct strand", xlab = "", ylab = "Factor scores", bty = 'l') # reading frame 1 lines((sizewin/2) + (0:(seqisize2 - 1))*shift + 1, recd$li[(seqisize1 + 1):(seqisize1 + seqisize2), fac], lty = 2, col = col[2], ylab = "2") # reading frame 2 lines((sizewin/2) + (0:(seqisize - 1))*shift + 2, recd$li[(seqisize1 + seqisize2 + 1):(dim(recd$li)[1]), fac], lty = 3, col = col[3], ylab = "3") # reading frame 3 legend("topleft", legend = c(paste("Sequence name:", seqname), paste("Sequence length:", seqsize, "bp")), inset = c(-0.15, -0.2), bty = "n", xpd = TRUE) vstopdindphase <- numeric() if (length(vstopd) > 0) { # test if vector is not empty because problem with modulo vstopdindphase <- sapply(1:length(vstopd), function(x) { # index vector of reading frame of vector vstopd if (vstopd[x]%%3 == 1) { vstopdindphase <- c(vstopdindphase, 2.5) } else { if (vstopd[x]%%3 == 2) { vstopdindphase <- c(vstopdindphase, 1.5) } else { vstopdindphase <- c(vstopdindphase, 0.5) } } }) } vinitdindphase <- numeric() if (length(vinitd) > 0) { # test if vector is not empty because problem with modulo vinitdindphase <- sapply(1:length(vinitd), function(x) { # index vector of reading frame of vector vinitd if (vinitd[x]%%3 == 1) { vinitdindphase <- c(vinitdindphase, 3) } else { if (vinitd[x]%%3 == 2) { vinitdindphase <- c(vinitdindphase, 2) } else { vinitdindphase <- c(vinitdindphase, 1) } } }) } par(mar = c(5, 4, 3, 2) + 0.1) plot(vstopd, vstopdindphase, pch = 25, cex = 0.7, xlim = xlim, ylim = c(0.25, 3), axes = TRUE, ann = TRUE, tcl = -0.5, bty = 'l', yaxt = 'n', xlab = "Start/Stop positions (bp)", ylab = '', xpd = FALSE) # stop codons positions points(vinitd, vinitdindphase, pch = 24, bg = "slategray", cex = 0.7, col = 'slategray') # start codons positions abline(h = c(3.1, 2.4, 2.1, 1.4, 1.1, 0.4), col = c(col[1], col[1], col[2], col[2], col[3], col[3]), lty = c(1, 1, 2, 2, 3, 3)) text(x = (xlim[1]-(xlim[2]-xlim[1])*0.75/6), pos = 4, y = c(2.75, 1.75, 0.75), labels = paste("Ph. ", c(0, 1, 2)), xpd = TRUE) } ## ##reverse strand## ## if (!direct) { plot((sizewin/2) + (0:(seqisize1 - 1))*shift, recr$li[1:seqisize1, fac], type = "l", lty = 1, col = col[1], xlim = xlim, ylim = c(min(recr$li[, fac]), max(recr$li[, fac])), main = "Reverse strand", xlab = "", ylab = "Factor scores", bty = 'l') # reading frame 1 lines((sizewin/2) + (0:(seqisize2-1))*shift + 1, recr$li[(seqisize1 + 1):(seqisize1 + seqisize2), fac], lty = 2, col = col[2], ylab="2") # reading frame 2 lines((sizewin/2) + (0:(seqisize - 1))*shift + 2, recr$li[(seqisize1 + seqisize2 + 1):(dim(recr$li)[1]), fac], lty = 3, col = col[3], ylab = "3") # reading frame 3 legend("topleft", legend = c(paste("Sequence name:", seqname), paste("Sequence length:", seqsize, "bp")), inset = c(-0.15, -0.2), bty = "n", xpd = TRUE) vstoprindphase <- numeric() if (length(vstopr) > 0) { # test if vector is not empty because problem with modulo vstoprindphase <- sapply(1:length(vstopr), function(x) { # index vector of reading frame of vector vstopr if (vstopr[x]%%3 == 1) { vstoprindphase <- c(vstoprindphase, 2.5) } else { if (vstopr[x]%%3 == 2) { vstoprindphase <- c(vstoprindphase, 1.5) } else { vstoprindphase <- c(vstoprindphase, 0.5) } } }) } vinitrindphase <- numeric() if (length(vinitr) > 0) { # test if vector is not empty because problem with modulo vinitrindphase <- sapply(1:length(vinitr), function(x) { # index vector of reading frame of vector vinitr if (vinitr[x]%%3 == 1) { vinitrindphase <- c(vinitrindphase, 3) } else { if (vinitr[x]%%3 == 2) { vinitrindphase <- c(vinitrindphase, 2) } else { vinitrindphase <- c(vinitrindphase, 1) } } }) } par(mar = c(5, 4, 3, 2) + 0.1) plot(vstopr, vstoprindphase, pch = 25, cex = 0.7, xlim = xlim, ylim = c(0.25, 3), axes = TRUE, ann = TRUE, tcl = -0.5, bty = 'l', yaxt = 'n', xlab = "Start/Stop positions (bp)", ylab = '', xpd = FALSE) # stop codons positions points(vinitr, vinitrindphase, pch = 24, bg = "slategray", cex = 0.7, col = 'slategray') # start codons positions abline(h = c(3.1, 2.4, 2.1, 1.4, 1.1, 0.4), col = c(col[1], col[1], col[2], col[2], col[3], col[3]), lty = c(1, 1, 2, 2, 3, 3)) text(x = (xlim[1]-(xlim[2]-xlim[1])*0.75/6), pos = 4, y = c(2.75, 1.75, 0.75), labels = paste("Ph. ", c(0, 1, 2)), xpd = TRUE) } }seqinr/R/query.r0000644000176000001440000001175212426453046013350 0ustar ripleyusers############################################################################### # # # query # # # ############################################################################### query <- function(listname, query, socket = autosocket(), invisible = TRUE, verbose = FALSE, virtual = FALSE) { # # Use list1 as listname if the argument is missing: # if(missing(query)){ query <- listname listname <- "list1" } # # Check arguments: # if(verbose) cat("I'm checking the arguments...\n") if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection.")) if( !is.character(listname) ) stop(paste("argument listname = ", listname, "is not a character string.")) if( !is.character(query) ) stop(paste("argument query = ", query, "is not a character string.")) if( !is.logical(invisible) ) stop(paste("argument invisible = ", invisible, "should be TRUE or FALSE.")) if( is.na(invisible) ) stop(paste("argument invisible = ", invisible, "should be TRUE or FALSE.")) if(verbose) cat("... and everything is OK up to now.\n") # # Check the status of the socket connection: # if(verbose) cat("I'm checking the status of the socket connection...\n") # # Ca marche pas: summary.connection leve une exception et on ne va pas plus loin # if(!isOpen(socket)) stop(paste("socket:", socket, "is not opened.")) if(!isOpen(socket, rw = "read")) stop(paste("socket:", socket, "can not read.")) if(!isOpen(socket, rw = "write")) stop(paste("socket:", socket, "can not write.")) if(verbose) cat("... and everything is OK up to now.\n") # # Send request to server: # if(verbose) cat("I'm sending query to server...\n") request <- paste("proc_requete&query=\"", query, "\"&name=\"", listname, "\"", sep = "") writeLines(request, socket, sep = "\n") res <- readLines(socket, n = 1) # # C'est ici qu'il y a un probleme de timeout. Suit un patch pas beau # if(verbose) cat(paste("... answer from server is:", res, "\n")) if(length(res) == 0){ if(verbose) cat("... answer from server is empty!\n") # Modif de Simon suite au mail de Augusto Ribas maxIter <- 10 attemptNumber <- 0 while((length(res) == 0) & (attemptNumber < maxIter)) { if(verbose) cat("... reading again (",attemptNumber,").\n") res <- readLines(socket, n = 1) attemptNumber <- attemptNumber+1 } if(length(res) == 0){ stop(paste("Unable to get any answer from socket after ",attemptNumber , " trials.")) } } # # Analysing answer from server: # if(verbose) cat("I'm trying to analyse answer from server...\n") p <- parser.socket(res) if(p[1] != "0"){ if(verbose) cat("... and I was able to detect an error.\n") stop(paste("invalid request:", p[2], sep = "")) } if(verbose) cat("... and everything is OK up to now.\n") lrank <- p[2] if(verbose) cat(paste("... and the rank of the resulting list is:", lrank, ".\n")) nelem <- as.integer(p[3]) if(verbose) cat(paste("... and there are", nelem, "elements in the list.\n")) typelist <- p[4] if(verbose) cat(paste("... and the elements in the list are of type", typelist, ".\n")) if(typelist == "SQ"){ if(p[5] == "T"){ if(verbose) cat("... and there are only parent sequences in the list.\n") } else { if(verbose) cat("... and there are *not* only parent sequences in the list.\n") } } # # Get full list informations: # if( !virtual ){ if(verbose) cat("I'm trying to get the infos about the elements of the list...\n") writeLines(paste("nexteltinlist&lrank=", lrank, "&first=1&count=", nelem, sep = ""), socket, sep = "\n") res <- readLines(socket, n = nelem, ok = FALSE) if( length(res) != nelem ) { if(verbose) cat("... and I was able to detect an error...\n") stop(paste("only", length(res), "list elements were send by server out of", nelem, "expected.\n")) } else { if(verbose) cat(paste("... and I have received", nelem, "lines as expected.\n")) } # # Extracting info # req <- vector(mode = "list", length = nelem) for(i in seq_len(nelem)){ x <- parser.socket(res[i]) req[[i]] <- as.SeqAcnucWeb(substr(x[2], 2, nchar(x[2]) - 1), x[3], x[6], x[7]) } # # Virtual list case: # } else { if(verbose) cat("I'am *not* trying the infos about the elements of the list since virtual is TRUE.\n") req <- NA } # # Assign results in user workspace: # result <- list(call = match.call(), name = listname, nelem = nelem, typelist = typelist, req = req, socket = socket) class(result) <- c("qaw") assign(listname, result, envir = .seqinrEnv) } # # Print method: # print.qaw <- function(x, ...) { if(is.null(x$call$query)) x$call$query <- x$call$listname cat(x$nelem, x$type, "for", x$call$query) } seqinr/R/trimSpace.R0000644000176000001440000000057311274331532014064 0ustar ripleyuserstrimSpace <- function(x, leading = TRUE, trailing = TRUE, space = "[:space:]"){ if(leading){ pattern <- paste("^[", space, "]*", sep = "", collapse = "") x <- sub(pattern = pattern, replacement = "", x = x) } if(trailing){ pattern <- paste("[", space, "]*$", sep = "", collapse = "") x <- sub(pattern = pattern, replacement = "", x = x) } return(x) } seqinr/R/acnucclose.R0000644000176000001440000000133110707456145014255 0ustar ripleyusers# ==> acnucclose # <== code=xx # To close the currently opened acnuc db. # code : 0 if OK # 3 if no database was opened by the server acnucclose <- function(socket){ # # Build request: # writeLines("acnucclose", socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ stop("Empty answer from server") } res <- parser.socket(answerFromServer) # # Check that no error is returned: # if(res[1] != "0"){ if( res[1] == "3" ){ stop("no database was opened by the server") } stop("I don't know what this error code means for acnucclose, please contact package maintener.\n") } } seqinr/R/lseqinr.R0000644000176000001440000000015510211305114013571 0ustar ripleyusers# # Just a shortcut to see what's available inside seqinr # lseqinr <- function() { ls("package:seqinr") } seqinr/R/getType.R0000644000176000001440000000240510706621630013552 0ustar ripleyusers################################################################################################### # # # getType # # # # # # To get available subsequence types in an opened ACNUC database # # # ################################################################################################### getType <- function(socket = autosocket()){ # # Get the number of records in SMJYT index file: # nl <- readfirstrec(type = "SMJ") # # Read the SMJYT index file: # smj <- readsmj(libel.add = TRUE, sname.add = TRUE, nl = nl) # # Return available type: # ntype <- sum(smj$nature == "type", na.rm = TRUE) if( is.na(ntype) || ntype == 0 ){ return(NA) } else { return( smj[!is.na(smj$nature) & smj$nature == "type", c("sname","libel")] ) } } seqinr/R/draw.rearranged.oriloc.R0000644000176000001440000000451510674427210016473 0ustar ripleyusersdraw.rearranged.oriloc <- function(rearr.ori,breaks.gcfw=NA,breaks.gcrev=NA,breaks.atfw=NA,breaks.atrev=NA){ rearat=cumsum(rearr.ori$atskew.rear) reargc=cumsum(rearr.ori$gcskew.rear) strand.rear=rearr.ori$strand.rear cds.rear=rep(1,length(strand.rear)) cds.rear[strand.rear=="reverse"]=-1 rearcds=cumsum(cds.rear) meancoord.rear=rearr.ori$meancoord.rear ymin <- min(rearat,reargc) ymax <- max(rearat,reargc) xmin <- min(meancoord.rear) xmax <- max(meancoord.rear) ticksrear <- pretty(rearcds) ticks.yrear <- (ymax-ymin)/(max(rearcds)-min(rearcds))*(ticksrear - min(rearcds)) + ymin cds.yrear <- (ymax-ymin)/(max(rearcds)-min(rearcds))*(rearcds - min(rearcds)) + ymin plot(meancoord.rear,reargc, type="l", xlab="Map position (gene index)", ylab = "Cumulated normalized skew",xlim=c(xmin,xmax),ylim=c(ymin,ymax),cex.lab=1.35,col="blue",main="Rearranged nucleotide skews",lwd=2,cex.main=1.4) abline(v=sum(strand.rear=="forward"),col="black",lwd=2) axis(side = 4, at = ticks.yrear, labels = ticksrear, col = "black", col.axis ="black") tmp <- pretty(meancoord.rear) abline(v=tmp, col="grey", lty=3,lwd=1.5) tmp <- tmp[-length(tmp)] + diff(tmp)/2 abline(v=tmp, col="grey", lty=3,lwd=1.5) lines(meancoord.rear,rearat, col="red",lwd=2) lines(meancoord.rear,cds.yrear, col="black",lwd=2) mtext("Cumul. A-T skew", col="red", adj=0,cex=1.1) mtext("Cumul. G-C skew", col="blue",cex=1.1) mtext("Cumul. CDS skew", col="black", adj=1,cex=1.1) if(sum(is.na(breaks.gcfw))==0){ segments(x0=meancoord.rear[breaks.gcfw],y0=reargc[breaks.gcfw]-(ymax-ymin)/30,x1=meancoord.rear[breaks.gcfw],y1=reargc[breaks.gcfw]+(ymax-ymin)/30,col="blue",lwd=2,lty=1) } if(sum(is.na(breaks.gcrev))==0){ segments(x0=meancoord.rear[breaks.gcrev],y0=reargc[breaks.gcrev]-(ymax-ymin)/30,x1=meancoord.rear[breaks.gcrev],y1=reargc[breaks.gcrev]+(ymax-ymin)/30,col="blue",lwd=2,lty=1) } if(sum(is.na(breaks.atfw))==0){ segments(x0=meancoord.rear[breaks.atfw],y0=rearat[breaks.atfw]-(ymax-ymin)/30,x1=meancoord.rear[breaks.atfw],y1=rearat[breaks.atfw]+(ymax-ymin)/30,col="red",lwd=2,lty=1) } if(sum(is.na(breaks.atrev))==0){ segments(x0=meancoord.rear[breaks.atrev],y0=rearat[breaks.atrev]-(ymax-ymin)/30,x1=meancoord.rear[breaks.atrev],y1=rearat[breaks.atfw]+(ymax-ymin)/30,col="red",lwd=2,lty=1) } } seqinr/R/getSequence.R0000644000176000001440000000474611340020163014400 0ustar ripleyusers# # To get sequence data # getSequence <- function(object, as.string = FALSE, ...) UseMethod("getSequence") getSequence.default <- function(object, as.string = FALSE, ...) stop(paste("no getSequence method for objects of class:", class(object))) getSequence.list <- function(object, as.string = FALSE, ...) lapply(seq_len(length(object)), function(i) getSequence(object[[i]], as.string = as.string, ...)) getSequence.character <- function(object, as.string = FALSE, ...){ is.single.string <- function(x) length(x) == 1 && nchar(x) > 1 if(is.single.string(object)){ if(as.string) return(as.list(object)) else return(s2c(object)) } else { if(as.string) return(as.list(c2s(object))) else return(object) } } getSequence.SeqFastadna <- function(object, as.string = FALSE, ...){ attributes(object) <- NULL # not needed here getSequence.character(object, as.string, ...) } getSequence.SeqFrag <- getSequence.SeqFastaAA <- getSequence.SeqFastadna getSequence.SeqAcnucWeb <- function(object, as.string = FALSE, ..., socket = autosocket()){ # # Should call gfrag directly... need to implement as.string for this # getSequenceSocket <- function(socket, name, start, length, as.string = FALSE){ request <- paste("gfrag&name=", name, "&start=", formatC(start, format = "d"), "&length=", formatC(length, format = "d"), sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning(paste("Empty answer from server with sequence name:", name)) return(NA) } else { # # Check that no error code is returned by server: # if(substr(x = answerFromServer, start = 1, stop = 5) == "code="){ warning(paste("Server returned error code:", answerFromServer, "with sequence name:", name)) return(NA) } # # Extract sequence from server answer: # sequence <- unlist(strsplit(answerFromServer, split = "&"))[2] # # Returns the sequence either as a string or as a vector of single chars: # if( as.string ){ return(sequence) } else { return(s2c(sequence)) } } } getSequenceSocket(socket, object, start = 1, length = attr(object, "length"), as.string = as.string) } getSequence.qaw <- function(object, as.string = FALSE, ...) getSequence(object$req, ...) getSequence.logical <- function (object, as.string = FALSE, ...) object # so that NA is returned for virtual lists seqinr/R/reverse.align.R0000644000176000001440000000601310762227420014675 0ustar ripleyusersreverse.align <- function(nucl.file, protaln.file, input.format = "fasta", out.file, output.format = "fasta", align.prot = FALSE, numcode = 1, clustal.path = NULL, forceDNAtolower = TRUE, forceAAtolower = FALSE){ # # Sequence import section # seq.nucl <- read.fasta(nucl.file, forceDNAtolower = forceDNAtolower) nseqs <- length(seq.nucl) # number of sequences if(!isTRUE(align.prot)){ ## the protein alignment file is provided protaln <- read.alignment(protaln.file, format = input.format, forceToLower = forceAAtolower) } else { ## protein alignment file not provided, have to align with clustal tmp <- tempfile(pattern = "clustal") protseq.file <- tempfile(pattern = "protein") write.fasta(sequences = lapply(seq.nucl, function(x) translate(x, numcode = numcode)), names = names(seq.nucl), file.out = protseq.file) system(paste(clustal.path, " -outfile=", tmp ," -infile=", protseq.file, sep = "")) protaln <- read.alignment(tmp, format = "clustal", forceToLower = forceAAtolower) input.format <- "clustal" } # # Force sequences to be in the same order in the nucleic and protein # versions. Use the protein order. # ordername <- unlist(lapply(protaln$nam, function(x) which(names(seq.nucl) == x))) seq.nucl <- seq.nucl[ordername] # # The character used to represent gaps is function of the alignment file format. # gapchar <- NULL if(input.format %in% c("fasta", "clustal", "phylip", "mase")){ gapchar <- "-" } if(input.format == "msf"){ gapchar <- "." } if(is.null(gapchar)) stop("no known gap character for this alignment format") # # Memory allocation, cds.aln is the result to write in file.out # cds.aln <- vector(mode = "list", length = nseqs) names(cds.aln) <- protaln$nam # # index[[j]] is for current position in nucleic acid sequences number j # expressed in codon units. # index <- as.list(rep(0, nseqs)) names(index) <- protaln$nam # # Main loop to build the reverse alignment. # "allaln" is a flag still TRUE if no gap was found in a column. # ncharprot <- nchar(protaln$seq[1]) # number of AA + gaps for(k in seq_len(ncharprot)){ allaln <- TRUE for(j in seq_len(nseqs)){ if(substr(protaln$seq[j], k, k) != gapchar){ index[[j]] <- index[[j]] + 1 } else { allaln <- FALSE } } if(allaln){ # # There was no gap in this column, we include the corresponding codon # in the nucleic acid alignment: # for(j in seq_len(nseqs)){ cds.aln[[j]] <- c(cds.aln[[j]], seq.nucl[[j]][(3*index[[j]]-2):(3*index[[j]])]) } } } # # Write into output file the reverse alignment. # write.fasta(sequences = cds.aln, names = names(seq.nucl), file.out = out.file, open = "w") return(NULL) } seqinr/R/baselineabif.R0000644000176000001440000000065311264564763014555 0ustar ripleyusersbaselineabif <- function(rfu, maxrfu = 1000){ # # Check argument: # if(!is.numeric(rfu)) stop("numerical vector expected for rfu") # # Do not consider data above threshold maxrfu: # rfu[rfu >= maxrfu] <- NA # # Compute a kernel density estimate of data: # dst <- density(rfu, na.rm = TRUE) # # Choose as baseline the most common value: # baseline <- dst$x[which.max(dst$y)] return(baseline) } seqinr/R/peakabif.R0000644000176000001440000000354711264567333013714 0ustar ripleyuserspeakabif <- function(abifdata, chanel, npeak, thres = 400/yscale, fig = TRUE, chanel.names = c(1:4,105), DATA = paste("DATA", chanel.names[chanel], sep = "."), tmin = 1/tscale, tmax = abifdata$Data[["SCAN.1"]]/tscale, tscale = 1000, yscale = 1000, irange = (tmin*tscale):(tmax*tscale), y = abifdata$Data[[DATA]][irange]/yscale, method = "monoH.FC", maxrfu = 1000, ...) { y[y < thres] <- 0 heights <- surfaces <- maxis <- starts <- stops <- numeric(npeak) innoise <- TRUE pkidx <- 1 for (i in 1:length(y)) { if (y[i] > 0) { if (innoise) { starts[pkidx] <- i innoise <- FALSE } } else { if (!innoise) { stops[pkidx] <- i - 1 innoise <- TRUE pkidx <- pkidx + 1 } } } if (fig) par(mfrow = c(4, 4), mar = c(2, 2, 0, 0) + 0.2, oma = c(0,0,2,0)) for (i in 1:npeak) { x <- starts[i]:stops[i] if(length(x) <= 2){ maxis[i] <- NA warning("Not all requested peaks were assigned") next } spfun <- splinefun(x, y[x], method = method) maxis[i] <- optimize(spfun, interval = range(x), maximum = TRUE)$maximum heights[i] <- spfun(maxis[i]) surfaces[i] <- integrate(spfun, starts[i], stops[i])$value if (fig) { xx <- (x-1)/tscale + tmin plot(xx, y[x], type = "p", las = 1, ylim = range(y), ...) abline(h = thres, col = "red") lines(xx, spfun(x), col = "blue") abline(v = (maxis[i]-1)/tscale + tmin, col = "grey") } } # # Compute baseline: # baseline <- baselineabif(abifdata$Data[[DATA]][irange], maxrfu = maxrfu) baseline <- baseline/yscale if(fig) mtext(paste(deparse(substitute(abifdata)), ",", DATA, ", tmin =", tmin, ", tmax =", tmax, ", thres =", thres, ", npeak =", npeak, ", yscale = ", yscale), side = 3, outer = TRUE) invisible(list(maxis = (maxis-1) + tmin*tscale, heights = yscale*heights, surfaces = yscale*surfaces, baseline = baseline)) } seqinr/R/plotPanels.R0000644000176000001440000000145111247732401014252 0ustar ripleyusersplotPanels <- function(kitname, data, xlim = NULL, cex = 0.75, alpha = 0.5){ df <- data[[kitname]] df$marker <- as.character(df$marker) df[df$marker == "AMEL", "marker"] <- "A" dcoln <- unique(as.character(df$dye.col)) ncol <- length(dcoln) bmin <- min(df$min.bp) bmax <- max(df$max.bp) if(is.null(xlim)) xlim <- c(bmin, bmax) plot.new() plot.window(xlim = xlim, ylim = c(0, ncol)) yscale <- (ncol-1):0 names(yscale) <- dcoln for(i in 1:nrow(df)){ col <- as.character(df[i, "dye.col"]) colalpha <- col2alpha(col, alpha) rect(df[i, "min.bp"], yscale[col] + 0.25, df[i, "max.bp"], yscale[col] + 0.5, col = colalpha) text(df[i, "min.bp"], yscale[col]+0.75, df[i, "marker"], pos = 4, cex = cex) } title(main = kitname, xlab = "Amplicon Size Ranges [bp]") axis(1) } seqinr/R/getLength.R0000644000176000001440000000154410722655346014066 0ustar ripleyusers# # To get the length of sequences # getLength <- function(object, ...) UseMethod("getLength") getLength.default <- function(object, ...) stop(paste("no getLength method for objects of class:", class(object))) getLength.list <- function(object, ...) sapply(seq_len(length(object)), function(i) getLength(object[[i]], ...)) getLength.character <- function(object, ...) length(s2c(object)) getLength.SeqFastadna <- function(object, ...) length(getSequence(object, as.string = FALSE)) getLength.SeqFastaAA <- getLength.SeqFastadna getLength.SeqAcnucWeb <- function(object, ...) attr(object, "length") getLength.qaw <- function(object, ...) getLength(object$req, ...) getLength.logical <- function (object, ...) object # so that NA is returned for virtual lists getLength.SeqFrag <- function(object, ...) attr(object, "end") - (attr(object, "begin") + 1) seqinr/R/readsmj.R0000644000176000001440000000655610706621630013571 0ustar ripleyusers################################################################################################### # # # readsmj # # # # # # ==> readsmj&num=xx&nl=xx # # <== code=xx&nl=xx # # recnum=xx&name="xx"&plong=xx{&libel="xx"} # # ... a series of nl lines like that ... # # Returns data from nl consecutive records starting from rank num of file SMJYT including label # # if not empty. # # Code != 0 indicates error. # # # ################################################################################################### readsmj <- function(socket = autosocket(), num = 2, nl = 10, recnum.add = FALSE, nature.add = TRUE, plong.add = FALSE, libel.add = FALSE, sname.add = FALSE, all.add = FALSE) { # # Turn all flags to TRUE when requested: # if(all.add) sname.add <- libel.add <- plong.add <- nature.add <- recnum.add <- TRUE # # Build the request: # request <- paste("readsmj&num=", num, "&nl=", nl, sep = "", collapse = "") # # Send request: # writeLines(request, socket, sep = "\n") # # Read answer from server: # s <- readLines(socket, n = 1) rep <- parser.socket(s) # # check answer from server: # if(rep[1] != "0") stop("Error from server") # # read answer from server: # n <- as.numeric(rep[2]) ans <- readLines(socket, n = n) # # Put answer into a data.frame: # name <- character(n) # the only mandatory one if(recnum.add) recnum <- numeric(n) if(nature.add) nature <- factor(character(n), levels = c("00","01","02","03","04","05","06","07")) if(plong.add) plong <- numeric(n) if(libel.add) libel <- character(n) if(sname.add) sname <- character(n) for(i in seq_len(n)){ tmp <- parser.socket(ans[[i]]) name[i] <- substr(tmp[2], 2, nchar(tmp[2]) - 1) if(name[i] == "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"){ name[i] <- NA next } if(sname.add) sname[i] <- substr(name[i], 3, nchar(name[i])) if(recnum.add) recnum[i] <- tmp[1] if(nature.add) nature[i] <- substr(name[i], 1, 2) if(plong.add) plong[i] <- tmp[3] if(libel.add){ if(length(tmp) == 4){ libel[i] <- substr(tmp[4], 2, nchar(tmp[4]) - 1) } else { libel[i] <- NA } } } df <- data.frame(list(name = I(name))) if(sname.add) df$sname <- sname if(recnum.add) df$recnum <- recnum if(nature.add){ levels(nature) <- c("status", "molecule", "journal", "year", "type", "organelle", "division", "dbstrucinfo") df$nature <- nature } if(plong.add) df$plong <- plong if(libel.add) df$libel <- libel return(df) } seqinr/R/rearranged.oriloc.R0000644000176000001440000000420612435602525015535 0ustar ripleyusers############################################################################# # Rearranged oriloc # # # # Detection of replication-associated effects on base composition asymmetry # # # ############################################################################# rearranged.oriloc <- function( seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta" , g2.coord = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.coord" ) { seq.fasta <- read.fasta(seq.fasta)[[1]] g2 <- readLines(g2.coord) g2 <- lapply(g2, function(x) unlist(strsplit(x, split=" "))) g2 <- lapply(g2, function(x) x[which(x!="")]) start <-as.numeric(unlist(lapply(g2, function(x) x[2]))) end <- as.numeric(unlist(lapply(g2, function(x) x[3]))) strand <- rep("forward",length(start)) strand[which(end length.min) { # test if space between codons is above the threshold # in each case gets the values between each stop codon for the 3 reading frames and range it in 3 vector seg seg1 <- rec$li[which((vstop[i - 1] - vdep[1:seqisize1])/sizewin <= stop.max & (vstop[i] - vdep[1:seqisize1])/sizewin >= (1 - stop.max)), fac] seg2 <- rec$li[(which((vstop[i - 1] - vdep[(seqisize1 + 1):(seqisize1 + seqisize2)])/sizewin <= stop.max & (vstop[i] - vdep[(seqisize1 + 1):(seqisize1 + seqisize2)])/sizewin >= (1 - stop.max)) + seqisize1), fac] seg3 <- rec$li[(which((vstop[i - 1] - vdep[(seqisize1 + seqisize2 + 1):(length(vdep))])/sizewin <= stop.max & (vstop[i] - vdep[(seqisize1 + seqisize2 + 1):(length(vdep))])/sizewin >= (1 - stop.max)) + seqisize1 + seqisize2), fac] # create a table with calculation on those vectors seg then go to next space # inter-codon, each row correspond to a space inter-stop codon if (frame == 1) { test1 <- t.test(seg1, seg2)$p.value test2 <- t.test(seg1, seg3)$p.value } if (frame == 2) { test1 <- t.test(seg2, seg1)$p.value test2 <- t.test(seg2, seg3)$p.value } if (frame == 3) { test1 <- t.test(seg3, seg1)$p.value test2 <- t.test(seg3, seg2)$p.value } if (test1 < level & test2 < level) { result <- 1 } else { result <- 0 } tabCDS <- c(tabCDS, vstop[i-1]+3, vstop[i]+2, mean(seg1), mean(seg2), mean(seg3), test1, test2, result) j <- j + 1 } } tabCDS <- matrix(tabCDS, nrow = j, ncol = 8, byrow = TRUE) # conversion list to table return(tabCDS) } seqisize <- floor((dim(recd$li)[1])/3) # number of window by reading frame, we take the integer part if ((dim(recd$li)[1])%%3 == 1) # adaptation of number of window between each reading frame { seqisize1 <- seqisize + 1 # for fr1 seqisize2 <- seqisize # for fr2 } if ((dim(recd$li)[1])%%3 == 2) { seqisize1 <- seqisize + 1 seqisize2 <- seqisize + 1 } if ((dim(recd$li)[1])%%3 == 0) { seqisize1 <- seqisize seqisize2 <- seqisize } ## ##direct strand## ## if (direct) { vstopdindphase <- numeric() if (length(vstopd) > 0) { # test if vector is not empty because problem with modulo vstopdindphase <- sapply(1:length(vstopd), function(x) { # index vector of reading frame of vector vstopd if (vstopd[x]%%3 == 1) { vstopdindphase <- c(vstopdindphase, 1) } else { if (vstopd[x]%%3 == 2) { vstopdindphase <- c(vstopdindphase, 2) } else { vstopdindphase <- c(vstopdindphase, 3) } } }) } vstop1 <- vstopd[vstopdindphase == 1] # vector with only stop codons in reading frame 1 vstop2 <- vstopd[vstopdindphase == 2] # vector with only stop codons in reading frame 2 vstop3 <- vstopd[vstopdindphase == 3] # vector with only stop codons in reading frame 3 vstop1 <- c(vstop1, 1-3, seqsize-(seqsize%%3)-2) # add start and end positions, "-3" and "-2" because of table.recstat() vstop2 <- c(vstop2, 2-3, seqsize-((seqsize-1)%%3)-2) vstop3 <- c(vstop3, 3-3, seqsize-((seqsize-2)%%3)-2) vstop1 <- sort(unique(vstop1)) # sort of the vector vstop2 <- sort(unique(vstop2)) vstop3 <- sort(unique(vstop3)) tab1 <- table.recstat(vstop1, recd, 1) colnames(tab1) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(1,2)", "t(1,3)", "CDS") tab2 <- table.recstat(vstop2, recd, 2) colnames(tab2) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(2,1)", "t(2,3)", "CDS") tab3 <- table.recstat(vstop3, recd, 3) colnames(tab3) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(3,1)", "t(3,2)", "CDS") return(list(tab1, tab2, tab3)) } ## ##reverse strand## ## if (!direct) { vstoprindphase <- numeric() if (length(vstopr) > 0) { vstoprindphase <- sapply(1:length(vstopr), function(x) { if (vstopr[x]%%3 == 1) { vstoprindphase <- c(vstoprindphase, 1) } else { if (vstopr[x]%%3 == 2) { vstoprindphase <- c(vstoprindphase, 2) } else { vstoprindphase <- c(vstoprindphase, 3) } } }) } vstop1 <- vstopr[vstoprindphase == 1] vstop2 <- vstopr[vstoprindphase == 2] vstop3 <- vstopr[vstoprindphase == 3] vstop1 <- c(vstop1, 1-3, seqsize-(seqsize%%3)-2) # add start and end positions vstop2 <- c(vstop2, 2-3, seqsize-((seqsize-1)%%3)-2) vstop3 <- c(vstop3, 3-3, seqsize-((seqsize-2)%%3)-2) vstop1 <- sort(unique(vstop1)) vstop2 <- sort(unique(vstop2)) vstop3 <- sort(unique(vstop3)) tab1 <- table.recstat(vstop1, recr, 1) colnames(tab1) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(1,2)", "t(1,3)", "CDS") tab2 <- table.recstat(vstop2, recr, 2) colnames(tab2) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(2,1)", "t(2,3)", "CDS") tab3 <- table.recstat(vstop3, recr, 3) colnames(tab3) <- c("Start", "End", "Mean 1", "Mean 2", "Mean 3", "t(3,1)", "t(3,2)", "CDS") return(list(tab1, tab2, tab3)) } } seqinr/R/prettyseq.R0000644000176000001440000000244310706621630014173 0ustar ripleyusers#==> prettyseq&num=xx{&bpl=xx}{&translate=[T|F]} #<== code=0\n #line1 #line2 #... #prettyseq END.\n #To get a text representation of sequence of rank num and of its subsequences, #with bpl bases per line (default = 60), and with optional translation of #protein-coding subsequences. prettyseq <- function(num, bpl = 60, translate = TRUE, socket = autosocket()){ # # Build request: # request <- paste("prettyseq&num=", formatC(num, format = "d"), "&bpl=", bpl, "&translate=", ifelse(translate,"T", "F"), sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Check that no error code is returned by server: # if( !substr(x = answerFromServer, start = 6, stop = 6) == "0"){ warning(paste("Server returned error code:", answerFromServer)) return(NA) } # # Extract sequence from server: # result <- readLines(socket) # # Check the end: # if( result[length(result)] != "prettyseq END."){ warning("Incomplete answer from server") return(NA) } result <- result[-length(result)] # remove last line cat(result, sep = "\n") invisible(result) } seqinr/R/dotPlot.R0000644000176000001440000000237510454202217013560 0ustar ripleyusersdotPlot <- function(seq1, seq2, wsize = 1, wstep = 1, nmatch = 1, col = c("white", "black"), xlab = deparse(substitute(seq1)), ylab = deparse(substitute(seq2)), ...){ # # Check arguments: # if(nchar(seq1[1]) > 1) stop("seq1 should be provided as a vector of single chars") if(nchar(seq2[1]) > 1) stop("seq2 should be provided as a vector of single chars") if(wsize < 1) stop("non allowed value for wsize") if(wstep < 1) stop("non allowed value for wstep") if(nmatch < 1) stop("non allowed value for nmatch") if(nmatch > wsize) stop("nmatch > wsize is not allowed") # # sliding window on sequences: # mkwin <- function(seq, wsize, wstep){ sapply(seq(from = 1, to = length(seq) - wsize + 1, by = wstep), function(i) c2s(seq[i:(i + wsize - 1)])) } wseq1 <- mkwin(seq1, wsize, wstep) wseq2 <- mkwin(seq2, wsize, wstep) if( nmatch == wsize ){ # perfect match case xy <- outer(wseq1, wseq2, "==") } else { # partial match case "%==%" <- function(x, y) colSums(sapply(x, s2c) == sapply(y, s2c)) >= nmatch xy <- outer(wseq1, wseq2, "%==%") } image(x = seq(from = 1, to = length(seq1), length = length(wseq1)), y = seq(from = 1, to = length(seq2), length = length(wseq2)), z = xy, col = col, xlab = xlab, ylab = ylab, ...) box() } seqinr/R/prepgetannots.R0000644000176000001440000000620510760017731015025 0ustar ripleyusers# ==> prep_getannots&nl=xx # key_name{|subkey_name} \n nl such lines sent to server # .... \n # <== code=0 \n # This command must be used before using the getannots or the modifylist&type=scan commands to specify # what sorts of annotation records will be returned by the getannots command or will be scanned. # nl: announces the number of key names that follow. # key_name: an annotation key name. # subkey_name: optionally, an annotation sub-item name (e.g., CDS when key_name = FT) # For the EMBL/SWISSPROT format, keys are: ALL, AC, DT, KW, OS, OC, OG, OH, # RN, RC, RP, RX, RA, RG, RT, RL, DR, AH, AS, CC, FH, FT, SQ, SEQ. # For GenBank: ALL, ACCESSION, VERSION, KEYWORDS, SOURCE, ORGANISM, REFERENCE, AUTHORS, CONSRTM, # TITLE, JOURNAL, PUBMED, REMARK, COMMENT, FEATURES, ORIGIN, SEQUENCE. Names of annotation subitems # (e.g., JOURNAL) must be entered with their 2 leading space characters. # For FT(embl,swissprot) and FEATURES(GenBank), one or more specific feature keys can be specified # using lines with only uppercase and such as # FEATURES|CDS # FT|TRNA # Keys ALL and SEQ/SEQUENCE stand for all annotation and sequence lines, respectively. # For the scan operation, key ALL stand for the DE/DEFINITION lines, # and SEQ/SEQUENCE cannot be used (annotations but not sequence are scanned). prepgetannots <- function(what = "all", setfor = c("scan", "getannots"), socket = autosocket(), verbose = FALSE){ # # Default is to set for scan : # setfor <- setfor[1] if(!(setfor %in% c("scan", "getannots"))) stop("Wrong setfor argument") if(verbose) cat(paste("setfor is", setfor, "\n")) # # Get annotation lines names for current database: # annotlines <- cfl(socket = socket)$annotlines if(verbose) cat("annotlines:\n", annotlines, "\n") annotlines <- toupper(annotlines) # # Building the list of annotation lines: # if(what == "all"){ if(verbose) cat("what == all, turning all to true\n") if(setfor == "scan"){ # For scan all but the first ("ALL") and the last ("SEQ*") todo <- annotlines[2:(length(annotlines) - 1)] } else { # For getannots all but the first ("ALL") todo <- annotlines[2:(length(annotlines))] } } else { if(verbose) cat("what != all, user supplied list of annotation lines\n") todo <- toupper(what) } # # Sending request to server: # if(verbose) cat("todo:\n", todo, "\n") request <- paste(paste("prep_getannots&nl=", length(todo), "\n", sep = ""), paste(todo, collapse = "\n"), sep = "") if(verbose) cat("Sending:\n", request) writeLines(request, socket) answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } if(verbose) cat("... answer from server is:", answerFromServer, "\n") resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ stop(paste("error code returned by server :", resitem[1])) } if(verbose) cat("... everything is OK up to now\n") invisible(todo) } pga <- prepgetannots seqinr/R/getName.R0000644000176000001440000000130610722655346013521 0ustar ripleyusers# # To get sequence names # getName <- function(object, ...) UseMethod("getName") getName.default <- function(object, ...) stop(paste("no getName method for objects of class:", class(object))) getName.list <- function(object, ...) sapply(seq_len(length(object)), function(i) getName(object[[i]], ...)) getName.SeqFastadna <- function(object, ...) attr(object,"name") getName.SeqFastaAA <- getName.SeqFastadna getName.SeqAcnucWeb <- function(object, ...) as.character(object) getName.qaw <- function(object, ...) getName(object$req, ...) getName.logical <- function (object, ...) object # so that NA is returned for virtual lists getName.SeqFrag <- function(object, ...) attr(object, "seqMother") seqinr/R/acnucopen.R0000644000176000001440000000347710715035616014121 0ustar ripleyusersacnucopen <- function(db, socket, challenge = NA){ # # Check arguments: # if(!is.na(challenge) ) stop("password protection not implemented yet") # # Build request: # request <- paste("acnucopen&db=", db, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ close(socket) stop("Empty answer from server") } res <- parser.socket(answerFromServer) # # Check that no error is returned: # if(res[1] != "0"){ close(socket) if( res[1] == "1" ){ stop("unrecognized command") # should not happen } if( res[1] == "2" ){ stop("missing db= argument") # should not happen } if( res[1] == "3" ){ stop(paste("Database with name -->", db, "<-- is not known by server.\n", sep = "")) } if( res[1] == "4" ){ stop(paste("Database with name -->", db, "<-- is currently off for maintenance, please try again later.\n", sep = "")) } if( res[1] == "5" ){ stop("A database is currently opened and has not been closed.\n") } if( res[1] == "6" ){ stop(paste("Database with name -->", db, "<-- is protected by a password (unimplemented).\n", sep = "")) } stop(paste("I don't know what this error code means for acnucopen:", res[1])) } return(list(type = res[2], totseqs = as.numeric(res[3]), totspecs = as.numeric(res[4]), totkeys = as.numeric(res[5]), ACC_LENGTH = as.numeric(res[6]), L_MNEMO = as.numeric(res[7]), WIDTH_KW = as.numeric(res[8]), WIDTH_SP = as.numeric(res[9]), WIDTH_SMJ = as.numeric(res[10]), WIDTH_AUT = as.numeric(res[11]), WIDTH_BIB = as.numeric(res[12]), lrtxt = as.numeric(res[13]), SUBINLNG = as.numeric(res[14]))) } seqinr/R/test.co.recstat.R0000755000176000001440000001545611636107113015167 0ustar ripleyusers## # This function tests if a region located between two stop codons could be a putative CDS # # Data used are the factor scores of the CA computed on the windows by recstat function ## #v.18.08.2011 test.co.recstat <- function(rec, fac = 1, length.min = 150, stop.max = 0.2, win.lim = 0.8, direct = TRUE, level = 0.01) { if (fac < 0 | 4 < fac) { # test if factor is between 1 and 4 print("Factor number is not in 1:4.") return() } seq <- rec[[1]] # recovery of elements of list n sizewin <- rec[[2]] shift <- rec[[3]] seqsize <- rec[[4]] vstopd <- rec[[8]] vstopr <- rec[[9]] resd <- rec[[12]] resr <- rec[[13]] recd <- rec[[14]] recr <- rec[[15]] if (seqsize < length.min) { print("Seqence length is shorter than minimum distance between two Stop codons.") return() } table.recstat <- function(vstop) { tabCDS <- numeric() # initialization j <- 0 for (i in 2:length(vstop)) { # for each stop codons positions vector if ((vstop[i] - vstop[i - 1]) > length.min) { # test if space between codons is above the threshold # in each case gets the p-values between each stop codon and range it in vector seg seg <- pvalvec[which((vstop[i - 1] - pvalvec[, 2])/(sizewin + 2) <= stop.max & (vstop[i] - pvalvec[, 2])/(sizewin + 2) >= (1 - stop.max)), 1] # create a table with calculation on those vectors seg then go to next space inter-codon, each row correspond to a space inter-stop codon k <- 0 for (l in 1:length(seg)) { if (seg[l] < level) { k <- k + 1 } if (k/length(seg) > win.lim) { result <- 1 } else { result <- 0 } } tabCDS <- c(tabCDS, vstop[i - 1]+3, vstop[i]+2, result) j <- j + 1 } } tabCDS <- matrix(tabCDS, nrow = j, ncol = 3, byrow = TRUE) # conversion list to table return(tabCDS) } ## ##direct strand## ## if (direct) { vstopdindphase <- numeric() if (length(vstopd) > 0) { # test if vector is not empty because problem with modulo vstopdindphase <- sapply(1:length(vstopd), function(x) { # index vector of reading frame of vector vstopd if (vstopd[x]%%3 == 1) { vstopdindphase <- c(vstopdindphase, 1) } else { if (vstopd[x]%%3 == 2) { vstopdindphase <- c(vstopdindphase, 2) } else { vstopdindphase <- c(vstopdindphase, 3) } } }) } vstop1 <- vstopd[vstopdindphase == 1] # vector with only stop codons in reading frame 1 vstop2 <- vstopd[vstopdindphase == 2] # vector with only stop codons in reading frame 2 vstop3 <- vstopd[vstopdindphase == 3] # vector with only stop codons in reading frame 3 vstop1 <- c(vstop1, 1-3, seqsize-(seqsize%%3)-2) # add start and end positions, "-3" and "-2" because of table.recstat() vstop2 <- c(vstop2, 2-3, seqsize-((seqsize-1)%%3)-2) vstop3 <- c(vstop3, 3-3, seqsize-((seqsize-2)%%3)-2) vstop1 <- sort(unique(vstop1)) # sort of the vector vstop2 <- sort(unique(vstop2)) vstop3 <- sort(unique(vstop3)) tab <- numeric() for (i in 1:dim(resd)[1]) { if (sum(resd[i, ]) == sizewin/3) { for (j in 1:64) { tab <- c(tab, rep(recd$co[j, 1], resd[i, j])) } } } tab <- matrix(unlist(tab), byrow = TRUE, ncol = sizewin/3) seqisize <- floor((dim(tab)[1])/3) phase <- c(rep(1, sizewin/3), rep(2, sizewin/3), rep(3, sizewin/3)) phase <- as.factor(phase) pvalvec <- numeric() for (i in 1:seqisize) { v1 <- tab[i,] v2 <- tab[seqisize + i,] v3 <- tab[2*seqisize + i,] v <- c(v1, v2, v3) x <- kruskal.test(v ~ phase)$p.value pvalvec <- c(pvalvec, x, (i - 1)*shift + 1) } pvalvec <- matrix(unlist(pvalvec), byrow = TRUE, ncol = 2) # plot((sizewin/2) + (0:(seqisize - 1))*shift + 1, pvalvec[,1], type = "l") tab1 <- table.recstat(vstop1) colnames(tab1) <- c("Start", "End", "CDS") # definition of table headings tab2 <- table.recstat(vstop2) colnames(tab2) <- c("Start", "End", "CDS") tab3 <- table.recstat(vstop3) colnames(tab3) <- c("Start", "End", "CDS") return(list(tab1, tab2, tab3)) } ## ##reverse strand## ## if (!direct) { vstoprindphase <- numeric() if (length(vstopr) > 0) { vstoprindphase <- sapply(1:length(vstopr), function(x) { if (vstopr[x]%%3 == 1) { vstoprindphase <- c(vstoprindphase, 1) } else { if (vstopr[x]%%3 == 2) { vstoprindphase <- c(vstoprindphase, 2) } else { vstoprindphase <- c(vstoprindphase, 3) } } }) } vstop1 <- vstopr[vstoprindphase == 1] vstop2 <- vstopr[vstoprindphase == 2] vstop3 <- vstopr[vstoprindphase == 3] vstop1 <- c(vstop1, 1-3, seqsize-(seqsize%%3)-2) # add start and end positions vstop2 <- c(vstop2, 2-3, seqsize-((seqsize-1)%%3)-2) vstop3 <- c(vstop3, 3-3, seqsize-((seqsize-2)%%3)-2) vstop1 <- sort(unique(vstop1)) vstop2 <- sort(unique(vstop2)) vstop3 <- sort(unique(vstop3)) tab <- numeric() for (i in 1:dim(resr)[1]) { if (sum(resr[i, ]) == sizewin/3) { for (j in 1:64) { tab <- c(tab, rep(recr$co[j, 1], resr[i, j])) } } } tab <- matrix(unlist(tab), byrow = TRUE, ncol = sizewin/3) seqisize <- floor((dim(tab)[1])/3) phase <- c(rep(1, sizewin/3), rep(2, sizewin/3), rep(3, sizewin/3)) phase <- as.factor(phase) pvalvec <- numeric() for (i in 1:seqisize) { v1 <- tab[i,] v2 <- tab[seqisize + i,] v3 <- tab[2*seqisize + i,] v <- c(v1, v2, v3) x <- kruskal.test(v ~ phase)$p.value pvalvec <- c(pvalvec, x, (i - 1)*shift + 1) } pvalvec <- matrix(unlist(pvalvec), byrow = TRUE, ncol = 2) tab1 <- table.recstat(vstop1) colnames(tab1) <- c("Start", "End", "CDS") # definition of table headings tab2 <- table.recstat(vstop2) colnames(tab2) <- c("Start", "End", "CDS") tab3 <- table.recstat(vstop3) colnames(tab3) <- c("Start", "End", "CDS") return(list(tab1, tab2, tab3)) } }seqinr/R/modifylist.R0000644000176000001440000000640212426453046014322 0ustar ripleyusers# ==> modifylist&lrank=..&type=[length|date|scan]&operation=".." # <== code=0&lrank=..&name=".."&count=..{&processed=..} # code=3 if impossible to create a new list # code=2 if incorrect syntax, possibly in operation # lrank: (input) rank of bitlist to be modified # (output) rank of created bitlist containing result of modify operation # type: indicates what kind of modification is to be performed. # operation: for length, as in "> 10000" or "< 500" # for date, as in "> 1/jul/2001" or "< 30/AUG/98" # for scan, specify the string to be searched for # prep_getannots must be used before using modifylist&type=scan # the client can interrupt the scan operation by sending the escape character on the socket # name: name of created bitlist # count: number of elements in created bitlist # processed: only for scan operation, number of list elements scanned until completion or interruption modifylist <- function(listname, modlistname = listname, operation, type = c("length", "date", "scan"), socket = autosocket(), virtual = FALSE, verbose = FALSE){ # # Default is by length: # type <- type[1] if(!(type %in% c("length", "date", "scan"))) stop("Wrong type agument") # # Build request: # request <- paste("modifylist&lrank=", glr(listname, verbose = verbose), "&type=", type, "&operation=\"", operation, "\"", sep = "") if(verbose) cat("-->", request, "<--\n") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # if(verbose) cat("Answer from server:", answerFromServer, "\n") resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ stop(paste("error code returned by server :", resitem[1])) } mlrank <- as.numeric(resitem[2]) mlcount <- as.numeric(resitem[4]) # # Set list name on server: # suppressWarnings(ressetlistname <- setlistname(lrank = mlrank, name = modlistname, socket = socket)) if(is.na(ressetlistname)) stop("Empty answer from server in setlistname") if(ressetlistname == "4") stop("No list of rank mlrank exists") # # Get full list informations: # if( !virtual ){ writeLines(paste("nexteltinlist&lrank=", mlrank, "&first=1&count=", mlcount, sep = ""), socket, sep = "\n") res <- readLines(socket, n = mlcount, ok = FALSE) if( length(res) != mlcount ) { stop(paste("only", length(res), "list elements were send by server out of", mlcount, "expected.\n")) } # # Extracting info # req <- vector(mode = "list", length = mlcount) for(i in seq_len(mlcount)){ x <- parser.socket(res[i]) req[[i]] <- as.SeqAcnucWeb(substr(x[2], 2, nchar(x[2]) - 1), x[3], x[6], x[7]) } # # Virtual list case: # } else { req <- NA } # # Assign results in workspace: # use getliststate for typelist when avail # result <- list(call = match.call(), name = modlistname, nelem = mlcount, typelist = NA, req = req, socket = socket) class(result) <- c("qaw") assign(modlistname, result, envir = .seqinrEnv) } seqinr/R/read.alignment.R0000644000176000001440000000247311667711161015034 0ustar ripleyusers# # Read files of aligned sequences in various formats # read.alignment <- function(file, format, forceToLower = TRUE) { # # Check that we have read permission on the file: # if(file.access(file, mode = 4) != 0) stop(paste("File", file, "is not readable")) ali <- switch( format, fasta = .Call("read_fasta_align", file, PACKAGE = "seqinr"), FASTA = .Call("read_fasta_align", file, PACKAGE = "seqinr"), mase = .Call("read_mase", file, PACKAGE = "seqinr"), MASE = .Call("read_mase", file, PACKAGE = "seqinr"), phylip = .Call("read_phylip_align", file, PACKAGE = "seqinr"), PHYLIP = .Call("read_phylip_align", file, PACKAGE = "seqinr"), msf = .Call("read_msf_align", file, PACKAGE = "seqinr"), MSF = .Call("read_msf_align", file, PACKAGE = "seqinr"), CLUSTAL = .Call("read_clustal_align", file, PACKAGE = "seqinr"), clustal = .Call("read_clustal_align", file, PACKAGE = "seqinr"), stop("Wrong format name: Format available are fasta,mase,phylip,msf,clustal") ) ali <- lapply(ali, as.character) if(forceToLower) ali[[3]] <- lapply(ali[[3]], tolower) if(format == "mase"){ ali <- list(nb = as.numeric(ali[[1]]), nam = ali[[2]], seq = ali[[3]], com = ali[[4]]) } else { ali <- list(nb = as.numeric(ali[[1]]), nam = ali[[2]], seq = ali[[3]], com = NA) } class(ali) <- "alignment" return(ali) } seqinr/R/clfcd.R0000644000176000001440000000623410712113365013206 0ustar ripleyusers crelistfromclientdata <- function(listname, file, type, socket = autosocket(), invisible = TRUE, verbose = FALSE, virtual = FALSE) { # # Check arguments: # if(verbose) cat("I'm checking the arguments...\n") if(!file.exists(file)) stop(paste("input file", file, "doesn't exist.")) if( ! type %in% c("SQ", "AC", "SP", "KW") ) stop("wrong value for type argument.") if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection.")) if( !is.logical(invisible) ) stop(paste("argument invisible = ", invisible, "should be TRUE or FALSE.")) if( is.na(invisible) ) stop(paste("argument invisible = ", invisible, "should be TRUE or FALSE.")) if(verbose) cat("... and everything is OK up to now.\n") # # Check the status of the socket connection: # if(verbose) cat("I'm checking the status of the socket connection...\n") # # Ca marche pas: summary.connection leve une exception et on ne va pas plus loin # if(!isOpen(socket)) stop(paste("socket:", socket, "is not opened.")) if(!isOpen(socket, rw = "read")) stop(paste("socket:", socket, "can not read.")) if(!isOpen(socket, rw = "write")) stop(paste("socket:", socket, "can not write.")) if(verbose) cat("... and everything is OK up to now.\n") # # Read user file: # infile <- file(description = file, open = "r") data <- readLines(infile) close(infile) nl <- length(data) # # Send request to server: # if(verbose) cat("I'm sending query to server...\n") request <- paste("crelistfromclientdata&type=", type, "&nl=", nl, sep = "") if(verbose) writeLines(c(request, data)) writeLines(c(request, data), socket, sep = "\n") res <- readLines(socket, n = 1) # # Check for non empty answer from server: # if(verbose) cat(paste("... answer from server is:", res, "\n")) if(length(res) == 0){ if(verbose) cat("... answer from server is empty!\n") while(length(res) == 0){ if(verbose) cat("... reading again.\n") res <- readLines(socket, n = 1) } } # # Analysing answer from server: # if(verbose) cat("I'm trying to analyse answer from server...\n") p <- parser.socket(res) if(p[1] != "0"){ if(verbose) cat("... and I was able to detect an error.\n") if( p[1] == "3" ) stop("no list creation is possible") if( p[1] == "4" ) stop("EOF while reading the nl lines from client") stop(paste("unknown error code from server:", p[1])) } if(verbose) cat("... and everything is OK up to now.\n") if(verbose){ cat("listname is:", p[2], "\n") cat("list rank is:", p[3], "\n") cat("list count of elements is:", p[4], "\n") } # # set ACNUC list name with user suplied parameters: # resstl <- setlistname(lrank = p[3], name = listname) if(resstl != 0) stop(paste("problem with setlistname, code : ", resstl)) # # Put results into workspace # if(invisible){ invisible(query(listname = listname, query = listname, socket = socket, invisible = TRUE, verbose = verbose, virtual = virtual)) } else { return(query(listname = listname, query = listname, socket = socket, invisible = FALSE, verbose = verbose, virtual = virtual)) } } clfcd <- crelistfromclientdata seqinr/R/uco.R0000755000176000001440000000645210611104064012720 0ustar ripleyusersuco <- function (seq, frame = 0, index = c("eff", "freq", "rscu"), as.data.frame = FALSE, NA.rscu = NA) { choice <- match.arg(index) if(any(seq%in%LETTERS)){ seq <- tolower(seq) } sequence <- splitseq(seq = seq, frame = frame, word = 3) if( as.data.frame == FALSE ) { eff <- table(factor(sequence, levels = SEQINR.UTIL$CODON.AA$CODON)) if(choice == "eff") return(eff) freq <- eff/(floor(length(seq)/3)) if(choice == "freq") return(freq) T <- split(freq, SEQINR.UTIL$CODON.AA$AA) rscu <- lapply(T, function(x) { return(x/((1/length(x)) * sum(x))) }) names(rscu) <- NULL rscu <- unlist(rscu)[as.character(SEQINR.UTIL$CODON.AA$CODON)] is.na(rscu[!is.finite(rscu)]) <- TRUE rscu[is.na(rscu)] <- NA.rscu return(rscu) } else { # return all indices in a data.frame eff <- table(factor(sequence, levels = SEQINR.UTIL$CODON.AA$CODON)) freq <- eff/(floor(length(seq)/3)) T <- split(freq, SEQINR.UTIL$CODON.AA$AA) rscu <- lapply(T, function(x) { return(x/((1/length(x)) * sum(x))) }) names(rscu) <- NULL rscu <- unlist(rscu)[as.character(SEQINR.UTIL$CODON.AA$CODON)] is.na(rscu[!is.finite(rscu)]) <- TRUE rscu[is.na(rscu)] <- NA.rscu df <- data.frame(SEQINR.UTIL$CODON.AA$AA, eff = eff, freq = as.vector(freq), RSCU = rscu) names(df) = c("AA", "codon", "eff", "freq", "RSCU") return(df) } } dotchart.uco <- function(x, numcode = 1, aa3 = TRUE, cex = 0.7, alphabet = s2c("tcag"), pch = 21, gpch = 20, bg = par("bg"), color = par("fg"), gcolor = par("fg"), lcolor = "gray", xlim, ...) { if( is.null(names(x)) ) names(x) <- words( alphabet = alphabet ) # # General sorting # x <- sort(x) labels <- names(x) stringlabel = paste(labels, sep="", collapse="") groups <- as.factor(translate(s2c(stringlabel), numcode = numcode)) gdata <- sapply(split(x, groups), sum) # # Now, sorting by aa order # gordered <- rank(gdata) xidx <- numeric(64) for( i in seq_len(64) ) { xidx[i] <- -0.01*i + gordered[groups[i]] } x <- x[order(xidx)] labels <- names(x) stringlabel = paste(labels, sep="", collapse="") aa <- translate(s2c(stringlabel), numcode = numcode) groups <- factor(aa, levels = unique(aa)) gdata <- sapply(split(x, groups), sum) if( missing(xlim) ) xlim <- c(0, max(gdata)) if( aa3 ) { levels(groups) <- aaa(levels(groups)) } dotchart(x = x, labels = labels, groups = groups, gdata = gdata, cex = cex, pch = pch, gpch = gpch, bg = bg, color = color, gcolor = gcolor, lcolor = lcolor, xlim, ...) # # Return invisibly for further plots # result <- list(0) result$x <- x result$labels <- labels result$groups <- groups result$gdata <- gdata ypg <- numeric( length(levels(groups)) ) i <- 1 for( aa in levels(groups) ) { ypg[i] <- length(which(groups == aa)) + 2 i <- i + 1 } ypg <- rev(cumsum(rev(ypg))) - 1 names(ypg) <- levels(groups) result$ypg <- ypg ypi <- numeric( length(x) ) for( i in seq_len(length(x)) ) { ypi[i] <- ypg[groups[i]] } antirank <- function(x) { return( seq(length(x),1,by=-1 )) } ypi <- ypi - unlist(sapply(split(x, groups),antirank)) names(ypi) <- labels result$ypi <- ypi return( invisible(result) ) } seqinr/R/getliststate.R0000644000176000001440000000225510706621630014650 0ustar ripleyusers# ==> getliststate&lrank=xx # <== code=xx&type=[SQ|KW|SP]&name="xx"&count=xx{&locus=[T|F]} # Asks for information about the list of specified rank. # Reply gives the type of list, its name, the number of elements it contains, # and, for sequence lists, says whether the list contains only parent seqs (locus=T). # Reply gives code != 0 if error. getliststate <- function(lrank, socket = autosocket()){ # # Build request: # request <- paste("getliststate&lrank=", lrank) writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ warning(paste("error code returned by server :", resitem[1])) return(NA) } return(list(type = resitem[2], name = substr(x = resitem[3], start = 2, stop = nchar(resitem[3]) - 1), count = as.numeric(resitem[4]), locus = as.logical(resitem[5]))) } gls <- getliststate gln <- function(lrank, ...) getliststate(lrank, ...)$name seqinr/R/read.abif.R0000644000176000001440000001475012437370117013756 0ustar ripleyusersread.abif <- function(filename, max.bytes.in.file = file.info(filename)$size, pied.de.pilote = 1.2, verbose = FALSE){ # # Suppress warnings when reading strings with internal nul character: # RTC <- function(x, ...) suppressWarnings(rawToChar(x, ...)) # # Define some shortcuts: # SInt32 <- function(f, ...) readBin(f, what = "integer", signed = TRUE, endian = "big", size = 4, ...) SInt16 <- function(f, ...) readBin(f, what = "integer", signed = TRUE, endian = "big", size = 2, ...) SInt8 <- function(f, ...) readBin(f, what = "integer", signed = TRUE, endian = "big", size = 1, ...) UInt32 <- function(f, ...) readBin(f, what = "integer", signed = FALSE, endian = "big", size = 4, ...) UInt16 <- function(f, ...) readBin(f, what = "integer", signed = FALSE, endian = "big", size = 2, ...) UInt8 <- function(f, ...) readBin(f, what = "integer", signed = FALSE, endian = "big", size = 1, ...) f32 <- function(f, ...) readBin(f, what = "numeric", size = 4,endian="little", ...) f64 <- function(f, ...) readBin(f, what = "numeric", size = 8, endian="little",...) # # Load raw data in memory: # fc <- file(filename, open = "rb") rawdata <- readBin(fc, what = "raw", n = pied.de.pilote*max.bytes.in.file,endian="little") if(verbose) print(paste("number of bytes in file", filename, "is", length(rawdata))) close(fc) # # Make a list to store results: # res <- list(Header = NULL, Directory = NA, Data = NA) # # Header section is 128 bytes long, located at a fixed position at the # beginning of the file. We essentially need the number of item and dataoffset # res$Header$abif <- RTC(rawdata[1:4]) if(res$Header$abif != "ABIF") stop("file not in ABIF format") if(verbose) print("OK: File is in ABIF format") res$Header$version <- SInt16(rawdata[5:6]) if(verbose) print(paste("File in ABIF version", res$Header$version/100)) res$Header$DirEntry.name <- rawdata[7:10] if(verbose) print(paste("DirEntry name: ", RTC(res$Header$DirEntry.name))) res$Header$DirEntry.number <- SInt32(rawdata[11:14]) if(verbose) print(paste("DirEntry number: ", res$Header$DirEntry.number)) res$Header$DirEntry.elementtype <- SInt16(rawdata[15:16]) if(verbose) print(paste("DirEntry elementtype: ", res$Header$DirEntry.elementtype)) res$Header$DirEntry.elementsize <- SInt16(rawdata[17:18]) if(verbose) print(paste("DirEntry elementsize: ", res$Header$DirEntry.elementsize)) # This one is important: res$Header$numelements <- SInt32(rawdata[19:22]) if(verbose) print(paste("DirEntry numelements: ", res$Header$numelements)) # This one is important too: res$Header$dataoffset <- SInt32(rawdata[27:30]) if(verbose) print(paste("DirEntry dataoffset: ", res$Header$dataoffset)) dataoffset <- res$Header$dataoffset + 1 # start position is 1 in R vectors res$Header$datahandle <- SInt32(rawdata[31:34]) if(verbose) print(paste("DirEntry datahandle: ", res$Header$datahandle)) res$Header$unused <- SInt16(rawdata[35:128], n = 47) # Should be ingnored and set to zero res$Header$unused[1:length(res$Header$unused)] <- 0 if(verbose) print(paste("DirEntry unused: ", length(res$Header$unused), "2-byte integers")) # # The directory is located at the offset specified in the header, # and consist of an array of directory entries. # We scan the directory to put values in a data.frame: # dirdf <- data.frame(list(name = character(0))) dirdf$name <- as.character(dirdf$name) # force to characters for(i in seq_len(res$Header$numelements)){ deb <- (i-1)*res$Header$DirEntry.elementsize + dataoffset direntry <- rawdata[deb:(deb + res$Header$DirEntry.elementsize)] dirdf[i, "name"] <- RTC(direntry[1:4]) dirdf[i, "tagnumber"] <- SInt32(direntry[5:8]) dirdf[i, "elementtype"] <- SInt16(direntry[9:10]) dirdf[i, "elementsize"] <- SInt16(direntry[11:12]) dirdf[i, "numelements"] <- SInt32(direntry[13:16]) dirdf[i, "datasize"] <- SInt32(direntry[17:20]) dirdf[i, "dataoffset"] <- SInt32(direntry[21:24]) } if(verbose){ print("Element found:") print(dirdf$name) } # # Save Directory and make a list to store data: # res$Directory <- dirdf res$Data <- vector("list", nrow(dirdf)) names(res$Data) <- paste(dirdf$name, dirdf$tagnumber, sep = ".") # # Data extraction: # for(i in seq_len(res$Header$numelements)){ deb <- (i-1)*res$Header$DirEntry.elementsize + dataoffset # Short data are stored in dataoffset directly: if(dirdf[i, "datasize"] > 4){ debinraw <- dirdf[i, "dataoffset"] + 1 } else { debinraw <- deb + 20 } elementtype <- dirdf[i, "elementtype"] numelements <- dirdf[i, "numelements"] elementsize <- dirdf[i, "elementsize"] data <- rawdata[debinraw:(debinraw + numelements*elementsize)] # unsigned 8 bits integer: if(elementtype == 1) res$Data[[i]] <- UInt8(data, n = numelements) # char or signed 8 bits integer if(elementtype == 2){ res$Data[[i]] <- tryCatch(RTC(data),finally=paste(rawToChar(data,multiple=TRUE),collapse=""),error=function(er){cat(paste("an error was detected with the following message:",er," but this error was fixed\n",sep=" "))}) } # unsigned 16 bits integer: if(elementtype == 3) res$Data[[i]] <- UInt16(data, n = numelements) # short: if(elementtype == 4) res$Data[[i]] <- SInt16(data, n = numelements) # long: if(elementtype == 5) res$Data[[i]] <- SInt32(data, n = numelements) # float: if(elementtype == 7) res$Data[[i]] <- f32(data, n = numelements) # double: if(elementtype == 8) res$Data[[i]] <- f64(data, n = numelements) # date: if(elementtype == 10) res$Data[[i]] <- list(year = SInt16(data, n = 1), month = UInt8(data[-(1:2)], n = 1), day = UInt8(data[-(1:3)], n = 1)) # time: if(elementtype == 11) res$Data[[i]] <- list(hour = UInt8(data, n = 1), minute = UInt8(data[-1], n = 1), second = UInt8(data[-(1:2)], n = 1), hsecond = UInt8(data[-(1:3)], n = 1)) # pString: if(elementtype == 18){ n <- SInt8(rawdata[debinraw]) pString <- RTC(rawdata[(debinraw+1):(debinraw+n)]) res$Data[[i]] <- pString } # cString: if(elementtype == 19) res$Data[[i]] <- RTC(data[1:(length(data) - 1) ]) # user: if(elementtype >= 1024) res$Data[[i]] <- data # legacy: if(elementtype %in% c(12, 13)) warning("unimplemented legacy type found in file") if(elementtype %in% c(6, 9, 14, 15, 16, 17, 20, 128, 256, 384)) warning("unsupported legacy type found in file") } return(res) } seqinr/R/readfirstrec.R0000644000176000001440000000365410724556354014627 0ustar ripleyusers################################################################################################### # # # readfirstrec # # # # Returns the record count of the specified ACNUC index file. # # # # # ==> readfirstrec&type=[AUT|BIB|ACC|SMJ|SUB|LOC|KEY|SPEC|SHRT|LNG|EXT|TXT] # # <== code=xx&count=xx # # Returns the record count of the specified ACNUC index file. # # Code != 0 indicates error. # # # ################################################################################################### readfirstrec <- function(socket = autosocket(), type) { allowedtype <- c("AUT", "BIB", "ACC", "SMJ", "SUB", "LOC", "KEY", "SPEC", "SHRT", "LNG", "EXT", "TXT") if(missing(type)){ return(allowedtype) } # # Build the request: # request <- paste("readfirstrec&type=", type, sep = "", collapse = "") # # Send request: # writeLines(request, socket, sep = "\n") # # Read answer from server: # s <- readLines(socket, n = 1) rep <- parser.socket(s) # # Check answer from server: # if(rep[1] != "0"){ warning("Server returns an error") return(NA) } else { return(as.numeric(rep[2])) } } seqinr/R/parser.socket.R0000644000176000001440000000225210755341026014716 0ustar ripleyusers############################################################################### # # # parser.socket # # # # Utility function to parse answers from ACNUC server. # # # ############################################################################### parser.socket <- function(onelinefromserver, verbose = FALSE) { if(verbose) cat(paste("parser.socket received: -->", onelinefromserver,"<--\n", sep = "")) if(length(onelinefromserver) == 0){ if(verbose) cat("character(0) detected returning NULL\n") return(NULL) } if(is.null(onelinefromserver)){ if(verbose) cat("NULL detected returning NULL\n") return(NULL) } # # Answer from server looks like: "code=0&lrank=2&count=150513&type=SQ&locus=F" # loc <- gregexpr("=[^=&]*", onelinefromserver)[[1]] substring(onelinefromserver, loc + 1, loc + attr(loc, "match.length") - 1) } seqinr/R/knowndbs.R0000644000176000001440000000302610706476417013771 0ustar ripleyusers# ==> knowndbs{&tag=xx} # <== nl=.. \n # dbname | on/off | db description \n nl such lines # Returns, for each database known by the server, its name (a valid value for the db= argument # of the acnucopen command), availability (off means temporarily unavailable), and description. # When the optional tag= argument is used, only databases tagged with the given string are listed; # without this argument, only untagged databases are listed. # The tag argument thus allows to identify series of special purpose (tagged) databases, # in addition to default (untagged) ones. The full list of untagged and tagged databases is here. knowndbs <- function(tag = c(NA, "TP", "TEST", "DEV"), socket = autosocket()){ # # Use default tag: # tag <- tag[1] # # Build request: # if( !is.na(tag) ){ askforbank <- paste("knowndbs&tag=", tag, sep = "") } else { askforbank <- "knowndbs" } writeLines(askforbank, socket, sep = "\n") rep <- readLines(socket, n = 1) nbank <- as.numeric(parser.socket(rep)) # # Read bank infos from server: # res <- readLines(socket, n = nbank) # # Build result: # resdf <- as.data.frame(list(bank = I(rep("NAbank", nbank)), status = I(rep("NAstatus", nbank)), info = I(rep("NAinfo", nbank)))) for(i in seq_len(nbank)) resdf[i, ] <- unlist(strsplit(res[i], split = "\\|"))[1:3] for(i in seq_len(nbank)) for(j in seq_len(3)) resdf[i, j] <- trimSpace(resdf[i, j]) # # Return result: # return(resdf) } kdb <- knowndbs seqinr/R/col2alpha.R0000644000176000001440000000017711247701441014002 0ustar ripleyuserscol2alpha <- function(color, alpha = 0.5){ x <- col2rgb(color)[,1] rgb(x[1], x[2], x[3], 255*alpha, maxColorValue = 255) } seqinr/R/isenum.R0000644000176000001440000000525010724555501013435 0ustar ripleyusers# ==> isenum&[name=xx|access=xx] # <== number=xx{&length=xx&frame=xx&gencode=xx&ncbigc=xx}{&otheraccessmatches} # Finds the acnuc number of a sequence from its name (name= argument) or its accession number (access= argument). # The name= and access= arguments are case-insensitive. # Reply gives number (or 0 if does not exist), length, reading frame (0, 1, or 2), and # genetic code ids of the corresponding sequence (gencode= gives acnuc's genetic code, 0 means universal; # ncbigc= gives ncbi's genetic code id, 1 means universal). # When &otheraccessmatches appears in reply, it means that several sequences are attached to the given accession no., # and that only the acnuc number of the first attached sequence is given in the number= argument. isenum <- function(what, idby = c("name", "access"), socket = autosocket()){ # # Default is by name: # idby <- idby[1] if(!(idby %in% c("name", "access"))) stop("Wrong idby agument") # # Make default return value: # result <- list(number = NA, length = NA, frame = NA, gencode = NA, ncbigc = NA, otheraccessmatches = NA) # # Build request: # request <- paste("isenum&", idby, "=", what, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # resitem <- parser.socket(answerFromServer) number <- as.numeric(resitem[1]) if(number == 0){ return(result) # sequence doesn't exist, NA returned } else { result$number <- number } result$length <- as.numeric(resitem[2]) if( resitem[length(resitem)] == "otheraccessmatches"){ result$otheraccessmatches <- TRUE } else { result$otheraccessmatches <- FALSE } if( length(resitem) <= 3) return(result) # Mother sequence result$frame <- as.numeric(resitem[3]) result$gencode <- as.numeric(resitem[4]) result$ncbigc <- as.numeric(resitem[5]) return(result) } isn <- function(what, ...) isenum(what, ...)$number # # getNumber.socket (deprecated as from seqinR 1.1-3) # getNumber.socket <- function(socket, name){ warning("getNumber.socket is deprecated, use isn() instead") isn(what = name, socket = socket) } # # getAttributsocket (deprecated as from seqinR 1.1-3) # getAttributsocket <- function( socket, name){ warning("getAttributsocket is deprecated, use isenum instead.") request <- paste("isenum&name=", name, sep = "") writeLines( request, socket, sep = "\n") res <- readLines(socket, n = 1) p <- parser.socket(res) return( list(length = as.numeric(p[2]), frame = as.numeric(p[3]), gencode = as.numeric(p[4])) ) } seqinr/R/permutation.R0000644000176000001440000000371710402070127014477 0ustar ripleyusers"permutation" <- function (sequence, modele = "base", frame = 0, replace = FALSE, prot = FALSE, numcode = 1, ucoweight = NULL) { if (modele == "base") { #modele 1 : permute toutes les bases entre elles new <- sample(sequence, replace = replace) } else if (modele == "position") { #modele 2 : permute les bases en conservant position CDSseq <- sequence[(frame + 1):length(sequence)] if (length(CDSseq)%%3 != 0) { stop("sequence could not be subdivided in codons") } else { seqI <- CDSseq[seq(1, length(CDSseq), by = 3)] seqII <- CDSseq[seq(2, length(CDSseq), by = 3)] seqIII <- CDSseq[seq(3, length(CDSseq), by = 3)] newCDSseq <- as.vector(t(cbind(sample(seqI, replace = replace), sample(seqII, replace = replace), sample(seqIII, replace = replace)))) } new <- c(sequence[0:frame], newCDSseq) } else if (modele == "codon") { #modele 3 : permute tous les codons entre eux split <- splitseq(sequence, frame) #split in codons (frame=starting position of CDS) if (prot == FALSE) { new <- c(sequence[0:frame], s2c(c2s(sample(split, replace = replace))), tail(sequence, (length(sequence) - frame)%%3)) } else { #"prot==TRUE" = garder Met et STOP l <- length(split) new <- c(sequence[0:frame], s2c(c2s(c(split[1], sample(split[2:(l - 1)], replace = replace), split[l]))), tail(sequence, (length(sequence) - frame)%%3)) } } else if (modele == "syncodon") { #modele 4 : permute/remplace les codons synonymes CDSseq <- sequence[(frame + 1):length(sequence)] newCDSseq <- synsequence(CDSseq, numcode = numcode, ucoweight = ucoweight) new <- c(sequence[0:frame], newCDSseq, tail(sequence, (length(sequence) - frame)%%3)) } return(new) } seqinr/R/util.R0000644000176000001440000000363310714346611013114 0ustar ripleyusers######################## # char to string ######################## c2s <- function( chars = c("m","e","r","g","e","d") ) { return( paste( chars, collapse = "" ) ) } ########################### # string to char ############################ s2c <- function (string) { if(is.character(string) && length(string) == 1){ return(.Call("s2c", string, PACKAGE = "seqinr")) } else { warning("Wrong argument type in s2c(), NA returned") return(NA) } } ########################### # Conversion of the numeric encoding of a DNA sequence into # a vector of chars ############################ n2s <- function(nseq, levels = c("a", "c", "g", "t"), base4 = TRUE) { if( base4 ) levels[nseq + 1] else levels[nseq] } ########################################## # Convert one-letter code to 3-letters code for amino-acids ########################################## aaa <- function( aa ) { aa3 <- c("Stp", "Ala", "Cys", "Asp", "Glu", "Phe", "Gly", "His", "Ile", "Lys", "Leu", "Met", "Asn", "Pro", "Gln", "Arg", "Ser", "Thr", "Val", "Trp", "Tyr") # One letter code order if(missing(aa)) return(aa3) aa1 <- a() convert <- function( x ) { if( all( x != aa1 ) ) { warning("Unknown one letter code for aminoacid") return( NA ) } else { return( aa3[which( x == aa1 )] ) } } return( as.vector(unlist(sapply( aa, convert ) ) ) ) } ########################################## # Conversion 3-letters code to one letter code for amino-acids ########################################## a <- function( aa ) { aa1 <- s2c("*ACDEFGHIKLMNPQRSTVWY") if(missing(aa)) return(aa1) aa3 <- aaa() convert <- function( x ) { if( all( x != aa3 ) ) { warning("Unknown 3-letters code for aminoacid") return( NA ) } else { return( aa1[which( x == aa3 )] ) } } return( as.vector(unlist(sapply( aa, convert ) ) ) ) } seqinr/R/get.ncbi.R0000755000176000001440000003056610662551112013634 0ustar ripleyusers ######################################################################## # get.ncbi # # Try to connect to ncbi to get a list of complete bacterial genomes. # Returns an n by 5 dataframe with # species names # accesion number # size in bp # type (chromosome or plasmid) # Last update time # ######################################################################### get.ncbi <- function(repository = "ftp://ftp.ncbi.nih.gov/genomes/Bacteria/" ) { # # First of all, check that this computer is not off the net: # if( ! capabilities("http/ftp") ) stop("capabilities(\"http/ftp\") is not TRUE") # # BEGIN Proxy problem # # I have a problem here: the ftp connection apparently does # not work when there is a proxy. I have fixed the bug # this way, but this is a rather crude and unsatisfactory # solution. # ftp.proxy.bck <- Sys.getenv("ftp_proxy") if( ftp.proxy.bck != "" ) # there is a proxy { warning("I'am trying to neutralize proxies") Sys.setenv("no_proxy" = "") } # # END Proxy problem # # # Try to get list of folder in ncbi repository. Note that R build-in ftp # does not allow to do this directly, so we rely on a system call that # will run only under Unix systems. Moreover, not all ftp client supports # this syntax. # sysinfo <- Sys.info()[1] if( sysinfo == "Darwin" ) { cmd <- sprintf("echo \"ls\" | ftp %s", repository) brut <- readLines(pipe(cmd)) } else if( sysinfo == "SunOS" ) { # # Build command file for ftp connection # tmpname <- tempfile(pattern="getncbi") tmpcmdfile <- file(tmpname, open="w") writeLines("user anonymous seqteam@biomserv.univ-lyon1.fr", tmpcmdfile) writeLines("cd genomes/Bacteria", tmpcmdfile) writeLines("dir", tmpcmdfile) writeLines("bye", tmpcmdfile) close(tmpcmdfile) # hostname <- unlist(strsplit(repository,split="/"))[3] cmd <- sprintf("ftp -v -n %s < %s", hostname, tmpname) brut <- readLines(pipe(cmd)) } else if( sysinfo == "Linux" ){ # # Build command file for ftp connection # tmpname <- tempfile(pattern="getncbi") tmpcmdfile <- file(tmpname, open="w") writeLines("user anonymous seqteam@biomserv.univ-lyon1.fr", tmpcmdfile) writeLines("cd genomes/Bacteria", tmpcmdfile) writeLines("dir", tmpcmdfile) writeLines("bye", tmpcmdfile) close(tmpcmdfile) # hostname <- unlist(strsplit(repository,split="/"))[3] cmd <- sprintf("ftp -v -n %s < %s", hostname, tmpname) brut <- readLines(pipe(cmd)) } else { stop("Unimplemented platform") } # # Keep only lines corresponding to folders: # brut <- brut[grep("dr-xr-xr-x", brut)] # # Now there should be a vector of chr in "brut", each line looking like: # # "dr-xr-xr-x 2 ftp anonymous 4096 Jul 15 15:41 Aeropyrum_pernix" # brut <- sapply( brut, strsplit, split=" ") names(brut) <- NULL # # Now each element in "brut" should be splited as in: # # [1] "dr-xr-xr-x" "" "" "2" # [5] "ftp" "" "" "" # [9] "" "" "anonymous" "" # [13] "" "" "" "4096" # [17] "Jul" "15" "15:41" "Aeropyrum_pernix" # get.last <- function( vector ) { return( vector[length(vector)] ) } brut <- sapply( brut, get.last) if(length(grep("CLUSTERS",brut))!=0){ brut<-brut[-grep("CLUSTERS",brut)] # we remove the CLUSTERS folder, since it doesn't contain any annotated bacterial genomes } # # Now "brut" should contains folders names as in: # > brut[1:5] # [1] "Aeropyrum_pernix" # [2] "Agrobacterium_tumefaciens_C58_Cereon" # [3] "Agrobacterium_tumefaciens_C58_UWash" # [4] "Aquifex_aeolicus" # [5] "Archaeoglobus_fulgidus" # # # Set vector types for results: # species <- character(0) accession <- character(0) size.bp <- integer(0) type <- character(0) lastupdate <- character(0) # # Main loop on folders to see what's inside # for( folder in brut ) { if( sysinfo == "Darwin" ) { where <- paste(repository, folder, "/", sep="", collapse="") cmd <- sprintf("echo \"ls\" | ftp %s", where) whatsin <- readLines(pipe(cmd)) closeAllConnections() } else if( sysinfo == "SunOS" ) { # Build command file for ftp connection: tmpname <- tempfile(pattern="getncbi") tmpcmdfile <- file(tmpname, open="w") writeLines("user anonymous seqteam@biomserv.univ-lyon1.fr", tmpcmdfile) writeLines(sprintf("cd genomes/Bacteria/%s", folder), tmpcmdfile) writeLines("dir", tmpcmdfile) writeLines("bye", tmpcmdfile) close(tmpcmdfile) # hostname <- unlist(strsplit(repository,split="/"))[3] cmd <- sprintf("ftp -v -n %s < %s", hostname, tmpname) whatsin <- readLines(pipe(cmd)) } else if( sysinfo=="Linux"){ # Build command file for ftp connection: tmpname <- tempfile(pattern="getncbi") tmpcmdfile <- file(tmpname, open="w") writeLines("user anonymous seqteam@biomserv.univ-lyon1.fr", tmpcmdfile) writeLines(sprintf("cd genomes/Bacteria/%s", folder), tmpcmdfile) writeLines("dir", tmpcmdfile) writeLines("bye", tmpcmdfile) close(tmpcmdfile) # hostname <- unlist(strsplit(repository,split="/"))[3] cmd <- sprintf("ftp -v -n %s < %s", hostname, tmpname) whatsin <- readLines(pipe(cmd)) } else { stop("unimplemented platform") } whatsin <- whatsin[ grep("\\.gbk", whatsin)] # Keep only files with ".gbk" extension # # Remove backup files with % extension: # for( i in seq_len(length(whatsin)) ) if( substr(whatsin[i], nchar(whatsin[i]), nchar(whatsin)[i]) == "%" ) is.na(whatsin[i]) <- TRUE whatsin <- whatsin[!is.na(whatsin)] for( i in seq(from=1, to=length(whatsin), by=1 )) # Loop on sequences data { # # Try to get the accession number of this entry: # accname <- unlist(strsplit(whatsin[i], split=" ")) accname <- accname[length(accname)] accname <- unlist(strsplit(accname, split="\\.")) accname <- accname[1] # The accession number should be in this variable # # Try to get the size of this entry: # entry <- paste(repository, folder, "/", accname, ".gbk", sep="", collapse="") header <- readLines(entry, n=2) closeAllConnections() bp <- unlist(strsplit(header[1], split=" ")) bp <- bp[nchar(bp) > 0] bp <- bp[3] # size in bp should be there # # Try to get the last update date of this entry # last <- unlist(strsplit(header[1], split=" ")) last <- last[nchar(last) > 0] last <- last[length(last)] # last update time should be there # # Try to get the type (chromosome versus plasmid) of this entry: # if( length(grep("plasmid", tolower(header[2]))) != 0 ) def <- "plasmid" else if(length(grep("chromosome", tolower(header[2]))) != 0) def <- "chromosome" else if(length(grep("genome", tolower(header[2]))) != 0) def <- "chromosome" else def <- NA # # Begin the human curated part: # if( accname == "NC_002528" ) def <- "chromosome" if( accname == "NC_003454" ) def <- "chromosome" if( accname == "NC_001732" ) def <- "plasmid" if( accname == "NC_001733" ) def <- "plasmid" if( accname == "NC_005042" ) def <- "chromosome" if( accname == "NC_005072" ) def <- "chromosome" if( accname == "NC_004631" ) def <- "chromosome" if( accname == "NC_004344" ) def <- "chromosome" if( accname == "NC_003902" ) def <- "chromosome" if( accname == "NC_005957" ) def <- "chromosome" if( accname == "NC_007984" ) def <- "chromosome" if( accname == "NC_002937" ) def <- "chromosome" if( accname == "NC_005863" ) def <- "plasmid" if( accname == "NC_008054" ) def <- "chromosome" if( accname == "NC_002942" ) def <- "chromosome" if( accname == "NC_005823" ) def <- "chromosome" if( accname == "NC_005824" ) def <- "chromosome" if( accname == "NC_000916" ) def <- "chromosome" if( accname == "NC_007633" ) def <- "chromosome" if( accname == "NC_006855" ) def <- "plasmid" if( accname == "NC_006856" ) def <- "plasmid" if( accname == "NC_006905" ) def <- "chromosome" if( accname == "NC_006511" ) def <- "chromosome" if( accname == "NC_003198" ) def <- "chromosome" if( accname == "NC_007350" ) def <- "chromosome" if( accname == "NC_007351" ) def <- "plasmid" if( accname == "NC_007352" ) def <- "plasmid" if( accname == "NC_003425" ) def <- "plasmid" if( accname == "NC_006833" ) def <- "chromosome" if( accname == "NC_006810" ) def <- "chromosome" if( accname == "NC_008529" ) def <- "chromosome" if( accname == "NC_008531" ) def <- "chromosome" if( accname == "NC_008346" ) def <- "chromosome" if( accname == "NC_008800" ) def <- "chromosome" # # Concatenate results: # species <- c(species, folder) accession <- c( accession, accname) size.bp <- c(size.bp, as.integer(bp)) lastupdate <- c(lastupdate, last) type <- c(type, def) cat("\n",folder,accname,bp,def,last,"\n") } } # shouldn't ftp_proxy be restored there ? return(data.frame(I(species), I(accession), size.bp, type, I(lastupdate))) } ######################################################################## # ncbi.fna.url # # Try to build urls to access complete genome sequences data # in fasta format from get.ncbi() output # ######################################################################## ncbi.fna.url <- function( get.ncbi.out = get.ncbi() ) { build.url <- function( x ) { ficname <- unlist(strsplit(x[2],"\\.")) # split prefix and suffix ficname <- ficname[1] # keep prefix ficname <- paste( ficname, ".fna", collapse="", sep="") urlname <- paste("ftp://ftp.ncbi.nih.gov/genomes/Bacteria/", x[1], "/",ficname, collapse="", sep="") return(urlname) } apply( get.ncbi.out, 1, build.url ) } ######################################################################## # # Try to build urls to access complete genome sequences data # in genbank format from get.ncbi() output # ######################################################################## ncbi.gbk.url <- function( get.ncbi.out = get.ncbi() ) { build.url <- function( x ) { urlname <- paste("ftp://ftp.ncbi.nih.gov/genomes/Bacteria/", x[1], "/",x[2], collapse="", sep="") return(urlname) } apply( get.ncbi.out, 1, build.url ) } ######################################################################## # Try to build urls to access complete genome sequences data # file *.ptt from get.ncbi() output # ######################################################################## ncbi.ptt.url <- function( get.ncbi.out = get.ncbi() ) { build.url <- function( x ) { ficname <- unlist(strsplit(x[2],"\\.")) # split prefix and suffix ficname <- ficname[1] # keep prefix ficname <- paste( ficname, ".ptt", collapse="", sep="") urlname <- paste("ftp://ftp.ncbi.nih.gov/genomes/Bacteria/", x[1], "/",ficname, collapse="", sep="") return(urlname) } apply( get.ncbi.out, 1, build.url ) } ######################################################################## # # Try to get the number of cds and genome size # ######################################################################## ncbi.stats <- function( get.ncbi.out = get.ncbi() ) { gbkurls <- ncbi.gbk.url( get.ncbi.out ) ptturls <- ncbi.ptt.url( get.ncbi.out ) get.genome.size <- function( url ) { header <- readLines( url, n = 1 ) tmp <- unlist(strsplit(header, split=" ")) tmp <- tmp[nchar(tmp)>0] tmp <- tmp[3] as.integer(tmp) } get.n.prot <- function( url ) { lines <- readLines( url, n = 3 ) lines <- lines[3] lines <- unlist(strsplit(lines, split=" ")) print(lines[1]) as.integer(lines[1]) } gsize <- sapply( gbkurls, get.genome.size) nprot <- sapply( ptturls, get.n.prot ) data <- data.frame( cbind(get.ncbi.out[,1], gsize, nprot) ) return( data ) } seqinr/R/rho.R0000644000176000001440000000074711344705055012733 0ustar ripleyusersrho <- function (sequence, wordsize = 2, alphabet = s2c("acgt")) { wordcount <- count(sequence, wordsize, freq = FALSE, alphabet = alphabet) uni <- count(sequence, 1, freq = TRUE, alphabet = alphabet) expected_wordfreq <- function (wordsize, uni) { if (wordsize == 1) return(uni) else kronecker(uni, expected_wordfreq(wordsize - 1, uni)) } expected_wordcount <- sum(wordcount)*expected_wordfreq(wordsize, uni) return(wordcount/expected_wordcount) } seqinr/R/kaks.R0000644000176000001440000000440411717462106013067 0ustar ripleyuserskaks <- function(x, verbose=FALSE, debug = FALSE, forceUpperCase = TRUE){ # # Check argument class: # if(attr(x,"class") != "alignment") stop("object x must be of class alignment") if(debug){ cat("<--- Argument x storage is --->\n") print(str(x)) cat("<--- Argument x storage is --->\n") } # # Check that there are at least two sequences in the alignment: # if(x$nb < 2){ warning("there should be at least two sequences in the alignment") return(NA) } # # Check that all sequences are of the same length: # lseqs <- nchar(x$seq) if( !all(lseqs == lseqs[1])) { warning("all sequences should be the same length in an alignment") return(NA) } # # Check that the length of sequences is a mutiple of 3 since we are dealing # with coding sequences here: # if( lseqs[1] %% 3 != 0){ warning("sequence lengths are not a multiple of 3") return(NA) } # # Force sequences characters to upper case letters when at least one # one 'a', 'c', 'g', or 't' is found in the sequences: # if(forceUpperCase){ if( length(grep("[acgt]", x$seq)) != 0){ x$seq <- toupper(x$seq) } } # # Call internal C function: # l <- .Call("kaks", x$seq, x$nb, debug, PACKAGE = "seqinr") if(debug){ cat("<--- Result l storage is --->\n") print(str(l)) print (l) cat("<--- Result l storage is --->\n") } # # If the sequences names are missing, we call them seq1, seq2, and so on: # if( is.null(x$nam) ) x$nam <- paste("seq", seq_len(x$nb), sep = "") # # This is to compute the list of results: # mkresult <- function(k){ tmp <- matrix( k, x$nb, x$nb, byrow = TRUE, dimnames = list(x$nam, x$nam)) as.dist(t(tmp)) } #result <- lapply(l[seq_len(4)], mkresult) if (verbose) { result <- lapply(l[seq_len(13)], mkresult) check <- result[[5]] + result[[6]] + result[[7]] result[[14]] <-check names(result) <- c("ka", "ks", "vka", "vks","l0","l2","l4","a0","a2","a4", "b0","b2","b4","checksuml") return(result) } else { result <- lapply(l[seq_len(4)], mkresult) names(result) <- c("ka", "ks", "vka", "vks") return(result) } } seqinr/R/al2bp.R0000644000176000001440000000067511145036777013152 0ustar ripleyusersal2bp <- function(allele.name, repeat.bp = 4, offLadderChars = "><", split = "\\."){ allele.name <- as.character(allele.name) if(any(s2c(allele.name) %in% s2c(offLadderChars))) return(NA) dec <- unlist(strsplit(allele.name, split = split)) res <- repeat.bp*suppressWarnings(as.numeric(dec[1])) # NA are returned for X and Y at Amelogenin locus for instance if(length(dec) > 1) res <- res + as.numeric(dec[2]) return(res) } seqinr/R/as.alignment.R0000644000176000001440000000034011376443244014514 0ustar ripleyusers# # Constructor for class alignment # as.alignment <- function(nb = NULL, nam = NULL, seq = NULL, com = NULL){ ali <- list(nb = as.numeric(nb), nam = nam, seq = seq, com = com) class(ali) <- "alignment" return(ali) } seqinr/R/PI.R0000644000176000001440000000351310646162104012441 0ustar ripleyusers# # computePI: To Compute the Theoretical Isoelectric Point # # seq is a protein sequence as a vector of single characters in upper case, # note that there is no argument checking here. # computePI <- function(seq){ # # Remove stop codons translated as the character '*' : # if(length(which(seq == "*")) != 0) seq <- seq[- which(seq == "*")] compoAA <- table(factor(seq, levels = LETTERS)) nTermR <- which(LETTERS == seq[1]) cTermR <- which(LETTERS == seq[length(seq)]) computeCharge <- function(pH, compoAA, pK, nTermResidue, cTermResidue){ cter <- 10^(-pK[cTermResidue,1]) / (10^(-pK[cTermResidue,1]) + 10^(-pH)) nter <- 10^(-pH) / (10^(-pK[nTermResidue,2]) + 10^(-pH)) carg <- as.vector(compoAA['R'] * 10^(-pH) / (10^(-pK['R',3]) + 10^(-pH))) chis <- as.vector(compoAA['H'] * 10^(-pH) / (10^(-pK['H',3]) + 10^(-pH))) clys <- as.vector(compoAA['K'] * 10^(-pH) / (10^(-pK['K',3]) + 10^(-pH))) casp <- as.vector(compoAA['D'] * 10^(-pK['D',3]) /(10^(-pK['D',3]) + 10^(-pH))) cglu <- as.vector(compoAA['E'] * 10^(-pK['E',3]) / (10^(-pK['E',3]) + 10^(-pH))) ccys <- as.vector(compoAA['C'] * 10^(-pK['C',3]) / (10^(-pK['C',3]) + 10^(-pH))) ctyr <- as.vector(compoAA['Y'] * 10^(-pK['Y',3]) / (10^(-pK['Y',3]) + 10^(-pH))) charge <- carg + clys + chis + nter - (casp + cglu + ctyr + ccys + cter) return(charge) } critere <- function( p1, p2, p3, p4, p5){ computeCharge(pH = p1, compoAA = p2, pK = p3, nTermResidue = p4, cTermResidue = p5)^2 } nlmres <- nlm(critere, 7, p2 = compoAA, p3 = SEQINR.UTIL$pk, p4 = nTermR, p5 = cTermR) # # If minimum is not zero, try whith a different guess: # while( ! identical(all.equal( nlmres$minimum, 0 ), TRUE)) { nlmres <- nlm(critere, runif(1, 0, 14), p2 = compoAA, p3 = SEQINR.UTIL$pk, p4 = nTermR, p5 = cTermR) } return(nlmres$estimate) } seqinr/R/words.R0000644000176000001440000000026510211305114013254 0ustar ripleyuserswords <- function(length = 3, alphabet = s2c("acgt") ) { if( length == 1 ) return( alphabet ) else kronecker( alphabet, words(length - 1, alphabet ), paste, sep = "") } seqinr/R/plot.SeqAcnucWeb.R0000644000176000001440000000617012435351100015242 0ustar ripleyusers################################################################################ # # plot.SeqAcnucWeb # ################################################################################ plot.SeqAcnucWeb <- function(x, types = getType()$sname, socket = autosocket(), ...){ verbose <- FALSE # a passer en argument si besoin est # # Check arguments: # if(!inherits(x, "SeqAcnucWeb")) stop("Sequence of class SeqAcnucWeb is needed") # # Save graphical parameters: # old.par <- par(no.readonly = TRUE) on.exit(par(old.par)) if(verbose) cat(paste("types:", types, sep = "\n")) # # Get the parent sequence: # GiveMeTheMotherSequence <- paste("me n=", x, sep = "") query(listname = "me", query = GiveMeTheMotherSequence, socket = socket) MotherLength <- as.numeric(getLength(get("me", .seqinrEnv)$req[[1]])) MotherName <- get("me", .seqinrEnv)$req[[1]] if(verbose) cat("\nMotherLength = ", MotherLength) # # Plot organization: # par(mar = c(2.1, 0.1, 4.1, 0.1), lend = "square", ljoin = "mitre") cx <- c(0, MotherLength) cy <- c(0, 1) plot(cx, cy, ann = FALSE, type = "n", axes = FALSE) axis(1) title(main = paste("Physical position of subsequences on the parent sequence", MotherName, "(", MotherLength, "bp )", sep=" ")) # # Look for subsequences: # GiveMeAllSubsequences <- paste("fi n=", MotherName, sep = "") query(listname = "filles", query = GiveMeAllSubsequences, socket = socket) n <- length(types) # number of potential subsequences types ispresent <- rep(FALSE, n) # will be TRUE if one or more subsequence of this type is found nb <- numeric(n) # count of subsequences for available types posi <- vector(mode = "list", length = n) # position of subsequences for(i in seq_len(n)){ q <- paste("filles et t=", types[i], sep = "") if(verbose) cat("query = ", q, "\n") result <- try(query(socket = socket, listname = "tmp", query = q)) if( inherits(result, "try-error")) next if(get("tmp", .seqinrEnv)$nelem == 0) next if(is.na(get("tmp", .seqinrEnv)$req[[1]])) next if(get("tmp", .seqinrEnv)$req[[1]] == x ) next ispresent[i] <- TRUE u <- lapply(get("tmp", .seqinrEnv)$req, getLocation) names(u) <- get("tmp", .seqinrEnv)$req nb[i] <- length(u) posi[[i]] <- u } # # Draw subsequences: # posi <- posi[ispresent] nb <- nb[ispresent] types <- types[ispresent] n <- length(types) for(i in seq_len(n)){ for(j in seq_len(length(posi[[i]]))){ xleft <- posi[[i]][[j]][1] ybottom <- (i - 1)/(n + 1) xright <- posi[[i]][[j]][2] ytop <- i/(n + 1) rect(xleft, ybottom, xright, ytop, col = i, border = "black", lend = "square", ljoin = "mitre" ) } } # # Draw legend: # legend("top", legend = paste(types, "(", nb, ")", sep = ""), fill = seq_len(n), horiz = TRUE, bty = "n") resu <- lapply(posi,function(x){lapply(x,unlist)}) names(resu) <- types # # workspace cleanup # rm("me", pos = .seqinrEnv) rm("filles", pos = .seqinrEnv) rm("tmp", pos = .seqinrEnv) # # Return invisibly the result: # invisible(resu) } seqinr/R/oriloc.R0000644000176000001440000001323112435602525013422 0ustar ripleyusers######################################################################## # oriloc # # Prediction of replication boundaries in unannotated genomes # ######################################################################## oriloc <- function( seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.predict", glimmer.version = 3, oldoriloc = FALSE, gbk = NULL, clean.tmp.files = TRUE, rot = 0) { aGBKfileWasGiven <- !missing(gbk) && !is.null(gbk) if(aGBKfileWasGiven) # Work directly with genbank file { tmpgbk <- tempfile(pattern = "orilocgbk") if(substr(gbk,1,7)=="http://" || substr(gbk,1,6)=="ftp://" || substr(gbk,1,7)=="file://"){ download.file( gbk, destfile = tmpgbk ) } else{ file.copy(from = gbk, to = tmpgbk) } seq.fasta <- tempfile(pattern = "orilocfasta") g2.coord <- tempfile(pattern = "orilocg2") gb2fasta( tmpgbk, seq.fasta ) gbk2g2( tmpgbk, g2.coord ) # # gbk2g2 yields glimmer version 2.0 files, so force to version 2.0 in this case: # glimmer.version <- 2 } # # Get first sequence from fasta file: # seq <- read.fasta(file = seq.fasta, set.attributes = FALSE)[[1]] lseq <- length(seq) # # Read CDS coordinate file: # g2 <- readLines( g2.coord ) # # Patch for glimmer3 version: # if( glimmer.version > 2 ){ # remove first line: g2 <- g2[-1] # remove first three characters (i.e. orf) g2 <- sapply(g2, function(x) substr(x,4,nchar(x)), USE.NAMES = FALSE) } # # Extract info from g2.coord file # tokens <- function( string ) { tmp <- unlist(strsplit( string, split = " ")) tmp[nchar(tmp) > 0 ][seq_len(3)] } tmp <- sapply( g2, tokens ) gnum <- as.numeric(tmp[1, ]) # gene number in g2.coord start <- as.numeric(tmp[2, ]) # start positions in bp end <- as.numeric(tmp[3, ]) # end position in bp if( length(start) != length(end) ) stop("start and end vector must be the same length") # # Rotate the genome if required # if( rot != 0 ) { # # Circular permutation of a vector # rotate <- function(x, rot = 0) { n <- length(x) rot <- rot %% n if(rot == 0) { x } else { c(x[(rot+1):n],x[seq_len(rot)]) } } seq <- rotate(x = seq, rot = rot ) start <- start - rot end <- end - rot start[ start < 1 ] <- start[ start < 1 ] + lseq end[ end < 1] <- end[ end < 1 ] + lseq gnum <- gnum[order(start)] end <- end[order(start)] start <- sort(start) } # # # pos <- (start + end)/2000 # Mid gene position in Kb ncds <- length(pos) # # CDS that wrap around the genome # wrap <- abs(end-start) > lseq/2 # # Compute the DNA walk gene by gene in third codon positions # x <- integer(ncds) y <- integer(ncds) skew <- numeric(ncds) CDS.excess <- integer(ncds) for( i in order(pos) ) { # Look for third codon position if( !wrap[i] ) # regular cds that do not wrap around the genome { if( start[i] < end[i] ) # CDS 5'->3' direct strand { CDS.excess[i] <- 1 tcp <- seq( from = start[i] + 2, to = end[i], by = 3) } else # complementary strand { CDS.excess[i] <- -1 tcp <- seq( from = start[i] - 2, to = end[i], by = -3) } } else # a cds that wraps around the genome { if( start[i] > end[i] ) # CDS 5'->3' direct strand { CDS.excess[i] <- 1 tcp <- seq( from = start[i] + 2, to = lseq + end[i], by = 3) tcp[ tcp > lseq ] <- tcp[ tcp > lseq ] - lseq } else # CDS 3'->5' complementary strand { CDS.excess[i] <- -1 tcp <- seq( from = start[i] - 2, to = -(lseq-end[i]), by = -3) tcp[ tcp < 1 ] <- tcp[ tcp < 1 ] + lseq } } tcnucl <- seq[tcp] x[i] <- length(tcnucl[tcnucl=="t"]) - length(tcnucl[tcnucl=="a"]) y[i] <- length(tcnucl[tcnucl=="c"]) - length(tcnucl[tcnucl=="g"]) } x <- cumsum(x) y <- cumsum(y) CDS.excess <- cumsum(CDS.excess) # # Old oriloc program, direct from C without trying to vectorize. # To reproduce old results. # if( oldoriloc ) { Regression <- function(x, y, Li) { a <- 0 ; b <- 0 ; c <- 0; for( m in seq_len(Li-1) ) # I think this should go to Li included { b <- b + y[m]^2 a <- a + x[m]^2 c <- c + x[m]*y[m] } alfa1 <- (atan(2*c/(a-b)))/2 alfa2 <- alfa1 - pi/2; derivate1 <- 2*(a-b)*cos(2*alfa1)+4*c*sin(2*alfa1) if(derivate1 < 0) return( tan(alfa2) ) else return( tan(alfa1) ) } slope <- Regression( x, y, ncds ) for ( i in seq_len(ncds)) { X.line <- ( y[i] + slope*x[i] )/(2*slope) Y.line <- slope*X.line distance <- sqrt( Y.line^2 + X.line^2 ) if( Y.line < 0 ) distance <- -distance skew[i] <- distance } } else # New oriloc program { # # Project DNAwalk points (x,y) onto orthogonal regression line # pca <- ade4::dudi.pca( cbind(x,y), scann = FALSE, nf = 1, scale = FALSE, center = FALSE ) rec <- ade4::reconst(pca) skew <- sign(rec$x)*sqrt(rec$x^2+rec$y^2) } # # Try to get get a correct orientation (same as GC skew) # if( cor(skew, y ) < 0 ) skew <- -skew # # Build result # result <- data.frame( cbind( gnum, start/1000, end/1000, CDS.excess, skew, x, y) ) names(result) <- c("g2num", "start.kb", "end.kb", "CDS.excess", "skew","x","y") # # Delete temporary files if requested: # if(aGBKfileWasGiven && clean.tmp.files) { file.remove(tmpgbk) file.remove(seq.fasta) file.remove(g2.coord) } # # the end # return(result) } seqinr/R/plotabif.R0000644000176000001440000000333512426453046013741 0ustar ripleyusersplotabif <- function(abifdata, chanel = 1, tmin = 1/tscale, tmax = abifdata$Data[["SCAN.1"]]/tscale, tscale = 1000, yscale = 1000, type = "l", las = 1, xlab = paste("Time", tscale, sep = "/"), ylab = paste("RFU", yscale, sep = "/"), irange = (tmin*tscale):(tmax*tscale), x = irange/tscale, xlim = c(tmin, tmax), chanel.names = c(1:4,105), DATA = paste("DATA", chanel.names[chanel], sep = "."), y = abifdata$Data[[DATA]][irange]/yscale, ylim = c(min(y), max(y)), dyn = abifdata$Data[[paste("DyeN", chanel, sep = ".")]], main = paste(deparse(substitute(abifdata)), chanel, dyn, sep = " ; "), calibr = NULL, ladder.bp = NULL, allele.names = "identifiler", ladder.lab = TRUE, ...){ old.par <- par(no.readonly = TRUE) on.exit(par(old.par)) if(is.null(calibr)){ plot(x, y, type = type, las = las, xlab = xlab, ylab = ylab, xlim = xlim, ylim = ylim, main = main, ...) } else { x <- calibr(irange) xlim <- range(x) plot(x, y, type = type, las = las, xlab = "Size [bp]", ylab = ylab, xlim = xlim, ylim = ylim, main = main, ...) tps <- pretty(irange) par(cex=0.5) axis(1, at = calibr(tps), tps/tscale, line = 0.4, col = grey(0.5)) par(cex=1) if(!is.null(ladder.bp)){ # Allelic ladder add data(list = allele.names,envir=environment()) tmp <- get(allele.names)[chanel] n <- length(ladder.bp) labels <- unlist(tmp) col <- rep("black", n) col[grep("\\.", labels)] <- "red" abline(v = ladder.bp, col = col) if(ladder.lab){ text(ladder.bp, y = par("usr")[4], labels, xpd = NA, pos = 3, srt = 45, col = col, cex = 0.8) } } } locpar <- par(no.readonly = TRUE) invisible(locpar) } seqinr/R/quitacnuc.R0000644000176000001440000000054210707470666014141 0ustar ripleyusers# ==> quit # <== OK acnuc socket closed # To close the socket and stop communication over it. quitacnuc <- function(socket){ writeLines("quit", socket, sep = "\n") rep <- readLines(socket, n = 1) if(rep != "OK acnuc socket stopped"){ stop("I do not understand answer for quitacnuc from server, please contact package maintainer.\n") } } seqinr/R/extract.breakpoints.R0000644000176000001440000000575412426453046016142 0ustar ripleyusersextract.breakpoints <- function(rearr.ori,type=c("atfw","atrev","gcfw","gcrev"),nbreaks,gridsize=100,it.max=500){ if (!require(segmented)){ stop("This functions requires the segmented package, but it couldn't be loaded.") } if(length(type)==0){ stop("You must specify the type of skew: atfw, atrev, gcfw or gcrev. See ?extract.breakpoints for more details.") } if(sum(!type%in%c("atfw","atrev","gcfw","gcrev"))!=0){ stop("The type of skew must be one of the following: atfw, atrev, gcfw or gcrev. See ?extract.breakpoints for more details.") } result=list() for(t in type){ if(t=="gcfw"){ print("Extracting breakpoints for GC-skew, forward-encoded genes") x.breaks=rearr.ori$meancoord.rear[rearr.ori$strand.rear=="forward"] y.breaks=cumsum(rearr.ori$gcskew.rear[rearr.ori$strand.rear=="forward"]) } if(t=="gcrev"){ print("Extracting breakpoints for GC-skew, reverse-encoded genes") x.breaks=rearr.ori$meancoord.rear[rearr.ori$strand.rear=="reverse"] y.breaks=cumsum(rearr.ori$gcskew.rear[rearr.ori$strand.rear=="reverse"]) } if(t=="atfw"){ print("Extracting breakpoints for AT-skew, forward-encoded genes") x.breaks=rearr.ori$meancoord.rear[rearr.ori$strand.rear=="forward"] y.breaks=cumsum(rearr.ori$atskew.rear[rearr.ori$strand.rear=="forward"]) } if(t=="atrev"){ print("Extracting breakpoints for AT-skew, reverse-encoded genes") x.breaks=rearr.ori$meancoord.rear[rearr.ori$strand.rear=="reverse"] y.breaks=cumsum(rearr.ori$atskew.rear[rearr.ori$strand.rear=="reverse"]) } assign("x.breaks",x.breaks,envir=.seqinrEnv) assign("y.breaks",y.breaks,envir=.seqinrEnv) rss=numeric(0) starts=list() i=0 while(i 0] seqname <- head[2] seqsize <- as.integer(head[3]) outheader <- sprintf(">%s %d bp", seqname, seqsize) confile <- file(destination.file, open="w") writeLines(outheader, confile) # # Look for sequence position: # debut <- which(substring(input,1,6)=="ORIGIN") + 1 if( length( debut ) > 1 ) stop("Multiple entries not yet implemented !") fin <- which(substring(input,1,2)=="//") - 1 if( length( fin ) > 1 ) stop("Multiple entries not yet implemented !") input <- input[debut:fin] input <- sapply(input, function(x) { return(paste(substr(x,11,20),substr(x,22,31),substr(x,33,42),substr(x,44,53), substr(x,55,64),substr(x,66,75),sep="",collapse="")) } ) names(input)<-NULL writeLines(input, confile ) close(confile) } seqinr/R/words.pos.R0000644000176000001440000000072311274331670014073 0ustar ripleyuserswords.pos <- function(pattern, text, ignore.case = FALSE, perl = TRUE, fixed = FALSE, useBytes = TRUE, ...) { position <- regexpr(pattern, text, ignore.case, perl, fixed, useBytes, ...)[1] result <- numeric(0) while(position != -1 ) { result <- c(result, position ) text <- substr(text, position + 1, nchar(text)) position <- regexpr(pattern, text, ignore.case, perl, fixed, useBytes, ...)[1] } return(cumsum(result)) } seqinr/R/dia.bactgensize.R0000644000176000001440000001357512435635117015203 0ustar ripleyusersdia.bactgensize <- function( fit = 2, p = 0.5, m1 = 2000, sd1 = 600, m2 = 4500, sd2 = 1000, p3 = 0.05, m3 = 9000, sd3 = 1000, maxgensize = 20000, source = c("ftp://pbil.univ-lyon1.fr/pub/seqinr/data/goldtable15Dec07.txt", "http://www.genomesonline.org/DBs/goldtable.txt")) { # # Use local source by default: # source <- source[1] # # Build source of data string: # if(source == "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/goldtable15Dec07.txt"){ sodtxt <- "Source of data: GOLD (Genomes OnLine Database) 15 Dec 2007" } else { sodtxt <- paste("Source of data: GOLD (Genomes OnLine Database)",date()) } # # Read data from GOLD: # alldata <- read.table(source, header = TRUE, sep = "\t", comment.char = "", quote = "") SUPERKINGDOM <- 1 # col number kingdom <- alldata[, SUPERKINGDOM] prodata <- alldata[ kingdom == "Archaea" | kingdom == "Bacteria", ] data <- prodata[, c("GENUS", "SPECIES", "SIZE.kb.")] names(data) <- c("genus", "species", "gs") data <- data[complete.cases(data), ] # # Remove data > maxgensize: # data <- data[data$gs <= maxgensize, ] # # Use Kb scale # sizeKb <- data$gs n <- length(sizeKb) # # Graphics # x <- seq( min(sizeKb), max(sizeKb), le=200) mybreaks <- seq(min(sizeKb),max(sizeKb),length=15) vscale <- diff(mybreaks)[1]*n if(fit == 0) { hst <- hist(sizeKb, freq = TRUE, breaks = mybreaks, main=paste("Genome size distribution for", n, "bacterial genomes"), xlab="Genome size [Kb]", ylab="Genome count", col="lightgrey") dst <- density(sizeKb) lines(x=dst$x, y=vscale*dst$y) legend(x = max(sizeKb)/2, y = 0.75*max(hst$counts), lty=1, "Gaussian kernel density estimation") mtext(sodtxt) } ########################################## # # Fitting a mixture of two normal distributions # ########################################### if(fit == 2) { logvraineg <- function(param, obs) { p <- param[1] m1 <- param[2] sd1 <- param[3] m2 <- param[4] sd2 <- param[5] -sum(log(p*dnorm(obs,m1,sd1)+(1-p)*dnorm(obs,m2,sd2))) } nlmres <- suppressWarnings(nlm(logvraineg, c(p, m1, sd1, m2, sd2), obs=sizeKb)) estimate <- nlmres$estimate y1 <- vscale*estimate[1]*dnorm(x, estimate[2], estimate[3]) y2 <- vscale*(1-estimate[1])*dnorm(x, estimate[4], estimate[5]) dst <- density(sizeKb) hst <- hist(sizeKb, plot = FALSE, breaks = mybreaks) ymax <- max(y1, y2, hst$counts, vscale*dst$y) hist(sizeKb, freq = TRUE, ylim=c(0,ymax), breaks = mybreaks, main=paste("Genome size distribution for", n, "bacterial genomes"), xlab="Genome size [Kb]", ylab="Genome count", col="lightgrey") lines(x, y1, col="red", lwd=2) lines(x, y2, col="blue", lwd=2) text(x = max(sizeKb)/2, y = ymax, pos=4, "Maximum likelihood estimates:") text(x = max(sizeKb)/2, y = 0.95*ymax, col="red", pos = 4, cex=1.2, substitute(hat(p)[1] == e1~~hat(mu)[1] == e2~~hat(sigma)[1] == e3, list(e1 = round(estimate[1],3), e2 = round(estimate[2],1), e3 = round(estimate[3],1)))) text(x = max(sizeKb)/2, y = 0.90*ymax, col="blue", pos = 4, cex=1.2, substitute(hat(p)[2] == q~~hat(mu)[2] == e4~~hat(sigma)[2] == e5, list(q = round(1 - estimate[1],3), e4 = round(estimate[4],1), e5 = round(estimate[5],1)))) lines(x=dst$x, y=vscale*dst$y) legend(x = max(sizeKb)/2, y = 0.75*ymax, lty=1, "Gaussian kernel density estimation") mtext(sodtxt) } ########################################## # # Fitting a mixture of three normal distributions # ########################################### if(fit == 3) { logvraineg <- function(param, obs) { p <- param[1] m1 <- param[2] sd1 <- param[3] m2 <- param[4] sd2 <- param[5] p3 <- param[6] m3 <- param[7] sd3 <- param[8] -sum(log(p*dnorm(obs,m1,sd1) +(1-p-p3)*dnorm(obs,m2,sd2) +p3*dnorm(obs,m3,sd3))) } nlmres <- suppressWarnings(nlm(logvraineg, c(p, m1, sd1, m2, sd2, p3, m3, sd3), obs=sizeKb)) estimate <- nlmres$estimate y1 <- vscale*estimate[1]*dnorm(x, estimate[2], estimate[3]) y2 <- vscale*(1-estimate[1]-estimate[6])*dnorm(x, estimate[4], estimate[5]) y3 <- vscale*estimate[6]*dnorm(x, estimate[7], estimate[8]) hst <- hist(sizeKb, plot = FALSE, breaks = mybreaks) ymax <- max(y1, y2, y3, hst$counts) hist(sizeKb, freq = TRUE, ylim=c(0,ymax), breaks = mybreaks, main=paste("Genome size distribution for", n, "bacterial genomes"), xlab="Genome size [Kb]", ylab="Genome count", col="lightgrey") lines(x, y1, col="red", lwd=2) lines(x, y2, col="blue", lwd=2) lines(x, y3, col="green3", lwd=2) text(x = max(sizeKb)/2, y = ymax, pos=4, "Maximum likelihood estimates:") text(x = max(sizeKb)/2, y = 0.95*ymax, col="red", pos = 4, cex=1.2, substitute(hat(p)[1] == e1~~hat(mu)[1] == e2~~hat(sigma)[1] == e3, list(e1 = round(estimate[1],3), e2 = round(estimate[2],1), e3 = round(estimate[3],1)))) text(x = max(sizeKb)/2, y = 0.90*ymax, col="blue", pos = 4, cex=1.2, substitute(hat(p)[2] == q~~hat(mu)[2] == e4~~hat(sigma)[2] == e5, list(q = round(1 - estimate[1]-estimate[6],3), e4 = round(estimate[4],1), e5 = round(estimate[5],1)))) text(x = max(sizeKb)/2, y = 0.85*ymax, col="green3", pos = 4, cex=1.2, substitute(hat(p)[3] == p3~~hat(mu)[3] == e7~~hat(sigma)[3] == e8, list(p3 = round(estimate[6],3), e7 = round(estimate[7],1), e8 = round(estimate[8],1)))) dst <- density(sizeKb) lines(x=dst$x, y=vscale*dst$y) legend(x = max(sizeKb)/2, y = 0.75*ymax, lty=1, "Gaussian kernel density estimation") mtext(sodtxt) } # # Return invisibly the dataset # invisible(data) } seqinr/R/extractseqs.R0000644000176000001440000000660710706621630014507 0ustar ripleyusers# Recuperation des sequences # Simon Octobre 2006 ################################################################################################### # # # extractseqs.socket # # # ################################################################################################### extractseqs <- function(listname, socket = autosocket(), format="fasta",operation="simple", feature="xx", bounds="xx", minbounds="xx",verbose = FALSE, nzlines=1000){ if (.Platform$OS.type == "windows") { stop(paste("This function is not implemented for windows.\n")) } debug<-0 if (verbose) debug <- 1 if(verbose) cat("I'm checking the arguments...\n") if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection.")) if( !is.character(listname) ) stop(paste("argument listname = ", listname, "is not a character string.")) if(verbose) cat("... and everything is OK up to now.\n") # Check arguments: # Check if format is acnuc", "fasta", or "flat" if(verbose) cat("Format is ",format,"\n") if ((format != "fasta") && (format != "flat") && (format != "acnuc")) stop(paste("argument format = ", format, "is wrong. Format should be \"fasta\", \"flat\" or \"acnuc\"! ")) # Check if operation "is simple", "translate", "fragment", "feature" or "region" if(verbose) cat("Operation is ",operation,"\n") if ((operation != "simple") && (operation != "translate") && (operation != "fragment") && (operation != "feature") && (operation != "region") ) { stop(paste("argument operation = ", operation, "is wrong. Operation should be \"simple\", \"translate\", \"fragment\", \"feature\" or \"region\"! ")) } # Check optionals if ((feature != "xx") && (verbose))cat("feature = ", feature, ".\n") if ((bounds != "xx") && (verbose)) cat("bounds = ", bounds, ".\n") if ((minbounds != "xx") && (verbose)) cat("minbounds = ", minbounds, ".\n") if ((operation == "feature") && (feature =="xx")) stop(paste("You should specify a feature!\n")) if ((operation == "fragment") && (bounds =="xx")) stop(paste("You should specify bounds!\n")) if ((operation == "region") && ((bounds =="xx") || (feature =="xx"))) stop(paste("You should specify bounds and region!\n")) # Build request: # # listname is a list lrank <- glr(listname) if(verbose) cat("The rank of the list ",listname, "is ",lrank,".\n") if (is.na(lrank)) { stop(paste("Problem in rank list!\n")) } request <- paste("extractseqs&lrank=", lrank, "&format=", format, "&operation=", operation, sep = "") if (feature != "xx") request <- paste(request,"&feature=", feature, sep = "") if (bounds != "xx") request <- paste(request,"&bounds=",bounds, sep = "") if (minbounds != "xx") request <- paste(request,"&minbounds=",minbounds, sep = "") request <- paste(request,"&zlib=T", sep = "") if(verbose) cat("request : ",request,"\n") # Write request into the socket: writeLines(request , socket, sep="\n") # Read result from server: lastres <- .Call("getzlibsock", socket, nzlines, debug,PACKAGE = "seqinr") # # Remove empty lines at the end of lastres: # return( lastres[nchar(lastres) != 0] ) } exseq <- extractseqs seqinr/R/readBins.R0000644000176000001440000000255611220366056013667 0ustar ripleyusersreadBins <- function(file, colnames = c("allele.name", "size.bp", "minus.bp", "plus.bp")){ src <- readLines(file) iPanel <- which(substr(src, start = 1, stop = 11) == "Panel Name\t") mycon <- textConnection(src[1:3]) infos <- read.table(mycon, sep = "\t", fill = TRUE, header = FALSE) close(mycon) result <- list(infos = infos) starts <- iPanel + 1 stops <- c(iPanel[-1] - 1, length(src)) for(i in seq_len(length(iPanel))){ locsrc <- src[starts[i]:stops[i]] iMark <- which(substr(locsrc, start = 1, stop = 12) == "Marker Name\t") locres <- vector(mode = "list", length = length(iMark)) locstarts <- iMark + 1 locstops <- c(iMark[-1] - 1, length(locsrc)) for(j in seq_len(length(iMark))){ mycon <- textConnection(locsrc[locstarts[j]:locstops[j]]) locres[[j]] <- read.table(mycon, sep = "", fill = TRUE) # changed colnames(locres[[j]])[1:length(colnames)] <- colnames close(mycon) names(locres)[j] <- unlist(strsplit(locsrc[iMark[j]], split = "\t"))[2] } # # Check that the number of columns is 4 for all loci: # ncols <- sapply(locres, ncol) if(any((ncols != 4))){ warning("A problem may have occur during importation") } result[[i+1]] <- locres names(result)[i+1] <- unlist(strsplit(src[iPanel[i]], split = "\t"))[2] } return(result) } seqinr/R/countsubseqs.R0000644000176000001440000000154110706621630014667 0ustar ripleyusers# ==> countsubseqs&lrank=xx # <== code=xx&count=xx # Returns the number of subsequences in list of rank lrank. # Code != 0 indicates error. countsubseqs <- function(lrank, socket = autosocket()){ # # Check argument: # if(!is.finite(lrank)) stop("wrong lrank argument") # # Build request: # request <- paste("countsubseqs&lrank=", lrank, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Check that no error is returned: # resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ warning(paste("error code from server:", answerFromServer)) return(NA) } # return(as.numeric(resitem[2])) } css <- countsubseqs seqinr/R/clientid.R0000644000176000001440000000146310755341026013731 0ustar ripleyusers# ==> clientid&id="xxxxx" # <== code=0 # Sends the server an identification of the client, typically a program name. clientid <- function(id = paste("seqinr_", packageDescription("seqinr")$Version, sep = ""), socket, verbose = FALSE){ # # Client ID definition : seqinr + package version number # (internal note: log file is: /mnt/users/ADE-User/racnuc/log) # request <- paste("clientid&id=", id, sep = "") if(verbose) cat(paste("clientid(): sending", request, "\n")) writeLines( request, socket, sep = "\n") rep <- readLines(socket, n = 1) if(verbose) cat(paste("... answer from server is:", rep, "\n")) res <- parser.socket(rep, verbose = verbose) if( res[1] != "0") { print(rep) stop("I don't know what this error code means for clientid, please contact package maintener.\n") } } seqinr/R/residuecount.R0000644000176000001440000000145710706621630014650 0ustar ripleyusers# ==> residuecount&lrank=xx # <== code=xx&count=xx # Computes the total number of residues (nucleotides or aminoacids) in # all sequences of the list of specified rank. # Code != 0 indicates error. residuecount <- function(lrank, socket = autosocket()){ # # Build request: # request <- paste("residuecount&lrank=", lrank, sep = "") writeLines(request, socket, sep = "\n") answerFromServer <- readLines(socket, n = 1) # # Check that there is an answer from server: # if(length(answerFromServer) == 0){ warning("Empty answer from server") return(NA) } # # Build result: # resitem <- parser.socket(answerFromServer) if(resitem[1] != "0"){ warning(paste("error code returned by server :", resitem[1])) return(NA) } else { return(as.numeric(resitem[2])) } } seqinr/R/consensus.R0000644000176000001440000000243612415751256014164 0ustar ripleyusersconsensus <- function(matali, method = c( "majority", "threshold", "IUPAC", "profile"), threshold = 0.60, warn.non.IUPAC = FALSE, type = c("DNA", "RNA")){ if(inherits(matali, "alignment")) matali <- as.matrix(matali) if(!is.matrix(matali)) stop("matrix or alignment object expected") if(storage.mode(matali) != "character") stop("matrix of characters expected") method <- match.arg(method) if(method == "IUPAC"){ type <- match.arg(type) res <- apply(matali, 2, bma, warn.non.IUPAC = warn.non.IUPAC, type = type) names(res) <- NULL return(res) } if(method == "majority"){ majority <- function(x) names(which.max(table(x))) res <- apply(matali, 2, majority) names(res) <- NULL return(res) } if(method == "profile"){ obsvalue <- levels(factor(matali)) nrow <- length(obsvalue) row.names(matali)<-NULL res <- apply(matali, 2, function(x) table(factor(x, levels = obsvalue))) return(res) } if(method == "threshold"){ profile <- consensus(matali, method = "profile") profile.rf <- apply(profile, 2, function(x) x/sum(x)) res <- rownames(profile.rf)[apply(profile.rf, 2, which.max)] res <- ifelse(apply(profile.rf, 2, max) >= threshold, res, NA) names(res) <- NULL return(res) } } con <- consensus seqinr/MD50000644000176000001440000004074212444333513012124 0ustar ripleyusers0284338bd54195c6789fa2ce79059dd1 *DESCRIPTION 3b70ee7c09062a379bb86898b959929e *NAMESPACE dd981a8bc19bea5e91c256f75ea8b5c9 *R/AAstat.R 7175d6708d717dca65176df83a41f9bd *R/ClassSeq.R 1e91dc3520dc9fd00e6e78da768c4b2e *R/GC.R 70a6096826f0afd764d1983e182ecbca *R/PI.R 053a0187d0fb50f067967b45e2cbbcac *R/R_socket.R d0fddeea0d82c2ce6be501fb845e68db *R/acnucclose.R b899f1793668edaf00f2fc34bf3f8156 *R/acnucopen.R 6c231aebdc9d78beed8b128ca9497b3a *R/al2bp.R f1c181a43cd515afc40912c23d57b48f *R/allistranks.R e8ca816b2688ccdff894fe7484a5219b *R/amb.R dcb9fdf6787b486e715eb32fcad782f9 *R/as.alignment.R 23dd9489492a03efabb30f8b942db543 *R/as.matrix.alignment.R ef4ecfea9f3ba3e7fa6d4d22d3fc5c87 *R/autosocket.R 79270da6013f8c0da557d49df4c6fb93 *R/baselineabif.R 5703b2a2d40aff5cdb4fe98e03b1806c *R/bma.R e8d88ddfefb2671a94f95c53e8c22c57 *R/cai.R 5f15ab5f63f71b752039ca1ced27a28b *R/choosebank.R 812ffd4010c7035837d2fd0d4db290f5 *R/circle.R d8fab11dbb02bd793828704fb6903c51 *R/clfcd.R b25f52a33ccb2f6f66fcb30e1e74680e *R/clientid.R 00bc719de0ccf65560a86ec794b760fe *R/closebank.R f6f6dc5c585d71ee9e664db3d9e9453a *R/col2alpha.R 30186c71eeb99c6ab29d1104581701d4 *R/comp.R 26ff4107c8fc92f96020fc8551688aa9 *R/consensus.R 70903c3ea1da6bcb6d2b0b77960f86a7 *R/count.R 3d5c97c10129de81da8b0b7c8006bdf3 *R/countfreelists.R e354a7785d3f515d4311ddf75b54fc71 *R/countsubseqs.R 170a8077be5e66cd08ca1fba10209d24 *R/db.growth.R 1394355049f1bb135f481a50508994d5 *R/dia.bactgensize.R d47075fe840da6f000af83ece511af2c *R/dist.alignment.R 3dc6f329eea0d8db614bfb6ded99c056 *R/dotPlot.R e7c8d78234ac7a398766943c2b179d91 *R/draw.oriloc.R c5d3818fb836288a75c41ce6dd7c19e0 *R/draw.rearranged.oriloc.R 4f7b1e44bac0700d4d313876c1f19639 *R/draw.recstat.R 84a41f6ea4e2a1f56e71219479d1bbbb *R/extract.breakpoints.R f63369317124465d1398876fb16db936 *R/extractseqs.R 7cbf5e8324af34371d3917496bc23dfa *R/fastacc.R 2eb523fd0fad59f6c362a292325aa2e1 *R/gb2fasta.R 2d5372f6f01f90ea00be0599d686cfbc *R/gbk2g2.R 5c25127bfa87a9c0ae5cc0303e2d5760 *R/gbk2g2.euk.R 56a71d800186da36f5817641353d1bb3 *R/get.ncbi.R 97394927a67bc9051c6c2d897e2b4c8c *R/getAnnot.R 06ee37a0f5cdfc6ac972635c90a4ca2d *R/getFrag.R 6f45dd26e77c33f1a68b30394df40537 *R/getKeyword.R 23fce6b1210002e46135ee9ee22097ac *R/getLength.R bd6ff768d092ad6573c2b719c7d2399d *R/getLocation.R c4b6fc3ccb3bcdec62bdebced9263660 *R/getName.R 0a36d73d9d155c5b7a3704ab73bee883 *R/getSequence.R 5f3525ffdeb401675378531efa06094b *R/getTrans.R b582f5a822b09825f9f4dabc2e220cc4 *R/getType.R 77de234689104f105b66bdaf4ebbd886 *R/getlistrank.R 31a6e8b2f9594596d677b57f3906b677 *R/getliststate.R e2af7c88e0e7c42cbb6e6208aa6364d8 *R/gfrag.R 1b9650fd96f5cbce29b1b79015ad99c5 *R/ghelp.R ade42b1d2a6034de880e6676cf1f5da5 *R/isenum.R 22d9950d657c07d38f245a908f615150 *R/kaks.R 106b5a8d04534e8441081bdadc23959f *R/knowndbs.R 3ea277d7f032f1d31004cda14e46fbab *R/lseqinr.R 6e4f1e677e5d870e8c5b3bf57fa25b91 *R/modifylist.R a3da681f32a58026a42e57d6a5baa03c *R/move.R cad4c19aacedadf9dd534ea62149a4d1 *R/oriloc.R 94847d1d09e2ea265da9f736f732487a *R/parser.socket.R c0fd92be7137f64874e66a0d3e3f713d *R/peakabif.R daadbfebc84beef3d1e3fa1b511d1d82 *R/permutation.R 501e668ee6fcdaa032058914567191d4 *R/plot.SeqAcnucWeb.R 2869a2eb6a2c8a3dcf8d70cdb136d6c4 *R/plotPanels.R 8d5d7797b913d7eb039c5e2a125ff5ec *R/plotabif.R edc4cc62d55ced70244d2db9bb71b815 *R/plotladder.R ae47cf06593fc89cb8a105dfb69b6e93 *R/pmw.R 6e740c9d557d3f42fd31ce5ba3067a9c *R/prepgetannots.R 0e735cb30f6e370e4e494ad9dcba14d1 *R/prettyseq.R cb9f8a17e0bdafa1fe7b8a4584eb8ab0 *R/query.r 126d5ade572e95511b2b66b7189807d9 *R/quitacnuc.R 5c829cc5536f04c051d686cf1b553859 *R/read.abif.R cd01848c36d492f00c5d9d9235297ce5 *R/read.alignment.R 74dc8eccdaa92471db377908c17c45e8 *R/read.fasta.R 8a46bbfddc96af2244eb21d7fa7157b6 *R/readBins.R 7fa1d45bb89c1229cd494c007ce94d5f *R/readPanels.R 5d684c3f0beda26fa6e1d9bfd063680d *R/readfirstrec.R 12b4af8afe3c4af7b65070201db7082c *R/readsmj.R a66ca45fe3eee9933fde7ba89d3302dd *R/rearranged.oriloc.R 98f98cdd0cb535cce91bad01c47192d0 *R/recstat.R e27d133de947ce3880ed4e300c676a84 *R/residuecount.R ca1c94e97783b4a68a30df6ab1cad560 *R/reverse.align.R 6b928f22960b6446a41f5b305555979c *R/rho.R 8f025ccd0924af255f041a917f7a3787 *R/rot13.R 50393c64f02c89723db803c22366329f *R/s2n.R be01cbe2fc2ee4b08079bc7b8b396e01 *R/savelist.R 848e8f8bd67e29e39e1e46a026d003b4 *R/setlistname.R 29e473837b15cb94cb62419eab7a93e5 *R/splitseq.R b081eb607b9782f99653e50cfb1e9d3f *R/stresc.R b06cb8115a0f2f568cbc8946908a52ee *R/stutterabif.R 46ac2ee30965434e3687b259691a69cd *R/swap.R 8d839f703e9e1acdb5457b7797b935df *R/synonymous.R 478b66c88728d9d18b394b4868b00f58 *R/tablecode.R 0134ec6749f84bc8aa7596850f784316 *R/test.co.recstat.R ab86b9a3f2568f102986b6fb93a545bc *R/test.li.recstat.R a3350838cdb114e256e2441990c0dfa1 *R/translate.R db37533bde4cb23943363ec1649c395b *R/trimSpace.R 30f245251279c3e71f13f4e96ef30079 *R/uco.R 3c550b2b0e6b7f012c5884ec97a5f2b3 *R/util.R 5c6a726318b034002ec8478005d0ec54 *R/where.is.this.acc.R 4e4e196dab3926727e78e6af44616ebd *R/words.R a56eb0ff10c2eb36431885fa78e0fdb8 *R/words.pos.R 901a3e25d99b926ba56d0939b769cc83 *R/write.fasta.R 6daeda4870b681a9def5e87b0c2a692c *R/zscore.R ea19296be5d7a3f1b140870e3b4a15b8 *data/AnoukResult.RData eb878a6e6b9d14b71e8087bfa8b48e83 *data/ECH.RData de9290e433b88b3f3e6bb3bd097ce6f7 *data/EXP.RData 30ff55cd0ba2eb880bf24f9f18dd3c2f *data/JLO.RData 8afb67475921ec3e19421e8b6ec14fad *data/SEQINR.UTIL.RData 84c523c60ce418ed92be16843bfcee3e *data/aacost.RData 182d49b83058fec4b2e598bc67f8aab8 *data/aaindex.RData 5067de8a65ef14192175adafacd09f10 *data/caitab.RData 1cf15d14086c5ec3902588566991a3c2 *data/chargaff.RData 404c57c07d51d97f299311bdad544f52 *data/clustal.RData 806f1a3796b1e80cb87cb5b538b2586f *data/datalist fd618179e4a255d050f11b3a0d26b071 *data/dinucl.RData 419e3ac8e03a231b8a3deee6ee7304c1 *data/ec999.RData f7ea1c805778ce74ca2b4e71a51c0517 *data/fasta.RData b9b7156bc1dcbba98652c0d8059ad502 *data/gs500liz.RData e0c8f373f9c219734d79f691690cfbf4 *data/identifiler.RData da630203c264682843df0ac6f4990682 *data/m16j.RData 4c634963b683e1c482c290246bb653e1 *data/mase.RData 0685085138ccf0ea90b8f1f99e235879 *data/msf.RData c364c99780adc69aacf6e3c770732e74 *data/pK.RData 9dc0cfe5d45504d6118b28060485473b *data/phylip.RData 323119cef9db1aa165131e70384d4c9c *data/prochlo.RData 790c1b2b350ac2bcec62c3d03978fdf2 *data/revaligntest.RData 8afb67475921ec3e19421e8b6ec14fad *data/sysdata.rda 1e653f58b55ccbdafb4e2025c1ceb4e5 *data/toyaa.RData 84dc39c9170f72a36c5800b04bef730e *data/toycodon.RData 9b18a34616f146e7445606ca3828a41c *data/waterabs.RData 6fc8e94f6a353747a8523c6306abe96e *inst/CITATION 79179e6254bc1f46eb07303d85aa084e *inst/abif/1_0000206138_C01_005.fsa 45ad0f3fea5bf2143fc74a810a519945 *inst/abif/1_FAC321_0000205983_B02_004.fsa 831e4bb52c0b2ab78a9246dca7e67d58 *inst/abif/2_0000206138_C01_005.fsa 88860b1ef18d69b54837a85b916ae697 *inst/abif/2_FAC321_0000205983_B02_004.fsa a16fac50a201d4b38ec3204c8737df45 *inst/abif/AmpFLSTR_Bins_v1.txt 4e0288d7d9d76672c7ff8ff0d05fe0ad *inst/abif/AmpFLSTR_Panels_v1.txt 008e815eb4a7a94a46461d265c64ae78 *inst/abif/NGM_Bins.txt 9f64398f12a862adadc4ddea9374e5bf *inst/abif/NGM_Pa.txt 48281c9d741c32bfddc8ae63aefc8df0 *inst/abif/Promega_Bins_v1.txt 13d0415163c2b968875073df7abecc06 *inst/abif/Promega_Panels_v1.txt 118cf8e86dbab633734283bb8968aebd *inst/abif/Prototype_PowerPlex_EP01_Bins.txt 480c7bcaed36937e62d611aaea8845e7 *inst/abif/Prototype_PowerPlex_EP01_Pa.txt 115afc50e7118a18a18bb7078eb22e53 *inst/abif/samplefsa2ps.fsa a162dc1c3b4461c33c1644320e84cea5 *inst/sequences/Anouk.fasta b0706a24d5abe1df7af2c8038ca7bebb *inst/sequences/DarrenObbard.fasta 76b03fc33829fb97bd5d1a04d283a6ab *inst/sequences/ECOUNC.fsa b3d34cd481e4f6bf843b78c5e17c079f *inst/sequences/UBIQUITIN.mase ca11c1c6cecbb254b394ee24bff10d17 *inst/sequences/ame1.gbk ce707593c6e9f43ac3f77f2276b2fc73 *inst/sequences/bb.acc 3ef93a6e32d1929ff3ee0abdb5ac96dd *inst/sequences/bb.kwd 8eb44c1f8c1e1b2d40bab5106ec657c3 *inst/sequences/bb.mne cd5b7b52fe1bd7a49107cfe7a4fa1311 *inst/sequences/bb.sp 48ba932397d95293cf4b497773e83723 *inst/sequences/bordetella.fasta e3ad28db2c00b341c41a805cadf73f9a *inst/sequences/bordetella.pep.aln d0ff0477e562d8aa3c0979a4a33a2226 *inst/sequences/ecolicgpe5.fasta 6dc7e60dac18296f9e1d719f39f03b84 *inst/sequences/gopher.fasta 1d5bd50d5ff345e08cb37a8689303e0c *inst/sequences/gopher.names cf31afbaea651a30e8f2b530483830bb *inst/sequences/hannah.txt e03266d6ed9efa1dad9755a88e024565 *inst/sequences/humanMito.fasta c56d8223a10995c70a6f965e46a06b44 *inst/sequences/input.dat f82ee7968ac65ab690bdc1cfd10f055d *inst/sequences/input.out 1b714fae98378e5142d7ec658127ef36 *inst/sequences/legacy.fasta d84b82c9cbc37133cb4d1f4e3c651878 *inst/sequences/louse.fasta 49138a950cfee1b2ebce2f95e6c4569c *inst/sequences/louse.names 065911f125ae3362e8f96bb2a00b8cd0 *inst/sequences/malM.fasta 7e22ca9211af371ebdbc483acec22bb7 *inst/sequences/ortho.fasta a36f3e67af4df89313472eab72315b4d *inst/sequences/scuco.txt 1e41a172ef6a1eb538aa4471da6d2ac9 *inst/sequences/seqAA.fasta 27dd64cbdcdc43cc06b8c7cfdad2c3fb *inst/sequences/smallAA.fasta 717a230459ee63b4bf752db0af85ee7d *inst/sequences/someORF.fsa 05d2cec3375c0599b1872a0697f40b91 *inst/sequences/test.aln b8cf915491772d56bfd779c64156c424 *inst/sequences/test.mase 2dc0b9b12f1f303cfb7cb6e88418718a *inst/sequences/test.msf e775cbe3a62d9495d643758a7a43c9ab *inst/sequences/test.phylip 6f9086a9915fdf9a2dc6ccb05b02cb08 *man/AAstat.Rd 480f6af65151a2ec01a12b6c51713ef6 *man/AnoukResult.Rd 8d735c4f859717374f61bd4b8094060c *man/ECH.Rd e1a01e448a737c7e48b91ebe2fa5d163 *man/EXP.Rd 3282dc01e3f5fe8721d47c978a2faf73 *man/GC.Rd aeae19d233c41f0aab08ffa706febc9e *man/JLO.Rd 27c294bdb4593dfdd3840105562812f4 *man/SEQINR.UTIL.Rd c708db824bead2b4fb4cdcfbbce7ba3d *man/SeqAcnucWeb.Rd b8ed86627e21a0cee0e208bdc09d8f62 *man/SeqFastaAA.Rd 78e79e0e28cd1c507275a270f2a877e4 *man/SeqFastadna.Rd 6bb67ff63884d92fe7e3913f361ef8b2 *man/SeqFrag.Rd fc74c74272afde3e5eb7d88be76f7e35 *man/a.Rd b90f898cebb99c637c980184c40c5cc9 *man/aaa.Rd 3c1e97f7a02f13dc36bce3706b24d181 *man/aacost.Rd cf17c6b4556bffdbc7b2cc56bf13298b *man/aaindex.Rd 9182b31c2c6776b7847e7fc76f6708eb *man/acnucopen.Rd 4472367be41364ac125ff53890311842 *man/al2bp.Rd 1f44d669a577c86facd5dee47c80dfb9 *man/alllistranks.Rd fb21cd30626490caa2a88bb9c46edeea *man/amb.Rd fd9d54e3baa8f42991dfc2d10a6fae64 *man/as.alignment.Rd 84e9ef1f9c61bc160a3e4a369879bfd7 *man/as.matrix.alignment.Rd 1dd3124c2c2563b8f1ea29c59c7f3ced *man/autosocket.Rd 441038ae274e763b08fb919baff18c33 *man/baselineabif.Rd 91b04fac048bec14ba53bd5b372617b4 *man/bma.Rd 4d2ec38861c67b4f63b5aa5e6073e955 *man/c2s.Rd fd3a107f68cc6649b15a7d32e5e3745a *man/cai.Rd 46074b10c09034f3d482fbe99217d9fb *man/caitab.Rd f033c4aa2b30b1935eca0d703a72bd8a *man/chargaff.Rd 6b5aa64a4f5ab2c2b415befeb9385871 *man/choosebank.Rd fd469bea7adfc60d7730d80af5c51db8 *man/circle.Rd ab61ec20db72ccfaa6cdc78e3bb04ed4 *man/closebank.Rd ad182b206f059b71eafd4ebf8d5404d4 *man/clustal.Rd 06bae4306ad66fb9d4d99098468345da *man/col2alpha.Rd 1bb9fcff2735a69822e1f4b18008c78b *man/comp.Rd 611404a93fea635bc9b3d4b5df43c0f8 *man/computePI.Rd 2a869577f0b514b52637e852a67231f5 *man/consensus.Rd bff1842775a06000a7ae886d5e1a37b2 *man/count.Rd d9b68ec315127a2da0d6e1560df6e6ac *man/countfreelists.Rd df6324f44d829583ddc7f78170388fd6 *man/countsubseqs.Rd 1c6ca25618518a6ad82ba7cfcb52f90c *man/crelistfromclientdata.Rd 4d917560c83082fb6e725bf707021c20 *man/dia.bactgensize.Rd 9463b95f58a2e0eae9c9d09f692fc607 *man/dinucl.Rd a4db1548153f6b19a52e23ab7f7159eb *man/dist.alignment.Rd fb1715453475d9bc554fa3803e9d1ed9 *man/dotPlot.Rd 80611705f4c883a67f55ebf519413ca2 *man/dotchart.uco.Rd fa6e805e23060336b933bd4434d8b41a *man/draw.oriloc.Rd 36245e4af5b66f5335b6ddcd233bf376 *man/draw.rearranged.oriloc.Rd 5a566a4c5cb827b96e102c235327a46e *man/draw.recstat.Rd 0ce60aa3b99eb80027484357b18d2abc *man/ec999.Rd 2b6e24afa9d23b350ae08a55082e4c72 *man/extract.breakpoints.Rd ebf4ec22c0c66dc4dd9ed83343efa744 *man/extractseqs.Rd b6581a8afb3525c5b2ad07c2afa0bb7d *man/fasta.Rd 7db176b3b133d588023950b6a12577dc *man/fastacc.Rd a62a4b1b55b7a02fcd9772f105e53cbd *man/gb2fasta.Rd 98bb5900bd6a01d71add8db5655ce889 *man/gbk2g2.Rd 6f51ac2f7a7591fa2020f84cf82e441a *man/gbk2g2.euk.Rd abfa61e91573ff04886dc93f391687fe *man/get.db.growth.Rd 0f896961975c19ead231577e8dce682f *man/get.ncbi.Rd 4f78a407bf6763fdb3a78759782938b8 *man/getAnnot.Rd 2cb1cad5cc66a1f6403013081fda9853 *man/getFrag.Rd 614d9645dd761e7cf5d7ad52498b2bd1 *man/getKeyword.Rd bc5ac32f2049e21757372cc226f7a8ea *man/getLength.Rd 0a6036f14be43d03cc0202c9973073d2 *man/getLocation.Rd d6b3e3ae0b244a5d5597fa43434f7222 *man/getName.Rd 8b12df9e7ab6a790de6e99fe37c04f5a *man/getSequence.Rd bd4f4db23338b811c39f183e7d71fe4a *man/getTrans.Rd 4542fd091ddabc2a70a703666f240fa9 *man/getType.Rd 624593ac4c8e9654472efd9cf316bcec *man/getlistrank.Rd 0aa8dd4dedc05bfeda4207c3f65969bf *man/getliststate.Rd a97ffc1042ef1854f3d0511fbbfea036 *man/gfrag.Rd adbe1f956bc310705ce47c66800f5566 *man/ghelp.Rd 79f3dc6846a328f749391c2333b840c5 *man/gs500liz.Rd 9e88c23480ad91dc30ad2e5f4a452932 *man/identifiler.Rd f971be72cb4aed776332c6b0db5f3636 *man/isenum.Rd 5327fa2c316dde7886bc41d5e3302c0d *man/kaks.Rd b6e705cc47dc97c778480e1bbce35313 *man/knowndbs.Rd 1cf0950845a92453b5da7de4bc4f78cc *man/lseqinr.Rd ec975d166e884539bc374d487c3e40da *man/m16j.Rd 0c91047619417b66e80545dd84dafb09 *man/mase.Rd b68373d0d47d2754a46f3146727ce4c1 *man/modifylist.Rd 96840e8d8498949fabd1ea53a00bb162 *man/move.Rd d28add4f994e4b9b07aa0d2322ec555f *man/msf.Rd cf7b592ad775090381c3527efc014b43 *man/n2s.Rd 9e83472fad2ce526e46f4f2cffb42d00 *man/oriloc.Rd 5c54fd8ebab5c024c5ae36628dca7397 *man/pK.Rd 56afbbbf5ea360c7f53d43eba732aee8 *man/parser.socket.Rd 723e1c897ddc1cd527e4b68e72b61d16 *man/peakabif.Rd 57eee78c5fd320f301f4cbb0133bf05e *man/permutation.Rd dc0960ab515405c7b1d8022b4c614e0e *man/phylip.Rd 0187cc735253209f3ef5e3eb30039bf4 *man/plot.SeqAcnucWeb.Rd a62959a08a07e71f2206b6097702a440 *man/plotPanels.Rd a8725647a735b22aa4f194f6aeed868f *man/plotabif.Rd 7d9873da33370d083c9d39329627ae56 *man/plotladder.Rd 3726469e6fafb25587f3a273ef82c682 *man/pmw.Rd e8c7fe175de262417d599ef64bd7320e *man/prepgatannots.Rd 3cc74a3deba2333027e3a6e76e765b8c *man/prettyseq.Rd c369db698c76ac28ed5787faebb47387 *man/print.SeqAcnucWeb.Rd 07d15e5a23f18d903a96302cfbba940f *man/print.qaw.Rd 1e9a408d0b57e4c792e25d9a9e7f83ab *man/prochlo.Rd cabf1207c01873b8e183ac987b97814c *man/query.Rd 8f1e254ca171e28fdd2f88c9b3d4c417 *man/read.abif.Rd e60f3b6ce15d0775f8e7232b4b2b4661 *man/read.alignment.Rd 603d69d89ce4b08c3b80333ce3dc8e37 *man/read.fasta.Rd a5a96ae19a122c96b13cf9d32fc15656 *man/readBins.Rd 00603d098cc42569cb59dcbbf1b3d4a0 *man/readPanels.Rd f29e9666c2b171edce4cb8f37928714e *man/readfirstrec.Rd 2a9a26a431ed925794aa32a9d58cbac6 *man/readsmj.Rd 9bccac2c92093911f2df2143819ad260 *man/rearranged.oriloc.Rd 35f7a0e236ef5c0dfb3dadf93e512faf *man/recstat.Rd c0336f89d04f1a07bb374f546388fe7e *man/residuecount.Rd 717eed2b3208488bd82c4686b52e9a05 *man/revaligntest.Rd 8a3170d2a4e4ca46568d22083b451753 *man/reverse.align.Rd 389b1c787640bcb2aade946807fe85f4 *man/rot13.Rd 6984d8d1389c84df58e7f16e3d390e2a *man/s2c.Rd b877e6e8b74fada866263ac3dc64d264 *man/s2n.Rd 268da625b437e048757eb23e42b82373 *man/savelist.Rd 97f6f22c0e5f7a9db13f3917ebe0e9f6 *man/seqinr-package.Rd 40e16842696f6235abced17e3da180fb *man/setlistname.Rd 4ef398ccc57fc621ef989f97a85caf92 *man/splitseq.Rd b4404410925156b19be401751a1be19c *man/stresc.Rd 12718c93289416af2258e39b8ed9908a *man/stutterabif.Rd bad76b6f273f8f9ea045ac30b159aa41 *man/swap.Rd 8d4dde1af82863dc0abc410466c8b8af *man/syncodons.Rd 11f34d76bf0bc50ae5aedbabf0fb9f5d *man/synsequence.Rd e68a43f724e6bf93e483ec061a7c395a *man/tablecode.Rd bc8924924a1edbe467e8d06f452e280e *man/test.co.recstat.Rd 6326515536940287705bdcdef8b220e1 *man/test.li.recstat.Rd 9c43436214e29c3b5ef859416f791904 *man/toyaa.Rd fcf2532a41bee2ffd4f24dfb8b11ecf5 *man/toycodon.Rd 920c8a411b269038811a7265c6d3ef74 *man/translate.Rd 42024df78f45d2b2d5a97d3faec0767b *man/trimSpace.Rd 7549c17f6f10a6df8f020e215106c0b6 *man/uco.Rd f998f4aae019c97b1837b3128a390fda *man/ucoweight.Rd fe0eb6d96c5fd119f579d165d5af1016 *man/waterabs.Rd d17814470ea1fa9b3d58fcfcc8e5a04e *man/where.is.this.acc.Rd c38e6a5af801c159b1eabb2f419faed1 *man/words.Rd 4821ea68ec36d770cd8137680afdc308 *man/words.pos.Rd f3a59385a2d8ed31118886fd21d525cc *man/write.fasta.Rd d91f7abcbdbafd5d30fe3decb07faf4e *man/zscore.Rd 45e4c32aff3ab2954e3835005b4c38e6 *src/Makevars cb407d8c24b063ecc44bb3bb49ab6216 *src/Makevars.win e9253e4b2d201556d5ea77768e3690a6 *src/alignment.c 72d7cf9e818c492b578f390f794f10f7 *src/alignment.h 320b43b2d16f79ed0b12b471bad1c13c *src/fastacc.c 1744dc044d6e64d612b3a003db780cc8 *src/getzlibsock.c f6eb92933aec8516b6fa19a6db75747c *src/kaks.c 3604f3611d34f9864f85ed904739cbe3 *src/util.c 833983b499aae68695d2852d4373abe4 *src/zsockr.c seqinr/DESCRIPTION0000755000176000001440000000167312444333513013325 0ustar ripleyusersPackage: seqinr Version: 3.1-3 Date: 2014-12-04 Title: Biological Sequences Retrieval and Analysis Author: Delphine Charif and Jean R. Lobry and Anamaria Necsulea and Leonor Palmeira and Simon Penel and Guy Perriere Maintainer: Simon Penel Depends: ade4, R (>= 2.10.0) Suggests: segmented Description: Exploratory data analysis and data visualization for biological sequence (DNA and protein) data. Includes also utilities for sequence data management under the ACNUC system. License: GPL (>= 2) SystemRequirements: zlib headers and library. URL: http://seqinr.r-forge.r-project.org/, Mailing list: http://r-forge.r-project.org/mail/?group_id=220 ZipData: no LazyData: no Packaged: 2014-12-04 17:05:10 UTC; rforge NeedsCompilation: yes Repository: CRAN Date/Publication: 2014-12-17 18:03:07 Repository/R-Forge/Project: seqinr Repository/R-Forge/Revision: 1835 Repository/R-Forge/DateTimeStamp: 2014-12-04 17:02:49 seqinr/man/0000755000176000001440000000000012440112026012346 5ustar ripleyusersseqinr/man/mase.Rd0000644000176000001440000000104011435210067013564 0ustar ripleyusers\name{mase} \docType{data} \alias{mase} \title{Example of results obtained after a call to read.alignment} \description{This data set gives an example of a protein alignment obtained after a call to the function read.alignment on an alignment file in "mase" format.} \usage{mase} \format{A List of class alignment} \source{http://www.clustal.org/} \references{Faullcner.D.V. and Jurka,J. (1988) \emph{Multiple sequences alignment editor(MASE).} Trends Biochem. Sa., 13, 321-322.} \keyword{datasets} seqinr/man/aaa.Rd0000644000176000001440000000221010606437570013372 0ustar ripleyusers\name{aaa} \alias{aaa} \title{Converts amino-acid one-letter code into the three-letter one} \description{ This is a vectorized function to convert one-letter amino-acid code into the three-letter one, for instance "A" into "Ala".} \usage{ aaa(aa) } \arguments{ \item{aa}{ A vector of single characters.} } \details{ Allowed character values for \code{aa} are given by \code{a()}. All other values will generate a warning and return NA. Called without arguments, \code{aaa()} returns the list of all possible output values.} \value{ A vector of char string. All strings are 3 chars long. } \references{ The IUPAC one-letter code for aminoacids is described at: \url{http://www.chem.qmul.ac.uk/iupac/AminoAcid/} \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{\code{\link{a}}, \code{\link{translate}} } \examples{ # # Show all possible input values: # a() # # Convert them in one letter-code: # aaa(a()) # # Check consistency of results: # stopifnot(a(aaa(a())) == a()) # # Show what happens with non-allowed values: # aaa("Z") # should be NA and a warning is generated } \keyword{ utilities } seqinr/man/getFrag.Rd0000644000176000001440000000422710731231666014236 0ustar ripleyusers\name{getFrag} \alias{getFrag} \alias{getFrag.default} \alias{getFrag.list} \alias{getFrag.character} \alias{getFrag.SeqFrag} \alias{getFrag.SeqAcnucWeb} \alias{getFrag.SeqFastadna} \alias{getFrag.SeqFastaAA} \alias{getFrag.qaw} \alias{getFrag.logical} \title{Generic function to extract sequence fragments} \description{ getFrag is used to extract the sequence fragment starting at the \code{begin} position and ending at the \code{end} position. } \usage{ getFrag(object, begin, end, ...) \method{getFrag}{SeqAcnucWeb}(object, begin, end, ..., socket = autosocket(), name = getName(object)) \method{getFrag}{SeqFastadna}(object, begin, end, ..., name = getName(object)) \method{getFrag}{SeqFastaAA}(object, begin, end, ..., name = getName(object)) \method{getFrag}{SeqFrag}(object, begin, end, ..., name = getName(object)) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}} or \code{\link{SeqFastadna}}, or \code{\link{SeqFastaAA}} or \code{\link{SeqFrag}} or a list of these objects } \item{begin}{ First position of the fragment to extract. This position is included. Numerotation starts at 1.} \item{end}{ Last position of the fragment to extract. This position is included. } \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database by \code{\link{choosebank}}).} \item{name}{the sequence name} \item{...}{further arguments passed to or from other methods} } \value{ \code{getFrag} returns an object of class \code{\link{SeqFrag}}. } \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}}, \code{\link{SeqFastadna}}, \code{\link{SeqFastaAA}}, \code{\link{SeqFrag}} } \examples{ # # List all available methods for getFrag generic function: # methods(getFrag) # # Example with a DNA sequence from a FASTA file: # dnafile <- system.file("sequences/malM.fasta", package = "seqinr") sfdna <- read.fasta(file = dnafile) myfrag <- getFrag(sfdna[[1]], begin = 1, end = 10) stopifnot(getSequence(myfrag, as.string = TRUE) == "atgaaaatga") } \keyword{ utilities } seqinr/man/cai.Rd0000644000176000001440000000664111022246252013404 0ustar ripleyusers\name{cai} \alias{cai} \title{Codon Adaptation Index} \description{ The Codon Adaptation Index (Sharp and Li 1987) is the most popular index of gene expressivity with about 1000 citations 20 years after its publication. Its values range from 0 (low) to 1 (high). The implementation here is intended to work exactly as in the program \code{codonW} written by by John Peden during his PhD thesis under the supervision of P.M. Sharp. } \usage{ cai(seq, w, numcode = 1, zero.threshold = 0.0001, zero.to = 0.01) } \arguments{ \item{seq}{a coding sequence as a vector of single characters} \item{w}{a vector for the relative adaptiveness of each codon} \item{numcode}{the genetic code number as in \code{\link{translate}}} \item{zero.threshold}{a value in \code{w} below this threshold is considered as zero} \item{zero.to}{a value considered as zero in \code{w} is forced to this value. The default is from Bulmer (1988).} } \details{ Adapted from the documentation of the CAI function in the program \code{codonW} writen by John Peden: CAI is a measurement of the relative adaptiveness of the codon usage of a gene towards the codon usage of highly expressed genes. The relative adaptiveness (w) of each codon is the ratio of the usage of each codon, to that of the most abundant codon for the same amino acid. The CAI index is defined as the geometric mean of these relative adaptiveness values. Non-synonymous codons and termination codons (genetic code dependent) are excluded. To aid computation, the CAI is calculated as using a natural log summation, To prevent a codon having a relative adaptiveness value of zero, which could result in a CAI of zero; these codons have fitness of zero (<.0001) are adjusted to 0.01. } \value{ A single numerical value for the CAI. } \references{ Sharp, P.M., Li, W.-H. (1987) The codon adaptation index - a measure of directional synonymous codon usage bias, and its potential applications. \emph{Nucleic Acids Research}, \bold{15}:1281-1295. Bulmer, M. (1988). Are codon usage patterns in unicellular organisms determined by selection-mutation balance. \emph{Journal of Evolutionary Biology}, \bold{1}:15-26. Peden, J.F. (1999) Analysis of codon usage. PhD Thesis, University of Nottingham, UK. The program \code{codonW} used here for comparison is available at \url{http://codonw.sourceforge.net/} under a GPL licence. \code{citation("seqinr")}. } \seealso{ \code{\link{caitab}} for some \code{w} values from \code{codonW}. \code{\link{uco}} for codon usage tabulation. } \author{J.R. Lobry} \examples{ # # How to reproduce the results obtained with the C program codonW # version 1.4.4 writen by John Peden. We use here the "input.dat" # test file from codonW (Saccharomyces cerevisiae). # inputdatfile <- system.file("sequences/input.dat", package = "seqinr") input <- read.fasta(file = inputdatfile) # read the FASTA file # # Import results obtained with codonW # scucofile <- system.file("sequences/scuco.txt", package = "seqinr") scuco.res <- read.table(scucofile, header = TRUE) # read codonW result file # # Use w for Saccharomyces cerevisiae # data(caitab) w <- caitab$sc # # Compute CAI and compare results: # cai.res <- sapply(input, cai, w = w) plot(cai.res, scuco.res$CAI, main = "Comparison of seqinR and codonW results", xlab = "CAI from seqinR", ylab = "CAI from codonW", las = 1) abline(c(0,1)) } seqinr/man/pmw.Rd0000644000176000001440000000575510451750146013467 0ustar ripleyusers\name{pmw} \alias{pmw} \title{ Protein Molecular Weight } \description{ With default parameter values, returns the apparent molecular weight of one mole (6.0221415 e+23) of the input protein expressed in gram at see level on Earth with terrestrial isotopic composition. } \usage{ pmw(seqaa, Ar = c(C = 12.0107, H = 1.00794, O = 15.9994, N = 14.0067, P = 30.973762, S = 32.065), gravity = 9.81, unit = "gram", checkseqaa = TRUE) } \arguments{ \item{seqaa}{ a protein sequence as a vector of single chars. Allowed values are "*ACDEFGHIKLMNPQRSTVWY", non allowed values are ignored. } \item{Ar}{ a named vector for the mean relative atomic masses of CHONPS atoms. Defaults values are from to the natural terrestrial sources according to the 43rd IUPAC General Assembly in Beijing, China in August 2005 (See \url{http://www.iupac.org/reports/periodic_table/} for updates).} \item{gravity}{ gravitational field constant in standard units. Defaults to 9.81 m/s2, that is to the average value at see level on Earth. Negative values are not allowed. } \item{unit}{ a string that could be "gram" to get the result in grams (1 g = 0.001 kg) or "N" to get the result in Newton units (1 N = 1 kg.m/s2). } \item{checkseqaa}{ if TRUE \code{pmw()} warns if a non-allowed character in seqaa is found.} } \details{ \describe{ \item{Algorithm}{Computing the molecular mass of a protein is close to a linear form on amino-acid frequencies, but not exactly since we have to remove n - 1 water molecules for peptidic bound formation.} \item{Cysteine}{All cysteines are supposed to be in reduced (-SH) form.} \item{Methionine}{All methionines are supposed to be not oxidized.} \item{Modifications}{No post-traductional modifications (such as phosphorylations) are taken into account.} \item{Rare}{Rare amino-acids (pyrolysine and selenocysteine) are not handled.} \item{Warning}{Do not use defaults values for Ar to compute the molecular mass of alien's proteins: the isotopic composition for CHONPS atoms could be different from terrestrial data in a xenobiotic context. Some aliens are easily offended, make sure not to initiate one more galactic war by repporting wrong results. } } } \value{ The protein molecular weight as a single numeric value. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{s2c}}, \code{\link{c2s}}, \code{\link{aaa}}, \code{\link{a}} } \examples{ allowed <- s2c("*ACDEFGHIKLMNPQRSTVWY") # All allowed chars in a protein pmw(allowed) all.equal(pmw(allowed), 2395.71366) # Should be true on most platforms # # Compute the apparent molecular weight on Moon surface: # pmw(allowed, g = 1.6) # # Compute the apparent molecular weight in absence of gravity: # pmw(allowed, g = 0) # should be zero # # Reports results in Newton units: # pmw(allowed, unit = "N") # # Compute the mass in kg of one mol of this protein: # pmw(allowed)/10^3 # # Compute the mass for all amino-acids: # sapply(allowed[-1], pmw) -> aamw names(aamw) <- aaa(names(aamw)) aamw } \keyword{ utilities } seqinr/man/SeqFastadna.Rd0000644000176000001440000000314710650100605015035 0ustar ripleyusers\name{SeqFastadna} \alias{SeqFastadna} \alias{is.SeqFastadna} \alias{as.SeqFastadna} \alias{summary.SeqFastadna} \title{ Class for DNA sequence in Fasta Format} \description{ \code{as.SeqFastadna} is called by many functions as \code{read.fasta}. It creates an object of class \code{SeqFastadna}. \code{is.SeqFastadna} returns TRUE if the object is of class \code{SeqFastadna}. \code{summary.SeqFastadna} gives the base composition of an object of class \code{SeqFastadna}. } \usage{ as.SeqFastadna(object, name = NULL, Annot = NULL) is.SeqFastadna(object) \method{summary}{SeqFastadna}(object, alphabet = s2c("acgt"), ...) } \arguments{ \item{object}{a vector of chars representing a biological sequence} \item{name}{ \code{NULL} a character string specifying a name for the sequence } \item{Annot}{ \code{NULL} a character string specifying some annotations for the sequence } \item{...}{additional arguments affecting the summary produced} \item{alphabet}{a vector of single characters} } \value{ \code{as.SeqFastadna} returns an object sequence of class \code{SeqFastadna}. \code{summary.SeqFastadna} returns a list which the following components: \item{length}{ the legth of the sequence} \item{compo}{the base counting of the sequence} \item{GC}{the percentage of G+C in the sequence} } \references{ \code{citation("seqinr")} } \author{D. Charif} \examples{ s <- read.fasta(system.file("sequences/malM.fasta",package="seqinr")) is.SeqFastadna(s[[1]]) summary(s[[1]]) myseq <- s2c("acgttgatgctagctagcatcgat") as.SeqFastadna(myseq, name = "myseq", Annot = "blablabla") myseq } \keyword{utilities} seqinr/man/col2alpha.Rd0000644000176000001440000000300512426453046014516 0ustar ripleyusers\name{col2alpha} \Rdversion{1.1} \alias{col2alpha} \title{To use a standard color with an alpha transparency chanel} \description{ Takes as input a standard R color and an alpha value to return its rgb coding. } \usage{ col2alpha(color, alpha = 0.5) } \arguments{ \item{color}{A standard R color as in \code{\link{colors}}.} \item{alpha}{An alpha transparency value in the interval [0,1].} } \value{same as in \code{\link{rgb}}.} \author{J.R. Lobry} \seealso{\code{\link{colors}}, \code{\link{col2rgb}}, \code{\link{rgb}}.} \examples{ # # Need alpha transparency channel # par(mar = c(0, 0, 2, 2)+0.1, oma = c(0, 0, 2, 0), mfrow = c(3,2)) for(testcol in c("blue", "red", "green", "yellow", "purple", "darkgreen")){ plot(0,0, type="n", xlim=0:1, ylim = 0:1, axes = FALSE, xlab = "", ylab = "", main = testcol) n <- 11 for(i in seq(0, 1, length = n)){ col <- col2alpha(testcol, i) rect(i, 0, i + 1/n, 1, col = col, border = "black", xpd = NA) text(i+0.5/n, 0.5, round(i,2), xpd = NA) } } mtext("Effect of alpha on some colors\nNote: need alpha transparency channel", side = 3, outer = TRUE) # # The substractive color scheme: # par(mar = c(0,0,3,0)) plot.new() plot.window(xlim = c(-1.5, 1.5), ylim = c(-1,1.75), asp = 1) n <- 10 alpha <- 1/n for(i in 1:(2*n)){ circle(x = -0.5, y = 0, col = col2alpha("yellow", alpha)) circle(x = 0.5, y = 0, col = col2alpha("cyan", alpha)) circle(x = 0, y = 3/4, col = col2alpha("magenta", alpha)) } title("Substractive color scheme\nNote: need alpha transparency channel") } seqinr/man/SeqAcnucWeb.Rd0000644000176000001440000000251712435326277015025 0ustar ripleyusers\name{SeqAcnucWeb} \alias{SeqAcnucWeb} \alias{as.SeqAcnucWeb} \alias{is.SeqAcnucWeb} \title{Sequence coming from a remote ACNUC data base} \description{ \code{as.SeqAcnucWeb} is called by many functions, for instance by \code{query}, and should not be directly called by the user. It creates an object of class \code{SeqAcnucWeb}. \code{is.SeqAcnucWeb} returns TRUE if the object is of class \code{SeqAcnucWeb}. } \usage{ as.SeqAcnucWeb(object, length, frame, ncbigc) is.SeqAcnucWeb(object) } \arguments{ \item{object}{ a string giving the name of a sequence present in the data base} \item{length}{ a string giving the length of the sequence present in the data base} \item{frame}{ a string giving the frame of the sequence present in the data base} \item{ncbigc}{ a string giving the ncbi genetic code of the sequence present in the data base} } \value{ \code{as.SeqAcnucWeb} returns an object sequence of class \code{SeqAcnucWeb}. Note that as from seqinR 1.1-3 the slot socket has been deleted to save space for long lists. } \references{ \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \examples{ \dontrun{# Need internet connection choosebank("emblTP") mylist <- query("mylist", "sp=felis catus et t=cds et o=mitochondrion") stopifnot(is.SeqAcnucWeb(mylist$req[[1]])) closebank() } } \keyword{utilities} seqinr/man/waterabs.Rd0000644000176000001440000000474010723502541014461 0ustar ripleyusers\name{waterabs} \alias{waterabs} \docType{data} \title{Light absorption by the water column} \encoding{latin1} \description{ The absorption of light by water is highly dependent on the wavelength, this dataset gives the absorption coefficients from 200 to 700 nm. } \usage{data(waterabs)} \format{ A data.frame with 2 columns: \describe{ \item{lambda}{wavelength in nm} \item{abs}{absorption coefficient in 1/cm} } } \source{ Data were compiled by Palmeira (2007) from the cited references. } \references{ Palmeira, L. (2007) \emph{Analyse et modlisation des dpendances entre sites voisins dans l'volution des squences d'ADN}, PhD thesis, Universit Claude Bernard - Lyon I.\cr Litjens R. A., Quickenden T. I. and Freeman C. G. (1999). Visible and near-ultraviolet absorption spectrum of liquid water. \emph{Applied Optics}, \bold{38}:1216-1223.\cr Quickenden T. I. & Irvin J. A. (1980). The ultraviolet absorption spectrum of liquid water. \emph{The Journal of Chemical Physics}, \bold{72}:4416-4428.\cr \code{citation("seqinr")} } \examples{ data(waterabs) d <- 100*seq(from = 0, to = 150, by = 1) # depth in cm lambda <- waterabs$lambda # wavelength in nm abs <- waterabs$absorption # absorption coefficient cm-1 # # Smooth signal with cubic splines # tmp <- spline(lambda, abs, n = 255) lambda <- tmp$x abs <- tmp$y zun <- sapply(abs,function(x) 10^(-x*d)) z <- sapply(nrow(zun):1, function(x) zun[x,]) # # Set up world coordinates: # plot.new() plot.window(xlim = range(lambda), ylim = range(d), xaxs = "i", yaxs = "i") # # Annotate: # title(ylab = 'Depth under water surface (m)', xlab = "Wavelength (nm)", main = "Light absorption by the water column") axis(2 , at = seq(0, 15000, l = 7), labels = rev(c("0","25","50","75","100","125","150")), las = 1) axis(1,at=(3:6)*100,labels= TRUE) # # Show me rainbow colors: # alpha <- 1 coul=c(rep(rgb(1,1,1, alpha = alpha), 181), rev(hsv(h=seq(0,5/6,l=320),alpha = alpha))) rect(seq(200,699), 0, seq(201,700), 15000 , col = coul, border = coul) # # Grey scale: # ngris <- 5 image(x = lambda, y = d, z = z, col = rgb(1:ngris, 1:ngris, 1:ngris, alpha = 0.7*(ngris:1), max = ngris), axes = F, add = TRUE, breaks = seq(from = min(z), to = max(z), length = ngris + 1)) # # Contour lines: # contour(x = lambda, y = d, z = z, add = TRUE, drawlabels = TRUE,labcex= 0.75, col='black', levels = seq(from = min(z), to = max(z), length = ngris + 1)) box() } \keyword{datasets} seqinr/man/words.Rd0000644000176000001440000000260512426453046014014 0ustar ripleyusers\name{words} \alias{words} \title{ To get all words from an alphabet.} \description{ Generates a vectors of all the words from a given alphabet, with right positions varying faster, for instance if the \code{alphabet} is \code{(c("0","1")} and the \code{length} is 2 you will obtain \code{c("00", "01", "10", "11")} } \usage{ words(length = 3, alphabet = s2c("acgt")) } \arguments{ \item{length}{ the number of characters in the words } \item{alphabet}{ a vector of characters } } \value{ A vector of string whith \code{length} characters. } \author{ J.R. Lobry } \references{ \code{citation("seqinr")} } \seealso{ \code{\link{kronecker}}, \code{\link{outer}} } \examples{ # # Get all 64 codons: # stopifnot(all(words() == c("aaa", "aac", "aag", "aat", "aca", "acc", "acg", "act", "aga", "agc", "agg", "agt", "ata", "atc", "atg", "att","caa", "cac", "cag", "cat", "cca", "ccc", "ccg", "cct", "cga", "cgc", "cgg", "cgt", "cta", "ctc", "ctg", "ctt", "gaa", "gac", "gag", "gat", "gca", "gcc", "gcg", "gct", "gga", "ggc", "ggg", "ggt", "gta", "gtc", "gtg", "gtt", "taa", "tac", "tag", "tat", "tca", "tcc", "tcg", "tct", "tga", "tgc", "tgg", "tgt", "tta", "ttc", "ttg", "ttt"))) # # Get all codons with u c a g for bases: # words(alphabet = s2c("ucag")) # # Get all tetranucleotides: # words(length = 4) # # Get all dipeptides: # words(length = 2, alphabet = a()[-1]) } \keyword{ utilities } seqinr/man/msf.Rd0000644000176000001440000000066111435210067013434 0ustar ripleyusers\name{msf} \docType{data} \alias{msf} \title{Example of results obtained after a call to read.alignment} \description{This data set gives an example of a protein alignment obtained after a call to the function read.alignment on an alignment file in "msf" format.} \usage{msf} \format{A List of class alignment} \source{http://www.ebi.ac.uk/2can/tutorials/formats.html#MSF/} \keyword{datasets} seqinr/man/prepgatannots.Rd0000644000176000001440000000506312435326277015551 0ustar ripleyusers\name{prepgetannots} \alias{prepgetannots} \alias{pga} \title{Select annotation lines in an ACNUC database} \description{ This function is called before using \code{\link{getAnnot}} or \code{\link{modifylist}} with a \code{scan} type operation to select the annotation lines to be returned or scanned. } \usage{ prepgetannots(what = "all", setfor = c("scan", "getannots"), socket = autosocket(), verbose = FALSE) pga(what = "all", setfor = c("scan", "getannots"), socket = autosocket(), verbose = FALSE) } \arguments{ \item{what}{the default "all" means that all annotation lines are selected. This can be more specific, see details.} \item{setfor}{this is used when \code{what} has its default "all" value. The behaviour is different for \code{\link{getAnnot}} and \code{\link{modifylist}} with a \code{scan} type operation: annotations but not sequences are scanned, but sequences can be returned by \code{\link{getAnnot}}. The default value is "scan".} \item{socket}{an object of class \code{sockconn} connecting to an ACNUC server} \item{verbose}{logical, if TRUE mode verbose is on} } \details{ The names of annotation lines in the opened ACNUC database is returned by \code{\link{countfreelists}}, they are forced to upper case letters by \code{prepgetannots} when supplied with the \code{what} argument. For the EMBL/SWISSPROT format, keys are: ALL, AC, DT, KW, OS, OC, OG, OH, RN, RC, RP, RX, RA, RG, RT, RL, DR, AH, AS, CC, FH, FT, SQ, SEQ. For GenBank: ALL, ACCESSION, VERSION, KEYWORDS, SOURCE, ORGANISM, REFERENCE, AUTHORS, CONSRTM, TITLE, JOURNAL, PUBMED, REMARK, COMMENT, FEATURES, ORIGIN, SEQUENCE. For FT (embl, swissprot) and FEATURES (GenBank), one or more specific feature keys can be specified using lines with only uppercase and such as FEATURES|CDS FT|TRNA Keys ALL and SEQ/SEQUENCE stand for all annotation and sequence lines, respectively. For the scan operation, key ALL stand for the DE/DEFINITION lines, and SEQ/SEQUENCE cannot be used (annotations but not sequence are scanned).} \value{ The function returns invisibly the annotation lines names. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{getAnnot}}, \code{\link{modifylist}}, \code{\link{countfreelists}} } \examples{ \dontrun{# Need internet connection choosebank("genbank") query("mylist","n=AQF16SRRN") pga() # We want to scan all annotations, including FEATURES mylist <- modifylist("mylist", operation = "strain", type = "scan") mylist$nelem # should be 1 } } \keyword{utilities} seqinr/man/phylip.Rd0000644000176000001440000000100711435210067014147 0ustar ripleyusers\name{phylip} \docType{data} \alias{phylip} \title{Example of results obtained after a call to read.alignment} \description{This data set gives an example of a amino acids alignment obtained after a call to the function read.alignment on an alignment file in "phylip" format.} \usage{phylip} \format{A List of class alignment} \source{http://evolution.genetics.washington.edu/phylip.html} \references{http://evolution.genetics.washington.edu/phylip.html} \keyword{datasets} seqinr/man/computePI.Rd0000644000176000001440000000262712426453046014567 0ustar ripleyusers\name{computePI} \alias{computePI} \title{To Compute the Theoretical Isoelectric Point} \description{ This function calculates the theoretical isoelectric point of a protein. Isoelectric point is the pH at which the protein has a neutral charge. This estimate does not account for the post-translational modifications. } \usage{ computePI(seq) } \arguments{ \item{seq}{ Protein sequence as a vector of single chars in upper case} } \value{ The theoretical isoelectric point (pI) as a numerical vector of length one. } \references{ The algorithm is the same as the one which is implemented at the following url: \url{http://www.expasy.org/tools/pi_tool-doc.html} but with many trials in case of convergence failure of the non-linear regression procedure. \code{citation("seqinr")} } \author{D. Charif and J.R. Lobry} \note{ Protein pI is calculated using pK values of amino acids described in Bjellqvist et al. See also \code{SEQINR.UTIL} for more details. } \seealso{\code{\link{SEQINR.UTIL}} } \examples{ # # Simple sanity check with all 20 amino-acids in one-letter code alphabetical order: # prot <- s2c("ACDEFGHIKLMNPQRSTVWY") stopifnot(all.equal(computePI(prot), 6.78454)) # # Read a protein sequence in a FASTA file and then compute its pI : # myProts <- read.fasta(file = system.file("sequences/seqAA.fasta", package = "seqinr"), seqtype = "AA") computePI(myProts[[1]]) # Should be 8.534902 } \keyword{manip} seqinr/man/ucoweight.Rd0000644000176000001440000000140310404050534014634 0ustar ripleyusers\name{ucoweight} \alias{ucoweight} \title{Weight of each synonymous codon} \description{ Returns a list containing, for each of the 20 amino acids + STOP codon, the codon usage bias of each of the synonymous codon according to a given codon sequence. } \usage{ucoweight(sequence, numcode = 1)} \arguments{ \item{sequence}{ A nucleic acids sequence } \item{numcode}{ The genetic code number as in \code{translate} } } \value{ a list containing, for each of the 20 amino acids and STOP codon (list tags), the weight of each synonymous codon (including the original one). } \references{ \code{citation("seqinr")} } \author{ Leonor Palmeira } \seealso{ \code{\link{synsequence}} } \examples{ data(ec999) ucoweight(ec999[1][[1]]) } \keyword{ utilities } seqinr/man/getLocation.Rd0000644000176000001440000000313412435326277015131 0ustar ripleyusers\name{getLocation} \alias{getLocation} \alias{getLocation.default} \alias{getLocation.list} \alias{getLocation.SeqAcnucWeb} \alias{getLocation.qaw} \alias{getLocation.logical} \title{Generic function to get the location of subsequences on the parent sequence} \description{ This function works only with subsequences from an ACNUC server. } \usage{ getLocation(object, ...) \method{getLocation}{SeqAcnucWeb}(object, ..., socket = autosocket()) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}}, or a list of them, or an object created by \code{\link{query}} } \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database by \code{\link{choosebank}}).} \item{...}{further arguments passed to or from other methods} } \value{ A list giving the positions of the sequence on the parent sequence. If the sequence is a subsequence (\emph{e.g.} coding sequence), the function returns the position of each exon on the parent sequence. NA is returned for parent sequences and a warning is isued.} \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}} } \examples{ # # List all available methods for getLocation generic function: # methods(getLocation) # # Example with a subsequence from an ACNUC server: # \dontrun{ # Need internet connection choosebank("emblTP") fc <- query("fc", "sp=felis catus et t=cds et o=mitochondrion") getLocation(fc$req[[5]]) closebank() } } \keyword{ utilities } seqinr/man/s2c.Rd0000755000176000001440000000121210700243314013325 0ustar ripleyusers\name{s2c} \alias{s2c} \title{ conversion of a string into a vector of chars } \description{ This is a simple utility function to convert a single string such as \code{"BigBang"} into a vector of chars such as \code{c("B", "i", "g", "B", "a", "n", "g")}. } \usage{ s2c(string) } \arguments{ \item{string}{ a string of chars } } \value{ a vector of chars. If supplied argument is not a single string, a warning is issued and NA returned. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{c2s}} } \examples{ stopifnot(all(s2c("BigBang") == c("B", "i", "g", "B", "a", "n", "g"))) } \keyword{utilities} seqinr/man/AAstat.Rd0000644000176000001440000000215412426453046014032 0ustar ripleyusers\name{AAstat} \alias{AAstat} \title{ To Get Some Protein Statistics } \description{ Returns simple protein sequence information including the number of residues, the percentage physico-chemical classes and the theoretical isoelectric point. } \usage{ AAstat(seq, plot = TRUE) } \arguments{ \item{seq}{ a protein sequence as a vector of upper-case chars } \item{plot}{ if \code{TRUE}, plots the presence of residues splited by physico-chemical classes along the sequence. } } \value{ A list with the three following components: \item{Compo}{A factor giving the amino acid counts.} \item{Prop}{A list giving the percentage of each physico-chemical classes (Tiny, Small, Aliphatic, Aromatic, Non-polar, Polar, Charged, Positive, Negative).} \item{Pi}{The theoretical isoelectric point} } \references{ \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{ \code{\link{computePI}}, \code{\link{SEQINR.UTIL}}, \code{\link{SeqFastaAA}}} \examples{ seqAA <- read.fasta(file = system.file("sequences/seqAA.fasta", package = "seqinr"), seqtype = "AA") AAstat(seqAA[[1]]) } \keyword{utilities} seqinr/man/gfrag.Rd0000644000176000001440000000243311135543663013744 0ustar ripleyusers\name{gfrag} \alias{gfrag} \title{Extract sequence identified by name or by number from an ACNUC server} \description{ Get \code{length} characters from sequence identified by name or by number starting from position \code{start} (counted from 1). } \usage{ gfrag(what, start, length, idby = c("name", "number"), socket = autosocket()) } \arguments{ \item{what}{A sequence name or number} \item{start}{Start position from 1} \item{length}{Number of requested characters (answer may be shorter)} \item{idby}{Is the sequence identified by name or number? Default to name} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ A string of characters with at most \code{length} characters (may be shorter than asked for). NA is returned and a warning is issued in case of problem (non existent sequence for instance). } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{# Need internet connection choosebank("emblTP") gfrag("LMFLCHR36", start = 1, length = 3529852) -> myseq stopifnot(nchar(myseq) == 3529852) closebank() } } seqinr/man/modifylist.Rd0000644000176000001440000000650112435326277015045 0ustar ripleyusers\name{modifylist} \alias{modifylist} \title{Modification of an ACNUC list} \description{ This function modifies a previously existing ACNUC list by selecting sequences either by length, either by date, either for the presence of a given string in annotations. } \usage{ modifylist(listname, modlistname = listname, operation, type = c("length", "date", "scan"), socket = autosocket(), virtual = FALSE, verbose = FALSE) } \arguments{ \item{listname}{the name of the ACNUC list to modify} \item{modlistname}{the name of the modified ACNUC list. Default is to use the same list name so that previous list is lost.} \item{operation}{a string of character describing the operation to be done, see details.} \item{type}{the type of operation, could be one of \code{ "length", "date", "scan"}. Default is \code{"length"}} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{virtual}{if TRUE, no attempt is made to retrieve the information about all the elements of the list. In this case, the \code{req} component of the list is set to NA.} \item{verbose}{logical, if TRUE mode verbose is on} } \details{ Example of possible values for the argument \code{operation}: \describe{ \item{length}{as in "> 10000" or "< 500"} \item{date}{as in "> 1/jul/2001" or "< 30/AUG/98"} \item{scan}{specify the string to be searched for} } Character < is to be understood as <= and > likewise. } \value{ The result is directly assigned to the object \code{modlistname} in the user workspace. This is an objet of class \code{qaw}, a list with the following 6 components: \item{call}{the original call} \item{name}{the ACNUC list name} \item{nelem}{the number of elements (for instance sequences) in the ACNUC list} \item{typelist}{the type of the elements of the list. Could be SQ for a list of sequence names, KW for a list of keywords, SP for a list of species names.} \item{req}{a list of sequence names that fit the required criteria or \code{NA} when called with parameter \code{virtual} is \code{TRUE}} \item{socket}{the socket connection that was used} } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} and \code{\link{prepgetannots}} to select the annotation lines for scan.} \examples{ \dontrun{ # Need internet connection choosebank("emblTP") mylist <- query("mylist", "sp=felis catus et t=cds", virtual=TRUE) mylist$nelem # 603 sequences stopifnot(mylist$nelem == 603) # select sequences with at least 1000 bp: mylist <- modifylist("mylist", operation = ">1000", virtual = TRUE) mylist$nelem # now, only 132 sequences stopifnot(mylist$nelem == 132) # scan for "felis" in annotations: mylist <- modifylist("mylist", op = "felis", type = "scan", virtual = TRUE) mylist$nelem # now, only 33 sequences stopifnot(mylist$nelem == 33) # modify by date: mylist <- modifylist("mylist", op = "> 1/jul/2001", type = "date", virtual = TRUE) mylist$nelem # now, only 15 sequences stopifnot(mylist$nelem == 15) # Summary of current ACNUC lists, one list called MYLIST on sever: sapply(alr()$rank, getliststate) closebank() } } \keyword{ utilities } seqinr/man/where.is.this.acc.Rd0000644000176000001440000000207511277751061016077 0ustar ripleyusers\name{where.is.this.acc} \alias{where.is.this.acc} \title{Scans databases for a given sequence accession number} \description{ This function loops over all availabale ACNUC databases to look for a given sequence accession number. This is useful when you have a sequence accession number and you don't know in which database it is present. } \usage{ where.is.this.acc(acc, stopAtFirst = TRUE, ...) } \arguments{ \item{acc}{An accession number as a string of characters such as \code{"NC_001416"}.} \item{stopAtFirst}{Logical. If TRUE, the default, the function stops at the first database where the accession number is found.} \item{\dots}{Arguments passed to the function \code{\link{choosebank}}.} } \value{ The function resturns invisibly a vector of strings of characters for the names of the ACNUC databases in which the accession number was found. } \references{\code{citation("seqinr")}} \author{J.R. Lobry} \seealso{\code{\link{choosebank}} to open a given ACNUC database.} \examples{ \dontrun{# Need internet connection where.is.this.acc("NC_001416") } } seqinr/man/savelist.Rd0000644000176000001440000000304212426453046014504 0ustar ripleyusers\name{savelist} \alias{savelist} \title{Save sequence names or accession numbers into a file} \description{ This function retrieves all sequence names or all accession number from an ACNUC list and saves them into a file. } \usage{ savelist(lrank, type = c("N", "A"), filename = paste(gln(lrank), ifelse(type == "N", "mne", "acc"), sep = "."),socket = autosocket(), warnme = TRUE) } \arguments{ \item{lrank}{the rank of the ACNUC list to consider.} \item{type}{use "N" for sequence names (mnemonics) and "A" for accession numbers. Default is "N".} \item{filename}{a string of character giving the name of the file to save results.} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{warnme}{if TRUE a message is issued on the console when complete.} } \value{ none. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}}, \code{\link{glr}} to get a list rank from its name, \code{\link{clfcd}} for the inverse operation of \code{savelist}} \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") query("mylist", "sp=felis catus et t=cds", virtual=TRUE) savelist(glr("mylist")) # 603 sequence mnemonics written into file: MYLIST.mne savelist(glr("mylist"), type = "A") # 603 sequence accession numbers written into file: MYLIST.acc } } \keyword{ utilities } seqinr/man/parser.socket.Rd0000644000176000001440000000141010755341026015427 0ustar ripleyusers\name{parser.socket} \alias{parser.socket} \title{Utility function to parse answers from an ACNUC server} \description{ Answers from server looks like : "code=0&lrank=2&count=150513&type=SQ&locus=F". } \usage{ parser.socket(onelinefromserver, verbose = FALSE) } \arguments{ \item{onelinefromserver}{a string} \item{verbose}{logical, if TRUE mode verbose is on} } \value{ A vector of mode character or NULL if \code{onelinefromserver} is NULL or if its length is 0. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} } \examples{ stopifnot(all(parser.socket("code=0&lrank=2&count=150513&type=SQ&locus=F") == c("0", "2", "150513", "SQ", "F"))) } \keyword{ utilities } seqinr/man/prettyseq.Rd0000644000176000001440000000210510706621630014704 0ustar ripleyusers\name{prettyseq} \alias{prettyseq} \title{Text representation of a sequence from an ACNUC server} \description{ To get a text representation of sequence of rank \code{num} and of its subsequences, with \code{bpl} bases per line (default = 60), and with optional translation of protein-coding subsequences } \usage{ prettyseq(num, bpl = 60, translate = TRUE, socket = autosocket()) } \arguments{ \item{num}{rank of the sequence in the ACNUC database} \item{bpl}{number of base per line} \item{translate}{should coding sequences be translated?} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ An invisible vector of string. The output is redirected to the console. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") prettyseq(111) } } \keyword{ utilities } seqinr/man/stresc.Rd0000644000176000001440000000112611120447705014151 0ustar ripleyusers\name{stresc} \alias{stresc} \title{Utility function to escape LaTeX special characters present in a string} \description{ This function returns a vector of strings in which LaTeX special characters are escaped, this was useful in conjunction with xtable. } \usage{ stresc(strings) } \arguments{ \item{strings}{A vector of strings to deal with.} } \value{ Returns a vector of strings with escaped characters within each string. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{s2c}} } \examples{ stresc("MISC_RNA") stresc(c("BB_0001","BB_0002")) } seqinr/man/m16j.Rd0000644000176000001440000000540112426453046013430 0ustar ripleyusers\name{m16j} \alias{m16j} \docType{data} \title{Fragment of the E. coli chromosome} \description{ A fragment of the \emph{E. coli} chromosome that was used in Lobry (1996) to show the change in GC skew at the origin of replication (\emph{i.e.} the chirochore structure of bacterial chromosomes) } \usage{data(m16j)} \format{ A string of 1,616,539 characters } \details{ The sequence used in Lobry (1996) was a 1,616,174 bp fragment obtained from the concatenation of nine overlapping sequences (U18997, U00039, L10328, M87049, L19201, U00006, U14003, D10483, D26562. Ambiguities have been resolved since then and its was a chimeric sequence from K-12 strains MG1655 and W3110, the sequence used here is from strain MG1655 only (Blattner \emph{et al.} 1997). } \source{ \emph{Escherichia coli} K-12 strain MG1655. Fragment from U00096 from the EBI Genome Reviews. Acnuc Release 7. Last Updated: Feb 26, 2007. XX DT 18-FEB-2004 (Rel. .1, Created) DT 09-JAN-2007 (Rel. 65, Last updated, Version 70) XX } \references{ Lobry, J.R. (1996) Asymmetric substitution patterns in the two DNA strands of bacteria. \emph{Molecular Biology and Evolution}, \bold{13}:660-665.\cr F.R. Blattner, G. Plunkett III, C.A. Bloch, N.T. Perna, V. Burland, M. Rilley, J. Collado-Vides, J.D. Glasner, C.K. Rode, G.F. Mayhew, J. Gregor, N.W. Davis, H.A. Kirkpatrick, M.A. Goeden, D.J. Rose, B. Mau, and Y. Shao. (1997) The complete genome sequence of \emph{Escherichia coli} K-12. \emph{Science}, \bold{277}:1453-1462\cr \code{citation("seqinr")} } \examples{ # # Load data: # data(m16j) # # Define a function to compute the GC skew: # gcskew <- function(x) { if (!is.character(x) || length(x) > 1) stop("single string expected") tmp <- tolower(s2c(x)) nC <- sum(tmp == "c") nG <- sum(tmp == "g") if (nC + nG == 0) return(NA) return(100 * (nC - nG)/(nC + nG)) } # # Moving window along the sequence: # step <- 10000 wsize <- 10000 starts <- seq(from = 1, to = nchar(m16j), by = step) starts <- starts[-length(starts)] n <- length(starts) result <- numeric(n) for (i in seq_len(n)) { result[i] <- gcskew(substr(m16j, starts[i], starts[i] + wsize - 1)) } # # Plot the result: # xx <- starts/1000 yy <- result n <- length(result) hline <- 0 plot(yy ~ xx, type = "n", axes = FALSE, ann = FALSE, ylim = c(-10, 10)) polygon(c(xx[1], xx, xx[n]), c(min(yy), yy, min(yy)), col = "black", border = NA) usr <- par("usr") rect(usr[1], usr[3], usr[2], hline, col = "white", border = NA) lines(xx, yy) abline(h = hline) box() axis(1, at = seq(0, 1600, by = 200)) axis(2, las = 1) title(xlab = "position (Kbp)", ylab = "(C-G)/(C+G) [percent]", main = expression(paste("GC skew in ", italic(Escherichia~coli)))) arrows(860, 5.5, 720, 0.5, length = 0.1, lwd = 2) text(860, 5.5, "origin of replication", pos = 4) } \keyword{datasets} seqinr/man/plotPanels.Rd0000644000176000001440000000140011247732630014766 0ustar ripleyusers\name{plotPanels} \alias{plotPanels} \title{Representation of Amplicon Size Ranges of a STR kit.} \description{Plot amplicon size ranges grouped by dye color.} \usage{plotPanels(kitname, data, xlim = NULL, cex = 0.75, alpha = 0.5)} \arguments{ \item{kitname}{string of characters for the kit name.} \item{data}{an output from the \code{\link{readPanels}} function.} \item{xlim}{x-axis range.} \item{cex}{character expansion factor.} \item{alpha}{alpha transparency chanel for colors.} } \value{none} \author{J.R. Lobry} \seealso{ \code{\link{readPanels}}.} \examples{ path1 <- system.file("abif/AmpFLSTR_Panels_v1.txt", package = "seqinr") res1 <- readPanels(path1) par(mfrow = c(2,1)) plotPanels("Identifiler_v1", res1) plotPanels("SEfiler_v1", res1) } seqinr/man/bma.Rd0000644000176000001440000000234011022246252013377 0ustar ripleyusers\name{bma} \alias{bma} \title{Computing an IUPAC nucleotide symbol} \description{ This function returns the IUPAC symbol for a nucleotide sequence, for instance \code{c("c", "c", "g")} is coded by \code{"s"}. } \usage{ bma(nucl, warn.non.IUPAC = TRUE, type = c("DNA", "RNA")) } \arguments{ \item{nucl}{a nucleotide sequence as a vector of single chars} \item{warn.non.IUPAC}{if TRUE warns when no IUPAC symbol is possible} \item{type}{whether this is a DNA or a RNA sequence} } \details{ The sequence is forced in lower case letters and ambiguous bases are expanded before trying to find an IUPAC symbol. } \value{ A single IUPAC symbol in lower case, or NA when this is not possible. } \references{ The nomenclature for incompletely specified bases in nucleic acid sequences at: \url{http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html} \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{See \code{\link{amb}} for the reverse operation. Use \code{\link{toupper}} to change lower case letters into upper case letters.} \examples{ stopifnot(bma(s2c("atatattttata")) == "w") stopifnot(bma(s2c("gcggcgcgcggc")) == "s") stopifnot(bma(s2c("ACGT")) == "n") stopifnot(is.na(bma(s2c("atatttt---tatat")))) # a warning is issued } seqinr/man/swap.Rd0000644000176000001440000000140711230170500013606 0ustar ripleyusers\name{swap} \alias{swap} \title{Exchange two R objects} \description{ Exchange object \code{x} with object \code{y}. } \usage{ swap(x, y) } \arguments{ \item{x}{an R object} \item{y}{an R object} } \value{ none. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{\code{\link{move}} } \examples{ # # Example in a new empty environment: # local({ x <- 0:9 y <- 10:19 print(x) print(y) swap(x[1], y[2]) print(x) print(y) }) # # Sanity check with a bubble sort: # bubble.sort <- function(tab, n = length(tab)){ i <- 1 while(i < n){ if(tab[i + 1] < tab[i]){ swap(tab[i], tab[i+1]) i <- 1 } else { i <- i+1 } } return(tab) } set.seed(1) x <- rnorm(10) stopifnot(identical(sort(x), bubble.sort(x))) } seqinr/man/choosebank.Rd0000644000176000001440000001213611277760147015000 0ustar ripleyusers\name{choosebank} \alias{choosebank} \title{To select a database structured under ACNUC and located on the web} \description{ This function allows to select one of the databases structured under ACNUC and located on the web. Called without arguments, \code{choosebank()}, will return the list of available databases. Then, you can use \code{\link{query}} to make your query and get a list of sequence names. Remote access to ACNUC databases works by opening a socket connection on a port (for example on port number 5558 at pbil.univ-lyon1.fr) and by communicating on this socket following the protocol described in the section \code{references}. } \usage{ choosebank(bank = NA, host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE, open = "a+", encoding = "", verbose = FALSE, timeout = 5, infobank = FALSE, tagbank = NA) } \arguments{ \item{bank}{string. The name of the bank. If NA, \code{choosebank} will return the names of all database known by the server.} \item{host}{string. Host name for port (see \code{\link{socketConnection}})} \item{port}{integer. The TCP port number (see \code{\link{socketConnection}})} \item{server}{logical. Should the socket be a client or a server? (see \code{\link{socketConnection}})} \item{blocking}{logical. (see \code{\link{socketConnection}})} \item{open}{string. A description of how to open the connection (see \code{\link{socketConnection}})} \item{encoding}{string. The name of the encoding to be used. (see \code{\link{socketConnection}})} \item{verbose}{logical. If TRUE, verbose mode is on} \item{timeout}{integer. The timeout in seconds for \code{socketConnection}. Default 5 seconds.} \item{infobank}{logical. If \code{infobank} is TRUE and \code{bank} is \code{NA}, a data.frame with all database informations will be returned} \item{tagbank}{string. If \code{bank} is \code{NA} and \code{tagbank} is documented, the names of special purposes databases are returned. Current allowed values are TP for frozen databases (TP is an acronym for "travaux pratiques" which means practicals in french, these databases are useful mainly for teaching so as to have stable results), TEST for test databases, and DEV for databases under development (unstable).} } \details{ When called without arguments, \code{choosebank()} returns a list of all the databases names known by the server, as a vector of string. When called with \code{choosebank(infobank = TRUE)}, a data.frame with more information is returned. } \value{ When called with a regular bank name, an (invisible) list with 6 components: \item{socket}{ an object of class \code{socket} } \item{bankname}{ the name of the bank } \item{banktype}{ the type of the bank (GENBANK, EMBL, SWISSPROT, NBRF)} \item{totseqs}{ the total number of sequences present in the opened database } \item{totspecs}{ the total number of species present in the opened database } \item{totkeys}{ the total number of keywords present in the opened database } When called with bank = NA: \item{ }{ A vector of all available bank names.} When called with bank = NA and infobank = TRUE, a data.frame with three columns: \item{bank}{ The name of the bank. } \item{status}{ The bank status (on/of). } \item{info}{ Short description of bank with last release date. } } \references{ For more information about the socket communication protocol with ACNUC please get at \url{http://pbil.univ-lyon1.fr/databases/acnuc/remote_acnuc.html}. To get the release date and content of all the databases located at the pbil, please look at the following url: \url{http://pbil.univ-lyon1.fr/search/releases.php}\cr Gouy, M., Milleret, F., Mugnier, C., Jacobzone, M., Gautier,C. (1984) ACNUC: a nucleic acid sequence data base and analysis system. \emph{Nucl. Acids Res.}, \bold{12}:121-127.\cr Gouy, M., Gautier, C., Attimonelli, M., Lanave, C., Di Paola, G. (1985) ACNUC - a portable retrieval system for nucleic acid sequence databases: logical and physical designs and usage. \emph{Comput. Appl. Biosci.}, \bold{3}:167-172.\cr Gouy, M., Gautier, C., Milleret, F. (1985) System analysis and nucleic acid sequence banks. \emph{Biochimie}, \bold{67}:433-436.\cr \code{citation("seqinr")} } \note{ The invisible list returned when a database is opened is stored in the variable \code{banknameSocket} in the global environment. } \author{ D. Charif, J.R. Lobry } \seealso{\code{\link{where.is.this.acc}} if you have a sequence accession number but you don't know which database to open, \code{\link{query}} to make a query when a database is opened, \code{\link{connection}}, \code{\link{socketConnection}} } \examples{ \dontrun{# Need internet connection # Show available databases: choosebank() # Show frozen databases: choosebank(tag = "TP") # Select a database: choosebank("emblTP", tag = "TP") # Do something with the database: myseq <- gfrag("LMFLCHR36", start = 1, length = 30) stopifnot(myseq == "cgcgtgctggcggcaatgaagcgttcgatg") # Close the database: closebank()} } \keyword{ manip } seqinr/man/kaks.Rd0000644000176000001440000001262512426453046013612 0ustar ripleyusers\name{kaks} \alias{kaks} \title{Ka and Ks, also known as dn and ds, computation} \description{ Ks and Ka are, respectively, the number of substitutions per synonymous site and per non-synonymous site between two protein-coding genes. They are also denoted as ds and dn in the literature. The ratio of nonsynonymous (Ka) to synonymous (Ks) nucleotide substitution rates is an indicator of selective pressures on genes. A ratio significantly greater than 1 indicates positive selective pressure. A ratio around 1 indicates either neutral evolution at the protein level or an averaging of sites under positive and negative selective pressures. A ratio less than 1 indicates pressures to conserve protein sequence (\emph{i.e.} purifying selection). This function estimates the Ka and Ks values for a set of aligned sequences using the method published by Li (1993) and gives the associated variance matrix. } \usage{ kaks(x,verbose = FALSE, debug = FALSE, forceUpperCase = TRUE) } \arguments{ \item{x}{ An object of class \code{alignment}, obtained for instance by importing into R the data from an alignment file with the \code{\link{read.alignment}} function. This is typically a set of coding sequences aligned at the protein level, see \code{\link{reverse.align}}.} \item{verbose}{ If TRUE add to the results the value of L0, L2, L4 (respectively the number of non-synonymous sites, of 2-fold synonymous sites, of 4-fold synonymous sites), A0, A2, A4 (respectively the number of transitional changes at non-synonymous, 2-fold, and 4-fold synonymous sites ) and B0, B2, B4 (respectively the number of transversional changes at non-synonymous, 2-fold, and 4-fold synonymous sites).} \item{debug}{ If TRUE turns debug mode on.} \item{forceUpperCase}{ If TRUE, the default value, all character in sequences are forced to the upper case if at least one 'a', 'c', 'g', or 't' is found in the sequences. Turning it to FALSE if the sequences are already in upper case will save time.} } \value{ \item{ ks }{ matrix of Ks values } \item{ ka }{ matrix of Ka values } \item{ vks }{ variance matrix of Ks } \item{ vka }{ variance matrix of Ka } } \references{ Li, W.-H. (1993) Unbiased estimation of the rates of synonymous and nonsynonymous substitution. \emph{J. Mol. Evol.}, \bold{36}:96-99.\cr Hurst, L.D. (2002) The Ka/Ks ratio: diagnosing the form of sequence evolution. \emph{Trends Genet.}, \bold{18}:486-486.\cr The C programm implementing this method was provided by Manolo Gouy. More info is needed here to trace back the original C source so as to credit correct source. The original FORTRAN-77 code by Chung-I Wu modified by Ken Wolfe is available here \url{http://wolfe.gen.tcd.ie/lab/pub/li93/}.\cr For a more recent discussion about the estimation of Ka and Ks see:\cr Tzeng, Y.H., Pan, R., Li, W.-H. (2004) Comparison of three methods for estimating rates of synonymous and nonsynonymous nucleotide substitutions. \emph{Mol. Biol. Evol}, \bold{21}:2290-2298.\cr The method implemented here is noted LWL85 in the above paper.\cr The cite this package in a publication, as any R package, try something as \code{citation("seqinr")} at your R prompt. } \note{ Computing Ka and Ks makes sense for coding sequences that have been aligned at the amino-acid level before retro-translating the alignement at the nucleic acid level to ensure that sequences are compared on a codon-by-codon basis. Function \code{\link{reverse.align}} may help for this. As from seqinR 2.0-3, when there is at least one non ACGT base in a codon, this codon is considered as a gap-codon (\code{---}). This makes the computation more robust with respect to alignments with out-of-frame gaps, see example section. Gap-codons (\code{---}) are not used for computations. When the alignment does not contain enough information (\emph{i.e.} close to saturation), the Ka and Ks values are forced to 10. Negative values indicate that Ka and Ks can not be computed. According to Li (1993) J. Mol. Evol. 36(1):96-99, the rate of synonymous substitutions Ks is computed as: Ks = (L2.A2 + L4.A4) / (L2 + L4) + B4 and the rate of non-synonymous substitutions Ka is computed as: Ka = A0 + (L0.B0 + L2.B2) / (L0 + L2) } \author{ D. Charif, J.R. Lobry } \seealso{\code{\link{read.alignment}} to import alignments from files, \code{\link{reverse.align}} to align CDS at the aa level.} \examples{ # # Simple Toy example: # s <- read.alignment(file = system.file("sequences/test.phylip", package = "seqinr"), format = "phylip") kaks(s) # # Check numeric results on an simple test example: # data(AnoukResult) Anouk <- read.alignment(file = system.file("sequences/Anouk.fasta", package = "seqinr"), format = "fasta") ## if( ! all.equal(kaks(Anouk), AnoukResult) ) { ## warning("Poor numeric results with respect to AnoukResult standard") ## } else { ## print("Results are consistent with AnoukResult standard") ## } # # As from seqinR 2.0-3 the following alignment with out-of-frame gaps # should return a zero Ka value. # # >Reference # ATGTGGTCGAGATATCGAAAGCTAGGGATATCGATTATATATAGCAAGATCGATAGAGGA # TCGATGATCGATCGGGATCGACAGCTG # >With out-of-frame gaps # AT-TGGTCCAGGTATCGTAAGCTAGGGATATCGATTATATATAGCAAGATCGATAGGGGA # TCGATGATCGATCGGGA--GACAGCTG # # This test example provided by Darren Obbard is now used as a routine check: # Darren <- read.alignment(file = system.file("sequences/DarrenObbard.fasta", package = "seqinr"), format = "fasta") stopifnot( all.equal(kaks(Darren)$ka[1], 0) ) } seqinr/man/pK.Rd0000644000176000001440000000617211117267575013241 0ustar ripleyusers\name{pK} \alias{pK} \docType{data} \title{pK values for the side chain of charged amino acids from various sources} \description{ This compilation of pK values is from Joanna Kiraga (2008). } \usage{data(pK)} \format{ A data frame with the seven charged amino-acid in row and six sources in column. The rownames are the one-letter code for amino-acids. } \source{ Table 2 in Kiraga (2008). } \references{ Kiraga, J. (2008) Analysis and computer simulations of variability of isoelectric point of proteins in the proteomes. PhD thesis, University of Wroclaw, Poland. Bjellqvist, B., Hughes, G.J., Pasquali, Ch., Paquet, N., Ravier, F., Sanchez, J.Ch., Frutige,r S., Hochstrasser D. (1993) The focusing positions of polypeptides in immobilized pH gradients can be predicted from their amino acid sequences. \emph{Electrophoresis}, \bold{14}:1023-1031. EMBOSS data are from \url{http://emboss.sourceforge.net/apps/release/5.0/emboss/apps/iep.html}. Murray, R.K., Granner, D.K., Rodwell, V.W. (2006) \emph{Harper's illustrated Biochemistry.} 27th edition. Published by The McGraw-Hill Companies. Sillero, A., Maldonado, A. (2006) Isoelectric point determination of proteins and other macromolecules: oscillating method. \emph{Comput Biol Med.}, \bold{36}:157-166. Solomon, T.W.G. (1998) \emph{Fundamentals of Organic Chemistry}, 5th edition. Published by Wiley. Stryer L. (1999) \emph{Biochemia}. czwarta edycja. Wydawnictwo Naukowe PWN. \code{citation("seqinr")} } \examples{ data(pK) data(SEQINR.UTIL) # for N and C terminal pK values prot <- s2c("ACDEFGHIKLMNPQRSTVWY") compoAA <- table(factor(prot, levels = LETTERS)) nTermR <- which(LETTERS == prot[1]) cTermR <- which(LETTERS == prot[length(seq)]) computeCharge <- function(pH, compoAA, pK, nTermResidue, cTermResidue){ cter <- 10^(-SEQINR.UTIL$pk[cTermResidue,1]) / (10^(-SEQINR.UTIL$pk[cTermResidue,1]) + 10^(-pH)) nter <- 10^(-pH) / (10^(-SEQINR.UTIL$pk[nTermResidue,2]) + 10^(-pH)) carg <- as.vector(compoAA['R'] * 10^(-pH) / (10^(-pK['R']) + 10^(-pH))) chis <- as.vector(compoAA['H'] * 10^(-pH) / (10^(-pK['H']) + 10^(-pH))) clys <- as.vector(compoAA['K'] * 10^(-pH) / (10^(-pK['K']) + 10^(-pH))) casp <- as.vector(compoAA['D'] * 10^(-pK['D']) /(10^(-pK['D']) + 10^(-pH))) cglu <- as.vector(compoAA['E'] * 10^(-pK['E']) / (10^(-pK['E']) + 10^(-pH))) ccys <- as.vector(compoAA['C'] * 10^(-pK['C']) / (10^(-pK['C']) + 10^(-pH))) ctyr <- as.vector(compoAA['Y'] * 10^(-pK['Y']) / (10^(-pK['Y']) + 10^(-pH))) charge <- carg + clys + chis + nter - (casp + cglu + ctyr + ccys + cter) return(charge) } pHseq <- seq(from = 0, to = 14, by = 0.1) Bje <- pK$Bjellqvist names(Bje) <- rownames(pK) res <- computeCharge(pHseq, compoAA, Bje, nTermR, cTermR) plot(pHseq, res, type = "l", ylab = "Charge", las = 1, main = paste("Charge of protein\n",c2s(prot)), xlab = "pH") for(j in 2:ncol(pK)){ src <- pK[,j] names(src) <- rownames(pK) res <- computeCharge(pHseq, compoAA, src, nTermR, cTermR) lines(pHseq, res, lty = j, col = rainbow(5)[j]) } abline(h=0) abline(v=computePI(prot)) legend("bottomleft", inset = 0.01, colnames(pK), lty = 1:6, col = c("black", rainbow(5))) } \keyword{datasets} seqinr/man/readfirstrec.Rd0000644000176000001440000000365611135564707015345 0ustar ripleyusers\name{readfirstrec} \alias{readfirstrec} \title{Low level function to get the record count of the specified ACNUC index file} \description{ Called without arguments, the list of available values for argument type is returned. } \usage{ readfirstrec(socket = autosocket(), type) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{type}{the ACNUC index file} } \details{ Available index files are: \describe{ \item{AUT}{AUTHOR one record for each author name (last name only, no initials)} \item{BIB}{BIBLIO one record for each reference} \item{ACC}{ACCESS one record for each accession number} \item{SMJ}{SMJYT one record for each status, molecule, journal, year, type, organelle, division, and db structure information} \item{SUB}{SUBSEQ one record for each parent or sub-sequence} \item{LOC}{LOCUS one record for each parent sequence} \item{KEY}{KEYWORDS one record for each keyword} \item{SPEC}{SPECIES one record for each taxon} \item{SHRT}{SHORTL mostly, one record for each element of a short list} \item{LNG}{LONGL one record for each group of SUBINLNG elements of a long list} \item{EXT}{EXTRACT (for nucleotide databases only) one record for each exon of each subsequence} \item{TXT}{TEXT one lrtxt-character record for each label of a species, keyword, or SMJYT} } } \value{ The record count of ACNUC index file, or NA if missing (typically when asking for type = EXT on a protein database). } \references{ See ACNUC physical structure at \url{http://pbil.univ-lyon1.fr/databases/acnuc/structure.html}.\cr \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}} } \examples{ \dontrun{ # Need internet connection choosebank("genbank") allowedtype <- readfirstrec() sapply(allowedtype, function(x) readfirstrec(type = x)) } } \keyword{utilities} seqinr/man/getlistrank.Rd0000644000176000001440000000217010706706252015201 0ustar ripleyusers\name{getlistrank} \alias{getlistrank} \alias{glr} \title{To get the rank of a list from its name} \description{ This is a low level function to get the rank of a list on server from its name. } \usage{ getlistrank(listname, socket = autosocket(), verbose = FALSE) glr(listname, socket = autosocket(), verbose = FALSE) } \arguments{ \item{listname}{the name of list on server} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{verbose}{if \code{TRUE}, verbose mode is on} } \details{ This low level function is usually not used directly by the user. } \value{ The rank of list named \code{listname} on server, or 0 if no list with this name exists. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{ # Need internet connection choosebank("emblTP") query("MyListName", "sp=Borrelia burgdorferi", virtual = TRUE) (result <- getlistrank("MyListName")) stopifnot(result == 2) closebank() } } \keyword{utilities} seqinr/man/dotPlot.Rd0000644000176000001440000000632012426453046014301 0ustar ripleyusers\name{dotPlot} \alias{dotPlot} \title{ Dot Plot Comparison of two sequences } \description{ Dot plots are most likely the oldest visual representation used to compare two sequences (see Maizel and Lenk 1981 and references therein). In its simplest form, a dot is produced at position (i,j) iff character number i in the first sequence is the same as character number j in the second sequence. More eleborated forms use sliding windows and a threshold value for two windows to be considered as matched. } \usage{ dotPlot(seq1, seq2, wsize = 1, wstep = 1, nmatch = 1, col = c("white", "black"), xlab = deparse(substitute(seq1)), ylab = deparse(substitute(seq2)), ...) } \arguments{ \item{seq1}{ the first sequence (x-axis) as a vector of single chars.} \item{seq2}{ the second sequence (y-axis) as a vector of single char.} \item{wsize}{ the size in chars of the moving window.} \item{wstep}{ the size in chars for the steps of the moving window. Use \code{wstep == wsize} for non-overlapping windows.} \item{nmatch}{ if the number of match per window is greater than or equal to \code{nmatch} then a dot is produced.} \item{col}{ color of points passed to \code{image}.} \item{xlab}{ label of x-axis passed to \code{image}.} \item{ylab}{ label of y-axis passed to \code{image}.} \item{...}{ further arguments passed to \code{image}.} } \value{ NULL. } \references{ Maizel, J.V. and Lenk, R.P. (1981) Enhanced Graphic Matrix Analysis of Nucleic Acid and Protein Sequences. \emph{Proceedings of the National Academy of Science USA}, \bold{78}:7665-7669.\cr \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{image}} } \examples{ # # Identity is on the main diagonal: # dotPlot(letters, letters, main = "Direct repeat") # # Internal repeats are off the main diagonal: # dotPlot(rep(letters, 2), rep(letters, 2), main = "Internal repeats") # # Inversions are orthogonal to the main diagonal: # dotPlot(letters, rev(letters), main = "Inversion") # # Insertion in the second sequence yields a vertical jump: # dotPlot(letters, c(letters[1:10], s2c("insertion"), letters[11:26]), main = "Insertion in the second sequence", asp = 1) # # Insertion in the first sequence yields an horizontal jump: # dotPlot(c(letters[1:10], s2c("insertion"), letters[11:26]), letters, main = "Insertion in the first sequence", asp = 1) # # Protein sequences have usually a good signal/noise ratio because there # are 20 possible amino-acids: # aafile <- system.file("sequences/seqAA.fasta", package = "seqinr") protein <- read.fasta(aafile)[[1]] dotPlot(protein, protein, main = "Dot plot of a protein\nwsize = 1, wstep = 1, nmatch = 1") # # Nucleic acid sequences have usually a poor signal/noise ratio because # there are only 4 different bases: # dnafile <- system.file("sequences/malM.fasta", package = "seqinr") dna <- protein <- read.fasta(dnafile)[[1]] dotPlot(dna[1:200], dna[1:200], main = "Dot plot of a nucleic acid sequence\nwsize = 1, wstep = 1, nmatch = 1") # # Play with the wsize, wstep and nmatch arguments to increase the # signal/noise ratio: # dotPlot(dna[1:200], dna[1:200], wsize = 3, wstep = 3, nmatch = 3, main = "Dot plot of a nucleic acid sequence\nwsize = 3, wstep = 3, nmatch = 3") } \keyword{ utilities } seqinr/man/read.fasta.Rd0000644000176000001440000001567012435602615014672 0ustar ripleyusers\name{read.fasta} \alias{read.fasta} \alias{readfasta} \alias{FASTA} \title{ read FASTA formatted files } \description{ Read nucleic or amino-acid sequences from a file in FASTA format. } \usage{ read.fasta(file = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", seqtype = c("DNA", "AA"), as.string = FALSE, forceDNAtolower = TRUE, set.attributes = TRUE, legacy.mode = TRUE, seqonly = FALSE, strip.desc = FALSE, bfa = FALSE, sizeof.longlong = .Machine$sizeof.longlong, endian = .Platform$endian, apply.mask = TRUE) } \arguments{ \item{file}{ The name of the file which the sequences in fasta format are to be read from. If it does not contain an absolute or relative path, the file name is relative to the current working directory, \code{\link{getwd}}. The default here is to read the \code{ct.fasta} file which is present in the \code{sequences} folder of the seqinR package.} \item{seqtype}{ the nature of the sequence: \code{DNA} or \code{AA}, defaulting to \code{DNA} } \item{as.string}{ if TRUE sequences are returned as a string instead of a vector of single characters} \item{forceDNAtolower}{ whether sequences with \code{seqtype == "DNA"} should be returned as lower case letters } \item{set.attributes}{ whether sequence attributes should be set} \item{legacy.mode}{if TRUE lines starting with a semicolon ';' are ignored} \item{seqonly}{if TRUE, only sequences as returned without attempt to modify them or to get their names and annotations (execution time is divided approximately by a factor 3)} \item{strip.desc}{if TRUE the '>' at the beginning of the description lines is removed in the annotations of the sequences} \item{bfa}{logical. If TRUE the fasta file is in MAQ binary format (see details). Only for DNA sequences.} \item{sizeof.longlong}{the number of bytes in a C \code{long long} type. Only relevant for \code{bfa = TRUE}. See \code{\link{.Machine}}} \item{endian}{character string, \code{"big"} or \code{"little"}, giving the endianness of the processor in use. Only relevant for \code{bfa = TRUE}. See \code{\link{.Platform}}} \item{apply.mask}{logical defaulting to \code{TRUE}. Only relevant for \code{bfa = TRUE}. When this flag is \code{TRUE} the mask in the MAQ binary format is used to replace non acgt characters in the sequence by the n character. For pure acgt sequences (without gaps or ambiguous bases) turning this to \code{FALSE} will save time.} } \details{ FASTA is a widely used format in biology, some FASTA files are distributed with the seqinr package, see the examples section below. Sequence in FASTA format begins with a single-line description (distinguished by a greater-than '>' symbol), followed by sequence data on the next lines. Lines starting by a semicolon ';' are ignored, as in the original FASTA program (Pearson and Lipman 1988). The sequence name is just after the '>' up to the next space ' ' character, trailling infos are ignored for the name but saved in the annotations. The MAQ fasta binary format was introduced in seqinR 1.1-7 and has not been extensively tested. This format is used in the MAQ (Mapping and Assembly with Qualities) software (\url{http://maq.sourceforge.net/}). In this format the four nucleotides are coded with two bits and the sequence is stored as a vector of C \code{unsigned long long}. There is in addition a mask to locate non-acgt characters. } \note{ The old argument \code{File} that was deprecated since seqinR >= 1.1-3 is no more valid since seqinR >= 2.0-6. Just use \code{file} instead. } \value{ By default \code{read.fasta} return a list of vector of chars. Each element is a sequence object of the class \code{SeqFastadna} or \code{SeqFastaAA}. } \references{ Pearson, W.R. and Lipman, D.J. (1988) Improved tools for biological sequence comparison. \emph{Proceedings of the National Academy of Sciences of the United States of America}, \bold{85}:2444-2448 FIXME: a reference to MAQ when published. \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{ \code{\link{write.fasta}} to write sequences in a FASTA file, \code{\link{gb2fasta}} to convert a GenBank file into a FASTA file, \code{\link{read.alignment}} to read aligned sequences, \code{\link{reverse.align}} to get an alignment at the nucleic level from the one at the amino-acid level } \examples{ # # Simple sanity check with a small FASTA file: # smallFastaFile <- system.file("sequences/smallAA.fasta", package = "seqinr") mySmallProtein <- read.fasta(file = smallFastaFile, as.string = TRUE, seqtype = "AA")[[1]] stopifnot(mySmallProtein == "SEQINRSEQINRSEQINRSEQINR*") # # Example of a DNA file in FASTA format: # dnafile <- system.file("sequences/malM.fasta", package = "seqinr") # # Read with defaults arguments, looks like: # # $XYLEECOM.MALM # [1] "a" "t" "g" "a" "a" "a" "a" "t" "g" "a" "a" "t" "a" "a" "a" "a" "g" "t" # ... read.fasta(file = dnafile) # # The same but do not turn the sequence into a vector of single characters, looks like: # # $XYLEECOM.MALM # [1] "atgaaaatgaataaaagtctcatcgtcctctgtttatcagcagggttactggcaagcgc # ... read.fasta(file = dnafile, as.string = TRUE) # # The same but do not force lower case letters, looks like: # # $XYLEECOM.MALM # [1] "ATGAAAATGAATAAAAGTCTCATCGTCCTCTGTTTATCAGCAGGGTTACTGGCAAGC # ... read.fasta(file = dnafile, as.string = TRUE, forceDNAtolower = FALSE) # # Example of a protein file in FASTA format: # aafile <- system.file("sequences/seqAA.fasta", package = "seqinr") # # Read the protein sequence file, looks like: # # $A06852 # [1] "M" "P" "R" "L" "F" "S" "Y" "L" "L" "G" "V" "W" "L" "L" "L" "S" "Q" "L" # ... read.fasta(aafile, seqtype = "AA") # # The same, but as string and without attributes, looks like: # # $A06852 # [1] "MPRLFSYLLGVWLLLSQLPREIPGQSTNDFIKACGRELVRLWVEICGSVSWGRTALSLEEP # QLETGPPAETMPSSITKDAEILKMMLEFVPNLPQELKATLSERQPSLRELQQSASKDSNLNFEEFK # KIILNRQNEAEDKSLLELKNLGLDKHSRKKRLFRMTLSEKCCQVGCIRKDIARLC*" # read.fasta(aafile, seqtype = "AA", as.string = TRUE, set.attributes = FALSE) # # Example with a FASTA file that contains comment lines starting with # a semicolon character ';' # legacyfile <- system.file("sequences/legacy.fasta", package = "seqinr") legacyseq <- read.fasta(file = legacyfile, as.string = TRUE) stopifnot( nchar(legacyseq) == 921 ) # # Example of a MAQ binary fasta file produced with maq fasta2bfa ct.fasta ct.bfa # on a platform where .Platform$endian == "little" and .Machine$sizeof.longlong == 8 # \dontrun{ fastafile <- "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta" bfafile <- "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.bfa" original <- read.fasta(fastafile, as.string = TRUE, set.att = FALSE) bfavers <- read.fasta(bfafile, as.string = TRUE, set.att = FALSE, bfa = TRUE, endian = "little", sizeof.longlong = 8) if(!identical(original, bfavers)){ warning(paste("trouble reading bfa file with endian =", .Platform$endian, "and sizeof.longlong =", .Machine$sizeof.longlong)) } } } seqinr/man/autosocket.Rd0000644000176000001440000000113710731222524015026 0ustar ripleyusers\name{autosocket} \alias{autosocket} \title{Returns a socket to the last opened database} \description{ This is a low level function that is mainly used to select automatically the last opened ACNUC database for functions using sockets. } \usage{ autosocket() } \value{ An object of class sockconn. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{connections}}.} \examples{ \dontrun{ #Need internet connection choosebank("emblTP") autosocket() closebank() } } \keyword{ utilities } seqinr/man/aacost.Rd0000644000176000001440000000572310701730721014124 0ustar ripleyusers\name{aacost} \alias{aacost} \docType{data} \title{Aerobic cost of amino-acids in Escherichia coli and G+C classes} \description{ The metabolic cost of amino-acid biosynthesis in \emph{E. coli} under aerobic conditions from table 1 in Akashi and Gojobori (2002). The G+C classes are from Lobry (1997). } \usage{data(aacost)} \format{ A data frame with 20 rows for the amino-acids and the following 7 columns: \describe{ \item{aaa}{amino-acid (three-letters code).} \item{a}{amino-acid (one-letter code).} \item{prec}{precursor metabolites (see details).} \item{p}{number of high-energy phosphate bonds contained in ATP and GTP molecules.} \item{h}{number of available hydrogen atoms carried in NADH, NADPH, and FADH2 molcules.} \item{tot}{total metabolic cost assuming 2 high-energy phosphate bonds per hydrogen atom.} \item{gc}{an ordered factor (l "a"}, \code{1 -> "c"}, \code{ 2 -> "g"}, \code{3 -> "t"}, \code{others -> NA}. } \usage{ n2s(nseq, levels = c("a", "c", "g", "t"), base4 = TRUE) } \arguments{ \item{nseq}{A vector of integers } \item{levels}{the translation vector } \item{base4}{when this logical is true, the numerical encoding of \code{levels} starts at 0, when it is false the numerical encoding of \code{levels} starts at 1.} } \value{ a vector of characters } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{s2n}} } \examples{ ##example of the default behaviour: nseq <- sample(x = 0:3, size = 100, replace = TRUE) n2s(nseq) # Show what happens with out-of-range and NA values: nseq[1] <- NA nseq[2] <- 777 n2s(nseq)[1:10] # How to get an RNA instead: n2s(nseq, levels = c("a", "c", "g", "u")) } \keyword{ utilities } seqinr/man/fasta.Rd0000644000176000001440000000111411435670145013746 0ustar ripleyusers\name{fasta} \docType{data} \alias{fasta} \title{Example of results obtained after a call to read.alignment} \description{This data set gives an example of a amino acids alignment obtained after a call to the function read.alignment on an alignment file in "fasta" format.} \usage{fasta} \format{A List of class alignment} \source{http://pbil.univ-lyon1.fr/help/formats.html/} \references{Pearson W.R. and Lipman D.J. (1988) \emph{Improved tools for biological sequence comparison.}.Proc Natl Acad Sci U S A. 85(8):2444-8.} \keyword{datasets} seqinr/man/alllistranks.Rd0000644000176000001440000000260710706703715015363 0ustar ripleyusers\name{alllistranks} \alias{alllistranks} \alias{alr} \title{To get the count of existing lists and all their ranks on server} \description{ This is a low level function to get the total number of list and all their ranks in an opened database. } \usage{ alllistranks(socket = autosocket(), verbose = FALSE) alr(socket = autosocket(), verbose = FALSE) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{verbose}{if \code{TRUE}, verbose mode is on} } \details{ This low level function is usually not used directly by the user. } \value{ A list with two components: \item{count}{count of existing lists} \item{rank}{their rank} } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{# Need internet connection choosebank("emblTP") query("tmp1", "sp=Borrelia burgdorferi", virtual = TRUE) query("tmp2", "sp=Borrelia burgdorferi", virtual = TRUE) query("tmp3", "sp=Borrelia burgdorferi", virtual = TRUE) (result <- alllistranks()) stopifnot(result$count == 3) # Three ACNUC lists stopifnot(result$ranks == 2:4) # Starting at rank 2 # # Summay of current lists defined on the ACNUC server: # sapply(result$ranks, getliststate) closebank() } } \keyword{utilities} seqinr/man/splitseq.Rd0000644000176000001440000000215510675463572014533 0ustar ripleyusers\name{splitseq} \alias{splitseq} \title{ split a sequence into sub-sequences } \description{ Split a sequence into sub-sequences of 3 (the default size) with no overlap between the sub-sequences. } \usage{ splitseq(seq, frame = 0, word = 3) } \arguments{ \item{seq}{ a vector of chars } \item{frame}{ an integer (0, 1, 2) giving the starting position to split the sequence } \item{word}{ an integer giving the size of the sub-sequences } } \value{ This function returns a vector which contains the sub-sequences. } \references{ \code{citation("seqinr")} \cr } \author{ J.R. Lobry } \seealso{ \code{\link{split}} } \examples{ cds <- s2c("aacgttgcaggtcgctcgctacgtagctactgttt") # # To obtain the codon sequence in frame 0: # stopifnot(identical(splitseq(cds), c("aac", "gtt", "gca", "ggt", "cgc", "tcg", "cta", "cgt", "agc", "tac", "tgt"))) # # Show the effect of frame and word with a ten char sequence: # (tenchar <- s2c("1234567890")) splitseq(tenchar, frame = 0) splitseq(tenchar, frame = 1) splitseq(tenchar, frame = 2) splitseq(tenchar, frame = 0, word = 2) splitseq(tenchar, frame = 0, word = 1) } \keyword{ manip } seqinr/man/uco.Rd0000644000176000001440000001243111274517342013442 0ustar ripleyusers\name{uco} \alias{uco} \alias{rscu} \title{ Codon usage indices } \description{ \code{uco} calculates some codon usage indices: the codon counts \code{eff}, the relative frequencies \code{freq} or the Relative Synonymous Codon Usage \code{rscu}. } \usage{ uco(seq, frame = 0, index = c("eff", "freq", "rscu"), as.data.frame = FALSE, NA.rscu = NA) } \arguments{ \item{seq}{ a coding sequence as a vector of chars } \item{frame}{ an integer (0, 1, 2) giving the frame of the coding sequence } \item{index}{ codon usage index choice, partial matching is allowed. \code{eff} for codon counts, \code{freq} for codon relative frequencies, and \code{rscu} the RSCU index} \item{as.data.frame}{ logical. If \code{TRUE}: all indices are returned into a data frame.} \item{NA.rscu}{ when an amino-acid is missing, RSCU are no more defined and repported as missing values (\code{NA}). You can force them to another value (typically 0 or 1) with this argument.} } \details{ Codons with ambiguous bases are ignored.\cr RSCU is a simple measure of non-uniform usage of synonymous codons in a coding sequence (Sharp \emph{et al.} 1986). RSCU values are the number of times a particular codon is observed, relative to the number of times that the codon would be observed for a uniform synonymous codon usage (i.e. all the codons for a given amino-acid have the same probability). In the absence of any codon usage bias, the RSCU values would be 1.00 (this is the case for sequence \code{cds} in the exemple thereafter). A codon that is used less frequently than expected will have an RSCU value of less than 1.00 and vice versa for a codon that is used more frequently than expected.\cr Do not use correspondence analysis on RSCU tables as this is a source of artifacts (Perriere and Thioulouse 2002, Suzuki \emph{et al.} 2008). Within-aminoacid correspondence analysis is a simple way to study synonymous codon usage (Charif \emph{et al.} 2005). For an introduction to correspondence analysis and within-aminoacid correspondence analysis see the chapter titled \emph{Multivariate analyses} in the seqinR manual that ships with the seqinR package in the \bold{doc} folder. You can also use internal correspondence analysis if you want to analyze simultaneously a row-block structure such as the within and between species variability (Lobry and Chessel 2003).\cr If \code{as.data.frame} is FALSE, \code{uco} returns one of these: \describe{ \item{ eff }{ a table of codon counts } \item{ freq }{ a table of codon relative frequencies } \item{ rscu }{ a numeric vector of relative synonymous codon usage values} } If \code{as.data.frame} is TRUE, \code{uco} returns a data frame with five columns: \describe{ \item{ aa }{ a vector containing the name of amino-acid } \item{ codon }{ a vector containing the corresponding codon } \item{ eff }{ a numeric vector of codon counts } \item{ freq }{ a numeric vector of codon relative frequencies } \item{ rscu }{ a numeric vector of RSCU index } } } \value{ If \code{as.data.frame} is FALSE, the default, a table for \code{eff} and \code{freq} and a numeric vector for \code{rscu}. If \code{as.data.frame} is TRUE, a data frame with all indices is returned. } \references{ \code{citation("seqinr")} \cr Sharp, P.M., Tuohy, T.M.F., Mosurski, K.R. (1986) Codon usage in yeast: cluster analysis clearly differentiates highly and lowly expressed genes. \emph{Nucl. Acids. Res.}, \bold{14}:5125-5143.\cr Perriere, G., Thioulouse, J. (2002) Use and misuse of correspondence analysis in codon usage studies. \emph{Nucl. Acids. Res.}, \bold{30}:4548-4555.\cr Lobry, J.R., Chessel, D. (2003) Internal correspondence analysis of codon and amino-acid usage in thermophilic bacteria. \emph{Journal of Applied Genetics}, \bold{44}:235-261. \url{http://jag.igr.poznan.pl/2003-Volume-44/2/pdf/2003_Volume_44_2-235-261.pdf}.\cr Charif, D., Thioulouse, J., Lobry, J.R., Perriere, G. (2005) Online Synonymous Codon Usage Analyses with the ade4 and seqinR packages. \emph{Bioinformatics}, \bold{21}:545-547. \url{http://pbil.univ-lyon1.fr/members/lobry/repro/bioinfo04/}.\cr Suzuki, H., Brown, C.J., Forney, L.J., Top, E. (2008) Comparison of Correspondence Analysis Methods for Synonymous Codon Usage in Bacteria. \emph{DNA Research}, \bold{15}:357-365. \url{http://dnaresearch.oxfordjournals.org/cgi/reprint/15/6/357}. } \author{ D. Charif, J.R. Lobry, G. Perriere } \examples{ ## Show all possible codons: words() ## Make a coding sequence from this: (cds <- s2c(paste(words(), collapse = ""))) ## Get codon counts: uco(cds, index = "eff") ## Get codon relative frequencies: uco(cds, index = "freq") ## Get RSCU values: uco(cds, index = "rscu") ## Show what happens with ambiguous bases: uco(s2c("aaannnttt")) ## Use a real coding sequence: rcds <- read.fasta(file = system.file("sequences/malM.fasta", package = "seqinr"))[[1]] uco( rcds, index = "freq") uco( rcds, index = "eff") uco( rcds, index = "rscu") uco( rcds, as.data.frame = TRUE) ## Show what happens with RSCU when an amino-acid is missing: ecolicgpe5 <- read.fasta(file = system.file("sequences/ecolicgpe5.fasta",package="seqinr"))[[1]] uco(ecolicgpe5, index = "rscu") ## Force NA to zero: uco(ecolicgpe5, index = "rscu", NA.rscu = 0) } \keyword{ manip } seqinr/man/setlistname.Rd0000644000176000001440000000273610706621630015206 0ustar ripleyusers\name{setlistname} \alias{setlistname} \title{Sets the name of an ACNUC list identified by its rank} \description{ This is a low level function to set the name of a list from an ACNUC server. It should not be used directly by end users. } \usage{ setlistname(lrank, name = "list1", socket = autosocket()) } \arguments{ \item{lrank}{the list rank on the ACNUC server} \item{name}{the name to use for this list} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ A single numeric value corresponding to: \item{NA}{Empty answer from server.} \item{0}{OK.} \item{3}{if another list with that name already existed and was deleted.} \item{4}{no list of rank \code{lrank} exists.} } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}}, \code{\link{glr}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") query("mylist", "sp=felis catus et t=CDS", virtual = TRUE) # Change list name on server: setlistname(lrank = glr("mylist"), name = "feliscatus") # 0, OK. glr("mylist") # 0, list doesn't exist no more. glr("feliscatus") # 2, this list exists. # Note the danger here: the object mylist is still present in the user workspace # while the corresponding list was deleted from server. } } \keyword{ utilities } seqinr/man/lseqinr.Rd0000644000176000001440000000066410642425375014340 0ustar ripleyusers\name{lseqinr} \alias{lseqinr} \title{ To see what's inside the package seqinr } \description{ This is just a shortcut for ls("package:seqinr") } \usage{ lseqinr() } \value{ The list of objects in the package seqinr } \references{ \code{citation("seqinr")} } \note{ Use \code{library(help=seqinr)} to have a summary of the functionc available in the package. } \author{ J.R. Lobry } \examples{ lseqinr() } \keyword{utilities} seqinr/man/fastacc.Rd0000644000176000001440000001337211256146307014264 0ustar ripleyusers\name{fastacc} \alias{fastacc} \title{Fast Allele in Common Count} \description{ The purpose of this function is to compute as fast as possible the number of allele in common between a target (typically the genetic profile observed at a crime scene, possibly a mixture with dropouts) and a database reference (typically genetic profile of individuals). Both are assumed to be pre-encoded at the bit level in a consistent way. } \usage{ fastacc(target, database) } \arguments{ \item{target}{the \code{\link{raw}} encoding of the target, typically 40 octets for a core-CODIS profile in 2009} \item{database}{the \code{\link{raw}} encoding of the database. If there are n entries in the database, then the database must n times longer than the target.} } \details{ This function is an RFC state. Comments are welcome. Genetic profiles are encoded at the bit level. One bit represents one allele. Count is based on a logical AND at bit level. Bit count is encoded at C level using the precomputed approach: one indirection with an auxiliary table of size 256 called \code{bits_in_char} which is pre-computed at R level and passed at C level. } \value{ A vector of \code{\link{integer}} giving for each entry in the database how many alleles are in common between the entry and the target. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \section{Warning }{Experimental, first release schedulded for seqinr 2.0-6 by the end of 2009} \seealso{ FIXME } \examples{ # # NOTE: # # This example section is a proof-of-concept stuff. Most code should be # enbeded in documented functions to avoid verbosity. But at the RFC stage # this is perhaps not a too bad idea to show how powerfull R is. # # # Let's start from the 16 loci available in the AmpFLSTR kit: # path <- system.file("abif/AmpFLSTR_Bins_v1.txt", package = "seqinr") resbin <- readBins(path) codis <- resbin[["Identifiler_CODIS_v1"]] names(codis) # # We count how many different alleles are present per locus: # na <- unlist(lapply(codis, function(x) length(x[[1]]))) na # # The number of octets required to encode a genetic for each locus is then: # ceiling(na/8) # # We need then a total of 40 octets to code these profiles: # sum(ceiling(na/8)) # # Let's definene a function to encode a profile at a given locus, and vice versa : # prof2raw <- function(profile, alleles) { if (!is.ordered(alleles)) stop("ordered factor expected for alleles") if (!is.character(profile)) stop("vector of character expected for profile") noctets <- ceiling(length(alleles)/8) res.b <- rawToBits(raw(noctets)) for (i in 1:length(profile)) { res.b[which(profile[i] == alleles)] <- as.raw(1) } return(packBits(res.b, type = "raw")) } raw2prof <- function(rawdata, alleles) { if (!is.ordered(alleles)) stop("ordered factor expected for alleles") if (!is.raw(rawdata)) stop("vector of raw expected for rawdata") res <- as.character(alleles)[as.logical(rawToBits(rawdata))] return(paste(res, collapse = ", ")) } # # Let now code all alleles present in codis as ordered factors: # allalleles <- lapply(codis, function(x) factor(x[, 1], levels = x[, 1], ordered = TRUE)) # # Let's play with our encoding/decoding utilities with first locus: # allalleles[[1]] # <8 8 9 10 11 12 13 14 15 16 17 18 19 >19 res <- prof2raw(c("8", "9", "13", "14", ">19"), allalleles[[1]]) res # c6 20 rawToBits(res) # 00 01 01 00 00 00 01 01 00 00 00 00 00 01 00 00 raw2prof(res, allalleles[[1]]) # "8, 9, 13, 14, >19" # # Let define a profile with all possible alleles: # ladder <- unlist(lapply(allalleles, function(x) prof2raw(as.character(x),x))) names(ladder) <- NULL stopifnot(identical(as.integer(ladder), c(255L, 63L, 255L, 255L, 255L, 63L, 255L, 63L, 255L, 31L, 255L, 63L, 255L, 255L, 7L, 255L, 3L, 255L, 63L, 255L, 255L, 255L, 255L, 15L, 255L, 127L, 255L, 3L, 255L, 255L, 255L, 255L, 3L, 3L, 255L, 15L, 255L, 255L, 255L, 7L))) # simple sanity check # # Let's make a simulated database. Here we use a random sampling # with a uniform distribution between all possible profile possible # at a given locus. A more realist sampling for an individual database # would be to sample only two alleles at each locus according to # observed frequencies in populations. # n <- 10^5 # the number of records in the database DB <- sapply(ladder, function(x) as.raw(sample(0:as.integer(x), size = n, replace = TRUE))) # # Now we make sure that the target is in the database: # target <- DB[666, ] DB <- as.vector(t(DB)) # put DB as a flat database (is it usefull?) # # Now we compute the number of alleles in common between the # target and all the entries in the DB: # system.time(res <- fastacc(target,DB)) # Fast, isn't it ? stopifnot(which.max(res) == 666) # sanity check # # Don't run : too tedious for routine check. We check here that complexity is # linear in time up to a 10 10^6 database size (roughly the size of individual # profiles at the EU level) # \dontrun{ maxn <- 10^7 DB <- sapply(ladder, function(x) as.raw(sample(0:as.integer(x), size = maxn, replace = T))) target <- DB[666, ] DB <- as.vector(t(DB)) np <- 10 nseq <- seq(from = 10^5, to = maxn, length = np) res <- numeric(np) i <- 1 for (n in nseq) { print(i) res[i] <- system.time(tmp <- fastacc(target, DB[1:n]))[1] stopifnot(which.max(tmp) == 666) i <- i + 1 } dbse <- data.frame(list(nseq = nseq, res = res)) x <- dbse$nseq y <- dbse$res plot(x, y, type = "b", xlab = "Number of entries in DB", ylab = "One query time [s]", las = 1, xlim = c(0, maxn), ylim = c(0, max(y)), main = "Data base size effect on query time") lm1 <- lm(y ~ x - 1) abline(lm1, col = "red") legend("topleft", inset = 0.01, legend = paste("y =", formatC(lm1$coef[1], digits = 3), "x"), col = "red", lty = 1) # # On my laptop the slope is 2.51e-08, that is a 1/4 of second to scan a database # with 10 10^6 entries. # } ## end } seqinr/man/chargaff.Rd0000644000176000001440000001145210460643256014417 0ustar ripleyusers\name{chargaff} \alias{chargaff} \docType{data} \title{Base composition in ssDNA for 7 bacterial DNA} \description{ Long before the genomic era, it was possible to get some data for the global composition of single-stranded DNA chromosomes by direct chemical analyses. These data are from Chargaff's lab and give the base composition of the L (Ligth) strand for 7 bacterial chromosomes. } \usage{data(chargaff)} \format{ A data frame with 7 observations on the following 4 variables. \describe{ \item{[A]}{frequencies of A bases in percent} \item{[G]}{frequencies of G bases in percent} \item{[C]}{frequencies of C bases in percent} \item{[T]}{frequencies of T bases in percent} } } \details{ Data are from Table 2 in Rudner \emph{et al.} (1969) for the L-strand. Data for \emph{Bacillus subtilis} were taken from a previous paper: Rudner \emph{et al.} (1968). This is in fact the average value observed for two different strains of \emph{B. subtilis}: strain W23 and strain Mu8u5u16.\cr Denaturated chromosomes can be separated by a technique of intermitent gradient elution from a column of methylated albumin kieselguhr (MAK), into two fractions, designated, by virtue of their buoyant densities, as L (light) and H (heavy). The fractions can be hydrolyzed and subjected to chromatography to determined their global base composition.\cr The surprising result is that we have almost exactly A=T and C=G in single stranded-DNAs. The second paragraph page 157 in Rudner \emph{et al.} (1969) says: "Our previous work on the complementary strands of \emph{B. subtilis} DNA suggested an additional, entirely unexpected regularity, namely, the equality in either strand of 6-amino and 6-keto nucleotides ( A + C = G + T). This relationship, which would normally have been regarded merely as the consequence of base-pairing in DNA duplex and would not have been predicted as a likely property of a single strand, is shown here to apply to all strand specimens isolated from denaturated DNA of the AT type (Table 2, preps. 1-4). It cannot yet be said to be established for the DNA specimens from the equimolar and GC types (nos. 5-7)." } \source{ Rudner, R., Karkas, J.D., Chargaff, E. (1968) Separation of \emph{B. subtilis} DNA into complementary strands, III. Direct Analysis. \emph{Proceedings of the National Academy of Sciences of the United States of America}, \bold{60}:921-922.\cr Rudner, R., Karkas, J.D., Chargaff, E. (1969) Separation of microbial deoxyribonucleic acids into complementary strands. \emph{Proceedings of the National Academy of Sciences of the United States of America}, \bold{63}:152-159. } \references{ Try \code{example(chargaff)} to mimic figure page 17 in \url{http://pbil.univ-lyon1.fr/members/lobry/articles/HDR.pdf}. The red areas correspond to non-allowed values beause the sum of the four bases frequencies cannot exceed 100\%. The white areas correspond to possible values (more exactly to the projection from \code{R^4} to the corresponding \code{R^2} planes of the region of allowed values). The blue lines correspond to the very small subset of allowed values for which we have in addition PR2 state, that is \code{[A]=[T]} and \code{[C]=[G]}. Remember, these data are for ssDNA ! \code{citation("seqinr")} } \examples{ data(chargaff) op <- par(no.readonly = TRUE) par(mfrow = c(4,4), mai = rep(0,4), xaxs = "i", yaxs = "i") xlim <- ylim <- c(0, 100) for( i in 1:4 ) { for( j in 1:4 ) { if( i == j ) { plot(chargaff[,i], chargaff[,j],t = "n", xlim = xlim, ylim = ylim, xlab = "", ylab = "", xaxt = "n", yaxt = "n") polygon(x = c(0, 0, 100, 100), y = c(0, 100, 100, 0), col = "lightgrey") for( k in seq(from = 0, to = 100, by = 10) ) { lseg <- 3 segments(k, 0, k, lseg) segments(k, 100 - lseg, k, 100) segments(0, k, lseg, k) segments(100 - lseg, k, 100, k) } string <- paste(names(chargaff)[i],"\n\n",xlim[1],"\% -",xlim[2],"\%") text(x=mean(xlim),y=mean(ylim), string, cex = 1.5) } else { plot(chargaff[,i], chargaff[,j], pch = 1, xlim = xlim, ylim = ylim, xlab = "", ylab = "", xaxt = "n", yaxt = "n", cex = 2) iname <- names(chargaff)[i] jname <- names(chargaff)[j] direct <- function() segments(0, 0, 50, 50, col="blue") invers <- function() segments(0, 50, 50, 0, col="blue") PR2 <- function() { if( iname == "[A]" & jname == "[T]" ) { direct(); return() } if( iname == "[T]" & jname == "[A]" ) { direct(); return() } if( iname == "[C]" & jname == "[G]" ) { direct(); return() } if( iname == "[G]" & jname == "[C]" ) { direct(); return() } invers() } PR2() polygon(x = c(0, 100, 100), y = c(100, 100, 0), col = "pink4") polygon(x = c(0, 0, 100), y = c(0, 100, 0)) } } } # Clean up par(op) } \keyword{datasets} seqinr/man/zscore.Rd0000644000176000001440000001070112426453046014157 0ustar ripleyusers\name{dinucleotides} \alias{rho} \alias{zscore} \title{Statistical over- and under- representation of dinucleotides in a sequence} \encoding{latin1} \description{ These two functions compute two different types of statistics for the measure of statistical dinculeotide over- and under-representation : the rho statistic, and the z-score, each computed for all 16 dinucleotides. } \usage{ rho(sequence, wordsize = 2, alphabet = s2c("acgt")) zscore(sequence, simulations = NULL, modele, exact = FALSE, alphabet = s2c("acgt"), ... ) } \arguments{ \item{sequence}{a vector of single characters.} \item{wordsize}{an integer giving the size of word (n-mer) to consider.} \item{simulations}{ If \code{NULL}, analytical solution is computed when available (models \code{base} and \code{codon}). Otherwise, it should be the number of permutations for the z-score computation } \item{modele}{ A string of characters describing the model chosen for the random generation } \item{exact}{ Whether exact analytical calculation or an approximation should be used } \item{alphabet}{ A vector of single characters. } \item{...}{ Optional parameters for specific model permutations are passed on to \code{\link{permutation}} function. } } \details{ The \code{rho} statistic, as presented in Karlin S., Cardon LR. (1994), can be computed on each of the 16 dinucleotides. It is the frequence of dinucleotide \emph{xy} divided by the product of frequencies of nucleotide \emph{x} and nucleotide \emph{y}. It is equal to 1.00 when dinucleotide \emph{xy} is formed by pure chance, and it is superior (respectively inferior) to 1.00 when dinucleotide \emph{xy} is over- (respectively under-) represented. The \code{zscore} statistic, as presented in Palmeira, L., Guguen, L. and Lobry JR. (2006). The statistic is the normalization of the \code{rho} statistic by its expectation and variance according to a given random sequence generation model, and follows the standard normal distribution. This statistic can be computed with several models (cf. \code{\link{permutation}} for the description of each of the models). We provide analytical calculus for two of them: the \code{base} permutations model and the \code{codon} permutations model. The \code{base} model allows for random sequence generation by shuffling (with/without replacement) of all bases in the sequence. Analytical computations are available for this model: either as an approximation for large sequences (cf. Palmeira, L., Guguen, L. and Lobry JR. (2006)), either as the exact analytical formulae (cf. Schbath, S. (1995)). The \code{position} model allows for random sequence generation by shuffling (with/without replacement) of bases within their position in the codon (bases in position I, II or III stay in position I, II or III in the new sequence. The \code{codon} model allows for random sequence generation by shuffling (with/without replacement) of codons. Analytical computation is available for this model (Gautier, C., Gouy, M. and Louail, S. (1985)). The \code{syncodon} model allows for random sequence generation by shuffling (with/without replacement) of synonymous codons. } \value{ a table containing the computed statistic for each dinucleotide } \references{ Gautier, C., Gouy, M. and Louail, S. (1985) Non-parametric statistics for nucleic acid sequence study. \emph{Biochimie}, \bold{67}:449-453. Karlin S. and Cardon LR. (1994) Computational DNA sequence analysis. \emph{Annu Rev Microbiol}, \bold{48}:619-654. Schbath, S. (1995) tude asymptotique du nombre d'occurrences d'un mot dans une chane de Markov et application la recherche de mots de frquence exceptionnelle dans les squences d'ADN. \emph{Thse de l'Universit Ren Descartes, Paris V} Palmeira, L., Guguen, L. and Lobry, J.R. (2006) UV-targeted dinucleotides are not depleted in light-exposed Prokaryotic genomes. \emph{Molecular Biology and Evolution}, \bold{23}:2214-2219. \url{http://mbe.oxfordjournals.org/cgi/reprint/23/11/2214} \code{citation("seqinr")} } \author{Leonor Palmeira and J.R. Lobry with suggestions from Avril Coghlan.} \seealso{ \code{\link{permutation}} } \examples{ \dontrun{ sequence <- sample(x = s2c("acgt"), size = 6000, replace = TRUE) rho(sequence) zscore(sequence, modele = "base") zscore(sequence, modele = "base", exact = TRUE) zscore(sequence, modele = "codon") zscore(sequence, simulations = 1000, modele = "syncodon") } } seqinr/man/synsequence.Rd0000644000176000001440000000155310457112007015210 0ustar ripleyusers\name{synsequence} \alias{synsequence} \title{Random synonymous coding sequence generation} \description{ Generates a random synonymous coding sequence, according to a certain codon usage bias } \usage{synsequence(sequence, numcode = 1, ucoweight = NULL)} \arguments{ \item{sequence}{ A nucleic acids sequence } \item{numcode}{ The genetic code number as in \code{translate} } \item{ucoweight}{ A list of weights containing the desired codon usage bias as generated by \code{ucoweight} } } \value{ a sequence translating to the same protein sequence as the original one (cf. \code{translate}), but containing synonymous codons } \references{ \code{citation("seqinr")} } \author{ Leonor Palmeira } \seealso{ \code{\link{ucoweight}} } \examples{ data(ec999) sequence=ec999[1][[1]] synsequence(sequence,1,ucoweight(sequence)) } \keyword{ utilities } seqinr/man/get.db.growth.Rd0000755000176000001440000000223312426725505015334 0ustar ripleyusers\name{get.db.growth} \alias{get.db.growth} \alias{dia.db.growth} \title{ Get the exponential growth of nucleic acid database content } \description{ Connects to the embl database to read the last release note about the number of nucleotides in the DDBJ/EMBL/Genbank database content. A log-linear fit is represented by dia.bd.gowth() with an estimate of the doubling time in months. } \usage{ get.db.growth( where = "ftp://ftp.ebi.ac.uk/pub/databases/embl/doc/relnotes.txt") dia.db.growth( get.db.growth.out = get.db.growth(), Moore = TRUE, ... ) } \arguments{ \item{where}{ the file containig the database growth table.} \item{get.db.growth.out}{ the output from get.db.growth() } \item{Moore}{ logical, if TRUE add lines corresponding to an exponential growth rate with a doubling time of 18 months, that is Moore's law.} \item{...}{further arguments to plot} } \value{ A dataframe with the statistics from the embl site. } \references{\url{http://www.ebi.ac.uk/embl/Documentation/Release_notes/current/relnotes.txt} \code{citation("seqinr")} } \author{ J.R. Lobry } \examples{ \dontrun{data <- get.db.growth()} \dontrun{dia.db.growth(data)} } \keyword{utilities} seqinr/man/ECH.Rd0000644000176000001440000000246011136402012013234 0ustar ripleyusers\name{ECH} \alias{ECH} \docType{data} \title{Forensic Genetic Profile Allelic Ladder Raw Data} \description{ This is an example of allelic ladder raw data for a human STR genetic profile at 16 loci (\emph{viz.} D8S1179, D21S11, D7S820, CSF1PO, D3S1358, TH01, D13S317, D16S539, D2S1338, D19S433, vWA, TPOX, D18S51, Amelogenin, D5S818, FGA) which are commonly used in forensic sciences for individual identifications. } \usage{data(ECH)} \format{ A list with 3 components as in \code{\link{JLO}} } \source{ Data were kindly provided by the INPS (Institut National de Police Scientifique) which is the national forensic sciences institute in France. Experiments were done at the LPS (Laboratoire de Police Scientifique de Lyon) in 2008. } \references{ \code{citation("seqinr")} Anonymous (2006) Applied Biosystem Genetic Analysis Data File Format. Available at \url{http://www.appliedbiosystems.com/support/software_community/ABIF_File_Format.pdf}. Last visited on 03-NOV-2008. } \author{J.R. Lobry} \seealso{ function \code{\link{read.abif}} to import files in ABIF format, data \code{\link{gs500liz}} for internal size standards, data \code{\link{identifiler}} for allele names in the allelic ladder, data \code{\link{JLO}} for an example of an individual sample file. } \examples{ data(JLO) } seqinr/man/dist.alignment.Rd0000644000176000001440000000300412272462030015560 0ustar ripleyusers\name{dist.alignment} \alias{dist.alignment} \title{ Pairwise Distances from Aligned Protein or DNA/RNA Sequences } \description{ These functions compute a matrix of pairwise distances from aligned sequences using similarity (Fitch matrix, for protein sequences only) or identity matrix (for protein and DNA sequences). The resulting matrix contains the squared root of the pairwise distances. For example, if identity between 2 sequences is 80%, the matrix will gives the squared root of (1.0 - 0.8) i.e. 0.4472136. } \usage{ dist.alignment(x, matrix = c("similarity", "identity"),gap) } \arguments{ \item{x}{an object of class \code{alignment}, as returned by \code{read.alignment} for instance} \item{matrix}{the matrix distance to be used, partial matching allowed } \item{gap}{-optional- with nucleotides, if set to 1, gaps will be counted in the identity measure } } \value{ The distance matrix, object of class \code{dist}, computed by using the specified distance measure. } \references{ The reference for the similarity matrix is :\cr Fitch, W.M. (1966) An improved method of testing for evolutionary homology. \emph{J. Mol. Biol.}, \bold{16}:9-16.\cr \code{citation("seqinr")} } \author{D. Charif and J.R. Lobry} \seealso{ \code{\link{read.alignment} } } \examples{ myseqs <- read.alignment(file = system.file("sequences/test.mase", package = "seqinr"), format = "mase") dist.alignment(myseqs, matrix = "identity" ) as.matrix(dist.alignment(myseqs, matrix = "identity" )) } \keyword{ manip } seqinr/man/seqinr-package.Rd0000644000176000001440000000100710701727117015540 0ustar ripleyusers\name{seqinr-package} \alias{seqinr-package} \alias{seqinr} \docType{package} \title{ Biological Sequences Retrieval and Analysis } \description{ Exploratory data analysis and data visualization for biological sequence (DNA and protein) data. Include also utilities for sequence data management under the ACNUC system. } \author{ Delphine Charif and Jean R. Lobry and Anamaria Necsulea and Leonor Palmeira Maintainer: Simon Penel } \references{ citation('seqinr') } \keyword{ package } seqinr/man/getliststate.Rd0000644000176000001440000000320410706677377015404 0ustar ripleyusers\name{getliststate} \alias{getliststate} \alias{gls} \alias{gln} \title{Asks for information about an ACNUC list of specified rank} \description{ Reply gives the type of list, its name, the number of elements it contains, and, for sequence lists, says whether the list contains only parent seqs (locus=T). } \usage{ getliststate(lrank, socket = autosocket()) gls(lrank, socket = autosocket()) gln(lrank, ...) } \arguments{ \item{lrank}{the name of the ACNUC list to modify} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{...}{arguments passed to getliststate} } \value{ NA in case of problem and an warning is issued. When there is no problem a list with the following 4 components: \item{type}{string. Type of ACNUC list (SQ, KW, SP)} \item{name}{string. ACNUC list name} \item{count}{numeric. Number of elements in ACNUC list} \item{locus}{logical. For ACNUC sequence lists TRUE means that the list contains only parent sequences. NA otherwise.} \code{gln} is a shortcut for \code{getliststate(lrank, ...)$name} } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}}, \code{\link{alr}}, \code{\link{glr}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") query("mylist", "sp=felis catus et t=cds", virtual=TRUE) getliststate(glr("mylist")) # SQ, MYLIST, 603, FALSE gln(glr("mylist")) # MYLIST (upper case letters on server) closebank() } } \keyword{ utilities } seqinr/man/EXP.Rd0000644000176000001440000001055010474667417013322 0ustar ripleyusers\name{EXP} \alias{EXP} \docType{data} \title{Vectors of coefficients to compute linear forms.} \description{ This dataset is used to compute linear forms on codon frequencies: if \code{codfreq} is a vector of codon frequencies then \code{drop(freq \%*\% EXP$CG3)} will return for instance the G+C content in third codon positions. Base order is the lexical order: a, c, g, t (or u). } \usage{data(EXP)} \format{List of 24 vectors of coefficients \describe{ \item{A}{num [1:4] 1 0 0 0} \item{A3}{num [1:64] 1 0 0 0 1 0 0 0 1 0 ...} \item{AGZ}{num [1:64] 0 0 0 0 0 0 0 0 1 0 ...} \item{ARG}{num [1:64] 0 0 0 0 0 0 0 0 1 0 ...} \item{AU3}{num [1:64] 1 0 0 1 1 0 0 1 1 0 ...} \item{BC}{num [1:64] 0 1 0 0 0 0 0 0 0 0 ...} \item{C}{num [1:4] 0 1 0 0} \item{C3}{num [1:64] 0 1 0 0 0 1 0 0 0 1 ...} \item{CAI}{num [1:64] 0.00 0.00 -1.37 -2.98 -2.58 ...} \item{CG}{num [1:4] 0 1 1 0} \item{CG1}{num [1:64] 0 0 0 0 0 0 0 0 0 0 ...} \item{CG12}{num [1:64] 0 0 0 0 0.5 0.5 0.5 0.5 0.5 0.5 ...} \item{CG2}{num [1:64] 0 0 0 0 1 1 1 1 1 1 ...} \item{CG3}{num [1:64] 0 1 1 0 0 1 1 0 0 1 ...} \item{CGN}{num [1:64] 0 0 0 0 0 0 0 0 0 0 ...} \item{F1}{num [1:64] 1.026 0.239 1.026 0.239 -0.097 ...} \item{G}{num [1:4] 0 0 1 0} \item{G3}{num [1:64] 0 0 1 0 0 0 1 0 0 0 ...} \item{KD}{num [1:64] -3.9 -3.5 -3.9 -3.5 -0.7 -0.7 -0.7 -0.7 -4.5 -0.8 ...} \item{Q}{num [1:64] 0 0 0 0 1 1 1 1 0 0 ...} \item{QA3}{num [1:64] 0 0 0 0 1 0 0 0 0 0 ...} \item{QC3}{num [1:64] 0 0 0 0 0 1 0 0 0 0 ...} \item{U}{num [1:4] 0 0 0 1} \item{U3}{num [1:64] 0 0 0 1 0 0 0 1 0 0 ...} } } \details{ It's better to work directly at the amino-acid level when computing linear forms on amino-acid frequencies so as to have a single coefficient vector. For instance \code{EXP$KD} to compute the Kyte and Doolittle hydrophaty index from codon frequencies is valid only for the standard genetic code.\cr \cr An alternative for \code{drop(freq \%*\% EXP$CG3)} is \code{ sum( freq * EXP$CG3 )}, but this is less efficient in terms of CPU time. The advantage of the latter, however, is that thanks to recycling rules you can use either \code{sum( freq * EXP$A )} or \code{sum( freq * EXP$A3 )}. To do the same with the \%*\% operator you have to explicit the recycling rule as in \code{ drop( freq \%*\% rep(EXP$A, 16))}. } \source{ ANALSEQ EXPFILEs for command EXP.\cr \url{http://biomserv.univ-lyon1.fr/doclogi/docanals/manuel.html} } \references{ \code{citation("seqinr")} \describe{ \item{A}{content in A nucleotide} \item{A3}{content in A nucleotide in third position of codon} \item{AGZ}{Arg content (aga and agg codons)} \item{ARG}{Arg content} \item{AU3}{content in A and U nucleotides in third position of codon} \item{BC}{Good choice (Bon choix). Gouy M., Gautier C. (1982) codon usage in bacteria : Correlation with gene expressivity. \emph{Nucleic Acids Research},\bold{10(22)}:7055-7074.} \item{C}{content in C nucleotides} \item{C3}{content in A nucleotides in third position of codon} \item{CAI}{Codon adaptation index for E. coli. Sharp, P.M., Li, W.-H. (1987) The codon adaptation index - a measure of directionam synonymous codon usage bias, and its potential applications. \emph{Nucleic Acids Research},\bold{15}:1281-1295.} \item{CG}{content in G + C nucleotides} \item{CG1}{content in G + C nucleotides in first position of codon} \item{CG12}{content in G + C nucleotides in first and second position of codon} \item{CG2}{content in G + C nucleotides in second position of codon} \item{CG3}{content in G + C nucleotides in third position of codon} \item{CGN}{content in CGA + CGU + CGA + CGG} \item{F1}{From Table 2 in Lobry, J.R., Gautier, C. (1994) Hydrophobicity, expressivity and aromaticity are the major trends of amino-acid usage in 999 \emph{Escherichia coli} chromosome-encode genes. \emph{Nucleic Acids Research},\bold{22}:3174-3180.} \item{G3}{content in G nucleotides in third position of codon} \item{KD}{Kyte, J., Doolittle, R.F. (1982) A simple method for displaying the hydropathic character of a protein. \emph{J. Mol. Biol.},\bold{157} :105-132.} \item{Q}{content in quartet} \item{QA3}{content in quartet with the A nucleotide in third position} \item{QC3}{content in quartet with the A nucleotide in third position} \item{U}{content in U nucleotide} \item{U3}{content in U nucleotides in third position of codon} } } \examples{ data(EXP) } \keyword{datasets} seqinr/man/countfreelists.Rd0000644000176000001440000000233710731223040015713 0ustar ripleyusers\name{countfreelists} \alias{countfreelists} \alias{cfl} \title{The number of free lists available and annotation lines in an ACNUC server} \description{ Returns the number of free lists available list of names of annotation lines in the opened ACNUC database. } \usage{ countfreelists(socket = autosocket()) cfl(socket = autosocket()) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ a list with the following 2 components: \item{free}{numeric. The number of free lists} \item{annotlines}{vector of strings. Names of annotation lines} } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{ # Need internet connection choosebank("emblTP") (rescountfreelists <- countfreelists()) stopifnot(all(rescountfreelists$annotlines == c("ALL", "AC", "PR", "DT", "KW", "OS", "OC", "OG", "RN", "RC", "RP", "RX", "RG", "RA", "RT", "RL", "DR", "CC", "AH", "AS", "FH", "FT", "CO", "SQ", "SEQ"))) closebank() } } \keyword{ utilities } seqinr/man/dia.bactgensize.Rd0000644000176000001440000000613612435635117015714 0ustar ripleyusers\name{dia.bactgensize} \alias{dia.bactgensize} \title{ Distribution of bacterial genome size from GOLD } \description{ This function tries to download the last update of the GOLD (Genomes OnLine Database) to extract bacterial genomes sizes when available. The histogram and the default density() output is produced. Optionally, a maximum likelihood estimate of a superposition of two or three normal distributions is also represented. } \usage{ dia.bactgensize(fit = 2, p = 0.5, m1 = 2000, sd1 = 600, m2 = 4500, sd2 = 1000, p3 = 0.05, m3 = 9000, sd3 = 1000, maxgensize = 20000, source = c("ftp://pbil.univ-lyon1.fr/pub/seqinr/data/goldtable15Dec07.txt", "http://www.genomesonline.org/DBs/goldtable.txt")) } \arguments{ \item{fit}{ integer value. If \code{fit == O} no normal fit is produced, if \code{fit == 2} try to fit a superposition of two normal distributions, if \code{fit == 3} try to fit a superposition of three normal distributions. } \item{p}{ initial guess for the proportion of the first population. } \item{m1}{ initial guess for the mean of the first population. } \item{sd1}{ initial guess for the standard deviation of the first population. } \item{m2}{ initial guess for the mean of the second population. } \item{sd2}{initial guess for the standard deviation of the second population. } \item{p3}{ initial guess for the proportion of the third population. } \item{m3}{ initial guess for the mean of the third population. } \item{sd3}{initial guess for the standard deviation of the third population. } \item{maxgensize}{maximum admissive value in bp for a bacterial genome size: only value less or equal to this threshold are considrered.} \item{source}{ the file with raw data. By default a local (outdated) copy is used.} } \value{ An invisible dataframe with three components: \item{genus }{genus name} \item{species }{species names} \item{gs }{genome size in Kb} } \references{ Please cite the following references when using data from GOLD: Kyrpides, N.C. (1999) Genomes OnLine Database (GOLD 1.0): a monitor of complete and ongoing genome projects world-wide. \emph{Bioinformatics}, \bold{15}:773-774.\cr Bernal, A., Ear, U., Kyrpides, N. (2001) Genomes OnLine Database (GOLD): a monitor of genome projects world-wide. \emph{Nucleic Acids Research}, \bold{29}:126-127.\cr Liolios, K., Tavernarakis, N., Hugenholtz, P., Kyrpides, N.C. (2006) The Genomes On Line Database (GOLD) v.2: a monitor of genome projects worldwide. \emph{Nucleic Acids Research}, \bold{34}:D332-D334.\cr Liolios, K., Mavrommatis, K., Tavernarakis, N., Kyrpides, N.C. (2008) The Genomes On Line Database (GOLD) in 2007: status of genomic and metagenomic projects and their associated metadata. \emph{Nucleic Acids Research}, \bold{in press}:D000-D000.\cr \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{density}} } \examples{ # # With a local outdated copy from GOLD: # dia.bactgensize() # # With last GOLD data: # \dontrun{ # Need internet connection dia.bactgensize(source = "http://www.genomesonline.org/DBs/goldtable.txt") } } \keyword{ utilities } seqinr/man/get.ncbi.Rd0000755000176000001440000000265010634004224014337 0ustar ripleyusers\name{get.ncbi} \alias{get.ncbi} \alias{ncbi.fna.url} \alias{ncbi.ptt.url} \alias{ncbi.stats} \alias{ncbi.gbk.url} \title{ Bacterial complete genome data from ncbi ftp site } \description{ Try to connect to ncbi ftp site to get a list of complete bacterial genomes. } \usage{ get.ncbi(repository = "ftp://ftp.ncbi.nih.gov/genomes/Bacteria/") } \arguments{ \item{repository}{ Where to look for data. The default value is the location of the complete bacterial genome sequences at ncbi ftp repository. } } \value{ Returns a data frame which contains the following columns: \item{species}{The species name as given by the corresponding folder name in the repository (\emph{e.g.} Yersinia\_pestis\_KIM).} \item{accession}{The accession number as given by the common prefix of file names in the repository (\emph{e.g.} NC\_004088).} \item{size.bp}{The size of the sequence in bp (\emph{e.g.} 4600755).} \item{type}{A factor with two levels (plasmid or chromosome) temptatively deduced from the description of the sequence.} } \references{ \code{citation("seqinr")} } \author{J.R. Lobry } \section{WARNING }{ This function is highly dependant on ncbi ftp site conventions for which we have no control. The ftp connection apparently does not work when there is a proxy, this problem is circumvented here in a rather crude way. } \examples{ \dontrun{bacteria <- get.ncbi()} \dontrun{summary(bacteria)} } \keyword{utilities} seqinr/man/comp.Rd0000644000176000001440000000323711275225550013614 0ustar ripleyusers\name{comp} \alias{comp} \title{ complements a nucleic acid sequence } \description{ Complements a sequence, for instance if the sequence is \code{"a","c","g","t"} it returns \code{"t","g","c","a"}. This is not the reverse complementary strand. This function can handle ambiguous bases if required. } \usage{ comp(seq, forceToLower = TRUE, ambiguous = FALSE) } \arguments{ \item{seq}{ a DNA sequence as a vector of single chars } \item{forceToLower}{ if TRUE characters in \code{seq} are forced to lower case} \item{ambiguous}{ if TRUE ambiguous bases in \code{seq} are handled} } \value{ a vector of characters which is the complement of the sequence, not the reverse complementary strand. Undefined values are returned as NA. } \author{ D. Charif, J.R. Lobry } \references{ \code{citation("seqinr")} } \seealso{ Because ssDNA sequences are always written in the 5'->3' direction, use rev(comp(seq)) to get the reverse complementary strand (see \code{\link{rev}}). } \examples{ ## ## Show that comp() does *not* return the reverve complementary strand: ## c2s(comp(s2c("aaaattttggggcccc"))) ## ## Show how to get the reverse complementary strand: ## c2s(rev(comp(s2c("aaaattttggggcccc")))) ## ## Show what happens with non allowed values: ## c2s(rev(comp(s2c("aaaaXttttYggggZcccc")))) ## ## Show what happens with ambiguous bases: ## allbases <- s2c("abcdghkmstvwn") comp(allbases) # NA are produced comp(allbases, ambiguous = TRUE) # No more NA ## ## Routine sanity checks: ## stopifnot(identical(comp(allbases, ambiguous = TRUE), s2c("tvghcdmksabwn"))) stopifnot(identical(comp(c("A", "C", "G", "T"), forceToLower = FALSE), c("T", "G", "C", "A"))) } seqinr/man/draw.rearranged.oriloc.Rd0000644000176000001440000000471112435602615017210 0ustar ripleyusers\name{draw.rearranged.oriloc} \alias{draw.rearranged.oriloc} \title{Graphical representation for rearranged nucleotide skews in prokaryotic chromosomes.} \description{ Graphical representation for rearranged nucleotide skews in prokaryotic chromosomes.} \usage{draw.rearranged.oriloc(rearr.ori, breaks.gcfw = NA, breaks.gcrev = NA, breaks.atfw = NA, breaks.atrev = NA)} \arguments{ \item{rearr.ori}{A data frame obtained with the \code{rearranged.oriloc} function. } \item{breaks.gcfw}{The coordinates of the breakpoints in the GC-skew, for forward transcribed protein coding sequences. These coordinates can be obtained with the \code{extract.breakpoints} function. } \item{breaks.gcrev}{The coordinates of the breakpoints in the GC-skew, for reverse transcribed protein coding sequences. These coordinates can be obtained with the \code{extract.breakpoints} function. } \item{breaks.atfw}{The coordinates of the breakpoints in the AT-skew, for forward transcribed protein coding sequences. These coordinates can be obtained with the \code{extract.breakpoints} function. } \item{breaks.atrev}{The coordinates of the breakpoints in the AT-skew, for reverse transcribed protein coding sequences. These coordinates can be obtained with the \code{extract.breakpoints} function. } } \references{ Necsulea, A. and Lobry, J.R. (2007) A New Method for Assessing the Effect of Replication on DNA Base Composition Asymmetry. \emph{Molecular Biology and Evolution}, \bold{24}:2169-2179. } \author{Jean R. Lobry and A. Necsulea } \seealso{ \code{\link{rearranged.oriloc}}, \code{\link{extract.breakpoints}} } \examples{ \dontrun{ ### Example for Chlamydia trachomatis #### ### Rearrange the chromosome and compute the nucleotide skews ### #r.ori <- rearranged.oriloc(seq.fasta = system.file("sequences/ct.fasta", package = "seqinr"), # g2.coord = system.file("sequences/ct.coord", package = "seqinr")) r.ori <- rearranged.oriloc(seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord = system.file("sequences/ct.coord", package = "seqinr")) ### Extract the breakpoints for the rearranged nucleotide skews ### breaks <- extract.breakpoints(r.ori, type = c("gcfw", "gcrev"), nbreaks = c(2, 2), gridsize = 50, it.max = 100) ### Draw the rearranged nucleotide skews and ### ### place the position of the breakpoints on the graphics ### draw.rearranged.oriloc(r.ori, breaks.gcfw = breaks$gcfw$breaks, breaks.gcrev = breaks$gcrev$breaks)} } seqinr/man/print.SeqAcnucWeb.Rd0000644000176000001440000000127212435326277016155 0ustar ripleyusers\name{print.SeqAcnucWeb} \alias{print.SeqAcnucWeb} \title{Print method for objects from class SeqAcnucWeb} \description{ Print the name, length, frame and genetic code number. } \usage{ \method{print}{SeqAcnucWeb}(x, ...) } \arguments{ \item{x}{A sequence of class \code{SeqAcnucWeb}} \item{\dots}{Arguments passed to \code{print}} } \value{ None. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{print}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") mylist <- query("mylist", "sp=felis catus") mylist$req[[1]] # name length frame ncbicg # "A06937" "34" "0" "1" } } \keyword{ manip } seqinr/man/draw.oriloc.Rd0000644000176000001440000000433212435602615015076 0ustar ripleyusers\name{draw.oriloc} \alias{draw.oriloc} \title{Graphical representation for nucleotide skews in prokaryotic chromosomes.} \description{ Graphical representation for nucleotide skews in prokaryotic chromosomes.} \usage{draw.oriloc(ori, main = "Title", xlab = "Map position in Kb", ylab = "Cumulated combined skew in Kb", las = 1, las.right = 3, ta.mtext = "Cumul. T-A skew", ta.col = "pink", ta.lwd = 1, cg.mtext = "Cumul. C-G skew", cg.col = "lightblue", cg.lwd = 1, cds.mtext = "Cumul. CDS skew", cds.col = "lightgreen", cds.lwd = 1, sk.col = "black", sk.lwd = 2, add.grid = TRUE, ...)} \arguments{ \item{ori}{A data frame obtained with the \code{oriloc} function.} \item{main}{The main title of the plot.} \item{xlab}{The x-axis title.} \item{ylab}{The y-axis title.} \item{las}{The style of axis labels for the bottom and left axes.} \item{las.right}{The style of axis labels for the right axis.} \item{ta.mtext}{The marginal legend for the TA skew.} \item{ta.col}{The color for the TA skew.} \item{ta.lwd}{The line width for the TA skew.} \item{cg.mtext}{The marginal legend for the CG skew.} \item{cg.col}{The color for the CG skew.} \item{cg.lwd}{The line width for the CG skew.} \item{cds.mtext}{The marginal legend for the CDS skew.} \item{cds.col}{The color for the CDS skew.} \item{cds.lwd}{The line width for the CDS skew.} \item{sk.col}{The color for the cumulated combined skew.} \item{sk.lwd}{The line width for the cumulated combined skew.} \item{add.grid}{Logical, if \code{TRUE} a vertical grid is added to the plot.} \item{...}{Further arguments are passed to the function \code{plot}.} } \references{ \code{citation("seqinr")} } \author{Jean R. Lobry } \seealso{ \code{\link{oriloc}}, \code{\link{rearranged.oriloc}}, \code{\link{extract.breakpoints}} } \examples{ \dontrun{ # need internet connection # # Example with Chlamydia trachomatis complete genome # ori <- oriloc() draw.oriloc(ori) # # The same, using more options from function draw.oriloc() # draw.oriloc(ori, main = expression(italic(Chlamydia~~trachomatis)~~complete~~genome), ta.mtext = "TA skew", ta.col = "red", cg.mtext = "CG skew", cg.col = "blue", cds.mtext = "CDS skew", cds.col = "seagreen", add.grid = FALSE) } } \keyword{hplot} seqinr/man/isenum.Rd0000644000176000001440000000422510724556463014164 0ustar ripleyusers\name{isenum} \alias{isenum} \alias{isn} \alias{getNumber.socket} \alias{getAttributsocket} \title{Get the ACNUC number of a sequence from its name or accession number} \description{ Gives the ACNUC number of a sequence in the \code{number} element of the returned list. More informations are returned for subsequences corresponding to coding sequences. } \usage{ isenum(what, idby = c("name", "access"), socket = autosocket()) isn(what, ...) getNumber.socket(socket, name) getAttributsocket(socket, name) } \arguments{ \item{what}{a sequence name or a sequence accession number} \item{idby}{is the sequence identified by name or by accession number? Default to name} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{...}{arguments passed to \code{isenum}.} \item{name}{a sequence name.} } \value{ A list whith the following 6 components: \item{number}{numeric. The ACNUC number of the sequence.} \item{length}{numeric. The length of the sequence.} \item{frame}{numeric. The reading frame (0, 1, or 2) of the sequence for CDS.} \item{gencode}{numeric. ACNUC's genetic code (0 means universal) of the sequence for CDS.} \item{ncbigc}{numeric. NCBI's genetic code (0 means universal) of the sequence for CDS.} \item{otheraccessmatches}{logical. If TRUE it means that several sequences are attached to the given accession nunmber, and that only the ACNUC number of the first attached sequence is returned in the \code{number} component of the list.} \code{isn(what, ...)} is a shortcut for \code{isenum(what, ...)$number}.\cr As from seqinR 1.1-3 \code{getNumber.socket} and \code{getAttributsocket} are deprecated (a warning is issued). } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") isenum("LMFLCHR36") isn("LMFLCHR36") stopifnot(isn("LMFLCHR36") == 13682678) # Example with CDS: isenum("AB004237") } } \keyword{ utilities } seqinr/man/rot13.Rd0000644000176000001440000000115410612437520013616 0ustar ripleyusers\name{rot13} \alias{rot13} \title{Ergheaf gur EBG-13 pvcurevat bs n fgevat} \description{ rot13 applied to the above title returns the string "Returns the ROT-13 ciphering of a string". } \usage{ rot13(string) } \arguments{ \item{string}{a string of characters.} } \value{ a string of characters. } \author{J.R. Lobry} \references{ \code{citation("seqinr")} } \seealso{\code{\link{chartr}} } \examples{ ## ## Simple ciphering of a string: ## message <- "Hello, world!" rot13(message) # "Uryyb, jbeyq!" ## ## Routine sanity check: ## stopifnot(identical(rot13(rot13(message)), message)) } \keyword{ manip } seqinr/man/syncodons.Rd0000644000176000001440000000745310675456337014715 0ustar ripleyusers\name{syncodons} \alias{syncodons} \title{Synonymous codons} \description{ Returns all synonymous codons for each codon given } \usage{syncodons(codons, numcode = 1)} \arguments{ \item{codons}{ A sequence of codons as generated by \code{splitseq} } \item{numcode}{ The genetic code number as in \code{translate} } } \value{ a list containing, for each codon given (list tags), all synonymous codons (including the original one) } \references{ \code{citation("seqinr")} } \author{ Leonor Palmeira, J.R. Lobry } \seealso{ \code{\link{synsequence}} } \examples{ # # The four synonymous codons for Alanine in the standard genetic code: # syncodons("ggg") # # With a sequence: # toycds <- s2c("tctgagcaaataaatcgg") syncodons(splitseq(toycds)) # # Sanity check with the standard genetic code: # stdgencode <- structure(list( ttt = c("ttc", "ttt"), ttc = c("ttc", "ttt"), tta = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), ttg = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), tct = c("agc", "agt", "tca", "tcc", "tcg", "tct"), tcc = c("agc", "agt", "tca", "tcc", "tcg", "tct"), tca = c("agc", "agt", "tca", "tcc", "tcg", "tct"), tcg = c("agc", "agt", "tca", "tcc", "tcg", "tct"), tat = c("tac", "tat"), tac = c("tac", "tat"), taa = c("taa", "tag", "tga"), tag = c("taa", "tag", "tga"), tgt = c("tgc", "tgt"), tgc = c("tgc", "tgt"), tga = c("taa", "tag", "tga"), tgg = "tgg", ctt = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), ctc = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), cta = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), ctg = c("cta", "ctc", "ctg", "ctt", "tta", "ttg"), cct = c("cca", "ccc", "ccg", "cct"), ccc = c("cca", "ccc", "ccg", "cct"), cca = c("cca", "ccc", "ccg", "cct"), ccg = c("cca", "ccc", "ccg", "cct"), cat = c("cac", "cat"), cac = c("cac", "cat"), caa = c("caa", "cag"), cag = c("caa", "cag"), cgt = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), cgc = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), cga = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), cgg = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), att = c("ata", "atc", "att"), atc = c("ata", "atc", "att"), ata = c("ata", "atc", "att"), atg = "atg", act = c("aca", "acc", "acg", "act"), acc = c("aca", "acc", "acg", "act"), aca = c("aca", "acc", "acg", "act"), acg = c("aca", "acc", "acg", "act"), aat = c("aac", "aat"), aac = c("aac", "aat"), aaa = c("aaa", "aag"), aag = c("aaa", "aag"), agt = c("agc", "agt", "tca", "tcc", "tcg", "tct"), agc = c("agc", "agt", "tca", "tcc", "tcg", "tct"), aga = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), agg = c("aga", "agg", "cga", "cgc", "cgg", "cgt"), gtt = c("gta", "gtc", "gtg", "gtt"), gtc = c("gta", "gtc", "gtg", "gtt"), gta = c("gta", "gtc", "gtg", "gtt"), gtg = c("gta", "gtc", "gtg", "gtt"), gct = c("gca", "gcc", "gcg", "gct"), gcc = c("gca", "gcc", "gcg", "gct"), gca = c("gca", "gcc", "gcg", "gct"), gcg = c("gca", "gcc", "gcg", "gct"), gat = c("gac", "gat"), gac = c("gac", "gat"), gaa = c("gaa", "gag"), gag = c("gaa", "gag"), ggt = c("gga", "ggc", "ggg", "ggt"), ggc = c("gga", "ggc", "ggg", "ggt"), gga = c("gga", "ggc", "ggg", "ggt"), ggg = c("gga", "ggc", "ggg", "ggt")), .Names = c("ttt", "ttc", "tta", "ttg", "tct", "tcc", "tca", "tcg", "tat", "tac", "taa", "tag", "tgt", "tgc", "tga", "tgg", "ctt", "ctc", "cta", "ctg", "cct", "ccc", "cca", "ccg", "cat", "cac", "caa", "cag", "cgt", "cgc", "cga", "cgg", "att", "atc", "ata", "atg", "act", "acc", "aca", "acg", "aat", "aac", "aaa", "aag", "agt", "agc", "aga", "agg", "gtt", "gtc", "gta", "gtg", "gct", "gcc", "gca", "gcg", "gat", "gac", "gaa", "gag", "ggt", "ggc", "gga", "ggg")) # # Now the check: # currentresult <- syncodons(words(alphabet = s2c("tcag"))) stopifnot(identical(stdgencode, currentresult)) } \keyword{ utilities } seqinr/man/extract.breakpoints.Rd0000644000176000001440000000655512435602615016656 0ustar ripleyusers\name{extract.breakpoints} \alias{extract.breakpoints} \title{Extraction of breakpoint positions on the rearranged nucleotide skews. } \description{ Extraction of breakpoint positions on the rearranged nucleotide skews. } \usage{extract.breakpoints(rearr.ori, type = c("atfw", "atrev", "gcfw", "gcrev"), nbreaks, gridsize = 100, it.max = 500)} \arguments{ \item{rearr.ori}{A data frame obtained with the \code{rearranged.oriloc} function. } \item{type}{The type of skew for which to extract the breakpoints; must be a subset of \code{c("atfw","atrev","gcfw","gcrev")}.} \item{nbreaks}{The number of breakpoints to extract for each type of skew. Provide a vector of the same length as \code{type}.} \item{gridsize}{To make sure that the best breakpoints are found, and to avoid finding only a local extremum of the likelihood and residual sum of square functions, a grid search is performed. The search for breakpoints is repeated \code{gridsize} times, with different starting values for the breakpoints. } \item{it.max}{The maximum number of iterations to be performed when searching for the breakpoints. This argument corresponds to the \code{it.max} argument in \code{segmented}.} } \details{ This method uses the \code{segmented} function in the \code{segmented} package to extract the breakpoints positions in the rearranged nucleotide skews obtained with the \code{rearranged.oriloc} function. To make sure that the best breakpoints are found, and to avoid finding only a local extremum of the likelihood and residual sum of square functions, a grid search is performed. The search for breakpoints is repeated \code{gridsize} times, with different starting values for the breakpoints. } \value{ This function returns a list, with as many elements as the \code{type} argument (for example \code{$gcfw} will contain the results for the rearranged GC-skew, for forward-encoded genes). Each element of this list is also a list, containing the following information: in \code{$breaks} the position of the breakpoints on the rearranged chromosome; in \code{$slopes.left} the slopes of the segments on the left side of each breakpoint; in \code{$slopes.right} the slopes of the segments on the right side of each breakpoint; in \code{$real.coord}, the coordinates of the breakpoints on the real chromosome (before rearrangement). } \references{ \code{citation("segmented")} Necsulea, A. and Lobry, J.R. (in prep) A novel method for assessing the effect of replication on DNA base composition asymmetry. } \author{A. Necsulea} \seealso{ \code{\link{oriloc}}, \code{\link{draw.rearranged.oriloc}}, \code{\link{rearranged.oriloc}} } \examples{ ### Example for Chlamydia trachomatis #### ### Rearrange the chromosome and compute the nucleotide skews ### \dontrun{r.ori <- rearranged.oriloc(seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord = system.file("sequences/ct.coord",package = "seqinr"))} ### Extract the breakpoints for the rearranged nucleotide skews ### \dontrun{breaks <- extract.breakpoints(r.ori,type = c("gcfw", "gcrev"), nbreaks = c(2, 2), gridsize = 50, it.max = 100)} ### Draw the rearranged nucleotide skews and ### ### place the position of the breakpoints on the graphics ### \dontrun{draw.rearranged.oriloc(r.ori, breaks.gcfw = breaks$gcfw$breaks, breaks.gcrev = breaks$gcrev$breaks)} } \keyword{utilities} seqinr/man/as.matrix.alignment.Rd0000644000176000001440000000107612426453046016542 0ustar ripleyusers\name{as.matrix.alignment} \alias{as.matrix.alignment} \title{as.matrix.alignment} \description{ Converts an alignment into a matrix of characters } \usage{ \method{as.matrix}{alignment}(x, ...) } \arguments{ \item{x}{ an object of the class alignment.} \item{...}{additional arguments to be passed to or from methods.} } \value{ A matrix of characters. } \author{J.R. Lobry} \seealso{ \code{\link{read.alignment}} } \examples{ phylip <- read.alignment(file = system.file("sequences/test.phylip", package = "seqinr"), format = "phylip") as.matrix(phylip) } seqinr/man/baselineabif.Rd0000644000176000001440000000175711264565001015263 0ustar ripleyusers\name{baselineabif} \Rdversion{1.1} \alias{baselineabif} \title{Estimation of baseline value} \description{ This function tries to estimate the baseline value for RFU data from capillary electrophoresis whith the heuristic that the most common value is the baseline. } \usage{ baselineabif(rfu, maxrfu = 1000) } \arguments{ \item{rfu}{a numeric vector of signal value} \item{maxrfu}{signal values greater or equal to maxrfu are forced to NA} } \value{A single numeric value for the estimated baseline.} \author{J.R. Lobry} \seealso{ \code{\link{JLO}} for a dataset example, \code{\link{plotabif}} to plot this kind of data, \code{\link{peakabif}} to estimate peak parameters. } \examples{ data(JLO) rfu <- JLO$Data$DATA.1 bl <- baselineabif(rfu) plot(1:length(rfu), rfu, type = "l", xlab = "Time [datapoint units]", ylab = "Signal [RFU]", main = "Example of baseline estimates") abline(h = bl, col="red", lty = 2) legend("topright", inset = 0.02, "Baseline estimate", lty = 2, col = "red") } seqinr/man/plotabif.Rd0000644000176000001440000000540611263553456014464 0ustar ripleyusers\name{plotabif} \alias{plotabif} \title{Electrophoregram plot for ABIF data} \description{ Simple chromatogram plot for data imported with the \code{\link{read.abif}} function. } \usage{ plotabif(abifdata, chanel = 1, tmin = 1/tscale, tmax = abifdata$Data[["SCAN.1"]]/tscale, tscale = 1000, yscale = 1000, type = "l", las = 1, xlab = paste("Time", tscale, sep = "/"), ylab = paste("RFU", yscale, sep = "/"), irange = (tmin*tscale):(tmax*tscale), x = irange/tscale, xlim = c(tmin, tmax), chanel.names = c(1:4,105), DATA = paste("DATA", chanel.names[chanel], sep = "."), y = abifdata$Data[[DATA]][irange]/yscale, ylim = c(min(y), max(y)), dyn = abifdata$Data[[paste("DyeN", chanel, sep = ".")]], main = paste(deparse(substitute(abifdata)), chanel, dyn, sep = " ; "), calibr = NULL, ladder.bp = NULL, allele.names = "identifiler", ladder.lab = TRUE, ...) } \arguments{ \item{abifdata}{the result returned by \code{\link{read.abif}}} \item{chanel}{the dye number} \item{tmin}{scaled starting time for the time axis} \item{tmax}{scaled ending time for the time axis} \item{tscale}{scale factor for the time axis} \item{yscale}{scale factor for the y-axis (RFU)} \item{type}{type of line drawing forwarded to \code{\link{plot}}} \item{las}{orientation of axis labels forwarded to \code{\link{plot}}} \item{xlab}{x-axis label forwarded to \code{\link{plot}}} \item{ylab}{y-axis label forwarded to \code{\link{plot}}} \item{irange}{indices of data to be plotted} \item{x}{values used for the x-axis} \item{xlim}{limits for the x-axis forwarded to \code{\link{plot}}} \item{chanel.names}{numbers extensions used for the DATA} \item{DATA}{names of the DATA components} \item{y}{values used for the y-axis} \item{ylim}{limits for the y-axis forwarded to \code{\link{plot}}} \item{dyn}{dye name} \item{main}{title for the plot forwarded to \code{\link{plot}}} \item{calibr}{an optional calibration function to convert time into bp} \item{ladder.bp}{an optional ladder scale in bp (calibr must be provided)} \item{allele.names}{name of the dataset with allele names} \item{ladder.lab}{logical: should allele names be added on plot} \item{...}{arguments forwarded to \code{\link{plot}}} } \value{ Returns invisibly its local graphical parameter settings. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ function \code{\link{read.abif}} to import files in ABIF format, data \code{\link{gs500liz}} for internal size standards, data \code{\link{identifiler}} for allele names in the allelic ladder, data \code{\link{JLO}} for an example of an individual sample file, data \code{\link{ECH}} for an example of an allelic lader. } \examples{ data(ECH) plotabif(ECH,chanel = 1, tmin = 3.2, tmax = 6.1) } seqinr/man/extractseqs.Rd0000644000176000001440000001057112435314544015224 0ustar ripleyusers\name{extractseqs} \alias{extractseqs} \alias{exseq} \title{To extract the sequences information of a sequence or a list of sequence in different formats} \description{ The function allows to extract large amount of data as whole genome sequences,using different output formats and types of extraction. This function is not yet available for windows. } \usage{ extractseqs(listname,socket = autosocket(), format="fasta", operation="simple",feature="xx", bounds="xx", minbounds="xx", verbose = FALSE, nzlines=1000) exseq(listname,socket = autosocket(), format="fasta",operation="simple", feature="xx", bounds="xx", minbounds="xx", verbose = FALSE, nzlines=1000) } \arguments{ \item{listname}{the name of list on server (may be a virtual list) } \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{format}{the format of output.Can be \code{acnuc}, \code{fasta},\code{flat} or \code{coordinates} } \item{operation}{the type of extraction. Can be \code{simple}, \code{translate}, \code{fragment}, \code{feature} or \code{region} } \item{feature}{-optional- the feature to be extracted (for operations "feature" or "region"): a feature table item (CDS, mRNA,...)} \item{bounds}{-optional- the bounds for extraction (for operations "fragment" or "region") } \item{minbounds}{-optional- the minimal bounds for extraction (for operations "fragment" or "region") } \item{verbose}{if \code{TRUE}, verbose mode is on} \item{nzlines}{number of line in zlib mode} } \details{ To extract a list of sequences (lrank argument) or a single sequence (seqnum argument) using different output formats and types of extraction. All formats except "coordinates" extract sequence data. Format "coordinates" extract coordinate data; start > end indicates the complementary strand. \describe{ \item{\strong{listname}}{sequence list name.} \item{\strong{socket}}{a socket of class connection and sockconn returned by \code{choosebank}. Default value (auto) means that the socket will be set to to the socket component of the banknameSocket variable. } \item{\strong{format}}{\code{acnuc}, \code{fasta}, \code{flat} or \code{coordinates}} \item{\strong{operation}}{\code{simple}, \code{translate}, \code{fragment}, \code{feature} or \code{region}} \item{\strong{feature}}{(for operations "feature" or "region") a feature table item (CDS, mRNA,...). \describe{ \item{\emph{simple}}{each sequence or subsequence is extracted.} \item{\emph{translate}}{meaningful only for protein-coding (sub)sequences that are extracted as protein sequences. Nothing is extracted for non-protein coding sequences.} \item{\emph{fragment}}{Allows to extract any part of the sequence(s) in list. Such part is specified by the bounds and minbounds arguments according to the syntax suggested by these examples: \tabular{lll}{ \tab 132,1600 \tab to extract from nucl. 132 to nucl 1600 of the sequence. If applied to a subsequence, coordinates are in the parent seq relatively to the subsequence start point.\cr \tab -10,10 \tab to extract from 10 nucl. BEFORE the 5' end of the sequence to nucl. 10 of it. Useful only for subsequences, and produces a fragment extracted from its parent sequence.\cr \tab e-20,e+10 \tab to extract from 20 nucl. BEFORE the 3' end of the sequence to 10 nucl. AFTER its 3' end. Useful only for subsequences, and produces a fragment extracted from its parent sequence.\cr \tab -20,e+5 \tab to extract from 20 nucl. BEFORE the 5' end of the sequence to 5 nucl. AFTER its 3' end. } } }} \item{\strong{bounds}}{(for operations "fragment" or "region") see syntax above.} \item{\strong{minbounds}}{same syntax as bounds. When the sequence data is too short for this quantity to be extracted, nothing is extracted. When the sequence data is between minbounds and bounds, extracted sequence data is extended by N's to the desired length.} } } \value{ Sequence data. } \references{ \code{citation("seqinr")} } \author{S.Penel} \seealso{ \code{\link{choosebank}}, \code{\link{query}} \code{\link{getlistrank}} } \examples{ \dontrun{# Need internet connection choosebank("emblTP") query("mylist", "k=globin", virtual = TRUE) mylist.fasta <- exseq("mylist", verbose = TRUE) # 103 lines of FASTA stopifnot(length(mylist.fasta) == 103) closebank() } } \keyword{utilities} seqinr/man/getType.Rd0000644000176000001440000000144710706674437014312 0ustar ripleyusers\name{getType} \alias{getType} \title{To get available subsequence types in an opened ACNUC database} \description{ This function returns all subsequence types (e.g. CDS, TRNA) present in an opened ACNUC database, using default database if no socket is provided. } \usage{ getType(socket = autosocket()) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ a list containing a short description for each subsequence type. } \references{ \code{citation("seqinr")} } \author{D. Charif and J.R. Lobry} \seealso{ \code{\link{choosebank}}, \code{\link{query}} } \examples{ \dontrun{ # Need internet connection choosebank("emblTP") getType()} } \keyword{utilities} seqinr/man/AnoukResult.Rd0000644000176000001440000000121010373333567015125 0ustar ripleyusers\name{AnoukResult} \alias{AnoukResult} \docType{data} \title{Expected numeric results for Ka and Ks computation} \description{ This data set is what should be obtained when runing \code{kaks()} on the test file Anouk.fasta in the sequences directory of the seqinR package. } \usage{data(AnoukResult)} \format{ A list with 4 components of class dist. \describe{ \item{ka}{Ka} \item{ks}{Ks} \item{vka}{variance for Ka} \item{vks}{variance for Ks} } } \details{ See the example in \code{\link{kaks}}. } \source{ The fasta test file was provided by Anamaria Necsulea. } \references{ \code{citation("seqinr")} } \keyword{datasets} seqinr/man/read.abif.Rd0000644000176000001440000000573212426453046014475 0ustar ripleyusers\name{read.abif} \alias{read.abif} \title{Read ABIF formatted files} \description{ ABIF stands for Applied Biosystem Inc. Format, a binary fromat modeled after TIFF format. Corresponding files usually have an \code{*.ab1} or \code{*.fsa} extension. } \usage{ read.abif(filename, max.bytes.in.file = file.info(filename)$size, pied.de.pilote = 1.2, verbose = FALSE) } \arguments{ \item{filename}{The name of the file.} \item{max.bytes.in.file}{The size in bytes of the file, defaulting to what is returned by \code{\link{file.info}}} \item{pied.de.pilote}{Safety factor: the argument \code{n} to \code{\link{readBin}} is set as \code{pied.de.pilote*max.bytes.in.file}.} \item{verbose}{logical [FALSE]. If TRUE verbose mode is on.} } \details{ All data are imported into memory, there is no attempt to read items on the fly. } \value{ A list with three components: \code{Header} which is a list that contains various low-level information, among which \code{numelements} is the number of elements in the directory and \code{dataoffset} the offset to find the location of the directory. \code{Directory} is a data.frame for the directory of the file with the number of row being the number of elements in the directory and the 7 columns describing various low-level information about the elements. \code{Data} is a list with the number of components equal to the number of elements in the directory. } \references{ \code{citation("seqinR")} Anonymous (2006) Applied Biosystem Genetic Analysis Data File Format. Available at \url{http://www.appliedbiosystems.com/support/software_community/ABIF_File_Format.pdf}. Last visited on 03-NOV-2008. The figure in the example section is an attempt to reproduce figure 1A from: Krawczyk, J., Goesmann, A., Nolte, R., Werber, M., Weisshaar, B. (2009) Trace2PS and FSA2PS: two software toolkits for converting trace and fsa files to PostScript format. \emph{Source Code for Biology and Medicine}, \bold{4}:4. } \author{J.R. Lobry} \seealso{ \code{\link{readBin}} which is used here to import the binary file and \code{\link{file.info}} to get the size of the file. See \code{\link{JLO}} for the files used in quality check. } \examples{ # # Quality check: # data(JLO) JLO.check <- read.abif(system.file("abif/2_FAC321_0000205983_B02_004.fsa", package = "seqinr")) stopifnot(identical(JLO, JLO.check)) # # Try to reproduce figure 1A from Krawczyk et al. 2009: # Krawczyk <- read.abif(system.file("abif/samplefsa2ps.fsa", package = "seqinr"))$Data x <- 1:length(Krawczyk[["DATA.1"]]) par(mar = c(2,4,2,0)+0.1, cex = 0.5) plot(x, Krawczyk[["DATA.1"]], type = "l", col = "blue", ylab = "", xlab = "", ylim = c(-2000, 10000), cex = 0.5, main = "Figure 1A from Krawczyk et al. 2009", xaxs = "i", yaxs = "i", xaxt = "n", yaxt = "n") axis(1, at = seq(2000, 24000, by = 2000)) axis(2, at = seq(-1000, 10000, by = 1000), las = 1) lines(x, Krawczyk[["DATA.2"]], col = "green") lines(x, Krawczyk[["DATA.3"]], col = "black") lines(x, Krawczyk[["DATA.4"]], col = "red") } seqinr/man/plot.SeqAcnucWeb.Rd0000644000176000001440000000246512435352544016000 0ustar ripleyusers\name{plot.SeqAcnucWeb} \alias{plot.SeqAcnucWeb} \title{To Plot Subsequences on the Parent Sequence} \description{ This function plots all the type of subsequences on a parent sequence. Subsequences are represented by colored rectangle on the parent sequence. For example, types could be CDS, TRNA, RRNA .... In order to get all the types that are available for the selected database, use \code{getType}. } \usage{ \method{plot}{SeqAcnucWeb}(x, types = getType()$sname, socket = autosocket(), ...) } \arguments{ \item{x}{A sequence of class \code{SeqAcnucWeb}} \item{types}{ The type of subsequences to plot. Default value is to consider all possible subsequence types.} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{\dots}{not currently used} } \value{ An invisible list giving, for each subsequence, its position on the parent sequence. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{D. Charif and J.R. Lobry} \seealso{\code{\link{getType}}, \code{\link{query}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") mylist <- query("mylist", "AC=AB078009") plot(mylist$req[[1]]) } } \keyword{ hplot } seqinr/man/gbk2g2.Rd0000644000176000001440000000202312435602615013724 0ustar ripleyusers\name{gbk2g2} \alias{gbk2g2} \title{ Conversion of a GenBank format file into a glimmer-like one } \description{ This function reads a file in GenBank format and converts the features corresponding to CDS (Coding Sequences) into a format similar to glimmer program output. } \usage{ gbk2g2(gbkfile = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.gbk", g2.coord = "g2.coord") } \arguments{ \item{gbkfile}{ The name of the GenBank file } \item{g2.coord}{ The name of the output file in glimmer-like format } } \details{ Partial CDS (either 5' or 3') and join in features are discarded. } \value{ The input file is returned invisibly. } \references{ \code{citation("seqinr")} } \author{J.R. lobry } \seealso{ \code{\link{oriloc}} which uses glimmer-like files, \code{\link{gbk2g2.euk}} for eukaryotic sequences with introns.} \examples{ \dontrun{ # need internet connection suppressWarnings(gbk2g2(g2.coord = "gbk2g2.test")) res <- read.table("gbk2g2.test") head(res) stopifnot(nrow(res) == 892) } } \keyword{utilities} seqinr/man/GC.Rd0000644000176000001440000001740612426453046013154 0ustar ripleyusers\name{G+C Content} \alias{GC} \alias{GC1} \alias{GC2} \alias{GC3} \alias{GCpos} \title{Calculates the fractional G+C content of nucleic acid sequences.} \description{ Calculates the fraction of G+C bases of the input nucleic acid sequence(s). It reads in nucleic acid sequences, sums the number of 'g' and 'c' bases and writes out the result as the fraction (in the interval 0.0 to 1.0) to the total number of 'a', 'c', 'g' and 't' bases. Global G+C content \code{GC}, G+C in the first position of the codon bases \code{GC1}, G+C in the second position of the codon bases \code{GC2}, and G+C in the third position of the codon bases \code{GC3} can be computed. All functions can take ambiguous bases into account when requested. } \usage{ GC(seq, forceToLower = TRUE, exact = FALSE, NA.GC = NA, oldGC = FALSE) GC1(seq, frame = 0, ...) GC2(seq, frame = 0, ...) GC3(seq, frame = 0, ...) GCpos(seq, pos, frame = 0, ...) } \arguments{ \item{seq}{a nucleic acid sequence as a vector of single characters} \item{frame}{for coding sequences, an integer (0, 1, 2) giving the frame} \item{forceToLower}{logical. if \code{TRUE} force sequence characters in lower-case. Turn this to \code{FALSE} to save time if your sequence is already in lower-case (cpu time is approximately divided by 3 when turned off)} \item{exact}{logical: if \code{TRUE} ambiguous bases are taken into account when computing the G+C content (see details). Turn this to \code{FALSE} to save time if your you can neglect ambiguous bases in your sequence (cpu time is approximately divided by 3 when turned off) } \item{NA.GC}{what should be returned when the GC is impossible to compute from data, for instance with NNNNNNN. This behaviour could be different when argument \code{exact} is \code{TRUE}, for instance the G+C content of WWSS is \code{NA} by default, but is 0.5 when \code{exact} is set to \code{TRUE}} \item{...}{arguments passed to the function \code{GC}} \item{pos}{for coding sequences, the codon position (1, 2, 3) that should be taken into account to compute the G+C content} \item{oldGC}{logical defaulting to \code{FALSE}: should the GC content computed as in seqinR <= 1.0-6, that is as the sum of 'g' and 'c' bases divided by the length of the sequence. As from seqinR >= 1.1-3, this argument is deprecated and a warning is issued.} } \details{ When \code{exact} is set to \code{TRUE} the G+C content is estimated with ambiguous bases taken into account. Note that this is time expensive. A first pass is made on non-ambiguous bases to estimate the probabilities of the four bases in the sequence. They are then used to weight the contributions of ambiguous bases to the G+C content. Let note nx the total number of base 'x' in the sequence. For instance suppose that there are nb bases 'b'. 'b' stands for "not a", that is for 'c', 'g' or 't'. The contribution of 'b' bases to the GC base count will be: nb*(nc + ng)/(nc + ng + nt) The contribution of 'b' bases to the AT base count will be: nb*nt/(nc + ng + nt) All ambiguous bases contributions to the AT and GC counts are weighted is similar way and then the G+C content is computed as ngc/(nat + ngc). } \value{ \code{GC} returns the fraction of G+C (in [0,1]) as a numeric vector of length one. \code{GCpos} returns GC at position \code{pos}. \code{GC1}, \code{GC2}, \code{GC3} are wrappers for \code{GCpos} with the argument \code{pos} set to 1, 2, and 3, respectively. \code{NA} is returned when \code{seq} is \code{NA}. \code{NA.GC} defaulting to \code{NA} is returned when the G+C content can not be computed from data. } \references{ \code{citation("seqinr")}. The program codonW used here for comparison is available at \url{http://codonw.sourceforge.net/}. } \seealso{You can use \code{\link{s2c}} to convert a string into a vetor of single character and \code{\link{tolower}} to convert upper-case characters into lower-case characters. Do not confuse with \code{\link{gc}} for garbage collection. } \author{D. Charif and L. Palmeira and J.R. Lobry} \examples{ mysequence <- s2c("agtctggggggccccttttaagtagatagatagctagtcgta") GC(mysequence) # 0.4761905 GC1(mysequence) # 0.6428571 GC2(mysequence) # 0.3571429 GC3(mysequence) # 0.4285714 # # With upper-case characters: # myUCsequence <- s2c("GGGGGGGGGA") GC(myUCsequence) # 0.9 # # With ambiguous bases: # GC(s2c("acgt")) # 0.5 GC(s2c("acgtssss")) # 0.5 GC(s2c("acgtssss"), exact = TRUE) # 0.75 # # Missing data: # stopifnot(is.na(GC(s2c("NNNN")))) stopifnot(is.na(GC(s2c("NNNN"), exact = TRUE))) stopifnot(is.na(GC(s2c("WWSS")))) stopifnot(GC(s2c("WWSS"), exact = TRUE) == 0.5) # # Coding sequences tests: # cdstest <- s2c("ATGATG") stopifnot(GC3(cdstest) == 1) stopifnot(GC2(cdstest) == 0) stopifnot(GC1(cdstest) == 0) # # How to reproduce the results obtained with the C program codonW # version 1.4.4 writen by John Peden. We use here the "input.dat" # test file from codonW (there are no ambiguous base in these # sequences). # inputdatfile <- system.file("sequences/input.dat", package = "seqinr") input <- read.fasta(file = inputdatfile) # read the FASTA file inputoutfile <- system.file("sequences/input.out", package = "seqinr") input.res <- read.table(inputoutfile, header = TRUE) # read codonW result file # # remove stop codon before computing G+C content (as in codonW) # GC.codonW <- function(dnaseq, ...){ GC(dnaseq[seq_len(length(dnaseq) - 3)], ...) } input.gc <- sapply(input, GC.codonW, forceToLower = FALSE) max(abs(input.gc - input.res$GC)) # 0.0004946237 plot(x = input.gc, y = input.res$GC, las = 1, xlab = "Results with GC()", ylab = "Results from codonW", main = "Comparison of G+C content results") abline(c(0, 1), col = "red") legend("topleft", inset = 0.01, legend = "y = x", lty = 1, col = "red") \dontrun{ # Too long for routine check # This is a benchmark to compare the effect of various parameter # setting on computation time n <- 10 from <-10^4 to <- 10^5 size <- seq(from = from, to = to, length = n) res <- data.frame(matrix(NA, nrow = n, ncol = 5)) colnames(res) <- c("size", "FF", "FT", "TF", "TT") res[, "size"] <- size for(i in seq_len(n)){ myseq <- sample(x = s2c("acgtws"), size = size[i], replace = TRUE) res[i, "FF"] <- system.time(GC(myseq, forceToLower = FALSE, exact = FALSE))[3] res[i, "FT"] <- system.time(GC(myseq, forceToLower = FALSE, exact = TRUE))[3] res[i, "TF"] <- system.time(GC(myseq, forceToLower = TRUE, exact = FALSE))[3] res[i, "TT"] <- system.time(GC(myseq, forceToLower = TRUE, exact = TRUE))[3] } par(oma = c(0,0,2.5,0), mar = c(4,5,0,2) + 0.1, mfrow = c(2, 1)) plot(res$size, res$TT, las = 1, xlab = "Sequence size [bp]", ylim = c(0, max(res$TT)), xlim = c(0, max(res$size)), ylab = "") title(ylab = "Observed time [s]", line = 4) abline(lm(res$TT~res$size)) points(res$size, res$FT, col = "red") abline(lm(res$FT~res$size), col = "red", lty = 3) points(res$size, res$TF, pch = 2) abline(lm(res$TF~res$size)) points(res$size, res$FF, pch = 2, col = "red") abline(lm(res$FF~res$size), lty = 3, col = "red") legend("topleft", inset = 0.01, legend = c("forceToLower = TRUE", "forceToLower = FALSE"), col = c("black", "red"), lty = c(1,3)) legend("bottomright", inset = 0.01, legend = c("exact = TRUE", "exact = FALSE"), pch = c(1,2)) mincpu <- lm(res$FF~res$size)$coef[2] barplot( c(lm(res$FF~res$size)$coef[2]/mincpu, lm(res$TF~res$size)$coef[2]/mincpu, lm(res$FT~res$size)$coef[2]/mincpu, lm(res$TT~res$size)$coef[2]/mincpu), horiz = TRUE, xlab = "Increase of CPU time", col = c("red", "black", "red", "black"), names.arg = c("(F,F)", "(T,F)", "(F,T)", "(T,T)"), las = 1) title(ylab = "forceToLower,exact", line = 4) mtext("CPU time as function of options", outer = TRUE, line = 1, cex = 1.5) } } \keyword{manip} seqinr/man/s2n.Rd0000644000176000001440000000346710611141323013351 0ustar ripleyusers\name{s2n} \alias{s2n} \title{ simple numerical encoding of a DNA sequence. } \description{ By default, if no \code{levels} arguments is provided, this function will just code your DNA sequence in integer values following the lexical order \code{(a > c > g > t)}, that is 0 for "a", 1 for "c", 2 for "g", 3 for "t" and NA for ambiguous bases. } \usage{ s2n(seq, levels = s2c("acgt"), base4 = TRUE, forceToLower = TRUE) } \arguments{ \item{seq}{ the sequence as a vector of single chars } \item{levels}{ allowed char values, by default a, c, g and t } \item{base4}{if TRUE the numerical encoding will start at O, if FALSE at 1} \item{forceToLower}{if TRUE the sequence is forced to lower case caracters} } \value{ a vector of integers } \references{ \code{citation("seqinr")} } \author{J.R. Lobry } \note{ The idea of starting numbering at 0 by default is that it enforces a kind of isomorphism between the paste operator on DNA chars and the + operator on integer coding for DNA chars. By this way, you can work either in the char set, either in the integer set, depending on what is more convenient for your purpose, and then switch from one set to the other one as you like. } \seealso{ \code{\link{n2s}}, \code{\link{factor}}, \code{\link{unclass}} } \examples{ ## ## Example of default behaviour: ## urndna <- s2c("acgt") seq <- sample( urndna, 100, replace = TRUE ) ; seq s2n(seq) ## ## How to deal with RNA: ## urnrna <- s2c("acgt") seq <- sample( urnrna, 100, replace = TRUE ) ; seq s2n(seq) ## ## what happens with unknown characters: ## urnmess <- c(urndna,"n") seq <- sample( urnmess, 100, replace = TRUE ) ; seq s2n(seq) ## ## How to change the encoding for unknown characters: ## tmp <- s2n(seq) ; tmp[is.na(tmp)] <- -1; tmp ## ## Simple sanity check: ## stopifnot(all(s2n(s2c("acgt")) == 0:3)) } \keyword{ utilities } seqinr/man/translate.Rd0000644000176000001440000001311512435326277014656 0ustar ripleyusers\name{translate} \alias{translate} \title{ Translate nucleic acid sequences into proteins } \description{ This function translates nucleic acid sequences into the corresponding peptide sequence. It can translate in any of the 3 forward or three reverse sense frames. In the case of reverse sense, the reverse-complement of the sequence is taken. It can translate using the standard (universal) genetic code and also with non-standard codes. Ambiguous bases can also be handled. } \usage{ translate(seq, frame = 0, sens = "F", numcode = 1, NAstring = "X", ambiguous = FALSE) } \arguments{ \item{seq}{ the sequence to translate as a vector of single characters in lower case letters. } \item{frame}{ Frame(s) (0,1,2) to translate. By default the frame \code{0} is used. } \item{sens}{ Sense to translate: \code{F} for forward sense and \code{R} for reverse sense. } \item{numcode}{ The ncbi genetic code number for translation. By default the standard genetic code is used. } \item{NAstring}{ How to translate amino-acids when there are ambiguous bases in codons. } \item{ambiguous}{ If TRUE, ambiguous bases are taken into account so that for instance GGN is translated to Gly in the standard genetic code. } } \details{ The following genetic codes are described here. The number preceding each code corresponds to \code{numcode}. \describe{ \item{1}{ standard } \item{2}{ vertebrate.mitochondrial } \item{3}{ yeast.mitochondrial } \item{4}{ protozoan.mitochondrial+mycoplasma } \item{5}{ invertebrate.mitochondrial } \item{6}{ ciliate+dasycladaceal } \item{9}{ echinoderm+flatworm.mitochondrial } \item{10}{ euplotid } \item{11}{ bacterial+plantplastid } \item{12}{ alternativeyeast } \item{13}{ ascidian.mitochondrial } \item{14}{ alternativeflatworm.mitochondrial } \item{15}{ blepharism } \item{16}{ chlorophycean.mitochondrial } \item{21}{ trematode.mitochondrial } \item{22}{ scenedesmus.mitochondrial } \item{23}{ hraustochytrium.mitochondria } } } \value{ \code{translate} returns a vector of single characters containing the peptide sequence in the standard one-letter IUPAC code. Termination (STOP) codons are translated by the character '*'. } \references{ The genetic codes have been taken from the ncbi taxonomy database: \url{ http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c }. Last update October 05, 2000.\cr The IUPAC one-letter code for aminoacids is described at: \url{http://www.chem.qmul.ac.uk/iupac/AminoAcid/} \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{ Use \code{\link{tolower}} to change upper case letters into lower case letters. For coding sequences obtained from an ACNUC server with \code{\link{query}} it's better to use the function \code{\link{getTrans}} so that the relevant genetic code and the relevant frame are automatically used. The genetic codes are given in the object \code{\link{SEQINR.UTIL}}, a more human readable form is given by the function \code{\link{tablecode}}. Use \code{\link{aaa}} to get the three-letter code for amino-acids.} \examples{ ## ## Toy CDS example invented by Leonor Palmeira: ## toycds <- s2c("tctgagcaaataaatcgg") translate(seq = toycds) # should be c("S", "E", "Q", "I", "N", "R") ## ## Toy CDS example with ambiguous bases: ## toycds2 <- s2c("tcngarcarathaaycgn") translate(toycds2) # should be c("X", "X", "X", "X", "X", "X") translate(toycds2, ambiguous = TRUE) # should be c("S", "E", "Q", "I", "N", "R") translate(toycds2, ambiguous = TRUE, numcode = 2) # should be c("S", "E", "Q", "X", "N", "R") ## ## Real CDS example: ## realcds <- read.fasta(file = system.file("sequences/malM.fasta", package ="seqinr"))[[1]] translate(seq = realcds) # Biologically correct, only one stop codon at the end translate(seq = realcds, frame = 3, sens = "R", numcode = 6) # Biologically meaningless, note the in-frame stop codons \dontrun{ ## Need internet connection. ## Translation of the following EMBL entry: ## ## FT CDS join(complement(153944..154157),complement(153727..153866), ## FT complement(152185..153037),138523..138735,138795..138955) ## FT /codon_start=1 ## FT /db_xref="FLYBASE:FBgn0002781" ## FT /db_xref="GOA:Q86B86" ## FT /db_xref="TrEMBL:Q86B86" ## FT /note="mod(mdg4) gene product from transcript CG32491-RZ; ## FT trans splicing" ## FT /gene="mod(mdg4)" ## FT /product="CG32491-PZ" ## FT /locus_tag="CG32491" ## FT /protein_id="AAO41581.1" ## FT /translation="MADDEQFSLCWNNFNTNLSAGFHESLCRGDLVDVSLAAEGQIVKA ## FT HRLVLSVCSPFFRKMFTQMPSNTHAIVFLNNVSHSALKDLIQFMYCGEVNVKQDALPAF ## FT ISTAESLQIKGLTDNDPAPQPPQESSPPPAAPHVQQQQIPAQRVQRQQPRASARYKIET ## FT VDDGLGDEKQSTTQIVIQTTAAPQATIVQQQQPQQAAQQIQSQQLQTGTTTTATLVSTN ## FT KRSAQRSSLTPASSSAGVKRSKTSTSANVMDPLDSTTETGATTTAQLVPQQITVQTSVV ## FT SAAEAKLHQQSPQQVRQEEAEYIDLPMELPTKSEPDYSEDHGDAAGDAEGTYVEDDTYG ## FT DMRYDDSYFTENEDAGNQTAANTSGGGVTATTSKAVVKQQSQNYSESSFVDTSGDQGNT ## FT EAQVTQHVRNCGPQMFLISRKGGTLLTINNFVYRSNLKFFGKSNNILYWECVQNRSVKC ## FT RSRLKTIGDDLYVTNDVHNHMGDNKRIEAAKAAGMLIHKKLSSLTAADKIQGSWKMDTE ## FT GNPDHLPKM" choosebank("emblTP") trans <- query("trans", "N=AE003734.PE35") getTrans(trans$req[[1]]) ## Complex transsplicing operations, the correct frame and the correct ## genetic code are automatically used for translation into protein. } } \keyword{ manip } seqinr/man/acnucopen.Rd0000644000176000001440000000521512426453046014631 0ustar ripleyusers\name{acnucopen} \alias{acnucopen} \alias{acnucclose} \alias{clientid} \alias{quitacnuc} \title{open and close a remote access to an ACNUC database} \description{ These are low level functions to start and stop a remote access to an ACNUC database. } \usage{ acnucopen(db, socket, challenge = NA) acnucclose(socket) clientid(id = paste("seqinr_", packageDescription("seqinr")$Version, sep = ""), socket, verbose = FALSE) quitacnuc(socket) } \arguments{ \item{db}{the remote ACNUC database name} \item{socket}{an object of class \code{sockconn} connecting to an ACNUC server} \item{challenge}{unimplemented yet} \item{id}{client ID definition defaulting to seqinr + package version number} \item{verbose}{logical, if TRUE mode verbose is on} } \details{ these low level functions are usually not used directly by the user. Use \code{\link{choosebank}} to open a remote ACNUC database and \code{\link{closebank}} to close it. } \value{ For \code{openacnuc} a list with the following components: type : the type of database that was opened. totseqs, totspec, totkey : total number of seqs, species, keywords in opened database. ACC\_LENGTH, L\_MNEMO, WIDTH\_KW, WIDTH\_SP, WIDTH\_SMJ, WIDTH\_AUT, WIDTH\_BIB, lrtxt, SUBINLNG: max lengths of record keys in database. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}}, \code{\link{closebank}} } \examples{ \dontrun{# Need internet connection mysocket <- socketConnection( host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE) readLines(mysocket, n = 1) # OK acnuc socket started acnucopen("emblTP", socket = mysocket) -> res expected <- c("EMBL", "14138095", "236401", "1186228", "8", "16", "40", "40", "20", "20", "40", "60", "63") stopifnot(all(unlist(res) == expected)) tryalreadyopen <- try(acnucopen("emblTP", socket = mysocket)) stopifnot(inherits(tryalreadyopen, "try-error")) # Need a fresh socket because acnucopen() close it if error: mysocket <- socketConnection( host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE) tryoff <- try(acnucopen("off", socket = mysocket)) stopifnot(inherits(tryoff, "try-error")) mysocket <- socketConnection( host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE) tryinexistent <- try(acnucopen("tagadatagadatsointsoin", socket = mysocket)) stopifnot(inherits(tryinexistent, "try-error")) mysocket <- socketConnection( host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE, blocking = TRUE) trycloseunopened <- try(acnucclose(mysocket)) stopifnot(inherits(trycloseunopened, "try-error")) } } \keyword{utilities} seqinr/man/write.fasta.Rd0000644000176000001440000000304312344313531015073 0ustar ripleyusers\name{write.fasta} \alias{write.fasta} \title{ Write sequence(s) into a file in fasta format } \description{ Writes one or more sequences into a file in FASTA format. } \usage{write.fasta(sequences, names, file.out, open = "w", nbchar = 60, as.string = FALSE)} \arguments{ \item{sequences}{ A DNA or protein sequence (in the form of a vector of single characters by default) or a list of such sequences. } \item{as.string}{ FALSE. When set to TRUE sequences are in the form of strings instead of vectors of single characters. } \item{names}{ The name(s) of the sequences. } \item{nbchar}{ The number of characters per line (default: 60) } \item{file.out}{ The name of the output file. } \item{open}{ Mode to open the output file, use "w" to write into a new file, use "a" to append at the end of an already existing file.} } \value{ none. } \references{ \code{citation("seqinr")} } \author{ A. Necsulea } \seealso{ \code{\link{read.fasta}} } \examples{ ## Read 3 sequences from a FASTA file: ortho <- read.fasta(file = system.file("sequences/ortho.fasta", package = "seqinr")) ## Select only third codon positions: ortho3 <- lapply(ortho, function(x) x[seq(from = 3, to = length(x), by = 3)]) ## Write the 3 modified sequences to a file: write.fasta(sequences = ortho3, names = names(ortho3), nbchar = 80, file.out = "ortho3.fasta") ## Read them again from the same file and check that sequences are preserved: ortho3bis <- read.fasta("ortho3.fasta", set.attributes = FALSE) stopifnot(identical(ortho3bis, ortho3)) } \keyword{ utilities } seqinr/man/dotchart.uco.Rd0000644000176000001440000000424412426725505015256 0ustar ripleyusers\name{dotchart.uco} \alias{dotchart.uco} \title{Cleveland plot for codon usage tables } \description{ Draw a Cleveland dot plot for codon usage tables } \usage{ dotchart.uco(x, numcode = 1, aa3 = TRUE, cex = 0.7, alphabet = s2c("tcag"), pch = 21, gpch = 20, bg = par("bg"), color = par("fg"), gcolor = par("fg"), lcolor = "gray", xlim, ...) } \arguments{ \item{x}{table of codon usage as computed by \code{uco}. } \item{numcode}{the number of the code to be used by \code{translate}.} \item{aa3}{logical. If TRUE use the three-letter code for amino- acids. If FALSE use the one-letter code for amino-acids. } \item{cex}{the character size to be used. } \item{alphabet}{character for codons labels} \item{pch}{the plotting character or symbol to be used.} \item{gpch}{the plotting character or symbol to be used for group values. } \item{bg}{the background color to be used. } \item{color}{the color(s) to be used for points an labels. } \item{gcolor}{the single color to be used for group labels and values.} \item{lcolor}{the color(s) to be used for the horizontal lines.} \item{xlim}{horizontal range for the plot } \item{\dots}{graphical parameters can also be specified as arguments} } \value{ An invisible list with components: \item{x}{table of codon usage} \item{labels}{codon names} \item{groups}{amino acid factor} \item{gdata}{sums by amino acid} \item{ypg}{the y-axis coordinates for amino acids} \item{ypi}{the y-axis coordinates for codons} } \references{ Cleveland, W. S. (1985) The Elements of Graphing Data. Monterey, CA: Wadsworth. \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{dotchart}}, \code{\link{uco}}, \code{\link{aaa}}, \code{\link{translate}} } \examples{ \dontrun{ # Load dataset: data(ec999) # Compute codon usage for all coding sequences: ec999.uco <- lapply(ec999, uco, index="eff") # Put it in a dataframe: df <- as.data.frame(lapply(ec999.uco, as.vector)) # Add codon names: row.names(df) <- names(ec999.uco[[1]]) # Compute global codon usage: global <- rowSums(df) # Choose a title for the graph: title <- "Codon usage in 999 E. coli coding sequences" # Plot data: dotchart.uco(global, main = title) } } \keyword{hplot} seqinr/man/readsmj.Rd0000644000176000001440000000306010706621630014272 0ustar ripleyusers\name{readsmj} \alias{readsmj} \title{Low level function to read ACNUC SMJYT index files} \description{ Extract informations from the SMJYT index file for status, molecule, journal, year, type, organelle, division, and db structure information. } \usage{ readsmj(socket = autosocket(), num = 2, nl = 10, recnum.add = FALSE, nature.add = TRUE, plong.add = FALSE, libel.add = FALSE, sname.add = FALSE, all.add = FALSE) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{num}{rank number of first record.} \item{nl}{number of records to read.} \item{recnum.add}{to extract record numbers.} \item{nature.add}{to extract as a factor with human understandable levels the nature of the name. Unordered levels are: status, molecule, journal, year, type, organelle, division and dbstrucinfo.} \item{plong.add}{to extract the plong.} \item{libel.add}{to extract the label of the name.} \item{sname.add}{to extract the short version of the name, that is without the first two characters.} \item{all.add}{to extract all (all flags set to TRUE).} } \value{ A data.frame with requested columns. } \references{ See ACNUC physical structure at: \url{http://pbil.univ-lyon1.fr/databases/acnuc/structure.html}.\cr \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}} to start a session and \code{\link{readfirstrec}} to get the total number of records.} \keyword{utilities} seqinr/man/test.li.recstat.Rd0000755000176000001440000000557611636107113015712 0ustar ripleyusers\name{test.li.recstat} \alias{test.li.recstat} \title{Tests if regions located between Stop codons contain putative CDSs.} \description{This test uses rows (windows) factor scores computed by \code{recstat} in order to determine if the regions located between two Stop codons correspond to putative CDSs.} \usage{test.li.recstat(rec, fac = 1, length.min = 150, stop.max = 0.2, direct = TRUE, level = 0.05)} \arguments{ \item{rec}{list of elements returned by \code{recstat} function.} \item{fac}{axis of the CA to use for test (4 \eqn{\ge} \code{fac} \eqn{\ge} 1).} \item{length.min}{minimal length between two Stop codons.} \item{stop.max}{threshold for Stop codons relative position in a window to determine if this window can be used for test computation.} \item{direct}{a logical for the choice of direct or reverse strand.} \item{level}{p-value threshold for t-test.} } \details{The test is computed for all regions between two Stop codons separated by at least \code{length.min} nucleotides, this for the three possible reading frames of a DNA strand. For each region considered, two t-tests are computed for comparing the mean of the factor scores of the windows from the reading frame in which the region is located with the means of the factor scores from the corresponding windows in the two other reading frames. If both t-tests reject the null hypothesis of means equality, then there is a good probability that a CDS is located in the region.\cr Inside the first and the last windows of a region submitted to the test, the relative position of the two Stop codons is used to determine if those windows can be used in the analysis. If the first Stop is located within the \code{stop.max} fraction of the 5' end of the window, then this window is kept in the analysis. In the same way, if the second Stop is located within the \code{stop.max} fraction of the 3' end of the window, this window is also kept in the analysis. } \value{The result is returned as a list containing three matrices (one for each reading frame). All matrices have the same structure, with rows corresponding to the regions between two Stop codons. Columns \code{Start} and \code{End} give the location of starting and ending positions of the region; \code{Mean i} gives the mean of the factor scores for the windows located in the region, this for reading frame \code{i}; \code{t(i,j)} gives the p-value of the t-test computed between the means from reading frames \code{i} and \code{j}; and \code{CDS} is a binary indicator equal to 1 if a putative CDS is predicted, and to 0 if not. } \author{Clerc, O. and Perriere, G.} \seealso{\code{\link{test.co.recstat}}} \examples{ \dontrun{ library(seqinr) library(ade4) ff <- system.file("sequences/ECOUNC.fsa", package = "seqinr2") seq <- read.fasta(ff) rec <- recstat(seq[[1]], seqname = getName(seq)) test.li.recstat(rec) } } \keyword{sequence} \keyword{correspondence analysis} seqinr/man/consensus.Rd0000644000176000001440000000721511716675473014713 0ustar ripleyusers\name{consensus} \alias{consensus} \alias{con} \title{Consensus and profiles for sequence alignments} \description{ This function returns a consensus using variuous methods (see details) or a profile from a sequence alignment. } \usage{ consensus(matali, method = c( "majority", "threshold", "IUPAC", "profile"), threshold = 0.60, warn.non.IUPAC = FALSE, type = c("DNA", "RNA")) con(matali, method = c( "majority", "threshold", "IUPAC", "profile"), threshold = 0.60, warn.non.IUPAC = FALSE, type = c("DNA", "RNA")) } \arguments{ \item{matali}{an object of class \code{alignment} as returned by \code{\link{read.alignment}}, or a matrix of characters.} \item{method}{select the method to use, see details.} \item{threshold}{for the \code{threshold} method, a numeric value beteen 0 and 1 indicating the minimum relative frequency for a character to be returned as the consensus character. If none, NA is returned.} \item{warn.non.IUPAC}{for the \code{IUPAC} method this argument is passed to \code{\link{bma}} with a default value set to FALSE to avoid warnings due to gap characters in the alignment.} \item{type}{for the \code{IUPAC} method this argument is passed to \code{\link{bma}}.} } \details{ \describe{ \item{"majority"}{The character with the higher frequency is returned as the consensus character.} \item{"threshold"}{As above but in addition the character relative frequency must be higher than the value controled by the \code{threshold} argument. If none, NA id returned.} \item{"IUPAC"}{Make sense only for nucleic acid sequences (DNA or RNA). The consensus character is defined if possible by an IUPAC symbol by function \code{\link{bma}}. If this is not possible, when there is a gap character for instance, NA is returned.} \item{"profile"}{With this method a matrix with the count of each possible character at each position is returned.} } \code{con} is a short form for \code{consensus}. } \value{ Either a vector of single characters with possible NA or a matrix with the method \code{profile}. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{See \code{\link{read.alignment}} to import alignment from files.} \examples{ # # Read 5 aligned DNA sequences at 42 sites: # phylip <- read.alignment(file = system.file("sequences/test.phylip", package = "seqinr"), format = "phylip") # # Show data in a matrix form: # (matali <- as.matrix(phylip)) # # With the majority rule: # res <- consensus(phylip) stopifnot(c2s(res) == "aaaccctggccgttcagggtaaaccgtggccgggcagggtat") # # With a threshold: # res.thr <- consensus(phylip, method = "threshold") res.thr[is.na(res.thr)] <- "." # change NA into dots # stopifnot(c2s(res.thr) == "aa.c..t.gc.gtt..g..t.a.cc..ggccg.......ta.") stopifnot(c2s(res.thr) == "aa.cc.tggccgttcagggtaaacc.tggccgg.cagggtat") # # With an IUPAC summary: # res.iup <- consensus(phylip, method = "IUPAC") stopifnot(c2s(res.iup) == "amvsbnkkgcmkkkmmgsktrmrssndkgcmrkdmmvskyaw") # replace 3 and 4-fold symbols by dots: res.iup[match(res.iup, s2c("bdhvn"), nomatch = 0) > 0] <- "." stopifnot(c2s(res.iup) == "am.s..kkgcmkkkmmgsktrmrss..kgcmrk.mm.skyaw") # # With a profile method: # (res <- consensus(phylip, method = "profile")) # # Show the connection between the profile and some consensus: # bxc <- barplot(res, col = c("green", "blue", "orange", "white", "red"), border = NA, space = 0, las = 2, ylab = "Base count", main = "Profile of a DNA sequence alignment", xlab = "sequence position", xaxs = "i") text(x = bxc, y = par("usr")[4],lab = res.thr, pos = 3, xpd = NA) text(x = bxc, y = par("usr")[1],lab = res.iup, pos = 1, xpd = NA) } seqinr/man/as.alignment.Rd0000644000176000001440000000244211376443271015237 0ustar ripleyusers\name{as.alignment} \alias{as.alignment} \title{Constructor for class alignment} \description{ Returns an object of (S3) class alignment. } \usage{ as.alignment(nb = NULL, nam = NULL, seq = NULL, com = NULL) } \arguments{ \item{nb}{integer. The number of sequences in the alignment.} \item{nam}{vector of \code{nb} character strings. The sequence names. } \item{seq}{vector of \code{nb} character strings. The aligned sequences.} \item{com}{vector of \code{nb} character strings. The comments about sequences.} } \value{ An object of class \code{alignment} which is a list with the following components: \item{nb}{ the number of aligned sequences } \item{nam}{ a vector of strings containing the names of the aligned sequences } \item{seq}{ a vector of strings containing the aligned sequences} \item{com}{ a vector of strings containing the commentaries for each sequence or \code{NA} if there are no comments } } \references{ \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{ \code{\link{read.alignment}}, \code{\link{as.matrix.alignment}}, \code{\link{read.fasta}}, \code{\link{write.fasta}}, \code{\link{reverse.align}}, \code{\link{dist.alignment}}. } \examples{ as.alignment(nb = 2, nam = c("one", "two"), seq = c("-ACGT", "GACG-"), com = c("un", "deux")) } seqinr/man/plotladder.Rd0000644000176000001440000000416411155262143015004 0ustar ripleyusers\name{plotladder} \alias{plotladder} \title{Simple plot of an allelic ladder from ABIF data} \description{ Simple representation of an observed allelic ladder. } \usage{ plotladder(abifdata, chanel, calibr, allele.names = "identifiler", npeak = NULL, ...) } \arguments{ \item{abifdata}{the result returned by \code{\link{read.abif}}} \item{chanel}{the dye number} \item{calibr}{a mandatory calibration function to convert time into bp} \item{allele.names}{name of the dataset which contains allele names as in \code{link{identifiler}}} \item{npeak}{expected number of peaks, deduced from \code{allele.names} by default} \item{...}{arguments forwarded to \code{\link{peakabif}}} } \value{ Returns invisibly the location of peaks in bp. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ function \code{\link{read.abif}} to import files in ABIF format, \code{\link{plotabif}} to plot them, data \code{\link{gs500liz}} for internal size standards, data \code{\link{identifiler}} for allele names in the allelic ladder, data \code{\link{JLO}} for an example of an individual sample file, data \code{\link{ECH}} for an example of an allelic lader. } \examples{ # # load an example of allelic ladder results from an ABIF (*.fsa) file: # data(ECH) # # Extract from internal size standard chanel number 5 the location # of 14 peaks: # ECH.maxis <- peakabif(ECH, 5, npeak = 14, tmin = 2.7, thres = 0.1, fig = FALSE)$maxis # # Load data about the expected size of peaks in bp for calibration: # data(gs500liz) lizbp <- gs500liz$liz # All peaks size in bp lizbp[!gs500liz$mask1 | !gs500liz$mask2] <- NA # Mark useless peaks lizbp <- lizbp[-c(1,2)] # The first two peaks are not extracted from ECH ECH.calibr <- splinefun(ECH.maxis[!is.na(lizbp)], lizbp[!is.na(lizbp)]) # # Show the allelic ladder for the 4 dyes: # plotladder(ECH, 1, ECH.calibr, tmin = 3.1, thres = 0.3, fig = FALSE) plotladder(ECH, 2, ECH.calibr, tmin = 3.1, thres = 0.35, fig = FALSE) plotladder(ECH, 3, ECH.calibr, tmin = 3.1, thres = 0.2, fig = FALSE) plotladder(ECH, 4, ECH.calibr, tmin = 3.1, thres = 0.2, fig = FALSE) } seqinr/man/stutterabif.Rd0000644000176000001440000000561512426453046015216 0ustar ripleyusers\name{stutterabif} \Rdversion{1.1} \alias{stutterabif} \title{Stutter ratio estimation} \description{ This function tries to estimate the stutter ratio, either in terms of peak heigth ratios or peak surface ratio. } \usage{ stutterabif(abifdata, chanel, poswild, datapointbefore = 70, datapointafter = 20, datapointsigma = 3.5, chanel.names = c(1:4, 105), DATA = paste("DATA", chanel.names[chanel], sep = "."), maxrfu = 1000, method = "monoH.FC", pms = 6, fig = FALSE) } \arguments{ \item{abifdata}{the result returned by \code{\link{read.abif}}} \item{chanel}{the dye number} \item{poswild}{the position in datapoint units of the allele at the origin of the stutter product, typically obtained after a call to \code{\link{peakabif}}} \item{datapointbefore}{how many datapoints before \code{poswild} to be include in analysis} \item{datapointafter}{how many datapoints after \code{poswild} to be include in analysis} \item{datapointsigma}{initial guess for the standard deviation of a peak} \item{chanel.names}{numbers extensions used for the DATA} \item{DATA}{names of the DATA components} \item{maxrfu}{argument passed to \code{\link{baselineabif}}} \item{method}{method to be used by \code{\link{splinefun}}} \item{pms}{how many standard deviations (after gaussian fit) before and after the mean peak values should be considered for spline function interpolation} \item{fig}{should a summary plot be produced?} } \details{FIXME, See R code for now} \value{ A list with the following components: \item{rh}{Stutter ratio computed as the height of the stutter divided by the height of its corresponding allele} \item{rs}{Stutter ratio computed as the surface of the stutter divided by the surface of its corresponding allele} \item{h1}{The height of the stutter with baseline at 0} \item{h2}{The height of the allele with baseline at 0} \item{s1}{The surface of the stutter} \item{s2}{The surface of the allele} \item{p}{A list of additional parameter that could be usesfull, see example} } \author{J.R. Lobry} \seealso{\code{\link{JLO}} for a dataset example, \code{\link{peakabif}} to get an estimate of peak location.} \examples{ # # Load pre-defined dataset, same as what would be obtained with read.abif: # data(JLO) # # Get peak locations in the blue channel: # maxis <- peakabif(JLO, 1, npeak = 6, tmin = 3, fig = FALSE)$maxis # # Compute stutter ratio for first peak and ask for a figure: # tmp <- stutterabif(JLO, 1, maxis[1], fig = TRUE) # # Show in addition the normal approximation used at the stutter peak: # xx <- seq(tmp$p$mu1 - 6*tmp$p$sd1, tmp$p$mu1 + 6*tmp$p$sd1, le = 100) lines(xx, tmp$p$p1*dnorm(xx, tmp$p$mu1, tmp$p$sd1), col = "darkgreen") # # Show in addition the normal approximation used at allele peak: # xx <- seq(tmp$p$mu2 - 6*tmp$p$sd2, tmp$p$mu2 + 6*tmp$p$sd2, le = 100) lines(xx, tmp$p$p2*dnorm(xx, tmp$p$mu2, tmp$p$sd2), col = "darkgreen") } seqinr/man/identifiler.Rd0000644000176000001440000000126711136206130015142 0ustar ripleyusers\name{identifiler} \alias{identifiler} \docType{data} \title{Identifiler allele names} \description{ Names of the alleles in the Applied Biosystem identifiler allelic ladder. } \usage{data(identifiler)} \format{ A list with 4 components for the four fluorochromes. \describe{ \item{FAM}{a list of 4 loci} \item{VIC}{a list of 5 loci} \item{NED}{a list of 4 loci} \item{PET}{a list of 3 loci} } } \examples{ data(identifiler) op <- par(no.readonly = TRUE) par(mar = c(3,8,4,2)+0.1) allcount <- unlist(lapply(identifiler, function(x) lapply(x, length))) barplot(allcount[order(allcount)], horiz = TRUE, las = 1, main = "Allele count per locus", col = "lightblue") par(op) } seqinr/man/print.qaw.Rd0000644000176000001440000000105312435326277014602 0ustar ripleyusers\name{print.qaw} \alias{print.qaw} \title{Print method for objects from class qaw} \description{ Print the number of elements, their type and the corresponding query. } \usage{ \method{print}{qaw}(x, ...) } \arguments{ \item{x}{A objet of class \code{qaw}} \item{\dots}{not used} } \value{ None. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{print}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") list1 <- query("sp=felis catus") list1 # 4732 SQ for sp=felis catus } } seqinr/man/closebank.Rd0000644000176000001440000000122210707472211014604 0ustar ripleyusers\name{closebank} \alias{closebank} \title{ To close a remote ACNUC database } \description{ This function tries to close a remote ACNUC database. } \usage{ closebank(socket = autosocket(), verbose = FALSE) } \arguments{ \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{verbose}{ Logical. If TRUE, verbose mode is on } } \references{ \code{citation("seqinr")} } \author{J.R. Lobry } \seealso{ \code{\link{choosebank}}} \examples{ \dontrun{# Need internet connection choosebank("emblTP") closebank() } } \keyword{ manip } seqinr/man/getTrans.Rd0000644000176000001440000001165512435326277014457 0ustar ripleyusers\name{getTrans} \alias{getTrans} \alias{getTrans.default} \alias{getTrans.list} \alias{getTrans.character} \alias{getTrans.SeqFrag} \alias{getTrans.SeqAcnucWeb} \alias{getTrans.SeqFastadna} \alias{getTrans.qaw} \alias{getTrans.logical} \title{Generic function to translate coding sequences into proteins} \description{ This function translates nucleic acid sequences into the corresponding peptide sequence. It can translate in any of the 3 forward or three reverse sense frames. In the case of reverse sense, the reverse-complement of the sequence is taken. It can translate using the standard (universal) genetic code and also with non-standard codes. Ambiguous bases can also be handled. } \usage{ getTrans(object, sens = "F", NAstring = "X", ambiguous = FALSE, ...) \method{getTrans}{SeqAcnucWeb}(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = "auto", numcode = "auto") \method{getTrans}{SeqFastadna}(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = 0, numcode = 1) \method{getTrans}{SeqFrag}(object, sens = "F", NAstring = "X", ambiguous = FALSE, ..., frame = 0, numcode = 1) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}} or \code{\link{SeqFastadna}}, or \code{\link{SeqFrag}} or a list of these objects, or an object of class \code{qaw} created by \code{\link{query}} } \item{numcode}{ The ncbi genetic code number for translation. By default the standard genetic code is used, and for sequences coming from an ACNUC server the relevant genetic code is used by default. } \item{NAstring}{ How to translate amino-acids when there are ambiguous bases in codons. } \item{ambiguous}{ If TRUE, ambiguous bases are taken into account so that for instance GGN is translated to Gly in the standard genetic code. } \item{frame}{ Frame(s) (0,1,2) to translate. By default the frame \code{0} is used. } \item{sens}{ Direction for translation: \code{F} for the direct strand e and \code{R} for the reverse complementary strand. } \item{...}{further arguments passed to or from other methods} } \details{ The following genetic codes are described here. The number preceding each code corresponds to \code{numcode}. \describe{ \item{1}{ standard } \item{2}{ vertebrate.mitochondrial } \item{3}{ yeast.mitochondrial } \item{4}{ protozoan.mitochondrial+mycoplasma } \item{5}{ invertebrate.mitochondrial } \item{6}{ ciliate+dasycladaceal } \item{9}{ echinoderm+flatworm.mitochondrial } \item{10}{ euplotid } \item{11}{ bacterial+plantplastid } \item{12}{ alternativeyeast } \item{13}{ ascidian.mitochondrial } \item{14}{ alternativeflatworm.mitochondrial } \item{15}{ blepharism } \item{16}{ chlorophycean.mitochondrial } \item{21}{ trematode.mitochondrial } \item{22}{ scenedesmus.mitochondrial } \item{23}{ hraustochytrium.mitochondria } } } \value{ For a single sequence an object of class \code{character} containing the characters of the sequence, either of length 1 when \code{as.string} is TRUE, or of the length of the sequence when \code{as.string} is FALSE. For many sequences, a list of these.} \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}}, \code{\link{SeqFastadna}}, \code{\link{SeqFrag}}\cr The genetic codes are given in the object \code{\link{SEQINR.UTIL}}, a more human readable form is given by the function \code{\link{tablecode}}. Use \code{\link{aaa}} to get the three-letter code for amino-acids. } \examples{ # # List all available methods for getTrans generic function: # methods(getTrans) # # Toy CDS example invented by Leonor Palmeira: # toycds <- s2c("tctgagcaaataaatcgg") getTrans(toycds) # should be c("S", "E", "Q", "I", "N", "R") # # Toy CDS example with ambiguous bases: # toycds2 <- s2c("tcngarcarathaaycgn") getTrans(toycds2) # should be c("X", "X", "X", "X", "X", "X") getTrans(toycds2, ambiguous = TRUE) # should be c("S", "E", "Q", "I", "N", "R") getTrans(toycds2, ambiguous = TRUE, numcode = 2) # should be c("S", "E", "Q", "X", "N", "R") # # Real CDS example: # realcds <- read.fasta(file = system.file("sequences/malM.fasta", package ="seqinr"))[[1]] getTrans(realcds) # Biologically correct, only one stop codon at the end getTrans(realcds, frame = 3, sens = "R", numcode = 6) # Biologically meaningless, note the in-frame stop codons # # Complex transsplicing operations, the correct frame and the correct # genetic code are automatically used for translation into protein for # sequences coming from an ACNUC server: # \dontrun{ # Need internet connection. # Translation of the following EMBL entry: # # FT CDS join(complement(153944..154157),complement(153727..153866), # FT complement(152185..153037),138523..138735,138795..138955) # FT /codon_start=1 choosebank("emblTP") trans <- query("trans", "N=AE003734.PE35") getTrans(trans$req[[1]]) } } \keyword{ utilities } seqinr/man/readBins.Rd0000644000176000001440000000315211220366263014376 0ustar ripleyusers\name{readBins} \alias{readBins} \title{Import GenMapper Bins configuration file} \description{ In a Bins configuration file there is a description for a given identification kit of the expected allele sizes for all the markers available in the kit. } \usage{ readBins(file, colnames = c("allele.name", "size.bp", "minus.bp", "plus.bp"))} \arguments{ \item{file}{The name of the Bins configuration file.} \item{colnames}{The names to be used for the columns of the data.frames.} } \value{ A list whose first element is the file header info and following elements are lists, one for each kit encountered in the file. For each kit we have a list of data.frames, one per marker. } \details{ The expected allele sizes are typically plus or minus 0.5 bp. } \references{ \code{citation("seqinR")} } \author{J.R. Lobry} \seealso{\code{\link{readPanels}}.} \examples{ # # Check that we can read the 2 exemple files in the seqinR package: # path1 <- system.file("abif/AmpFLSTR_Bins_v1.txt", package = "seqinr") resbin1 <- readBins(path1) path2 <- system.file("abif/Promega_Bins_v1.txt", package = "seqinr") resbin2 <- readBins(path2) # # Show the kits described in resbin1: # names(resbin1) # # Show the markers in a given kit: # names(resbin1[["Identifiler_v1"]]) # # Show alleles expected sizes for a given marker: # resbin1[["Identifiler_v1"]][["D8S1179"]] # # Simple quality check since seqinr 2.0-4 with a configuration file # containing trailling tabulations: # path3 <- system.file("abif/Prototype_PowerPlex_EP01_Bins.txt", package = "seqinr") resbin3 <- readBins(path3) ncols <- sapply(resbin3[[2]], ncol) stopifnot(all(ncols == 4)) } seqinr/man/ec999.Rd0000644000176000001440000000174111043321365013510 0ustar ripleyusers\name{ec999} \alias{ec999} \docType{data} \title{ 999 coding sequences from E. coli } \description{ This dataset contains 999 coding sequences from the Escherichia coli chromosome} \usage{data(ec999)} \format{ List of 999 vectors of characters, one for each coding sequence. \describe{ \item{ECFOLE.FOLE }{chr [1:672] "A" "T" "G" "C" ...} \item{ECMSBAG.MSBA }{chr [1:1749] "A" "T" "G" "C" ...} \item{ECNARZYW-C.NARV}{chr [1:681] "A" "T" "G" "A" ...} \item{... }{ ... TRUNCATED ... } \item{XYLEECOM.MALK }{chr [1:1116] "A" "T" "G" "G" ...} \item{XYLEECOM.LAMB }{chr [1:1341] "A" "T" "G" "A" ...} \item{XYLEECOM.MALM }{chr [1:921] "A" "T" "G" "A" ...} } } \references{ Lobry, J.R., Gautier, C. (1994) Hydrophobicity, expressivity and aromaticity are the major trends of amino-acid usage in 999 \emph{Escherichia coli} chromosome-encode genes. \emph{Nucleic Acids Research},\bold{22}:3174-3180. \code{citation("seqinr")} } \examples{ data(ec999) } \keyword{datasets} seqinr/man/tablecode.Rd0000644000176000001440000000330110707064353014571 0ustar ripleyusers\name{tablecode} \alias{tablecode} \title{ to plot genetic code as in textbooks } \description{ This function plots a genetic code table as in textbooks, that is following the order \code{T > C > A > G} so that synonymous codons are almost always in the same boxes. } \usage{ tablecode(numcode = 1, urn.rna = s2c("TCAG"), dia = FALSE, latexfile = NULL, label = latexfile, size = "normalsize", caption = NULL, preaa = rep("", 64), postaa = rep("", 64), precodon = preaa, postcodon = postaa) } \arguments{ \item{numcode}{The genetic code number as in \code{translate} } \item{urn.rna}{The letters to display codons, use s2c("UCAG") if you want the code in terms of RNA sequence} \item{latexfile}{The name of a LaTex file if you want to redirect the output} \item{label}{The label for the LaTeX table} \item{size}{The LaTex size of characters for the LaTeX table} \item{preaa}{A string to insert before the amino-acid in the LaTeX table} \item{postaa}{A string to insert after the amino-acid in the LaTeX table} \item{precodon}{A string to insert before the codon in the LaTeX table} \item{postcodon}{A string to insert after the codon in the LaTeX table} \item{caption}{The caption of the LaTeX table} \item{dia}{to produce a yellow/blue plot for slides} } \details{ The codon order for \code{preaa}, \code{postaa}, \code{precodon}, and \code{postcodon} should be the same as in \code{paste(paste(rep(s2c("tcag"), each =16), s2c("tcag"), sep = ""), rep(s2c("tcag"), each = 4), sep = "")} } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{translate}}, \code{\link{syncodons}} } \examples{ # # Show me the standard genetic code: # tablecode() } \keyword{ utilities } seqinr/man/clustal.Rd0000644000176000001440000000131111435210067014307 0ustar ripleyusers\name{clustal} \docType{data} \alias{clustal} \title{Example of results obtained after a call to read.alignment} \description{This data set gives an example of a protein alignment obtained after a call to the function read.alignment on an alignment file in "clustal" format.} \usage{clustal} \format{A List of class alignment} \source{http://www.clustal.org/} \references{ Thompson, J.D., Higgins D.G., Gibson T.J. (1994) \emph{CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position specific gap penalties and weight matrix choice}. Nucleic Acids Res. 22(22):4673-80. } \keyword{datasets} seqinr/man/gb2fasta.Rd0000644000176000001440000000125712435602615014347 0ustar ripleyusers\name{gb2fasta} \alias{gb2fasta} \title{ conversion of GenBank file into fasta file } \description{ Converts a single entry in GenBank format into a fasta file. } \usage{ gb2fasta(source.file = "ftp://ftp.ncbi.nih.gov/genomes/Bacteria/Acinetobacter_ADP1_uid61597/NC_005966.gbk", destination.file = "Acinetobacter_ADP1_uid61597.fasta") } \arguments{ \item{source.file}{ GenBank file } \item{destination.file}{ Fasta file } } \details{ Multiple entries in GenBank file are not supported. } \value{ none } \references{ \code{citation("seqinr")} } \author{J.R. Lobry } \seealso{ \code{\link{oriloc}} } \examples{ \dontrun{gb2fasta()} # need internet connection } \keyword{utilities} seqinr/man/c2s.Rd0000755000176000001440000000101710404050534013331 0ustar ripleyusers\name{c2s} \alias{c2s} \title{ conversion of a vector of chars into a string } \description{ This is a simple utility function to convert a vector of chars such as c("m", "e", "r", "g", "e", "d") into a single string such as "merged". } \usage{ c2s(chars = c("m", "e", "r", "g", "e", "d")) } \arguments{ \item{chars}{ a vector of chars } } \value{ a string } \author{ J.R. Lobry } \references{ \code{citation("seqinr")} } \seealso{ \code{\link{s2c}} } \examples{ c2s( c("m","e","r","g","e","d") ) } \keyword{utilities} seqinr/man/words.pos.Rd0000644000176000001440000000403211274332116014602 0ustar ripleyusers\name{words.pos} \alias{words.pos} \title{ Positions of possibly degenerated motifs within sequences } \description{ \code{word.pos} searches all the occurences of the motif \code{pattern} within the sequence \code{text} and returns their positions. This function is based on \code{regexp} allowing thus for complex motif searches. The main difference with \code{\link{gregexpr}} is that non disjoint matches are reported here. } \usage{ words.pos(pattern, text, ignore.case = FALSE, perl = TRUE, fixed = FALSE, useBytes = TRUE, ...) } \arguments{ \item{pattern}{character string containing a \link{regular expression} (or character string for \code{fixed = TRUE}) to be matched in the given character vector.} \item{text}{ a character vector where matches are sought. } \item{ignore.case}{if \code{FALSE}, the pattern matching is case sensitive and if \code{TRUE}, case is ignored during matching.} \item{perl}{logical. Should perl-compatible regexps be used if available? Has priority over \code{extended}.} \item{fixed}{logical. If \code{TRUE}, pattern is a string to be matched as is. Overrides all conflicting arguments.} \item{useBytes}{logical. If \code{TRUE} the matching is done byte-by-byte rather than character-by-character.} \item{...}{arguments passed to \code{\link{regexpr}}.} } \details{ Default parameter values have been tuned for speed when working biological sequences. } \value{ a vector of positions for which the motif \code{pattern} was found in the sequence \code{text}. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{ \code{\link{regexpr}} } \examples{ myseq <- "tatagaga" words.pos("t", myseq) # Should be 1 3 words.pos("tag", myseq) # Should be 3 words.pos("ga", myseq) # Should be 5 7 # How to specify ambiguous base ? Look for YpR motifs by words.pos("[ct][ag]", myseq) # Should be 1 3 # # Show the difference with gregexpr: # words.pos("toto", "totototo") # 1 3 5 (three overlapping matches) unlist(gregexpr("toto", "totototo")) # 1 5 (two disjoint matches) } seqinr/man/caitab.Rd0000644000176000001440000000473611022015661014074 0ustar ripleyusers\name{caitab} \alias{caitab} \docType{data} \title{Codon Adaptation Index (CAI) w tables} \description{ Information about a preferred set of codons for highly expressed genes in three species. } \usage{data(caitab)} \format{ A data frame with 64 rows for the codons and the following 3 columns: \describe{ \item{ec}{\emph{Escherichia coli}} \item{bs}{\emph{Bacillus subtilis}} \item{sc}{\emph{Saccharomyces cerevisiae}} } } \details{ Codons are given by \code{row.names(caitab)}. } \source{ The data were hard-encoded in the C program codonW version 1.4.4 writen by John Peden available at \url{http://codonw.sourceforge.net/}. The data are from the file \code{codonW.h}. According to this source file, there were no reference for \emph{Escherichia coli} and \emph{Bacillus subtilis} and the reference for \emph{Saccharomyces cerevisiae} was Sharp and Cowe (1991). It turns out that the data for \emph{Escherichia coli} and \emph{Saccharomyces cerevisiae} are identical to table 1 in Sharp and Li (1987) where the missing values for the stop codons are represented here by zeros. All codons were documented by at least one count in both datasets. The data for \emph{Bacillus subtilis} are from table 2 in Shields and Sharp (1987). Missing values for stops codons are represented as previously by zeros, missing values for single-box amino-acids are represented by 1 here. Note that some codons were undocumented in this dataset and that a 0.5 value in absolute frequencies was already forced to avoid zeros. It is therefore impossible to use directly these data to obtain the exact expected CAI values as documented in \code{\link{cai}} because of overlapping with documented codons. } \references{ Sharp, P.M., Li, W.-H. (1987) The codon adaptation index - a measure of directional synonymous codon usage bias, and its potential applications. \emph{Nucleic Acids Research}, \bold{15}:1281-1295. Shields, D.C., Sharp, P.M. (1987) Synonymous codon usage in \emph{Bacillus subtilis} reflects both traditional selection and mutational biases. \emph{Nucleic Acids Research}, \bold{15}:8023-8040. Sharp, P. M., Cowe, E. (1991). Synonymous codon usage in \emph{Saccharomyces cerevisiae}. \emph{Yeast}, \bold{7}:657-678. Peden, J.F. (1999) Analysis of codon usage. PhD Thesis, University of Nottingham, UK. \code{citation("seqinr")} } \seealso{ \code{\link{cai}} for an example using this dataset to compute CAI values. } \examples{ data(caitab) } \keyword{datasets} seqinr/man/countsubseqs.Rd0000644000176000001440000000214412435326277015417 0ustar ripleyusers\name{countsubseqs} \alias{countsubseqs} \alias{css} \title{Number of subsequences in an ACNUC list} \description{ Returns the number of subsequences in the ACNUC list of rank \code{lrank}. } \usage{ countsubseqs(lrank, socket = autosocket()) css(lrank, socket = autosocket()) } \arguments{ \item{lrank}{the rank of the ACNUC list to consider.} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ Numeric. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}}, \code{\link{glr}} to get a list rank from its name.} \examples{ \dontrun{ # Need internet connection choosebank("emblTP") mylist<-query("mylist", "N=@", virtual = TRUE) # select all (seqs + subseqs) mylist$nelem # 14138094 seqs + subseqs stopifnot(mylist$nelem == 14138094) css(glr("mylist")) # 1604500 subsequences only stopifnot(css(glr("mylist")) == 1604500) closebank() } } \keyword{ utilities } seqinr/man/permutation.Rd0000644000176000001440000000522212426453046015223 0ustar ripleyusers\name{permutation} \alias{permutation} \title{Sequence permutation according to several different models} \description{ Generates a random permutation of a given sequence, according to a given model. Available models are : \code{base}, \code{position}, \code{codon}, \code{syncodon}. } \usage{permutation(sequence,modele='base',frame=0, replace=FALSE,prot=FALSE,numcode=1,ucoweight = NULL)} \arguments{ \item{sequence}{ A nucleic acids sequence } \item{modele}{ A string of characters describing the model chosen for the random generation } \item{frame}{ Only active for the \code{position}, \code{codon}, \code{syncodon} models: starting position of CDS as in \code{splitseq} } \item{replace}{ This option is not active for the \code{syncodon} model: if \code{TRUE}, sampling is done with replacement } \item{prot}{ Only available for the \code{codon} model: if \code{TRUE}, the first and last codons are preserved, and only intern codons are shuffled } \item{numcode}{ Only available for the \code{syncodon} model: the genetic code number as in \code{translate}. } \item{ucoweight}{ A list of weights containing the desired codon usage bias as generated by \code{ucoweight}. If none is specified, the codon usage of the given sequence is used. } } \value{ a sequence generated from the original one by a given model } \details{ The \code{base} model allows for random sequence generation by shuffling (with/without replacement) of all bases in the sequence. The \code{position} model allows for random sequence generation by shuffling (with/without replacement) of bases within their position in the codon (bases in position I, II or III stay in position I, II or III in the new sequence. The \code{codon} model allows for random sequence generation by shuffling (with/without replacement) of codons. The \code{syncodon} model allows for random sequence generation by shuffling (with/without replacement) of synonymous codons. } \references{ \code{citation("seqinr")} } \author{ Leonor Palmeira } \seealso{ \code{\link{synsequence}} } \examples{ data(ec999) sequence=ec999[1][[1]] new=permutation(sequence,modele='base') identical(all.equal(count(new,1),count(sequence,1)),TRUE) new=permutation(sequence,modele='position') identical(all.equal(GC(new),GC(sequence)),TRUE) identical(all.equal(GC2(new),GC2(sequence)),TRUE) identical(all.equal(GC3(new),GC3(sequence)),TRUE) new=permutation(sequence,modele='codon') identical(all.equal(uco(new),uco(sequence)),TRUE) new=permutation(sequence,modele='syncodon',numcode=1) identical(all.equal(translate(new),translate(sequence)),TRUE) } \keyword{ utilities } seqinr/man/revaligntest.Rd0000644000176000001440000000066110762227255015367 0ustar ripleyusers\name{revaligntest} \alias{revaligntest} \docType{data} \title{ Three aligned nucleic acid sequences } \encoding{latin1} \description{ This dataset is used as a sanity check in \code{\link{reverse.align}}. } \usage{ data(revaligntest) } \format{ An object of class alignment with 3 sequences. } \references{ \code{citation("seqinr")} } \seealso{ \code{\link{reverse.align}} } \examples{ data(revaligntest) } \keyword{ datasets } seqinr/man/SEQINR.UTIL.Rd0000644000176000001440000000410012426453046014423 0ustar ripleyusers\name{SEQINR.UTIL} \alias{SEQINR.UTIL} \docType{data} \title{utility data for seqinr} \description{ This data set gives the genetics code, the name of each codon, the IUPAC one-letter code for aminoacids and the physico-chemical class of amino acid and the pK values of amino acids described in Bjellqvist \emph{et al.} (1993). } \format{ \code{SEQINR.UTIL} is a list containing the 4 following objects: \describe{ \item{CODES.NCBI}{is a data frame containing the genetics code : The standard ('Universal') genetic code with a selection of non-standard codes. } \item{CODON.AA}{is a three columns data frame. The first column is a factor containing the codon. The second column is a factor giving the aminoacids names for each codon. The last column is a factor giving the IUPAC one-letter code for aminoacids} \item{AA.PROPERTY}{is a list giving the physico-chemical class of amino acid. The differents classes are the following one : Tiny, Small, Aliphatic, Aromatic, Non.polar, Polar, Charged, Basic, Acidic } \item{pK}{is a data frame. It gives the pK values of amino acids described in Bjellqvist \emph{et al.} (1993) , which were defined by examining polypeptide migration between pH 4.5 to 7.3 in an immobilised pH gradient gel environment with 9.2M and 9.8M urea at 15 degree or 25 degree} } } \source{ Data prepared by D.Charif \email{charif@biomserv.univ-lyon1.fr}.\cr The genetic codes have been taken from the ncbi taxonomy database: \url{http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c }. Last update October 05, 2000.\cr The IUPAC one-letter code for aminoacids is descibed at: \url{http://www.chem.qmul.ac.uk/iupac/AminoAcid/ }. pK values of amino acids were taken from Bjellqvist et al.\cr Bjellqvist, B.,Hughes, G.J., Pasquali, Ch., Paquet, N., Ravier, F., Sanchez, J.-Ch., Frutiger, S. & Hochstrasser, D.F.(1993) The focusing positions of polypeptides in immobilized pH gradients can be predicted from their amino acid sequences.\emph{ Electrophoresis}, \bold{14}, 1023-1031. } \references{ \code{citation("seqinr")} } \examples{ data(SEQINR.UTIL) } seqinr/man/crelistfromclientdata.Rd0000644000176000001440000000633212426453046017241 0ustar ripleyusers\name{crelistfromclientdata} \alias{crelistfromclientdata} \alias{clfcd} \title{To create on server an ACNUC list from data lines sent by client} \description{ This function is usefull if you have a local file with sequence names (sequence ID), or sequence accession numbers, or species names, or keywords. This allows you to create on the server a list with the corresponding items. } \usage{ crelistfromclientdata(listname, file, type, socket = autosocket(), invisible = TRUE, verbose = FALSE, virtual = FALSE) clfcd(listname, file, type, socket = autosocket(), invisible = TRUE, verbose = FALSE, virtual = FALSE) } \arguments{ \item{listname}{The name of the list as a quoted string of chars} \item{file}{The local file name} \item{type}{Could be one of "SQ", "AC", "SP", "KW", see examples} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{invisible}{if \code{FALSE}, the result is returned visibly.} \item{verbose}{if \code{TRUE}, verbose mode is on} \item{virtual}{if \code{TRUE}, no attempt is made to retrieve the information about all the elements of the list. In this case, the \code{req} component of the list is set to \code{NA}.} } \details{ \code{clfcd} is a shortcut for \code{crelistfromclientdata}. } \value{ The result is directly assigned to the object \code{listname} in the user workspace. This is an objet of class \code{qaw}, a list with the following 6 components: \item{call}{the original call} \item{name}{the ACNUC list name} \item{nelem}{the number of elements (for instance sequences) in the ACNUC list} \item{typelist}{the type of the elements of the list. Could be SQ for a list of sequence names, KW for a list of keywords, SP for a list of species names.} \item{req}{a list of sequence names that fit the required criteria or \code{NA} when called with parameter \code{virtual} is \code{TRUE}} \item{socket}{the socket connection that was used} } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ \code{\link{choosebank}}, \code{\link{query}}, \code{\link{savelist}} for the reverse operation with an ACNUC list of sequences. } \examples{ \dontrun{ # Need internet connection choosebank("emblTP") # # Example with a file that contains sequence names: # fileSQ <- system.file("sequences/bb.mne", package = "seqinr") crelistfromclientdata("listSQ", file = fileSQ, type = "SQ") sapply(listSQ$req, getName) # # Example with a file that contains sequence accession numbers: # fileAC <- system.file("sequences/bb.acc", package = "seqinr") crelistfromclientdata("listAC", file = fileAC, type = "AC") sapply(listAC$req, getName) # # Example with a file that contains species names: # fileSP <- system.file("sequences/bb.sp", package = "seqinr") crelistfromclientdata("listSP", file = fileSP, type = "SP") sapply(listSP$req, getName) # # Example with a file that contains keywords: # fileKW <- system.file("sequences/bb.kwd", package = "seqinr") crelistfromclientdata("listKW", file = fileKW, type = "KW") sapply(listKW$req, getName) # # Summary of ACNUC lists: # sapply(alr()$rank, getliststate) closebank() } } \keyword{utilities} seqinr/man/getKeyword.Rd0000644000176000001440000000274712435326277015016 0ustar ripleyusers\name{getKeyword} \alias{getKeyword} \alias{getKeyword.default} \alias{getKeyword.list} \alias{getKeyword.SeqAcnucWeb} \alias{getKeyword.qaw} \alias{getKeyword.logical} \title{Generic function to get keywords associated to sequences} \description{ Get keywords from an ACNUC server. } \usage{ getKeyword(object, ...) \method{getKeyword}{SeqAcnucWeb}(object, ..., socket = autosocket()) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}}, or a list of them, or the object resulting from \code{\link{query}}} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database by \code{\link{choosebank}}).} \item{...}{further arguments passed to or from other methods} } \value{ \code{getKeyword} returns a vector of strings containing the keyword(s) associated to a sequence. } \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}} } \examples{ # # List all available methods for getKeyword generic function: # methods(getKeyword) # # Example of keyword extraction from an ACNUC server: # \dontrun{ # Need internet connection choosebank("emblTP") fc<-query("fc", "sp=felis catus et t=cds et o=mitochondrion") getKeyword(fc$req[[1]]) # Should be: # [1] "DIVISION ORG" "RELEASE 62" "CYTOCHROME B" "SOURCE" "CDS" closebank() } } \keyword{ utilities } seqinr/man/prochlo.Rd0000644000176000001440000000732711012040746014317 0ustar ripleyusers\name{prochlo} \alias{prochlo} \docType{data} \title{ Zscore on three strains of Prochlorococcus marinus } \encoding{latin1} \description{ This dataset contains the zscores computed with the codon model on all CDS from 3 strains of Procholorococcus marinus (as retrieved from Genome Reviews database on June 16, 2005) } \usage{ data(prochlo) } \format{ List of three dataframes of the zscore of each of the 16 dinucleotides on each CDS retrieved from the specific strain. \describe{ \item{BX548174}{strain adapted to living at a depth of 5 meters (high levels of UV exposure) \code{base} model on each intergenic sequence} \item{AE017126}{strain adapted to living at a depth of 120 meters (low levels of UV exposure)} \item{BX548175}{strain adapted to living at a depth of 135 meters (low levels of UV exposure)} } } \references{ Palmeira, L., Guguen, L. and Lobry JR. (2006) UV-targeted dinucleotides are not depleted in light-exposed Prokaryotic genomes. \emph{Molecular Biology and Evolution}, \bold{23}:2214-2219.\cr \url{http://mbe.oxfordjournals.org/cgi/reprint/23/11/2214}\cr\cr \code{citation("seqinr")} } \seealso{ \code{\link{zscore}} } \examples{ # # Show the four YpY for the three ecotypes: # data(prochlo) oneplot <- function(x){ plot(density(prochlo$BX548174[, x]), ylim = c(0,0.4), xlim = c(-4,4), lty=3, main = paste(substr(x,1,1), "p", substr(x,2,2), " bias", sep = ""), xlab="",ylab="",las=1, type = "n") rect(-10,-1,-1.96,10, col = "yellow", border = "yellow") rect(1.96,-1,10,10, col = "yellow", border = "yellow") lines(density(prochlo$BX548174[, x]),lty=3) lines(density(prochlo$AE017126[, x]),lty=2) lines(density(prochlo$BX548175[, x]),lty=1) abline(v=c(-1.96,1.96),lty=5) box() } par(mfrow=c(2,2),mar=c(2,3,2,0.5) + 0.1) oneplot("CT") oneplot("TC") oneplot("CC") oneplot("TT") # # Show YpY biases with respect to light exposure # curdev <- getOption("device") OK <- FALSE devlist <- c("X11", "windows", "quartz") # interactive with width and height in inches for(i in devlist){ if(exists(i) && identical(get(i), curdev)){ OK <- TRUE break } } if(OK){ curdev(width = 18, height = 11) par(oma = c(0, 0, 3, 0), mfrow = c(1, 2), mar = c(5, 4, 0, 0), cex = 1.5) example(waterabs, ask = FALSE) #left figure par(mar = c(5, 0, 0, 2)) plot(seq(-5, 3, by = 1), seq(0, 150, length = 9), col = "white", ann = FALSE, axes = FALSE, xaxs = "i", yaxs = "i") axis(1, at = c(-1.96, 0, 1.96), labels = c(-1.96, 0, 1.96)) lines(rep(-1.96, 2),c(0, 150),lty=2) lines(rep(1.96, 2), c(0, 150),lty=2) title(xlab = "zscore distribution", cex = 1.5, adj = 0.65) selcol <- c(6, 8, 14, 16) z5 <- prochlo$BX548174[, selcol] z120 <- prochlo$AE017126[, selcol] z135 <- prochlo$BX548175[, selcol] todo <- function(who, xx, col = "black", bottom, loupe){ dst <- density(who[, xx]) sel <- which(dst$x >= -3) lines(dst$x[sel], dst$y[sel]*loupe + (bottom), col = col) } todo2 <- function(who, bottom, loupe){ todo(who, "CC", "blue", bottom, loupe) todo(who, "CT", "red", bottom, loupe) todo(who, "TC", "green", bottom, loupe) todo(who, "TT", "black", bottom, loupe) } todo3 <- function(bottom, who, leg, loupe = 90){ lines(c(-5,-3), c(150 - leg, bottom + 20)) rect(-3,bottom,3,bottom+40) text(-2.6,bottom+38, paste(leg, "m")) todo2(who, bottom, loupe) } todo3(bottom = 110, who = z5, leg = 5) todo3(bottom = 50, who = z120, leg = 120) todo3(bottom = 5, who = z135, leg = 135) legend(-4.5,110,c('CpC','CpT','TpC','TpT'),lty=1,pt.cex=cex, col=c('blue','red','green','black')) mtext(expression(paste("Dinucleotide composition for three ", italic("Prochlorococcus marinus")," ecotypes")), outer = TRUE, cex = 2, line = 1) } } seqinr/man/query.Rd0000644000176000001440000001471412435326277014034 0ustar ripleyusers\name{query} \alias{query} \title{To get a list of sequence names from an ACNUC data base located on the web} \description{ This is a major command of the package. It executes all sequence retrievals using any selection criteria the data base allows. The sequences are coming from ACNUC data base located on the web and they are transfered by socket. The command produces the list of all sequence names that fit the required criteria. The sequence names belong to the class of sequence \code{SeqAcnucWeb}. } \usage{ query(listname, query, socket = autosocket(), invisible = TRUE, verbose = FALSE, virtual = FALSE) } \arguments{ \item{listname}{The name of the list as a quoted string of chars} \item{query}{A quoted string of chars containing the request with the syntax given in the details section} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{invisible}{if \code{FALSE}, the result is returned visibly.} \item{verbose}{if \code{TRUE}, verbose mode is on} \item{virtual}{if \code{TRUE}, no attempt is made to retrieve the information about all the elements of the list. In this case, the \code{req} component of the list is set to \code{NA}.} } \details{ The query language defines several selection criteria and operations between lists of elements matching criteria. It creates mainly lists of sequences, but also lists of species (or, more generally, taxa) and of keywords. See \url{http://pbil.univ-lyon1.fr/databases/acnuc/cfonctions.html#QUERYLANGUAGE} for the last update of the description of the query language.\cr Selection criteria (no space before the = sign) are: \describe{ \item{SP=taxon}{seqs attached to taxon or any other below in tree; @ wildcard possible} \item{TID=id}{seqs attached to given numerical NCBI's taxon id} \item{K=keyword}{seqs attached to keyword or any other below in tree; @ wildcard possible} \item{T=type}{seqs of specified type} \item{J=journalname}{seqs published in journal specified using defined journal code} \item{R=refcode}{seqs from reference specified such as in jcode/volume/page (e.g., JMB/13/5432)} \item{AU=name}{seqs from references having specified author (only last name, no initial)} \item{AC=accessionno}{seqs attached to specified accession number} \item{N=seqname}{seqs of given name (ID or LOCUS); @ wildcard possible} \item{Y=year}{seqs published in specified year; > and < can be used instead of =} \item{O=organelle}{seqs from specified organelle named following defined code (e.g., chloroplast)} \item{M=molecule}{seqs from specified molecule as named in ID or LOCUS annotation records} \item{ST=status}{seqs from specified data class (EMBL) or review level (UniProt)} \item{F=filename}{seqs whose names are in given file, one name per line (unimplemented use \code{\link{clfcd}} instead)} \item{FA=filename}{seqs attached to accession numbers in given file, one number per line (unimplemented use \code{\link{clfcd}} instead)} \item{FK=filename}{produces the list of keywords named in given file, one keyword per line (unimplemented use \code{\link{clfcd}} instead)} \item{FS=filename}{produces the list of species named in given file, one species per line (unimplemented use \code{\link{clfcd}} instead)} \item{listname}{the named list that must have been previously constructed} } Operators (always followed and preceded by blanks or parentheses) are: \describe{ \item{AND}{intersection of the 2 list operands} \item{OR}{union of the 2 list operands} \item{NOT}{complementation of the single list operand} \item{PAR}{compute the list of parent seqs of members of the single list operand} \item{SUB}{add subsequences of members of the single list operand} \item{PS}{project to species: list of species attached to member sequences of the operand list} \item{PK}{project to keywords: list of keywords attached to member sequences of the operand list} \item{UN}{unproject: list of seqs attached to members of the species or keywords list operand} \item{SD}{compute the list of species placed in the tree below the members of the species list operand} \item{KD}{compute the list of keywords placed in the tree below the members of the keywords list operand} } The query language is case insensitive.Three operators (AND, OR, NOT) can be ambiguous because they can also occur within valid criterion values. Such ambiguities can be solved by encapsulating elementary selection criteria between escaped double quotes. } \value{ The result is directly assigned to the object \code{listname} in the user workspace. This is an objet of class \code{qaw}, a list with the following 6 components: \item{call}{the original call} \item{name}{the ACNUC list name} \item{nelem}{the number of elements (for instance sequences) in the ACNUC list} \item{typelist}{the type of the elements of the list. Could be SQ for a list of sequence names, KW for a list of keywords, SP for a list of species names.} \item{req}{a list of sequence names that fit the required criteria or \code{NA} when called with parameter \code{virtual} is \code{TRUE}} \item{socket}{the socket connection that was used} } \references{ To get the release date and content of all the databases located at the pbil, please look at the following url: \url{http://pbil.univ-lyon1.fr/search/releases.php}\cr Gouy, M., Milleret, F., Mugnier, C., Jacobzone, M., Gautier,C. (1984) ACNUC: a nucleic acid sequence data base and analysis system. \emph{Nucl. Acids Res.}, \bold{12}:121-127.\cr Gouy, M., Gautier, C., Attimonelli, M., Lanave, C., Di Paola, G. (1985) ACNUC - a portable retrieval system for nucleic acid sequence databases: logical and physical designs and usage. \emph{Comput. Appl. Biosci.}, \bold{3}:167-172.\cr Gouy, M., Gautier, C., Milleret, F. (1985) System analysis and nucleic acid sequence banks. \emph{Biochimie}, \bold{67}:433-436.\cr \code{citation("seqinr")} } \author{J.R. Lobry & D. Charif} \note{Most of the documentation was imported from ACNUC help files written by Manolo Gouy} \seealso{ \code{\link{choosebank}}, \code{\link{getSequence}}, \code{\link{getName}}, \code{\link{crelistfromclientdata}} } \examples{ \dontrun{ # Need internet connection choosebank("genbank") bb <- query("bb", "sp=Borrelia burgdorferi") # To get the names of the 4 first sequences: sapply(bb$req[1:4], getName) # To get the 4 first sequences: sapply(bb$req[1:4], getSequence, as.string = TRUE) } } \keyword{utilities} seqinr/man/residuecount.Rd0000644000176000001440000000206510706621630015362 0ustar ripleyusers\name{residuecount} \alias{residuecount} \title{Total number of residues in an ACNUC list} \description{ Computes the total number of residues (nucleotides or aminoacids) in all sequences of the list of specified rank. } \usage{ residuecount(lrank, socket = autosocket()) } \arguments{ \item{lrank}{the list rank on the ACNUC server} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \value{ A single numeric value corresponding to the total number of residues or NA in case of problem. } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{\code{\link{choosebank}}, \code{\link{query}}, \code{\link{glr}} } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") query("mylist", "t=CDS", virtual = TRUE) stopifnot(residuecount(glr("mylist")) == 1611439240) stopifnot(is.na(residuecount(glr("unknowlist")))) # A warning is issued } } \keyword{ utilities } seqinr/man/oriloc.Rd0000644000176000001440000001604412435602615014145 0ustar ripleyusers\name{oriloc} \alias{oriloc} \title{ Prediction of origin and terminus of replication in bacteria.} \description{ This program finds the putative origin and terminus of replication in procaryotic genomes. The program discriminates between codon positions. } \usage{ oriloc(seq.fasta ="ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.predict", glimmer.version = 3, oldoriloc = FALSE, gbk = NULL, clean.tmp.files = TRUE, rot = 0) } \arguments{ \item{seq.fasta}{Character: the name of a file which contains the DNA sequence of a bacterial chromosome in fasta format. The default value, \code{ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta}, is to use the fasta file \code{ct.fasta} which is available at the on the pbil server. This is the file for the complete genome sequence of \emph{Chlamydia trachomatis} that was used in Frank and Lobry (2000). You can replace this by something like \code{seq.fasta = "myseq.fasta"} to work with your own data if the file \code{myseq.fasta} is present in the current working directory (see \code{\link{getwd}}), or give a full path access to the sequence file (see \code{\link{file.choose}}).} \item{g2.coord}{Character: the name of file which contains the output of glimmer program (\code{*.predict} in glimmer version 3)} \item{glimmer.version}{Numeric: glimmer version used, could be 2 or 3} \item{oldoriloc}{Logical: to be set at TRUE to reproduce the (deprecated) outputs of previous (publication date: 2000) version of the oriloc program.} \item{gbk}{Character: the URL of a file in GenBank format. When provided \code{oriloc} use as input a single GenBank file instead of the \code{seq.fasta} and the \code{g2.coord}. A local temporary copy of the GenBank file is made with \code{\link{download.file}} if \code{gbk} starts with \code{http://} or \code{ftp://} or \code{file://} and whith \code{\link{file.copy}} otherwise. The local copy is then used as input for \code{\link{gb2fasta}} and \code{\link{gbk2g2}} to produce a fasta file and a glimmer-like (version 2) file, respectively, to be used by oriloc instead of \code{seq.fasta} and \code{g2.coord} .} \item{clean.tmp.files}{Logical: if TRUE temporary files generated when working with a GenBank file are removed.} \item{rot}{Integer, with zero default value, used to permute circurlarly the genome. } } \details{ The method builds on the fact that there are compositional asymmetries between the leading and the lagging strand for replication. The programs works only with third codon positions so as to increase the signal/noise ratio. To discriminate between codon positions, the program use as input either an annotated genbank file, either a fasta file and a glimmer2.0 (or glimmer3.0) output file. } \value{ A data.frame with seven columns: \code{g2num} for the CDS number in the \code{g2.coord} file, \code{start.kb} for the start position of CDS expressed in Kb (this is the position of the first occurence of a nucleotide in a CDS \emph{regardless} of its orientation), \code{end.kb} for the last position of a CDS, \code{CDS.excess} for the DNA walk for gene orientation (+1 for a CDS in the direct strand, -1 for a CDS in the reverse strand) cummulated over genes, \code{skew} for the cummulated composite skew in third codon positions, \code{x} for the cummulated T - A skew in third codon position, \code{y} for the cummulated C - G skew in third codon positions. } \references{ More illustrated explanations to help understand oriloc outputs are available there: \url{http://pbil.univ-lyon1.fr/software/Oriloc/howto.html}.\cr Examples of oriloc outputs on real sequence data are there: \url{http://pbil.univ-lyon1.fr/software/Oriloc/index.html}.\cr The original paper for oriloc:\cr Frank, A.C., Lobry, J.R. (2000) Oriloc: prediction of replication boundaries in unannotated bacterial chromosomes. \emph{Bioinformatics}, \bold{16}:566-567.\cr \url{http://bioinformatics.oupjournals.org/cgi/reprint/16/6/560}\cr\cr A simple informal introduction to DNA-walks:\cr Lobry, J.R. (1999) Genomic landscapes. \emph{Microbiology Today}, \bold{26}:164-165.\cr \url{http://www.socgenmicrobiol.org.uk/QUA/049906.pdf}\cr\cr An early and somewhat historical application of DNA-walks:\cr Lobry, J.R. (1996) A simple vectorial representation of DNA sequences for the detection of replication origins in bacteria. \emph{Biochimie}, \bold{78}:323-326.\cr Glimmer, a very efficient open source software for the prediction of CDS from scratch in prokaryotic genome, is decribed at \url{http://www.cbcb.umd.edu/software/glimmer/}.\cr For a description of Glimmer 1.0 and 2.0 see:\cr Delcher, A.L., Harmon, D., Kasif, S., White, O., Salzberg, S.L. (1999) Improved microbial gene identification with GLIMMER, \emph{Nucleic Acids Research}, \bold{27}:4636-4641.\cr Salzberg, S., Delcher, A., Kasif, S., White, O. (1998) Microbial gene identification using interpolated Markov models, \emph{Nucleic Acids Research}, \bold{26}:544-548.\cr \code{citation("seqinr")} } \author{ J.R. Lobry and A.C. Frank} \seealso{ \code{\link{draw.oriloc}}, \code{\link{rearranged.oriloc}} } \note{ The method works only for genomes having a single origin of replication from which the replication is bidirectional. To detect the composition changes, a DNA-walk is performed. In a 2-dimensional DNA walk, a C in the sequence corresponds to the movement in the positive y-direction and G to a movement in the negative y-direction. T and A are mapped by analogous steps along the x-axis. When there is a strand asymmetry, this will form a trajectory that turns at the origin and terminus of replication. Each step is the sum of nucleotides in a gene in third codon positions. Then orthogonal regression is used to find a line through this trajectory. Each point in the trajectory will have a corresponding point on the line, and the coordinates of each are calculated. Thereafter, the distances from each of these points to the origin (of the plane), are calculated. These distances will represent a form of cumulative skew. This permets us to make a plot with the gene position (gene number, start or end position) on the x-axis and the cumulative skew (distance) at the y-axis. Depending on where the sequence starts, such a plot will display one or two peaks. Positive peak means origin, and negative means terminus. In the case of only one peak, the sequence starts at the origin or terminus site. } \examples{ \dontrun{ # # A little bit too long for routine checks because oriloc() is already # called in draw.oriloc.Rd documentation file. Try example(draw.oriloc) # instead, or copy/paste the following code: # out <- oriloc() plot(out$st, out$sk, type = "l", xlab = "Map position in Kb", ylab = "Cumulated composite skew", main = expression(italic(Chlamydia~~trachomatis)~~complete~~genome)) # # Example with a single GenBank file: # out2 <- oriloc(gbk="ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.gbk") draw.oriloc(out2) # # (some warnings are generated because of join in features and a gene that # wrap around the genome) # } } seqinr/man/knowndbs.Rd0000644000176000001440000000321510706676351014506 0ustar ripleyusers\name{knowndbs} \alias{knowndbs} \alias{kdb} \title{Description of databases known by an ACNUC server} \description{ Returns, for each database known by the server, its name (a valid value for the \code{bank} argument of \code{\link{choosebank}}), availability (off means temporarily unavailable), and description. } \usage{ knowndbs(tag = c(NA, "TP", "TEST", "DEV"), socket = autosocket()) kdb(tag = c(NA, "TP", "TEST", "DEV"), socket = autosocket()) } \arguments{ \item{tag}{default to NA, see details} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} } \details{ When the optional \code{tag} argument is used, only databases tagged with the given string are listed; when this argument is NA (by default), only untagged databases are listed. The \code{tag} argument thus allows to identify series of special purpose (tagged) databases, in addition to default (untagged) ones. } \value{ A dataframe with 3 columns: \item{bank}{string. Valid bank values known by the ACNUC server} \item{status}{string. "on" means available, "off" means temporarily unavailable} \item{info}{string. short description of the database} } \references{ \url{http://pbil.univ-lyon1.fr/databases/acnuc.html} \code{citation("seqinr")} The full list of untagged and tagged databases is here : \url{http://pbil.univ-lyon1.fr/databases/acnuc/banques_raa.php}. } \author{J.R. Lobry} \seealso{\code{\link{choosebank}} when called without arguments. } \examples{ \dontrun{ ### Need internet connection choosebank("emblTP") kdb() closebank() } } \keyword{ utilities } seqinr/man/dinucl.Rd0000644000176000001440000000374712426453046014144 0ustar ripleyusers\name{dinucl} \alias{dinucl} \docType{data} \title{ Mean zscore on 242 complete bacterial chromosomes } \encoding{latin1} \description{ This dataset contains the mean zscores as computed on all intergenic sequences (intergenic) and on all CDS (coding) from 242 complete bacterial chromosomes (as retrieved from Genome Reviews database on June 16, 2005). } \usage{ data(dinucl) } \format{ List of two dataframes of 242 chromosomes and 16 dinucleotides: one for intergenic, one for coding sequences. \describe{ \item{intergenic}{the mean of \code{zscore} computed with the \code{base} model on each intergenic sequence} \item{coding}{the mean of \code{zscore} computed with the \code{codon} model on each coding sequence} } } \references{ Palmeira, L., Guguen, L. and Lobry JR. (2006) UV-targeted dinucleotides are not depleted in light-exposed Prokaryotic genomes. \emph{Molecular Biology and Evolution}, \bold{23}:2214-2219.\cr \url{http://mbe.oxfordjournals.org/cgi/reprint/23/11/2214}\cr\cr \code{citation("seqinr")} } \seealso{ \code{\link{zscore}} } \examples{ data(dinucl) par(mfrow = c(2, 2), mar = c(4,4,0.5,0.5)+0.1) myplot <- function(x){ plot(dinucl$intergenic[, x], dinucl$coding[, x], xlab = "intergenic", ylab = "coding", las = 1, ylim = c(-6, 4), xlim = c(-3, 3), cex = 0) rect(-10,-10,-1.96,10,col="yellow", border = "yellow") rect(1.96,-10,10,10,col="yellow", border = "yellow") rect(-10,-10,10,-1.96,col="yellow", border = "yellow") rect(-10,1.96,10,10,col="yellow", border = "yellow") abline(v=0,lty=3) abline(h=0,lty=3) abline(h=-1.96,lty=2) abline(h=+1.96,lty=2) abline(v=-1.96,lty=2) abline(v=+1.96,lty=2) points(dinucl$intergenic[, x], dinucl$coding[, x], pch = 21, col = rgb(.1,.1,.1,.5), bg = rgb(.5,.5,.5,.5)) legend("bottomright", inset = 0.02, legend = paste(substr(x,1,1), "p", substr(x,2,2), " bias", sep = ""), cex = 1.25, bg = "white") box() } myplot("CT") myplot("TC") myplot("CC") myplot("TT") } \keyword{ datasets } seqinr/man/reverse.align.Rd0000644000176000001440000001046210762227330015416 0ustar ripleyusers\name{reverse.align} \alias{reverse.align} \title{ Reverse alignment - from protein sequence alignment to nucleic sequence alignment } \description{ This function produces an alignment of nucleic protein-coding sequences, using as a guide the alignment of the corresponding protein sequences. } \usage{ reverse.align(nucl.file, protaln.file, input.format = 'fasta', out.file, output.format = 'fasta', align.prot = FALSE, numcode = 1, clustal.path = NULL, forceDNAtolower = TRUE, forceAAtolower = FALSE) } \arguments{ \item{nucl.file}{ A character string specifying the name of the FASTA format file containing the nucleotide sequences. } \item{protaln.file}{A character string specifying the name of the file containing the aligned protein sequences. This argument must be provided if \code{align.prot} is set to \code{FALSE}. } \item{input.format}{ A character string specifying the format of the protein alignment file : 'mase', 'clustal', 'phylip', 'fasta' or 'msf'. } \item{out.file}{A character string specifying the name of the output file. } \item{output.format}{ A character string specifying the format of the output file. Currently the only implemented format is 'fasta'. } \item{align.prot}{Boolean. If TRUE, the nucleic sequences are translated and then the protein sequences are aligned with the ClustalW program. The path of the ClustalW binary must also be given (\code{clustal.path}) } \item{numcode}{The NCBI genetic code number for the translation of the nucleic sequences. By default the standard genetic code is used.} \item{clustal.path}{ The path of the ClustalW binary. This argument only needs to be setif \code{align.prot} is TRUE. } \item{forceDNAtolower}{logical passed to \code{\link{read.fasta}} for reading the nucleic acid file.} \item{forceAAtolower}{logical passed to \code{\link{read.alignment}} for reading the aligned protein sequence file.} } \details{ This function an alignment of nucleic protein-coding sequences using as a guide the alignment of the corresponding protein sequences. The file containing the nucleic sequences is given in the compulsory argument 'nucl.file'; this file must be written in the FASTA format. The alignment of the protein sequences can either be provided directly, trough the 'protaln.file' parameter, or reconstructed with ClustalW, if the parameter 'align.prot' is set to TRUE. In the latter case, the pathway of the ClustalW binary must be given in the 'clustal.path' argument. The protein and nucleic sequences must have the same name in the files \code{nucl.file} and \code{protaln.file}. The reverse-aligned nucleotide sequences are written to the file specified in the compulsory 'out.file' argument. For now, the only output format implemented is FASTA. Warning: the 'align.prot=TRUE' option has only been tested on LINUX operating systems. ClustalW must be installed on your system in order for this to work. } \value{ NULL } \references{ \code{citation('seqinr')} } \author{ A. Necsulea } \seealso{ \code{\link{read.alignment}}, \code{\link{read.fasta}}, \code{\link{write.fasta}}} \examples{ # # Read example 'bordetella.fasta': a triplet of orthologous genes from # three bacterial species (Bordetella pertussis, B. parapertussis and # B. bronchiseptica): # nucl.file <- system.file('sequences/bordetella.fasta', package = 'seqinr') triplet <- read.fasta(nucl.file) # # For this example, 'bordetella.pep.aln' contains the aligned protein # sequences, in the Clustal format: # protaln.file <- system.file('sequences/bordetella.pep.aln', package = 'seqinr') triplet.pep<- read.alignment(protaln.file, format = 'clustal') # # Call reverse.align for this example: # reverse.align(nucl.file = nucl.file, protaln.file = protaln.file, input.format = 'clustal', out.file = 'test.revalign') # # Simple sanity check against expected result: # res.new <- read.alignment("test.revalign", format = "fasta") data(revaligntest) stopifnot(identical(res.new, revaligntest)) # # Alternatively, we can use ClustalW to align the translated nucleic # sequences. Here the ClustalW program is accessible simply by the # 'clustalw' name. # \dontrun{ reverse.align(nucl.file = nucl.file, out.file = 'test.revalign.clustal', align.prot = TRUE, clustal.path = 'clustalw')} } \keyword{ manip } seqinr/man/peakabif.Rd0000644000176000001440000000457511264567422014433 0ustar ripleyusers\name{peakabif} \alias{peakabif} \title{Extraction of Peak locations, Heights and Surfaces from ABIF data} \description{ Simple peak location for data imported with the \code{\link{read.abif}} function using cubic spline interpolation. } \usage{ peakabif(abifdata, chanel, npeak, thres = 400/yscale, fig = TRUE, chanel.names = c(1:4,105), DATA = paste("DATA", chanel.names[chanel], sep = "."), tmin = 1/tscale, tmax = abifdata$Data[["SCAN.1"]]/tscale, tscale = 1000, yscale = 1000, irange = (tmin*tscale):(tmax*tscale), y = abifdata$Data[[DATA]][irange]/yscale, method = "monoH.FC", maxrfu = 1000, ...) } \arguments{ \item{abifdata}{the result returned by \code{\link{read.abif}}} \item{chanel}{the dye number} \item{npeak}{the expected number of peaks} \item{thres}{scaled threshold value} \item{fig}{logical: should localized peaks be plotted} \item{chanel.names}{numbers extensions used for the DATA} \item{DATA}{names of the DATA components} \item{tmin}{scaled starting time for the time axis} \item{tmax}{scaled ending time for the time axis} \item{tscale}{scale factor for the time axis} \item{yscale}{scale factor for the y-axis (RFU)} \item{irange}{indices of data to be plotted} \item{y}{values used for the y-axis} \item{method}{method to be used by \code{\link{splinefun}}} \item{maxrfu}{argument passed to \code{\link{baselineabif}}} \item{...}{arguments forwarded to \code{\link{plot}}} } \value{ Returns invisibly a list with the unscaled values for the locations of peaks, heights of peaks and surfaces of peaks and baseline estimate. The peak location are in datapoint units, that is an integer starting at 1 for the first experimental point, 2 for the second experimental point, etc. However, due to interpolation between points the estimated peak location is usually not an integer. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry} \seealso{ function \code{\link{read.abif}} to import files in ABIF format, \code{\link{plotabif}} to plot them, data \code{\link{gs500liz}} for internal size standards, data \code{\link{identifiler}} for allele names in the allelic ladder, data \code{\link{JLO}} for an example of an individual sample file, data \code{\link{ECH}} for an example of an allelic lader. } \examples{ data(JLO) JLO.maxis <- peakabif(JLO, 5, npeak = 14, tmin = 2.7, thres = 0.1)$maxis } seqinr/man/count.Rd0000644000176000001440000000727112426453046014012 0ustar ripleyusers\name{count} \alias{count} \title{Composition of dimer/trimer/etc oligomers} \description{ Counts the number of times dimer/trimer/etc oligomers occur in a sequence. Note that the oligomers are overlapping by default. } \usage{ count(seq, wordsize, start = 0, by = 1, freq = FALSE, alphabet = s2c("acgt"), frame = start) } \arguments{ \item{seq}{a vector of single characters.} \item{wordsize}{an integer giving the size of word (n-mer) to count.} \item{start}{an integer (0, 1, 2,...) giving the starting position to consider in the sequence. The default value 0 means that we start at the first nucleotide in the sequence.} \item{by}{an integer defaulting to 1 for the window step.} \item{freq}{if TRUE, word relative frequencies (summing to 1) are returned instead of counts} \item{alphabet}{a vector of single characters used to build the oligomer set.} \item{frame}{synonymous for start} } \details{ \code{count} counts the occurence of all words by moving a window of length \code{word}. The window step is controlled by the argument \code{by}. \code{start} controls the starting position in the sequence for the count. } \value{ This function returns a \code{\link{table}} whose \code{\link{dimnames}} are all the possible oligomers. All oligomers are returned, even if absent from the sequence. } \author{ D. Charif, J.R. Lobry with suggestions from Gabriel Valiente, Stefanie Hartmann and Christian Gautier} \references{ \code{citation("seqinr")} } \seealso{ \code{\link{table}} for the class of the returned objet. See \code{\link{rho}} and \code{\link{zscore}} for dinucleotide statistics.} \examples{ a <- s2c("acgggtacggtcccatcgaa") ## ## To count dinucleotide occurrences in sequence a: ## count(a, word = 2) ## ## To count trinucleotide occurrences in sequence a, with start = 2: ## count(a, word = 3, start = 2) ## ## To count dinucleotide relative frequencies in sequence a: ## count(a, word = 2, freq = TRUE) ## ## To count dinucleotides in codon positions III-I in a coding sequence: ## alldinuclIIIpI <- s2c("NNaaNatNttNtgNgtNtcNctNtaNagNggNgcNcgNgaNacNccNcaNN") resIIIpI <- count(alldinuclIIIpI, word = 2, start = 2, by = 3) stopifnot(all( resIIIpI == 1)) ## ## Simple sanity check: ## #alldinucl <- "aattgtctaggcgacca" #stopifnot(all(count(s2c(alldinucl), 2) == 1)) #alldiaa <- "aaxxzxbxvxyxwxtxsxpxfxmxkxlxixhxgxexqxcxdxnxrxazzbzvzyzwztzszpzfzmzkzlzizhzgzezqzczdznz #rzabbvbybwbtbsbpbfbmbkblbibhbgbebqbcbdbnbrbavvyvwvtvsvpvfvmvkvlvivhvgvevqvcvdvnvrvayywytysypyfymyky #lyiyhygyeyqycydynyryawwtwswpwfwmwkwlwiwhwgwewqwcwdwnwrwattstptftmtktltithtgtetqtctdtntrtasspsfsmsks #lsishsgsesqscsdsnsrsappfpmpkplpiphpgpepqpcpdpnprpaffmfkflfifhfgfefqfcfdfnfrfammkmlmimhmgmemqmcmdmnm #rmakklkikhkgkekqkckdknkrkallilhlglelqlcldlnlrlaiihigieiqicidiniriahhghehqhchdhnhrhaggegqgcgdgngrgae #eqecedenereaqqcqdqnqrqaccdcncrcaddndrdannrnarra" #stopifnot(all(count(s2c(alldiaa), 2, alphabet = s2c("arndcqeghilkmfpstwyvbzx")) == 1)) ## ## Example with dinucleotide count in the complete Human mitochondrion genome: ## humanMito <- read.fasta(file = system.file("sequences/humanMito.fasta", package = "seqinr")) ## ## Get the dinucleotide count: ## dinu <- count(humanMito[[1]], 2) ## ## Put the results in a 4 X 4 array: ## dinu2 <- dinu dim(dinu2) <- c(4, 4) nucl <- s2c("ACGT") dimnames(dinu2) <- list(paste(nucl, "-3\'", sep = ""), paste("5\'-", nucl, sep = "")) ## ## Show that CpG and GpT dinucleotides are depleted: ## mosaicplot(t(dinu2), shade = TRUE, main = "Dinucleotide XpY frequencies in the Human\nmitochondrion complete genome", xlab = "First nucleotide: Xp", ylab = "Second nucleotide: pY", las = 1, cex = 1) mtext("Note the depletion in CpG and GpT dinucleotides", side = 1, line = 3) } \keyword{ manip } seqinr/man/getAnnot.Rd0000644000176000001440000000546312435326277014447 0ustar ripleyusers\name{getAnnot} \alias{getAnnot} \alias{getAnnot.default} \alias{getAnnot.list} \alias{getAnnot.SeqAcnucWeb} \alias{getAnnot.SeqFastadna} \alias{getAnnot.SeqFastaAA} \alias{getAnnot.qaw} \alias{getAnnot.logical} \alias{readAnnots.socket} \title{Generic Function to get sequence annotations} \description{ Annotations are taken from the \code{Annot} attribute for sequences imported from a FASTA file and retrieved from an ACNUC server for objects of the \code{SeqAcnucWeb} class. } \usage{ getAnnot(object, ...) \method{getAnnot}{SeqAcnucWeb}(object, ..., nbl = 100, socket = autosocket()) } \arguments{ \item{object}{ an object of the class \code{SeqAcnucWeb} or \code{SeqFastadna}, or \code{SeqFastaAA} or a list of these objects } \item{nbl}{ the maximum number of line of annotation to read. Reading of lines stops when nbl lines have been transmitted or at the last annotation line of the sequence (SQ or ORIGIN line). } \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{...}{further arguments passed to or from other methods} } \value{ \code{getAnnot} returns a vector of string of characters containing the annotations for the sequences. } \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{query}}, \code{\link{SeqAcnucWeb}}, \code{\link{c2s}}, \code{\link{translate}} and \code{\link{prepgetannots}} to select the annotation lines. } \examples{ # # List all available methods for getAnnot generic function: # methods(getAnnot) # # SeqAcnucWeb class example: # \dontrun{ # Need internet connection choosebank("emblTP") fc<-query("fc", "sp=felis catus et t=cds et O=mitochondrion et Y>2001 et no k=partial") # get the first 5 lines annotating the first sequence: annots <- getAnnot(fc$req[[1]], nbl = 5) cat(annots, sep = "\n") # or use the list method to get them all at once: annots <- getAnnot(fc$req, nbl = 5) cat(annots, sep = "\n") closebank() } # # SeqFastaAA class example: # aafile <- system.file("sequences/seqAA.fasta", package = "seqinr") sfaa <- read.fasta(aafile, seqtype = "AA") getAnnot(sfaa[[1]]) # # SeqFastadna class example: # dnafile <- system.file("sequences/malM.fasta", package = "seqinr") sfdna <- read.fasta(file = dnafile) getAnnot(sfdna[[1]]) # # Example with a FASTA file with multiple entries: # ff <- system.file("sequences/someORF.fsa", package = "seqinr") fs <- read.fasta(ff) getAnnot(fs) # the list method is used here to get them all at once # # Default getAnnot method example. An error is produced because # there are no annotations by default: # result <- try(getAnnot(letters)) stopifnot(!inherits("result", "try-error")) } \keyword{ utilities } seqinr/man/SeqFastaAA.Rd0000644000176000001440000000312210721132442014550 0ustar ripleyusers\name{SeqFastaAA} \alias{SeqFastaAA} \alias{is.SeqFastaAA} \alias{as.SeqFastaAA} \alias{summary.SeqFastaAA} \title{AA sequence in Fasta Format} \description{ \code{as.SeqFastaAA} is called by the function as \code{read.fasta}. It creates an object of class \code{SeqFastaAA}. \code{is.SeqFastaAA} returns TRUE if the object is of class \code{SeqFastaAA}. \code{summary.SeqFastaAA} gives the AA composition of an object of class \code{SeqFastaAA}. } \usage{ as.SeqFastaAA(object, name = NULL, Annot = NULL) is.SeqFastaAA(object) \method{summary}{SeqFastaAA}(object,...) } \arguments{ \item{object}{ a vector of chars representing a biological sequence } \item{name}{ \code{NULL} a character string specifying a name for the sequence } \item{Annot}{ \code{NULL} a character string specifying some annotations for the sequence } \item{...}{ additional arguments affecting the summary produced } } \value{ \code{as.SeqFastaAA} returns an object sequence of class \code{SeqFastaAA}. \code{summary.SeqFastaAA} returns a list which the following components: \item{composition}{ the AA counting of the sequence} \item{AA.Property}{ the percentage of each group of amino acid in the sequence. By example, the groups are small, tiny, aliphatic, aromatic ... } } \references{ \code{citation("seqinr")} } \author{ D. Charif } \examples{ s <- read.fasta(file = system.file("sequences/seqAA.fasta", package = "seqinr"), seqtype="AA") is.SeqFastaAA(s[[1]]) summary(s[[1]]) myseq <- s2c("MSPTAYRRGSPAFLV*") as.SeqFastaAA(myseq, name = "myseq", Annot = "blablabla") myseq } \keyword{ utilities } seqinr/man/move.Rd0000644000176000001440000000131211230170431013600 0ustar ripleyusers\name{move} \alias{move} \alias{mv} \title{Rename an R object} \description{ Rename object \code{from} into \code{to}. } \usage{ move(from, to) mv(from, to) } \arguments{ \item{from}{an R object name} \item{to}{the new R object name} } \value{ none. } \references{ \code{citation("seqinr")} } \author{ J.R. Lobry } \seealso{\code{\link{swap}} } \examples{ # # Example in a new empty environment: # local({ zefplock <- pi print(ls()) print(zefplock) mv(zefplock, toto) print(ls()) print(toto) stopifnot(identical(toto, pi)) # Sanity check }) # # Check that self-affectation is possible: # mv(mv, mv) # force self-affectation for the function itself mv(mv, mv) # OK, function mv() still exists } seqinr/man/a.Rd0000644000176000001440000000222710606437570013100 0ustar ripleyusers\name{a} \alias{a} \title{Converts amino-acid three-letter code into the one-letter one} \description{ This is a vectorized function to convert three-letters amino-acid code into the one-letter one, for instance "Ala" into "A". } \usage{ a(aa) } \arguments{ \item{aa}{ A vector of string. All strings are 3 chars long.} } \details{ Allowed character values for \code{aa} are given by \code{aaa()}. All other values will generate a warning and return NA. Called without arguments, \code{a()} returns the list of all possible output values. } \value{ A vector of single characters. } \references{ The IUPAC one-letter code for aminoacids is described at: \url{http://www.chem.qmul.ac.uk/iupac/AminoAcid/}\cr \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{\code{\link{aaa}}, \code{\link{translate}} } \examples{ # # Show all possible input values: # aaa() # # Convert them in one letter-code: # a(aaa()) # # Check consistency of results: # stopifnot( aaa(a(aaa())) == aaa()) # # Show what happens with non-allowed values: # a("SOS") # should be NA and a warning is generated } \keyword{ utilities } seqinr/man/al2bp.Rd0000644000176000001440000000606011146342374013654 0ustar ripleyusers\name{al2bp} \alias{al2bp} \title{To Convert a forensic microsatellite allele name into its length in base pairs} \description{ Conventions used to name forensic microsatellite alleles (STR) are described in Bar \emph{et al.} (1994). The name "9.3" means for instance that there are 9 repetitions of the complete base oligomer and an incomplete repeat with 3 bp. } \usage{ al2bp(allele.name, repeat.bp = 4, offLadderChars = "><", split = "\\\\.") } \arguments{ \item{allele.name}{The name of the allele, coerced to a string type.} \item{repeat.bp}{The length in bp of the microsatellite base repeat, most of them are tetranucleotides so that it defaults to 4. Do not forget to change this to 5 for loci based on pentanucleotides such as Penta D or Penta E.} \item{offLadderChars}{\code{\link{NA}} is returned when at least one of these characters are found in the allele name. Off ladder alleles are typically reported as "<8" or ">19" } \item{split}{The convention is to use a dot, as in "9.3", between the number of repeats and the number of bases in the incomplete repeat. On some locales where the decimal separator is a comma this could be a source of problem, try to use "," instead for this argument which is forwarded to \code{\link{strsplit}}.} } \value{ A single numeric value corresponding to the size in bp of the allele, or NA when characters spoting off ladder alleles are encountedred or when numeric conversion is impossible (\emph{e.g.} with "X" or "Y" allele names at Amelogenin locus). } \details{ Warnings generated by faulty numeric conversions are suppressed here. } \references{ Bar, W. and Brinkmann, B. and Lincoln, P. and Mayr, W.R. and Rossi, U. (1994) DNA recommendations. 1994 report concerning further recommendations of the DNA Commission of the ISFH regarding PCR-based polymorphisms in STR (short tandem repeat) systems. \emph{Int. J. Leg. Med.}, \bold{107}:159-160. \code{citation("seqinR")} } \author{J.R. Lobry} \seealso{\code{\link{identifiler}} for forensic microsatellite allele name examples.} \examples{ # # Quality check and examples: # stopifnot( al2bp("9") == 36 ) # 9 repeats of a tetranucleotide is 36 bp stopifnot( al2bp(9) == 36 ) # also OK with numerical argument stopifnot( al2bp(9, 5) == 45 ) # 9 repeats of a pentanucleotide is 45 bp stopifnot( al2bp("9.3") == 39 ) # microvariant case stopifnot( is.na(al2bp("<8")) ) # off ladder case stopifnot( is.na(al2bp(">19")) ) # off ladder case stopifnot( is.na(al2bp("X")) ) # non STR case # # Application to the alleles names in the identifiler data set where all loci are # tetranucleotide repeats: # data(identifiler) al.names <- unlist(identifiler) al.length <- sapply(al.names, al2bp) loc.names <- unlist(lapply(identifiler, names)) loc.nall <-unlist(lapply(identifiler, function(x) lapply(x,length))) loc.fac <- factor(rep(loc.names, loc.nall)) par(lend = "butt", mar = c(5,6,4,1)+0.1) boxplot(al.length~loc.fac, las = 1, col = "lightblue", horizontal = TRUE, main = "Range of allele lengths at forensic loci", xlab = "Length (bp)", ylim = c(0, max(al.length, na.rm = TRUE))) } seqinr/man/rearranged.oriloc.Rd0000644000176000001440000000765212435602615016263 0ustar ripleyusers\name{rearranged.oriloc} \alias{rearranged.oriloc} \title{Detection of replication-associated effects on base composition asymmetry in prokaryotic chromosomes.} \description{ Detection of replication-associated effects on base composition asymmetry in prokaryotic chromosomes. } \usage{rearranged.oriloc( seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord ="ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.coord" )} \arguments{ \item{seq.fasta}{The path of the file containing a FASTA-format sequence. Default value: "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta" - the FASTA sequence of the Chlamydia trachomatis chromosome. } \item{g2.coord}{The path of the file containing the coordinates of the protein coding genes found on this chromosome. This file can be obtained using the function \code{gbk2g2}. The format of the file is similar to the output of the Glimmer2 program. The first column contains the index or the name of the gene, the second one contains the start position and the third column contains the end position. For reverse transcribed genes, the start position is greater than the end position.} } \details{ The purpose of this method is to decouple replication-related and coding sequence-related effects on base composition asymmetry. In order to do so, the analyzed chromosome is artificially rearranged to obtain a perfect gene orientation bias - all forward transcribed genes on the first half of the chromosome, and all reverse transcribed genes on the other half. This rearrangement conserves the relative order of genes within each of the two groups - both forward-encoded and reverse-encoded genes are placed on the rearranged chromosome in increasing order of their coordinates on the real chromosome. If the replication mechanism has a significant effect on base composition asymmetry, this should be seen as a change of slope in the nucleotide skews computed on the rearranged chromosome; the change of slope should take place at the origin or the terminus of replication. Use \code{extract.breakpoints} to detect the position of the changes in slope on the rearranged nucleotide skews. } \value{ A data.frame with six columns: \code{meancoord.rearr} contains the gene index on the rearranged chromosome; \code{gcskew.rearr} contains the normalized GC-skew ((G-C)/(G+C)) computed on the third codon positions of protein coding genes, still on the rearranged chromosome; \code{atskew.rearr} contains the normalized AT-skew ((A-T)/(A+T)) computed on the third codon positions of protein coding genes; \code{strand.rearr} contains the transcription strand of the gene (either "forward" or "reverse"); \code{order} contains the permutation that was used to obtain a perfect gene orientation bias; \code{meancoord.real} contains the mid-coordinate of the genes on the real chromosome (before the rearrangement). } \references{ Necsulea, A. and Lobry, J.R. (2007) A New Method for Assessing the Effect of Replication on DNA Base Composition Asymmetry. \emph{Molecular Biology and Evolution}, \bold{24}:2169-2179. } \author{A. Necsulea} \seealso{ \code{\link{oriloc}}, \code{\link{draw.rearranged.oriloc}}, \code{\link{extract.breakpoints}} } \examples{ ### Example for Chlamydia trachomatis #### ### Rearrange the chromosome and compute the nucleotide skews ### \dontrun{r.ori <- rearranged.oriloc(seq.fasta = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.fasta", g2.coord = "ftp://pbil.univ-lyon1.fr/pub/seqinr/data/ct.coord")} ### Extract the breakpoints for the rearranged nucleotide skews ### \dontrun{breaks <- extract.breakpoints(r.ori, type = c("gcfw", "gcrev"), nbreaks =c(2, 2), gridsize = 50, it.max = 100)} ### Draw the rearranged nucleotide skews and place the position of the breakpoints ### ### on the graphics ### \dontrun{draw.rearranged.oriloc(r.ori, breaks.gcfw = breaks$gcfw$breaks, breaks.gcrev = breaks$gcrev$breaks)} } \keyword{utilities} seqinr/man/circle.Rd0000644000176000001440000000210411250533471014104 0ustar ripleyusers\name{circle} \alias{circle} \title{Draws a circle} \description{Draws a circle or an arc-circle on the current graphic device} \usage{ circle(x = 0, y = 0, r = 1, theta = c(0, 360), n = 100, ...) } \arguments{ \item{x}{x coordinate for the center of the circle} \item{y}{y coordinate for the center of the circle} \item{r}{radius of the circle} \item{theta}{start and stop angle} \item{n}{number of points for polygon object} \item{\dots}{arguments passed to \code{\link{polygon}}} } \value{none} \author{J.R. Lobry} \seealso{\code{\link{polygon}}} \examples{ par(mfrow = c(2, 2), mar = c(0,0,2,0)) setup <- function(){ plot.new() plot.window(xlim = c(-1,1), ylim = c(-1,1), asp = 1) } setup() circle(col = "lightblue") title(main = "theta = c(0, 360)") setup() circle(col = "lightblue", theta = c(0, 270)) title(main = "theta = c(0, 270)") setup() circle(col = "lightblue", theta = c(-90, 180)) title(main = "theta = c(-90, 180)") setup() n <- 20 for(i in seq(0, 360, length = n)){ circle(col = "lightblue", theta = c(i, i+360/(2*n))) } title(main = "many thetas") } seqinr/man/draw.recstat.Rd0000755000176000001440000000364411636107113015257 0ustar ripleyusers\name{draw.recstat} \alias{draw.recstat} \title{Graphical representation of a recstat analysis.} \description{This function displays the results returned by \code{recstat} with two plots. The first one shows the factor scores of a CA computed on the codon composition of a DNA sequence. The second one shows the locations of all Start and Stop codons in this sequence.} \usage{draw.recstat(rec, fac = 1, direct = TRUE, xlim = c(1, seqsize), col = c("red", "blue", "purple"))} \arguments{ \item{rec}{list of elements returned by \code{recstat} function.} \item{fac}{axis of the CA to use for display (4 \eqn{\ge} \code{fac} \eqn{\ge} 1).} \item{direct}{a logical for the choice of direct or reverse strand.} \item{xlim}{starting and ending positions in the sequence for the plot.} \item{col}{vector of colour codes for the three frames of the sequence.} } \details{The first plot shows the factor scores of the sliding windows, this for the three possible frames of the strand selected by the user. The second shows the Start (filled grey triangles pointing up) and Stop (solid black triangles pointing down) codons positions. Note that the standard genetic code is used for that purpose. Visual detection of putative CDS is performed through the simultaneous use of these two graphics. If a CDS is located within the sequence, the factor scores for the windows located in the corresponding reading frame will be significantly separated from the two others. Moreover, the region where this separation is seen should be located between a Start and a Stop codon.} \author{Clerc, O. and Perriere, G.} \seealso{\code{\link{test.li.recstat}}, \code{\link{test.co.recstat}}} \examples{ \dontrun{ library(seqinr) library(ade4) ff <- system.file("sequences/ECOUNC.fsa", package = "seqinr2") seq <- read.fasta(ff) rec <- recstat(seq[[1]], seqname = getName(seq)) draw.recstat(rec) } } \keyword{correspondence analysis} \keyword{sequence}seqinr/man/readPanels.Rd0000644000176000001440000000334411247732666014745 0ustar ripleyusers\name{readPanels} \alias{readPanels} \title{Import GenMapper Panels configuration file} \description{ In a Panel configuration file there is a description for a given identification kit of the marker names, their dye label color, expected size range, expected positive control genotypes, number of bases in core repeat, stutter percentages, and allele names. } \usage{ readPanels(file, colnames = c("marker", "dye.col", "min.bp", "max.bp", "exp.pcg", "repeat.bp", "stutter.pc", "uknw", "allele names"))} \arguments{ \item{file}{The name of the Panel configuration file.} \item{colnames}{The names to be used for the columns of the data.frames.} } \value{ A list whose first element is the file header info and following elements data.frames, one for each kit encountered in the file. } \details{ Number of bases in core repeat is set to 9 for Amelogenin locus. } \references{ \code{citation("seqinR")} } \author{J.R. Lobry} \seealso{\code{\link{readBins}}, \code{\link{plotPanels}}.} \examples{ # # Check that we can read the 2 exemple files in the seqinR package: # path1 <- system.file("abif/AmpFLSTR_Panels_v1.txt", package = "seqinr") res1 <- readPanels(path1) path2 <- system.file("abif/Promega_Panels_v1.txt", package = "seqinr") res2 <- readPanels(path2) # # Show the kits described in res1: # names(res1) # # Show some data for a given kit: # res1[["Identifiler_v1"]][, 1:7] # # Plot a simple summary of two kits: # par(mfrow = c(2,1)) plotPanels("Identifiler_v1", res1) plotPanels("PowerPlex_16_v1", res2) # # Simple quality check since seqinR 2.0-4 with a file which containing # a non constant number of tabulations as separator: # path3 <- system.file("abif/Prototype_PowerPlex_EP01_Pa.txt", package = "seqinr") res3 <- readPanels(path3) } seqinr/man/getSequence.Rd0000644000176000001440000000516312435326277015135 0ustar ripleyusers\name{getSequence} \alias{getSequence} \alias{getSequence.default} \alias{getSequence.list} \alias{getSequence.character} \alias{getSequence.SeqFrag} \alias{getSequence.SeqAcnucWeb} \alias{getSequence.SeqFastadna} \alias{getSequence.SeqFastaAA} \alias{getSequence.qaw} \alias{getSequence.logical} \title{Generic function to get sequence data} \description{ getSequence returns the sequence either as vector of single chararacters or as a single string of multiple characters. } \usage{ getSequence(object, as.string = FALSE, ...) \method{getSequence}{SeqAcnucWeb}(object, as.string = FALSE, ..., socket = autosocket()) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}} or \code{\link{SeqFastadna}}, or \code{\link{SeqFastaAA}} or \code{\link{SeqFrag}} or a list of these objects, or an object of class \code{qaw} created by \code{\link{query}} } \item{as.string}{if TRUE sequences are returned as strings of multiple characters instead of a vector of single characters} \item{socket}{an object of class \code{sockconn} connecting to a remote ACNUC database (default is a socket to the last opened database).} \item{...}{further arguments passed to or from other methods} } \value{ For a single sequence an object of class \code{character} containing the characters of the sequence, either of length 1 when \code{as.string} is TRUE, or of the length of the sequence when \code{as.string} is FALSE. For many sequences, a list of these.} \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}}, \code{\link{SeqFastadna}}, \code{\link{SeqFastaAA}}, \code{\link{SeqFrag}} } \examples{ # # List all available methods for getSequence generic function: # methods(getSequence) # # SeqAcnucWeb class example: # \dontrun{# Need internet connection choosebank("emblTP") fc <- query("fc", "sp=felis catus et t=cds et o=mitochondrion") getSequence(fc$req[[1]]) getSequence(fc$req[[1]], as.string = TRUE) closebank() } # # SeqFastaAA class example: # aafile <- system.file("sequences/seqAA.fasta", package = "seqinr") sfaa <- read.fasta(aafile, seqtype = "AA") getSequence(sfaa[[1]]) getSequence(sfaa[[1]], as.string = TRUE) # # SeqFastadna class example: # dnafile <- system.file("sequences/someORF.fsa", package = "seqinr") sfdna <- read.fasta(file = dnafile) getSequence(sfdna[[1]]) getSequence(sfdna[[1]], as.string = TRUE) # # SeqFrag class example: # sfrag <- getFrag(object = sfdna[[1]], begin = 1, end = 10) getSequence(sfrag) getSequence(sfrag, as.string = TRUE) } \keyword{ utilities } seqinr/man/getName.Rd0000644000176000001440000000277012435326277014246 0ustar ripleyusers\name{getName} \alias{getName} \alias{getName.default} \alias{getName.list} \alias{getName.SeqFrag} \alias{getName.SeqAcnucWeb} \alias{getName.SeqFastadna} \alias{getName.SeqFastaAA} \alias{getName.qaw} \alias{getName.logical} \title{Generic function to get the names of sequences} \description{ GetName returns the sequence names. } \usage{ getName(object, ...) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}} or \code{\link{SeqFastadna}}, or \code{\link{SeqFastaAA}} or \code{\link{SeqFrag}} or a list of these objects } \item{...}{further arguments passed to or from other methods} } \value{ an object of class \code{character} containing the names of the sequences} \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}}, \code{\link{SeqFastadna}}, \code{\link{SeqFastaAA}}, \code{\link{SeqFrag}} } \examples{ # # List all available methods for getName generic function: # methods(getName) # # Example with seven DNA sequences from a FASTA file: # ff <- system.file("sequences/someORF.fsa", package = "seqinr") fs <- read.fasta(file = ff) stopifnot(all(getName(fs) == c("YAL001C", "YAL002W", "YAL003W", "YAL005C", "YAL007C", "YAL008W", "YAL009W"))) # # Example with 49 sequences from an ACNUC server: # \dontrun{ # Need internet connection choosebank("emblTP") fc <- query("fc", "sp=felis catus et t=cds et o=mitochondrion") getName(fc) closebank() } } \keyword{ utilities } seqinr/man/toyaa.Rd0000644000176000001440000000125110634003160013752 0ustar ripleyusers\name{toyaa} \alias{toyaa} \docType{data} \title{A toy example of amino-acid counts in three proteins} \encoding{latin1} \description{ This is a toy data set to illustrate the importance of metric choice. } \usage{data(toyaa)} \format{ A data frame with 3 observations on the following 3 variables: \describe{ \item{Ala}{Alanine counts} \item{Val}{Valine counts} \item{Cys}{Cysteine counts} } } \source{ This toy example was inspired by Gautier, C: Analyses statistiques et volution des squences d'acides nucliques. PhD thesis (1987), Universit Claude Bernard - Lyon I. } \references{ \code{citation("seqinr")} } \examples{ data(toyaa) } \keyword{datasets} seqinr/man/gbk2g2.euk.Rd0000644000176000001440000000224010575006113014502 0ustar ripleyusers\name{gbk2g2.euk} \alias{gbk2g2.euk} \title{ Conversion of a GenBank format file into a glimmer-like one. Eukaryotic version.} \description{ This function reads a file in GenBank format and converts the features corresponding to CDS (Coding Sequences) into a format similar to glimmer program output. This function is specifically made for eukaryotic sequences, i.e. with introns. } \usage{ gbk2g2.euk(gbkfile = system.file("sequences/ame1.gbk", package ="seqinr"), g2.coord = "g2.coord") } \arguments{ \item{gbkfile}{ The name of the GenBank file } \item{g2.coord}{ The name of the output file } } \details{ This function returns the coordinates of the exons annotated in the GenBank format file. } \value{ A data frame with three columns will be written to the \code{g2.coord} file. The first column corresponds to the name of the gene, given in the GenBank file through the \code{/gene} feature. The second and third column contain the start and the stop position of the exon. } \references{ \code{citation("seqinr")} } \author{J.R. Lobry and A. Necsulea} \seealso{ \code{\link{oriloc}}, \code{\link{gbk2g2}} } \examples{ \dontrun{ gbk2g2.euk() } } \keyword{utilities} seqinr/man/gs500liz.Rd0000644000176000001440000000270711136141325014225 0ustar ripleyusers\name{gs500liz} \alias{gs500liz} \docType{data} \title{GS500LIZ size standards} \description{ GS500LIZ is an internal size standard often used in capillary electrophoresis. It contains 16 fragments ranging in size from 35 to 500 bp. Note that they are not all used for calibration : fragments at 250 and 340 bp may migrate anomalously (most likey because of secondary structure formation). } \usage{data(gs500liz)} \format{ A list with 3 components. \describe{ \item{liz}{a vector of 16 values for the fragment sizes in bp.} \item{mask1}{a vector of 16 logicals to remove fragments whose migration may be anomalous (250 and 340 bp).} \item{mask2}{a vector of 16 logicals to remove extreme fragments (35, 50, 490, 500 bp) so that the resulting fragments are in the 75-450 bp range.} } } \examples{ data(gs500liz) op <- par(no.readonly = TRUE) par(lend = "butt", mar = c(5,0,4,0)+0.1) x <- gs500liz$liz n <- length(x) y <- rep(1, n) plot(x, y, type = "h", yaxt = "n", xlab = "Fragment size [bp]", main = "GS500LIZ size standard", lwd = 2) x1 <- x[!gs500liz$mask1] segments(x1, 0, x1, 1, col = "red", lwd = 2) x2 <- x[!gs500liz$mask2] segments(x2, 0, x2, 1, col = "blue", lwd = 2) col <- rep("black", n) col[!gs500liz$mask1] <- "red" col[!gs500liz$mask2] <- "blue" text(x,1.05,paste(x, "bp"), srt = 90, col = col) legend("top", inset = 0.1, legend = c("regular", "imprecise (mask1)", "extreme (mask2)"), lwd = 2, col = c("black","red","blue")) par(op) } seqinr/man/recstat.Rd0000755000176000001440000000710411636107113014316 0ustar ripleyusers\name{recstat} \alias{recstat} \title{Prediction of Coding DNA Sequences.} \description{This function aims at predicting the position of Coding DNA Sequences (CDS) through the use of a Correspondence Analysis (CA) computed on codon composition, this for the three reading frames of a DNA strand. } \usage{recstat(seq, sizewin = 90, shift = 30, seqname = "no name")} \arguments{ \item{seq}{a nucleic acid sequence as a vector of characters} \item{sizewin}{an integer, multiple of 3, giving the length of the sliding window} \item{shift}{an integer, multiple of 3, giving the length of the steps between two windows} \item{seqname}{the name of the sequence} } \details{The method is built on the hypothesis that the codon composition of a CDS is biased while it is not the case outside these regions. In order to detect such bias, a CA on codon frequencies is computed on the six possible reading frames of a DNA sequence (three from the direct strand and three from the reverse strand). When there is a CDS in one of the reading frame, it is expected that the CA factor scores observed in this frame (fot both rows and columns) will be significantly different from those in the two others.} \value{This function returns a list containing the following components:\cr \item{seq}{a single DNA sequence as a vector of characters} \item{sizewin}{length of the sliding window} \item{shift}{length of the steps between windows} \item{seqsize}{length of the sequence} \item{seqname}{name of the sequence} \item{vdep}{a vector containing the positions of windows starts} \item{vind}{a vector containing the reading frame of each window} \item{vstopd}{a vector of stop codons positions in direct strand} \item{vstopr}{a vector of stop codons positions in reverse strand} \item{vinitd}{a vector of start codons positions in direct strand} \item{vinitr}{a vector of start codons positions in reverse strand} \item{resd}{a matrix containing codons frequencies for all the windows in the three frames of the direct strand} \item{resr}{a matrix containing codons frequencies for all the windows in the three frames of the reverse strand} \item{resd.coa}{list of class \code{coa} and \code{dudi} containing the result of the CA computed on the codons frequencies in the direct strand} \item{resr.coa}{list of class \code{coa} and \code{dudi} containing the result of the CA computed on the codons frequencies in the reverse strand} } \note{This method works only with DNA sequences long enough to obtain a sufficient number of windows. As the optimal windows length has been estimated to be 90 bp by Fichant and Gautier (1987), the minimal sequence length is around 500 bp. The method can be used on prokaryotic and eukaryotic sequences. Also, only the four first factors of the CA are kept. Indeed, most of the time, only the first factor is relevant in order to detect CDS. } \author{Clerc, O. and Perriere, G.} \references{The original paper describing recstat is:\cr Fichant, G., Gautier, C. (1987) Statistical method for predicting protein coding regions in nucleic acid sequences. \emph{Comput. Appl. Biosci.}, \bold{3}, 287--295.\cr \url{http://bioinformatics.oxfordjournals.org/content/3/4/287.abstract}\cr } \seealso{\code{\link{draw.recstat}}, \code{\link{test.li.recstat}}, \code{\link{test.co.recstat}}} \examples{ \dontrun{ library(seqinr) library(ade4) ff <- system.file("sequences/ECOUNC.fsa", package = "seqinr2") seq <- read.fasta(ff) rec <- recstat(seq[[1]], seqname = getName(seq)) } } \keyword{correspondence analysis} \keyword{sequence} seqinr/man/JLO.Rd0000644000176000001440000000340211136402012013256 0ustar ripleyusers\name{JLO} \alias{JLO} \docType{data} \title{Forensic Genetic Profile Raw Data} \description{ This is an example of raw data for a human STR genetic profile at 16 loci (\emph{viz.} D8S1179, D21S11, D7S820, CSF1PO, D3S1358, TH01, D13S317, D16S539, D2S1338, D19S433, vWA, TPOX, D18S51, Amelogenin, D5S818, FGA) which are commonly used in forensic sciences for individual identifications. } \usage{data(JLO)} \format{ A list with 3 components. \describe{ \item{Header}{a list corresponding to the header in the ABIF file} \item{Directory}{a data.frame corresponding to the Directory in the ABIF file} \item{Data}{a list with all raw data in the ABIF file.} } } \details{ This dataset is the expected result when reading the file \code{2_FAC321_0000205983_B02_004.fsa} with the function \code{\link{read.abif}}. This dataset is used for the quality check of this function. } \source{ The DNA source is from the author so that there are no privacy concern. Data were kindly provided by the INPS (Institut National de Police Scientifique) which is the national forensic sciences institute in France. Experiments were done at the LPS (Laboratoire de Police Scientifique de Lyon) in 2008. } \references{ \code{citation("seqinr")} Anonymous (2006) Applied Biosystem Genetic Analysis Data File Format. Available at \url{http://www.appliedbiosystems.com/support/software_community/ABIF_File_Format.pdf}. Last visited on 03-NOV-2008. } \author{J.R. Lobry} \seealso{ function \code{\link{read.abif}} to import files in ABIF format, data \code{\link{gs500liz}} for internal size standards, data \code{\link{ECH}} for the corresponding allelic ladder, data \code{\link{identifiler}} for allele names in the allelic ladder. } \examples{ data(JLO) } seqinr/man/getLength.Rd0000644000176000001440000000307212435326277014603 0ustar ripleyusers\name{getLength} \alias{getLength} \alias{getLength.default} \alias{getLength.list} \alias{getLength.character} \alias{getLength.SeqFrag} \alias{getLength.SeqAcnucWeb} \alias{getLength.SeqFastadna} \alias{getLength.SeqFastaAA} \alias{getLength.qaw} \alias{getLength.logical} \title{Generic function to get the length of sequences} \description{ getLength returns the total number of bases or amino-acids in a sequence. } \usage{ getLength(object, ...) } \arguments{ \item{object}{ an object of the class \code{\link{SeqAcnucWeb}} or \code{\link{SeqFastadna}}, or \code{\link{SeqFastaAA}} or \code{\link{SeqFrag}} or a list of these objects } \item{...}{further arguments passed to or from other methods} } \value{ \code{getLength} returns a numeric vector giving the length of the sequences.} \references{ \code{citation("seqinr")} } \author{ D. Charif and J.R. Lobry and L. Palmeira} \seealso{ \code{\link{SeqAcnucWeb}}, \code{\link{SeqFastadna}}, \code{\link{SeqFastaAA}}, \code{\link{SeqFrag}} } \examples{ # # List all available methods for getLength generic function: # methods(getLength) # # Example with seven DNA sequences from a FASTA file: # ff <- system.file("sequences/someORF.fsa", package = "seqinr") fs <- read.fasta(file = ff) stopifnot(all(getLength(fs) == c(5573, 5825, 2987, 3929, 2648, 2597, 2780))) # # Example with 49 sequences from an ACNUC server: # \dontrun{ # Need internet connection choosebank("emblTP") fc <- query("fc", "sp=felis catus et t=cds et o=mitochondrion") getLength(fc) closebank() } } \keyword{ utilities } seqinr/man/SeqFrag.Rd0000644000176000001440000000266210722655346014215 0ustar ripleyusers\name{SeqFrag} \alias{SeqFrag} \alias{is.SeqFrag} \alias{as.SeqFrag} \title{Class for sub-sequences} \description{ \code{as.SeqFrag} is called by all methods of \code{\link{getFrag}}, but not directly by the users. It creates an object sequence of class \code{SeqFrag}. } \usage{ as.SeqFrag(object, begin, end, name) is.SeqFrag(object) } \arguments{ \item{object}{ an object sequence of class \code{seqFastadna}, \code{seqFastaAA}, \code{seqAcnucWeb} or \code{seqFrag} } \item{begin}{ the first base of the fragment to get } \item{end}{ the last base of the fragment to get } \item{name}{ the name of the sequence } } \value{ \code{as.SeqFrag} returns a biological sequence with the following attributes: \item{seqMother}{ the name of the sequence from which the sequence comes} \item{begin}{ the position of the first base of the fragment on the mother sequence} \item{end}{ the position of the last base of the fragment on the mother sequence } \item{class}{ \code{SeqFrag} which is the classfor sub-sequence } \code{is.SeqFrag} returns TRUE if the object is of class Seqfrag. } \author{ D. Charif, J.R. Lobry } \references{ \code{citation("seqinr")} } \seealso{\code{\link{getFrag}}, \code{\link{getLength}}, \code{\link{getName}}, \code{\link{getSequence}}, \code{\link{getTrans}} } \examples{ s <- read.fasta(file = system.file("sequences/malM.fasta", package = "seqinr")) getFrag(s[[1]], 1, 10) } \keyword{utilities} seqinr/man/read.alignment.Rd0000644000176000001440000001266512426453046015555 0ustar ripleyusers\name{read.alignment} \alias{read.alignment} \title{Read aligned sequence files in mase, clustal, phylip, fasta or msf format} \description{ Read a file in \code{mase}, \code{clustal}, \code{phylip}, \code{fasta} or \code{msf} format. These formats are used to store nucleotide or protein multiple alignments. } \usage{ read.alignment(file, format, forceToLower = TRUE) } \arguments{ \item{file}{the name of the file which the aligned sequences are to be read from. If it does not contain an absolute or relative path, the file name is relative to the current working directory, \code{\link{getwd}}. } \item{format}{a character string specifying the format of the file : \code{mase}, \code{clustal}, \code{phylip}, \code{fasta} or \code{msf} } \item{forceToLower}{a logical defaulting to TRUE stating whether the returned characters in the sequence should be in lower case (introduced in seqinR release 1.1-3).} } \details{ \describe{ \item{"mase"}{The mase format is used to store nucleotide or protein multiple alignments. The beginning of the file must contain a header containing at least one line (but the content of this header may be empty). The header lines must begin by \code{;;}. The body of the file has the following structure: First, each entry must begin by one (or more) commentary line. Commentary lines begin by the character \code{;}. Again, this commentary line may be empty. After the commentaries, the name of the sequence is written on a separate line. At last, the sequence itself is written on the following lines. } \item{"clustal"}{The CLUSTAL format (*.aln) is the format of the ClustalW multialignment tool output. It can be described as follows. The word CLUSTAL is on the first line of the file. The alignment is displayed in blocks of a fixed length, each line in the block corresponding to one sequence. Each line of each block starts with the sequence name (maximum of 10 characters), followed by at least one space character. The sequence is then displayed in upper or lower cases, '-' denotes gaps. The residue number may be displayed at the end of the first line of each block. } \item{"msf"}{ MSF is the multiple sequence alignment format of the GCG sequence analysis package. It begins with the line (all uppercase) !!NA\_MULTIPLE\_ALIGNMENT 1.0 for nucleic acid sequences or !!AA\_MULTIPLE\_ALIGNMENT 1.0 for amino acid sequences. Do not edit or delete the file type if its present.(optional). A description line which contains informative text describing what is in the file. You can add this information to the top of the MSF file using a text editor.(optional) A dividing line which contains the number of bases or residues in the sequence, when the file was created, and importantly, two dots (..) which act as a divider between the descriptive information and the following sequence information.(required) msf files contain some other information: the Name/Weight, a Separating Line which must include two slashes (//) to divide the name/weight information from the sequence alignment.(required) and the multiple sequence alignment. } \item{"phylip"}{ PHYLIP is a tree construction program. The format is as follows: the number of sequences and their length (in characters) is on the first line of the file. The alignment is displayed in an interleaved or sequential format. The sequence names are limited to 10 characters and may contain blanks. } \item{"fasta"}{ Sequence in fasta format begins with a single-line description (distinguished by a greater-than (>) symbol), followed by sequence data on the next line. } } } \value{ An object of class \code{alignment} which is a list with the following components: \item{nb}{ the number of aligned sequences } \item{nam}{ a vector of strings containing the names of the aligned sequences } \item{seq}{ a vector of strings containing the aligned sequences} \item{com}{ a vector of strings containing the commentaries for each sequence or \code{NA} if there are no comments } } \references{ \code{citation("seqinr")} } \author{ D. Charif, J.R. Lobry } \seealso{ To read aligned sequences in NEXUS format, see the function \code{read.nexus} that was available in the \code{CompPairWise} package (not sure it is still maintained as of 09/09/09). The NEXUS format was mainly used by the non-GPL commercial PAUP software. Related functions: \code{\link{as.matrix.alignment}}, \code{\link{read.fasta}}, \code{\link{write.fasta}}, \code{\link{reverse.align}}, \code{\link{dist.alignment}}. } \examples{ mase.res <- read.alignment(file = system.file("sequences/test.mase", package = "seqinr"), format = "mase") clustal.res <- read.alignment(file = system.file("sequences/test.aln", package = "seqinr"), format="clustal") phylip.res <- read.alignment(file = system.file("sequences/test.phylip", package = "seqinr"), format = "phylip") msf.res <- read.alignment(file = system.file("sequences/test.msf", package = "seqinr"), format = "msf") fasta.res <- read.alignment(file = system.file("sequences/Anouk.fasta", package = "seqinr"), format = "fasta") # # Quality control routine sanity checks: # data(mase); stopifnot(identical(mase, mase.res)) data(clustal); stopifnot(identical(clustal, clustal.res)) data(phylip); stopifnot(identical(phylip, phylip.res)) data(msf); stopifnot(identical(msf, msf.res)) data(fasta); stopifnot(identical(fasta, fasta.res)) }