Repository 'lookup'
hg clone https://toolshed.g2.bx.psu.edu/repos/nanettec/lookup

Changeset 0:38b3c04b5a67 (2016-03-18)
Next changeset 1:d0a296afe83a (2016-03-18)
Commit message:
Uploaded
added:
lookup/._.DS_Store
lookup/._lookup.py
lookup/._lookup.xml
lookup/._readme.txt
lookup/lookup.py
lookup/lookup.xml
lookup/readme.txt
lookup/test-data/._.DS_Store
lookup/test-data/input/._.DS_Store
lookup/test-data/input/._chr_length.txt
lookup/test-data/input/._qtlcart.z.filepart.txt
lookup/test-data/input/chr_length.txt
lookup/test-data/input/markers_filled_in.txt
lookup/test-data/input/qtlcart.z.filepart.txt
lookup/test-data/output/._.DS_Store
lookup/test-data/output/._chr_summary.txt
lookup/test-data/output/._lookup.txt
lookup/test-data/output/chr_summary.txt
lookup/test-data/output/lookup.txt
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/._.DS_Store
b
Binary file lookup/._.DS_Store has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/._lookup.py
b
Binary file lookup/._lookup.py has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/._lookup.xml
b
Binary file lookup/._lookup.xml has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/._readme.txt
b
Binary file lookup/._readme.txt has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/lookup.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/lookup.py Fri Mar 18 05:12:00 2016 -0400
[
b'@@ -0,0 +1,280 @@\n+"""\n+@summary: The information from the Markers file and the QTL Cartographer Z file,\n+are combined to proportionally estimate a base pair position at each 2cM interval.\n+The Lookup file can then serve as a lookup table to convert between base pair positions centimorgan positions.\n+@author: nanette.coetzer@gmail.com\n+@version 5\n+\n+"""\n+import optparse, sys\n+import subprocess\n+import tempfile\n+import os, re\n+\n+def stop_err( msg ):\n+    sys.stderr.write( "%s\\n" % msg )\n+    sys.exit()\n+ \n+def __main__():\n+    #Parse Command Line\n+    parser = optparse.OptionParser()\n+    parser.add_option("-i", "--input1", default=None, dest="input1", \n+                      help="Markers file")\n+    parser.add_option("-j", "--input2", default=None, dest="input2", \n+                      help="QTL Cartographer Z file")\n+    parser.add_option("-k", "--input3", default=None, dest="input3", \n+                      help="Chromosome length file")\n+    parser.add_option("-o", "--output1", default=None, dest="output1", \n+                      help="Lookup file")\n+    parser.add_option("-p", "--output2", default=None, dest="output2", \n+                      help="Lookup summary file")\n+    \n+    (options, args) = parser.parse_args()\n+    \n+    try:\n+        open(options.input1, "r").close()\n+    except TypeError, e:\n+        stop_err("You need to supply the Markers file:\\n" + str(e))\n+    except IOError, e:\n+        stop_err("Can not open the Markers file:\\n" + str(e))\n+        \n+    try:\n+        open(options.input2, "r").close()\n+    except TypeError, e:\n+        stop_err("You need to supply the QTL Cartographer Z file:\\n" + str(e))\n+    except IOError, e:\n+        stop_err("Can not open the QTL Cartographer Z file:\\n" + str(e))\n+        \n+    try:\n+        open(options.input3, "r").close()\n+    except TypeError, e:\n+        stop_err("You need to supply the Chromosome length file:\\n" + str(e))\n+    except IOError, e:\n+        stop_err("Can not open the Chromosome length file:\\n" + str(e))\n+\n+\n+    ##############################################\n+\n+    in1 = open(options.input1,\'r\')  # Markers.txt\n+    prev_c = "0"\n+    count = 0\n+    marker_dict = {}    # For each unique chr + marker, store the cM + bp positions\n+    last_marker_dict = {}   # For the last marker on each chr, store the cM + bp positions [reason: these intervals are not included in the z.txt file, so add separately]\n+\n+    for line in in1:    # markers file\n+        count += 1\n+        if line.startswith("c"):\n+            # skip the header line\n+            if count != 1:\n+                # use info in each line to populate marker_dict\n+                i = line.strip().split("\\t")\n+                marker_dict[i[0]+"\\t"+i[1]] = i[3]+"\\t"+i[4]\n+                chr = i[0]\n+                if chr != prev_c and prev_c != "0":\n+                    # if the chr number changes, add previous marker info to last_marker_dict\n+                    last_marker_dict[prev_c+"\\t"+prev_m] = prev_cM+"\\t"+prev_bp\n+                prev_c = i[0]\n+                prev_m = i[1]\n+                prev_cM = i[3]\n+                prev_bp = i[4]\n+        else:\n+            # no header row\n+            # use info in each line to populate marker_dict\n+            i = line.strip().split("\\t")\n+            marker_dict[i[0]+"\\t"+i[1]] = i[3]+"\\t"+i[4]\n+            chr = i[0]\n+            if chr != prev_c and prev_c != "0":\n+                # if the chr number changes, add previous marker info to last_marker_dict\n+                last_marker_dict[prev_c+"\\t"+prev_m] = prev_cM+"\\t"+prev_bp\n+            prev_c = i[0]\n+            prev_m = i[1]\n+            prev_cM = i[3]\n+            prev_bp = i[4]\n+    \n+    # add the last marker (on last chr) info to last_marker_dict\n+    last_marker_dict[prev_c+"\\t"+prev_m] = prev_cM+"\\t"+prev_bp\n+    in1.close()\n+    \n+    ##############################################\n+    \n+    in1 = open(options.input1,\'r\') \n+    s2_l2 = {}  # For each unique chr + marker, store '..b' s1 = float(s1_l1[c+"\\t"+m].split("\\t")[0])\n+                l1 = float(s1_l1[c+"\\t"+m].split("\\t")[1])\n+                s2 = float(s2_l2[c+"\\t"+m].split("\\t")[0])\n+                l2 = float(s2_l2[c+"\\t"+m].split("\\t")[1])\n+                v1 = float(p)*100-0.01\n+                x2 = int(round((((v1-s1)*(l2-s2)/(l1-s1))+s2),0))\n+                check1 = "done"\n+                id += 1\n+                temp_outfile.write(str(id)+"\\t"+str(c)+"\\t"+str(m)+"\\t"+str(p)+"\\t"+str(float(p)*100-0.01)+"\\t"+str(x2)+"\\n")\n+                # store previous chr and marker\n+                prev_m = m\n+                prev_c = c\n+            # do not go on to the other blocks in the z.txt file\n+            if ans == 0 and check1 == "done":\n+                check2 = "stop"\n+    # add the last marker of the last chromosome\n+    id += 1\n+    add_m = int(prev_m)+1\n+    add_cM = last_marker_dict[prev_c+"\\t"+str(add_m)].split("\\t")[0]\n+    add_bp = last_marker_dict[prev_c+"\\t"+str(add_m)].split("\\t")[1]\n+    add_p = (float(add_cM) + 0.01)/100\n+    temp_outfile.write(str(id)+"\\t"+str(prev_c)+"\\t"+str(add_m)+"\\t"+str(add_p)+"\\t"+str(add_cM)+"\\t"+str(add_bp)+"\\n")\n+    \n+    in2.close() \n+    temp_outfile.close()\n+      \n+    ##############################################\n+    \n+    # Aim1: add cM_length column\n+    # Aim2: create lookup summary file\n+    temp_infile = open(lookup_temp,\'r\')\n+    in3 = open(options.input3,\'r\')  # chr_length.txt\n+    out1 = open(options.output1,\'w\')    # lookup.txt\n+    out2 = open(options.output2,\'w\')    # lookup_summary.txt    \n+    \n+    out2.write("chr\\tmarkers\\tcM\\tbp\\tinterval positions\\tbins\\n")\n+    chr_dict = {}\n+    for line in in3:\n+        l = line.strip().split("\\t")\n+        if l[0].startswith("chr"):\n+            chr = l[0][3:]\n+        else:\n+            chr = l[0]\n+        chr_dict[chr] = l[1]\n+    \n+    tot_num_int_pos = 0\n+    count = 0\n+    # calc totals for summary file\n+    tot_markers = 0\n+    tot_bp = 0\n+    tot_cM = 0\n+    tot_int_pos = 0\n+    tot_bins = 0\n+    for line in temp_infile:\n+        l = line.strip().split("\\t")\n+        if count == 0:\n+            out1.write(line.strip()+"\\n")\n+        if count > 1:\n+            if l[4] != "0.0":\n+                length_cm = float(l[4])-float(prev_cm)\n+                out1.write(prev_line+"\\t"+str(length_cm)+"\\n")\n+            else:\n+                # always the end of a chromosome\n+                out1.write(prev_line+"\\t0\\n")\n+                # summary file\n+                pl = prev_line.split("\\t")\n+                num_int_pos = int(pl[0]) - tot_num_int_pos\n+                tot_num_int_pos += num_int_pos\n+                out2.write(str(pl[1])+"\\t"+str(pl[2])+"\\t"+str(pl[4])+"\\t"+chr_dict[pl[1]]+"\\t"+str(num_int_pos)+"\\t"+str(num_int_pos-1)+"\\n")\n+                # calc totals for summary file\n+                tot_markers += int(pl[2])\n+                tot_bp += int(chr_dict[pl[1]])\n+                tot_cM += float(pl[4])\n+                tot_int_pos += num_int_pos\n+                tot_bins += (num_int_pos-1)       \n+        prev_line = line.strip()\n+        prev_cm = l[4]    \n+        count += 1\n+    # the end of the last chromosome\n+    out1.write(prev_line+"\\t0\\n")\n+    # summary file\n+    pl = prev_line.split("\\t")\n+    num_int_pos = int(pl[0]) - tot_num_int_pos\n+    tot_num_int_pos += num_int_pos\n+    out2.write(str(pl[1])+"\\t"+str(pl[2])+"\\t"+str(pl[4])+"\\t"+chr_dict[pl[1]]+"\\t"+str(num_int_pos)+"\\t"+str(num_int_pos-1)+"\\n")\n+    # calc totals for summary file\n+    tot_markers += int(pl[2])\n+    tot_bp += int(chr_dict[pl[1]])\n+    tot_cM += float(pl[4])\n+    tot_int_pos += num_int_pos\n+    tot_bins += (num_int_pos-1)\n+    out2.write("Total\\t"+str(tot_markers)+"\\t"+str(tot_cM)+"\\t"+str(tot_bp)+"\\t"+str(tot_int_pos)+"\\t"+str(tot_bins)+"\\n")\n+    \n+    temp_infile.close()\n+    in3.close()\n+    out1.close()\n+    out2.close()\n+            \n+    ##############################################\n+    \n+if __name__=="__main__": \n+    __main__()\n+\n+\n+\n'
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/lookup.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/lookup.xml Fri Mar 18 05:12:00 2016 -0400
b
@@ -0,0 +1,98 @@
+<tool id="lookup5" name="Lookup table" version="5.0.0">
+ <description> for 2cM intervals</description>
+ <command interpreter="python">
+            lookup.py --input1 $input1 --input2 $input2 --input3 $input3 --output1 $output1 --output2 $output2
+ </command>
+        <inputs>
+            <param label="Markers file" name="input1" type="data" format="tabular" help="Tabular file giving marker positions in cM and bp"></param>
+            <param label="QTL Cartographer Z file" name="input2" type="data" format="tabular" help="QTL Cartographer output file (.z)"></param>
+     <param label="Chromosome length file" name="input3" type="data" format="tabular" help="A tabular file giving the length of each chromosome in bp"></param>
+        </inputs>
+ <outputs>
+                <data format="tabular" name="output1" />
+ <data format="tabular" name="output2" />
+ </outputs>
+ <requirements>
+ </requirements>
+ <tests>
+          <test>
+          </test>
+ </tests>
+ <help>
+
+**What it does**
+
+The information from the Markers file and the QTL Cartographer Z file, are combined to proportionally estimate a base pair position at each “QTL Cartographer bin” (e.g. 2 cM intervals).
+
+The Lookup file can then serve as a lookup table to convert between base pair and centimorgan positions.
+
+-------
+
+**Example input files**
+
+Markers file, each row correspond to a marker (5 columns; only a part of the file is shown)::
+
+ chr marker name cM bp
+ 1 1 marker1 0 2038278
+ 1 2 marker2 7.53 3649871
+ 1 3 marker3 18.77 6155281
+ 1 4 marker4 38.71 12398322
+ 1 5 marker5 44.62 14171692
+ 1 6 marker6 48.73 16529505
+
+QTL Cartographer Z file, each row correspond to a 2cM interval (the example shows part of the important part of the Z file, the first 3 data columns of the first block). Note: Headers is fine and will be ignored::
+
+ 1 1 0.0001 …
+ 1 1 0.0201 …
+ 1 1 0.0401 …
+ 1 1 0.0601 …
+ 1 2 0.0754 …
+ 1 2 0.0954 …
+ 1 2 0.1154 …
+ 1 2 0.1354 …
+ 1 2 0.1554 …
+ 1 2 0.1754 …
+ 1 3 0.1878 …
+ 1 3 0.2078 …
+ 1 3 0.2278 …
+ 1 3 0.2478 … 
+
+Chromosome length file, each row correspond to a chromosome (2 columns; only a part of the file is shown)::
+
+ chr1 301354135
+ chr2 237068873
+ chr3 232140174
+ chr4 241473504
+ chr5 217872852
+ chr6 169174353
+
+-------
+
+**Example output files**
+
+
+Lookup output file, each row correspond to a 2 cM interval (7 columns; only a part of the file is shown)::
+
+ int.id chr marker int cM bp length_cM
+ 1 1 1 0.0001 0.0 2038278 2.0
+ 2 1 1 0.0201 2.0 2466324 2.0
+ 3 1 1 0.0401 4.0 2894370 2.0
+ 4 1 1 0.0601 6.0 3322416 1.53
+ 5 1 2 0.0754 7.53 3649871 2.0
+ 6 1 2 0.0954 9.53 4095673 2.0
+ 7 1 2 0.1154 11.53 4541476 2.0
+ 8 1 2 0.1354 13.53 4987278 2.0
+
+Chromosome summary file, each row correspond to a chromosome (6 columns; only a part of the file is shown). The last row gives the total across the genome::
+
+ chr markers cM bp int_positions bins
+ 1 27 324.4 301354135 177 176
+ 2 14 169.11 237068873 92 91
+ 3 19 221.29 232140174 123 122
+ 4 20 188.37 241473504 105 104
+ 5 20 203.82 217872852 110 109
+ 6 17 195.85 169174353 106 105
+ Total  117 1302.84 1399083891 713 707
+
+        </help>
+</tool>
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/readme.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/readme.txt Fri Mar 18 05:12:00 2016 -0400
b
@@ -0,0 +1,23 @@
+======================================================================
+lookup
+======================================================================
+### This is the first tool in the eQTL backend pipeline: 
+lookup, classification, frequency, sliding window frequency, hotspots, GO enrichment
+
+Link to the workflow (for import into Galaxy): http://chewbacca.bi.up.ac.za:8080/u/nanette/w/back-end-workflow-2
+
+The information from the Markers file and the QTL Cartographer Z file, are combined to proportionally estimate a base pair position at each “QTL Cartographer bin” (e.g. 2 cM intervals).
+
+The Lookup file can then serve as a lookup table to convert between base pair and centimorgan positions.
+
+
+---------------
+Installation
+---------------
+
+The eQTL backend pipeline is available for: 
+* command line usage
+* integration into Galaxy servers
+
+
+Requirements: Python 2.7
\ No newline at end of file
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/._.DS_Store
b
Binary file lookup/test-data/._.DS_Store has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/._.DS_Store
b
Binary file lookup/test-data/input/._.DS_Store has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/._chr_length.txt
b
Binary file lookup/test-data/input/._chr_length.txt has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/._qtlcart.z.filepart.txt
b
Binary file lookup/test-data/input/._qtlcart.z.filepart.txt has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/chr_length.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/test-data/input/chr_length.txt Fri Mar 18 05:12:00 2016 -0400
b
@@ -0,0 +1,10 @@
+chr1 301354135
+chr2 237068873
+chr3 232140174
+chr4 241473504
+chr5 217872852
+chr6 169174353
+chr7 176764762
+chr8 175793759
+chr9 156750706
+chr10 150189435
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/markers_filled_in.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/test-data/input/markers_filled_in.txt Fri Mar 18 05:12:00 2016 -0400
b
@@ -0,0 +1,168 @@
+c m name position bp
+1 1 phi056 0 2038278
+1 2 bnl5.62 7.53 3649871
+1 3 umc1041 18.77 6155281
+1 4 umc157a 38.71 12398322
+1 5 bnlg1178 44.62 14171692
+1 6 bnlg1429 48.73 16529505
+1 7 bnlg1627 53.21 19099579
+1 8 umc11a 69.97 34953249
+1 9 bnlg439 81.87 43691550
+1 10 bnlg2238 96.1 55080425
+1 11 Bnlg1811_U 112.7 70769880
+1 12 bnlg2086 126.83 83645415
+1 13 csu61b 142.69 182103378
+1 14 bnlg1057 148.97 187786747
+1 15 umc1122 164.28 201642220
+1 16 Bnlg615_U 179.12 214414467
+1 17 umc1128 187.24 224258054
+1 18 umc166b 193.42 232921226
+1 19 dupssr12 202.13 239614066
+1 20 phi011 236.08 258364379
+1 21 bnlg1720 255.86 265677051
+1 22 umc106a 264.8 274711300
+1 23 umc147b 275.03 279156575
+1 24 umc1111_P 297.09 288742379
+1 25 bnlg2331 300.19 289782293
+1 26 bnlg2123 315.03 293638366
+1 27 bnl6.32 324.4 297960786
+2 1 phi402893 0 0
+2 2 bnlg1297 13.27 4886669
+2 3 bnlg2042 39.27 9448411
+2 4 umc44b 64.9 16770080
+2 5 csu40 82.04 29945330
+2 6 umc135 90.6 41225839
+2 7 csu54a 101.03 202292680
+2 8 umc55a 111.74 204665019
+2 9 umc14b 117.09 205850080
+2 10 csu154a 132.62 209290082
+2 11 umc150b 141.48 216243952
+2 12 umc1551 150.04 222962363
+2 13 umc36a 166.24 232719775
+2 14 csu109a 169.11 232597010
+3 1 umc32a 0 1728599
+3 2 phi104127 11.75 3478905
+3 3 bnlg1325 25.59 5584239
+3 4 bnlg1447 42.13 10480185
+3 5 umc92a 51.24 18998903
+3 6 bnlg1019a 61.28 26311926
+3 7 phi053 72.02 126236672
+3 8 bnlg420 78.14 131839576
+3 9 umc1307 80.5 134000173
+3 10 Phi073_U 103.41 154974444
+3 11 Bnlg1449_U 129.78 170385368
+3 12 bnl10.24a 136.79 172445457
+3 13 umc7b 155.09 188628682
+3 14 umc3b 161.21 194040777
+3 15 umc16a 177.56 205295752
+3 16 bnlg1108_P 188.53 210942501
+3 17 umc63a 199.15 215787299
+3 18 bnlg1182 213.6 218323475
+3 19 bnlg1754 221.29 221572836
+4 1 umc1017 0 3000150
+4 2 umc1294 19 9800436
+4 3 phi021 29.59 13398617
+4 4 umc1550 35.93 14854630
+4 5 umc1652 53.08 26377276
+4 6 bnlg490 56.16 31306569
+4 7 csu100 70.25 138632126
+4 8 umc156a 74.88 151082461
+4 9 bnlg2291 92.21 169546722
+4 10 umc19 98.38 173459774
+4 11 mmc0341 111.28 180441002
+4 12 umc133a 120.25 185840441
+4 13 umc15a 127.9 190445314
+4 14 csu11b 137.66 213203122
+4 15 npi593a 147.32 235727756
+4 16 bnlg589 151.57 236733272
+4 17 umc1720_P 168.62 237711073
+4 18 bnlg1337 174.2 239340357
+4 19 phi019 183.39 240106933
+4 20 phi006 188.37 240113625
+5 1 bnl8.33 0 2146924
+5 2 npi409 3.2 3323363
+5 3 umc147a 26.02 6833880
+5 4 umc90 33.58 7996873
+5 5 umc107b 40.23 10931346
+5 6 Bnlg105_U 49.92 13812558
+5 7 bnlg1046 61.78 18701376
+5 8 umc166a 77.21 29622131
+5 9 bnl6.22 86.7 58602104
+5 10 csu36b 94.42 81155806
+5 11 DupSSR10_U 99.7 142483423
+5 12 bnl5.71a 111.11 171279125
+5 13 umc1155_P 125 180186737
+5 14 npi237 133.32 186693818
+5 15 umc54 141.11 192786386
+5 16 bnlg1346 164.31 206798092
+5 17 bnlg118 178.93 211725482
+5 18 umc1225 190.83 213266752
+5 19 umc104b 197.54 214709273
+5 20 bnlg1885 203.82 215925616
+6 1 umc85a 0 8273758
+6 2 bnlg426 5.62 26720000
+6 3 umc36c 14.54 52764451
+6 4 umc1572_P 29.03 95072085
+6 5 Bnlg2191_U 35.86 93209180
+6 6 bnlg2151 41.59 91540201
+6 7 umc1887 60.99 102720868
+6 8 umc65a 65.27 104450640
+6 9 umc1014 71.72 108318724
+6 10 bnlg1922 88.87 120739290
+6 11 umc1413_P 115.82 132889642
+6 12 mmc0241 125.56 145315870
+6 13 umc1424_P 139.38 156535165
+6 14 umc36 159.76 160413911
+6 15 umc39 162.3 160897327
+6 16 bnlg1740 182.22 164688526
+6 17 umc2059 195.85 167982181
+7 1 csu13 0 31559916
+7 2 bnlg1094 9.03 37849898
+7 3 umc1393 20.6 120353640
+7 4 bnlg1808 30.83 124221648
+7 5 bnl15.21 41.06 133433921
+7 6 bnlg339 45.2 137162055
+7 7 bnlg155 55.44 146549156
+7 8 bnlg1805 63.19 153653651
+7 9 bnl14.07 76.33 161953186
+7 10 umc1125 87.63 168401834
+7 11 phi082 106.31 173555272
+7 12 umc1799 111.16 174794439
+8 1 npi114a 0 1343362
+8 2 umc1327 10.74 5029298
+8 3 npi110a 25.44 10073134
+8 4 umc103a 38.73 16837007
+8 5 bnlg669 50.14 22644064
+8 6 umc1858 67.47 112531956
+8 7 umc1562_P 83.31 125903217
+8 8 umc48a 96.08 152590459
+8 9 asg52a 99.31 161067852
+8 10 umc150a 102.89 162695789
+8 11 umc1384 118.2 169657722
+8 12 umc7 127.86 171320074
+8 13 bnlg1056 130.99 171858704
+8 14 umc39b 141.31 175793759
+9 1 bnlg1272 0 0
+9 2 umc113a 17.94 8587716
+9 3 umc1170_P 27.5 13164001
+9 4 umc105a 45.94 17907945
+9 5 umc81 65.05 49143473
+9 6 bnl8.17 92.13 127209814
+9 7 umc1231 97.81 133216162
+9 8 umc1733 120.51 145339770
+9 9 bnlg1588 124.78 147653489
+9 10 bnlg1375 140.38 150981541
+9 11 umc1137 158.78 153303149
+10 1 phi118 0 2646499
+10 2 npi285a 15.02 5005541
+10 3 umc1337_P 32.57 8605609
+10 4 umc130 46.05 13554868
+10 5 bnlg1079 52.99 77294622
+10 6 umc1115 75.17 126586743
+10 7 npi232a 81.55 130961755
+10 8 umc44a 90.62 137286534
+10 9 umc182 98.67 138463335
+10 10 bnlg236 104.6 140002858
+10 11 bnl7.49a 117.63 143385654
+10 12 bnlg1450 130.53 146292510
+10 13 umc1038 147.48 149743465
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/input/qtlcart.z.filepart.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/test-data/input/qtlcart.z.filepart.txt Fri Mar 18 05:12:00 2016 -0400
[
b'@@ -0,0 +1,6395 @@\n+#     1286098096   -filetype Zmapqtl.out \n+#\n+#\tQTL Cartographer v. 1.17j, 28 January 2005\n+#\tThis output file (qtlcart.z) was created by Zmapqtl...\n+#\n+#\tIt is 11:28:16 on Sunday, 03 October 2010\n+#\n+#\n+#The position is from the left telomere on the chromosome\n+-window      10.00      Window size for models 5 and 6\n+-background      5      Background parameters in model 6\n+-Model           6      Model number\n+-trait           1      Analyzed trait [P_R_07_GLS]\n+-cross         Ri1      Cross\n+#\n+#  Note that our Likelihood ratio test statistic compares two nested hypotheses\n+#  and is two times the negative natural log of the ratio of the likelihoods.  For example,\n+#  assume that  hypothesis H0 is nested within H1 and that they have likelihoods L0 and L1 respectively.\n+#  Then, the "Likelihood Ratio Test Statistic" is -2ln(L0/L1). \n+#\n+#  Test Site   * Like. Ratio Test Statistics   *     Additive       *     Dominance        * Misc. HT\n+ c  m position     H0:H1          R2(0:1)        TR2(0:1)        H1:a            S1            ....           ....          ....           ....           ....           ....          ....             .....           ....          .....         .....           ....          .....\n+-s\n+ 1  1  0.0001      0.7233321      0.0040282      0.3147929      0.0601882      1.6314381      0.0000000      0.0000000      0.0000000      0.0000000      0.5577471      0.0000000      0.0000000      0.5577471      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  1  0.0201      1.1327049      0.0073165      0.3180812      0.0804974      1.3500086      0.0000000      0.0000000      0.0000000      0.0000000      0.5550705      0.0000000      0.0000000      0.5550705      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  1  0.0401      1.5139369      0.0097797      0.3205444      0.0926732      1.0757188      0.0000000      0.0000000      0.0000000      0.0000000      0.5530655      0.0000000      0.0000000      0.5530655      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  1  0.0601      1.7691612      0.0102683      0.3210330      0.0948925      0.8942868      0.0000000      0.0000000      0.0000000      0.0000000      0.5526678      0.0000000      0.0000000      0.5526678      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.0754      1.8688871      0.0095348      0.3202995      0.0916252      0.8033057      0.0000000      0.0000000      0.0000000      0.0000000      0.5532649      0.0000000      0.0000000      0.5532649      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.0954      1.9727642      0.0114691      0.3222338      0.0999176      0.8352817      0.0000000      0.0000000      0.0000000      0.0000000      0.5516904      0.0000000      0.0000000      0.5516904      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.1154      2.0089015      0.0126575      0.3234223      0.1045969      0.8730175      0.0000000      0.0000000      0.0000000      0.0000000      0.5507230      0.0000000      0.0000000      0.5507230      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.1354      1.9560809      0.0126176      0.3233824      0.1042794      0.9053248      0.0000000      0.0000000      0.0000000      0.0000000      0.5507555      0.0000000      0.0000000      0.5507555      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.1554      1.8156977      0.0112879      0.3220527      0.0986898      0.9279529      0.0000000      0.0000000      0.0000000      0.0000000      0.5518378      0.0000000      0.0000000      0.5518378      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 1  2  0.1754      1.6136905      0.0091072      0.3198720      0.0888867      0.9472451      0.0000000      0.0000000      0.0000000      0.0000000      0.5536129    '..b'      0.4077579      0.0000000      0.0000000      0.4077579      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.5128      0.8681007      0.0083793      0.3781382      0.0744203      0.5359337      0.0000000      0.0000000      0.0000000      0.0000000      0.4081249      0.0000000      0.0000000      0.4081249      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.5328      0.7441624      0.0071538      0.3769127      0.0686817      0.5369829      0.0000000      0.0000000      0.0000000      0.0000000      0.4089292      0.0000000      0.0000000      0.4089292      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.5528      0.6101156      0.0055609      0.3753198      0.0605112      0.5459142      0.0000000      0.0000000      0.0000000      0.0000000      0.4099746      0.0000000      0.0000000      0.4099746      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.5728      0.4814455      0.0039797      0.3737385      0.0511777      0.5608467      0.0000000      0.0000000      0.0000000      0.0000000      0.4110124      0.0000000      0.0000000      0.4110124      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.5928      0.3692398      0.0026733      0.3724321      0.0419546      0.5790913      0.0000000      0.0000000      0.0000000      0.0000000      0.4118698      0.0000000      0.0000000      0.4118698      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.6128      0.2780789      0.0017212      0.3714800      0.0336883      0.5981916      0.0000000      0.0000000      0.0000000      0.0000000      0.4124946      0.0000000      0.0000000      0.4124946      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  3  0.6328      0.2074711      0.0010815      0.3708403      0.0267361      0.6164375      0.0000000      0.0000000      0.0000000      0.0000000      0.4129145      0.0000000      0.0000000      0.4129145      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.6491      0.1632715      0.0007362      0.3704950      0.0220892      0.6299663      0.0000000      0.0000000      0.0000000      0.0000000      0.4131411      0.0000000      0.0000000      0.4131411      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.6691      0.1574630      0.0008394      0.3705982      0.0235837      0.6339413      0.0000000      0.0000000      0.0000000      0.0000000      0.4130733      0.0000000      0.0000000      0.4130733      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.6891      0.1464623      0.0008966      0.3706555      0.0243823      0.6407389      0.0000000      0.0000000      0.0000000      0.0000000      0.4130358      0.0000000      0.0000000      0.4130358      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.7091      0.1294678      0.0008729      0.3706318      0.0240768      0.6507566      0.0000000      0.0000000      0.0000000      0.0000000      0.4130513      0.0000000      0.0000000      0.4130513      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.7291      0.1072471      0.0007554      0.3705142      0.0224260      0.6636726      0.0000000      0.0000000      0.0000000      0.0000000      0.4131285      0.0000000      0.0000000      0.4131285      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.7491      0.0824539      0.0005720      0.3703308      0.0195502      0.6782752      0.0000000      0.0000000      0.0000000      0.0000000      0.4132488      0.0000000      0.0000000      0.4132488      0.0000000      0.0000000      0.0000000      0.0000000      0.0000000 \n+ 2  4  0.7691      0.0586561      0.0003786      0.3701374      0.0159438      0.6927732      0.0000000      0.0000000      0.0000000      0.0\n'
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/output/._.DS_Store
b
Binary file lookup/test-data/output/._.DS_Store has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/output/._chr_summary.txt
b
Binary file lookup/test-data/output/._chr_summary.txt has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/output/._lookup.txt
b
Binary file lookup/test-data/output/._lookup.txt has changed
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/output/chr_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/test-data/output/chr_summary.txt Fri Mar 18 05:12:00 2016 -0400
b
@@ -0,0 +1,12 @@
+chr markers cM bp interval positions bins
+1 27 324.4 301354135 177 176
+2 14 169.11 237068873 92 91
+3 19 221.29 232140174 123 122
+4 20 188.37 241473504 105 104
+5 20 203.82 217872852 110 109
+6 17 195.85 169174353 106 105
+7 12 111.16 176764762 63 62
+8 14 141.31 175793759 77 76
+9 11 158.78 156750706 85 84
+10 13 147.48 150189435 81 80
+Total 167 1861.57 2058582553 1019 1009
b
diff -r 000000000000 -r 38b3c04b5a67 lookup/test-data/output/lookup.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lookup/test-data/output/lookup.txt Fri Mar 18 05:12:00 2016 -0400
b
b'@@ -0,0 +1,1020 @@\n+id\tchr\tmarker\tinterval\tcM\tbp\tlength_cM\n+1\t1\t1\t0.0001\t0.0\t2038278\t2.0\n+2\t1\t1\t0.0201\t2.0\t2466324\t2.0\n+3\t1\t1\t0.0401\t4.0\t2894370\t2.0\n+4\t1\t1\t0.0601\t6.0\t3322416\t1.53\n+5\t1\t2\t0.0754\t7.53\t3649871\t2.0\n+6\t1\t2\t0.0954\t9.53\t4095673\t2.0\n+7\t1\t2\t0.1154\t11.53\t4541476\t2.0\n+8\t1\t2\t0.1354\t13.53\t4987278\t2.0\n+9\t1\t2\t0.1554\t15.53\t5433081\t2.0\n+10\t1\t2\t0.1754\t17.53\t5878883\t1.24\n+11\t1\t3\t0.1878\t18.77\t6155281\t2.0\n+12\t1\t3\t0.2078\t20.77\t6781464\t2.0\n+13\t1\t3\t0.2278\t22.77\t7407646\t2.0\n+14\t1\t3\t0.2478\t24.77\t8033829\t2.0\n+15\t1\t3\t0.2678\t26.77\t8660012\t2.0\n+16\t1\t3\t0.2878\t28.77\t9286194\t2.0\n+17\t1\t3\t0.3078\t30.77\t9912377\t2.0\n+18\t1\t3\t0.3278\t32.77\t10538560\t2.0\n+19\t1\t3\t0.3478\t34.77\t11164742\t2.0\n+20\t1\t3\t0.3678\t36.77\t11790925\t1.94\n+21\t1\t4\t0.3872\t38.71\t12398322\t2.0\n+22\t1\t4\t0.4072\t40.71\t12998447\t2.0\n+23\t1\t4\t0.4272\t42.71\t13598572\t1.91\n+24\t1\t5\t0.4463\t44.62\t14171692\t2.0\n+25\t1\t5\t0.4663\t46.62\t15319046\t2.0\n+26\t1\t5\t0.4863\t48.62\t16466401\t0.11\n+27\t1\t6\t0.4874\t48.73\t16529505\t2.0\n+28\t1\t6\t0.5074\t50.73\t17676859\t2.0\n+29\t1\t6\t0.5274\t52.73\t18824214\t0.48\n+30\t1\t7\t0.5322\t53.21\t19099579\t2.0\n+31\t1\t7\t0.5522\t55.21\t20991425\t2.0\n+32\t1\t7\t0.5722\t57.21\t22883271\t2.0\n+33\t1\t7\t0.5922\t59.21\t24775117\t2.0\n+34\t1\t7\t0.6122\t61.21\t26666963\t2.0\n+35\t1\t7\t0.6322\t63.21\t28558809\t2.0\n+36\t1\t7\t0.6522\t65.21\t30450655\t2.0\n+37\t1\t7\t0.6722\t67.21\t32342501\t2.0\n+38\t1\t7\t0.6922\t69.21\t34234347\t0.76\n+39\t1\t8\t0.6998\t69.97\t34953249\t2.0\n+40\t1\t8\t0.7198\t71.97\t36421871\t2.0\n+41\t1\t8\t0.7398\t73.97\t37890493\t2.0\n+42\t1\t8\t0.7598\t75.97\t39359115\t2.0\n+43\t1\t8\t0.7798\t77.97\t40827737\t2.0\n+44\t1\t8\t0.7998\t79.97\t42296359\t1.9\n+45\t1\t9\t0.8188\t81.87\t43691550\t2.0\n+46\t1\t9\t0.8388\t83.87\t45292235\t2.0\n+47\t1\t9\t0.8588\t85.87\t46892920\t2.0\n+48\t1\t9\t0.8788\t87.87\t48493606\t2.0\n+49\t1\t9\t0.8988\t89.87\t50094291\t2.0\n+50\t1\t9\t0.9188\t91.87\t51694976\t2.0\n+51\t1\t9\t0.9388\t93.87\t53295661\t2.0\n+52\t1\t9\t0.9588\t95.87\t54896346\t0.23\n+53\t1\t10\t0.9611\t96.1\t55080425\t2.0\n+54\t1\t10\t0.9811\t98.1\t56970721\t2.0\n+55\t1\t10\t1.0011\t100.1\t58861017\t2.0\n+56\t1\t10\t1.0211\t102.1\t60751312\t2.0\n+57\t1\t10\t1.0411\t104.1\t62641608\t2.0\n+58\t1\t10\t1.0611\t106.1\t64531904\t2.0\n+59\t1\t10\t1.0811\t108.1\t66422200\t2.0\n+60\t1\t10\t1.1011\t110.1\t68312495\t2.0\n+61\t1\t10\t1.1211\t112.1\t70202791\t0.6\n+62\t1\t11\t1.1271\t112.7\t70769880\t2.0\n+63\t1\t11\t1.1471\t114.7\t72592319\t2.0\n+64\t1\t11\t1.1671\t116.7\t74414759\t2.0\n+65\t1\t11\t1.1871\t118.7\t76237198\t2.0\n+66\t1\t11\t1.2071\t120.7\t78059638\t2.0\n+67\t1\t11\t1.2271\t122.7\t79882077\t2.0\n+68\t1\t11\t1.2471\t124.7\t81704517\t2.0\n+69\t1\t11\t1.2671\t126.7\t83526956\t0.13\n+70\t1\t12\t1.2684\t126.83\t83645415\t2.0\n+71\t1\t12\t1.2884\t128.83\t96061299\t2.0\n+72\t1\t12\t1.3084\t130.83\t108477184\t2.0\n+73\t1\t12\t1.3284\t132.83\t120893068\t2.0\n+74\t1\t12\t1.3484\t134.83\t133308952\t2.0\n+75\t1\t12\t1.3684\t136.83\t145724837\t2.0\n+76\t1\t12\t1.3884\t138.83\t158140721\t2.0\n+77\t1\t12\t1.4084\t140.83\t170556606\t1.86\n+78\t1\t13\t1.4270\t142.69\t182103378\t2.0\n+79\t1\t13\t1.4470\t144.69\t183913368\t2.0\n+80\t1\t13\t1.4670\t146.69\t185723358\t2.0\n+81\t1\t13\t1.4870\t148.69\t187533348\t0.28\n+82\t1\t14\t1.4898\t148.97\t187786747\t2.0\n+83\t1\t14\t1.5098\t150.97\t189596737\t2.0\n+84\t1\t14\t1.5298\t152.97\t191406727\t2.0\n+85\t1\t14\t1.5498\t154.97\t193216717\t2.0\n+86\t1\t14\t1.5698\t156.97\t195026707\t2.0\n+87\t1\t14\t1.5898\t158.97\t196836697\t2.0\n+88\t1\t14\t1.6098\t160.97\t198646687\t2.0\n+89\t1\t14\t1.6298\t162.97\t200456677\t1.31\n+90\t1\t15\t1.6429\t164.28\t201642220\t2.0\n+91\t1\t15\t1.6629\t166.28\t203363547\t2.0\n+92\t1\t15\t1.6829\t168.28\t205084874\t2.0\n+93\t1\t15\t1.7029\t170.28\t206806201\t2.0\n+94\t1\t15\t1.7229\t172.28\t208527528\t2.0\n+95\t1\t15\t1.7429\t174.28\t210248855\t2.0\n+96\t1\t15\t1.7629\t176.28\t211970183\t2.0\n+97\t1\t15\t1.7829\t178.28\t213691510\t0.84\n+98\t1\t16\t1.7913\t179.12\t214414467\t2.0\n+99\t1\t16\t1.8113\t181.12\t216838996\t2.0\n+100\t1\t16\t1.8313\t183.12\t219263525\t2.0\n+101\t1\t16\t1.8513\t185.12\t221688053\t2.0\n+102\t1\t16\t1.8713\t187.12\t224112582\t0.12\n+103\t1\t17\t1.8725\t187.24\t224258054\t2.0\n+104\t1\t17\t1.8925\t189.24\t227061670\t2.0\n+105\t1\t17\t1.9125\t191.24\t229865285\t2.0\n+106\t1\t17\t1.9325\t193.24\t232668901\t0.18\n+107\t1\t18\t1.9343\t193.42\t232921226\t2.0\n+108\t1\t18\t1.9543\t195.42\t234458043\t2.0\n+109\t1\t18\t1.9743\t197.42\t235994861\t2.0\n+110\t1\t18\t1.9943\t199.42\t237531678\t2.0\n+111\t1\t18\t2.0143\t201.42\t239068496\t0.71\n+112\t1\t19\t2.0214\t202.13\t239614066\t2'..b'82\t111.81\t140693277\t2.0\n+913\t9\t7\t1.1382\t113.81\t141761436\t2.0\n+914\t9\t7\t1.1582\t115.81\t142829596\t2.0\n+915\t9\t7\t1.1782\t117.81\t143897755\t2.0\n+916\t9\t7\t1.1982\t119.81\t144965914\t0.7\n+917\t9\t8\t1.2052\t120.51\t145339770\t2.0\n+918\t9\t8\t1.2252\t122.51\t146423479\t2.0\n+919\t9\t8\t1.2452\t124.51\t147507188\t0.27\n+920\t9\t9\t1.2479\t124.78\t147653489\t2.0\n+921\t9\t9\t1.2679\t126.78\t148080162\t2.0\n+922\t9\t9\t1.2879\t128.78\t148506836\t2.0\n+923\t9\t9\t1.3079\t130.78\t148933509\t2.0\n+924\t9\t9\t1.3279\t132.78\t149360182\t2.0\n+925\t9\t9\t1.3479\t134.78\t149786856\t2.0\n+926\t9\t9\t1.3679\t136.78\t150213529\t2.0\n+927\t9\t9\t1.3879\t138.78\t150640202\t1.6\n+928\t9\t10\t1.4039\t140.38\t150981541\t2.0\n+929\t9\t10\t1.4239\t142.38\t151233890\t2.0\n+930\t9\t10\t1.4439\t144.38\t151486238\t2.0\n+931\t9\t10\t1.4639\t146.38\t151738587\t2.0\n+932\t9\t10\t1.4839\t148.38\t151990936\t2.0\n+933\t9\t10\t1.5039\t150.38\t152243284\t2.0\n+934\t9\t10\t1.5239\t152.38\t152495633\t2.0\n+935\t9\t10\t1.5439\t154.38\t152747982\t2.0\n+936\t9\t10\t1.5639\t156.38\t153000331\t2.0\n+937\t9\t10\t1.5839\t158.38\t153252679\t0.4\n+938\t9\t11\t1.5879\t158.78\t153303149\t0\n+939\t10\t1\t0.0001\t0.0\t2646499\t2.0\n+940\t10\t1\t0.0201\t2.0\t2960619\t2.0\n+941\t10\t1\t0.0401\t4.0\t3274739\t2.0\n+942\t10\t1\t0.0601\t6.0\t3588859\t2.0\n+943\t10\t1\t0.0801\t8.0\t3902979\t2.0\n+944\t10\t1\t0.1001\t10.0\t4217100\t2.0\n+945\t10\t1\t0.1201\t12.0\t4531220\t2.0\n+946\t10\t1\t0.1401\t14.0\t4845340\t1.02\n+947\t10\t2\t0.1503\t15.02\t5005541\t2.0\n+948\t10\t2\t0.1703\t17.02\t5415805\t2.0\n+949\t10\t2\t0.1903\t19.02\t5826069\t2.0\n+950\t10\t2\t0.2103\t21.02\t6236333\t2.0\n+951\t10\t2\t0.2303\t23.02\t6646598\t2.0\n+952\t10\t2\t0.2503\t25.02\t7056862\t2.0\n+953\t10\t2\t0.2703\t27.02\t7467126\t2.0\n+954\t10\t2\t0.2903\t29.02\t7877390\t2.0\n+955\t10\t2\t0.3103\t31.02\t8287654\t1.55\n+956\t10\t3\t0.3258\t32.57\t8605609\t2.0\n+957\t10\t3\t0.3458\t34.57\t9339920\t2.0\n+958\t10\t3\t0.3658\t36.57\t10074232\t2.0\n+959\t10\t3\t0.3858\t38.57\t10808543\t2.0\n+960\t10\t3\t0.4058\t40.57\t11542855\t2.0\n+961\t10\t3\t0.4258\t42.57\t12277166\t2.0\n+962\t10\t3\t0.4458\t44.57\t13011478\t1.48\n+963\t10\t4\t0.4606\t46.05\t13554868\t2.0\n+964\t10\t4\t0.4806\t48.05\t31923673\t2.0\n+965\t10\t4\t0.5006\t50.05\t50292478\t2.0\n+966\t10\t4\t0.5206\t52.05\t68661284\t0.94\n+967\t10\t5\t0.5300\t52.99\t77294622\t2.0\n+968\t10\t5\t0.5500\t54.99\t81739358\t2.0\n+969\t10\t5\t0.5700\t56.99\t86184094\t2.0\n+970\t10\t5\t0.5900\t58.99\t90628830\t2.0\n+971\t10\t5\t0.6100\t60.99\t95073566\t2.0\n+972\t10\t5\t0.6300\t62.99\t99518301\t2.0\n+973\t10\t5\t0.6500\t64.99\t103963037\t2.0\n+974\t10\t5\t0.6700\t66.99\t108407773\t2.0\n+975\t10\t5\t0.6900\t68.99\t112852509\t2.0\n+976\t10\t5\t0.7100\t70.99\t117297245\t2.0\n+977\t10\t5\t0.7300\t72.99\t121741981\t2.0\n+978\t10\t5\t0.7500\t74.99\t126186717\t0.18\n+979\t10\t6\t0.7518\t75.17\t126586743\t2.0\n+980\t10\t6\t0.7718\t77.17\t127958220\t2.0\n+981\t10\t6\t0.7918\t79.17\t129329697\t2.0\n+982\t10\t6\t0.8118\t81.17\t130701174\t0.38\n+983\t10\t7\t0.8156\t81.55\t130961755\t2.0\n+984\t10\t7\t0.8356\t83.55\t132356414\t2.0\n+985\t10\t7\t0.8556\t85.55\t133751073\t2.0\n+986\t10\t7\t0.8756\t87.55\t135145732\t2.0\n+987\t10\t7\t0.8956\t89.55\t136540391\t1.07\n+988\t10\t8\t0.9063\t90.62\t137286534\t2.0\n+989\t10\t8\t0.9263\t92.62\t137578907\t2.0\n+990\t10\t8\t0.9463\t94.62\t137871280\t2.0\n+991\t10\t8\t0.9663\t96.62\t138163653\t2.0\n+992\t10\t8\t0.9863\t98.62\t138456026\t0.05\n+993\t10\t9\t0.9868\t98.67\t138463335\t2.0\n+994\t10\t9\t1.0068\t100.67\t138982567\t2.0\n+995\t10\t9\t1.0268\t102.67\t139501799\t1.93\n+996\t10\t10\t1.0461\t104.6\t140002858\t2.0\n+997\t10\t10\t1.0661\t106.6\t140522090\t2.0\n+998\t10\t10\t1.0861\t108.6\t141041322\t2.0\n+999\t10\t10\t1.1061\t110.6\t141560554\t2.0\n+1000\t10\t10\t1.1261\t112.6\t142079786\t2.0\n+1001\t10\t10\t1.1461\t114.6\t142599018\t2.0\n+1002\t10\t10\t1.1661\t116.6\t143118250\t1.03\n+1003\t10\t11\t1.1764\t117.63\t143385654\t2.0\n+1004\t10\t11\t1.1964\t119.63\t143836329\t2.0\n+1005\t10\t11\t1.2164\t121.63\t144287005\t2.0\n+1006\t10\t11\t1.2364\t123.63\t144737680\t2.0\n+1007\t10\t11\t1.2564\t125.63\t145188355\t2.0\n+1008\t10\t11\t1.2764\t127.63\t145639031\t2.0\n+1009\t10\t11\t1.2964\t129.63\t146089706\t0.9\n+1010\t10\t12\t1.3054\t130.53\t146292510\t2.0\n+1011\t10\t12\t1.3254\t132.53\t146699702\t2.0\n+1012\t10\t12\t1.3454\t134.53\t147106895\t2.0\n+1013\t10\t12\t1.3654\t136.53\t147514087\t2.0\n+1014\t10\t12\t1.3854\t138.53\t147921279\t2.0\n+1015\t10\t12\t1.4054\t140.53\t148328472\t2.0\n+1016\t10\t12\t1.4254\t142.53\t148735664\t2.0\n+1017\t10\t12\t1.4454\t144.53\t149142856\t2.0\n+1018\t10\t12\t1.4654\t146.53\t149550049\t0.95\n+1019\t10\t13\t1.4749\t147.48\t149743465\t0\n'