1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890
|
===============================================================================
2010-07-06: RELEASE 1.12.4
===============================================================================
2010-07-06: RELEASE 1.12.3
------------------------------------------------------------------------
r2170 | jkbonfield | 2010-07-06 17:32:43 +0100 (Tue, 06 Jul 2010) | 14 lines
Changed paths:
M /io_lib/trunk/io_lib/hash_table.c
M /io_lib/trunk/io_lib/hash_table.h
M /io_lib/trunk/progs/hash_list.c
M /io_lib/trunk/progs/hash_sff.c
M /io_lib/trunk/progs/hash_tar.c
Added support for a hash index of multiple files. This means we can
have a single HASH= line on our TRACE_PATH while transparently
fetching traces from any number of .tar files. (For now this is only
supported with tar and not SFF.)
Hash_list has been updated to list the originating .tar file when
outputting in long format.
Also added a -m option to hash_tar to provide a mapping from old to
new tar entry names. This allows us to rename the contents of a tar
file (eg to strip off a .ztr suffix or change case) incase Gap4 has
been incorrectly contructed with different trace filenames in it. (Yes
it's just a hack option.)
------------------------------------------------------------------------
r2132 | daviesrob | 2010-05-27 10:18:46 +0100 (Thu, 27 May 2010) | 1 line
Changed paths:
M /io_lib/trunk/progs/srf_filter.c
Update srf_filter so that it can read from a pipe. It is also now
possible to u se "-" as the name of the input/output file to read from
stdin/write to stdout.
------------------------------------------------------------------------
r2131 | jkbonfield | 2010-05-26 17:08:22 +0100 (Wed, 26 May 2010) | 2 lines
Changed paths:
M /io_lib/trunk/io_lib/ztr.c
Removed erroneous #endif.
------------------------------------------------------------------------
r2130 | jkbonfield | 2010-05-26 16:53:07 +0100 (Wed, 26 May 2010) | 24 lines
Changed paths:
M /io_lib/trunk/COPYRIGHT
M /io_lib/trunk/Makefile.am
M /io_lib/trunk/README
M /io_lib/trunk/configure.in
M /io_lib/trunk/io_lib/Makefile.am
M /io_lib/trunk/io_lib/Read.c
M /io_lib/trunk/io_lib/Read.h
M /io_lib/trunk/io_lib/array.c
M /io_lib/trunk/io_lib/compress.c
M /io_lib/trunk/io_lib/compression.c
M /io_lib/trunk/io_lib/ctfCompress.c
M /io_lib/trunk/io_lib/deflate_interlaced.c
M /io_lib/trunk/io_lib/error.c
M /io_lib/trunk/io_lib/expFileIO.c
M /io_lib/trunk/io_lib/files.c
M /io_lib/trunk/io_lib/find.c
M /io_lib/trunk/io_lib/fpoint.c
M /io_lib/trunk/io_lib/jenkins_lookup3.c
M /io_lib/trunk/io_lib/mach-io.c
M /io_lib/trunk/io_lib/misc_scf.c
D /io_lib/trunk/io_lib/os.h
A /io_lib/trunk/io_lib/os.h.in
M /io_lib/trunk/io_lib/pooled_alloc.c
M /io_lib/trunk/io_lib/read_alloc.c
M /io_lib/trunk/io_lib/read_scf.c
M /io_lib/trunk/io_lib/scf_extras.c
M /io_lib/trunk/io_lib/seqIOABI.c
M /io_lib/trunk/io_lib/seqIOALF.c
M /io_lib/trunk/io_lib/seqIOCTF.c
M /io_lib/trunk/io_lib/seqIOPlain.c
M /io_lib/trunk/io_lib/sff.c
M /io_lib/trunk/io_lib/strings.c
M /io_lib/trunk/io_lib/traceType.c
M /io_lib/trunk/io_lib/translate.c
M /io_lib/trunk/io_lib/vlen.c
M /io_lib/trunk/io_lib/write_scf.c
M /io_lib/trunk/io_lib/xalloc.c
M /io_lib/trunk/io_lib/ztr.c
M /io_lib/trunk/io_lib/ztr_translate.c
M /io_lib/trunk/progs/append_sff.c
M /io_lib/trunk/progs/convert_trace.c
M /io_lib/trunk/progs/extract_fastq.c
M /io_lib/trunk/progs/extract_qual.c
M /io_lib/trunk/progs/extract_seq.c
M /io_lib/trunk/progs/get_comment.c
M /io_lib/trunk/progs/hash_exp.c
M /io_lib/trunk/progs/hash_extract.c
M /io_lib/trunk/progs/hash_sff.c
M /io_lib/trunk/progs/hash_tar.c
M /io_lib/trunk/progs/index_tar.c
M /io_lib/trunk/progs/makeSCF.c
M /io_lib/trunk/progs/scf_dump.c
M /io_lib/trunk/progs/scf_info.c
M /io_lib/trunk/progs/scf_update.c
M /io_lib/trunk/progs/srf2fasta.c
M /io_lib/trunk/progs/srf2fastq.c
M /io_lib/trunk/progs/srf_dump_all.c
M /io_lib/trunk/progs/srf_filter.c
M /io_lib/trunk/progs/srf_info.c
M /io_lib/trunk/progs/trace_dump.c
M /io_lib/trunk/progs/ztr_dump.c
Overhaul of endianness detection.
- We still use autoconf, but now generate an os.h from os.h.in with
either SP_LITTLE_ENDIAN or SP_BIG_ENDIAN already hard-coded within
it. This avoids issues when non-autoconf programs linking against
io_lib include os.h.
- As an exception to the above, MacOS X FAT binaries will defined
neither of the endian parameters (as it's impossible to know this at
configure time) and falls back to the auto-dtection based on CPU
time. Hopefully the same applies for any cross-compilation. NOTE:
this requires a modern autoconf with the 4th argument to
AC_C_BIGENDIAN macro. (3.65 has it, but 3.61 does not. I am unsure
which version inbetween it appeared.)
- We now include io_lib_config.h in all .c files and in no .h
files. This avoids complications of trying to include io_lib header
files (os.h in particular) from another program using autoconf
that's also defined HAVE_CONFIG_H.
- Removed False/True from os.h. Only false was used and only in two
scf source files. I just explicitly check vs 0 now.
------------------------------------------------------------------------
r2123 | jkbonfield | 2010-05-11 17:04:30 +0100 (Tue, 11 May 2010) | 2 lines
Changed paths:
M /io_lib/trunk/io_lib/os.h
Added extra auto-detected for big vs little endian (when not using autoconf).
------------------------------------------------------------------------
r2107 | jkbonfield | 2010-04-29 16:46:14 +0100 (Thu, 29 Apr 2010) | 4 lines
Changed paths:
M /io_lib/trunk/io_lib/misc.h
Reordered include files to ensure that io_lib-config.h comes before
sys/types.h or sys/stat.h. This ensures Large File Support works
correctly.
------------------------------------------------------------------------
r2068 | jkbonfield | 2010-03-16 15:31:00 +0000 (Tue, 16 Mar 2010) | 2 lines
Changed paths:
M /io_lib/trunk/progs/srf_dump_all.c
Detect tagged-runs with names including #<index>, eg IL2_4381:1:1:1066:18864#43.
------------------------------------------------------------------------
r1999 | jkbonfield | 2010-02-05 13:59:40 +0000 (Fri, 05 Feb 2010) | 15 lines
Changed paths:
M /io_lib/trunk/progs/srf2fastq.c
See:
https://sourceforge.net/tracker/index.php?func=detail&aid=2945526&group_id=100316&atid=627060
submitted by Jordan Mendler.
Fixed negative quality values - these shouldn't happen when specifying
SCALE as PH(red), but -1 appears in ABI SOLiD files.
Fixed N vs . character. We no longer force ambiguity bases to N,
keeping . in use for SOLiD data.
Improved the use of the "-c" option. The program will now
automatically find the appropriate CNF chunk, so -c is only necessary
when both CNF1 and CNF4 are present and you wish to request data comes
from CNF1 instead.
------------------------------------------------------------------------
r1998 | jkbonfield | 2010-02-05 13:54:42 +0000 (Fri, 05 Feb 2010) | 1 line
Changed paths:
M /io_lib/trunk/ChangeLog
------------------------------------------------------------------------
r1967 | jkbonfield | 2010-01-18 09:57:34 +0000 (Mon, 18 Jan 2010) | 1 line
Changed paths:
M /io_lib/trunk/Makefile.am
------------------------------------------------------------------------
r1966 | jkbonfield | 2010-01-18 09:55:14 +0000 (Mon, 18 Jan 2010) | 2 lines
Changed paths:
M /io_lib/trunk/progs/srf2fastq.c
Fixed spelling mistake.
------------------------------------------------------------------------
r1965 | jkbonfield | 2010-01-18 09:54:39 +0000 (Mon, 18 Jan 2010) | 2 lines
Changed paths:
D /io_lib/trunk/man/man1/illumina2srf.1
Removed - should have been culled when we removed illumina2srf itself.
===============================================================================
2010-01-15: RELEASE 1.12.2
------------------------------------------------------------------------
r1952 | jkbonfield | 2010-01-14 17:28:02 +0000 (Thu, 14 Jan 2010) | 2 lines
Changed paths:
M /io_lib/trunk/CHANGES
M /io_lib/trunk/README
M /io_lib/trunk/configure.in
Updates to produce 1.12.2
------------------------------------------------------------------------
r1951 | jkbonfield | 2010-01-14 17:21:14 +0000 (Thu, 14 Jan 2010) | 3 lines
Changed paths:
M /io_lib/trunk/io_lib/os.h
Guarded HAVE_* definitions behind #ifndef checks to avoid warnings in
certain cases.
------------------------------------------------------------------------
r1950 | jkbonfield | 2010-01-14 16:44:42 +0000 (Thu, 14 Jan 2010) | 5 lines
Changed paths:
M /io_lib/trunk/man/man1/srf2fastq.1
M /io_lib/trunk/progs/srf2fastq.c
Added -r option as requested in source forge Patch ID: 2926627, as
suggested by jmendler.
The exact implementation differs in minor ways.
------------------------------------------------------------------------
r1939 | jkbonfield | 2010-01-07 09:36:18 +0000 (Thu, 07 Jan 2010) | 3 lines
Changed paths:
M /io_lib/trunk/progs/srf2fasta.c
M /io_lib/trunk/progs/srf2fastq.c
M /io_lib/trunk/progs/srf_extract_hash.c
Fixed the usage() function to exit 1 instead of 0.
(Patch from Jordan Mendler)
------------------------------------------------------------------------
r1930 | jkbonfield | 2009-12-03 14:04:01 +0000 (Thu, 03 Dec 2009) | 7 lines
Changed paths:
M /io_lib/trunk/io_lib/sff.c
Fixed a bug in read_sff_read_data (with thanks to Tim Massingham).
After reading the data the function did not pad out to the next 8-byte
boundary.
This only surfaces when using the library from your own tools as the
programs supplied with io_lib never read more than a single sff read.
------------------------------------------------------------------------
r1924 | jkbonfield | 2009-11-23 12:20:18 +0000 (Mon, 23 Nov 2009) | 6 lines
Changed paths:
M /io_lib/trunk/progs/srf2fastq.c
Applied patch from Jordan Mendler:
https://sourceforge.net/tracker/index.php?func=detail&aid=2900087&group_id=100316&atid=627060
This adds a -S (sequential) option to srf2fastq to interleave forward
and reverse fragments in the same output file as desired by BFast.
------------------------------------------------------------------------
r1851 | daviesrob | 2009-10-02 10:29:05 +0100 (Fri, 02 Oct 2009) | 1 line
Changed paths:
M /io_lib/trunk/progs/srf2fastq.c
Fixed buffer overrun in parse_regn
------------------------------------------------------------------------
r1850 | daviesrob | 2009-10-02 10:02:30 +0100 (Fri, 02 Oct 2009) | 1 line
Changed paths:
M /io_lib/trunk/progs/srf_info.c
Fixed buffer overrun in parse_regn
------------------------------------------------------------------------
r1834 | daviesrob | 2009-09-11 17:48:32 +0100 (Fri, 11 Sep 2009) | 1 line
Changed paths:
M /io_lib/trunk/Makefile.am
M /io_lib/trunk/io_lib/ztr.c
Added pooled_alloc.h to list of include files to install. Fixed
ztr_add_text so
that it leaves two NUL bytes on the end of the TEXT chunk, as
documented in the
ZTR specification.
------------------------------------------------------------------------
r1813 | daviesrob | 2009-09-01 12:37:37 +0100 (Tue, 01 Sep 2009) | 1 line
Changed paths:
M /io_lib/trunk/io_lib/Makefile.am
M /io_lib/trunk/io_lib/hash_table.c
M /io_lib/trunk/io_lib/hash_table.h
A /io_lib/trunk/io_lib/pooled_alloc.c
A /io_lib/trunk/io_lib/pooled_alloc.h
M /io_lib/trunk/io_lib/srf.c
M /io_lib/trunk/io_lib/srf.h
Added HASH_POOL_ITEMS option to hash table code to allocate HashItems
in pools,
which reduces malloc overhead in big hash tables. Also made
srf_index_add_trace
_body use pooled storage for trace names.
===============================================================================
2009-07-29: RELEASE 1.12.1
------------------------------------------------------------------------
r1806 | jkbonfield | 2009-08-07 16:46:20 +0100 (Fri, 07 Aug 2009) | 1 line
Changed paths:
M /io_lib/trunk/README
M /io_lib/trunk/configure.in
Updated version to 1.12.1
------------------------------------------------------------------------
r1805 | jkbonfield | 2009-08-07 16:18:28 +0100 (Fri, 07 Aug 2009) | 1 line
Changed paths:
M /io_lib/trunk/Makefile.am
M /io_lib/trunk/README
Minor edit
------------------------------------------------------------------------
r1792 | jkbonfield | 2009-08-03 11:58:49 +0100 (Mon, 03 Aug 2009) | 4 lines
Changed paths:
M /io_lib/trunk/io_lib/os.h
Moved the autoconf detection of endianness to the start of os.h. This
means that machine/compiler testing #ifdefs take precedence, allowing
for cross-compilation and "fat" binaries on MacOS X.
------------------------------------------------------------------------
r1791 | jkbonfield | 2009-08-03 11:56:50 +0100 (Mon, 03 Aug 2009) | 2 lines
Changed paths:
M /io_lib/trunk/tests/Makefile.am
M /io_lib/trunk/tests/srf_index.test
Minor tweaks to checks/dist.
------------------------------------------------------------------------
r1789 | jkbonfield | 2009-07-31 12:17:27 +0100 (Fri, 31 Jul 2009) | 2 lines
Changed paths:
M /io_lib/trunk/io_lib-config.in
Fixed -lread to be -lstaden-read
------------------------------------------------------------------------
r1780 | jkbonfield | 2009-07-29 10:07:56 +0100 (Wed, 29 Jul 2009) | 2 lines
Changed paths:
M /io_lib/trunk/CHANGES
M /io_lib/trunk/ChangeLog
M /io_lib/trunk/README
Minor updates to state version 1.12.0
===============================================================================
2009-07-29: RELEASE 1.12.0
------------------------------------------------------------------------
r1779 | jkbonfield | 2009-07-29 09:53:33 +0100 (Wed, 29 Jul 2009) | 2 lines
Changed paths:
M /io_lib/trunk/Makefile.am
The man1 pages are now installed too.
------------------------------------------------------------------------
r1778 | jkbonfield | 2009-07-28 17:42:26 +0100 (Tue, 28 Jul 2009) | 2 lines
Changed paths:
M /io_lib/trunk/tests/Makefile.am
D /io_lib/trunk/tests/data/.params
A /io_lib/trunk/tests/data/both.info (from /io_lib/trunk/tests/data/slx_out/both.info:1776)
A /io_lib/trunk/tests/data/both.run (from /io_lib/trunk/tests/data/slx_out/both.run:1776)
A /io_lib/trunk/tests/data/both.srf (from /io_lib/trunk/tests/data/slx_out/both.srf:1776)
A /io_lib/trunk/tests/data/proc.info (from /io_lib/trunk/tests/data/slx_out/proc.info:1776)
A /io_lib/trunk/tests/data/proc.srf (from /io_lib/trunk/tests/data/slx_out/proc.srf:1776)
A /io_lib/trunk/tests/data/proc.srf.indexed (from /io_lib/trunk/tests/data/slx_out/proc.srf.indexed:1776)
A /io_lib/trunk/tests/data/raw.info (from /io_lib/trunk/tests/data/slx_out/raw.info:1776)
A /io_lib/trunk/tests/data/raw.srf (from /io_lib/trunk/tests/data/slx_out/raw.srf:1776)
A /io_lib/trunk/tests/data/slx-C.fasta (from /io_lib/trunk/tests/data/slx_out/slx-C.fasta:1776)
A /io_lib/trunk/tests/data/slx-C.fastq (from /io_lib/trunk/tests/data/slx_out/slx-C.fastq:1776)
A /io_lib/trunk/tests/data/slx.fasta (from /io_lib/trunk/tests/data/slx_out/slx.fasta:1776)
A /io_lib/trunk/tests/data/slx.fastq (from /io_lib/trunk/tests/data/slx_out/slx.fastq:1776)
D /io_lib/trunk/tests/data/slx_in
D /io_lib/trunk/tests/data/slx_out
A /io_lib/trunk/tests/data/test_run_4_134_369_182.srf (from /io_lib/trunk/tests/data/slx_out/test_run_4_134_369_182.srf:1776)
A /io_lib/trunk/tests/data/traces.srf (from /io_lib/trunk/tests/data/slx_out/traces.srf:1776)
D /io_lib/trunk/tests/illumina2srf.test
M /io_lib/trunk/tests/srf2fasta.test
M /io_lib/trunk/tests/srf2fastq.test
D /io_lib/trunk/tests/srf2illumina.test
M /io_lib/trunk/tests/srf_filter.test
M /io_lib/trunk/tests/srf_index.test
M /io_lib/trunk/tests/srf_info.test
Updated tests now that srf2illumina and illumina2srf have been removed.
------------------------------------------------------------------------
r1777 | jkbonfield | 2009-07-28 16:44:43 +0100 (Tue, 28 Jul 2009) | 3 lines
Changed paths:
D /io_lib/trunk/Makefile
M /io_lib/trunk/bootstrap
D /io_lib/trunk/io_lib/Makefile
D /io_lib/trunk/progs/Makefile
Removed remnant Makefiles from the old staden package build
system. All we have left now is the autoconf build files.
------------------------------------------------------------------------
r1775 | jkbonfield | 2009-07-28 16:37:18 +0100 (Tue, 28 Jul 2009) | 8 lines
Changed paths:
A /io_lib/branches
A /io_lib/tags
A /io_lib/trunk
A /io_lib/trunk/CHANGES (from /staden/trunk/src/io_lib/CHANGES:1774)
A /io_lib/trunk/COPYRIGHT (from /staden/trunk/src/io_lib/COPYRIGHT:1774)
A /io_lib/trunk/ChangeLog (from /staden/trunk/src/io_lib/ChangeLog:1774)
A /io_lib/trunk/Makefile (from /staden/trunk/src/io_lib/Makefile:1774)
A /io_lib/trunk/Makefile.am (from /staden/trunk/src/io_lib/Makefile.am:1774)
A /io_lib/trunk/README (from /staden/trunk/src/io_lib/README:1774)
A /io_lib/trunk/acinclude.m4 (from /staden/trunk/src/io_lib/acinclude.m4:1774)
A /io_lib/trunk/bootstrap (from /staden/trunk/src/io_lib/bootstrap:1774)
A /io_lib/trunk/configure.in (from /staden/trunk/src/io_lib/configure.in:1774)
A /io_lib/trunk/dependencies (from /staden/trunk/src/io_lib/dependencies:1774)
A /io_lib/trunk/docs (from /staden/trunk/src/io_lib/docs:1774)
A /io_lib/trunk/include (from /staden/trunk/src/io_lib/include:1774)
A /io_lib/trunk/io_lib (from /staden/trunk/src/io_lib/io_lib:1774)
A /io_lib/trunk/io_lib-config.in (from /staden/trunk/src/io_lib/io_lib-config.in:1774)
A /io_lib/trunk/io_lib.m4 (from /staden/trunk/src/io_lib/io_lib.m4:1774)
A /io_lib/trunk/man (from /staden/trunk/src/io_lib/man:1774)
A /io_lib/trunk/options.mk (from /staden/trunk/src/io_lib/options.mk:1774)
A /io_lib/trunk/progs (from /staden/trunk/src/io_lib/progs:1774)
A /io_lib/trunk/tests (from /staden/trunk/src/io_lib/tests:1774)
D /staden/trunk/src/io_lib/CHANGES
D /staden/trunk/src/io_lib/COPYRIGHT
D /staden/trunk/src/io_lib/ChangeLog
D /staden/trunk/src/io_lib/Makefile
D /staden/trunk/src/io_lib/Makefile.am
D /staden/trunk/src/io_lib/README
D /staden/trunk/src/io_lib/acinclude.m4
D /staden/trunk/src/io_lib/bootstrap
D /staden/trunk/src/io_lib/configure.in
D /staden/trunk/src/io_lib/dependencies
D /staden/trunk/src/io_lib/docs
D /staden/trunk/src/io_lib/include
D /staden/trunk/src/io_lib/io_lib
D /staden/trunk/src/io_lib/io_lib-config.in
D /staden/trunk/src/io_lib/io_lib.m4
D /staden/trunk/src/io_lib/man
D /staden/trunk/src/io_lib/options.mk
D /staden/trunk/src/io_lib/progs
D /staden/trunk/src/io_lib/tests
Moved io_lib from staden source tree into it's own top-level
subversion directory, complete with tags, branches, and trunk.
For now the old tagged copies of io_lib are still in the staden/tags/
directory with tag names io_lib-<version>, but that is perhaps right
and proper (as it's where the code actually resided at that release
number).
------------------------------------------------------------------------
r1772 | jkbonfield | 2009-07-28 15:32:58 +0100 (Tue, 28 Jul 2009) | 4 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/Makefile.am
D /staden/trunk/src/io_lib/progs/solexa2srf.c
D /staden/trunk/src/io_lib/progs/srf2solexa.c
Removed Illumina/Solexa specific programs. These are now out of date
with respect to Illumina's own fork, plus I don't think they belong in
the largely platform agnostic library.
------------------------------------------------------------------------
r1771 | jkbonfield | 2009-07-28 12:44:07 +0100 (Tue, 28 Jul 2009) | 7
lines
Changed paths:
M /staden/trunk/src/io_lib/CHANGES
M /staden/trunk/src/io_lib/ChangeLog
M /staden/trunk/src/io_lib/README
M /staden/trunk/src/io_lib/configure.in
M /staden/trunk/src/io_lib/io_lib/Makefile.am
Preparations for 1.12.0 release.
There is now proper versioning support for the library too. The soname
used here is libstaden-read.so.1, to distinguish from any earlier
dynamic libraries. (The ABI definitely has changed over the years in
incompatible manners.)
------------------------------------------------------------------------
r1770 | jkbonfield | 2009-07-28 09:17:29 +0100 (Tue, 28 Jul 2009) | 1 line
Changed paths:
M /staden/trunk/src/io_lib/tests/data/slx_out/both.info
M /staden/trunk/src/io_lib/tests/data/slx_out/raw.info
Updated for new format srf_info output
------------------------------------------------------------------------
r1769 | jkbonfield | 2009-07-28 09:16:11 +0100 (Tue, 28 Jul 2009) | 2 lines
Changed paths:
M /staden/trunk/src/io_lib/tests/data/slx_out/proc.info
Updated with new format output.
------------------------------------------------------------------------
r1768 | jkbonfield | 2009-07-27 17:49:44 +0100 (Mon, 27 Jul 2009) | 2 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/vlen.c
Include os.h so we can pick up NEED_VA_COPY definition.
------------------------------------------------------------------------
r1767 | jkbonfield | 2009-07-27 17:48:37 +0100 (Mon, 27 Jul 2009) | 5 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/srf_filter.c
Reorganisation to allow chunks to be added as well as removed. At
present this only supports adding REGN chunks.
(Patch supplied by Steven Leonard.)
------------------------------------------------------------------------
r1766 | jkbonfield | 2009-07-27 17:46:07 +0100 (Mon, 27 Jul 2009) | 3 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/index_tar.c
Handle GNU tar extensions: LongLink notation.
(Patch supplied by Steven Leonard).
------------------------------------------------------------------------
r1765 | jkbonfield | 2009-07-27 17:45:16 +0100 (Mon, 27 Jul 2009) | 4 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/srf2fasta.c
M /staden/trunk/src/io_lib/progs/srf2fastq.c
M /staden/trunk/src/io_lib/progs/srf_extract_hash.c
Changed the maximum read length from 1024 to 10000. This allows for
capillary traces to be stored in SRF.
(Patch supplied by Steven Leonard)
------------------------------------------------------------------------
r1764 | jkbonfield | 2009-07-27 17:43:36 +0100 (Mon, 27 Jul 2009) | 3 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/srf_info.c
Use int64_t instead of long for base counts and chunk sizes.
(Supplied by Steven Leonard.)
------------------------------------------------------------------------
r1763 | jkbonfield | 2009-07-27 16:49:10 +0100 (Mon, 27 Jul 2009) | 3 lines
Changed paths:
M /staden/trunk/src/io_lib/man/man1/srf_info.1
M /staden/trunk/src/io_lib/progs/srf_info.c
Added compressed chunk size to the per-chunk type output. This allows
us to see what takes up the most storage in an SRF.
------------------------------------------------------------------------
r1762 | jkbonfield | 2009-07-27 16:47:20 +0100 (Mon, 27 Jul 2009) | 1 line
Changed paths:
M /staden/trunk/src/io_lib/io_lib/ztr.c
removed C9Xism
------------------------------------------------------------------------
r1761 | jkbonfield | 2009-07-27 15:01:16 +0100 (Mon, 27 Jul 2009) | 5 lines
Changed paths:
M /staden/trunk/src/io_lib/configure.in
M /staden/trunk/src/io_lib/io_lib/Makefile.am
M /staden/trunk/src/io_lib/progs/Makefile.am
Re-enabled libtool, with a workaround to remove the infuriating rpath
nonsense. (It's now 2x slower to configure, 3x slower to compile and
10x more anguish to debug, but at least I can sleep at night knowing
rpath hasn't had it's wicked way with the code.)
------------------------------------------------------------------------
r1756 | jkbonfield | 2009-07-24 10:27:29 +0100 (Fri, 24 Jul 2009) | 5 lines
Changed paths:
M /staden/trunk/src/Makefile.in
A /staden/trunk/src/io_lib/io_lib/Makefile
Added a Makefile for io_lib/io_lib; so the library itself. This isn't
expected to be used normally, but it allows me to test local copies of
io_lib (under a different library name) in conjunction with the staden
source tree before releasing either.
------------------------------------------------------------------------
r1723 | jkbonfield | 2009-06-22 12:38:26 +0100 (Mon, 22 Jun 2009) | 2 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/ztr_translate.c
Gracefully handle the case of a trace with no BPOS chunk in ztr2read().
------------------------------------------------------------------------
r1722 | jkbonfield | 2009-06-22 12:37:32 +0100 (Mon, 22 Jun 2009) | 2 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/hash_table.c
M /staden/trunk/src/io_lib/io_lib/hash_table.h
Added the hash table iterator functions (copied from Gap5's hache tables).
------------------------------------------------------------------------
r1721 | jkbonfield | 2009-06-22 12:36:52 +0100 (Mon, 22 Jun 2009) | 2 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/deflate_interlaced.c
Fixed a memory allocation issue of codes2codeset().
------------------------------------------------------------------------
r1720 | jkbonfield | 2009-06-22 12:35:21 +0100 (Mon, 22 Jun 2009) | 4 lines
Changed paths:
M /staden/trunk/src/io_lib/Makefile
Remove use of curl-config --libs. While useful for linking against
static libraries, it just adds unwanted dependencies in a dynamic
build environment.
------------------------------------------------------------------------
r1596 | jkbonfield | 2009-04-20 12:34:23 +0100 (Mon, 20 Apr 2009) | 6 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/compress.c
M /staden/trunk/src/io_lib/io_lib/compress.h
Made pipe2() internal as it's not used anywhere else yet.
Also renamed from pipe2 to pipe_into. This resolves SF bug #2629155;
pipe2 has been added as a system function to glibc 2.9 as an interface
to the new (2.6.27+) kernel system call of the same name.
------------------------------------------------------------------------
r1526 | jkbonfield | 2009-03-04 14:38:16 +0000 (Wed, 04 Mar 2009) | 5 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/srf_info.c
Fixed the same bug with mf_end and ztr_partial_decode from srf.c.
Specifically a ZTR file with no chunks in the srf data block header
failed.
------------------------------------------------------------------------
r1525 | jkbonfield | 2009-03-04 14:23:58 +0000 (Wed, 04 Mar 2009) | 4 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/srf.c
Bug fix to srf_next_ztr_flags. When faced with a ZTR header with no
ZTR chunks in the srf data block header it erroneously set mf_end to
zero instead of the actual length.
------------------------------------------------------------------------
r1455 | jkbonfield | 2009-01-22 17:19:25 +0000 (Thu, 22 Jan 2009) | 3 lines
Changed paths:
M /staden/trunk/src/io_lib/io_lib/array.c
M /staden/trunk/src/io_lib/io_lib/array.h
Updated the Array struct to use size_t, matching the copy in Misc (yes
I know, multiple variants is asking for trouble).
------------------------------------------------------------------------
r1428 | jkbonfield | 2008-12-11 10:22:25 +0000 (Thu, 11 Dec 2008) | 3 lines
Changed paths:
M /staden/trunk/src/io_lib/progs/srf2solexa.c
Changed dump_qcal so it handles negative log-odds scores. In practice
I've never seen these occur with the 1.0 solexa pipeline release though.
===============================================================================
2008-12-10 James Bonfield <jkb@sanger.ac.uk>
* 1.11.6.1 released.
* progs/solexa2srf.c:
Removal of debugging output.
2008-12-10 James Bonfield <jkb@sanger.ac.uk>
* 1.11.6 released.
2008-12-10 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
Fixed the add_qcal_chunk code so it doesn't assume that it can strlen
the binary quality string.
* man/man1/srf2fastq.1,
* man/man1/srf_info.1:
(10:17:27) Updated to reflect newly added options.
* progs/srf2fastq.c:
(10:19:25) Merged in changes from Steven Leonard. - Extra options
were added to provide explicit control over the read names
(whether to add /1, /2, ...) and filenames. - Renamed -p (primer)
as -e (explicit).
* progs/srf_info.c:
(10:20:18) Merged in changes from Steven Leonard - Call srf_destroy
before exiting in various failure cases. This has no real impact
except to make it easier to look for real memory leaks.
2008-12-09 jkbonfield <jkb@sanger.ac.uk>
* progs/srf2fastq.c:
(10:20:00) Fixed an error with split file mode - it read past the
end of an array.
We now check the SCALE option on CNF4 and CNF1 chunks and convert
the data accordingly to phred.
* progs/solexa2srf.c:
(10:23:31) Merged in some of the changes made by Chris Saunders
from Illumina.
Most significantly this now stores CNF1 data in log-odds format and
sets SCALE meta-data accordingly. This makes srf2illumina work
better as it doesn't go from log-odds to phred back to log-odds,
destroying data in rounding.
* tests/data/slx_out/both.info,
* tests/data/slx_out/both.srf,
* tests/data/slx_out/proc.info,
* tests/data/slx_out/proc.srf,
* tests/data/slx_out/proc.srf.indexed,
* tests/data/slx_out/raw.info,
* tests/data/slx_out/raw.srf,
* tests/data/slx_out/test_run_4_134_369_182.srf,
* tests/data/slx_out/both.run/4_PROGRAM_ID.txt:
(12:26:13) Updated to accommodate illumina2srf version string
change.
* progs/srf_filter.c:
(12:28:30) Bad case of missing braces!
2008-12-08 jkbonfield <jkb@sanger.ac.uk>
* io_lib/compression.c:
(12:32:38) Better error handling in tshift method
* io_lib/compress.c,
* io_lib/compress.h:
(12:33:40) Added remove_extension() function. (Not yet used by
io_lib, but potentially handy and used by some external tools.)
(Steven Leonard)
* progs/srf2solexa.c:
(12:34:38) Bug fixed the qcal conversion - now use the correct
lookup table and added .499 to match the rounding used in
solexa2srf.c.
* progs/srf2fastq.c,
* progs/srf_filter.c,
* progs/srf_info.c:
(12:35:40) Merged in Steven Leonard's changes.
These mainly involve better support for multiple index blocks in
SRF files (eg concatenated files), support for splitting output
files in srf2fastq, and extra reporting options in srf_info.
* io_lib/ztr.c,
* io_lib/ztr.h:
(17:15:58) Added const to string params in ztr_add_text.
* io_lib/srf.c,
* io_lib/srf.h:
(17:23:53) New function srf_next_ztr_flags. This is the same as the
old srf_next_ztr function except with the addition of an extra
argument into which the SRF Data Block 'flags' value is copied when
returning the next trace.
===============================================================================
2008-12-04 James Bonfield <jkb@sanger.ac.uk>
* 1.11.5 released.
2008-12-03 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(17:29:10) Fixed qcal format so it now correctly drops quality by
the 64 offset added in the fastq-a-like strings.
Fixed a bug with the 2-file calibration mode (-qf and -qr). A
single combined -qf alone works fine, but when pasting the split
file mode (fwd + rev) a newline crept halfway into the quality
string causing the reverse qualities to be shifted by one.
* progs/solexa2srf.c:
(17:29:56) Bumped version to 1.11
2008-12-02 jkbonfield <jkb@sanger.ac.uk>
* progs/srf_filter.c:
(14:38:58) Removed some major memory leaks.
* io_lib/srf.c,
* progs/srf_filter.c:
(15:01:04) More memory leak fixed (although tiny).
2008-10-23 jkbonfield <jkb@sanger.ac.uk>
* progs/hash_sff.c:
(14:08:19) Added support for outputting only the table of contents
to a new file without copying the existing sff files. This is
useful if we have the original sff files in an archive that we
cannot modify.
2008-10-07 jkbonfield <jkb@sanger.ac.uk>
* progs/Makefile.am:
(16:02:51) Added extract_fastq to the list of programs to build.
2008-09-29 jkbonfield <jkb@sanger.ac.uk>
* man/man1/illumina2srf.1,
* man/man1/srf2fasta.1,
* man/man1/srf2fastq.1,
* man/man1/srf_info.1,
* man/man1/srf_list.1:
(13:40:01) Added the first draft of several manual pages.
* man/man1/illumina2srf.1:
(13:44:09) *** empty log message ***
* progs/Makefile.am,
* progs/srf_list.c:
(14:00:22) Added new program: srf_list. This lists or counts the
sequence names within an SRF file.
* io_lib/srf.c:
(14:01:38) The srf_next_block_details now uses the trace_body
struct held within the srf struct. This means it can be queried
after a successful call and is utilised by srf_list to obtain the
trace body size.
* man/man1/srf_index_hash.1:
(14:08:36) First draft of man page.
2008-09-18 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(12:59:37) Fixed a bug with parsing the directory name. If it fails
it left the run number in an inconsistent state.
This shouldn't cause issues in production pipelines, but does if
you copy the files out of the run folders.
* io_lib/srf.c,
* io_lib/srf.h,
* progs/solexa2srf.c:
(16:33:45) Overhauled the SRF indexing code.
Much of the indexing code in srf_index_hash.c has been moved over
to srf.c so it can be used by other programs. An API has been
created too so it is now far easier to create, add to and save an
index.
Added support for writing indexes in illumina2srf. Note that now if
no index is written we also write out 8 bytes of zero, indicating
the length of the index is zero. (This is required by more recent
versions of the SRF specification.)
Still to do: tools such as srf_filter should be updating the index
(or at least removing the old ones). This will now be easier to do
with these code updates.
Updated the tests to check the new illumina2srf -i option too.
* progs/srf_index_hash.c,
* tests/illumina2srf.test,
* tests/srf_index.test,
* tests/data/slx_out/both.srf,
* tests/data/slx_out/proc.srf,
* tests/data/slx_out/raw.srf:
(16:33:46) Overhauled the SRF indexing code.
Much of the indexing code in srf_index_hash.c has been moved over
to srf.c so it can be used by other programs. An API has been
created too so it is now far easier to create, add to and save an
index.
Added support for writing indexes in illumina2srf. Note that now if
no index is written we also write out 8 bytes of zero, indicating
the length of the index is zero. (This is required by more recent
versions of the SRF specification.)
Still to do: tools such as srf_filter should be updating the index
(or at least removing the old ones). This will now be easier to do
with these code updates.
Updated the tests to check the new illumina2srf -i option too.
===============================================================================
2008-09-11 James Bonfield <jkb@sanger.ac.uk>
* 1.11.4 released.
2008-09-11 James Bonfield <jkb@sanger.ac.uk>
* Makefile.am,
* bootstrap,
* configure.in:
(08:43:42) Updated for version number and inclusion of tests dir.
* io_lib/Attic/Makefile.in:
(08:43:55) Removed due to being auto-generated from Makefile.am
* io_lib/os.h:
(08:44:56) Tidy up of endianness detection. I split apart the
endian step from the os-components (no strdup, etc). Also changed
the order so that when using autoconf the automatically detected
settings override any existing assumptions from os.h.
* io_lib/hash_table.h:
(08:46:10) Included sys/types.h for off_t type.
* CHANGES,
* ChangeLog,
* README:
(10:25:27) Final tweaks for preparing 1.11.4
* io_lib/srf.h:
(10:52:37) Changed block_type from char to int. This cures a
problem on PowerMac (PPC) running Debian where char is by default
an unsigned type, meaning it cannot be compared to EOF (-1).
* tests/srf_index.test,
* tests/data/slx_out/Attic/test_run:4:134:369:182.srf,
* tests/data/slx_out/test_run_4_134_369_182.srf:
(11:09:11) Renamed test_run:4:134:369:182.srf to
test_run_4_134_369_182.srf as Windows cannot cope with colons in
filenames, causing the tar file to fail to unpack. Grrr.
* Makefile.am,
* io_lib/srf.c,
* progs/solexa2srf.c,
* progs/srf2fasta.c,
* progs/srf2fastq.c,
* progs/srf2solexa.c,
* progs/srf_dump_all.c,
* progs/srf_extract_linear.c,
* tests/Makefile.am,
* tests/srf_index.test,
* tests/srf_info.test:
(15:25:29) A variety of changes to make the code work correctly
using msys/mingw on Windows. These mainly revolve around binary
mode and nl/cr issues.
2008-09-10 James Bonfield <jkb@sanger.ac.uk>
* tests/Makefile.am,
* tests/illumina2srf.test,
* tests/srf2fasta.test,
* tests/srf2fastq.test,
* tests/srf2illumina.test,
* tests/srf_filter.test,
* tests/srf_index.test,
* tests/srf_info.test,
* tests/data/.params,
* tests/data/slx_in/.params,
* tests/data/slx_in/s_4_0133_int.txt.gz,
* tests/data/slx_in/s_4_0133_nse.txt.gz,
* tests/data/slx_in/s_4_0134_int.txt.gz,
* tests/data/slx_in/s_4_0134_nse.txt.gz,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0133_prb.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0133_qhg.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0133_seq.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0133_sig2.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0134_prb.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0134_qhg.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0134_seq.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/s_4_0134_sig2.txt,
* tests/data/slx_in/Bustard1.9.5_28-08-2008_auto/Phasing/s_4_01_phasing.xml,
* tests/data/slx_in/Matrix/s_4_02_matrix.txt,
* tests/data/slx_out/both.info,
* tests/data/slx_out/both.srf,
* tests/data/slx_out/proc.info,
* tests/data/slx_out/proc.srf,
* tests/data/slx_out/proc.srf.indexed,
* tests/data/slx_out/raw.info,
* tests/data/slx_out/raw.srf,
* tests/data/slx_out/slx-C.fasta,
* tests/data/slx_out/slx-C.fastq,
* tests/data/slx_out/slx.fasta,
* tests/data/slx_out/slx.fastq,
* tests/data/slx_out/test_run:4:134:369:182.srf,
* tests/data/slx_out/traces.srf,
* tests/data/slx_out/both.run/4_ILLUMINA_GA_BUSTARD_PARAMS.txt,
* tests/data/slx_out/both.run/4_ILLUMINA_GA_CHASTITY.txt:
(15:53:41) First pass at a "make check" target. Currently this is
centred around the newer code, specifically SRF support.
* tests/data/slx_out/both.run/4_ILLUMINA_GA_FIRECREST_PARAMS.txt,
* tests/data/slx_out/both.run/4_ILLUMINA_GA_MATRIX_FWD.txt,
* tests/data/slx_out/both.run/4_ILLUMINA_GA_PHASING_FWD.txt,
* tests/data/slx_out/both.run/4_PROGRAM_ID.txt,
* tests/data/slx_out/both.run/s_4_0133_int.txt,
* tests/data/slx_out/both.run/s_4_0133_nse.txt,
* tests/data/slx_out/both.run/s_4_0133_prb.txt,
* tests/data/slx_out/both.run/s_4_0133_seq.txt,
* tests/data/slx_out/both.run/s_4_0133_sig2.txt,
* tests/data/slx_out/both.run/s_4_0134_int.txt,
* tests/data/slx_out/both.run/s_4_0134_nse.txt,
* tests/data/slx_out/both.run/s_4_0134_prb.txt,
* tests/data/slx_out/both.run/s_4_0134_seq.txt,
* tests/data/slx_out/both.run/s_4_0134_sig2.txt:
(15:53:42) First pass at a "make check" target. Currently this is
centred around the newer code, specifically SRF support.
* tests/Makefile.am,
* tests/illumina2srf.test,
* tests/srf2fasta.test,
* tests/srf2fastq.test,
* tests/srf2illumina.test,
* tests/srf_filter.test,
* tests/srf_index.test,
* tests/srf_info.test:
(16:13:19) Fixed tests to use $outdir for output directory so we
can neatly tidy it up for make distclean. Without this make
distcheck fails.
* tests/Makefile.am,
* tests/illumina2srf.test,
* tests/srf2fasta.test,
* tests/srf2fastq.test,
* tests/srf2illumina.test,
* tests/srf_filter.test,
* tests/srf_index.test,
* tests/srf_info.test:
(16:43:33) Fixed some bashisms and switched to make use of srcdir
instead of top_srcdir/tests.
2008-09-09 James Bonfield <jkb@sanger.ac.uk>
* acinclude.m4:
(13:27:35) Fixed the LIBCURL_CHECK_CONFIG code to not believe the
output from "curl-config --libs". We try -lcurl first off to see if
that also works. The reason is simply that curl-config --libs
typically loves to explicitly specify all the implicit
dependencies, such as -lssl -lcrypto -ldl, etc. This in turn locks
compiled io_lib libraries and binaries into requiring very specific
version of system libraries.
* io_lib/Attic/Makefile.in:
(13:27:57) *** empty log message ***
* io_lib/compression.c:
(13:30:24) Minor speed tweaks to qshift and unqshift
* io_lib/mFILE.c,
* progs/solexa2srf.c:
(13:31:41) Added include of io_lib_config.h for autoconf builds so
that the ftello and similar functions get the correct prototypes.
* io_lib/srf.c,
* io_lib/srf.h:
(13:32:44) Made partial_decode_ztr non-static and added it, along
with ztr_dup and construct_trace_name to the external header file
for use in other parts of io_lib.
* progs/Makefile.am,
* progs/srf_filter.c,
* progs/srf_info.c:
(13:36:40) Added two new programs from Steven Leonard.
srf_info: dumps out basic information on the contents of an SRF
file, including the read name prefixes used, how many
DBs per DBH and frequencies of ZTR chunk and meta-data
strings.
srf_filter: a tool to produce new srf files by filtering in or out
data from an existing srf file. This can be performed
either at the entire trace level (eg tagged as good or
bad) or also at individual ZTR chunk levels (eg processed
data only).
* progs/srf2fasta.c,
* progs/srf2fastq.c:
(13:37:37) Include string.h for additional prototypes (for -Wall
-Wno-paranthesis compilations).
* progs/srf_extract_hash.c:
(13:38:47) Major overhaul from Steven Leonard. It now supports a
-fastq option to output fastq instead of ZTR files and optionally
can use calibrated or non-calibrated confidence values too.
* progs/srf_extract_linear.c:
(13:39:44) Added support for SRFB_NULL_INDEX so that srf files with
a blank index do not causes crashes.
* progs/srf_index_hash.c:
(13:40:44) Added extra error checking from Steven Leonard to spot
duplicate read names. The new -c option also allows checking of an
existing srf file without attempting to write a new index.
2008-09-08 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(08:40:20) Fixed bug reported by Robert Sanders. The fwd matrix was
being written twice on paired-end runs instead of fwd+reverse.
* COPYRIGHT,
* io_lib/open_trace_file.c,
* io_lib/sff.c:
(10:56:46) Updated 454's copyright notice (following correspondence
from Jim Knight at 454) to explicitly include permission to modify
and redistribute the code.
Also updated the GRL licence to be explicit rather than just an
implied BSD style.
2008-08-29 James Bonfield <jkb@sanger.ac.uk>
* io_lib/deflate_interlaced.c:
(09:00:39) Added external codes2codeset() function to turn
bit-length arrays into codesets. Useful for tools that wish to use
this code to use their own precomputed huffman trees.
* io_lib/deflate_interlaced.h:
(09:00:53) *** empty log message ***
* progs/solexa2srf.c:
(09:01:21) Renamed ILLUMINA_GA_PARAMS and ILLUMINA_GA_PARAMS2 to
ILLUMINA_GA_BUSTARD_PARAMS and ILLUMINA_GA_FIRECREST_PARAMS.
2008-08-26 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(11:07:09) Added the second .params file (Data directory).
Major reduction in memory usage when adding the .params files; we
only hold this in memory for the first ZTR file per DBH as it ends
up in the header anyway. (This also speeds things up too.)
2008-08-08 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(10:21:28) Fixed a bug in parse_4_float when handling strings with
leading zeroes after the point, eg "17.04". Fortunately this is
never triggered in the solexa data as it's always one single value
after the decimal point.
* configure.in,
* io_lib/os.h:
(10:33:29) Applied Chris Saunders' patch to use autoconf for
checking machine endianness.
* progs/solexa2srf.c:
(16:52:10) Added a MAX_READS_PER_DBH #define to solexa2srf
(defaults at 10000) to reduce the maximum number of traces per tile
we process between SRF data block headers. This helps reduce the
maximum memory usage which is especially important on dense GA2
runs where 200,000 clusters in a tile can be achieved.
Also fixed a bug with using -qf/-qr when not supplying a list of
tiles consecutively starting with tile 1.
2008-08-05 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c:
(08:18:14) Fixed memory leak in srf_next_ztr reported by Rob Egan.
Triggered by srf2fastq -C.
2008-07-24 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(15:47:32) Updated version to v1.10
Added -pf/-pr parameters to allow the phasing files to be stored.
By default it attempts to derive these filenames from the fwd/rev
cycle numbers.
Auto-compute the basecaller name and version string from the
directory name.
* progs/solexa2srf.c:
(15:58:15) Bug fix to get_base_caller() so that it can identify the
directory when given a full pathname to elsewhere other than the
cwd.
2008-07-18 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(15:54:51) No longer iterate through tiles printing up . or !
depending on whether we encounter an error. Now it just aborts at
the point of failure.
Also made the parsing code more robust as in a couple specific
cases it only wrote to stderr without actually generating a
non-zero exit code.
These mean the tool is more amenable to running in a production
pipeline. If it gets any error at all it'll be more obvious and
forces attention.
2008-07-11 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(11:35:28) Updated the rounding of int/nse/sig2 to all use the
rint() function to round to closest integer value. Previously
int/nse rounded down and sig2 rounded closest. (Although the
rounding on sig2 was via +/- 0.5 and so the half-way cases
sometimes give different answers to the new code using rint()).
It has a very minor impact overall, but it is now consistent.
===============================================================================
2008-07-09 James Bonfield <jkb@sanger.ac.uk>
* 1.11.3 released.
2008-07-09 jkbonfield <jkb@sanger.ac.uk>
* io_lib/mFILE.c:
* io_lib/Read.c,
* io_lib/mFILE.h:
(13:54:59) Fixed a bug visible with "extract_seq -fasta_out -fofn f
-output f.fasta" whereby only the last file was visible. This is
due to the mFILE mechanism and an explicit fseek upon writing each
file. Fixed this by using an extended freopen option ("wbx" instead
of "wb") to override this feature. It's not ideal, but gets the job
done - I hope.
2008-07-08 jkbonfield <jkb@sanger.ac.uk>
* io_lib/srf.c,
* io_lib/srf.h:
(13:22:57) Added SRFB_NULL_INDEX as an SRF block type. It's
essentially type 0 and is defined to be 8 long (with 7 more zeros).
The purpose is to transparently gloss over the 8-zeros that may be
on the end of some files indicating a missing index block.
* progs/solexa2srf.c:
(13:34:40) MAJOR BUG FIX!
Fixed a bug in reorder_ztr() whereby the sorted order of multiple
chunks of the same chunk type were not "stable". The result of this
is that 3 SMP4 chunks (say A, B, C) may end up sorted A, B, C with
nchunks==9 and C, A, B with nchunks==15. Given that an optimisation
means that we change the number of chunks depending on whether
we've encoded HUFF chunks this causes a "corruption" in as far as
the correct data is stored but with potentially an incorrect
meta-data block for the first SMP4 chunk.
See srf_fix.c to reverse this problem.
Also added a warning regarding the -C option and -qf option. These
are inherently incompatible (right now) as purity filtered data is
not calibrated.
Updated version to v1.8
2008-06-12 jkbonfield <jkb@sanger.ac.uk>
* progs/srf2fasta.c,
* progs/srf2fastq.c:
(10:44:23) Removed memory leaks from using ztr_find_chunks and not
freeing the result.
===============================================================================
2008-06-04 James Bonfield <jkb@sanger.ac.uk>
* 1.11.2 released.
2008-06-04 jkbonfield <jkb@sanger.ac.uk>
* docs/ZTR_format:
(13:06:36) Added some text regarding *ideas* for version 2. These
are not officially part of any stanard yet.
* io_lib/compression.c:
(13:06:54) Comment change only.
2008-06-03 jkbonfield <jkb@sanger.ac.uk>
* io_lib/srf.c:
(16:23:50) Applied bug fix from John Emhoff: srf_read_xml was
incorrectly interpreting the XML length as the length of the XML
string rather than the entire SRF block itself including header. It
now agrees with srf_write_xml, which interpreted this correctly.
2008-05-23 jkbonfield <jkb@sanger.ac.uk>
* docs/ZTR_format:
(08:38:05) Documented TYPE meta-data for SMP4 and removed the
comment about being mutually exclusive with SAMP.
Added explanation of log-odds vs phred scales.
Added CNF1 chunk type (how did I miss this before?).
2008-05-21 jkbonfield <jkb@sanger.ac.uk>
* io_lib/srf.c:
(09:12:23) Fixed memory leak in construct_trace_name. (Patch from
John Emhoff at Heliocos.)
2008-05-14 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(13:08:34) Fixed floating point to integer rounding of trace data
to round to closest instead of floor(value).
* io_lib/srf.c,
* io_lib/srf.h,
* progs/solexa2srf.c,
* progs/srf2fasta.c,
* progs/srf2fastq.c,
* progs/srf2solexa.c,
* progs/srf_dump_all.c:
(14:13:15) Added changes from Camil Toma (albeit modified here and
there) to incorporate the -C option to various tools. This allows
for chastity filtered data to be stored in SRF, but tagged as being
bad data. We then get the option to filter it on extraction
instead.
2008-05-13 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(14:25:53) Reverted the footer position change in encode_ztr() back
(to the 20th February 2008) to taking out the meta-data into the
header block too. Although this contains variable data (OFFS=value)
it's the same for all members of a tile.
2008-05-08 jkbonfield <jkb@sanger.ac.uk>
* io_lib/open_trace_file.c:
(11:06:53) Sped up searching in SRF files by stripping off the
directory name when calling srf_find_trace(). (It got to this
before eventually, but only after searching various false
combinations.)
* io_lib/os.h:
(11:07:31) Minor change to prevent errors when compiling within the
Staden Package. No impact for autoconf version.
* io_lib/srf.c:
(11:08:18) Fixed bug in srf_find_trace that caused it to rarely
fail to find a trace when querying the hash table.
2008-05-06 jkbonfield <jkb@sanger.ac.uk>
* docs/ZTR_format:
(11:44:51) Fixed error in the pictoral diagram describing the magic
number. (It is correct everywhere else.)
* io_lib/open_trace_file.c:
(14:27:24) Added SRF interfaces to open_trace_file meaning we can
now try specifying traces file fubar.srf/tname or
TRACE_PATH=SRF=fubar.srf and tname.
* configure.in,
* io_lib/ztr.c,
* progs/Makefile.am,
* progs/solexa2srf.c,
* progs/srf2solexa.c:
(15:35:36) Implemented Come Raczy's (Illumina) changes. These
involved renaming the solexa2srf and srf2solexa tools to be
illumina2srf and srf2illumina and the addition of qcal support in
preparation for the GA v1.0 release.
Note that currently the filenames are the same as before, in order
to preserve change history.
* Makefile:
(15:43:33) Added srf.o to the Staden Package Makefile (NB: not part
of the autoconf system.)
2008-04-15 jkbonfield <jkb@sanger.ac.uk>
* io_lib/hash_table.c:
(15:09:41) Initialises pb and pc in hash() function when using
HASH_FUNC_JENKINS3. Bug reported by Cristian Goina.
2008-04-08 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(11:22:33) Fixed a code inefficiency when using -qf and -qr.
* io_lib/srf.c,
* io_lib/srf.h:
(16:16:55) Fixed bugs regarding binary format read_id suffixes,
reported and mostly patched by Cristian Goina.
The srf_trace_body_t struct now has a read_id_length field.
The srf_construct_trace_body() function has an extra argument to
pass in the length, or -1 if unknown (it'll use strlen then).
New function srf_write_pstringb to write binary pstrings, avoiding
the requirement for strlen().
* progs/solexa2srf.c:
(16:21:57) Added extra arg to srf_construct_trace_body call (see
srf.c change log).
Fixed a bug introduced in the recent efficiency improvements for
-qf/-qr. These meant that many sequences were incorrectly skipped.
2008-04-07 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(08:54:06) Increased the estimation of number of bytes per cycle in
the allocation in get_sig().
* progs/solexa2srf.c:
(15:11:06) Fixed error that crept in when error checking was added
to compress_chunk calls. Missing curly braces meant that some
chunks were not compressed while other chunks got needless
additional layers of compression.
2008-04-03 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(15:57:06) The defaults for -N and -n are now using the same naming
conventions used in Gerald during the fastq generation steps. To do
this is looks at the run folder root directory name to get the run
date, machine name and run number. (These are available for use as
%d, %m and %r in the format strings.)
Calibrated confidence values are now automatically included if the
-qf or -qr parameters are used (specifying the fastq filename).
Note this only works currently if the number of bases after
calibration is the same as the number before. The calibrated
confidence values are written in a CNF1 ztr chunk (in addition to
the existing CNF4 chunk for uncalibrated values) and are rescaled
to adhere to the phred scale (-10 * log10(1-P)).
Added meta-data to the confidence chunks (CNF1 and CNF4) with a
SCALE key. The value is either LO (log-odds) or PH (phred). This
increases file size somewhat as it's written once per trace, but
the long-term goal is to upgrade ZTR to support the ability to
specific default meta-data keys/values.
* progs/srf2fastq.c:
(15:57:58) Added a -c option to output calibrated confidence values
instead of uncalibrated ones.
Plus additionally it should be able to handle multiple archives on
the command line instead of a single one.
* progs/solexa2srf.c:
(17:00:28) Added support for using popen() to gzip -cd instead of
using gzopen. The reason is that it's between 3 and 5 times faster
doing that. I'm unsure why, but overall it sped up solexa2srf -r 3
fold when the Firecrest data is gzipped.
2008-04-02 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(09:14:45) Fixed the footer(aka body) position calculation so it
works still on trace files containing no trace data at all. Ie
solexa2srf -P.
* progs/solexa2srf.c:
(09:28:02) Added Camil Toma's (Broad) changes to support -mf and
-mr paremeters. These provide finer grained control over the
filenames of the forward and reverse matrices.
* progs/srf2solexa.c:
(09:29:04) Added Camil Toma's (Broad) changes to extract text files
embedded in ZTR TEXT chunks.
* progs/srf_dump_all.c:
(10:54:29) Added Camil Toma's (Broad) changes to srf_dump_all.
These add multiple new features, increasing the source length 7
fold.
* progs/srf2solexa.c,
* progs/srf_dump_all.c:
(10:56:06) Fixed bug reported by Cristian Goina (JCVI): we now use
srf_open with mode "rb" instead of "r". This resolves an issue on
Windows/DOS when dealing with binary data including ^Z characters
being interpreted as EOF.
* progs/srf_dump_all.c:
(11:05:25) Fixed missing newlines in the standard "dump" format.
2008-03-20 jkbonfield <jkb@sanger.ac.uk>
* io_lib/hash_table.c,
* progs/hash_list.c:
(09:45:07) Added more includes of io_lib_config.h to ensure 64-bit
file support works correctly.
2008-03-13 jkbonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(09:32:15) Fixed an error when passing in fully qualified
pathnames. We now chdir() to the directory containing the seq.txt
file and work from there.
Also some functions involved in supporting fastq files with
callibrated confidence values. This is unfinished and needs more
work, specifically it doesn't do anything with the sequence/qual
yet (just parses it) and the entire operation should probably work
from the GERALD directory instead of the Bustard directory. Hence
for now the -qf and -qr options are undocumented.
* progs/solexa2srf.c:
(11:53:32) Incorporated Come Razy's changes to solexa2srf, with a
few modifications to adhere to C89 instead of C9X C standards.
These add support for the new Illumina IPAR file format via the -I
command line option.
2008-02-29 jkbonfield <jkb@sanger.ac.uk>
* acinclude.m4,
* configure.in:
(14:10:53) Fixed autoconf build environment for Fedora. We no
longer assume /usr/lib is a valid default for zlib, instead relying
on either the compiler to find it or an explicit --with-zlib
option.
See SF bug 1898427
https://sourceforge.net/tracker/index.php?func=detail&aid=1898427&g
roup_id=100316&atid=627058
===============================================================================
2008-02-20 James Bonfield <jkb@sanger.ac.uk>
* 1.11.0 released.
2008-02-20 James Bonfield <jkb@sanger.ac.uk>
* progs/srf2fastq.c:
(12:49:09) Removed the ztr2read conversion and operate
directly on
the ztr struct. This is now 25% faster.
* progs/srf2fasta.c:
(12:49:30) New program - trivially modelled on srf2fastq.c
* progs/solexa2srf.c:
(10:33:36) Altered the header/footer split for ZTR to stop just
before the metadata part of a SMP4 chunk. Previously it was after
this and just before the data, but now we can have multiple SMP4
chunks in a single ZTR file this was breaking things.
2008-02-18 James Bonfield <jkb@sanger.ac.uk>
* io_lib/ztr.h:
(16:53:52) Added ZTR_TYPE_REGN definition. We have no explicit code
to implement this yet in ztr.c, but for now it's in solexa2srf.
* progs/solexa2srf.c:
(16:55:38) Added support for specifying the start coord for the 2nd
read in a paired-read run (solexa2srf -2 <cycle.no.>). This also
adds a REGN chunk to the ZTR file and stores the second matrix file
too.
* progs/srf2solexa.c:
(16:56:39) Major overhaul to support raw data as well as processed
data. Still to-do: write out .params and the two matrix files.
2008-02-15 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c:
(10:05:54) Fixed memory leak in srf_read_trace_body usage. This was
primarily visible from within srf_index_hash.
* progs/srf2solexa.c,
* io_lib/srf.c,
* progs/srf_index_hash.c,
* progs/srf_extract_hash.c:
(12:35:19) Added include of io_lib-config.h to ensure picking up
the correct compiler definitions for 64-bit file size support.
* progs/srf_extract_linear.c:
(12:40:55) Fixed memory leaks.
2008-02-14 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(17:02:42) Don't bother performing ZTR_FORM_TSHIFT transformation
on the solexa noise data as it doesn't help it at all. Also hard
coded the interlaced huffman to operate in batches of 2 instead of
8 for noise data for the same reason.
* io_lib/ztr_translate.c:
(17:07:15) ztr2read() now correctly handles translation of ZTR
files with multiple samples in. Specifically it only sets the Read
struct baseline and trace[ACGT] arrays when the TYPE meta-data
field is blank, PROC or A,C,G T.
This fixes trace_dump etc on solexa srf files, (note that the srf
files themselves were perfect valid anyway).
2008-02-06 James Bonfield <jkb@sanger.ac.uk>
* progs/extract_seq.c:
(11:04:38) Use set_compression_method to explicitly disable gzipped
output from extract_seq (which is by default on if the input is
gzipped).
* io_lib/Makefile.in,
* progs/Makefile.am,
* progs/extract_qual.c:
(11:04:59) Added Steven Leonard's extract_qual program (derived
from extract_seq).
2008-01-28 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(09:47:42) Sped up parse_4_int and parse_4_float substantially.
2008-01-25 James Bonfield <jkb@sanger.ac.uk>
* Tagged iolib-1-11-0b8
* progs/solexa2srf.c:
(11:38:34) Fixed small memory leak in zfopen/zfclose.
Fixed a bug where reorder_ztr could put CNF4 before BASE,
breaking
the decoding.
Added support for loading solexa matrix and params files into
appropriately named TEXT key/value pairs. It also adds the
PROGRAM_ID there now too.
Sped up chastity filtering. We now only read the line of text
rather than decode it for data that is filtered.
Minor tweaks to program usage output.
* progs/trace_dump.c:
(11:39:09) Updated output to be more inline with
srf_dump_all. Also
now supports baseline properly.
* progs/ztr_dump.c:
(11:39:34) Added ZTR_FORM_XRLE2, ZTR_FORM_QSHIFT and
ZTR_FORM_TSHIFT.
2008-01-24 James Bonfield <jkb@sanger.ac.uk>
* io_lib/ztr.c,
* io_lib/ztr.h:
(17:17:52) Two new utility functions that are *long* overdue.
ztr_new_chunk() - creates and initialises a new chunk in a ztr
struct.
ztr_add_text() - adds arbitrary key/value pairs to the TEXT
chunk,
creating it if required.
2008-01-22 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c,
* io_lib/srf.h:
(11:07:40) Allow for srf_read_index_hdr() to be used to read
an index internal to the file rather than at the end of the
file. To accommodate this an extra "no_seek" argument has been
added.
* progs/solexa2srf.c:
(11:10:56) Support multiple trace channels (raw "int" & noise,
in addition to or instead of the processed data).
Input data may now optionally be compressed.
Added a -c option to do chastity filtering via the .qhg files.
Improved the dynamic range filtering. We no longer trim all
negative values in preference for high positive values. Instead we
set the clip points to trim the least number of total values.
* progs/srf2solexa.c:
(11:11:35) Fixed the baseline subtraction. It now uses the
correct value instead of a hardcoded 32768.
* progs/srf_extract_linear.c:
(11:12:15) Changed to use the new srf_read_index_hdr arguments.
* progs/srf_index_hash.c:
(11:13:12) Improved index support when the input is
concatenated SRF files already containing indices. It now
overwrites the last index.
* progs/ztr_dump.c:
(11:13:47) Added display of meta-data TYPE field for trace
sample chunks.
2008-01-14 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c,
* io_lib/srf.h,
* progs/srf_index_hash.c:
(16:57:36) Bug fixes to do with reading and writing the index
format. We incorrectly handled having null dbhFile and
containerFile elements, plus also computed the index size wrong
for these fields too.
===============================================================================
2008-01-11 James Bonfield <jkb@sanger.ac.uk>
* 1.11.0b7 released.
* io_lib/srf.c:
(11:35:09) IMPORTANT BUG FIX: The SRF Data Block Header
had the blockSize field 4 bytes too large, so SRF files produced
did not conform to the standard.
Also fixed SRF reading support for when headerBlob is zero length.
We then delay ztr decoding until we've read the actual data blob.
* io_lib/compression.c,
* io_lib/deflate_interlaced.c,
* io_lib/deflate_interlaced.h,
* io_lib/srf.c,
* io_lib/ztr.c,
* io_lib/ztr_translate.c,
* progs/solexa2srf.c:
(12:26:11) Added missing prototypes and fixed various signed vs
unsigned assignments, as spotted by the Intel C Compiler.
2008-01-02 James Bonfield <jkb@sanger.ac.uk>
* Tagged iolib-1-11-0b6
2008-01-02 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c:
(11:41:00) Removed some debugging output
2007-12-12 James Bonfield <jkb@sanger.ac.uk>
* io_lib/srf.c,
* io_lib/srf.h,
* progs/srf_index_hash.c:
(18:50:46) Updates to SRF 1.3. This includes removal of the readID
counter and added support for printf style formatting. It also has
some tweaks to the format for the index (32-bit vs 64-bit and
dbh/container file strings).
Both versions have therefore been bumped (SRF 1.3 and index 1.01).
TODO: support for extracting data from an SRF file that's split
with container headers, trace headers and trace bodies all in
separate files.
2007-11-12 James Bonfield <jkb@sanger.ac.uk>
* Tagged iolib-1-11-0b5
2007-11-08 James Bonfield <jkb@sanger.ac.uk>
* io_lib/Read.c,
* io_lib/Read.h,
* io_lib/abi.h,
* io_lib/alf.h,
* io_lib/array.c,
* io_lib/array.h,
* io_lib/compress.c,
* io_lib/compress.h,
* io_lib/compression.c,
* io_lib/compression.h,
* io_lib/ctfCompress.c,
* io_lib/deflate_interlaced.c,
* io_lib/deflate_interlaced.h,
* io_lib/error.c,
* io_lib/error.h,
* io_lib/expFileIO.c:
* io_lib/expFileIO.h,
* io_lib/files.c,
* io_lib/find.c,
* io_lib/fpoint.c,
* io_lib/fpoint.h,
* io_lib/hash_table.c,
* io_lib/hash_table.h,
* io_lib/jenkins_lookup3.c,
* io_lib/jenkins_lookup3.h,
* io_lib/mFILE.c,
* io_lib/mFILE.h,
* io_lib/mach-io.c,
* io_lib/mach-io.h,
* io_lib/misc.h,
* io_lib/misc_scf.c,
* io_lib/open_trace_file.c,
* io_lib/open_trace_file.h,
* io_lib/os.h,
* io_lib/plain.h,
* io_lib/read_alloc.c,
* io_lib/read_scf.c,
* io_lib/scf.h,
* io_lib/scf_extras.c,
* io_lib/scf_extras.h,
* io_lib/seqIOABI.c,
* io_lib/seqIOABI.h,
* io_lib/seqIOALF.c,
* io_lib/seqIOCTF.c,
* io_lib/seqIOCTF.h,
* io_lib/seqIOPlain.c,
* io_lib/sff.c,
* io_lib/sff.h,
* io_lib/srf.c,
* io_lib/srf.h,
* io_lib/stdio_hack.h,
* io_lib/strings.c,
* io_lib/tar_format.h,
* io_lib/traceType.c,
* io_lib/traceType.h,
* io_lib/translate.c,
* io_lib/translate.h:
* io_lib/Makefile.am,
* io_lib/Makefile.in,
* io_lib/vlen.c,
* io_lib/vlen.h,
* io_lib/write_scf.c,
* io_lib/xalloc.c,
* io_lib/xalloc.h,
* io_lib/ztr.c,
* io_lib/ztr.h,
* io_lib/ztr_translate.c:
(14:58:14) Renamed files from
{abi,alf,ctf,exp_file,plain,read,scf,sff,srf,utils,ztr} subdirs to
a single io_lib subdir.
The purpose of this is so that code can #include <io_lib/foo.h>
from both within this source tree and externally when compiling
against io_lib, resolving problems when including files that then
include other io_lib files. Plus it's simply tidier this way.
* io_lib/Read.c:
* io_lib/Read.h,
* io_lib/abi.h,
* io_lib/alf.h,
* io_lib/array.c,
* io_lib/compress.c,
* io_lib/compress.h,
* io_lib/compression.c,
* io_lib/compression.h,
* io_lib/ctfCompress.c,
* io_lib/deflate_interlaced.c,
* io_lib/expFileIO.c,
* io_lib/expFileIO.h,
* io_lib/files.c,
* io_lib/find.c,
* io_lib/fpoint.c,
* io_lib/hash_table.c,
* io_lib/jenkins_lookup3.c,
* io_lib/mFILE.c,
* io_lib/mach-io.c,
* io_lib/mach-io.h,
* io_lib/misc.h,
* io_lib/misc_scf.c,
* io_lib/open_trace_file.c,
* io_lib/open_trace_file.h,
* io_lib/plain.h,
* io_lib/read_alloc.c,
* io_lib/read_scf.c,
* io_lib/scf.h,
* io_lib/scf_extras.c,
* io_lib/scf_extras.h,
* io_lib/seqIOABI.c,
* io_lib/seqIOABI.h,
* io_lib/seqIOALF.c,
* io_lib/seqIOCTF.c,
* io_lib/seqIOCTF.h,
* io_lib/seqIOPlain.c,
* io_lib/sff.c,
* io_lib/sff.h,
* io_lib/srf.c,
* io_lib/srf.h,
* io_lib/stdio_hack.h,
* io_lib/strings.c,
* io_lib/traceType.c,
* io_lib/traceType.h,
* io_lib/translate.c,
* io_lib/translate.h,
* io_lib/vlen.c,
* io_lib/write_scf.c,
* io_lib/xalloc.c,
* io_lib/ztr.c,
* io_lib/ztr.h,
* io_lib/ztr_translate.c,
* progs/Makefile.am,
* progs/append_sff.c,
* progs/convert_trace.c,
* progs/extract_fastq.c,
* progs/extract_seq.c,
* progs/get_comment.c,
* progs/hash_exp.c,
* progs/hash_extract.c:
* progs/hash_list.c,
* progs/hash_sff.c,
* progs/hash_tar.c,
* progs/index_tar.c,
* progs/makeSCF.c,
* progs/scf_dump.c,
* progs/scf_info.c,
* progs/scf_update.c,
* progs/solexa2srf.c,
* progs/srf2fastq.c,
* progs/srf2solexa.c,
* progs/srf_dump_all.c,
* progs/srf_extract_hash.c,
* progs/srf_extract_linear.c,
* progs/srf_index_hash.c,
* progs/trace_dump.c,
* progs/ztr_dump.c:
(17:24:16) Modify the include paths to use "io_lib/foo.h" instead
of "foo.h" or <foo.h>.
The advantage of this is that the source for external programs
compiled and linked against io_lib can use exactly the same
#include statements as the progs/* files.
* Makefile.am,
* configure.in:
(17:37:00) Updated to handle the filename movements.
* docs/Hash_File_Format,
* docs/ZTR_format:
(17:42:14) Moved from elsewhere
2007-11-06 James Bonfield <jkb@sanger.ac.uk>
* README,
* CHANGES
Updated
* progs/Makefile.am:
(10:09:33) Added srf_extract_hash; demonstration of using
srf_find_trace to query a hash table index.
* progs/srf_extract_hash.c:
(10:09:34) Added srf_extract_hash; demonstration of using
srf_find_trace to query a hash table index.
* srf/srf.h:
(10:10:15) Bug fix: updated version string to 1.2. (We were already
writing using the 1.2 standard but claiming 1.1)
* srf/srf.c:
(10:12:04) Bug fix when using glibc: added explicit include of
io_lib_config.h prior to stdio.h so the AC_SYS_LARGEFILE autoconf
magic does its tricks. This is only required for glibc, which
appears broken by default as it doesn't contain a prototype for
fseeko despite exporting the system, unless explicit macros are
defined.
2007-11-02 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(13:57:30) Improved handling of out-of-range data. Specifically
what happens when the minimum value in a trace is -40000 and the
maximum value is +50000. We now clip -ve values if the range
doesn't fit.
* ztr/ztr_translate.c:
(13:59:41) Added SMP4 'OFFS' metadata and Read->baseline support
when converting from read2ztr.
2007-11-01 James Bonfield <jkb@sanger.ac.uk>
* srf/srf.c:
(14:24:30) More error checking paranoia in SRF support; given that
fwrite() can sometimes claim success even when it failed we now
explicitly call ferror and check fclose() return.
* ztr/FORMAT,
* ztr/ztr.c,
* ztr/ztr.h,
* ztr/ztr_translate.c:
(14:26:02) Better support for ZTR v1.2. We now correctly handle
SAMP/SMP4 metadata fields and make use of OFFS when converting to
Read.
* progs/solexa2srf.c,
* progs/srf_dump_all.c:
(14:26:35) Improved support for ztr OFFS metadata and removed the
old crufty SHIFT_BY #define.
* progs/solexa2srf.c:
(17:35:58) Bug fix: we were missing the trailing nul of the trace
OFFS metadata value.
Also the setting of min_val when the range is too high was invalid.
Note further work is needed here as we've already truncated to
16-bit making it impossible to tell where the wraparound occurs.
* ztr/ztr.c,
* ztr/ztr_translate.c:
(18:00:55) Fixed memory leaks.
2007-10-26 James Bonfield <jkb@sanger.ac.uk>
* progs/Makefile.am,
* progs/srf2fastq.c:
(10:35:56) Added srf2fastq conversion to demonstrate usage of
read_sections() and as a benchmark for pure sequence+quality
extraction. (It appears to cope at about 100,000 sequences/second.)
* ztr/deflate_interlaced.c,
* ztr/deflate_interlaced.h:
(10:38:04) Changed generate_code_set and huffman_codeset_destroy to
keep the same huffman_codeset_t structure for all uses of one of
the predetermined CODE_* codesets.
* ztr/ztr_translate.c:
(10:40:37) ztr2read() now honours the read_sections() setting. To
do this it also means it uncompresses data on the fly, but only for
chunk types that it needs to. Hence this code no longer needs
uncompress_ztr() calling first either.
* srf/srf.c,
* srf/srf.h:
(10:46:07) Moved some static local variables out of srf_next_ztr
into the srf_t object. This means the code should be
multi-threaded.
* ztr/FORMAT:
(10:47:07) Current v1.3 draft
* ztr/Attic/deflate_simple.c,
* ztr/Attic/deflate_simple.h:
(10:50:32) Replaced by deflate_interlaced.[ch] some time ago.
* progs/srf2solexa.c:
(11:35:59) Switched to using srf_next_ztr() in order to avoid
repeated huffman codeset decoding. Now much faster.
* CHANGES:
(14:28:27) *** empty log message ***
* README,
* configure.in:
(14:31:48) *** empty log message ***
2007-10-25 James Bonfield <jkb@sanger.ac.uk>
* progs/srf_dump_all.c,
* progs/srf_extract_linear.c,
* srf/srf.c,
* srf/srf.h,
* ztr/compression.c,
* ztr/deflate_interlaced.c,
* ztr/deflate_interlaced.h,
* ztr/ztr.c,
* ztr/ztr.h:
(14:21:16) Upgraded SRF to support v1.2 specification. NOTE: No
support is kept for v1.1!
Dramatically improved the speed of sequential decoding (eg in
srf_dump_all) by use of caching huffman_codeset_t structs.
* progs/srf_dump_all.c:
(16:55:24) Added unused (#if-ed out) printf variant. It's for
possible efficiency gains, but ignoring for now.
* ztr/compression.c,
* ztr/deflate_interlaced.c:
(16:56:06) Fixed unsthuff uncompression for the predfined CODE_*
huffman trees.
2007-10-17 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c:
(16:56:11) Dropped ZLIB compression of BPOS as A) it's tiny anyway
and B) we don't want to waste time compressing it over and over
again. (TODO: actually we don't need to encode it over and over
again either.)
===============================================================================
2007-10-16 James Bonfield <jkb@sanger.ac.uk>
* progs/solexa2srf.c,
* srf/srf.c,
* ztr/compression.c,
* ztr/deflate_interlaced.c,
* ztr/deflate_interlaced.h,
* ztr/ztr.c:
* ztr/ztr.h:
(08:36:06) Improvements to speed following code profiling.
* progs/solexa2srf.c:
(16:49:38) Major overhaul of parsing code. We now roll our own
specialist parser instead of using strtok and sscanf. This has
approximately doubled the speed (so maybe 4-5x faster in the
parsing component).
* configure.in:
(16:52:06) Boost version to 1.11.0b3
2007-10-11 James Bonfield <jkb@sanger.ac.uk>
* ztr/deflate_interlaced.c:
(13:34:48) Fixed a buffer overrun.
* ztr/compression.c:
(13:35:59) Removed a small memory leak and improved initialisation
in tshift to avoid (harmless) valgrind error.
* progs/srf2solexa.c,
* progs/srf_dump_all.c,
* srf/srf.c:
(13:37:29) Removed memory leaks.
2007-10-02 James Bonfield <jkb@sanger.ac.uk>
* README,
* ztr/FORMAT:
(08:55:47) Minor doc updates
* read/Makefile.am:
(08:57:02) Fixed src vs srf typo.
* README:
(08:58:09) Version change
* configure.in:
(08:59:11) Version change
2007-09-28 James Bonfield <jkb@sanger.ac.uk>
* Makefile.am,
* configure.in,
* progs/Makefile.am,
* progs/solexa2srf.c,
* progs/srf2solexa.c,
* progs/srf_dump_all.c:
(11:07:15) File Edit Options Buffers Tools Help Version 1.11.0b1
Added preliminary SRF support. This consists of a new subdirectory
'srf' (yes these all really need merging into a single directory,
but that's a later task), a substantial update to ZTR and a variety
of SRF tools in progs.
The old huffman_static.[ch] files were renamed and substantially
worked upon to create deflate_interlaced.[ch].
Added new compression types. xrle2, tshift and qshift. The latter
two of these are very specific to trace and quality packings. May
need to rename to be more generic.
* progs/srf_extract_linear.c,
* progs/srf_index_hash.c,
* progs/ztr_dump.c,
* read/Makefile.am,
* srf/srf.c,
* srf/srf.h,
* ztr/compression.c,
* ztr/compression.h,
* ztr/deflate_interlaced.c,
* ztr/deflate_interlaced.h,
* ztr/Attic/huffman_static.c,
* ztr/Attic/huffman_static.h,
* ztr/ztr.c,
* ztr/ztr.h:
(11:07:16) File Edit Options Buffers Tools Help Version 1.11.0b1
Added preliminary SRF support. This consists of a new subdirectory
'srf' (yes these all really need merging into a single directory,
but that's a later task), a substantial update to ZTR and a variety
of SRF tools in progs.
The old huffman_static.[ch] files were renamed and substantially
worked upon to create deflate_interlaced.[ch].
Added new compression types. xrle2, tshift and qshift. The latter
two of these are very specific to trace and quality packings. May
need to rename to be more generic.
* ztr/compression.c:
(15:28:12) Fixed a bug in run length encoding XRLE2 format when
dealing with very long repeat runs.
* ztr/FORMAT-1.2:
(15:34:26) Fixed error in XRLE description.
* ztr/FORMAT:
(15:34:41) Further updates documenting version 1.3 changes
2007-09-03 James Bonfield <jkb@sanger.ac.uk>
* ztr/Attic/deflate_simple.c,
* ztr/Attic/deflate_simple.h:
(11:11:12) Mostly a rename from huffman_static to deflate_simple,
but also a large overhaul and redesign. This code implements the
huffman component of the Deflate algorithm.
* ztr/compression.c,
* ztr/compression.h,
* ztr/ztr.c,
* ztr/ztr.h:
(11:12:16) Updates to deal with the change from huffman_static to
deflate_simple.
* Makefile:
* Makefile.am,
* read/Makefile.am:
* progs/ztr_dump.c:
(11:35:50) Update for rename of huffman_static.h to
deflate_simple.h
2007-08-15 James Bonfield <jkb@sanger.ac.uk>
* ztr/compression.c,
* ztr/Attic/huffman_static.c,
* ztr/Attic/huffman_static.h:
(15:30:04) Major overhaul of huffman_static.c.
It's been substantially tuned for speed and also has several bug
fixes to ensure we have a consistent sort function before applying
the canonical_codes function (which previously meant differing
qsort implementations would give different codes).
* ztr/FORMAT-1.2:
(15:31:58) Created a snapshot of FORMAT for ZTR v1.2 only
2007-07-16 James Bonfield <jkb@sanger.ac.uk>
* acinclude.m4,
* configure.in:
(08:03:42) Updated configure.in to support --with-lib=DIR.
* utils/files.c:
(08:05:23) Switched from using tempnam() to tmpfile(). This meant
recreating tmpfile() wrapper on MS Windows to avoid bugs with it
always attempting to write to the root directory, regardless of
user privs.
* utils/open_trace_file.c,
* utils/os.h:
(08:05:24) Switched from using tempnam() to tmpfile(). This meant
recreating tmpfile() wrapper on MS Windows to avoid bugs with it
always attempting to write to the root directory, regardless of
user privs.
* progs/hash_extract.c:
(09:01:39) Fixed bug on windows: we now set stdout to be binary
mode first.
* utils/open_trace_file.c:
(09:02:51) INCOMPATIBLE CHANGE: On windows we now use semi-colon as
the path separator. The reason is that with the MinGW getenv()
seems to do "clever things" with PATH variables and consequently
ends up corrupting our clumsy attempt of escaping colons in paths.
2007-07-11 James Bonfield <jkb@sanger.ac.uk>
* Makefile,
* Makefile.am,
* read/Makefile.am,
* utils/hash_table.c,
* utils/hash_table.h,
* utils/jenkins_lookup3.c,
* utils/jenkins_lookup3.h:
(13:57:26) Added Bob Jenkins' lookup3.c code to the hash_table
support. It also now uses this for 64-bit hashing.
2007-07-06 James Bonfield <jkb@sanger.ac.uk>
* ztr/Attic/huffman_static.c:
(09:06:46) Bug fix to last commit - finish adding the CODE_ENGLISH
and removal of other code sets.
2007-07-05 James Bonfield <jkb@sanger.ac.uk>
* plain/seqIOPlain.c:
(08:27:43) For FASTA format files we now, eventually, read the
first sequence.
* ztr/FORMAT,
* ztr/Attic/huffman_static.c,
* ztr/Attic/huffman_static.h,
* ztr/ztr.c,
* ztr/ztr.h:
(08:28:30) Work-in-progress update to support HUFF chunks and
STHUFF (static huffman) compression methods.
* progs/ztr_dump.c:
(08:29:15) Updated to support the new static-huffman compression
method.
* ztr/Attic/huffman_static.c,
* ztr/Attic/huffman_static.h:
(10:45:48) Removed potentially variable huffman trees (solexa
trace, confidence values) and added an english text tree. This was
based on War of the Worlds, The Gold Bug, 200000 Leagues Under the
Sea and the "man ascii" unix manual page for a bit of variety. It
also includes the SYM_ANY escape code for handling out-of-band
data.
===============================================================================
2007-05-30 James Bonfield <jkb@sanger.ac.uk>
* progs/extract_seq.c:
(11:10:59) Fixed usage string (added -ztr).
* io_lib-config.in:
(11:11:26) Added explicit @LIBZ@ to --libs.
* progs/hash_sff.c:
(11:12:07) Fixed FILE handling bug.
* ztr/ztr.c:
(11:13:07) Maded entropy() static to avoid clash with ztr_dump.c
* CHANGES,
* README,
* configure.in:
(11:34:53) Updated to version 1.10.2
2007-04-19 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c:
(16:18:19) Fixed a memory leak and also changed to use off_t
instead of long for file offsets.
* ztr/Attic/huffman_static.c:
* ztr/Attic/huffman_static.h:
* ztr/ztr.c:
* ztr/ztr.h:
* Makefile:
* Makefile.am:
* read/Makefile.am:
(16:21:59) Added HUFFMAN_STATIC ZTR compression method.
* configure.in:
* abi/fpoint.h:
* abi/seqIOABI.h:
* ctf/seqIOCTF.h,
* exp_file/expFileIO.h:
* progs/convert_trace.c,
* progs/extract_fastq.c:
* progs/extract_seq.c:
* progs/hash_sff.c,
* progs/makeSCF.c:
* progs/ztr_dump.c:
* read/Read.h:
* read/scf_extras.h:
* read/translate.h:
* scf/scf.h:
* sff/sff.h:
* utils/array.h:
* utils/compress.h:
* utils/error.h:
* utils/hash_table.h:
* utils/mFILE.h:
* utils/mach-io.h:
* utils/misc.h:
* utils/open_trace_file.h:
* utils/os.h:
* utils/stdio_hack.h:
* utils/tar_format.h:
* utils/traceType.h:
* utils/vlen.h:
* utils/xalloc.h:
* ztr/compression.h:
(16:30:14) Added extern "C" {...} guards around all header files to
ease use from within C++ source.
2006-08-07 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(14:12:39) Added -signed and -noneg options to perform shifting of
trace data to avoid the unsigned issues for TRACE.
2006-07-18 James Bonfield <jkb@sanger.ac.uk>
* utils/traceType.c:
(13:44:13) Added support for anytr in str2int and int2str
conversions.
2006-07-06 James Bonfield <jkb@sanger.ac.uk>
* progs/hash_exp.c:
(08:45:18) Use binary mode, for windows.
* progs/hash_exp.c:
(09:20:20) Remove control-M from end of line when indexing ID
lines.
* progs/hash_exp.c:
(09:22:52) Oops; removal of debugging info
2006-07-05 James Bonfield <jkb@sanger.ac.uk>
* Makefile,
* dependencies:
(15:45:01) Fixed dependency generation for io_lib
2006-07-04 James Bonfield <jkb@sanger.ac.uk>
* utils/mFILE.c,
* utils/mFILE.h:
(13:43:28) Added mfcreate_from(). It has a usage syntax identical
to mfreopen(), but unlike mfreopen() it doesn't do anything with
the file pointer (neither closing ie or remembering it in the
structure).
* progs/extract_fastq.c:
(16:19:30) Pathname hacking and listed -ztr on command line.
* progs/extract_seq.c,
* progs/makeSCF.c:
(16:20:17) Added -ztr as a command line option.
* progs/hash_exp.c:
(16:21:14) Hash_exp now outputs to the same file containing the
experiment files (in appended hash-table mode).
* progs/hash_extract.c:
(16:21:53) Bug fix: now only needs at least 1 filename specified
when fofn mode is not in use.
* progs/hash_list.c:
(16:22:40) error detection and protection
2006-06-27 James Bonfield <jkb@sanger.ac.uk>
* utils/mFILE.c:
(11:16:21) Bug fix to the previous change: mstdin(), mstdout() and
mstderr() now correctly mark their streams and read and write
capable.
* utils/mFILE.c,
* utils/mFILE.h:
(15:48:15) Added mfdetach() to allow the file pointer to be closed
without deallocating the mFILE structure.
Also removed the mFILE->fname component and replaced uses with
checks to mode & MF_WRITE.
* utils/mFILE.c,
* utils/mFILE.h:
(15:58:52) Corrected duff spelling!
2006-06-26 James Bonfield <jkb@sanger.ac.uk>
* utils/mFILE.c,
* utils/mFILE.h:
(16:47:30) Fixed a bug in mfflush whereby it could attempt to write
HUGE amounts of data (-ve size) when files are truncated before
flushing; it now fseeks before doing the write and checks if the
size is +ve.
Also fixed mfwrite to correctly reset the flush_pos record.
Added a mode field to the mFILE structure so we can keep track of
append and read-only flags. These are checked for in the mfwrite
function so mfwrite now writes to the correct location when append
mode is used (ie forced to the end of file) and it now returns 0
when attempting to write to a read-only mFILE.
===============================================================================
2006-06-20 awhitwham <awhitwham@sanger.ac.uk>
* utils/open_trace_file.c:
(11:37:24) Changed to open trace files as read only
* configure.in:
(13:42:57) Updated to version 1.10.1
2006-06-15 James Bonfield <jkb@sanger.ac.uk>
* io_lib.m4:
(10:58:46) First working(?) version; testing on the Internal Trace
Server.
* io_lib.m4:
(11:18:39) bug fix IO_LIB_CPPFLAGS & IO_LIB_LDFLAGS initialisation"
* Makefile.am:
(11:25:57) Added io_lib-config to install scripts
* progs/Makefile.am:
(11:26:28) Added LIBCURL flags
* read/Makefile.am:
(11:26:54) Added LIBCURL_CPPFLAGS usage.
* CHANGES:
(15:40:12) *** empty log message ***
* progs/Makefile.am:
(15:40:28) Added ztr_dump to the list of progs.
* progs/ztr_dump.c:
(15:41:05) Support for log2 format.
* ztr/compression.c,
* ztr/compression.h,
* ztr/ztr.c:
(15:42:06) Added a ZTR_FORM_LOG2 compression technique. It's an
experimental lossy compression and is turned off right now; the
space saving was only about 10% and if we go lossy I want big
changes not small ones.
* ztr/ztr.h:
(15:42:07) Added a ZTR_FORM_LOG2 compression technique. It's an
experimental lossy compression and is turned off right now; the
space saving was only about 10% and if we go lossy I want big
changes not small ones.
* README:
(15:43:46) *** empty log message ***
2006-06-14 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(08:53:43) Added a -error option to request stderr goes to a file
instead of stderr. (from Saul Kravitz)
* scf/misc_scf.c,
* scf/read_scf.c,
* scf/write_scf.c:
(08:58:12) Renamed delta_samples[12] to be scf_delta_samples[12].
(patch supplied by Saul Kravitz)
* scf/scf.h:
(08:58:29) Renamed delta_samples[12] to be scf_delta_samples[12].
(patch supplied by Saul Kravitz)
* utils/open_trace_file.c:
(08:58:55) Comment update
* utils/open_trace_file.c:
* Makefile:
(16:28:29) Renamed USE_LIBCURL to be HAVE_LIBCURL to make it
compatible with autoconf.
* bootstrap:
(16:28:56) Added removal of io_lib-config
* acinclude.m4,
* configure.in:
(16:29:55) Added libcurl checking code (in acinclude.m4).
* io_lib-config.in:
(16:31:18) New io_lib-config program to query the compile and link
parameters needed when using io_lib.
* io_lib.m4:
(16:46:32) Initial draft (unchecked) of autoconf macros for use by
packages (in configure.in) that want to make use of io_lib.
2006-06-13 James Bonfield <jkb@sanger.ac.uk>
* progs/Makefile:
(11:50:47) Added ZLIB_INC include path.
2006-06-09 James Bonfield <jkb@sanger.ac.uk>
* utils/open_trace_file.c:
(08:53:24) Somewhere along the line I managed to break the most
common of all search mechanisms; local filenames on disk! Fixed
find_file_dir().
2006-06-08 James Bonfield <jkb@sanger.ac.uk>
* Makefile,
* utils/open_trace_file.c:
(13:21:59) Added libcurl support and made this the default instead
of using WGET for URL based accesses. Fixed a bug in the old wget
code also though involving handling of zero-sized replies.
Removed the compressed file extension iteration code in
find_file_dir as it's now included in the master open_trace_file
function instead (and so was yielding stats on fubar.scf.gz.bz2 and
similar). It's also now possible to turn off the compressed file
extension iteration code by prefixing a search path element with a
"|" symbol.
Replaced RAWDATA environment with EXP_PATH and TRACE_PATH. These
default back to RAWDATA when not defined. Created new functions
named open_exp_file and open_exp_mfile which use EXP_PATH instead
of TRACE_PATH. These allow for experiment files and trace files to
share the same names (as is the case in external "trace servers")
but use different accessor routes to return the data.
* utils/open_trace_file.h:
(13:22:40) New prototypes or the open_exp_{file,mfile} code and
iolib_[sg]et_{trace,exp}_path calls.
* progs/Makefile,
* progs/hash_exp.c:
(13:25:15) New program hash_exp. This allows for multiple
experiment files to be concatenated together instead a single
multi-sequence file and then be indexed (using hash_exp) to allow
for a HASH=... EXP_PATH element to extract the data back out again.
* progs/convert_trace.c,
* progs/extract_seq.c,
* read/Read.c,
* read/Read.h,
* read/scf_extras.c,
* read/translate.c:
(13:28:29) Make use of open_exp_mfile instead of open_trace_mfile
when we know we've explicitly requested a file in EXP format. This
ensures we'll use the correct search path where appropriate.
Also defined an ANYTR trace format which is identical to the old
ANY format except that it excludes EXP and PLN (ie "ANY TRace").
Again this is used internally to ensure we pick the correct search
path when dealing with fetching traces and/or experiment files.
* utils/mFILE.c:
(13:29:23) Fixed a bug in mfseek and mrewind. Both now clear the
EOF flag.
* utils/traceType.c:
(13:33:16) Bug fix to fdetermine_trace_type: now rewinds back.
* Makefile:
(15:21:02) Fixed the include/.links target (added sff)
* progs/Makefile,
* progs/extract_fastq.c:
(15:22:24) Added extract_fastq program.
2006-05-30 James Bonfield <jkb@sanger.ac.uk>
* ztr/compression.c:
(08:46:57) Fixed a bug in xrle(); it now correctly handles runs of
256 or more.
2006-04-12 James Bonfield <jkb@sanger.ac.uk>
* read/Read.c:
(10:53:27) Changed various fwrite_* functions to not close the FILE
pointer given to them.
2006-02-28 James Bonfield <jkb@sanger.ac.uk>
* ztr/compression.c:
(17:10:36) Fixed bug reading past memory in xrle(). (Thanks to
Kathryn Beal for identifying this.)
2006-02-27 James Bonfield <jkb@sanger.ac.uk>
* ztr/ztr.c,
* ztr/ztr.h:
(14:40:06) Removed static from compress_chunk and uncompress_chunk.
Added prototypes to ztr.h.
2006-02-23 James Bonfield <jkb@sanger.ac.uk>
* utils/read_alloc.c:
(15:08:36) Fixed a bug in read_dup and not initialising read->info.
* utils/read_alloc.c:
(16:00:44) Fixed typo.
2006-02-20 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c:
(12:16:50) Allow HashTableAdd to take a non-string for the key.
2006-01-26 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c,
* utils/hash_table.h:
(09:37:02) Fixed HashTableAdd with non-string keys and without
HASH_NONVOLATILE_KEYS defined. It used strdup, but now allocates
and memcpys.
Added HashTableDel and HashTableRemove functions. HashTableDel
removes and destroys a specified HashItem. HashTableRemove removes
and destroys all items attached to a given key.
===============================================================================
2005-12-14 James Bonfield <jkb@sanger.ac.uk>
* CHANGES,
* README,
* configure.in:
(14:35:00) Update for 1.9.2
2005-12-09 James Bonfield <jkb@sanger.ac.uk>
* configure.in:
(17:32:31) Added AC_CHECK_LIB calls for nsl and socket
(gethostbyname and socket). Needed for Solaris compilations.
2005-11-16 James Bonfield <jkb@sanger.ac.uk>
* progs/extract_seq.c:
(14:14:16) Used open_trace_mfile instead of open_trace_file to
avoid the need for temporary files and hence speeds this up.
* read/Read.c:
(14:23:23) fwrite_reading now frees the temporary mFILE it created.
* read/Read.h,
* read/translate.c:
(14:45:41) Added private_data and private_size to the Read
structure & populate from SCF.
* utils/compress.c:
(14:48:51) mfreopen_compressed no longer closes the original FILE*.
This makes it backwards compatible once more with the original
version and also cures a bug whereby the old file pointer was often
left open, leading to running out of file descriptors.
* utils/mFILE.c:
(15:05:51) Fixed uninitialised check when filename was specified
but not found in mfload.
* utils/read_alloc.c:
(15:17:01) Added private_data to read struct
2005-11-10 James Bonfield <jkb@sanger.ac.uk>
* progs/hash_extract.c:
(11:32:06) Now returns an error code (to the calling process) if it
failed to extract a sequence.
* utils/hash_table.c:
(11:33:07) Fixed problem in hashquery when searching for something
that has a hash key not present (ie empty hash bucket).
===============================================================================
2005-10-27 James Bonfield <jkb@sanger.ac.uk>
* utils/mFILE.c:
(15:46:45) Fixed hang in mfload when given zero length files.
2005-10-25 James Bonfield <jkb@sanger.ac.uk>
* read/translate.c:
(08:20:26) NDEBUG checks
2005-10-21 James Bonfield <jkb@sanger.ac.uk>
* bootstrap:
(09:15:23) Removed more auto-generated files.
* configure.in,
* progs/Makefile.am:
(09:16:43) Further removal of libtool specific bits (AC_CHECK_LIB).
* Makefile:
(16:03:35) Fixed bug with IOLIB_ZTR vs IOLIB_SFF macro.
* Makefile.am,
* bootstrap,
* configure.in,
* read/Read.h,
* utils/compress.c:
(16:04:48) Replaced automake's generated config.h file
io_lib_config and allow for it to be installed with "make install".
* progs/Makefile.am:
(16:05:19) Added append_sff to the targets.
* read/translate.c:
(16:05:42) Disabled asserts
* utils/mFILE.c:
(16:06:25) Fixed bug in mfgetc when dealing with 8-bit data. It
always now returns unsigned values except when EOF
* utils/open_trace_file.c:
(16:07:20) Updated TAR magic number to be just the 5 first bytes as
the 6th differs between systems (space vs nul).
2005-10-20 James Bonfield <jkb@sanger.ac.uk>
* sff/sff.c:
(13:31:22) Split the read functions into read & decode functions so
that we can unpack SFF structs from other sources.
* progs/Makefile,
* progs/append_sff.c:
(13:31:58) Added an append_sff.c program, to combine multiple SFF
archives into a single archive.
2005-10-18 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(16:41:44) Modified to check RAWDATA search path when loading
traces.
* progs/hash_sff.c:
(16:42:58) Major overhaul to not load the entire SFF file into
memory. It also handles copying the SFF file to a new file and
adding an index to an SFF archive that already has an index.
* sff/sff.c,
* sff/sff.h:
(16:44:31) Restructured read functions to load & decode functions
so we can decode SFF data blocks obtained via other means (eg as
used in the indexing code).
* utils/open_trace_file.c:
(16:45:42) Added SFF "sorted index" code, based on 454's getsff.c
implementation. Also restructured the SFF querying code a bit so
that it caches this data.
2005-10-14 James Bonfield <jkb@sanger.ac.uk>
* CHANGES:
(16:07:36) *** empty log message ***
* exp_file/expFileIO.c:
(16:08:32) Renamed _MSV_VER to _WIN32 so that the binary/ascii
conversions for experiment file IO works once more under Windows.
* progs/Makefile,
* progs/Makefile.am,
* progs/hash_sff.c:
(16:09:08) Added hash_sff program. This adds a .hsh format index to
the SFF container.
* sff/sff.c,
* sff/sff.h:
(16:10:10) A total rewrite of the SFF code due to the recent
changes in file format. This code handles access of a *single* SFF
entry. The code to manipulate multi-file SFF (ie the container) is
in open_trace_file.c.
* utils/hash_table.c,
* utils/hash_table.h:
(16:11:33) HashFileSave now returns the length of the saved hash.
HashFileFopen now sets afp by default to be the same as hfp. Extra
checking has been added when closing these file pointers to ensure
we don't close twice if they point to the same FILE*.
* utils/mFILE.c,
* utils/mFILE.h:
(16:12:58) Added an mfascii() function. This allows for changing
from binary to ascii after a file has been opened. It should be
called in place of where the windows-specific _set_mode() function
would be used.
There is currently no analagous ascii-to-binary conversion, but I
have not yet found a need for it either.
* utils/mach-io.c,
* utils/mach-io.h:
(16:13:29) Added [bl]e_{read,write}_int_8 functions for use with
8-byte data types found in SFF.
* utils/open_trace_file.c:
(16:14:55) Added a SFF= format for the RAWDATA search path. This
handles the SFF container in much the same way that TAR= and HASH=
works.
Also for all three of these types you can now do archive/entry
instead. Eg "extract_seq traces.tar/xyz.ztr" will work and it'll
even look for traces.tar in RAWDATA if required.
* utils/os.h:
(16:15:19) Added a uint1 typedef for completeness.
* Makefile.am,
* read/Makefile.am:
(16:16:06) Makefile support for new sff.c files.
* dependencies:
(16:16:23) *** empty log message ***
* configure.in:
(16:16:43) Updated to version 1.9.1.
2005-10-04 James Bonfield <jkb@sanger.ac.uk>
* Makefile:
(08:54:30) Added sff to make distsrc
* utils/hash_table.c:
(11:34:03) Cast ptrdiff_t value to int for %.*s argument.
2005-09-29 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c,
* utils/hash_table.h:
(16:04:06) Fixed the hash file saving and loading so that it works
on all platforms instead of just x86 linux. There were bugs in
assuming the size of structures. The assumptions are still there in
that I assume they pad the same internally (for ease of coding - we
can change it when we finally see a system which operates
differently), but the final "boundary" padding has been resolved.
2005-09-28 James Bonfield <jkb@sanger.ac.uk>
* progs/hash_list.c:
(10:16:49) *** empty log message ***
2005-09-19 James Bonfield <jkb@sanger.ac.uk>
* utils/compress.c:
(13:58:02) Fixed a file descriptor (and some memory) leak in
freopen_compressed. (Bug ID 1289095)
2005-09-08 James Bonfield <jkb@sanger.ac.uk>
* ztr/ztr.c,
* ztr/ztr_translate.c:
(11:29:06) Don't try to compress SAMP chunks with meta-data PYRW as
the raw pyrosequencing data from 454 doesn't compress.
* progs/Makefile,
* progs/hash_tar.c,
* utils/Hash_File_Format,
* utils/hash_table.c,
* utils/hash_table.h:
(11:30:56) Changed the HashFile format slightly. It's now format
1.00.
The key difference is that it has a file footer pointing back to
the hashfile header (so the hashfile can be appended to an archive)
and it also has an offset in the header to apply to all seeks
within the archive itself, so it can be prepending to an archive
that's already been indexed without breaking the offsets.
Extended the hash_tar program to allow control over these header
options.
2005-08-26 James Bonfield <jkb@sanger.ac.uk>
* dependencies:
(08:24:32) Rebuilt
2005-08-25 James Bonfield <jkb@sanger.ac.uk>
* progs/makeSCF.c,
* ztr/ztr.c:
(10:22:20) General code tidyup to prevent warnings.
2005-08-15 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c:
(15:25:18) Fixed HashTableLoad so it correctly stores the HashTable
in the HashFile structure. It also now checks for the correct size
of file to load.
* sff/sff.c,
* sff/sff.h:
(15:25:44) Added SFF (454 flowgram) file reading support.
2005-08-10 James Bonfield <jkb@sanger.ac.uk>
* Makefile,
* README,
* options.mk:
(15:15:24) Added draft SFF format support. I need to verify if the
example data files I tested this with are correct or if the SFF
draft spec is correct (as they differ marginally in places). Hence
this format may change soon.
* read/Read.c,
* read/Read.h,
* utils/traceType.c:
(15:15:25) Added draft SFF format support. I need to verify if the
example data files I tested this with are correct or if the SFF
draft spec is correct (as they differ marginally in places). Hence
this format may change soon.
* progs/ztr_dump.c:
(15:16:31) Added (commented out) code for extra debugging.
* progs/Makefile:
(15:16:48) Added hash_extract to the Makefile.
2005-07-22 James Bonfield <jkb@sanger.ac.uk>
* utils/compress.c:
(15:52:07) Unset compression_used when opening uncompressed files
instead of leaving as the last value.
2005-07-15 James Bonfield <jkb@sanger.ac.uk>
* read/Read.c:
(15:16:58) Removed file descriptor 'leak' in write_reading().
2005-07-14 James Bonfield <jkb@sanger.ac.uk>
* exp_file/expFileIO.c:
(13:53:45) Commenting only
* read/Read.c,
* utils/mFILE.c:
(13:54:54) mfopen now honours binary verses ascii differences (and
so updated Read.c calls accordingly) so that Windows works better.
Also improved append mode of opening.
2005-07-13 James Bonfield <jkb@sanger.ac.uk>
* ztr/ztr.c:
(08:41:16) Removed the warning for unknown chunk types. It now just
silently stores them in memory.
2005-07-11 James Bonfield <jkb@sanger.ac.uk>
* utils/mFILE.c:
(14:01:50) Fixed divide-by-zero buf when calling mfread for zero
bytes.
* read/Read.c:
(16:07:38) Fixed IO_LIB_* macros to be IOLIB_* macros.
2005-07-07 James Bonfield <jkb@sanger.ac.uk>
* Makefile.am:
* progs/Makefile.am:
(09:01:50) Removed libtool requirements.
* configure.in:
(09:02:07) Removed use of libtool.
* Attic/Makefile.in,
* abi/Attic/Makefile.in:
* alf/Attic/Makefile.in,
* ctf/Attic/Makefile.in:
* exp_file/Attic/Makefile.in,
* plain/Attic/Makefile.in:
* progs/Attic/Makefile.in,
* read/Attic/Makefile.in,
* scf/Attic/Makefile.in:
* utils/Attic/Makefile.in,
* ztr/Attic/Makefile.in:
* Attic/config.h.in:
* Attic/configure:
* Attic/depcomp,
* Attic/install-sh,
* Attic/ltmain.sh,
* Attic/missing:
* abi/Attic/Makefile.am,
* alf/Attic/Makefile.am,
* ctf/Attic/Makefile.am:
* exp_file/Attic/Makefile.am,
* plain/Attic/Makefile.am,
* scf/Attic/Makefile.am,
* utils/Attic/Makefile.am,
* ztr/Attic/Makefile.am:
(09:09:50) Removed as these have now been collapsed into the
read/Makefile.am.
* README:
(09:10:19) *** empty log message ***
* read/Makefile.am:
(09:12:18) Subsumed the other */Makefile.am files.
* progs/hash_tar.c:
(09:12:48) On Windows, set stdout to be _O_BINARY.
* read/Read.c:
(09:13:22) Fixed the _O_BINARY setting code on windows to check for
fp being valid and to use the mf->fp instead of fp.
* utils/compress.c:
(09:15:30) Added checks for HAVE_SYS_WAIT_H for Windows handling.
* utils/compress.c:
(09:20:04) Moved HAVE_ZLIB_H from compress.c and put in os.h (when
autoconf is not in use).
* utils/hash_table.c:
(09:21:45) Changed bucket_pos from int64_t to int32_t (as was
intended) so it works on windows correctly.
* utils/mFILE.c:
(09:22:50) Added more _O_BINARY checks for windows.
* utils/open_trace_file.c:
(09:23:28) Added error checking in open_trace_file().
* bootstrap:
(10:28:38) Added to simplify initialisation of the autoconf system.
* utils/os.h:
(10:34:54) Moved os.h from include to utils.
* Makefile.am:
(10:49:17) Fixed missing backslash in pkginclude_HEADERS.
* Attic/config.guess,
* Attic/config.sub,
* Attic/ltconfig,
* Attic/mkinstalldirs,
* Attic/stamp-h.in:
(10:55:09) Removed more auto-generated files from CVS tree.
* read/Read.h:
(14:28:29) *** empty log message ***
2005-07-04 James Bonfield <jkb@sanger.ac.uk>
* README:
(09:24:49) *** empty log message ***
* CHANGES:
(09:24:50) *** empty log message ***
* Makefile.am,
* progs/Makefile.am,
* read/Makefile.am,
* scf/Attic/Makefile.am,
* utils/Attic/Makefile.am:
(09:25:34) Adjusted EXTRA_DIST definitions to only include files we
still appear to have!
* Attic/Makefile.in,
* progs/Attic/Makefile.in:
* read/Attic/Makefile.in,
* scf/Attic/Makefile.in,
* utils/Attic/Makefile.in:
* Attic/config.h.in,
* Attic/configure:
* configure.in:
(09:27:05) Updated to use newer AC_INIT syntax.
* read/Read.c:
(10:21:50) Made the default output format ZTR. Do not compress
output (via gzip for example) if ZTR2 or ZTR3 is used.
* utils/compress.c:
(10:25:19) If HAVE_ZLIB isn't defined then the memgzip/memgunzip
functions are now also not built (and hence removes compilation
errors).
The pipe2 function now uses waitpid to avoid zombies.
* utils/mFILE.c,
* utils/mFILE.h:
(10:29:41) Added mfrecreate() function to change an existing
mFILE to point to new data. Better handling of append mode in
mfreopen. Fixed mf->fname such that it's now always a pointer to
malloced data. Added mfdestroy to deallocate memory, but without
flushing or closing file descriptors. Changed mfflush to write data
regardless of whether it's stdin/stdout. This means that
mfflush+mfdestroy can be used to close an mFILE without closing
the underlying FILE pointer used. Added mftruncate. Rewrote mfread
to do a single memcpy instead of looped memcpys.
===============================================================================
2005-06-29 James Bonfield <jkb@sanger.ac.uk>
* CHANGES,
* Makefile,
* README,
* dependencies:
(13:33:14) Version 1.9.0-test
* Significant speed ups, particularly when dealing with reading
gzipped files or when extracting data from tar files.
* New external functions for faster access via mFILE (memory-file)
structs. These mimic the fread/fwrite calls, but with
mfread/mfwrite etc.
* Some functions previously available in external scope, but not
defined in header files, have now been made internal only
("static"). Please contact me if you were using these and have a
burning need for them to remain external.
* Numerous minor tweaks and updates to fix compiler warnings on
more stricter modes of the Intel C Compiler.
* Preliminary support for storing pyrosequencing style traces. This
has been modeled on the flowgram data from 454, but should be
applicable to other platforms. ZTR has been updated to incorporate
this too.
The Read structure also has flow, flow_order, nflows and flow_raw
elements too. Code to convert these into the more usual
traceA/C/G/T arrays exists currently as part of Trev (in tk_utils
in the Staden Package), but this may move into io_lib for the
next official release.
* New hash_tar and hash_extract programs. These replace the
index_tar program for rast random access. For RAWDATA include
"HASH=hashfile" as an element to get io_lib to use the archive
hash. It's possible to create hash files of most archive formats
as the hash itself contains the offset and size of each item in
the archive. This means that extracting an item does not need to
know the format of the original archive.
Some benchmarks show that on ext3 it's actually faster to extract
files from the hash than directly via the directory. This was
testing with ~200,000 files, whereupon directory lookups become
slow. I'd imagine ResierFS or similar to be faster.
* Added an XRLE encoding for ZTR. This is similar to the existing
RLE mechanism but it copes with run length encoding of items
larger than a single byte. It's current use is for storing the
4-base repeating flow order in 454 data.
* Potential incompatibilities:
- The Exp_info structure now has an "mFILE *fp" member instead of
"FILE *fp".
- As mentioned above, some functions are no longer external.
These include many ctf functions, ztr_(de)compress,
ztr_chunk_(read/write), be_read_*, be_write_*,
- The default search order for RAWDATA is that the current
directory is searched after the rest of rawdata instead of
before.
- Removed support for the old unix "pack" program as a
compression tool.
* abi/abi.h,
* abi/fpoint.c,
* abi/seqIOABI.c,
* abi/seqIOABI.h,
* alf/alf.h,
* alf/seqIOALF.c,
* ctf/ctfCompress.c,
* ctf/seqIOCTF.c,
* ctf/seqIOCTF.h,
* exp_file/expFileIO.c,
* exp_file/expFileIO.h,
* plain/plain.h:
(13:33:32) Version 1.9.0-test
* Significant speed ups, particularly when dealing with reading
gzipped files or when extracting data from tar files.
* New external functions for faster access via mFILE (memory-file)
structs. These mimic the fread/fwrite calls, but with
mfread/mfwrite etc.
* Some functions previously available in external scope, but not
defined in header files, have now been made internal only
("static"). Please contact me if you were using these and have a
burning need for them to remain external.
* Numerous minor tweaks and updates to fix compiler warnings on
more stricter modes of the Intel C Compiler.
* Preliminary support for storing pyrosequencing style traces. This
has been modeled on the flowgram data from 454, but should be
applicable to other platforms. ZTR has been updated to incorporate
this too.
The Read structure also has flow, flow_order, nflows and flow_raw
elements too. Code to convert these into the more usual
traceA/C/G/T arrays exists currently as part of Trev (in tk_utils
in the Staden Package), but this may move into io_lib for the
next official release.
* New hash_tar and hash_extract programs. These replace the
index_tar program for rast random access. For RAWDATA include
"HASH=hashfile" as an element to get io_lib to use the archive
hash. It's possible to create hash files of most archive formats
as the hash itself contains the offset and size of each item in
the archive. This means that extracting an item does not need to
know the format of the original archive.
Some benchmarks show that on ext3 it's actually faster to extract
files from the hash than directly via the directory. This was
testing with ~200,000 files, whereupon directory lookups become
slow. I'd imagine ResierFS or similar to be faster.
* Added an XRLE encoding for ZTR. This is similar to the existing
RLE mechanism but it copes with run length encoding of items
larger than a single byte. It's current use is for storing the
4-base repeating flow order in 454 data.
* Potential incompatibilities:
- The Exp_info structure now has an "mFILE *fp" member instead of
"FILE *fp".
- As mentioned above, some functions are no longer external.
These include many ctf functions, ztr_(de)compress,
ztr_chunk_(read/write), be_read_*, be_write_*,
- The default search order for RAWDATA is that the current
directory is searched after the rest of rawdata instead of
before.
- Removed support for the old unix "pack" program as a
compression tool.
* plain/seqIOPlain.c,
* progs/Makefile,
* progs/convert_trace.c,
* progs/extract_seq.c,
* progs/get_comment.c,
* progs/hash_extract.c,
* progs/hash_tar.c,
* progs/makeSCF.c,
* progs/trace_dump.c,
* progs/ztr_dump.c,
* read/Read.c,
* read/Read.h,
* read/scf_extras.c,
* read/translate.c,
* scf/misc_scf.c,
* scf/read_scf.c,
* scf/scf.h,
* scf/write_scf.c,
* utils/compress.c,
* utils/compress.h,
* utils/hash_table.c,
* utils/hash_table.h,
* utils/mach-io.c,
* utils/mach-io.h,
* utils/open_trace_file.c,
* utils/open_trace_file.h,
* utils/read_alloc.c,
* utils/traceType.c,
* utils/traceType.h,
* ztr/FORMAT,
* ztr/compression.c,
* ztr/compression.h,
* ztr/ztr.c,
* ztr/ztr.h,
* ztr/ztr_translate.c:
(13:33:33) Version 1.9.0-test
* Significant speed ups, particularly when dealing with reading
gzipped files or when extracting data from tar files.
* New external functions for faster access via mFILE (memory-file)
structs. These mimic the fread/fwrite calls, but with
mfread/mfwrite etc.
* Some functions previously available in external scope, but not
defined in header files, have now been made internal only
("static"). Please contact me if you were using these and have a
burning need for them to remain external.
* Numerous minor tweaks and updates to fix compiler warnings on
more stricter modes of the Intel C Compiler.
* Preliminary support for storing pyrosequencing style traces. This
has been modeled on the flowgram data from 454, but should be
applicable to other platforms. ZTR has been updated to incorporate
this too.
The Read structure also has flow, flow_order, nflows and flow_raw
elements too. Code to convert these into the more usual
traceA/C/G/T arrays exists currently as part of Trev (in tk_utils
in the Staden Package), but this may move into io_lib for the
next official release.
* New hash_tar and hash_extract programs. These replace the
index_tar program for rast random access. For RAWDATA include
"HASH=hashfile" as an element to get io_lib to use the archive
hash. It's possible to create hash files of most archive formats
as the hash itself contains the offset and size of each item in
the archive. This means that extracting an item does not need to
know the format of the original archive.
Some benchmarks show that on ext3 it's actually faster to extract
files from the hash than directly via the directory. This was
testing with ~200,000 files, whereupon directory lookups become
slow. I'd imagine ResierFS or similar to be faster.
* Added an XRLE encoding for ZTR. This is similar to the existing
RLE mechanism but it copes with run length encoding of items
larger than a single byte. It's current use is for storing the
4-base repeating flow order in 454 data.
* Potential incompatibilities:
- The Exp_info structure now has an "mFILE *fp" member instead of
"FILE *fp".
- As mentioned above, some functions are no longer external.
These include many ctf functions, ztr_(de)compress,
ztr_chunk_(read/write), be_read_*, be_write_*,
- The default search order for RAWDATA is that the current
directory is searched after the rest of rawdata instead of
before.
- Removed support for the old unix "pack" program as a
compression tool.
* utils/vlen.c,
* utils/vlen.h:
(13:35:42) vlen/vflen functions to estimate the maximum data size
written out by a printf style function. This is used by the new
mFILE functions.
* utils/mFILE.c,
* utils/mFILE.h:
(13:39:13) mFILE struct support. This is basically a set of
functions to similulate stdio file support on a block of memory
instead of a file, for purposes of speed and to avoid the need of
writing data out to a file only to be opened and read back in again
(which happened a lot before).
stdio_hack.h is, like it says, a hacky bunch of #defines to turn
stdio functions and io_lib functions into their mFILE equivalents.
It is used internally to convert old code (eg ABI file reading) to
use mFILE structures, but can also be used by the brave to update
their own code. Use with extreme caution.
* utils/stdio_hack.h:
(13:39:14) mFILE struct support. This is basically a set of
functions to similulate stdio file support on a block of memory
instead of a file, for purposes of speed and to avoid the need of
writing data out to a file only to be opened and read back in again
(which happened a lot before).
stdio_hack.h is, like it says, a hacky bunch of #defines to turn
stdio functions and io_lib functions into their mFILE equivalents.
It is used internally to convert old code (eg ABI file reading) to
use mFILE structures, but can also be used by the brave to update
their own code. Use with extreme caution.
2005-06-08 James Bonfield <jkb@sanger.ac.uk>
* utils/hash_table.c:
* utils/hash_table.h:
* progs/hash_extract.c,
* progs/hash_tar.c:
(08:37:49) Added some simple hash table functions. Layered on top
of these are HashFiles, which allow hash table indexing of files to
be stored on disk. hash_tar and hash_extract test programs
illustrate its use on tar files, much like index_tar does.
* utils/open_trace_file.c:
(08:38:22) Added support for integrating the new hashfile code via
a "HASH=hashfile" RAWDATA setting.
2005-04-27 James Bonfield <jkb@sanger.ac.uk>
* progs/get_comment.c:
(16:15:51) Removed "might be used uninitialised" warning messages
from the compiler.
2005-02-09 James Bonfield <jkb@sanger.ac.uk>
* abi/seqIOABI.c:
(10:08:03) Added getABIIndexEntrySW and modified getABIString to
correctly determine the string type (pascal vs C-string). This
means MODL numbers now come out as 3730 instead of 730 (for
example).
2004-12-06 James Bonfield <jkb@sanger.ac.uk>
* progs/ztr_dump.c:
(17:41:58) Corrected minor compiler warnings.
2004-11-16 James Bonfield <jkb@sanger.ac.uk>
* exp_file/expFileIO.c:
(12:10:16) Major speed up of reading large experiment files. Tested
on a 1Mb sequence with AV, ON and SQ lines the new code is 1000
times faster on the Alpha.
Primarily the difference comes from removing O(N^2) complexities by
removing strcat & strlen type of operations.
2004-10-29 James Bonfield <jkb@sanger.ac.uk>
* Makefile:
(10:42:10) Automatically create binary output directories.
2004-10-21 James Bonfield <jkb@sanger.ac.uk>
* dependencies:
(11:39:28) *** empty log message ***
2004-10-14 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(15:38:18) Added a "-subtract <amount>" option to allow removal of
a specific DC offset.
2004-10-08 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(14:49:06) Fixed a divide-by-zero error in the normalisation code.
2004-10-01 James Bonfield <jkb@sanger.ac.uk>
* progs/convert_trace.c:
(10:56:07) Rewrote rescale_heights (the "-normalise" option) using
an amplitude tracker with an attack & delay model. This seems to
work well at adjusting for both gradual amplitude variations and
for downscaling huge dye-blobs.
2004-08-17 James Bonfield <jkb@sanger.ac.uk>
* progs/Makefile,
* progs/Makefile.am,
* progs/ztr_dump.c:
(13:37:17) Added a ztr_dump program.
2004-08-05 James Bonfield <jkb@sanger.ac.uk>
* progs/index_tar.c:
(09:32:05) Fix bug submitted by Steve Leonard. If a directory is
too large to fit in the name (>100) but short enough to fit in the
prefix the name field will be empty, this is not the cas for
ordinary files where the name field is always non-empty.
2004-07-26 James Bonfield <jkb@sanger.ac.uk>
* exp_file/expFileIO.c:
(14:24:35) MinGW port
* utils/open_trace_file.c:
(14:26:13) MinGW port
===============================================================================
2004-06-01 James Bonfield <jkb@sanger.ac.uk>
* CHANGES,
* Makefile.am,
* Attic/Makefile.in,
* README,
* Attic/config.guess,
* Attic/config.h.in,
* Attic/config.sub,
* Attic/configure,
* configure.in,
* Attic/depcomp,
* Attic/install-sh,
* Attic/ltmain.sh,
* Attic/missing,
* Attic/mkinstalldirs:
* abi/Attic/Makefile.in,
* alf/Attic/Makefile.in:
* ctf/Attic/Makefile.in,
* exp_file/Attic/Makefile.in,
* plain/Attic/Makefile.in,
* progs/Makefile.am,
* progs/Attic/Makefile.in,
* read/Attic/Makefile.in,
* scf/Attic/Makefile.in,
* utils/Attic/Makefile.in,
* ztr/Attic/Makefile.in:
(08:54:51) Updated notes to claim this is version 1.8.12 and
rebuilt all the automake/autoconf/libtool generated files.
2004-05-13 James Bonfield <jkb@sanger.ac.uk>
* abi/seqIOABI.c:
(16:14:10) Improved spacing fix.
2004-05-12 James Bonfield <jkb@sanger.ac.uk>
* abi/seqIOABI.c:
(08:27:40) Applied change suggested by Saul A. Kravitz. The
fallback fspacing is now calculated over the range that basecalls
exist rather than the total length of trace.
2004-03-03 James Bonfield <jkb@sanger.ac.uk>
* ztr/ztr_translate.c:
(17:45:52) Treat Read->basePos as 16-bit, which means hard-coding
the first two bytes in ztr_encode_positions for each pos as zero.
2004-02-19 James Bonfield <jkb@sanger.ac.uk>
* exp_file/expFileIO.c:
(12:13:52) Fixed typo in LG qualifier (was LF).
* exp_file/expFileIO.h:
(13:48:59) More type fixes; EFLT_LG was given the same number as
_FT. Now diff.
2004-02-12 James Bonfield <jkb@sanger.ac.uk>
* dependencies:
(10:32:01) *** empty log message ***
2004-02-09 James Bonfield <jkb@sanger.ac.uk>
* exp_file/expFileIO.c,
* exp_file/expFileIO.h:
(14:39:52) Added LG (LiGation) to experiment file definition.
2004-01-13 James Bonfield <jkb@sanger.ac.uk>
* read/translate.c:
(17:02:00) In read2exp only set the file format to be TT_EXP when
'redirection to trace' is not enabled (ie it indicates where the
sequence came from, EXP or SCF/ZTR/...).
2003-11-17 James Bonfield <jkb@sanger.ac.uk>
* utils/open_trace_file.c:
(14:52:28) Added ARC= and URL= RAWDATA search methods to fetch
traces via the ensembl trace archive and via a URL.
2003-10-24 James Bonfield <jkb@sanger.ac.uk>
* abi/seqIOABI.c:
(08:24:07) Protect against the base spacing being listed as a
negative number in the ABI file.
* progs/extract_seq.c:
(08:24:29) Added a -fofn option
* utils/compress.c:
(08:24:57) More error checking on writing compressed files.
2003-07-10 James Bonfield <jkb@sanger.ac.uk>
* Makefile:
(11:14:14) Put back the Staden Makefile as I accidently overwrote
this with the autoconf generate one.
* progs/Makefile:
(11:14:18) *** empty log message ***
2003-07-07 James Bonfield <jkb@sanger.ac.uk>
* abi/seqIOABI.c,
* abi/seqIOABI.h:
(11:20:37) Confidence values (PCON 1) are now loaded from ABI
files.
* Makefile.am:
* Attic/Makefile.in,
* Attic/config.guess,
* Attic/config.h.in,
* Attic/config.sub,
* Attic/configure,
* configure.in,
* Attic/install-sh,
* Attic/ltconfig,
* Attic/ltmain.sh,
* Attic/missing,
* Attic/mkinstalldirs,
* Attic/stamp-h.in:
(11:24:47) Added automake/autoconf/libtool files to CVS tree. Not
all of these are 'source' files as some are generated by others,
but for ease of compilation the output from these tools is
distribute too, meaning that only './configure' needs to be run.
* abi/Attic/Makefile.am,
* abi/Attic/Makefile.in:
(11:24:52) *** empty log message ***
* alf/Attic/Makefile.am,
* alf/Attic/Makefile.in,
* ctf/Attic/Makefile.am,
* ctf/Attic/Makefile.in,
* exp_file/Attic/Makefile.am,
* exp_file/Attic/Makefile.in,
* plain/Attic/Makefile.am,
* plain/Attic/Makefile.in,
* progs/Makefile.am:
(11:25:02) *** empty log message ***
* progs/Attic/Makefile.in,
* read/Makefile.am,
* read/Attic/Makefile.in,
* scf/Attic/Makefile.am,
* scf/Attic/Makefile.in,
* utils/Attic/Makefile.am,
* utils/Attic/Makefile.in,
* ztr/Attic/Makefile.am,
* ztr/Attic/Makefile.in:
(11:25:03) *** empty log message ***
* Makefile:
(11:48:43) Updates to automake/conf system.
* Makefile.am,
* Attic/Makefile.in,
* Attic/config.guess,
* Attic/config.h.in,
* Attic/config.sub,
* Attic/configure,
* Attic/depcomp,
* Attic/ltmain.sh:
(11:48:44) Updates to automake/conf system.
* abi/Attic/Makefile.am,
* abi/Attic/Makefile.in,
* alf/Attic/Makefile.am,
* alf/Attic/Makefile.in,
* ctf/Attic/Makefile.am,
* ctf/Attic/Makefile.in,
* exp_file/Attic/Makefile.am,
* exp_file/Attic/Makefile.in,
* plain/Attic/Makefile.am,
* plain/Attic/Makefile.in,
* progs/Makefile,
* progs/Makefile.am:
(11:48:50) *** empty log message ***
* progs/Attic/Makefile.in,
* read/Makefile.am,
* read/Attic/Makefile.in,
* read/Read.h,
* scf/Attic/Makefile.am,
* scf/Attic/Makefile.in,
* utils/Attic/Makefile.am,
* utils/Attic/Makefile.in,
* ztr/Attic/Makefile.am:
(11:48:51) *** empty log message ***
* ztr/Attic/Makefile.in:
(11:48:54) *** empty log message ***
* read/Read.h:
(11:56:56) *** empty log message ***
2003-06-09 James Bonfield <jkb@sanger.ac.uk>
* CHANGES,
* COPYRIGHT,
* Makefile,
* README,
* options.mk,
* abi/abi.h,
* abi/fpoint.c,
* abi/fpoint.h,
* abi/seqIOABI.c:
(11:24:36) Import of Staden Package 2003.0b2
* CHANGES,
* COPYRIGHT,
* Makefile,
* README,
* options.mk,
* abi/abi.h,
* abi/fpoint.c,
* abi/fpoint.h,
* abi/seqIOABI.c:
(11:24:36) branches: 1.1.1; Initial revision
* abi/seqIOABI.h,
* alf/alf.h,
* alf/seqIOALF.c,
* ctf/ctfCompress.c,
* ctf/seqIOCTF.c,
* ctf/seqIOCTF.h,
* exp_file/expFileIO.c,
* exp_file/expFileIO.h,
* plain/plain.h,
* plain/seqIOPlain.c,
* progs/Makefile,
* progs/convert_trace.c,
* progs/extract_seq.c,
* progs/get_comment.c,
* progs/index_tar.c,
* progs/makeSCF.c,
* progs/scf_dump.c,
* progs/scf_info.c,
* progs/scf_update.c,
* progs/trace_dump.c,
* read/Read.c,
* read/Read.h,
* read/scf_extras.c,
* read/scf_extras.h,
* read/translate.c,
* read/translate.h,
* scf/misc_scf.c,
* scf/read_scf.c,
* scf/scf.h,
* scf/write_scf.c,
* utils/array.c,
* utils/array.h,
* utils/compress.c,
* utils/compress.h,
* utils/error.c,
* utils/error.h,
* utils/files.c,
* utils/find.c,
* utils/mach-io.c,
* utils/mach-io.h,
* utils/misc.h,
* utils/open_trace_file.c,
* utils/open_trace_file.h,
* utils/read_alloc.c,
* utils/strings.c,
* utils/tar_format.h,
* utils/traceType.c:
(11:24:37) Import of Staden Package 2003.0b2
* abi/seqIOABI.h,
* alf/alf.h,
* alf/seqIOALF.c,
* ctf/ctfCompress.c,
* ctf/seqIOCTF.c,
* ctf/seqIOCTF.h,
* exp_file/expFileIO.c,
* exp_file/expFileIO.h,
* plain/plain.h,
* plain/seqIOPlain.c,
* progs/Makefile,
* progs/convert_trace.c,
* progs/extract_seq.c,
* progs/get_comment.c,
* progs/index_tar.c,
* progs/makeSCF.c,
* progs/scf_dump.c,
* progs/scf_info.c,
* progs/scf_update.c,
* progs/trace_dump.c,
* read/Read.c,
* read/Read.h,
* read/scf_extras.c,
* read/scf_extras.h,
* read/translate.c,
* read/translate.h,
* scf/misc_scf.c,
* scf/read_scf.c,
* scf/scf.h,
* scf/write_scf.c,
* utils/array.c,
* utils/array.h,
* utils/compress.c,
* utils/compress.h,
* utils/error.c,
* utils/error.h,
* utils/files.c,
* utils/find.c,
* utils/mach-io.c,
* utils/mach-io.h,
* utils/misc.h,
* utils/open_trace_file.c,
* utils/open_trace_file.h,
* utils/read_alloc.c,
* utils/strings.c,
* utils/tar_format.h,
* utils/traceType.c:
(11:24:37) branches: 1.1.1; Initial revision
* man/man3/ExperimentFile.3,
* man/man3/exp2read.3,
* man/man3/fread_reading.3,
* man/man3/fread_scf.3,
* man/man3/fwrite_reading.3,
* man/man3/fwrite_scf.3,
* man/man3/read2exp.3,
* man/man3/read2scf.3,
* man/man3/read_allocate.3,
* man/man3/read_deallocate.3,
* man/man3/read_reading.3,
* man/man3/read_scf.3,
* man/man3/read_scf_header.3,
* man/man3/scf2read.3,
* man/man3/write_reading.3,
* man/man3/write_scf.3,
* man/man3/write_scf_header.3,
* man/man4/Read.4,
* utils/traceType.h,
* utils/xalloc.c,
* utils/xalloc.h,
* ztr/FORMAT,
* ztr/compression.c,
* ztr/compression.h,
* ztr/ztr.c,
* ztr/ztr.h,
* ztr/ztr_translate.c:
(11:24:38) Import of Staden Package 2003.0b2
* man/man3/ExperimentFile.3,
* man/man3/exp2read.3,
* man/man3/fread_reading.3,
* man/man3/fread_scf.3,
* man/man3/fwrite_reading.3,
* man/man3/fwrite_scf.3,
* man/man3/read2exp.3,
* man/man3/read2scf.3,
* man/man3/read_allocate.3,
* man/man3/read_deallocate.3,
* man/man3/read_reading.3,
* man/man3/read_scf.3,
* man/man3/read_scf_header.3,
* man/man3/scf2read.3,
* man/man3/write_reading.3,
* man/man3/write_scf.3,
* man/man3/write_scf_header.3,
* man/man4/Read.4,
* utils/traceType.h,
* utils/xalloc.c,
* utils/xalloc.h,
* ztr/FORMAT,
* ztr/compression.c,
* ztr/compression.h,
* ztr/ztr.c,
* ztr/ztr.h,
* ztr/ztr_translate.c:
(11:24:38) branches: 1.1.1; Initial revision
* Makefile:
(11:59:11) Added include/.links target to main library instead of
progs, thus making the build work cleanly from a newly checked out
copy.
* Makefile:
(14:22:43) Fix .links code.
|