Repository 'get_flanks'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/get_flanks

Changeset 0:a72f0decd7b3 (2014-04-01)
Next changeset 1:c3b1781c6fd1 (2014-04-10)
Commit message:
Imported from capsule None
added:
get_flanks.py
get_flanks.xml
test-data/flanks_inp.bed
test-data/flanks_out1.bed
test-data/flanks_out2.bed
tool_dependencies.xml
b
diff -r 000000000000 -r a72f0decd7b3 get_flanks.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/get_flanks.py Tue Apr 01 10:51:10 2014 -0400
[
b'@@ -0,0 +1,189 @@\n+#!/usr/bin/env python\n+#Done by: Guru\n+\n+"""\n+Get Flanking regions.\n+\n+usage: %prog input out_file size direction region\n+   -l, --cols=N,N,N,N: Columns for chrom, start, end, strand in file\n+   -o, --off=N: Offset\n+"""\n+\n+import sys, re, os\n+from bx.cookbook import doc_optparse\n+from galaxy.tools.util.galaxyops import *\n+\n+def stop_err( msg ):\n+    sys.stderr.write( msg )\n+    sys.exit()\n+\n+def main(): \n+    try:\n+        if int( sys.argv[3] ) < 0:\n+            raise Exception\n+    except:\n+        stop_err( "Length of flanking region(s) must be a non-negative integer." )\n+\n+    # Parsing Command Line here\n+    options, args = doc_optparse.parse( __doc__ )\n+    try:\n+        chr_col_1, start_col_1, end_col_1, strand_col_1 = parse_cols_arg( options.cols )\n+        inp_file, out_file, size, direction, region = args\n+        if strand_col_1 <= 0:\n+            strand = "+"        #if strand is not defined, default it to +\n+    except:\n+        stop_err( "Metadata issue, correct the metadata attributes by clicking on the pencil icon in the history item." )\n+    try:\n+        offset = int(options.off)\n+        size = int(size)\n+    except:    \n+        stop_err( "Invalid offset or length entered. Try again by entering valid integer values." )\n+\n+    fo = open(out_file,\'w\')\n+    \n+    skipped_lines = 0\n+    first_invalid_line = 0\n+    invalid_line = None\n+    elems = []\n+    j=0\n+    for i, line in enumerate( file( inp_file ) ):\n+        line = line.strip()\n+        if line and (not line.startswith( \'#\' )) and line != \'\':\n+            j+=1\n+            try:\n+                elems = line.split(\'\\t\')\n+                #if the start and/or end columns are not numbers, skip that line.\n+                assert int(elems[start_col_1])\n+                assert int(elems[end_col_1])\n+                if strand_col_1 != -1:\n+                    strand = elems[strand_col_1]\n+                #if the stand value is not + or -, skip that line.\n+                assert strand in [\'+\', \'-\']\n+                if direction == \'Upstream\':\n+                    if strand == \'+\':\n+                        if region == \'end\':\n+                            elems[end_col_1] = str(int(elems[end_col_1]) + offset)\n+                            elems[start_col_1] = str( int(elems[end_col_1]) - size )\n+                        else:\n+                            elems[end_col_1] = str(int(elems[start_col_1]) + offset)\n+                            elems[start_col_1] = str( int(elems[end_col_1]) - size )\n+                    elif strand == \'-\':\n+                        if region == \'end\':\n+                            elems[start_col_1] = str(int(elems[start_col_1]) - offset)\n+                            elems[end_col_1] = str(int(elems[start_col_1]) + size)\n+                        else:\n+                            elems[start_col_1] = str(int(elems[end_col_1]) - offset)\n+                            elems[end_col_1] = str(int(elems[start_col_1]) + size)\n+                    assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                    fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                                \n+                elif direction == \'Downstream\':\n+                    if strand == \'-\':\n+                        if region == \'start\':\n+                           elems[end_col_1] = str(int(elems[end_col_1]) - offset)\n+                           elems[start_col_1] = str( int(elems[end_col_1]) - size )\n+                        else:\n+                           elems[end_col_1] = str(int(elems[start_col_1]) - offset)\n+                           elems[start_col_1] = str( int(elems[end_col_1]) - size )\n+                    elif strand == \'+\':\n+                        if region == \'start\':\n+                            elems[start_col_1] = str(int(elems[start_col_1]) + offset)\n+                            elems[end_col_1] = str(int(elems[start_col_1]) + size)\n+                        else:\n+                            elems[start_co'..b'ms[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                        else:\n+                            start1 = str(int(elems[end_col_1]) - offset)\n+                            end1 = str(int(start1) + size)\n+                            start2 = str(int(elems[start_col_1]) - offset)\n+                            end2 = str(int(start2) - size)\n+                            elems[start_col_1]=start1\n+                            elems[end_col_1]=end1\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                            elems[start_col_1]=end2\n+                            elems[end_col_1]=start2\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                    elif strand == \'+\':\n+                        if region == \'start\':\n+                            start = str(int(elems[start_col_1]) + offset)\n+                            end1 = str(int(start) - size)\n+                            end2 = str(int(start) + size)\n+                            elems[start_col_1]=end1\n+                            elems[end_col_1]=start\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                            elems[start_col_1]=start\n+                            elems[end_col_1]=end2\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                        elif region == \'end\':\n+                            start = str(int(elems[end_col_1]) + offset)\n+                            end1 = str(int(start) - size)\n+                            end2 = str(int(start) + size)\n+                            elems[start_col_1]=end1\n+                            elems[end_col_1]=start\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                            elems[start_col_1]=start\n+                            elems[end_col_1]=end2\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                        else:\n+                            start1 = str(int(elems[start_col_1]) + offset)\n+                            end1 = str(int(start1) - size)\n+                            start2 = str(int(elems[end_col_1]) + offset)\n+                            end2 = str(int(start2) + size)\n+                            elems[start_col_1]=end1\n+                            elems[end_col_1]=start1\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+                            elems[start_col_1]=start2\n+                            elems[end_col_1]=end2\n+                            assert int(elems[start_col_1]) > 0 and int(elems[end_col_1]) > 0\n+                            fo.write( "%s\\n" % \'\\t\'.join( elems ) )\n+            except:\n+                skipped_lines += 1\n+                if not invalid_line:\n+                    first_invalid_line = i + 1\n+                    invalid_line = line\n+    fo.close()\n+\n+    if skipped_lines == j:\n+        stop_err( "Data issue: click the pencil icon in the history item to correct the metadata attributes." )\n+    if skipped_lines > 0:\n+        print \'Skipped %d invalid lines starting with #%dL "%s"\' % ( skipped_lines, first_invalid_line, invalid_line )\n+    print \'Location: %s, Region: %s, Flank-length: %d, Offset: %d \' %( direction, region, size, offset )\n+    \n+if __name__ == "__main__":\n+    main()\n'
b
diff -r 000000000000 -r a72f0decd7b3 get_flanks.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/get_flanks.xml Tue Apr 01 10:51:10 2014 -0400
b
@@ -0,0 +1,82 @@
+<tool id="get_flanks1" name="Get flanks" version="0.0.1">
+  <description>returns flanking region/s for every gene</description>
+  <requirements>
+    <requirement type="package" version="0.7.1">bx-python</requirement>
+    <requirement type="package" version="1.0.0">galaxy-ops</requirement>
+  </requirements>
+  <command interpreter="python">get_flanks.py $input $out_file1 $size $direction $region -o $offset -l ${input.metadata.chromCol},${input.metadata.startCol},${input.metadata.endCol},${input.metadata.strandCol}</command>
+  <inputs>
+    <param format="interval" name="input" type="data" label="Select data"/>
+    <param name="region" type="select" label="Region">
+      <option value="whole" selected="true">Whole feature</option>
+      <option value="start">Around Start</option>
+      <option value="end">Around End</option>
+    </param>
+    <param name="direction" type="select" label="Location of the flanking region/s">
+      <option value="Upstream">Upstream</option>
+      <option value="Downstream">Downstream</option>
+      <option value="Both">Both</option>
+    </param>
+    <param name="offset" size="10" type="integer" value="0" label="Offset" help="Use positive values to offset co-ordinates in the direction of transcription and negative values to offset in the opposite direction."/>
+    <param name="size" size="10" type="integer" value="50" label="Length of the flanking region(s)" help="Use non-negative value for length"/>
+    
+    
+  </inputs>
+  <outputs>
+    <data format="interval" name="out_file1" metadata_source="input"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="input" value="flanks_inp.bed"/>
+      <param name="offset" value="-500"/>
+      <param name="size" value="1000"/>
+      <param name="direction" value="Both"/>
+      <param name="region" value="whole"/>
+      <output name="out_file1" file="flanks_out1.bed"/>
+    </test>
+    <test>
+      <param name="input" value="flanks_inp.bed"/>
+      <param name="offset" value="200"/>
+      <param name="size" value="1000"/>
+      <param name="direction" value="Downstream"/>
+      <param name="region" value="start" />
+      <output name="out_file1" file="flanks_out2.bed"/>
+    </test>
+  </tests>
+ <help> 
+
+This tool finds the upstream and/or downstream flanking region(s) of all the selected regions in the input file. 
+
+**Note:** Every line should contain at least 3 columns: Chromosome number, Start and Stop co-ordinates. If any of these columns is missing or if start and stop co-ordinates are not numerical, the tool may encounter exceptions and such lines are skipped as invalid. The number of invalid skipped lines is documented in the resulting history item as a "Data issue".
+
+-----
+
+
+**Example 1**
+
+- For the following dataset::
+
+   chr22  1000  7000  NM_174568 0 +
+
+- running get flanks with Region: Around start, Offset: -200, Flank-length: 300 and Location: Upstream will return **(Red: Dataset positive strand; Blue: Flanks output)**::
+
+   chr22  500  800  NM_174568 0 +
+
+.. image:: ${static_path}/operation_icons/flanks_ex1.gif
+
+**Example 2**
+
+- For the following dataset::
+
+   chr22  1000  7000  NM_028946 0 -
+
+- running get flanks with Region: Whole, Offset: 200, Flank-length: 300 and Location: Downstream will return **(Orange: Dataset negative strand; Magenta: Flanks output)**::
+
+   chr22  500  800  NM_028946 0 -
+
+.. image:: ${static_path}/operation_icons/flanks_ex2.gif
+
+</help>  
+
+
+</tool>
b
diff -r 000000000000 -r a72f0decd7b3 test-data/flanks_inp.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/flanks_inp.bed Tue Apr 01 10:51:10 2014 -0400
b
b'@@ -0,0 +1,1393 @@\n+chr7\t115444712\t115444739\tCCDS5763.1_cds_0_0_chr7_115444713_f\t0\t+\n+chr7\t115468538\t115468624\tCCDS5763.1_cds_1_0_chr7_115468539_f\t0\t+\n+chr7\t115483024\t115483277\tCCDS5763.1_cds_2_0_chr7_115483025_f\t0\t+\n+chr7\t115484165\t115484501\tCCDS5763.1_cds_3_0_chr7_115484166_f\t0\t+\n+chr7\t115485764\t115485980\tCCDS5763.1_cds_4_0_chr7_115485765_f\t0\t+\n+chr7\t115486322\t115486481\tCCDS5763.1_cds_5_0_chr7_115486323_f\t0\t+\n+chr7\t115491298\t115491487\tCCDS5763.1_cds_6_0_chr7_115491299_f\t0\t+\n+chr7\t115468538\t115468624\tCCDS5764.1_cds_0_0_chr7_115468539_f\t0\t+\n+chr7\t115483024\t115483277\tCCDS5764.1_cds_1_0_chr7_115483025_f\t0\t+\n+chr7\t115484165\t115484501\tCCDS5764.1_cds_2_0_chr7_115484166_f\t0\t+\n+chr7\t115485764\t115485980\tCCDS5764.1_cds_3_0_chr7_115485765_f\t0\t+\n+chr7\t115486322\t115486481\tCCDS5764.1_cds_4_0_chr7_115486323_f\t0\t+\n+chr7\t115491298\t115491487\tCCDS5764.1_cds_5_0_chr7_115491299_f\t0\t+\n+chr7\t115733786\t115733936\tCCDS5766.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115734264\t115734452\tCCDS5766.1_cds_1_0_chr7_115734265_f\t0\t+\n+chr7\t115739975\t115740126\tCCDS5766.1_cds_2_0_chr7_115739976_f\t0\t+\n+chr7\t115733786\t115733936\tCCDS5765.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115739975\t115740164\tCCDS5765.1_cds_1_0_chr7_115739976_f\t0\t+\n+chr7\t115759067\t115759097\tCCDS5767.1_cds_0_0_chr7_115759068_f\t0\t+\n+chr7\t115760529\t115760694\tCCDS5767.1_cds_1_0_chr7_115760530_f\t0\t+\n+chr7\t115792950\t115793292\tCCDS5767.1_cds_2_0_chr7_115792951_f\t0\t+\n+chr7\t116096616\t116096655\tCCDS5768.1_cds_0_0_chr7_116096617_f\t0\t+\n+chr7\t116122131\t116122195\tCCDS5768.1_cds_1_0_chr7_116122132_f\t0\t+\n+chr7\t116126998\t116127050\tCCDS5768.1_cds_2_0_chr7_116126999_f\t0\t+\n+chr7\t116132776\t116132840\tCCDS5768.1_cds_3_0_chr7_116132777_f\t0\t+\n+chr7\t116138181\t116138388\tCCDS5768.1_cds_4_0_chr7_116138182_f\t0\t+\n+chr7\t116140267\t116140347\tCCDS5768.1_cds_5_0_chr7_116140268_f\t0\t+\n+chr7\t116144237\t116144316\tCCDS5768.1_cds_6_0_chr7_116144238_f\t0\t+\n+chr7\t116146073\t116146145\tCCDS5768.1_cds_7_0_chr7_116146074_f\t0\t+\n+chr7\t116150064\t116150127\tCCDS5768.1_cds_8_0_chr7_116150065_f\t0\t+\n+chr7\t116151731\t116151872\tCCDS5768.1_cds_9_0_chr7_116151732_f\t0\t+\n+chr7\t116187545\t116187696\tCCDS5770.1_cds_0_0_chr7_116187546_f\t0\t+\n+chr7\t116333766\t116333849\tCCDS5770.1_cds_1_0_chr7_116333767_f\t0\t+\n+chr7\t116353565\t116353725\tCCDS5770.1_cds_2_0_chr7_116353566_f\t0\t+\n+chr7\t116363797\t116363852\tCCDS5770.1_cds_3_0_chr7_116363798_f\t0\t+\n+chr7\t116364495\t116364611\tCCDS5770.1_cds_4_0_chr7_116364496_f\t0\t+\n+chr7\t116365889\t116365965\tCCDS5770.1_cds_5_0_chr7_116365890_f\t0\t+\n+chr7\t116368128\t116368197\tCCDS5770.1_cds_6_0_chr7_116368129_f\t0\t+\n+chr7\t116370085\t116370240\tCCDS5770.1_cds_7_0_chr7_116370086_f\t0\t+\n+chr7\t116372439\t116372537\tCCDS5770.1_cds_8_0_chr7_116372440_f\t0\t+\n+chr7\t116404866\t116404981\tCCDS5770.1_cds_9_0_chr7_116404867_f\t0\t+\n+chr7\t116423325\t116423398\tCCDS5770.1_cds_10_0_chr7_116423326_f\t0\t+\n+chr7\t116424838\t116424941\tCCDS5770.1_cds_11_0_chr7_116424839_f\t0\t+\n+chr7\t116443791\t116443942\tCCDS5770.1_cds_12_0_chr7_116443792_f\t0\t+\n+chr7\t116453088\t116453181\tCCDS5770.1_cds_13_0_chr7_116453089_f\t0\t+\n+chr7\t116455927\t116456067\tCCDS5770.1_cds_14_0_chr7_116455928_f\t0\t+\n+chr7\t116456865\t116456985\tCCDS5770.1_cds_15_0_chr7_116456866_f\t0\t+\n+chr7\t116187545\t116187696\tCCDS5769.1_cds_0_0_chr7_116187546_f\t0\t+\n+chr7\t116333766\t116333849\tCCDS5769.1_cds_1_0_chr7_116333767_f\t0\t+\n+chr7\t116353565\t116353725\tCCDS5769.1_cds_2_0_chr7_116353566_f\t0\t+\n+chr7\t116363797\t116363852\tCCDS5769.1_cds_3_0_chr7_116363798_f\t0\t+\n+chr7\t116364495\t116364611\tCCDS5769.1_cds_4_0_chr7_116364496_f\t0\t+\n+chr7\t116365889\t116365965\tCCDS5769.1_cds_5_0_chr7_116365890_f\t0\t+\n+chr7\t116370085\t116370240\tCCDS5769.1_cds_6_0_chr7_116370086_f\t0\t+\n+chr7\t116372439\t116372537\tCCDS5769.1_cds_7_0_chr7_116372440_f\t0\t+\n+chr7\t116404866\t116404981\tCCDS5769.1_cds_8_0_chr7_116404867_f\t0\t+\n+chr7\t116423325\t116423398\tCCDS5769.1_cds_9_0_chr7_116423326_f\t0\t+\n+chr7\t116424838\t116424941\tCCDS5769.1_cds_10_0_chr7_116424839_f\t0\t+\n+chr7\t116443791\t116443942\tCCDS5769.1_cds_11_0_chr7_116443792_f\t0\t+\n+chr7\t116453088\t116453181\tCCDS5769.1_cds_12_0_chr7_116453089_f\t0\t+\n+chr7\t11645'..b'8.1_cds_4_0_chr20_33598577_f\t0\t+\n+chr20\t33599675\t33599841\tCCDS13258.1_cds_5_0_chr20_33599676_f\t0\t+\n+chr20\t33599974\t33600032\tCCDS13258.1_cds_6_0_chr20_33599975_f\t0\t+\n+chr20\t33605556\t33605571\tCCDS13258.1_cds_7_0_chr20_33605557_f\t0\t+\n+chr20\t33606228\t33606260\tCCDS13258.1_cds_8_0_chr20_33606229_f\t0\t+\n+chr20\t33607217\t33607314\tCCDS13258.1_cds_9_0_chr20_33607218_f\t0\t+\n+chr20\t33607391\t33607456\tCCDS13258.1_cds_10_0_chr20_33607392_f\t0\t+\n+chr20\t33608157\t33608294\tCCDS13258.1_cds_11_0_chr20_33608158_f\t0\t+\n+chr20\t33608378\t33608434\tCCDS13258.1_cds_12_0_chr20_33608379_f\t0\t+\n+chr20\t33608609\t33608689\tCCDS13258.1_cds_13_0_chr20_33608610_f\t0\t+\n+chr20\t33593260\t33593348\tCCDS13257.1_cds_0_0_chr20_33593261_f\t0\t+\n+chr20\t33593485\t33593556\tCCDS13257.1_cds_1_0_chr20_33593486_f\t0\t+\n+chr20\t33593675\t33593763\tCCDS13257.1_cds_2_0_chr20_33593676_f\t0\t+\n+chr20\t33593984\t33594104\tCCDS13257.1_cds_3_0_chr20_33593985_f\t0\t+\n+chr20\t33598576\t33598670\tCCDS13257.1_cds_4_0_chr20_33598577_f\t0\t+\n+chr20\t33599675\t33599841\tCCDS13257.1_cds_5_0_chr20_33599676_f\t0\t+\n+chr20\t33599974\t33600032\tCCDS13257.1_cds_6_0_chr20_33599975_f\t0\t+\n+chr20\t33606228\t33606260\tCCDS13257.1_cds_7_0_chr20_33606229_f\t0\t+\n+chr20\t33607217\t33607314\tCCDS13257.1_cds_8_0_chr20_33607218_f\t0\t+\n+chr20\t33607391\t33607456\tCCDS13257.1_cds_9_0_chr20_33607392_f\t0\t+\n+chr20\t33608157\t33608294\tCCDS13257.1_cds_10_0_chr20_33608158_f\t0\t+\n+chr20\t33608378\t33608434\tCCDS13257.1_cds_11_0_chr20_33608379_f\t0\t+\n+chr20\t33608609\t33608689\tCCDS13257.1_cds_12_0_chr20_33608610_f\t0\t+\n+chr20\t33667339\t33667643\tCCDS13259.1_cds_0_0_chr20_33667340_f\t0\t+\n+chr20\t33668471\t33668576\tCCDS13259.1_cds_1_0_chr20_33668472_f\t0\t+\n+chr20\t33668855\t33668922\tCCDS13259.1_cds_2_0_chr20_33668856_f\t0\t+\n+chr20\t33669114\t33669176\tCCDS13259.1_cds_3_0_chr20_33669115_f\t0\t+\n+chr20\t33669422\t33669466\tCCDS13259.1_cds_4_0_chr20_33669423_f\t0\t+\n+chr20\t33669785\t33669811\tCCDS13259.1_cds_5_0_chr20_33669786_f\t0\t+\n+chr20\t33669947\t33670056\tCCDS13259.1_cds_6_0_chr20_33669948_f\t0\t+\n+chr20\t33670258\t33670334\tCCDS13259.1_cds_7_0_chr20_33670259_f\t0\t+\n+chr20\t33670530\t33670646\tCCDS13259.1_cds_8_0_chr20_33670531_f\t0\t+\n+chr20\t33670914\t33671082\tCCDS13259.1_cds_9_0_chr20_33670915_f\t0\t+\n+chr20\t33672019\t33672109\tCCDS13259.1_cds_10_0_chr20_33672020_f\t0\t+\n+chr20\t33672211\t33672358\tCCDS13259.1_cds_11_0_chr20_33672212_f\t0\t+\n+chr20\t33750968\t33751099\tCCDS13264.1_cds_0_0_chr20_33750969_f\t0\t+\n+chr20\t33752133\t33752242\tCCDS13264.1_cds_1_0_chr20_33752134_f\t0\t+\n+chr6\t41411592\t41411644\tCCDS4855.1_cds_0_0_chr6_41411593_f\t0\t+\n+chr6\t41411802\t41412144\tCCDS4855.1_cds_1_0_chr6_41411803_f\t0\t+\n+chr6\t41417509\t41417645\tCCDS4855.1_cds_2_0_chr6_41417510_f\t0\t+\n+chr6\t41417751\t41417865\tCCDS4855.1_cds_3_0_chr6_41417752_f\t0\t+\n+chr6\t41426393\t41426580\tCCDS4855.1_cds_4_0_chr6_41426394_f\t0\t+\n+chr6\t41641476\t41641680\tCCDS4856.1_cds_0_0_chr6_41641477_f\t0\t+\n+chr6\t41653701\t41653797\tCCDS4856.1_cds_1_0_chr6_41653702_f\t0\t+\n+chr6\t41660484\t41660607\tCCDS4856.1_cds_2_0_chr6_41660485_f\t0\t+\n+chr6\t41661146\t41661233\tCCDS4856.1_cds_3_0_chr6_41661147_f\t0\t+\n+chr6\t41662724\t41662872\tCCDS4856.1_cds_4_0_chr6_41662725_f\t0\t+\n+chr6\t41663017\t41663228\tCCDS4856.1_cds_5_0_chr6_41663018_f\t0\t+\n+chr6\t41663508\t41663613\tCCDS4856.1_cds_6_0_chr6_41663509_f\t0\t+\n+chr6\t41664359\t41664447\tCCDS4856.1_cds_7_0_chr6_41664360_f\t0\t+\n+chr6\t41665486\t41665570\tCCDS4856.1_cds_8_0_chr6_41665487_f\t0\t+\n+chr6\t41665714\t41665886\tCCDS4856.1_cds_9_0_chr6_41665715_f\t0\t+\n+chr6\t41665986\t41666063\tCCDS4856.1_cds_10_0_chr6_41665987_f\t0\t+\n+chr6\t41666936\t41667038\tCCDS4856.1_cds_11_0_chr6_41666937_f\t0\t+\n+chr6\t41670585\t41670707\tCCDS4856.1_cds_12_0_chr6_41670586_f\t0\t+\n+chr6\t41672891\t41672958\tCCDS4856.1_cds_13_0_chr6_41672892_f\t0\t+\n+chr6\t41673496\t41673666\tCCDS4856.1_cds_14_0_chr6_41673497_f\t0\t+\n+chr6\t41674504\t41674652\tCCDS4856.1_cds_15_0_chr6_41674505_f\t0\t+\n+chr6\t41714465\t41714541\tCCDS4857.1_cds_0_0_chr6_41714466_f\t0\t+\n+chr6\t41721841\t41722024\tCCDS4857.1_cds_1_0_chr6_41721842_f\t0\t+\n+chr6\t41725334\t41725559\tCCDS4857.1_cds_2_0_chr6_41725335_f\t0\t+\n+chr6\t41729034\t41729291\tCCDS4857.1_cds_3_0_chr6_41729035_f\t0\t+\n'
b
diff -r 000000000000 -r a72f0decd7b3 test-data/flanks_out1.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/flanks_out1.bed Tue Apr 01 10:51:10 2014 -0400
b
b'@@ -0,0 +1,2786 @@\n+chr7\t115443212\t115444212\tCCDS5763.1_cds_0_0_chr7_115444713_f\t0\t+\n+chr7\t115444239\t115445239\tCCDS5763.1_cds_0_0_chr7_115444713_f\t0\t+\n+chr7\t115467038\t115468038\tCCDS5763.1_cds_1_0_chr7_115468539_f\t0\t+\n+chr7\t115468124\t115469124\tCCDS5763.1_cds_1_0_chr7_115468539_f\t0\t+\n+chr7\t115481524\t115482524\tCCDS5763.1_cds_2_0_chr7_115483025_f\t0\t+\n+chr7\t115482777\t115483777\tCCDS5763.1_cds_2_0_chr7_115483025_f\t0\t+\n+chr7\t115482665\t115483665\tCCDS5763.1_cds_3_0_chr7_115484166_f\t0\t+\n+chr7\t115484001\t115485001\tCCDS5763.1_cds_3_0_chr7_115484166_f\t0\t+\n+chr7\t115484264\t115485264\tCCDS5763.1_cds_4_0_chr7_115485765_f\t0\t+\n+chr7\t115485480\t115486480\tCCDS5763.1_cds_4_0_chr7_115485765_f\t0\t+\n+chr7\t115484822\t115485822\tCCDS5763.1_cds_5_0_chr7_115486323_f\t0\t+\n+chr7\t115485981\t115486981\tCCDS5763.1_cds_5_0_chr7_115486323_f\t0\t+\n+chr7\t115489798\t115490798\tCCDS5763.1_cds_6_0_chr7_115491299_f\t0\t+\n+chr7\t115490987\t115491987\tCCDS5763.1_cds_6_0_chr7_115491299_f\t0\t+\n+chr7\t115467038\t115468038\tCCDS5764.1_cds_0_0_chr7_115468539_f\t0\t+\n+chr7\t115468124\t115469124\tCCDS5764.1_cds_0_0_chr7_115468539_f\t0\t+\n+chr7\t115481524\t115482524\tCCDS5764.1_cds_1_0_chr7_115483025_f\t0\t+\n+chr7\t115482777\t115483777\tCCDS5764.1_cds_1_0_chr7_115483025_f\t0\t+\n+chr7\t115482665\t115483665\tCCDS5764.1_cds_2_0_chr7_115484166_f\t0\t+\n+chr7\t115484001\t115485001\tCCDS5764.1_cds_2_0_chr7_115484166_f\t0\t+\n+chr7\t115484264\t115485264\tCCDS5764.1_cds_3_0_chr7_115485765_f\t0\t+\n+chr7\t115485480\t115486480\tCCDS5764.1_cds_3_0_chr7_115485765_f\t0\t+\n+chr7\t115484822\t115485822\tCCDS5764.1_cds_4_0_chr7_115486323_f\t0\t+\n+chr7\t115485981\t115486981\tCCDS5764.1_cds_4_0_chr7_115486323_f\t0\t+\n+chr7\t115489798\t115490798\tCCDS5764.1_cds_5_0_chr7_115491299_f\t0\t+\n+chr7\t115490987\t115491987\tCCDS5764.1_cds_5_0_chr7_115491299_f\t0\t+\n+chr7\t115732286\t115733286\tCCDS5766.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115733436\t115734436\tCCDS5766.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115732764\t115733764\tCCDS5766.1_cds_1_0_chr7_115734265_f\t0\t+\n+chr7\t115733952\t115734952\tCCDS5766.1_cds_1_0_chr7_115734265_f\t0\t+\n+chr7\t115738475\t115739475\tCCDS5766.1_cds_2_0_chr7_115739976_f\t0\t+\n+chr7\t115739626\t115740626\tCCDS5766.1_cds_2_0_chr7_115739976_f\t0\t+\n+chr7\t115732286\t115733286\tCCDS5765.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115733436\t115734436\tCCDS5765.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115738475\t115739475\tCCDS5765.1_cds_1_0_chr7_115739976_f\t0\t+\n+chr7\t115739664\t115740664\tCCDS5765.1_cds_1_0_chr7_115739976_f\t0\t+\n+chr7\t115757567\t115758567\tCCDS5767.1_cds_0_0_chr7_115759068_f\t0\t+\n+chr7\t115758597\t115759597\tCCDS5767.1_cds_0_0_chr7_115759068_f\t0\t+\n+chr7\t115759029\t115760029\tCCDS5767.1_cds_1_0_chr7_115760530_f\t0\t+\n+chr7\t115760194\t115761194\tCCDS5767.1_cds_1_0_chr7_115760530_f\t0\t+\n+chr7\t115791450\t115792450\tCCDS5767.1_cds_2_0_chr7_115792951_f\t0\t+\n+chr7\t115792792\t115793792\tCCDS5767.1_cds_2_0_chr7_115792951_f\t0\t+\n+chr7\t116095116\t116096116\tCCDS5768.1_cds_0_0_chr7_116096617_f\t0\t+\n+chr7\t116096155\t116097155\tCCDS5768.1_cds_0_0_chr7_116096617_f\t0\t+\n+chr7\t116120631\t116121631\tCCDS5768.1_cds_1_0_chr7_116122132_f\t0\t+\n+chr7\t116121695\t116122695\tCCDS5768.1_cds_1_0_chr7_116122132_f\t0\t+\n+chr7\t116125498\t116126498\tCCDS5768.1_cds_2_0_chr7_116126999_f\t0\t+\n+chr7\t116126550\t116127550\tCCDS5768.1_cds_2_0_chr7_116126999_f\t0\t+\n+chr7\t116131276\t116132276\tCCDS5768.1_cds_3_0_chr7_116132777_f\t0\t+\n+chr7\t116132340\t116133340\tCCDS5768.1_cds_3_0_chr7_116132777_f\t0\t+\n+chr7\t116136681\t116137681\tCCDS5768.1_cds_4_0_chr7_116138182_f\t0\t+\n+chr7\t116137888\t116138888\tCCDS5768.1_cds_4_0_chr7_116138182_f\t0\t+\n+chr7\t116138767\t116139767\tCCDS5768.1_cds_5_0_chr7_116140268_f\t0\t+\n+chr7\t116139847\t116140847\tCCDS5768.1_cds_5_0_chr7_116140268_f\t0\t+\n+chr7\t116142737\t116143737\tCCDS5768.1_cds_6_0_chr7_116144238_f\t0\t+\n+chr7\t116143816\t116144816\tCCDS5768.1_cds_6_0_chr7_116144238_f\t0\t+\n+chr7\t116144573\t116145573\tCCDS5768.1_cds_7_0_chr7_116146074_f\t0\t+\n+chr7\t116145645\t116146645\tCCDS5768.1_cds_7_0_chr7_116146074_f\t0\t+\n+chr7\t116148564\t116149564\tCCDS5768.1_cds_8_0_chr7_116150065_f\t0\t+\n+chr7\t116149627\t116150627\tCCDS5768.1_cds_8_0_chr7_116150065_f\t0\t+\n+chr7\t116150231\t1161'..b'CCDS13259.1_cds_7_0_chr20_33670259_f\t0\t+\n+chr20\t33669030\t33670030\tCCDS13259.1_cds_8_0_chr20_33670531_f\t0\t+\n+chr20\t33670146\t33671146\tCCDS13259.1_cds_8_0_chr20_33670531_f\t0\t+\n+chr20\t33669414\t33670414\tCCDS13259.1_cds_9_0_chr20_33670915_f\t0\t+\n+chr20\t33670582\t33671582\tCCDS13259.1_cds_9_0_chr20_33670915_f\t0\t+\n+chr20\t33670519\t33671519\tCCDS13259.1_cds_10_0_chr20_33672020_f\t0\t+\n+chr20\t33671609\t33672609\tCCDS13259.1_cds_10_0_chr20_33672020_f\t0\t+\n+chr20\t33670711\t33671711\tCCDS13259.1_cds_11_0_chr20_33672212_f\t0\t+\n+chr20\t33671858\t33672858\tCCDS13259.1_cds_11_0_chr20_33672212_f\t0\t+\n+chr20\t33749468\t33750468\tCCDS13264.1_cds_0_0_chr20_33750969_f\t0\t+\n+chr20\t33750599\t33751599\tCCDS13264.1_cds_0_0_chr20_33750969_f\t0\t+\n+chr20\t33750633\t33751633\tCCDS13264.1_cds_1_0_chr20_33752134_f\t0\t+\n+chr20\t33751742\t33752742\tCCDS13264.1_cds_1_0_chr20_33752134_f\t0\t+\n+chr6\t41410092\t41411092\tCCDS4855.1_cds_0_0_chr6_41411593_f\t0\t+\n+chr6\t41411144\t41412144\tCCDS4855.1_cds_0_0_chr6_41411593_f\t0\t+\n+chr6\t41410302\t41411302\tCCDS4855.1_cds_1_0_chr6_41411803_f\t0\t+\n+chr6\t41411644\t41412644\tCCDS4855.1_cds_1_0_chr6_41411803_f\t0\t+\n+chr6\t41416009\t41417009\tCCDS4855.1_cds_2_0_chr6_41417510_f\t0\t+\n+chr6\t41417145\t41418145\tCCDS4855.1_cds_2_0_chr6_41417510_f\t0\t+\n+chr6\t41416251\t41417251\tCCDS4855.1_cds_3_0_chr6_41417752_f\t0\t+\n+chr6\t41417365\t41418365\tCCDS4855.1_cds_3_0_chr6_41417752_f\t0\t+\n+chr6\t41424893\t41425893\tCCDS4855.1_cds_4_0_chr6_41426394_f\t0\t+\n+chr6\t41426080\t41427080\tCCDS4855.1_cds_4_0_chr6_41426394_f\t0\t+\n+chr6\t41639976\t41640976\tCCDS4856.1_cds_0_0_chr6_41641477_f\t0\t+\n+chr6\t41641180\t41642180\tCCDS4856.1_cds_0_0_chr6_41641477_f\t0\t+\n+chr6\t41652201\t41653201\tCCDS4856.1_cds_1_0_chr6_41653702_f\t0\t+\n+chr6\t41653297\t41654297\tCCDS4856.1_cds_1_0_chr6_41653702_f\t0\t+\n+chr6\t41658984\t41659984\tCCDS4856.1_cds_2_0_chr6_41660485_f\t0\t+\n+chr6\t41660107\t41661107\tCCDS4856.1_cds_2_0_chr6_41660485_f\t0\t+\n+chr6\t41659646\t41660646\tCCDS4856.1_cds_3_0_chr6_41661147_f\t0\t+\n+chr6\t41660733\t41661733\tCCDS4856.1_cds_3_0_chr6_41661147_f\t0\t+\n+chr6\t41661224\t41662224\tCCDS4856.1_cds_4_0_chr6_41662725_f\t0\t+\n+chr6\t41662372\t41663372\tCCDS4856.1_cds_4_0_chr6_41662725_f\t0\t+\n+chr6\t41661517\t41662517\tCCDS4856.1_cds_5_0_chr6_41663018_f\t0\t+\n+chr6\t41662728\t41663728\tCCDS4856.1_cds_5_0_chr6_41663018_f\t0\t+\n+chr6\t41662008\t41663008\tCCDS4856.1_cds_6_0_chr6_41663509_f\t0\t+\n+chr6\t41663113\t41664113\tCCDS4856.1_cds_6_0_chr6_41663509_f\t0\t+\n+chr6\t41662859\t41663859\tCCDS4856.1_cds_7_0_chr6_41664360_f\t0\t+\n+chr6\t41663947\t41664947\tCCDS4856.1_cds_7_0_chr6_41664360_f\t0\t+\n+chr6\t41663986\t41664986\tCCDS4856.1_cds_8_0_chr6_41665487_f\t0\t+\n+chr6\t41665070\t41666070\tCCDS4856.1_cds_8_0_chr6_41665487_f\t0\t+\n+chr6\t41664214\t41665214\tCCDS4856.1_cds_9_0_chr6_41665715_f\t0\t+\n+chr6\t41665386\t41666386\tCCDS4856.1_cds_9_0_chr6_41665715_f\t0\t+\n+chr6\t41664486\t41665486\tCCDS4856.1_cds_10_0_chr6_41665987_f\t0\t+\n+chr6\t41665563\t41666563\tCCDS4856.1_cds_10_0_chr6_41665987_f\t0\t+\n+chr6\t41665436\t41666436\tCCDS4856.1_cds_11_0_chr6_41666937_f\t0\t+\n+chr6\t41666538\t41667538\tCCDS4856.1_cds_11_0_chr6_41666937_f\t0\t+\n+chr6\t41669085\t41670085\tCCDS4856.1_cds_12_0_chr6_41670586_f\t0\t+\n+chr6\t41670207\t41671207\tCCDS4856.1_cds_12_0_chr6_41670586_f\t0\t+\n+chr6\t41671391\t41672391\tCCDS4856.1_cds_13_0_chr6_41672892_f\t0\t+\n+chr6\t41672458\t41673458\tCCDS4856.1_cds_13_0_chr6_41672892_f\t0\t+\n+chr6\t41671996\t41672996\tCCDS4856.1_cds_14_0_chr6_41673497_f\t0\t+\n+chr6\t41673166\t41674166\tCCDS4856.1_cds_14_0_chr6_41673497_f\t0\t+\n+chr6\t41673004\t41674004\tCCDS4856.1_cds_15_0_chr6_41674505_f\t0\t+\n+chr6\t41674152\t41675152\tCCDS4856.1_cds_15_0_chr6_41674505_f\t0\t+\n+chr6\t41712965\t41713965\tCCDS4857.1_cds_0_0_chr6_41714466_f\t0\t+\n+chr6\t41714041\t41715041\tCCDS4857.1_cds_0_0_chr6_41714466_f\t0\t+\n+chr6\t41720341\t41721341\tCCDS4857.1_cds_1_0_chr6_41721842_f\t0\t+\n+chr6\t41721524\t41722524\tCCDS4857.1_cds_1_0_chr6_41721842_f\t0\t+\n+chr6\t41723834\t41724834\tCCDS4857.1_cds_2_0_chr6_41725335_f\t0\t+\n+chr6\t41725059\t41726059\tCCDS4857.1_cds_2_0_chr6_41725335_f\t0\t+\n+chr6\t41727534\t41728534\tCCDS4857.1_cds_3_0_chr6_41729035_f\t0\t+\n+chr6\t41728791\t41729791\tCCDS4857.1_cds_3_0_chr6_41729035_f\t0\t+\n'
b
diff -r 000000000000 -r a72f0decd7b3 test-data/flanks_out2.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/flanks_out2.bed Tue Apr 01 10:51:10 2014 -0400
b
b'@@ -0,0 +1,1393 @@\n+chr7\t115444912\t115445912\tCCDS5763.1_cds_0_0_chr7_115444713_f\t0\t+\n+chr7\t115468738\t115469738\tCCDS5763.1_cds_1_0_chr7_115468539_f\t0\t+\n+chr7\t115483224\t115484224\tCCDS5763.1_cds_2_0_chr7_115483025_f\t0\t+\n+chr7\t115484365\t115485365\tCCDS5763.1_cds_3_0_chr7_115484166_f\t0\t+\n+chr7\t115485964\t115486964\tCCDS5763.1_cds_4_0_chr7_115485765_f\t0\t+\n+chr7\t115486522\t115487522\tCCDS5763.1_cds_5_0_chr7_115486323_f\t0\t+\n+chr7\t115491498\t115492498\tCCDS5763.1_cds_6_0_chr7_115491299_f\t0\t+\n+chr7\t115468738\t115469738\tCCDS5764.1_cds_0_0_chr7_115468539_f\t0\t+\n+chr7\t115483224\t115484224\tCCDS5764.1_cds_1_0_chr7_115483025_f\t0\t+\n+chr7\t115484365\t115485365\tCCDS5764.1_cds_2_0_chr7_115484166_f\t0\t+\n+chr7\t115485964\t115486964\tCCDS5764.1_cds_3_0_chr7_115485765_f\t0\t+\n+chr7\t115486522\t115487522\tCCDS5764.1_cds_4_0_chr7_115486323_f\t0\t+\n+chr7\t115491498\t115492498\tCCDS5764.1_cds_5_0_chr7_115491299_f\t0\t+\n+chr7\t115733986\t115734986\tCCDS5766.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115734464\t115735464\tCCDS5766.1_cds_1_0_chr7_115734265_f\t0\t+\n+chr7\t115740175\t115741175\tCCDS5766.1_cds_2_0_chr7_115739976_f\t0\t+\n+chr7\t115733986\t115734986\tCCDS5765.1_cds_0_0_chr7_115733787_f\t0\t+\n+chr7\t115740175\t115741175\tCCDS5765.1_cds_1_0_chr7_115739976_f\t0\t+\n+chr7\t115759267\t115760267\tCCDS5767.1_cds_0_0_chr7_115759068_f\t0\t+\n+chr7\t115760729\t115761729\tCCDS5767.1_cds_1_0_chr7_115760530_f\t0\t+\n+chr7\t115793150\t115794150\tCCDS5767.1_cds_2_0_chr7_115792951_f\t0\t+\n+chr7\t116096816\t116097816\tCCDS5768.1_cds_0_0_chr7_116096617_f\t0\t+\n+chr7\t116122331\t116123331\tCCDS5768.1_cds_1_0_chr7_116122132_f\t0\t+\n+chr7\t116127198\t116128198\tCCDS5768.1_cds_2_0_chr7_116126999_f\t0\t+\n+chr7\t116132976\t116133976\tCCDS5768.1_cds_3_0_chr7_116132777_f\t0\t+\n+chr7\t116138381\t116139381\tCCDS5768.1_cds_4_0_chr7_116138182_f\t0\t+\n+chr7\t116140467\t116141467\tCCDS5768.1_cds_5_0_chr7_116140268_f\t0\t+\n+chr7\t116144437\t116145437\tCCDS5768.1_cds_6_0_chr7_116144238_f\t0\t+\n+chr7\t116146273\t116147273\tCCDS5768.1_cds_7_0_chr7_116146074_f\t0\t+\n+chr7\t116150264\t116151264\tCCDS5768.1_cds_8_0_chr7_116150065_f\t0\t+\n+chr7\t116151931\t116152931\tCCDS5768.1_cds_9_0_chr7_116151732_f\t0\t+\n+chr7\t116187745\t116188745\tCCDS5770.1_cds_0_0_chr7_116187546_f\t0\t+\n+chr7\t116333966\t116334966\tCCDS5770.1_cds_1_0_chr7_116333767_f\t0\t+\n+chr7\t116353765\t116354765\tCCDS5770.1_cds_2_0_chr7_116353566_f\t0\t+\n+chr7\t116363997\t116364997\tCCDS5770.1_cds_3_0_chr7_116363798_f\t0\t+\n+chr7\t116364695\t116365695\tCCDS5770.1_cds_4_0_chr7_116364496_f\t0\t+\n+chr7\t116366089\t116367089\tCCDS5770.1_cds_5_0_chr7_116365890_f\t0\t+\n+chr7\t116368328\t116369328\tCCDS5770.1_cds_6_0_chr7_116368129_f\t0\t+\n+chr7\t116370285\t116371285\tCCDS5770.1_cds_7_0_chr7_116370086_f\t0\t+\n+chr7\t116372639\t116373639\tCCDS5770.1_cds_8_0_chr7_116372440_f\t0\t+\n+chr7\t116405066\t116406066\tCCDS5770.1_cds_9_0_chr7_116404867_f\t0\t+\n+chr7\t116423525\t116424525\tCCDS5770.1_cds_10_0_chr7_116423326_f\t0\t+\n+chr7\t116425038\t116426038\tCCDS5770.1_cds_11_0_chr7_116424839_f\t0\t+\n+chr7\t116443991\t116444991\tCCDS5770.1_cds_12_0_chr7_116443792_f\t0\t+\n+chr7\t116453288\t116454288\tCCDS5770.1_cds_13_0_chr7_116453089_f\t0\t+\n+chr7\t116456127\t116457127\tCCDS5770.1_cds_14_0_chr7_116455928_f\t0\t+\n+chr7\t116457065\t116458065\tCCDS5770.1_cds_15_0_chr7_116456866_f\t0\t+\n+chr7\t116187745\t116188745\tCCDS5769.1_cds_0_0_chr7_116187546_f\t0\t+\n+chr7\t116333966\t116334966\tCCDS5769.1_cds_1_0_chr7_116333767_f\t0\t+\n+chr7\t116353765\t116354765\tCCDS5769.1_cds_2_0_chr7_116353566_f\t0\t+\n+chr7\t116363997\t116364997\tCCDS5769.1_cds_3_0_chr7_116363798_f\t0\t+\n+chr7\t116364695\t116365695\tCCDS5769.1_cds_4_0_chr7_116364496_f\t0\t+\n+chr7\t116366089\t116367089\tCCDS5769.1_cds_5_0_chr7_116365890_f\t0\t+\n+chr7\t116370285\t116371285\tCCDS5769.1_cds_6_0_chr7_116370086_f\t0\t+\n+chr7\t116372639\t116373639\tCCDS5769.1_cds_7_0_chr7_116372440_f\t0\t+\n+chr7\t116405066\t116406066\tCCDS5769.1_cds_8_0_chr7_116404867_f\t0\t+\n+chr7\t116423525\t116424525\tCCDS5769.1_cds_9_0_chr7_116423326_f\t0\t+\n+chr7\t116425038\t116426038\tCCDS5769.1_cds_10_0_chr7_116424839_f\t0\t+\n+chr7\t116443991\t116444991\tCCDS5769.1_cds_11_0_chr7_116443792_f\t0\t+\n+chr7\t116453288\t116454288\tCCDS5769.1_cds_12_0_chr7_116453089_f\t0\t+\n+chr7\t11645'..b'8.1_cds_4_0_chr20_33598577_f\t0\t+\n+chr20\t33599875\t33600875\tCCDS13258.1_cds_5_0_chr20_33599676_f\t0\t+\n+chr20\t33600174\t33601174\tCCDS13258.1_cds_6_0_chr20_33599975_f\t0\t+\n+chr20\t33605756\t33606756\tCCDS13258.1_cds_7_0_chr20_33605557_f\t0\t+\n+chr20\t33606428\t33607428\tCCDS13258.1_cds_8_0_chr20_33606229_f\t0\t+\n+chr20\t33607417\t33608417\tCCDS13258.1_cds_9_0_chr20_33607218_f\t0\t+\n+chr20\t33607591\t33608591\tCCDS13258.1_cds_10_0_chr20_33607392_f\t0\t+\n+chr20\t33608357\t33609357\tCCDS13258.1_cds_11_0_chr20_33608158_f\t0\t+\n+chr20\t33608578\t33609578\tCCDS13258.1_cds_12_0_chr20_33608379_f\t0\t+\n+chr20\t33608809\t33609809\tCCDS13258.1_cds_13_0_chr20_33608610_f\t0\t+\n+chr20\t33593460\t33594460\tCCDS13257.1_cds_0_0_chr20_33593261_f\t0\t+\n+chr20\t33593685\t33594685\tCCDS13257.1_cds_1_0_chr20_33593486_f\t0\t+\n+chr20\t33593875\t33594875\tCCDS13257.1_cds_2_0_chr20_33593676_f\t0\t+\n+chr20\t33594184\t33595184\tCCDS13257.1_cds_3_0_chr20_33593985_f\t0\t+\n+chr20\t33598776\t33599776\tCCDS13257.1_cds_4_0_chr20_33598577_f\t0\t+\n+chr20\t33599875\t33600875\tCCDS13257.1_cds_5_0_chr20_33599676_f\t0\t+\n+chr20\t33600174\t33601174\tCCDS13257.1_cds_6_0_chr20_33599975_f\t0\t+\n+chr20\t33606428\t33607428\tCCDS13257.1_cds_7_0_chr20_33606229_f\t0\t+\n+chr20\t33607417\t33608417\tCCDS13257.1_cds_8_0_chr20_33607218_f\t0\t+\n+chr20\t33607591\t33608591\tCCDS13257.1_cds_9_0_chr20_33607392_f\t0\t+\n+chr20\t33608357\t33609357\tCCDS13257.1_cds_10_0_chr20_33608158_f\t0\t+\n+chr20\t33608578\t33609578\tCCDS13257.1_cds_11_0_chr20_33608379_f\t0\t+\n+chr20\t33608809\t33609809\tCCDS13257.1_cds_12_0_chr20_33608610_f\t0\t+\n+chr20\t33667539\t33668539\tCCDS13259.1_cds_0_0_chr20_33667340_f\t0\t+\n+chr20\t33668671\t33669671\tCCDS13259.1_cds_1_0_chr20_33668472_f\t0\t+\n+chr20\t33669055\t33670055\tCCDS13259.1_cds_2_0_chr20_33668856_f\t0\t+\n+chr20\t33669314\t33670314\tCCDS13259.1_cds_3_0_chr20_33669115_f\t0\t+\n+chr20\t33669622\t33670622\tCCDS13259.1_cds_4_0_chr20_33669423_f\t0\t+\n+chr20\t33669985\t33670985\tCCDS13259.1_cds_5_0_chr20_33669786_f\t0\t+\n+chr20\t33670147\t33671147\tCCDS13259.1_cds_6_0_chr20_33669948_f\t0\t+\n+chr20\t33670458\t33671458\tCCDS13259.1_cds_7_0_chr20_33670259_f\t0\t+\n+chr20\t33670730\t33671730\tCCDS13259.1_cds_8_0_chr20_33670531_f\t0\t+\n+chr20\t33671114\t33672114\tCCDS13259.1_cds_9_0_chr20_33670915_f\t0\t+\n+chr20\t33672219\t33673219\tCCDS13259.1_cds_10_0_chr20_33672020_f\t0\t+\n+chr20\t33672411\t33673411\tCCDS13259.1_cds_11_0_chr20_33672212_f\t0\t+\n+chr20\t33751168\t33752168\tCCDS13264.1_cds_0_0_chr20_33750969_f\t0\t+\n+chr20\t33752333\t33753333\tCCDS13264.1_cds_1_0_chr20_33752134_f\t0\t+\n+chr6\t41411792\t41412792\tCCDS4855.1_cds_0_0_chr6_41411593_f\t0\t+\n+chr6\t41412002\t41413002\tCCDS4855.1_cds_1_0_chr6_41411803_f\t0\t+\n+chr6\t41417709\t41418709\tCCDS4855.1_cds_2_0_chr6_41417510_f\t0\t+\n+chr6\t41417951\t41418951\tCCDS4855.1_cds_3_0_chr6_41417752_f\t0\t+\n+chr6\t41426593\t41427593\tCCDS4855.1_cds_4_0_chr6_41426394_f\t0\t+\n+chr6\t41641676\t41642676\tCCDS4856.1_cds_0_0_chr6_41641477_f\t0\t+\n+chr6\t41653901\t41654901\tCCDS4856.1_cds_1_0_chr6_41653702_f\t0\t+\n+chr6\t41660684\t41661684\tCCDS4856.1_cds_2_0_chr6_41660485_f\t0\t+\n+chr6\t41661346\t41662346\tCCDS4856.1_cds_3_0_chr6_41661147_f\t0\t+\n+chr6\t41662924\t41663924\tCCDS4856.1_cds_4_0_chr6_41662725_f\t0\t+\n+chr6\t41663217\t41664217\tCCDS4856.1_cds_5_0_chr6_41663018_f\t0\t+\n+chr6\t41663708\t41664708\tCCDS4856.1_cds_6_0_chr6_41663509_f\t0\t+\n+chr6\t41664559\t41665559\tCCDS4856.1_cds_7_0_chr6_41664360_f\t0\t+\n+chr6\t41665686\t41666686\tCCDS4856.1_cds_8_0_chr6_41665487_f\t0\t+\n+chr6\t41665914\t41666914\tCCDS4856.1_cds_9_0_chr6_41665715_f\t0\t+\n+chr6\t41666186\t41667186\tCCDS4856.1_cds_10_0_chr6_41665987_f\t0\t+\n+chr6\t41667136\t41668136\tCCDS4856.1_cds_11_0_chr6_41666937_f\t0\t+\n+chr6\t41670785\t41671785\tCCDS4856.1_cds_12_0_chr6_41670586_f\t0\t+\n+chr6\t41673091\t41674091\tCCDS4856.1_cds_13_0_chr6_41672892_f\t0\t+\n+chr6\t41673696\t41674696\tCCDS4856.1_cds_14_0_chr6_41673497_f\t0\t+\n+chr6\t41674704\t41675704\tCCDS4856.1_cds_15_0_chr6_41674505_f\t0\t+\n+chr6\t41714665\t41715665\tCCDS4857.1_cds_0_0_chr6_41714466_f\t0\t+\n+chr6\t41722041\t41723041\tCCDS4857.1_cds_1_0_chr6_41721842_f\t0\t+\n+chr6\t41725534\t41726534\tCCDS4857.1_cds_2_0_chr6_41725335_f\t0\t+\n+chr6\t41729234\t41730234\tCCDS4857.1_cds_3_0_chr6_41729035_f\t0\t+\n'
b
diff -r 000000000000 -r a72f0decd7b3 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Tue Apr 01 10:51:10 2014 -0400
b
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<tool_dependency>
+  <package name="bx-python" version="0.7.1">
+      <repository changeset_revision="41eb9d9f667d" name="package_bx_python_0_7" owner="devteam" prior_installation_required="False" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="galaxy-ops" version="1.0.0">
+      <repository changeset_revision="4e39032e4ec6" name="package_galaxy_ops_1_0_0" owner="devteam" prior_installation_required="False" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>