changeset 8:1827b74f872b draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_maps commit e4588eb6c329e4516e9bcfa084a383be81b55c60
author artbio
date Mon, 23 Oct 2017 08:29:39 -0400
parents a96e6a7df2b7
children 3ea75c573429
files small_rna_maps.py small_rna_maps.xml test-data/count-mean-20-30.pdf test-data/count20-30.tab test-data/global_merge_20-30.pdf test-data/mean20-30.tab test-data/size20-30.tab
diffstat 7 files changed, 1042 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/small_rna_maps.py	Tue Oct 10 18:48:37 2017 -0400
+++ b/small_rna_maps.py	Mon Oct 23 08:29:39 2017 -0400
@@ -10,6 +10,10 @@
     the_parser = argparse.ArgumentParser()
     the_parser.add_argument('--inputs', dest='inputs', required=True,
                             nargs='+', help='list of input BAM files')
+    the_parser.add_argument('--minsize', dest='minsize', type=int,
+                            default=0, help='minimal size of reads')
+    the_parser.add_argument('--maxsize', dest='maxsize', type=int,
+                            default=10000, help='maximal size of reads')
     the_parser.add_argument('--sample_names', dest='sample_names',
                             required=True, nargs='+',
                             help='list of sample names')
@@ -24,14 +28,17 @@
 
 class Map:
 
-    def __init__(self, bam_file, sample):
+    def __init__(self, bam_file, sample, minsize, maxsize):
         self.sample_name = sample
+        self.minsize = minsize
+        self.maxsize = maxsize
         self.bam_object = pysam.AlignmentFile(bam_file, 'rb')
         self.chromosomes = dict(zip(self.bam_object.references,
                                 self.bam_object.lengths))
-        self.map_dict = self.create_map(self.bam_object)
+        self.map_dict = self.create_map(self.bam_object, self.minsize,
+                                        self.maxsize)
 
-    def create_map(self, bam_object):
+    def create_map(self, bam_object, minsize, maxsize):
         '''
         Returns a map_dictionary {(chromosome,read_position,polarity):
                                                     [read_length, ...]}
@@ -43,13 +50,15 @@
             map_dictionary[(chrom, self.chromosomes[chrom], 'F')] = []
         for chrom in self.chromosomes:
             for read in bam_object.fetch(chrom):
-                positions = read.positions  # a list of covered positions
-                if read.is_reverse:
-                    map_dictionary[(chrom, positions[-1]+1,
-                                    'R')].append(read.query_alignment_length)
-                else:
-                    map_dictionary[(chrom, positions[0]+1,
-                                    'F')].append(read.query_alignment_length)
+                if (read.query_alignment_length >= minsize and
+                        read.query_alignment_length <= maxsize):
+                    positions = read.positions  # a list of covered positions
+                    if read.is_reverse:
+                        map_dictionary[(chrom, positions[-1]+1, 'R')].append(
+                                        read.query_alignment_length)
+                    else:
+                        map_dictionary[(chrom, positions[0]+1, 'F')].append(
+                                        read.query_alignment_length)
         return map_dictionary
 
     def compute_readcount(self, map_dictionary, out):
@@ -182,7 +191,7 @@
                     out.write('\t'.join(line) + '\n')
 
 
-def main(inputs, samples, methods, outputs):
+def main(inputs, samples, methods, outputs, minsize, maxsize):
     for method, output in zip(methods, outputs):
         F = open(output, 'w')
         if method == 'Size':
@@ -192,7 +201,7 @@
                       "Polarity", method]
         F.write('\t'.join(header) + '\n')
         for input, sample in zip(inputs, samples):
-            mapobj = Map(input, sample)
+            mapobj = Map(input, sample, minsize, maxsize)
             token = {"Counts": mapobj.compute_readcount,
                      "Max": mapobj.compute_max,
                      "Mean": mapobj.compute_mean,
@@ -209,4 +218,5 @@
     if len(set(args.sample_names)) != len(args.sample_names):
         args.sample_names = [name + '_' + str(i) for
                              i, name in enumerate(args.sample_names)]
-    main(args.inputs, args.sample_names, args.plot_methods, args.outputs)
+    main(args.inputs, args.sample_names, args.plot_methods, args.outputs,
+         args.minsize, args.maxsize)
--- a/small_rna_maps.xml	Tue Oct 10 18:48:37 2017 -0400
+++ b/small_rna_maps.xml	Mon Oct 23 08:29:39 2017 -0400
@@ -1,4 +1,4 @@
-<tool id="small_rna_maps" name="small_rna_maps" version="2.2.0">
+<tool id="small_rna_maps" name="small_rna_maps" version="2.3.0">
   <description></description>
   <requirements>
         <requirement type="package" version="1.11.2=py27_0">numpy</requirement>
@@ -25,6 +25,8 @@
       #for $sample in $inputs
           '$sample.name'
       #end for
+          --minsize $minsize
+          --maxsize $maxsize
       #if str($plots_options.plots_options_selector ) == "two_plot":
           --plot_methods '${plots_options.first_plot}' '${plots_options.extra_plot}'
           --outputs '$output_tab' '$extra_output_tab' &&
@@ -56,6 +58,10 @@
     <param name="inputs" type="data" format="bam" label="Select multiple alignments to parse" multiple="True"/>
     <param name="normalization" type="text" label="Enter size/normalization factors as a space-separated list. Leave blank for no normalization (default)"
            help="e.g. '1 0.75 1.23'. Values of the list map to the above selected files from bottom to top" />
+    <param name="minsize" type="integer" label="Minimal size of reads for inclusion in analysis"
+           value="0" help="default value: 0" />
+    <param name="maxsize" type="integer" label="Maximal size of reads for inclusion in analysis"
+           value="10000" help="default value: 10000" />
     <conditional name="plots_options">
         <param name="plots_options_selector" type="select" display="radio" label="Plot Options">
             <option value="one_plot">Just one plot per chromosome</option>
@@ -108,6 +114,8 @@
     <tests>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="global" />
             <param name="mergestrands" value="nomerge" />
             <param name="first_plot" value="Size" />
@@ -117,6 +125,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="global" />
             <param name="mergestrands" value="merge" />
             <param name="first_plot" value="Size" />
@@ -125,7 +135,20 @@
             <output file="global_merge.pdf" name="output_pdf" />
         </test>
         <test>
+            <param name="inputs" value="input1.bam" ftype="bam"/>
+            <param name="minsize" value="20" />
+            <param name="maxsize" value="30" />
+            <param name="plots_options_selector" value="global" />
+            <param name="mergestrands" value="merge" />
+            <param name="first_plot" value="Size" />
+            <param name="normalization" value="1 1" />
+            <output file="size20-30.tab" name="output_tab" />
+            <output file="global_merge_20-30.pdf" name="output_pdf" />
+        </test>
+        <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Counts" />
             <param name="extra_plot" value="Mean" />
@@ -135,7 +158,21 @@
             <output file="count-mean.pdf" name="output_pdf" />
         </test>
         <test>
+            <param name="inputs" value="input2.bam,input1.bam" ftype="bam"/>
+            <param name="minsize" value="20" />
+            <param name="maxsize" value="30" />
+            <param name="plots_options_selector" value="two_plot" />
+            <param name="first_plot" value="Counts" />
+            <param name="extra_plot" value="Mean" />
+            <param name="normalization" value="1 1" />
+            <output file="count20-30.tab" name="output_tab" />
+            <output file="mean20-30.tab" name="extra_output_tab" />
+            <output file="count-mean-20-30.pdf" name="output_pdf" />
+        </test>
+        <test>
             <param name="inputs" value="input1.bam,input1.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Counts" />
             <param name="extra_plot" value="Mean" />
@@ -146,6 +183,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Counts" />
             <param name="extra_plot" value="Median" />
@@ -156,6 +195,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Counts" />
             <param name="extra_plot" value="Coverage" />
@@ -166,6 +207,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Counts" />
             <param name="extra_plot" value="Size" />
@@ -176,6 +219,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Size" />
             <param name="extra_plot" value="Counts" />
@@ -186,6 +231,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="two_plot" />
             <param name="first_plot" value="Size" />
             <param name="extra_plot" value="Counts" />
@@ -196,6 +243,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="one_plot" />
             <param name="normalization" value="1 1" />
             <param name="first_plot" value="Counts" />
@@ -204,6 +253,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="one_plot" />
             <param name="first_plot" value="Size" />
             <param name="normalization" value="1 1" />
@@ -212,6 +263,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="one_plot" />
             <param name="first_plot" value="Coverage" />
             <param name="normalization" value="1 1" />
@@ -220,6 +273,8 @@
         </test>
         <test>
             <param name="inputs" value="input1.bam,input2.bam" ftype="bam"/>
+            <param name="minsize" value="0" />
+            <param name="maxsize" value="10000" />
             <param name="plots_options_selector" value="one_plot" />
             <param name="first_plot" value="Coverage" />
             <param name="normalization" value="1 0.2" />
Binary file test-data/count-mean-20-30.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/count20-30.tab	Mon Oct 23 08:29:39 2017 -0400
@@ -0,0 +1,350 @@
+Dataset	Chromosome	Chrom_length	Coordinate	Polarity	Counts
+input2.bam	FBtr0070001	72	1	F	0
+input2.bam	FBtr0070001	72	13	F	1
+input2.bam	FBtr0070001	72	19	F	1
+input2.bam	FBtr0070001	72	28	F	1
+input2.bam	FBtr0070001	72	32	F	3
+input2.bam	FBtr0070001	72	53	F	1
+input2.bam	FBtr0070001	72	72	F	0
+input2.bam	FBtr0070533	72	1	F	0
+input2.bam	FBtr0070533	72	16	F	1
+input2.bam	FBtr0070533	72	19	F	1
+input2.bam	FBtr0070533	72	20	F	1
+input2.bam	FBtr0070533	72	21	F	2
+input2.bam	FBtr0070533	72	22	F	10
+input2.bam	FBtr0070533	72	72	F	0
+input2.bam	FBtr0070603	72	1	F	0
+input2.bam	FBtr0070603	72	17	F	4
+input2.bam	FBtr0070603	72	19	F	2
+input2.bam	FBtr0070603	72	20	F	1
+input2.bam	FBtr0070603	72	22	F	9
+input2.bam	FBtr0070603	72	27	F	1
+input2.bam	FBtr0070603	72	28	F	2
+input2.bam	FBtr0070603	72	30	F	1
+input2.bam	FBtr0070603	72	31	F	1
+input2.bam	FBtr0070603	72	34	F	2
+input2.bam	FBtr0070603	72	35	F	1
+input2.bam	FBtr0070603	72	37	F	1
+input2.bam	FBtr0070603	72	41	F	1
+input2.bam	FBtr0070603	72	51	F	2
+input2.bam	FBtr0070603	72	72	F	0
+input2.bam	FBtr0070604	72	1	F	0
+input2.bam	FBtr0070604	72	31	F	1
+input2.bam	FBtr0070604	72	32	F	5
+input2.bam	FBtr0070604	72	53	F	2
+input2.bam	FBtr0070604	72	72	F	0
+input2.bam	FBtr0070911	73	1	F	0
+input2.bam	FBtr0070911	73	32	F	1
+input2.bam	FBtr0070911	73	73	F	0
+input2.bam	FBtr0078490	72	1	F	3
+input2.bam	FBtr0078490	72	13	F	1
+input2.bam	FBtr0078490	72	20	F	1
+input2.bam	FBtr0078490	72	30	F	1
+input2.bam	FBtr0078490	72	72	F	0
+input2.bam	FBtr0078580	72	1	F	3
+input2.bam	FBtr0078580	72	11	F	1
+input2.bam	FBtr0078580	72	13	F	1
+input2.bam	FBtr0078580	72	15	F	2
+input2.bam	FBtr0078580	72	16	F	3
+input2.bam	FBtr0078580	72	17	F	2
+input2.bam	FBtr0078580	72	18	F	9
+input2.bam	FBtr0078580	72	19	F	19
+input2.bam	FBtr0078580	72	20	F	19
+input2.bam	FBtr0078580	72	21	F	39
+input2.bam	FBtr0078580	72	25	F	1
+input2.bam	FBtr0078580	72	26	F	1
+input2.bam	FBtr0078580	72	28	F	2
+input2.bam	FBtr0078580	72	29	F	1
+input2.bam	FBtr0078580	72	40	F	1
+input2.bam	FBtr0078580	72	72	F	0
+input2.bam	FBtr0078790	73	1	F	0
+input2.bam	FBtr0078790	73	42	F	1
+input2.bam	FBtr0078790	73	51	F	1
+input2.bam	FBtr0078790	73	52	F	2
+input2.bam	FBtr0078790	73	73	F	0
+input2.bam	FBtr0079064	72	1	F	0
+input2.bam	FBtr0079064	72	72	F	0
+input2.bam	FBtr0079090	72	1	F	0
+input2.bam	FBtr0079090	72	16	F	1
+input2.bam	FBtr0079090	72	72	F	0
+input2.bam	FBtr0079338	73	1	F	0
+input2.bam	FBtr0079338	73	41	F	2
+input2.bam	FBtr0079338	73	42	F	1
+input2.bam	FBtr0079338	73	73	F	0
+input2.bam	FBtr0079528	71	1	F	0
+input2.bam	FBtr0079528	71	3	F	1
+input2.bam	FBtr0079528	71	10	F	4
+input2.bam	FBtr0079528	71	11	F	3
+input2.bam	FBtr0079528	71	13	F	2
+input2.bam	FBtr0079528	71	14	F	2
+input2.bam	FBtr0079528	71	15	F	1
+input2.bam	FBtr0079528	71	18	F	3
+input2.bam	FBtr0079528	71	19	F	1
+input2.bam	FBtr0079528	71	30	F	1
+input2.bam	FBtr0079528	71	31	F	1
+input2.bam	FBtr0079528	71	32	F	7
+input2.bam	FBtr0079528	71	36	F	2
+input2.bam	FBtr0079528	71	37	F	3
+input2.bam	FBtr0079528	71	38	F	3
+input2.bam	FBtr0079528	71	71	F	0
+input2.bam	FBtr0079596	73	1	F	0
+input2.bam	FBtr0079596	73	3	F	3
+input2.bam	FBtr0079596	73	4	F	3
+input2.bam	FBtr0079596	73	5	F	9
+input2.bam	FBtr0079596	73	9	F	1
+input2.bam	FBtr0079596	73	11	F	18
+input2.bam	FBtr0079596	73	12	F	41
+input2.bam	FBtr0079596	73	13	F	36
+input2.bam	FBtr0079596	73	14	F	4
+input2.bam	FBtr0079596	73	22	F	1
+input2.bam	FBtr0079596	73	53	F	2
+input2.bam	FBtr0079596	73	59	R	1
+input2.bam	FBtr0079596	73	73	F	0
+input2.bam	FBtr0079677	72	1	F	0
+input2.bam	FBtr0079677	72	15	F	1
+input2.bam	FBtr0079677	72	72	F	0
+input2.bam	FBtr0079690	72	1	F	0
+input2.bam	FBtr0079690	72	15	F	1
+input2.bam	FBtr0079690	72	17	F	1
+input2.bam	FBtr0079690	72	19	F	1
+input2.bam	FBtr0079690	72	72	F	0
+input2.bam	FBtr0079692	73	1	F	0
+input2.bam	FBtr0079692	73	12	F	1
+input2.bam	FBtr0079692	73	15	F	1
+input2.bam	FBtr0079692	73	73	F	0
+input2.bam	FBtr0079693	72	1	F	0
+input2.bam	FBtr0079693	72	17	F	1
+input2.bam	FBtr0079693	72	52	F	1
+input2.bam	FBtr0079693	72	72	F	0
+input2.bam	FBtr0079694	72	1	F	0
+input2.bam	FBtr0079694	72	72	F	0
+input2.bam	FBtr0079702	72	1	F	0
+input2.bam	FBtr0079702	72	72	F	0
+input2.bam	FBtr0079728	72	1	F	0
+input2.bam	FBtr0079728	72	72	F	0
+input2.bam	FBtr0079729	72	1	F	0
+input2.bam	FBtr0079729	72	72	F	0
+input2.bam	FBtr0079752	72	1	F	0
+input2.bam	FBtr0079752	72	49	F	1
+input2.bam	FBtr0079752	72	72	F	0
+input2.bam	FBtr0079820	74	1	F	0
+input2.bam	FBtr0079820	74	52	F	1
+input2.bam	FBtr0079820	74	53	F	24
+input2.bam	FBtr0079820	74	54	F	6
+input2.bam	FBtr0079820	74	55	F	1
+input2.bam	FBtr0079820	74	74	F	0
+input2.bam	FBtr0080609	72	1	F	0
+input2.bam	FBtr0080609	72	21	F	1
+input2.bam	FBtr0080609	72	22	F	1
+input2.bam	FBtr0080609	72	33	F	1
+input2.bam	FBtr0080609	72	72	F	0
+input2.bam	FBtr0080644	72	1	F	0
+input2.bam	FBtr0080644	72	72	F	0
+input2.bam	FBtr0080646	72	1	F	0
+input2.bam	FBtr0080646	72	51	F	1
+input2.bam	FBtr0080646	72	72	F	0
+input2.bam	FBtr0080647	72	1	F	0
+input2.bam	FBtr0080647	72	72	F	0
+input2.bam	FBtr0080660	72	1	F	0
+input2.bam	FBtr0080660	72	72	F	0
+input2.bam	FBtr0080663	71	1	F	2
+input2.bam	FBtr0080663	71	11	F	1
+input2.bam	FBtr0080663	71	12	F	4
+input2.bam	FBtr0080663	71	13	F	3
+input2.bam	FBtr0080663	71	14	F	2
+input2.bam	FBtr0080663	71	15	F	1
+input2.bam	FBtr0080663	71	16	F	1
+input2.bam	FBtr0080663	71	18	F	1
+input2.bam	FBtr0080663	71	19	F	1
+input2.bam	FBtr0080663	71	21	F	1
+input2.bam	FBtr0080663	71	71	F	0
+input2.bam	FBtr0080664	71	1	F	1
+input2.bam	FBtr0080664	71	3	F	2
+input2.bam	FBtr0080664	71	10	F	1
+input2.bam	FBtr0080664	71	11	F	2
+input2.bam	FBtr0080664	71	12	F	3
+input2.bam	FBtr0080664	71	13	F	8
+input2.bam	FBtr0080664	71	15	F	2
+input2.bam	FBtr0080664	71	16	F	4
+input2.bam	FBtr0080664	71	18	F	4
+input2.bam	FBtr0080664	71	19	F	3
+input2.bam	FBtr0080664	71	30	F	1
+input2.bam	FBtr0080664	71	32	F	3
+input2.bam	FBtr0080664	71	33	F	1
+input2.bam	FBtr0080664	71	36	F	4
+input2.bam	FBtr0080664	71	37	F	2
+input2.bam	FBtr0080664	71	38	F	2
+input2.bam	FBtr0080664	71	42	F	1
+input2.bam	FBtr0080664	71	62	R	1
+input2.bam	FBtr0080664	71	71	F	0
+input2.bam	FBtr0080664	71	71	R	1
+input1.bam	FBtr0070001	72	1	F	0
+input1.bam	FBtr0070001	72	7	F	5
+input1.bam	FBtr0070001	72	8	F	3
+input1.bam	FBtr0070001	72	11	F	2
+input1.bam	FBtr0070001	72	17	F	1
+input1.bam	FBtr0070001	72	27	F	2
+input1.bam	FBtr0070001	72	30	F	1
+input1.bam	FBtr0070001	72	31	F	11
+input1.bam	FBtr0070001	72	32	F	27
+input1.bam	FBtr0070001	72	34	F	1
+input1.bam	FBtr0070001	72	72	F	0
+input1.bam	FBtr0070533	72	1	F	0
+input1.bam	FBtr0070533	72	19	F	5
+input1.bam	FBtr0070533	72	20	F	1
+input1.bam	FBtr0070533	72	22	F	1
+input1.bam	FBtr0070533	72	28	F	1
+input1.bam	FBtr0070533	72	32	F	3
+input1.bam	FBtr0070533	72	72	F	0
+input1.bam	FBtr0070603	72	1	F	0
+input1.bam	FBtr0070603	72	3	F	1
+input1.bam	FBtr0070603	72	4	F	1
+input1.bam	FBtr0070603	72	12	F	1
+input1.bam	FBtr0070603	72	13	F	1
+input1.bam	FBtr0070603	72	15	F	1
+input1.bam	FBtr0070603	72	16	F	1
+input1.bam	FBtr0070603	72	17	F	3
+input1.bam	FBtr0070603	72	19	F	8
+input1.bam	FBtr0070603	72	20	F	2
+input1.bam	FBtr0070603	72	21	F	1
+input1.bam	FBtr0070603	72	22	F	2
+input1.bam	FBtr0070603	72	24	F	1
+input1.bam	FBtr0070603	72	25	F	1
+input1.bam	FBtr0070603	72	26	F	6
+input1.bam	FBtr0070603	72	27	F	3
+input1.bam	FBtr0070603	72	32	F	1
+input1.bam	FBtr0070603	72	34	F	2
+input1.bam	FBtr0070603	72	42	F	1
+input1.bam	FBtr0070603	72	72	F	0
+input1.bam	FBtr0070604	72	1	F	0
+input1.bam	FBtr0070604	72	18	F	1
+input1.bam	FBtr0070604	72	31	F	9
+input1.bam	FBtr0070604	72	32	F	24
+input1.bam	FBtr0070604	72	72	F	0
+input1.bam	FBtr0070911	73	1	F	0
+input1.bam	FBtr0070911	73	15	F	1
+input1.bam	FBtr0070911	73	73	F	0
+input1.bam	FBtr0078490	72	1	F	0
+input1.bam	FBtr0078490	72	28	F	1
+input1.bam	FBtr0078490	72	72	F	0
+input1.bam	FBtr0078580	72	1	F	417
+input1.bam	FBtr0078580	72	3	F	3
+input1.bam	FBtr0078580	72	4	F	4
+input1.bam	FBtr0078580	72	5	F	4
+input1.bam	FBtr0078580	72	6	F	2
+input1.bam	FBtr0078580	72	7	F	1
+input1.bam	FBtr0078580	72	11	F	1
+input1.bam	FBtr0078580	72	12	F	2
+input1.bam	FBtr0078580	72	16	F	1
+input1.bam	FBtr0078580	72	19	F	1
+input1.bam	FBtr0078580	72	20	F	2
+input1.bam	FBtr0078580	72	21	F	4
+input1.bam	FBtr0078580	72	25	F	2
+input1.bam	FBtr0078580	72	72	F	0
+input1.bam	FBtr0078790	73	1	F	0
+input1.bam	FBtr0078790	73	33	F	1
+input1.bam	FBtr0078790	73	42	F	2
+input1.bam	FBtr0078790	73	44	F	1
+input1.bam	FBtr0078790	73	52	F	1
+input1.bam	FBtr0078790	73	73	F	0
+input1.bam	FBtr0079064	72	1	F	0
+input1.bam	FBtr0079064	72	3	F	1
+input1.bam	FBtr0079064	72	72	F	0
+input1.bam	FBtr0079090	72	1	F	1
+input1.bam	FBtr0079090	72	26	F	1
+input1.bam	FBtr0079090	72	56	R	1
+input1.bam	FBtr0079090	72	72	F	0
+input1.bam	FBtr0079338	73	1	F	0
+input1.bam	FBtr0079338	73	42	F	8
+input1.bam	FBtr0079338	73	43	F	1
+input1.bam	FBtr0079338	73	73	F	0
+input1.bam	FBtr0079528	71	1	F	10
+input1.bam	FBtr0079528	71	3	F	54
+input1.bam	FBtr0079528	71	4	F	2
+input1.bam	FBtr0079528	71	8	F	2
+input1.bam	FBtr0079528	71	10	F	1
+input1.bam	FBtr0079528	71	11	F	1
+input1.bam	FBtr0079528	71	18	F	3
+input1.bam	FBtr0079528	71	36	F	1
+input1.bam	FBtr0079528	71	71	F	0
+input1.bam	FBtr0079596	73	1	F	0
+input1.bam	FBtr0079596	73	3	F	11
+input1.bam	FBtr0079596	73	4	F	30
+input1.bam	FBtr0079596	73	13	F	1
+input1.bam	FBtr0079596	73	53	F	1
+input1.bam	FBtr0079596	73	54	F	1
+input1.bam	FBtr0079596	73	73	F	0
+input1.bam	FBtr0079677	72	1	F	1
+input1.bam	FBtr0079677	72	72	F	0
+input1.bam	FBtr0079690	72	1	F	0
+input1.bam	FBtr0079690	72	27	F	1
+input1.bam	FBtr0079690	72	72	F	0
+input1.bam	FBtr0079692	73	1	F	1
+input1.bam	FBtr0079692	73	32	F	1
+input1.bam	FBtr0079692	73	73	F	0
+input1.bam	FBtr0079693	72	1	F	1
+input1.bam	FBtr0079693	72	25	F	1
+input1.bam	FBtr0079693	72	72	F	0
+input1.bam	FBtr0079694	72	1	F	3
+input1.bam	FBtr0079694	72	72	F	0
+input1.bam	FBtr0079702	72	1	F	0
+input1.bam	FBtr0079702	72	72	F	0
+input1.bam	FBtr0079728	72	1	F	0
+input1.bam	FBtr0079728	72	8	F	1
+input1.bam	FBtr0079728	72	19	F	1
+input1.bam	FBtr0079728	72	72	F	0
+input1.bam	FBtr0079729	72	1	F	0
+input1.bam	FBtr0079729	72	13	F	1
+input1.bam	FBtr0079729	72	72	F	0
+input1.bam	FBtr0079752	72	1	F	1
+input1.bam	FBtr0079752	72	7	F	1
+input1.bam	FBtr0079752	72	52	F	1
+input1.bam	FBtr0079752	72	72	F	0
+input1.bam	FBtr0079820	74	1	F	0
+input1.bam	FBtr0079820	74	45	F	1
+input1.bam	FBtr0079820	74	49	F	1
+input1.bam	FBtr0079820	74	51	F	1
+input1.bam	FBtr0079820	74	74	F	0
+input1.bam	FBtr0080609	72	1	F	3
+input1.bam	FBtr0080609	72	3	F	2
+input1.bam	FBtr0080609	72	4	F	10
+input1.bam	FBtr0080609	72	12	F	1
+input1.bam	FBtr0080609	72	16	F	1
+input1.bam	FBtr0080609	72	17	F	1
+input1.bam	FBtr0080609	72	19	F	1
+input1.bam	FBtr0080609	72	20	F	1
+input1.bam	FBtr0080609	72	42	F	1
+input1.bam	FBtr0080609	72	72	F	0
+input1.bam	FBtr0080644	72	1	F	1
+input1.bam	FBtr0080644	72	4	F	1
+input1.bam	FBtr0080644	72	72	F	0
+input1.bam	FBtr0080646	72	1	F	0
+input1.bam	FBtr0080646	72	6	F	1
+input1.bam	FBtr0080646	72	7	F	1
+input1.bam	FBtr0080646	72	72	F	0
+input1.bam	FBtr0080647	72	1	F	0
+input1.bam	FBtr0080647	72	6	F	1
+input1.bam	FBtr0080647	72	8	F	1
+input1.bam	FBtr0080647	72	72	F	0
+input1.bam	FBtr0080660	72	1	F	0
+input1.bam	FBtr0080660	72	4	F	4
+input1.bam	FBtr0080660	72	7	F	2
+input1.bam	FBtr0080660	72	72	F	0
+input1.bam	FBtr0080663	71	1	F	6
+input1.bam	FBtr0080663	71	3	F	56
+input1.bam	FBtr0080663	71	4	F	4
+input1.bam	FBtr0080663	71	8	F	2
+input1.bam	FBtr0080663	71	51	F	1
+input1.bam	FBtr0080663	71	71	F	0
+input1.bam	FBtr0080664	71	1	F	6
+input1.bam	FBtr0080664	71	3	F	56
+input1.bam	FBtr0080664	71	4	F	4
+input1.bam	FBtr0080664	71	6	F	1
+input1.bam	FBtr0080664	71	7	F	1
+input1.bam	FBtr0080664	71	8	F	3
+input1.bam	FBtr0080664	71	9	F	1
+input1.bam	FBtr0080664	71	12	F	1
+input1.bam	FBtr0080664	71	13	F	2
+input1.bam	FBtr0080664	71	33	F	1
+input1.bam	FBtr0080664	71	36	F	1
+input1.bam	FBtr0080664	71	71	F	0
Binary file test-data/global_merge_20-30.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mean20-30.tab	Mon Oct 23 08:29:39 2017 -0400
@@ -0,0 +1,350 @@
+Dataset	Chromosome	Chrom_length	Coordinate	Polarity	Mean
+input2.bam	FBtr0070001	72	1	F	0
+input2.bam	FBtr0070001	72	13	F	22.0
+input2.bam	FBtr0070001	72	19	F	23.0
+input2.bam	FBtr0070001	72	28	F	23.0
+input2.bam	FBtr0070001	72	32	F	22.0
+input2.bam	FBtr0070001	72	53	F	20.0
+input2.bam	FBtr0070001	72	72	F	0
+input2.bam	FBtr0070533	72	1	F	0
+input2.bam	FBtr0070533	72	16	F	22.0
+input2.bam	FBtr0070533	72	19	F	22.0
+input2.bam	FBtr0070533	72	20	F	21.0
+input2.bam	FBtr0070533	72	21	F	20.0
+input2.bam	FBtr0070533	72	22	F	20.0
+input2.bam	FBtr0070533	72	72	F	0
+input2.bam	FBtr0070603	72	1	F	0
+input2.bam	FBtr0070603	72	17	F	21.5
+input2.bam	FBtr0070603	72	19	F	23.0
+input2.bam	FBtr0070603	72	20	F	21.0
+input2.bam	FBtr0070603	72	22	F	20.1
+input2.bam	FBtr0070603	72	27	F	23.0
+input2.bam	FBtr0070603	72	28	F	24.0
+input2.bam	FBtr0070603	72	30	F	20.0
+input2.bam	FBtr0070603	72	31	F	20.0
+input2.bam	FBtr0070603	72	34	F	21.0
+input2.bam	FBtr0070603	72	35	F	21.0
+input2.bam	FBtr0070603	72	37	F	20.0
+input2.bam	FBtr0070603	72	41	F	22.0
+input2.bam	FBtr0070603	72	51	F	20.0
+input2.bam	FBtr0070603	72	72	F	0
+input2.bam	FBtr0070604	72	1	F	0
+input2.bam	FBtr0070604	72	31	F	23.0
+input2.bam	FBtr0070604	72	32	F	21.8
+input2.bam	FBtr0070604	72	53	F	20.0
+input2.bam	FBtr0070604	72	72	F	0
+input2.bam	FBtr0070911	73	1	F	0
+input2.bam	FBtr0070911	73	32	F	23.0
+input2.bam	FBtr0070911	73	73	F	0
+input2.bam	FBtr0078490	72	1	F	22.7
+input2.bam	FBtr0078490	72	13	F	20.0
+input2.bam	FBtr0078490	72	20	F	20.0
+input2.bam	FBtr0078490	72	30	F	21.0
+input2.bam	FBtr0078490	72	72	F	0
+input2.bam	FBtr0078580	72	1	F	24.3
+input2.bam	FBtr0078580	72	11	F	23.0
+input2.bam	FBtr0078580	72	13	F	23.0
+input2.bam	FBtr0078580	72	15	F	22.5
+input2.bam	FBtr0078580	72	16	F	23.3
+input2.bam	FBtr0078580	72	17	F	23.0
+input2.bam	FBtr0078580	72	18	F	22.8
+input2.bam	FBtr0078580	72	19	F	21.7
+input2.bam	FBtr0078580	72	20	F	21.3
+input2.bam	FBtr0078580	72	21	F	20.4
+input2.bam	FBtr0078580	72	25	F	26.0
+input2.bam	FBtr0078580	72	26	F	25.0
+input2.bam	FBtr0078580	72	28	F	21.5
+input2.bam	FBtr0078580	72	29	F	23.0
+input2.bam	FBtr0078580	72	40	F	20.0
+input2.bam	FBtr0078580	72	72	F	0
+input2.bam	FBtr0078790	73	1	F	0
+input2.bam	FBtr0078790	73	42	F	20.0
+input2.bam	FBtr0078790	73	51	F	22.0
+input2.bam	FBtr0078790	73	52	F	21.0
+input2.bam	FBtr0078790	73	73	F	0
+input2.bam	FBtr0079064	72	1	F	0
+input2.bam	FBtr0079064	72	72	F	0
+input2.bam	FBtr0079090	72	1	F	0
+input2.bam	FBtr0079090	72	16	F	21.0
+input2.bam	FBtr0079090	72	72	F	0
+input2.bam	FBtr0079338	73	1	F	0
+input2.bam	FBtr0079338	73	41	F	22.5
+input2.bam	FBtr0079338	73	42	F	20.0
+input2.bam	FBtr0079338	73	73	F	0
+input2.bam	FBtr0079528	71	1	F	0
+input2.bam	FBtr0079528	71	3	F	24.0
+input2.bam	FBtr0079528	71	10	F	22.5
+input2.bam	FBtr0079528	71	11	F	21.0
+input2.bam	FBtr0079528	71	13	F	20.0
+input2.bam	FBtr0079528	71	14	F	21.5
+input2.bam	FBtr0079528	71	15	F	22.0
+input2.bam	FBtr0079528	71	18	F	21.3
+input2.bam	FBtr0079528	71	19	F	23.0
+input2.bam	FBtr0079528	71	30	F	23.0
+input2.bam	FBtr0079528	71	31	F	22.0
+input2.bam	FBtr0079528	71	32	F	20.6
+input2.bam	FBtr0079528	71	36	F	23.0
+input2.bam	FBtr0079528	71	37	F	26.0
+input2.bam	FBtr0079528	71	38	F	22.3
+input2.bam	FBtr0079528	71	71	F	0
+input2.bam	FBtr0079596	73	1	F	0
+input2.bam	FBtr0079596	73	3	F	22.3
+input2.bam	FBtr0079596	73	4	F	20.0
+input2.bam	FBtr0079596	73	5	F	20.0
+input2.bam	FBtr0079596	73	9	F	24.0
+input2.bam	FBtr0079596	73	11	F	22.0
+input2.bam	FBtr0079596	73	12	F	21.2
+input2.bam	FBtr0079596	73	13	F	20.2
+input2.bam	FBtr0079596	73	14	F	20.0
+input2.bam	FBtr0079596	73	22	F	20.0
+input2.bam	FBtr0079596	73	53	F	20.0
+input2.bam	FBtr0079596	73	59	R	21.0
+input2.bam	FBtr0079596	73	73	F	0
+input2.bam	FBtr0079677	72	1	F	0
+input2.bam	FBtr0079677	72	15	F	20.0
+input2.bam	FBtr0079677	72	72	F	0
+input2.bam	FBtr0079690	72	1	F	0
+input2.bam	FBtr0079690	72	15	F	20.0
+input2.bam	FBtr0079690	72	17	F	20.0
+input2.bam	FBtr0079690	72	19	F	21.0
+input2.bam	FBtr0079690	72	72	F	0
+input2.bam	FBtr0079692	73	1	F	0
+input2.bam	FBtr0079692	73	12	F	22.0
+input2.bam	FBtr0079692	73	15	F	21.0
+input2.bam	FBtr0079692	73	73	F	0
+input2.bam	FBtr0079693	72	1	F	0
+input2.bam	FBtr0079693	72	17	F	20.0
+input2.bam	FBtr0079693	72	52	F	20.0
+input2.bam	FBtr0079693	72	72	F	0
+input2.bam	FBtr0079694	72	1	F	0
+input2.bam	FBtr0079694	72	72	F	0
+input2.bam	FBtr0079702	72	1	F	0
+input2.bam	FBtr0079702	72	72	F	0
+input2.bam	FBtr0079728	72	1	F	0
+input2.bam	FBtr0079728	72	72	F	0
+input2.bam	FBtr0079729	72	1	F	0
+input2.bam	FBtr0079729	72	72	F	0
+input2.bam	FBtr0079752	72	1	F	0
+input2.bam	FBtr0079752	72	49	F	24.0
+input2.bam	FBtr0079752	72	72	F	0
+input2.bam	FBtr0079820	74	1	F	0
+input2.bam	FBtr0079820	74	52	F	21.0
+input2.bam	FBtr0079820	74	53	F	20.3
+input2.bam	FBtr0079820	74	54	F	20.2
+input2.bam	FBtr0079820	74	55	F	20.0
+input2.bam	FBtr0079820	74	74	F	0
+input2.bam	FBtr0080609	72	1	F	0
+input2.bam	FBtr0080609	72	21	F	25.0
+input2.bam	FBtr0080609	72	22	F	23.0
+input2.bam	FBtr0080609	72	33	F	22.0
+input2.bam	FBtr0080609	72	72	F	0
+input2.bam	FBtr0080644	72	1	F	0
+input2.bam	FBtr0080644	72	72	F	0
+input2.bam	FBtr0080646	72	1	F	0
+input2.bam	FBtr0080646	72	51	F	21.0
+input2.bam	FBtr0080646	72	72	F	0
+input2.bam	FBtr0080647	72	1	F	0
+input2.bam	FBtr0080647	72	72	F	0
+input2.bam	FBtr0080660	72	1	F	0
+input2.bam	FBtr0080660	72	72	F	0
+input2.bam	FBtr0080663	71	1	F	22.0
+input2.bam	FBtr0080663	71	11	F	21.0
+input2.bam	FBtr0080663	71	12	F	20.5
+input2.bam	FBtr0080663	71	13	F	20.0
+input2.bam	FBtr0080663	71	14	F	22.0
+input2.bam	FBtr0080663	71	15	F	22.0
+input2.bam	FBtr0080663	71	16	F	20.0
+input2.bam	FBtr0080663	71	18	F	24.0
+input2.bam	FBtr0080663	71	19	F	21.0
+input2.bam	FBtr0080663	71	21	F	20.0
+input2.bam	FBtr0080663	71	71	F	0
+input2.bam	FBtr0080664	71	1	F	22.0
+input2.bam	FBtr0080664	71	3	F	23.0
+input2.bam	FBtr0080664	71	10	F	23.0
+input2.bam	FBtr0080664	71	11	F	22.0
+input2.bam	FBtr0080664	71	12	F	21.0
+input2.bam	FBtr0080664	71	13	F	20.4
+input2.bam	FBtr0080664	71	15	F	21.5
+input2.bam	FBtr0080664	71	16	F	20.0
+input2.bam	FBtr0080664	71	18	F	20.3
+input2.bam	FBtr0080664	71	19	F	21.0
+input2.bam	FBtr0080664	71	30	F	21.0
+input2.bam	FBtr0080664	71	32	F	20.7
+input2.bam	FBtr0080664	71	33	F	20.0
+input2.bam	FBtr0080664	71	36	F	24.3
+input2.bam	FBtr0080664	71	37	F	24.5
+input2.bam	FBtr0080664	71	38	F	25.0
+input2.bam	FBtr0080664	71	42	F	20.0
+input2.bam	FBtr0080664	71	62	R	23.0
+input2.bam	FBtr0080664	71	71	F	0
+input2.bam	FBtr0080664	71	71	R	22.0
+input1.bam	FBtr0070001	72	1	F	0
+input1.bam	FBtr0070001	72	7	F	21.2
+input1.bam	FBtr0070001	72	8	F	21.3
+input1.bam	FBtr0070001	72	11	F	20.5
+input1.bam	FBtr0070001	72	17	F	23.0
+input1.bam	FBtr0070001	72	27	F	23.5
+input1.bam	FBtr0070001	72	30	F	23.0
+input1.bam	FBtr0070001	72	31	F	23.0
+input1.bam	FBtr0070001	72	32	F	22.0
+input1.bam	FBtr0070001	72	34	F	20.0
+input1.bam	FBtr0070001	72	72	F	0
+input1.bam	FBtr0070533	72	1	F	0
+input1.bam	FBtr0070533	72	19	F	21.8
+input1.bam	FBtr0070533	72	20	F	23.0
+input1.bam	FBtr0070533	72	22	F	20.0
+input1.bam	FBtr0070533	72	28	F	25.0
+input1.bam	FBtr0070533	72	32	F	21.3
+input1.bam	FBtr0070533	72	72	F	0
+input1.bam	FBtr0070603	72	1	F	0
+input1.bam	FBtr0070603	72	3	F	21.0
+input1.bam	FBtr0070603	72	4	F	20.0
+input1.bam	FBtr0070603	72	12	F	23.0
+input1.bam	FBtr0070603	72	13	F	22.0
+input1.bam	FBtr0070603	72	15	F	20.0
+input1.bam	FBtr0070603	72	16	F	24.0
+input1.bam	FBtr0070603	72	17	F	24.0
+input1.bam	FBtr0070603	72	19	F	23.3
+input1.bam	FBtr0070603	72	20	F	24.0
+input1.bam	FBtr0070603	72	21	F	25.0
+input1.bam	FBtr0070603	72	22	F	21.5
+input1.bam	FBtr0070603	72	24	F	21.0
+input1.bam	FBtr0070603	72	25	F	23.0
+input1.bam	FBtr0070603	72	26	F	25.8
+input1.bam	FBtr0070603	72	27	F	26.3
+input1.bam	FBtr0070603	72	32	F	20.0
+input1.bam	FBtr0070603	72	34	F	20.0
+input1.bam	FBtr0070603	72	42	F	21.0
+input1.bam	FBtr0070603	72	72	F	0
+input1.bam	FBtr0070604	72	1	F	0
+input1.bam	FBtr0070604	72	18	F	23.0
+input1.bam	FBtr0070604	72	31	F	23.0
+input1.bam	FBtr0070604	72	32	F	22.0
+input1.bam	FBtr0070604	72	72	F	0
+input1.bam	FBtr0070911	73	1	F	0
+input1.bam	FBtr0070911	73	15	F	21.0
+input1.bam	FBtr0070911	73	73	F	0
+input1.bam	FBtr0078490	72	1	F	0
+input1.bam	FBtr0078490	72	28	F	23.0
+input1.bam	FBtr0078490	72	72	F	0
+input1.bam	FBtr0078580	72	1	F	24.6
+input1.bam	FBtr0078580	72	3	F	22.0
+input1.bam	FBtr0078580	72	4	F	25.3
+input1.bam	FBtr0078580	72	5	F	21.5
+input1.bam	FBtr0078580	72	6	F	21.0
+input1.bam	FBtr0078580	72	7	F	22.0
+input1.bam	FBtr0078580	72	11	F	23.0
+input1.bam	FBtr0078580	72	12	F	22.5
+input1.bam	FBtr0078580	72	16	F	23.0
+input1.bam	FBtr0078580	72	19	F	24.0
+input1.bam	FBtr0078580	72	20	F	21.0
+input1.bam	FBtr0078580	72	21	F	20.3
+input1.bam	FBtr0078580	72	25	F	27.5
+input1.bam	FBtr0078580	72	72	F	0
+input1.bam	FBtr0078790	73	1	F	0
+input1.bam	FBtr0078790	73	33	F	23.0
+input1.bam	FBtr0078790	73	42	F	22.0
+input1.bam	FBtr0078790	73	44	F	20.0
+input1.bam	FBtr0078790	73	52	F	20.0
+input1.bam	FBtr0078790	73	73	F	0
+input1.bam	FBtr0079064	72	1	F	0
+input1.bam	FBtr0079064	72	3	F	21.0
+input1.bam	FBtr0079064	72	72	F	0
+input1.bam	FBtr0079090	72	1	F	28.0
+input1.bam	FBtr0079090	72	26	F	24.0
+input1.bam	FBtr0079090	72	56	R	21.0
+input1.bam	FBtr0079090	72	72	F	0
+input1.bam	FBtr0079338	73	1	F	0
+input1.bam	FBtr0079338	73	42	F	21.8
+input1.bam	FBtr0079338	73	43	F	21.0
+input1.bam	FBtr0079338	73	73	F	0
+input1.bam	FBtr0079528	71	1	F	25.3
+input1.bam	FBtr0079528	71	3	F	23.7
+input1.bam	FBtr0079528	71	4	F	24.0
+input1.bam	FBtr0079528	71	8	F	22.0
+input1.bam	FBtr0079528	71	10	F	21.0
+input1.bam	FBtr0079528	71	11	F	22.0
+input1.bam	FBtr0079528	71	18	F	20.3
+input1.bam	FBtr0079528	71	36	F	20.0
+input1.bam	FBtr0079528	71	71	F	0
+input1.bam	FBtr0079596	73	1	F	0
+input1.bam	FBtr0079596	73	3	F	23.1
+input1.bam	FBtr0079596	73	4	F	21.6
+input1.bam	FBtr0079596	73	13	F	21.0
+input1.bam	FBtr0079596	73	53	F	20.0
+input1.bam	FBtr0079596	73	54	F	20.0
+input1.bam	FBtr0079596	73	73	F	0
+input1.bam	FBtr0079677	72	1	F	23.0
+input1.bam	FBtr0079677	72	72	F	0
+input1.bam	FBtr0079690	72	1	F	0
+input1.bam	FBtr0079690	72	27	F	25.0
+input1.bam	FBtr0079690	72	72	F	0
+input1.bam	FBtr0079692	73	1	F	23.0
+input1.bam	FBtr0079692	73	32	F	20.0
+input1.bam	FBtr0079692	73	73	F	0
+input1.bam	FBtr0079693	72	1	F	24.0
+input1.bam	FBtr0079693	72	25	F	23.0
+input1.bam	FBtr0079693	72	72	F	0
+input1.bam	FBtr0079694	72	1	F	24.0
+input1.bam	FBtr0079694	72	72	F	0
+input1.bam	FBtr0079702	72	1	F	0
+input1.bam	FBtr0079702	72	72	F	0
+input1.bam	FBtr0079728	72	1	F	0
+input1.bam	FBtr0079728	72	8	F	20.0
+input1.bam	FBtr0079728	72	19	F	24.0
+input1.bam	FBtr0079728	72	72	F	0
+input1.bam	FBtr0079729	72	1	F	0
+input1.bam	FBtr0079729	72	13	F	22.0
+input1.bam	FBtr0079729	72	72	F	0
+input1.bam	FBtr0079752	72	1	F	24.0
+input1.bam	FBtr0079752	72	7	F	20.0
+input1.bam	FBtr0079752	72	52	F	20.0
+input1.bam	FBtr0079752	72	72	F	0
+input1.bam	FBtr0079820	74	1	F	0
+input1.bam	FBtr0079820	74	45	F	20.0
+input1.bam	FBtr0079820	74	49	F	24.0
+input1.bam	FBtr0079820	74	51	F	20.0
+input1.bam	FBtr0079820	74	74	F	0
+input1.bam	FBtr0080609	72	1	F	22.3
+input1.bam	FBtr0080609	72	3	F	21.0
+input1.bam	FBtr0080609	72	4	F	20.0
+input1.bam	FBtr0080609	72	12	F	23.0
+input1.bam	FBtr0080609	72	16	F	23.0
+input1.bam	FBtr0080609	72	17	F	24.0
+input1.bam	FBtr0080609	72	19	F	26.0
+input1.bam	FBtr0080609	72	20	F	25.0
+input1.bam	FBtr0080609	72	42	F	21.0
+input1.bam	FBtr0080609	72	72	F	0
+input1.bam	FBtr0080644	72	1	F	27.0
+input1.bam	FBtr0080644	72	4	F	24.0
+input1.bam	FBtr0080644	72	72	F	0
+input1.bam	FBtr0080646	72	1	F	0
+input1.bam	FBtr0080646	72	6	F	22.0
+input1.bam	FBtr0080646	72	7	F	21.0
+input1.bam	FBtr0080646	72	72	F	0
+input1.bam	FBtr0080647	72	1	F	0
+input1.bam	FBtr0080647	72	6	F	22.0
+input1.bam	FBtr0080647	72	8	F	20.0
+input1.bam	FBtr0080647	72	72	F	0
+input1.bam	FBtr0080660	72	1	F	0
+input1.bam	FBtr0080660	72	4	F	24.0
+input1.bam	FBtr0080660	72	7	F	21.0
+input1.bam	FBtr0080660	72	72	F	0
+input1.bam	FBtr0080663	71	1	F	26.0
+input1.bam	FBtr0080663	71	3	F	23.7
+input1.bam	FBtr0080663	71	4	F	23.3
+input1.bam	FBtr0080663	71	8	F	20.0
+input1.bam	FBtr0080663	71	51	F	20.0
+input1.bam	FBtr0080663	71	71	F	0
+input1.bam	FBtr0080664	71	1	F	24.7
+input1.bam	FBtr0080664	71	3	F	23.8
+input1.bam	FBtr0080664	71	4	F	23.5
+input1.bam	FBtr0080664	71	6	F	23.0
+input1.bam	FBtr0080664	71	7	F	21.0
+input1.bam	FBtr0080664	71	8	F	21.0
+input1.bam	FBtr0080664	71	9	F	20.0
+input1.bam	FBtr0080664	71	12	F	20.0
+input1.bam	FBtr0080664	71	13	F	20.0
+input1.bam	FBtr0080664	71	33	F	20.0
+input1.bam	FBtr0080664	71	36	F	21.0
+input1.bam	FBtr0080664	71	71	F	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/size20-30.tab	Mon Oct 23 08:29:39 2017 -0400
@@ -0,0 +1,263 @@
+Dataset	Chromosome	Polarity	Size	Counts
+input1.bam	FBtr0070001	F	20	4
+input1.bam	FBtr0070001	F	21	4
+input1.bam	FBtr0070001	F	22	29
+input1.bam	FBtr0070001	F	23	15
+input1.bam	FBtr0070001	F	24	1
+input1.bam	FBtr0070001	R	20	0
+input1.bam	FBtr0070001	R	21	0
+input1.bam	FBtr0070001	R	22	0
+input1.bam	FBtr0070001	R	23	0
+input1.bam	FBtr0070001	R	24	0
+input1.bam	FBtr0070533	F	20	2
+input1.bam	FBtr0070533	F	21	2
+input1.bam	FBtr0070533	F	22	4
+input1.bam	FBtr0070533	F	23	2
+input1.bam	FBtr0070533	F	24	0
+input1.bam	FBtr0070533	F	25	1
+input1.bam	FBtr0070533	R	20	0
+input1.bam	FBtr0070533	R	21	0
+input1.bam	FBtr0070533	R	22	0
+input1.bam	FBtr0070533	R	23	0
+input1.bam	FBtr0070533	R	24	0
+input1.bam	FBtr0070533	R	25	0
+input1.bam	FBtr0070603	F	20	6
+input1.bam	FBtr0070603	F	21	3
+input1.bam	FBtr0070603	F	22	3
+input1.bam	FBtr0070603	F	23	10
+input1.bam	FBtr0070603	F	24	2
+input1.bam	FBtr0070603	F	25	5
+input1.bam	FBtr0070603	F	26	5
+input1.bam	FBtr0070603	F	27	3
+input1.bam	FBtr0070603	R	20	0
+input1.bam	FBtr0070603	R	21	0
+input1.bam	FBtr0070603	R	22	0
+input1.bam	FBtr0070603	R	23	0
+input1.bam	FBtr0070603	R	24	0
+input1.bam	FBtr0070603	R	25	0
+input1.bam	FBtr0070603	R	26	0
+input1.bam	FBtr0070603	R	27	0
+input1.bam	FBtr0070604	F	21	1
+input1.bam	FBtr0070604	F	22	23
+input1.bam	FBtr0070604	F	23	10
+input1.bam	FBtr0070604	R	21	0
+input1.bam	FBtr0070604	R	22	0
+input1.bam	FBtr0070604	R	23	0
+input1.bam	FBtr0070911	F	21	1
+input1.bam	FBtr0070911	R	21	0
+input1.bam	FBtr0078490	F	23	1
+input1.bam	FBtr0078490	R	23	0
+input1.bam	FBtr0078580	F	20	9
+input1.bam	FBtr0078580	F	21	5
+input1.bam	FBtr0078580	F	22	13
+input1.bam	FBtr0078580	F	23	5
+input1.bam	FBtr0078580	F	24	180
+input1.bam	FBtr0078580	F	25	212
+input1.bam	FBtr0078580	F	26	1
+input1.bam	FBtr0078580	F	27	2
+input1.bam	FBtr0078580	F	28	17
+input1.bam	FBtr0078580	R	20	0
+input1.bam	FBtr0078580	R	21	0
+input1.bam	FBtr0078580	R	22	0
+input1.bam	FBtr0078580	R	23	0
+input1.bam	FBtr0078580	R	24	0
+input1.bam	FBtr0078580	R	25	0
+input1.bam	FBtr0078580	R	26	0
+input1.bam	FBtr0078580	R	27	0
+input1.bam	FBtr0078580	R	28	0
+input1.bam	FBtr0078790	F	20	2
+input1.bam	FBtr0078790	F	21	0
+input1.bam	FBtr0078790	F	22	2
+input1.bam	FBtr0078790	F	23	1
+input1.bam	FBtr0078790	R	20	0
+input1.bam	FBtr0078790	R	21	0
+input1.bam	FBtr0078790	R	22	0
+input1.bam	FBtr0078790	R	23	0
+input1.bam	FBtr0079064	F	21	1
+input1.bam	FBtr0079064	R	21	0
+input1.bam	FBtr0079090	F	21	0
+input1.bam	FBtr0079090	F	22	0
+input1.bam	FBtr0079090	F	23	0
+input1.bam	FBtr0079090	F	24	1
+input1.bam	FBtr0079090	F	25	0
+input1.bam	FBtr0079090	F	26	0
+input1.bam	FBtr0079090	F	27	0
+input1.bam	FBtr0079090	F	28	1
+input1.bam	FBtr0079090	R	21	1
+input1.bam	FBtr0079090	R	22	0
+input1.bam	FBtr0079090	R	23	0
+input1.bam	FBtr0079090	R	24	0
+input1.bam	FBtr0079090	R	25	0
+input1.bam	FBtr0079090	R	26	0
+input1.bam	FBtr0079090	R	27	0
+input1.bam	FBtr0079090	R	28	0
+input1.bam	FBtr0079338	F	21	3
+input1.bam	FBtr0079338	F	22	6
+input1.bam	FBtr0079338	R	21	0
+input1.bam	FBtr0079338	R	22	0
+input1.bam	FBtr0079528	F	20	12
+input1.bam	FBtr0079528	F	21	3
+input1.bam	FBtr0079528	F	22	2
+input1.bam	FBtr0079528	F	23	3
+input1.bam	FBtr0079528	F	24	36
+input1.bam	FBtr0079528	F	25	8
+input1.bam	FBtr0079528	F	26	5
+input1.bam	FBtr0079528	F	27	2
+input1.bam	FBtr0079528	F	28	2
+input1.bam	FBtr0079528	F	29	1
+input1.bam	FBtr0079528	R	20	0
+input1.bam	FBtr0079528	R	21	0
+input1.bam	FBtr0079528	R	22	0
+input1.bam	FBtr0079528	R	23	0
+input1.bam	FBtr0079528	R	24	0
+input1.bam	FBtr0079528	R	25	0
+input1.bam	FBtr0079528	R	26	0
+input1.bam	FBtr0079528	R	27	0
+input1.bam	FBtr0079528	R	28	0
+input1.bam	FBtr0079528	R	29	0
+input1.bam	FBtr0079596	F	20	13
+input1.bam	FBtr0079596	F	21	3
+input1.bam	FBtr0079596	F	22	16
+input1.bam	FBtr0079596	F	23	8
+input1.bam	FBtr0079596	F	24	0
+input1.bam	FBtr0079596	F	25	0
+input1.bam	FBtr0079596	F	26	3
+input1.bam	FBtr0079596	F	27	1
+input1.bam	FBtr0079596	R	20	0
+input1.bam	FBtr0079596	R	21	0
+input1.bam	FBtr0079596	R	22	0
+input1.bam	FBtr0079596	R	23	0
+input1.bam	FBtr0079596	R	24	0
+input1.bam	FBtr0079596	R	25	0
+input1.bam	FBtr0079596	R	26	0
+input1.bam	FBtr0079596	R	27	0
+input1.bam	FBtr0079677	F	23	1
+input1.bam	FBtr0079677	R	23	0
+input1.bam	FBtr0079690	F	25	1
+input1.bam	FBtr0079690	R	25	0
+input1.bam	FBtr0079692	F	20	1
+input1.bam	FBtr0079692	F	21	0
+input1.bam	FBtr0079692	F	22	0
+input1.bam	FBtr0079692	F	23	1
+input1.bam	FBtr0079692	R	20	0
+input1.bam	FBtr0079692	R	21	0
+input1.bam	FBtr0079692	R	22	0
+input1.bam	FBtr0079692	R	23	0
+input1.bam	FBtr0079693	F	23	1
+input1.bam	FBtr0079693	F	24	1
+input1.bam	FBtr0079693	R	23	0
+input1.bam	FBtr0079693	R	24	0
+input1.bam	FBtr0079694	F	23	1
+input1.bam	FBtr0079694	F	24	1
+input1.bam	FBtr0079694	F	25	1
+input1.bam	FBtr0079694	R	23	0
+input1.bam	FBtr0079694	R	24	0
+input1.bam	FBtr0079694	R	25	0
+input1.bam	FBtr0079728	F	20	1
+input1.bam	FBtr0079728	F	21	0
+input1.bam	FBtr0079728	F	22	0
+input1.bam	FBtr0079728	F	23	0
+input1.bam	FBtr0079728	F	24	1
+input1.bam	FBtr0079728	R	20	0
+input1.bam	FBtr0079728	R	21	0
+input1.bam	FBtr0079728	R	22	0
+input1.bam	FBtr0079728	R	23	0
+input1.bam	FBtr0079728	R	24	0
+input1.bam	FBtr0079729	F	22	1
+input1.bam	FBtr0079729	R	22	0
+input1.bam	FBtr0079752	F	20	2
+input1.bam	FBtr0079752	F	21	0
+input1.bam	FBtr0079752	F	22	0
+input1.bam	FBtr0079752	F	23	0
+input1.bam	FBtr0079752	F	24	1
+input1.bam	FBtr0079752	R	20	0
+input1.bam	FBtr0079752	R	21	0
+input1.bam	FBtr0079752	R	22	0
+input1.bam	FBtr0079752	R	23	0
+input1.bam	FBtr0079752	R	24	0
+input1.bam	FBtr0079820	F	20	2
+input1.bam	FBtr0079820	F	21	0
+input1.bam	FBtr0079820	F	22	0
+input1.bam	FBtr0079820	F	23	0
+input1.bam	FBtr0079820	F	24	1
+input1.bam	FBtr0079820	R	20	0
+input1.bam	FBtr0079820	R	21	0
+input1.bam	FBtr0079820	R	22	0
+input1.bam	FBtr0079820	R	23	0
+input1.bam	FBtr0079820	R	24	0
+input1.bam	FBtr0080609	F	20	10
+input1.bam	FBtr0080609	F	21	4
+input1.bam	FBtr0080609	F	22	0
+input1.bam	FBtr0080609	F	23	4
+input1.bam	FBtr0080609	F	24	1
+input1.bam	FBtr0080609	F	25	1
+input1.bam	FBtr0080609	F	26	1
+input1.bam	FBtr0080609	R	20	0
+input1.bam	FBtr0080609	R	21	0
+input1.bam	FBtr0080609	R	22	0
+input1.bam	FBtr0080609	R	23	0
+input1.bam	FBtr0080609	R	24	0
+input1.bam	FBtr0080609	R	25	0
+input1.bam	FBtr0080609	R	26	0
+input1.bam	FBtr0080644	F	24	1
+input1.bam	FBtr0080644	F	25	0
+input1.bam	FBtr0080644	F	26	0
+input1.bam	FBtr0080644	F	27	1
+input1.bam	FBtr0080644	R	24	0
+input1.bam	FBtr0080644	R	25	0
+input1.bam	FBtr0080644	R	26	0
+input1.bam	FBtr0080644	R	27	0
+input1.bam	FBtr0080646	F	21	1
+input1.bam	FBtr0080646	F	22	1
+input1.bam	FBtr0080646	R	21	0
+input1.bam	FBtr0080646	R	22	0
+input1.bam	FBtr0080647	F	20	1
+input1.bam	FBtr0080647	F	21	0
+input1.bam	FBtr0080647	F	22	1
+input1.bam	FBtr0080647	R	20	0
+input1.bam	FBtr0080647	R	21	0
+input1.bam	FBtr0080647	R	22	0
+input1.bam	FBtr0080660	F	21	2
+input1.bam	FBtr0080660	F	22	0
+input1.bam	FBtr0080660	F	23	0
+input1.bam	FBtr0080660	F	24	4
+input1.bam	FBtr0080660	R	21	0
+input1.bam	FBtr0080660	R	22	0
+input1.bam	FBtr0080660	R	23	0
+input1.bam	FBtr0080660	R	24	0
+input1.bam	FBtr0080663	F	20	10
+input1.bam	FBtr0080663	F	21	0
+input1.bam	FBtr0080663	F	22	1
+input1.bam	FBtr0080663	F	23	7
+input1.bam	FBtr0080663	F	24	33
+input1.bam	FBtr0080663	F	25	10
+input1.bam	FBtr0080663	F	26	6
+input1.bam	FBtr0080663	F	27	0
+input1.bam	FBtr0080663	F	28	2
+input1.bam	FBtr0080663	R	20	0
+input1.bam	FBtr0080663	R	21	0
+input1.bam	FBtr0080663	R	22	0
+input1.bam	FBtr0080663	R	23	0
+input1.bam	FBtr0080663	R	24	0
+input1.bam	FBtr0080663	R	25	0
+input1.bam	FBtr0080663	R	26	0
+input1.bam	FBtr0080663	R	27	0
+input1.bam	FBtr0080663	R	28	0
+input1.bam	FBtr0080664	F	20	12
+input1.bam	FBtr0080664	F	21	5
+input1.bam	FBtr0080664	F	22	0
+input1.bam	FBtr0080664	F	23	11
+input1.bam	FBtr0080664	F	24	33
+input1.bam	FBtr0080664	F	25	10
+input1.bam	FBtr0080664	F	26	4
+input1.bam	FBtr0080664	F	27	0
+input1.bam	FBtr0080664	F	28	2
+input1.bam	FBtr0080664	R	20	0
+input1.bam	FBtr0080664	R	21	0
+input1.bam	FBtr0080664	R	22	0
+input1.bam	FBtr0080664	R	23	0
+input1.bam	FBtr0080664	R	24	0
+input1.bam	FBtr0080664	R	25	0
+input1.bam	FBtr0080664	R	26	0
+input1.bam	FBtr0080664	R	27	0
+input1.bam	FBtr0080664	R	28	0