changeset 0:1ad5d040f85f draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
author artbio
date Mon, 10 Jul 2017 10:31:49 -0400
parents
children 2299eb1e7c93
files small_rna_map.py small_rna_map.r small_rna_map.xml test-data/input1.bam test-data/input2.bam test-data/input3.bam test-data/input4.bam test-data/output.pdf test-data/output.tab test-data/test/small_rna_map.bash
diffstat 10 files changed, 1131 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/small_rna_map.py	Mon Jul 10 10:31:49 2017 -0400
@@ -0,0 +1,84 @@
+import os
+from os.path import basename
+import pysam
+import argparse
+import numpy
+import collections
+
+
+def Parser():
+    the_parser = argparse.ArgumentParser()
+    the_parser.add_argument('--input', dest="input", required=True, nargs='+', help='input BAM files')
+    the_parser.add_argument('--output', action="store", type=str, help="output tabular file")
+    args = the_parser.parse_args()
+    return args
+
+
+def Ref_length(bamfile):
+    """ 
+    bamfile.references: list of reference names, and bamfile.lengths is list of their lengths 
+    """
+    ref_length={}
+    for e1, e2 in zip(bamfile.references, bamfile.lengths):
+        ref_length[e1]=e2
+    return ref_length
+
+
+def Ref_coord_pol(bamfile):
+    ref_coord ={}
+    rnames =list(bamfile.references)
+    for read in bamfile:
+        if not read.is_unmapped:
+            polarity = "F" if (not read.is_reverse) else "R"
+            read_rname = read.reference_name
+            read_position = read.pos + 1
+            the_key = (read_rname, read_position,polarity)
+            read_length = read.qlen
+            try:
+                ref_coord[the_key][0] = ref_coord[the_key][0]+1
+                ref_coord[the_key][1].append(read_length)
+            except:
+                ref_coord[the_key] = [1,[read_length]]
+            if read_rname in rnames:
+                rnames.remove(read_rname)
+    for rname in rnames:
+        ref_coord[(rname, 0, "F")]=[0,[0]]
+    return collections.OrderedDict(sorted(ref_coord.items())) #dictionary {(read_rname,read_position,polarity):[nmbr_read,list_of_alignment_length]}
+
+
+def calcul_stat(dictionary,ref):
+    dico = {}	
+    for keys in dictionary:
+        key = keys[0] #reference name
+        value = dictionary[keys][0] # position
+        try:
+            dico[key].append(value)
+        except: 
+            dico[key] = []
+            dico[key].append(value)
+    the_max = max(dico[ref])
+    return the_max
+
+
+def filename(infile): 
+    filename = basename(infile.filename)
+    the_name = filename.split('.')
+    return the_name[0]
+
+
+def main(infile, output):
+   with open(output,"w") as outfile:
+       outfile.write("Dataset" + "\t" + "Chromosome"+ "\t" + "Chrom_length" + "\t" + "Coordinate" + "\t" + "Nbr_reads" + "\t" + "Polarity" + "\t" + "Max" + "\t" + "Mean" + "\t" + "Median" + "\n")
+       for bamfile in infile:
+            with pysam.AlignmentFile(bamfile,"rb") as bamfile:
+                ref_coord = Ref_coord_pol(bamfile)
+                ref_length = Ref_length(bamfile)
+                tabulation = "\t"
+                for read in ref_coord:
+                    table = (str(filename(bamfile)), str(read[0]), str(ref_length[str(read[0])]), str(read[1]), str(ref_coord[read][0]), str(read[2]), str(calcul_stat(ref_coord,read[0])), str(round(numpy.mean(ref_coord[read][1]),1)), str(numpy.median(ref_coord[read][1])))
+                    outfile.write(tabulation.join(table) + "\n")
+
+
+if __name__ == "__main__":
+    args= Parser()
+    main(args.input, args.output)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/small_rna_map.r	Mon Jul 10 10:31:49 2017 -0400
@@ -0,0 +1,164 @@
+library(optparse)
+library(ggplot2)
+library(gridExtra)
+library(RColorBrewer)
+library(gtable)
+library(grid)
+ 
+option_list <- list(
+    make_option(c("-r", "--output_tab"), type="character", help="path to tabular file"),
+    make_option("--output_pdf", type = "character", help="path to the pdf file with plot")
+    )
+ 
+parser <- OptionParser(usage = "%prog [options] file", option_list = option_list)
+args = parse_args(parser)
+ 
+theme_set(theme_bw()) #a theme with a white background
+Table = read.delim(args$output_tab, header=T, row.names=NULL)
+Table <- within(Table, Nbr_reads[Polarity=="R"] <- (Nbr_reads[Polarity=="R"]*-1))
+ 
+#To assign colors to categorical variables in ggplot2 that have stable mapping
+myColors <- brewer.pal(3,"Set1")
+names(myColors) <- levels(Table$Polarity)
+colScale <- scale_colour_manual(name = "Polarity",values = myColors)
+ 
+#Make initial figures
+p <- ggplot(Table, aes(x=Coordinate, y=Nbr_reads, colour=Polarity)) +
+  colScale+
+  geom_segment(aes(y = 0, 
+                   x = Coordinate, 
+                   yend = Nbr_reads, 
+                   xend = Coordinate,
+			 color=Polarity),
+			 alpha=1
+               ) +
+  geom_segment(aes(y = Nbr_reads, 
+			 x = 0,
+			 yend=Nbr_reads,
+			 xend=Chrom_length), alpha=0
+		   )+
+  facet_wrap(Dataset~Chromosome, scales="free", nrow=1, labeller = label_wrap_gen(multi_line = FALSE))+
+  scale_y_continuous(breaks = function(x) round(pretty(seq(-(max(x) + 1), (max(x) + 1)))))+#to display only integer values on y axis
+  geom_hline(yintercept=0, size=0.3)+
+  theme(strip.text = element_text(size = 6, lineheight = 0.1), #specify strip size
+        panel.grid.major = element_line(colour = "#ffffff"),#conceal major grid lines
+        panel.grid.minor = element_line(colour = "#ffffff"),#conceal minor grid lines
+        axis.title = element_blank(),# Conceal axis titles
+        axis.text = element_text(size = 6))#modify the size of tick labels along axes
+#extract legend
+g_legend<-function(a.gplot){
+  tmp <- ggplot_gtable(ggplot_build(a.gplot))
+  leg <- which(sapply(tmp$grobs, function(x) x$name) == "guide-box")
+  legend <- tmp$grobs[[leg]]
+  return(legend)}
+ 
+mylegend <- g_legend(p);
+ 
+p <- p+ theme(legend.position = "none")# Hide the repeated caption
+ 
+# The second plot
+cols<- c("Median"="#000000", "Mean"="#fffa00")
+p2 <- ggplot(Table, aes(x = Coordinate, group=1)) +
+  geom_point(aes(y=Median, colour="Median"), alpha=1, size = 1) +
+  geom_point(aes(y=Mean, colour="Mean"), alpha= 0.3, size = 1.2)+
+  scale_colour_manual(name="", values=cols)+ 
+  expand_limits(y = seq(0,max(Table$Median),by=5)) +
+  facet_wrap(Dataset~Chromosome, scales="free", nrow=1, labeller = label_wrap_gen(multi_line = FALSE))+
+  geom_segment(aes(y = Nbr_reads, 
+			 x = 0,
+			 yend=Nbr_reads,
+			 xend=Chrom_length), alpha=0
+		   )+
+  scale_y_continuous(limits = c(0,max(Table$Median)), position = "right")+
+  theme(strip.text = element_text(size = 6, lineheight = 0.1),
+        panel.background = element_rect(fill = NA),
+        panel.grid.major = element_blank(),
+        panel.grid.minor = element_blank(),
+        panel.border = element_rect(fill = NA, colour = "grey50"),
+        axis.text = element_text(size = 6),
+        legend.position = "right"
+        )
+mylegend2 <- g_legend(p2);
+legend <- rbind(mylegend, mylegend2)
+# Transforme ggplot graphs on list of graphs
+plot.list1 <- by(data     = Table,
+                INDICES  = c(Table$Chromosome),
+                simplify = TRUE,
+                FUN      = function(x) {
+                  p %+% x 
+                })
+ 
+plot.list2 <- by(data     = Table,
+                INDICES  = c(Table$Chromosome),
+                simplify = TRUE,
+                FUN      = function(x) {
+                  p2 %+% x 
+                })
+ 
+# A function to get the original tick mark length
+plot_theme <- function(p) {
+  plyr::defaults(p$theme, theme_get())
+}
+ 
+# ggplot contains many labels that are themselves complex grob; 
+# usually a text grob surrounded by margins.
+# When moving the grobs from, say, the left to the right of a plot,
+# Make sure the margins and the justifications are swapped around.
+# The function below does the swapping.
+# Taken from the cowplot package:
+# https://github.com/wilkelab/cowplot/blob/master/R/switch_axis.R 
+ 
+hinvert_title_grob <- function(grob){
+ 
+  # Swap the widths
+  widths <- grob$widths
+  grob$widths[1] <- widths[3]
+  grob$widths[3] <- widths[1]
+  grob$vp[[1]]$layout$widths[1] <- widths[3]
+  grob$vp[[1]]$layout$widths[3] <- widths[1]
+ 
+  # Fix the justification
+  grob$children[[1]]$hjust <- 1 - grob$children[[1]]$hjust 
+  grob$children[[1]]$vjust <- 1 - grob$children[[1]]$vjust 
+  grob$children[[1]]$x <- unit(1, "npc") - grob$children[[1]]$x
+  grob
+}
+ 
+dual_axis <- function(v1,v2){
+# Get the ggplot grobs
+	g1 <- ggplot_gtable(ggplot_build(v1))
+	g2 <- ggplot_gtable(ggplot_build(v2))
+# Get the locations of the plot panels in g1.
+	pp <- c(subset(g1$layout, grepl("panel", g1$layout$name), se = t:r))
+# Overlap panels for second plot on those of the first plot
+	g <- gtable_add_grob(g1, g2$grobs[grepl("panel", g1$layout$name)], 
+      	pp$t, pp$l, pp$b, pp$l)
+# Get the y axis from g2 (axis line, tick marks, and tick mark labels)
+	index <- which(g2$layout$name == "axis-r-1-1")  # Which grob.   
+	yaxis <- g2$grobs[[index]]      # Extract the grob
+	ticks <- yaxis$children[[2]]  # swap tick marks and tick mark labels
+ 
+# Move the tick marks, Tick mark lengths can change. 
+	tml <- plot_theme(p)$axis.ticks.length   # Tick mark length
+	ticks$grobs[[1]]$x <- ticks$grobs[[1]]$x - unit(1, "npc") + tml
+ 
+# Swap margins and fix justifications for the tick mark labels
+ticks$grobs[[2]] <- hinvert_title_grob(ticks$grobs[[2]])
+ 
+# Put ticks back into yaxis
+yaxis$children[[2]] <- ticks
+ 
+# Put the transformed yaxis on the right side of g1
+g <- gtable_add_cols(g, g2$widths[g2$layout[index, ]$l], max(pp$r))
+g <- gtable_add_grob(g, yaxis, max(pp$t), max(pp$r) + 1, max(pp$b), max(pp$r) + 1, 
+   clip = "off")
+ 
+}
+ 
+plots <- list()
+len = length(plot.list1)
+for(i in 1:len ) {plots[[i]] <- dual_axis(plot.list1[[i]],plot.list2[[i]])}
+# Plotting in multiple pages with different rows
+multi.plot<-do.call(marrangeGrob,list(grobs=plots,ncol=1,nrow=8,top=NULL, bottom="Coordinates(nt)", left="Number of reads", right= legend))
+ggsave(args$output_pdf, device="pdf", plot=multi.plot, height=11.69, width=8.2)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/small_rna_map.xml	Mon Jul 10 10:31:49 2017 -0400
@@ -0,0 +1,67 @@
+<tool id="small_rna_map" name="small rna map" version="0.1.0">
+  <description></description>
+  <requirements>
+        <requirement type="package" version="1.11.2=py27_0">numpy</requirement>
+        <requirement type="package" version="0.11.2.1=py27_0">pysam</requirement>
+        <requirement type="package" version="1.3.2=r3.3.1_0">r-optparse</requirement>
+        <requirement type="package" version="2.2.1=r3.3.1_0">r-ggplot2</requirement>
+        <requirement type="package" version="2.2.1=r3.3.1_0">r-gridextra</requirement>
+  </requirements>
+  <stdio>
+      <exit_code range="1:" level="fatal" description="Tool exception" />
+  </stdio>
+  <command detect_errors="exit_code"><![CDATA[
+      python '$__tool_directory__'/small_rna_map.py 
+      --input 
+      #for $file in $input
+            '$file'
+      #end for 
+      --output '$output_tab' &&
+      Rscript '$__tool_directory__'/small_rna_map.r --output_tab '$output_tab' --output_pdf '$output_pdf'
+  ]]></command>
+ <inputs>
+   <param name="input" type="data" format="bam" label="Select multiple alignments to parse" multiple="True"/>                
+ </inputs>
+
+ <outputs>
+   <data format="tabular" name="output_tab" label="tabular file" />
+   <data format="pdf" name="output_pdf" label="PDF file" />
+</outputs>
+
+    <tests>
+        <test>
+            <param name="input" value="input1.bam,input2.bam" ftype="bam"/>
+            <output file="output.tab" name="output_tab" />
+            <output file="output.pdf" name="output_pdf" />
+        </test>
+    </tests>
+
+
+<help>
+
+**What it does**
+
+Generate read count maps from alignment BAM files, using pysam and ggplot.
+In addition to the read counts (bars), median size and mean size of reads mapping at a given position are plotted in the graphs.	
+
+**Inputs**
+Bam alignment files. Be carreful to select Bam corresponding to alignments to the same reference
+
+**Output**
+A pdf file generated by the R package ggplot2
+
+</help>
+
+<citations>
+    <citation type="doi">10.1093/bioinformatics/btp352</citation>
+     <citation type="bibtex">@Book{,
+    author = {Hadley Wickham},
+    title = {ggplot2: Elegant Graphics for Data Analysis},
+    publisher = {Springer-Verlag New York},
+    year = {2009},
+    isbn = {978-0-387-98140-6},
+    url = {http://ggplot2.org},
+   }</citation>
+</citations>
+</tool>
+
Binary file test-data/input1.bam has changed
Binary file test-data/input2.bam has changed
Binary file test-data/input3.bam has changed
Binary file test-data/input4.bam has changed
Binary file test-data/output.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.tab	Mon Jul 10 10:31:49 2017 -0400
@@ -0,0 +1,773 @@
+Dataset	Chromosome	Chrom_length	Coordinate	Nbr_reads	Polarity	Max	Mean	Median
+dataset_1	FBtr0070911	73	1	1	F	1	23.0	23.0
+dataset_1	FBtr0070911	73	4	1	F	1	20.0	20.0
+dataset_1	FBtr0070911	73	7	1	F	1	15.0	15.0
+dataset_1	FBtr0071581	71	1	2	F	2	21.0	21.0
+dataset_1	FBtr0071581	71	4	1	F	2	24.0	24.0
+dataset_1	FBtr0071630	71	1	1	F	1	22.0	22.0
+dataset_1	FBtr0071630	71	3	1	F	1	25.0	25.0
+dataset_1	FBtr0071736	72	3	6	F	6	25.0	26.0
+dataset_1	FBtr0072445	72	1	2	F	2	18.0	18.0
+dataset_1	FBtr0072445	72	2	1	F	2	19.0	19.0
+dataset_1	FBtr0072447	72	1	3	F	3	18.0	18.0
+dataset_1	FBtr0072580	74	14	1	F	1	20.0	20.0
+dataset_1	FBtr0072580	74	35	1	F	1	19.0	19.0
+dataset_1	FBtr0072580	74	36	1	F	1	18.0	18.0
+dataset_1	FBtr0072600	72	1	1	F	1	19.0	19.0
+dataset_1	FBtr0072600	72	43	1	F	1	28.0	28.0
+dataset_1	FBtr0072683	72	1	1	F	1	25.0	25.0
+dataset_1	FBtr0072683	72	40	1	F	1	17.0	17.0
+dataset_1	FBtr0072687	72	1	1	F	1	24.0	24.0
+dataset_1	FBtr0072687	72	5	1	F	1	20.0	20.0
+dataset_1	FBtr0072687	72	29	1	F	1	23.0	23.0
+dataset_1	FBtr0072690	72	32	1	F	1	20.0	20.0
+dataset_1	FBtr0072690	72	50	1	F	1	20.0	20.0
+dataset_1	FBtr0073018	72	7	1	F	1	16.0	16.0
+dataset_1	FBtr0073018	72	22	1	F	1	18.0	18.0
+dataset_1	FBtr0073020	72	1	1	F	1	20.0	20.0
+dataset_1	FBtr0073020	72	29	1	F	1	22.0	22.0
+dataset_1	FBtr0073125	73	1	1	F	1	29.0	29.0
+dataset_1	FBtr0073125	73	15	1	F	1	17.0	17.0
+dataset_1	FBtr0073125	73	16	1	F	1	19.0	19.0
+dataset_1	FBtr0073125	73	32	1	F	1	21.0	21.0
+dataset_1	FBtr0073857	73	1	1	F	1	19.0	19.0
+dataset_1	FBtr0073857	73	44	1	F	1	17.0	17.0
+dataset_1	FBtr0073861	73	30	1	F	1	22.0	22.0
+dataset_1	FBtr0073861	73	52	1	F	1	20.0	20.0
+dataset_1	FBtr0073865	82	1	1	F	1	25.0	25.0
+dataset_1	FBtr0073865	82	49	1	F	1	16.0	16.0
+dataset_1	FBtr0073866	82	1	1	F	1	24.0	24.0
+dataset_1	FBtr0073866	82	3	1	F	1	22.0	22.0
+dataset_1	FBtr0073872	82	1	1	F	1	18.0	18.0
+dataset_1	FBtr0073872	82	4	1	F	1	22.0	22.0
+dataset_1	FBtr0073872	82	44	1	F	1	20.0	20.0
+dataset_1	FBtr0073872	82	48	1	F	1	16.0	16.0
+dataset_1	FBtr0073885	82	1	2	F	2	25.0	25.0
+dataset_1	FBtr0073886	82	1	4	F	4	24.0	24.0
+dataset_1	FBtr0075244	72	1	1	F	1	19.0	19.0
+dataset_1	FBtr0075244	72	3	1	F	1	23.0	23.0
+dataset_1	FBtr0075244	72	8	1	F	1	20.0	20.0
+dataset_1	FBtr0075244	72	10	1	F	1	19.0	19.0
+dataset_1	FBtr0075681	72	1	1	F	1	19.0	19.0
+dataset_1	FBtr0075681	72	41	1	F	1	20.0	20.0
+dataset_1	FBtr0075713	72	41	1	F	1	19.0	19.0
+dataset_1	FBtr0075713	72	42	1	F	1	18.0	18.0
+dataset_1	FBtr0075713	72	43	1	F	1	16.0	16.0
+dataset_1	FBtr0075830	72	1	2	F	2	17.5	17.5
+dataset_1	FBtr0075830	72	15	1	F	2	23.0	23.0
+dataset_1	FBtr0076083	72	1	1	F	1	18.0	18.0
+dataset_1	FBtr0076083	72	33	1	F	1	21.0	21.0
+dataset_1	FBtr0076743	83	1	3	F	3	16.7	16.0
+dataset_1	FBtr0076743	83	7	1	F	3	20.0	20.0
+dataset_1	FBtr0076743	83	34	1	F	3	16.0	16.0
+dataset_1	FBtr0076743	83	45	1	F	3	21.0	21.0
+dataset_1	FBtr0076762	73	1	31	F	31	22.1	22.0
+dataset_1	FBtr0076762	73	3	1	F	31	20.0	20.0
+dataset_1	FBtr0077142	82	1	4	F	4	23.5	24.0
+dataset_1	FBtr0077142	82	3	1	F	4	21.0	21.0
+dataset_1	FBtr0077142	82	49	1	F	4	15.0	15.0
+dataset_1	FBtr0077143	73	41	1	F	3	22.0	22.0
+dataset_1	FBtr0077143	73	44	1	F	3	22.0	22.0
+dataset_1	FBtr0077143	73	45	3	F	3	17.3	16.0
+dataset_1	FBtr0077158	73	44	1	F	3	22.0	22.0
+dataset_1	FBtr0077158	73	46	3	F	3	18.7	20.0
+dataset_1	FBtr0077458	72	33	1	F	1	21.0	21.0
+dataset_1	FBtr0077458	72	35	1	F	1	20.0	20.0
+dataset_1	FBtr0077577	82	1	2	F	2	25.0	25.0
+dataset_1	FBtr0077577	82	55	1	F	2	18.0	18.0
+dataset_1	FBtr0077577	82	62	1	F	2	18.0	18.0
+dataset_1	FBtr0077613	82	1	5	F	5	24.6	25.0
+dataset_1	FBtr0077821	71	1	4	F	4	20.3	22.0
+dataset_1	FBtr0077821	71	3	2	F	4	25.0	25.0
+dataset_1	FBtr0077821	71	4	1	F	4	24.0	24.0
+dataset_1	FBtr0077821	71	18	1	F	4	23.0	23.0
+dataset_1	FBtr0077821	71	33	1	F	4	20.0	20.0
+dataset_1	FBtr0077872	71	1	3	F	4	22.7	23.0
+dataset_1	FBtr0077872	71	3	4	F	4	23.8	25.0
+dataset_1	FBtr0077872	71	4	1	F	4	19.0	19.0
+dataset_1	FBtr0077872	71	7	1	F	4	16.0	16.0
+dataset_1	FBtr0077872	71	18	2	F	4	21.0	21.0
+dataset_1	FBtr0078547	83	1	1	F	1	16.0	16.0
+dataset_1	FBtr0078547	83	50	1	F	1	15.0	15.0
+dataset_1	FBtr0079090	72	52	2	F	2	18.0	18.0
+dataset_1	FBtr0079528	71	1	3	F	3	22.3	22.0
+dataset_1	FBtr0079528	71	3	2	F	3	25.0	25.0
+dataset_1	FBtr0079528	71	18	1	F	3	23.0	23.0
+dataset_1	FBtr0079690	72	1	1	F	1	20.0	20.0
+dataset_1	FBtr0079690	72	29	1	F	1	25.0	25.0
+dataset_1	FBtr0079690	72	30	1	F	1	24.0	24.0
+dataset_1	FBtr0079693	72	1	1	F	1	23.0	23.0
+dataset_1	FBtr0079693	72	4	1	F	1	18.0	18.0
+dataset_1	FBtr0079728	72	1	1	F	1	23.0	23.0
+dataset_1	FBtr0079728	72	33	1	F	1	22.0	22.0
+dataset_1	FBtr0079752	72	1	2	F	2	28.0	28.0
+dataset_1	FBtr0079752	72	34	1	F	2	20.0	20.0
+dataset_1	FBtr0080609	72	1	2	F	2	19.5	19.5
+dataset_1	FBtr0080609	72	12	1	F	2	20.0	20.0
+dataset_1	FBtr0080609	72	34	1	F	2	19.0	19.0
+dataset_1	FBtr0080660	72	1	2	F	2	25.0	25.0
+dataset_1	FBtr0080660	72	4	1	F	2	21.0	21.0
+dataset_1	FBtr0080663	71	1	2	F	4	22.0	22.0
+dataset_1	FBtr0080663	71	3	4	F	4	24.8	25.0
+dataset_1	FBtr0080663	71	18	1	F	4	17.0	17.0
+dataset_1	FBtr0080664	71	1	1	F	3	20.0	20.0
+dataset_1	FBtr0080664	71	3	3	F	3	22.0	20.0
+dataset_1	FBtr0080664	71	18	2	F	3	22.5	22.5
+dataset_1	FBtr0080664	71	32	1	F	3	18.0	18.0
+dataset_1	FBtr0080665	71	1	4	F	4	24.3	25.0
+dataset_1	FBtr0080665	71	3	1	F	4	25.0	25.0
+dataset_1	FBtr0080665	71	16	1	F	4	16.0	16.0
+dataset_1	FBtr0080665	71	18	1	F	4	23.0	23.0
+dataset_1	FBtr0080666	71	1	5	F	5	23.4	23.0
+dataset_1	FBtr0080666	71	3	1	F	5	25.0	25.0
+dataset_1	FBtr0080666	71	15	1	F	5	18.0	18.0
+dataset_1	FBtr0080666	71	18	2	F	5	23.0	23.0
+dataset_1	FBtr0080666	71	35	1	F	5	18.0	18.0
+dataset_1	FBtr0081565	72	3	8	F	8	21.4	21.0
+dataset_1	FBtr0081610	72	3	8	F	8	20.8	21.0
+dataset_1	FBtr0081809	73	8	1	F	1	16.0	16.0
+dataset_1	FBtr0081809	73	36	1	F	1	18.0	18.0
+dataset_1	FBtr0081811	73	29	1	F	1	23.0	23.0
+dataset_1	FBtr0081811	73	57	1	R	1	16.0	16.0
+dataset_1	FBtr0081894	73	1	1	F	1	23.0	23.0
+dataset_1	FBtr0081894	73	51	1	F	1	20.0	20.0
+dataset_1	FBtr0081895	73	6	1	F	1	18.0	18.0
+dataset_1	FBtr0081895	73	26	1	F	1	15.0	15.0
+dataset_1	FBtr0081895	73	39	1	F	1	16.0	16.0
+dataset_1	FBtr0081923	73	13	1	F	1	23.0	23.0
+dataset_1	FBtr0081923	73	14	1	F	1	16.0	16.0
+dataset_1	FBtr0083267	73	15	1	F	1	17.0	17.0
+dataset_1	FBtr0083267	73	23	1	F	1	18.0	18.0
+dataset_1	FBtr0083468	73	1	31	F	31	21.8	22.0
+dataset_1	FBtr0083468	73	6	1	F	31	20.0	20.0
+dataset_1	FBtr0083469	72	1	1	F	1	21.0	21.0
+dataset_1	FBtr0083469	72	4	1	F	1	22.0	22.0
+dataset_1	FBtr0083469	72	18	1	F	1	19.0	19.0
+dataset_1	FBtr0083469	72	19	1	F	1	21.0	21.0
+dataset_1	FBtr0083469	72	32	1	F	1	22.0	22.0
+dataset_1	FBtr0083472	72	4	1	F	2	27.0	27.0
+dataset_1	FBtr0083472	72	6	1	F	2	25.0	25.0
+dataset_1	FBtr0083472	72	11	2	F	2	19.0	19.0
+dataset_1	FBtr0083472	72	31	1	F	2	23.0	23.0
+dataset_1	FBtr0083472	72	33	1	F	2	21.0	21.0
+dataset_1	FBtr0083473	72	1	1	F	3	23.0	23.0
+dataset_1	FBtr0083473	72	4	3	F	3	24.3	24.0
+dataset_1	FBtr0083473	72	8	1	F	3	18.0	18.0
+dataset_1	FBtr0083473	72	33	2	F	3	20.5	20.5
+dataset_1	FBtr0083474	73	1	20	F	20	22.1	22.0
+dataset_1	FBtr0083474	73	3	1	F	20	25.0	25.0
+dataset_1	FBtr0083475	73	1	24	F	24	22.5	22.0
+dataset_1	FBtr0083475	73	3	1	F	24	19.0	19.0
+dataset_1	FBtr0083475	73	4	1	F	24	19.0	19.0
+dataset_1	FBtr0083475	73	6	1	F	24	16.0	16.0
+dataset_1	FBtr0083477	73	1	25	F	25	21.5	22.0
+dataset_1	FBtr0083477	73	7	1	F	25	16.0	16.0
+dataset_1	FBtr0083477	73	39	1	F	25	16.0	16.0
+dataset_1	FBtr0083491	73	1	29	F	29	22.0	22.0
+dataset_1	FBtr0083492	73	1	27	F	27	21.9	22.0
+dataset_1	FBtr0083492	73	4	2	F	27	19.0	19.0
+dataset_1	FBtr0083492	73	42	1	F	27	20.0	20.0
+dataset_1	FBtr0083493	73	1	18	F	18	22.4	22.0
+dataset_1	FBtr0083494	73	1	19	F	19	22.4	22.0
+dataset_1	FBtr0083499	73	1	27	F	27	21.7	22.0
+dataset_1	FBtr0083499	73	3	1	F	27	20.0	20.0
+dataset_1	FBtr0083499	73	4	1	F	27	19.0	19.0
+dataset_1	FBtr0083501	72	1	1	F	2	16.0	16.0
+dataset_1	FBtr0083501	72	4	1	F	2	17.0	17.0
+dataset_1	FBtr0083501	72	15	1	F	2	23.0	23.0
+dataset_1	FBtr0083501	72	31	2	F	2	23.0	23.0
+dataset_1	FBtr0083544	72	1	1	F	7	23.0	23.0
+dataset_1	FBtr0083544	72	3	7	F	7	21.3	21.0
+dataset_1	FBtr0083544	72	38	1	F	7	16.0	16.0
+dataset_1	FBtr0083545	72	3	8	F	8	20.6	21.0
+dataset_1	FBtr0083545	72	45	1	F	8	17.0	17.0
+dataset_1	FBtr0083693	72	4	1	F	1	27.0	27.0
+dataset_1	FBtr0083693	72	32	1	F	1	22.0	22.0
+dataset_1	FBtr0083693	72	33	1	F	1	21.0	21.0
+dataset_1	FBtr0083793	73	1	30	F	30	22.1	22.0
+dataset_1	FBtr0084597	84	9	1	F	1	17.0	17.0
+dataset_1	FBtr0084597	84	12	1	F	1	15.0	15.0
+dataset_1	FBtr0084597	84	48	1	F	1	18.0	18.0
+dataset_1	FBtr0085979	73	58	1	R	1	15.0	15.0
+dataset_1	FBtr0086006	73	41	1	F	1	23.0	23.0
+dataset_1	FBtr0086006	73	44	1	F	1	20.0	20.0
+dataset_1	FBtr0086015	74	1	1	F	1	19.0	19.0
+dataset_1	FBtr0086015	74	42	1	F	1	20.0	20.0
+dataset_1	FBtr0086190	73	6	1	F	1	18.0	18.0
+dataset_1	FBtr0086190	73	30	1	F	1	17.0	17.0
+dataset_1	FBtr0086234	72	33	1	R	1	24.0	24.0
+dataset_1	FBtr0086312	71	1	4	F	4	21.0	22.0
+dataset_1	FBtr0086312	71	3	4	F	4	21.0	21.5
+dataset_1	FBtr0086312	71	18	1	F	4	23.0	23.0
+dataset_1	FBtr0086312	71	20	1	F	4	22.0	22.0
+dataset_1	FBtr0086314	71	1	1	F	4	22.0	22.0
+dataset_1	FBtr0086314	71	3	4	F	4	25.3	25.0
+dataset_1	FBtr0086314	71	18	1	F	4	23.0	23.0
+dataset_1	FBtr0086332	72	7	1	F	1	18.0	18.0
+dataset_1	FBtr0086332	72	10	1	F	1	15.0	15.0
+dataset_1	FBtr0086334	73	4	1	F	1	24.0	24.0
+dataset_1	FBtr0086334	73	5	1	F	1	17.0	17.0
+dataset_1	FBtr0086334	73	16	1	F	1	16.0	16.0
+dataset_1	FBtr0086445	72	1	1	F	1	23.0	23.0
+dataset_1	FBtr0086445	72	16	1	F	1	16.0	16.0
+dataset_1	FBtr0086446	72	4	1	F	1	17.0	17.0
+dataset_1	FBtr0086446	72	20	1	F	1	21.0	21.0
+dataset_1	FBtr0086448	72	1	1	F	1	18.0	18.0
+dataset_1	FBtr0086448	72	14	1	F	1	18.0	18.0
+dataset_1	FBtr0086448	72	19	1	F	1	22.0	22.0
+dataset_1	FBtr0086603	72	28	1	F	1	23.0	23.0
+dataset_1	FBtr0086603	72	35	1	F	1	16.0	16.0
+dataset_1	FBtr0086603	72	37	1	F	1	18.0	18.0
+dataset_1	FBtr0086611	82	1	1	F	2	27.0	27.0
+dataset_1	FBtr0086611	82	12	2	F	2	16.5	16.5
+dataset_1	FBtr0086659	71	1	2	F	3	20.0	20.0
+dataset_1	FBtr0086659	71	3	3	F	3	23.3	25.0
+dataset_1	FBtr0086659	71	4	1	F	3	24.0	24.0
+dataset_1	FBtr0086659	71	7	1	F	3	16.0	16.0
+dataset_1	FBtr0086659	71	8	1	F	3	20.0	20.0
+dataset_1	FBtr0086659	71	18	2	F	3	23.0	23.0
+dataset_1	FBtr0086659	71	51	1	F	3	18.0	18.0
+dataset_1	FBtr0086898	73	7	1	F	1	17.0	17.0
+dataset_1	FBtr0086898	73	40	1	F	1	18.0	18.0
+dataset_1	FBtr0086908	72	1	4	F	4	19.8	19.0
+dataset_1	FBtr0086908	72	7	1	F	4	16.0	16.0
+dataset_1	FBtr0086965	72	1	7	F	7	19.6	20.0
+dataset_1	FBtr0087055	71	1	3	F	3	22.3	22.0
+dataset_1	FBtr0087055	71	3	2	F	3	24.5	24.5
+dataset_1	FBtr0087055	71	4	2	F	3	22.0	22.0
+dataset_1	FBtr0087055	71	7	3	F	3	16.0	16.0
+dataset_1	FBtr0087129	72	1	1	F	1	18.0	18.0
+dataset_1	FBtr0087129	72	7	1	F	1	23.0	23.0
+dataset_1	FBtr0087197	72	1	2	F	2	24.5	24.5
+dataset_1	FBtr0087197	72	4	2	F	2	26.0	26.0
+dataset_1	FBtr0087197	72	43	1	F	2	27.0	27.0
+dataset_1	FBtr0087198	72	15	1	F	1	16.0	16.0
+dataset_1	FBtr0087198	72	30	1	F	1	21.0	21.0
+dataset_1	FBtr0087688	73	12	2	F	2	16.0	16.0
+dataset_1	FBtr0087688	73	15	1	F	2	16.0	16.0
+dataset_1	FBtr0087961	72	5	1	F	1	24.0	24.0
+dataset_1	FBtr0087961	72	10	1	F	1	18.0	18.0
+dataset_1	FBtr0087962	72	3	1	F	1	26.0	26.0
+dataset_1	FBtr0087962	72	28	1	F	1	17.0	17.0
+dataset_1	FBtr0088087	73	1	1	F	1	18.0	18.0
+dataset_1	FBtr0088087	73	42	1	F	1	15.0	15.0
+dataset_1	FBtr0088156	87	6	1	F	1	18.0	18.0
+dataset_1	FBtr0088156	87	8	1	F	1	19.0	19.0
+dataset_1	FBtr0088156	87	41	1	F	1	18.0	18.0
+dataset_1	FBtr0089302	83	1	1	F	1	19.0	19.0
+dataset_1	FBtr0089302	83	12	1	F	1	16.0	16.0
+dataset_1	FBtr0089302	83	45	1	F	1	20.0	20.0
+dataset_1	FBtr0089613	71	1	4	F	4	23.3	22.5
+dataset_1	FBtr0089613	71	3	3	F	4	22.7	23.0
+dataset_1	FBtr0089613	71	19	1	F	4	22.0	22.0
+dataset_1	FBtr0089613	71	51	1	F	4	18.0	18.0
+dataset_1	FBtr0100842	73	1	28	F	28	22.0	22.0
+dataset_1	FBtr0100843	72	1	1	F	1	26.0	26.0
+dataset_1	FBtr0100843	72	4	1	F	1	26.0	26.0
+dataset_1	FBtr0100843	72	32	1	F	1	22.0	22.0
+dataset_1	FBtr0100845	84	11	1	F	1	15.0	15.0
+dataset_1	FBtr0100845	84	12	1	F	1	15.0	15.0
+dataset_1	FBtr0100846	73	16	1	F	1	16.0	16.0
+dataset_1	FBtr0100846	73	42	1	F	1	21.0	21.0
+dataset_1	FBtr0100847	72	28	1	F	1	23.0	23.0
+dataset_1	FBtr0100847	72	53	1	F	1	16.0	16.0
+dataset_1	FBtr0100854	65	1	14	F	14	18.8	20.0
+dataset_1	FBtr0100854	65	2	1	F	14	19.0	19.0
+dataset_1	FBtr0100854	65	19	1	F	14	21.0	21.0
+dataset_1	FBtr0100856	69	33	1	F	1	17.0	17.0
+dataset_1	FBtr0100856	69	47	1	F	1	18.0	18.0
+dataset_1	FBtr0100858	66	1	1	F	1	22.0	22.0
+dataset_1	FBtr0100858	66	3	1	F	1	17.0	17.0
+dataset_1	FBtr0100859	62	1	1	F	2	16.0	16.0
+dataset_1	FBtr0100859	62	5	1	F	2	16.0	16.0
+dataset_1	FBtr0100859	62	16	1	F	2	17.0	17.0
+dataset_1	FBtr0100859	62	29	1	F	2	18.0	18.0
+dataset_1	FBtr0100859	62	45	2	F	2	17.0	17.0
+dataset_1	FBtr0100860	66	1	1	F	2	17.0	17.0
+dataset_1	FBtr0100860	66	7	1	F	2	17.0	17.0
+dataset_1	FBtr0100860	66	11	1	F	2	17.0	17.0
+dataset_1	FBtr0100860	66	13	1	F	2	18.0	18.0
+dataset_1	FBtr0100860	66	18	2	F	2	17.0	17.0
+dataset_1	FBtr0100860	66	20	1	F	2	15.0	15.0
+dataset_1	FBtr0100860	66	46	1	F	2	17.0	17.0
+dataset_1	FBtr0100862	66	1	2	F	4	16.5	16.5
+dataset_1	FBtr0100862	66	6	2	F	4	20.0	20.0
+dataset_1	FBtr0100862	66	22	1	F	4	19.0	19.0
+dataset_1	FBtr0100862	66	44	4	F	4	20.0	20.0
+dataset_1	FBtr0100862	66	46	1	F	4	18.0	18.0
+dataset_1	FBtr0100862	66	48	2	F	4	18.5	18.5
+dataset_1	FBtr0100862	66	49	1	F	4	18.0	18.0
+dataset_1	FBtr0100864	71	1	8	F	8	18.5	18.0
+dataset_1	FBtr0100864	71	3	1	F	8	23.0	23.0
+dataset_1	FBtr0100864	71	8	1	F	8	18.0	18.0
+dataset_1	FBtr0100864	71	10	1	F	8	22.0	22.0
+dataset_1	FBtr0100864	71	11	1	F	8	20.0	20.0
+dataset_1	FBtr0100864	71	12	2	F	8	21.5	21.5
+dataset_1	FBtr0100864	71	13	1	F	8	24.0	24.0
+dataset_1	FBtr0100864	71	14	1	F	8	20.0	20.0
+dataset_1	FBtr0100864	71	15	3	F	8	19.7	21.0
+dataset_1	FBtr0100864	71	16	2	F	8	20.5	20.5
+dataset_1	FBtr0100864	71	19	1	F	8	18.0	18.0
+dataset_1	FBtr0100864	71	21	2	F	8	17.0	17.0
+dataset_1	FBtr0100864	71	44	2	F	8	16.0	16.0
+dataset_1	FBtr0100864	71	51	1	F	8	21.0	21.0
+dataset_1	FBtr0100864	71	56	1	F	8	16.0	16.0
+dataset_1	FBtr0100865	67	1	1	F	1	16.0	16.0
+dataset_1	FBtr0100865	67	19	1	F	1	19.0	19.0
+dataset_1	FBtr0100865	67	20	1	F	1	20.0	20.0
+dataset_1	FBtr0100865	67	23	1	F	1	17.0	17.0
+dataset_1	FBtr0100869	65	1	3	F	3	18.3	19.0
+dataset_1	FBtr0100869	65	12	1	F	3	16.0	16.0
+dataset_1	FBtr0100869	65	16	1	F	3	17.0	17.0
+dataset_1	FBtr0100869	65	17	1	F	3	20.0	20.0
+dataset_1	FBtr0100869	65	28	1	F	3	16.0	16.0
+dataset_1	FBtr0100869	65	30	2	F	3	20.5	20.5
+dataset_1	FBtr0100869	65	33	2	F	3	19.5	19.5
+dataset_1	FBtr0100869	65	36	1	F	3	18.0	18.0
+dataset_1	FBtr0100871	65	1	22	F	22	17.1	17.0
+dataset_1	FBtr0100871	65	15	1	F	22	23.0	23.0
+dataset_1	FBtr0100871	65	27	1	F	22	16.0	16.0
+dataset_1	FBtr0100872	64	1	49	F	49	18.8	18.0
+dataset_1	FBtr0100872	64	2	1	F	49	17.0	17.0
+dataset_1	FBtr0100872	64	5	1	F	49	18.0	18.0
+dataset_1	FBtr0100872	64	6	2	F	49	17.0	17.0
+dataset_1	FBtr0100872	64	7	3	F	49	17.3	16.0
+dataset_1	FBtr0100872	64	8	1	F	49	19.0	19.0
+dataset_1	FBtr0100872	64	9	2	F	49	19.5	19.5
+dataset_1	FBtr0100872	64	10	2	F	49	20.0	20.0
+dataset_1	FBtr0100872	64	11	1	F	49	16.0	16.0
+dataset_1	FBtr0100872	64	13	1	F	49	16.0	16.0
+dataset_1	FBtr0100872	64	15	5	F	49	22.0	22.0
+dataset_1	FBtr0100872	64	16	2	F	49	21.0	21.0
+dataset_1	FBtr0100872	64	18	2	F	49	19.5	19.5
+dataset_1	FBtr0100872	64	19	9	F	49	18.2	18.0
+dataset_1	FBtr0100872	64	22	3	F	49	16.0	16.0
+dataset_1	FBtr0100872	64	36	2	F	49	16.0	16.0
+dataset_1	FBtr0100872	64	42	1	F	49	18.0	18.0
+dataset_1	FBtr0100874	68	1	83	F	83	19.5	19.0
+dataset_1	FBtr0100874	68	3	4	F	83	17.3	17.0
+dataset_1	FBtr0100874	68	4	1	F	83	18.0	18.0
+dataset_1	FBtr0100874	68	5	1	F	83	17.0	17.0
+dataset_1	FBtr0100874	68	10	1	F	83	16.0	16.0
+dataset_1	FBtr0100874	68	13	1	F	83	23.0	23.0
+dataset_1	FBtr0100874	68	20	1	F	83	20.0	20.0
+dataset_1	FBtr0100875	67	3	1	F	1	18.0	18.0
+dataset_1	FBtr0100875	67	26	1	F	1	16.0	16.0
+dataset_1	FBtr0100875	67	48	1	F	1	16.0	16.0
+dataset_1	FBtr0100876	65	1	1	F	2	27.0	27.0
+dataset_1	FBtr0100876	65	6	1	F	2	16.0	16.0
+dataset_1	FBtr0100876	65	9	1	F	2	19.0	19.0
+dataset_1	FBtr0100876	65	13	2	F	2	15.5	15.5
+dataset_1	FBtr0100876	65	18	1	F	2	19.0	19.0
+dataset_1	FBtr0100876	65	19	1	F	2	18.0	18.0
+dataset_1	FBtr0100876	65	28	1	F	2	17.0	17.0
+dataset_1	FBtr0100876	65	29	1	F	2	19.0	19.0
+dataset_1	FBtr0100876	65	48	1	F	2	16.0	16.0
+dataset_1	FBtr0100878	66	23	1	F	3	21.0	21.0
+dataset_1	FBtr0100878	66	26	1	F	3	16.0	16.0
+dataset_1	FBtr0100878	66	27	1	F	3	15.0	15.0
+dataset_1	FBtr0100878	66	28	3	F	3	18.3	18.0
+dataset_1	FBtr0100878	66	30	2	F	3	20.0	20.0
+dataset_1	FBtr0100878	66	34	2	F	3	18.0	18.0
+dataset_1	FBtr0100878	66	35	1	F	3	15.0	15.0
+dataset_1	FBtr0100885	66	20	1	F	2	23.0	23.0
+dataset_1	FBtr0100885	66	46	2	F	2	17.0	17.0
+dataset_1	FBtr0100885	66	47	1	F	2	16.0	16.0
+dataset_1	FBtr0100887	65	1	1	F	1	21.0	21.0
+dataset_1	FBtr0100887	65	5	1	F	1	21.0	21.0
+dataset_1	FBtr0100887	65	6	1	F	1	20.0	20.0
+dataset_1	FBtr0100887	65	39	1	F	1	21.0	21.0
+dataset_1	FBtr0100889	73	3	1	F	1	19.0	19.0
+dataset_1	FBtr0100889	73	15	1	F	1	17.0	17.0
+dataset_1	FBtr0100889	73	23	1	F	1	20.0	20.0
+dataset_1	FBtr0100889	73	24	1	F	1	23.0	23.0
+dataset_1	FBtr0100889	73	27	1	F	1	15.0	15.0
+dataset_1	FBtr0100889	73	37	1	F	1	20.0	20.0
+dataset_1	FBtr0100889	73	42	1	F	1	17.0	17.0
+dataset_1	FBtr0100889	73	48	1	F	1	19.0	19.0
+dataset_2	FBtr0070911	73	1	1	F	1	23.0	23.0
+dataset_2	FBtr0070911	73	4	1	F	1	20.0	20.0
+dataset_2	FBtr0070911	73	7	1	F	1	15.0	15.0
+dataset_2	FBtr0071581	71	1	2	F	2	21.0	21.0
+dataset_2	FBtr0071581	71	4	1	F	2	24.0	24.0
+dataset_2	FBtr0071630	71	1	1	F	1	22.0	22.0
+dataset_2	FBtr0071630	71	3	1	F	1	25.0	25.0
+dataset_2	FBtr0071736	72	3	6	F	6	25.0	26.0
+dataset_2	FBtr0072445	72	1	2	F	2	18.0	18.0
+dataset_2	FBtr0072445	72	2	1	F	2	19.0	19.0
+dataset_2	FBtr0072447	72	1	3	F	3	18.0	18.0
+dataset_2	FBtr0072580	74	14	1	F	1	20.0	20.0
+dataset_2	FBtr0072580	74	35	1	F	1	19.0	19.0
+dataset_2	FBtr0072580	74	36	1	F	1	18.0	18.0
+dataset_2	FBtr0072600	72	1	1	F	1	19.0	19.0
+dataset_2	FBtr0072600	72	43	1	F	1	28.0	28.0
+dataset_2	FBtr0072683	72	1	1	F	1	25.0	25.0
+dataset_2	FBtr0072683	72	40	1	F	1	17.0	17.0
+dataset_2	FBtr0072687	72	1	1	F	1	24.0	24.0
+dataset_2	FBtr0072687	72	5	1	F	1	20.0	20.0
+dataset_2	FBtr0072687	72	29	1	F	1	23.0	23.0
+dataset_2	FBtr0072690	72	32	1	F	1	20.0	20.0
+dataset_2	FBtr0072690	72	50	1	F	1	20.0	20.0
+dataset_2	FBtr0073018	72	7	1	F	1	16.0	16.0
+dataset_2	FBtr0073018	72	22	1	F	1	18.0	18.0
+dataset_2	FBtr0073020	72	1	1	F	1	20.0	20.0
+dataset_2	FBtr0073020	72	29	1	F	1	22.0	22.0
+dataset_2	FBtr0073125	73	1	1	F	1	29.0	29.0
+dataset_2	FBtr0073125	73	15	1	F	1	17.0	17.0
+dataset_2	FBtr0073125	73	16	1	F	1	19.0	19.0
+dataset_2	FBtr0073125	73	32	1	F	1	21.0	21.0
+dataset_2	FBtr0073857	73	1	1	F	1	19.0	19.0
+dataset_2	FBtr0073857	73	44	1	F	1	17.0	17.0
+dataset_2	FBtr0073861	73	30	1	F	1	22.0	22.0
+dataset_2	FBtr0073861	73	52	1	F	1	20.0	20.0
+dataset_2	FBtr0073865	82	1	1	F	1	25.0	25.0
+dataset_2	FBtr0073865	82	49	1	F	1	16.0	16.0
+dataset_2	FBtr0073866	82	1	1	F	1	24.0	24.0
+dataset_2	FBtr0073866	82	3	1	F	1	22.0	22.0
+dataset_2	FBtr0073872	82	1	1	F	1	18.0	18.0
+dataset_2	FBtr0073872	82	4	1	F	1	22.0	22.0
+dataset_2	FBtr0073872	82	44	1	F	1	20.0	20.0
+dataset_2	FBtr0073872	82	48	1	F	1	16.0	16.0
+dataset_2	FBtr0073885	82	1	2	F	2	25.0	25.0
+dataset_2	FBtr0073886	82	1	4	F	4	24.0	24.0
+dataset_2	FBtr0075244	72	1	1	F	1	19.0	19.0
+dataset_2	FBtr0075244	72	3	1	F	1	23.0	23.0
+dataset_2	FBtr0075244	72	8	1	F	1	20.0	20.0
+dataset_2	FBtr0075244	72	10	1	F	1	19.0	19.0
+dataset_2	FBtr0075681	72	1	1	F	1	19.0	19.0
+dataset_2	FBtr0075681	72	41	1	F	1	20.0	20.0
+dataset_2	FBtr0075713	72	41	1	F	1	19.0	19.0
+dataset_2	FBtr0075713	72	42	1	F	1	18.0	18.0
+dataset_2	FBtr0075713	72	43	1	F	1	16.0	16.0
+dataset_2	FBtr0075830	72	1	2	F	2	17.5	17.5
+dataset_2	FBtr0075830	72	15	1	F	2	23.0	23.0
+dataset_2	FBtr0076083	72	1	1	F	1	18.0	18.0
+dataset_2	FBtr0076083	72	33	1	F	1	21.0	21.0
+dataset_2	FBtr0076743	83	1	3	F	3	16.7	16.0
+dataset_2	FBtr0076743	83	7	1	F	3	20.0	20.0
+dataset_2	FBtr0076743	83	34	1	F	3	16.0	16.0
+dataset_2	FBtr0076743	83	45	1	F	3	21.0	21.0
+dataset_2	FBtr0076762	73	1	31	F	31	22.1	22.0
+dataset_2	FBtr0076762	73	3	1	F	31	20.0	20.0
+dataset_2	FBtr0077142	82	1	4	F	4	23.5	24.0
+dataset_2	FBtr0077142	82	3	1	F	4	21.0	21.0
+dataset_2	FBtr0077142	82	49	1	F	4	15.0	15.0
+dataset_2	FBtr0077143	73	41	1	F	3	22.0	22.0
+dataset_2	FBtr0077143	73	44	1	F	3	22.0	22.0
+dataset_2	FBtr0077143	73	45	3	F	3	17.3	16.0
+dataset_2	FBtr0077158	73	44	1	F	3	22.0	22.0
+dataset_2	FBtr0077158	73	46	3	F	3	18.7	20.0
+dataset_2	FBtr0077458	72	33	1	F	1	21.0	21.0
+dataset_2	FBtr0077458	72	35	1	F	1	20.0	20.0
+dataset_2	FBtr0077577	82	1	2	F	2	25.0	25.0
+dataset_2	FBtr0077577	82	55	1	F	2	18.0	18.0
+dataset_2	FBtr0077577	82	62	1	F	2	18.0	18.0
+dataset_2	FBtr0077613	82	1	5	F	5	24.6	25.0
+dataset_2	FBtr0077821	71	1	4	F	4	20.3	22.0
+dataset_2	FBtr0077821	71	3	2	F	4	25.0	25.0
+dataset_2	FBtr0077821	71	4	1	F	4	24.0	24.0
+dataset_2	FBtr0077821	71	18	1	F	4	23.0	23.0
+dataset_2	FBtr0077821	71	33	1	F	4	20.0	20.0
+dataset_2	FBtr0077872	71	1	3	F	4	22.7	23.0
+dataset_2	FBtr0077872	71	3	4	F	4	23.8	25.0
+dataset_2	FBtr0077872	71	4	1	F	4	19.0	19.0
+dataset_2	FBtr0077872	71	7	1	F	4	16.0	16.0
+dataset_2	FBtr0077872	71	18	2	F	4	21.0	21.0
+dataset_2	FBtr0078547	83	1	1	F	1	16.0	16.0
+dataset_2	FBtr0078547	83	50	1	F	1	15.0	15.0
+dataset_2	FBtr0079090	72	52	2	F	2	18.0	18.0
+dataset_2	FBtr0079528	71	1	3	F	3	22.3	22.0
+dataset_2	FBtr0079528	71	3	2	F	3	25.0	25.0
+dataset_2	FBtr0079528	71	18	1	F	3	23.0	23.0
+dataset_2	FBtr0079690	72	1	1	F	1	20.0	20.0
+dataset_2	FBtr0079690	72	29	1	F	1	25.0	25.0
+dataset_2	FBtr0079690	72	30	1	F	1	24.0	24.0
+dataset_2	FBtr0079693	72	1	1	F	1	23.0	23.0
+dataset_2	FBtr0079693	72	4	1	F	1	18.0	18.0
+dataset_2	FBtr0079728	72	1	1	F	1	23.0	23.0
+dataset_2	FBtr0079728	72	33	1	F	1	22.0	22.0
+dataset_2	FBtr0079752	72	1	2	F	2	28.0	28.0
+dataset_2	FBtr0079752	72	34	1	F	2	20.0	20.0
+dataset_2	FBtr0080609	72	1	2	F	2	19.5	19.5
+dataset_2	FBtr0080609	72	12	1	F	2	20.0	20.0
+dataset_2	FBtr0080609	72	34	1	F	2	19.0	19.0
+dataset_2	FBtr0080660	72	1	2	F	2	25.0	25.0
+dataset_2	FBtr0080660	72	4	1	F	2	21.0	21.0
+dataset_2	FBtr0080663	71	1	2	F	4	22.0	22.0
+dataset_2	FBtr0080663	71	3	4	F	4	24.8	25.0
+dataset_2	FBtr0080663	71	18	1	F	4	17.0	17.0
+dataset_2	FBtr0080664	71	1	1	F	3	20.0	20.0
+dataset_2	FBtr0080664	71	3	3	F	3	22.0	20.0
+dataset_2	FBtr0080664	71	18	2	F	3	22.5	22.5
+dataset_2	FBtr0080664	71	32	1	F	3	18.0	18.0
+dataset_2	FBtr0080665	71	1	4	F	4	24.3	25.0
+dataset_2	FBtr0080665	71	3	1	F	4	25.0	25.0
+dataset_2	FBtr0080665	71	16	1	F	4	16.0	16.0
+dataset_2	FBtr0080665	71	18	1	F	4	23.0	23.0
+dataset_2	FBtr0080666	71	1	5	F	5	23.4	23.0
+dataset_2	FBtr0080666	71	3	1	F	5	25.0	25.0
+dataset_2	FBtr0080666	71	15	1	F	5	18.0	18.0
+dataset_2	FBtr0080666	71	18	2	F	5	23.0	23.0
+dataset_2	FBtr0080666	71	35	1	F	5	18.0	18.0
+dataset_2	FBtr0081565	72	3	8	F	8	21.4	21.0
+dataset_2	FBtr0081610	72	3	8	F	8	20.8	21.0
+dataset_2	FBtr0081809	73	8	1	F	1	16.0	16.0
+dataset_2	FBtr0081809	73	36	1	F	1	18.0	18.0
+dataset_2	FBtr0081811	73	29	1	F	1	23.0	23.0
+dataset_2	FBtr0081811	73	57	1	R	1	16.0	16.0
+dataset_2	FBtr0081894	73	1	1	F	1	23.0	23.0
+dataset_2	FBtr0081894	73	51	1	F	1	20.0	20.0
+dataset_2	FBtr0081895	73	6	1	F	1	18.0	18.0
+dataset_2	FBtr0081895	73	26	1	F	1	15.0	15.0
+dataset_2	FBtr0081895	73	39	1	F	1	16.0	16.0
+dataset_2	FBtr0081923	73	13	1	F	1	23.0	23.0
+dataset_2	FBtr0081923	73	14	1	F	1	16.0	16.0
+dataset_2	FBtr0083267	73	15	1	F	1	17.0	17.0
+dataset_2	FBtr0083267	73	23	1	F	1	18.0	18.0
+dataset_2	FBtr0083468	73	1	31	F	31	21.8	22.0
+dataset_2	FBtr0083468	73	6	1	F	31	20.0	20.0
+dataset_2	FBtr0083469	72	1	1	F	1	21.0	21.0
+dataset_2	FBtr0083469	72	4	1	F	1	22.0	22.0
+dataset_2	FBtr0083469	72	18	1	F	1	19.0	19.0
+dataset_2	FBtr0083469	72	19	1	F	1	21.0	21.0
+dataset_2	FBtr0083469	72	32	1	F	1	22.0	22.0
+dataset_2	FBtr0083472	72	4	1	F	2	27.0	27.0
+dataset_2	FBtr0083472	72	6	1	F	2	25.0	25.0
+dataset_2	FBtr0083472	72	11	2	F	2	19.0	19.0
+dataset_2	FBtr0083472	72	31	1	F	2	23.0	23.0
+dataset_2	FBtr0083472	72	33	1	F	2	21.0	21.0
+dataset_2	FBtr0083473	72	1	1	F	3	23.0	23.0
+dataset_2	FBtr0083473	72	4	3	F	3	24.3	24.0
+dataset_2	FBtr0083473	72	8	1	F	3	18.0	18.0
+dataset_2	FBtr0083473	72	33	2	F	3	20.5	20.5
+dataset_2	FBtr0083474	73	1	20	F	20	22.1	22.0
+dataset_2	FBtr0083474	73	3	1	F	20	25.0	25.0
+dataset_2	FBtr0083475	73	1	24	F	24	22.5	22.0
+dataset_2	FBtr0083475	73	3	1	F	24	19.0	19.0
+dataset_2	FBtr0083475	73	4	1	F	24	19.0	19.0
+dataset_2	FBtr0083475	73	6	1	F	24	16.0	16.0
+dataset_2	FBtr0083477	73	1	25	F	25	21.5	22.0
+dataset_2	FBtr0083477	73	7	1	F	25	16.0	16.0
+dataset_2	FBtr0083477	73	39	1	F	25	16.0	16.0
+dataset_2	FBtr0083491	73	1	29	F	29	22.0	22.0
+dataset_2	FBtr0083492	73	1	27	F	27	21.9	22.0
+dataset_2	FBtr0083492	73	4	2	F	27	19.0	19.0
+dataset_2	FBtr0083492	73	42	1	F	27	20.0	20.0
+dataset_2	FBtr0083493	73	1	18	F	18	22.4	22.0
+dataset_2	FBtr0083494	73	1	19	F	19	22.4	22.0
+dataset_2	FBtr0083499	73	1	27	F	27	21.7	22.0
+dataset_2	FBtr0083499	73	3	1	F	27	20.0	20.0
+dataset_2	FBtr0083499	73	4	1	F	27	19.0	19.0
+dataset_2	FBtr0083501	72	1	1	F	2	16.0	16.0
+dataset_2	FBtr0083501	72	4	1	F	2	17.0	17.0
+dataset_2	FBtr0083501	72	15	1	F	2	23.0	23.0
+dataset_2	FBtr0083501	72	31	2	F	2	23.0	23.0
+dataset_2	FBtr0083544	72	1	1	F	7	23.0	23.0
+dataset_2	FBtr0083544	72	3	7	F	7	21.3	21.0
+dataset_2	FBtr0083544	72	38	1	F	7	16.0	16.0
+dataset_2	FBtr0083545	72	3	8	F	8	20.6	21.0
+dataset_2	FBtr0083545	72	45	1	F	8	17.0	17.0
+dataset_2	FBtr0083693	72	4	1	F	1	27.0	27.0
+dataset_2	FBtr0083693	72	32	1	F	1	22.0	22.0
+dataset_2	FBtr0083693	72	33	1	F	1	21.0	21.0
+dataset_2	FBtr0083793	73	1	30	F	30	22.1	22.0
+dataset_2	FBtr0084597	84	9	1	F	1	17.0	17.0
+dataset_2	FBtr0084597	84	12	1	F	1	15.0	15.0
+dataset_2	FBtr0084597	84	48	1	F	1	18.0	18.0
+dataset_2	FBtr0085979	73	58	1	R	1	15.0	15.0
+dataset_2	FBtr0086006	73	41	1	F	1	23.0	23.0
+dataset_2	FBtr0086006	73	44	1	F	1	20.0	20.0
+dataset_2	FBtr0086015	74	1	1	F	1	19.0	19.0
+dataset_2	FBtr0086015	74	42	1	F	1	20.0	20.0
+dataset_2	FBtr0086190	73	6	1	F	1	18.0	18.0
+dataset_2	FBtr0086190	73	30	1	F	1	17.0	17.0
+dataset_2	FBtr0086234	72	33	1	R	1	24.0	24.0
+dataset_2	FBtr0086312	71	1	4	F	4	21.0	22.0
+dataset_2	FBtr0086312	71	3	4	F	4	21.0	21.5
+dataset_2	FBtr0086312	71	18	1	F	4	23.0	23.0
+dataset_2	FBtr0086312	71	20	1	F	4	22.0	22.0
+dataset_2	FBtr0086314	71	1	1	F	4	22.0	22.0
+dataset_2	FBtr0086314	71	3	4	F	4	25.3	25.0
+dataset_2	FBtr0086314	71	18	1	F	4	23.0	23.0
+dataset_2	FBtr0086332	72	7	1	F	1	18.0	18.0
+dataset_2	FBtr0086332	72	10	1	F	1	15.0	15.0
+dataset_2	FBtr0086334	73	4	1	F	1	24.0	24.0
+dataset_2	FBtr0086334	73	5	1	F	1	17.0	17.0
+dataset_2	FBtr0086334	73	16	1	F	1	16.0	16.0
+dataset_2	FBtr0086445	72	1	1	F	1	23.0	23.0
+dataset_2	FBtr0086445	72	16	1	F	1	16.0	16.0
+dataset_2	FBtr0086446	72	4	1	F	1	17.0	17.0
+dataset_2	FBtr0086446	72	20	1	F	1	21.0	21.0
+dataset_2	FBtr0086448	72	1	1	F	1	18.0	18.0
+dataset_2	FBtr0086448	72	14	1	F	1	18.0	18.0
+dataset_2	FBtr0086448	72	19	1	F	1	22.0	22.0
+dataset_2	FBtr0086603	72	28	1	F	1	23.0	23.0
+dataset_2	FBtr0086603	72	35	1	F	1	16.0	16.0
+dataset_2	FBtr0086603	72	37	1	F	1	18.0	18.0
+dataset_2	FBtr0086611	82	1	1	F	2	27.0	27.0
+dataset_2	FBtr0086611	82	12	2	F	2	16.5	16.5
+dataset_2	FBtr0086659	71	1	2	F	3	20.0	20.0
+dataset_2	FBtr0086659	71	3	3	F	3	23.3	25.0
+dataset_2	FBtr0086659	71	4	1	F	3	24.0	24.0
+dataset_2	FBtr0086659	71	7	1	F	3	16.0	16.0
+dataset_2	FBtr0086659	71	8	1	F	3	20.0	20.0
+dataset_2	FBtr0086659	71	18	2	F	3	23.0	23.0
+dataset_2	FBtr0086659	71	51	1	F	3	18.0	18.0
+dataset_2	FBtr0086898	73	7	1	F	1	17.0	17.0
+dataset_2	FBtr0086898	73	40	1	F	1	18.0	18.0
+dataset_2	FBtr0086908	72	1	4	F	4	19.8	19.0
+dataset_2	FBtr0086908	72	7	1	F	4	16.0	16.0
+dataset_2	FBtr0086965	72	1	7	F	7	19.6	20.0
+dataset_2	FBtr0087055	71	1	3	F	3	22.3	22.0
+dataset_2	FBtr0087055	71	3	2	F	3	24.5	24.5
+dataset_2	FBtr0087055	71	4	2	F	3	22.0	22.0
+dataset_2	FBtr0087055	71	7	3	F	3	16.0	16.0
+dataset_2	FBtr0087129	72	1	1	F	1	18.0	18.0
+dataset_2	FBtr0087129	72	7	1	F	1	23.0	23.0
+dataset_2	FBtr0087197	72	1	2	F	2	24.5	24.5
+dataset_2	FBtr0087197	72	4	2	F	2	26.0	26.0
+dataset_2	FBtr0087197	72	43	1	F	2	27.0	27.0
+dataset_2	FBtr0087198	72	15	1	F	1	16.0	16.0
+dataset_2	FBtr0087198	72	30	1	F	1	21.0	21.0
+dataset_2	FBtr0087688	73	12	2	F	2	16.0	16.0
+dataset_2	FBtr0087688	73	15	1	F	2	16.0	16.0
+dataset_2	FBtr0087961	72	5	1	F	1	24.0	24.0
+dataset_2	FBtr0087961	72	10	1	F	1	18.0	18.0
+dataset_2	FBtr0087962	72	3	1	F	1	26.0	26.0
+dataset_2	FBtr0087962	72	28	1	F	1	17.0	17.0
+dataset_2	FBtr0088087	73	1	1	F	1	18.0	18.0
+dataset_2	FBtr0088087	73	42	1	F	1	15.0	15.0
+dataset_2	FBtr0088156	87	6	1	F	1	18.0	18.0
+dataset_2	FBtr0088156	87	8	1	F	1	19.0	19.0
+dataset_2	FBtr0088156	87	41	1	F	1	18.0	18.0
+dataset_2	FBtr0089302	83	1	1	F	1	19.0	19.0
+dataset_2	FBtr0089302	83	12	1	F	1	16.0	16.0
+dataset_2	FBtr0089302	83	45	1	F	1	20.0	20.0
+dataset_2	FBtr0089613	71	1	4	F	4	23.3	22.5
+dataset_2	FBtr0089613	71	3	3	F	4	22.7	23.0
+dataset_2	FBtr0089613	71	19	1	F	4	22.0	22.0
+dataset_2	FBtr0089613	71	51	1	F	4	18.0	18.0
+dataset_2	FBtr0100842	73	1	28	F	28	22.0	22.0
+dataset_2	FBtr0100843	72	1	1	F	1	26.0	26.0
+dataset_2	FBtr0100843	72	4	1	F	1	26.0	26.0
+dataset_2	FBtr0100843	72	32	1	F	1	22.0	22.0
+dataset_2	FBtr0100845	84	11	1	F	1	15.0	15.0
+dataset_2	FBtr0100845	84	12	1	F	1	15.0	15.0
+dataset_2	FBtr0100846	73	16	1	F	1	16.0	16.0
+dataset_2	FBtr0100846	73	42	1	F	1	21.0	21.0
+dataset_2	FBtr0100847	72	28	1	F	1	23.0	23.0
+dataset_2	FBtr0100847	72	53	1	F	1	16.0	16.0
+dataset_2	FBtr0100854	65	1	14	F	14	18.8	20.0
+dataset_2	FBtr0100854	65	2	1	F	14	19.0	19.0
+dataset_2	FBtr0100854	65	19	1	F	14	21.0	21.0
+dataset_2	FBtr0100856	69	33	1	F	1	17.0	17.0
+dataset_2	FBtr0100856	69	47	1	F	1	18.0	18.0
+dataset_2	FBtr0100858	66	1	1	F	1	22.0	22.0
+dataset_2	FBtr0100858	66	3	1	F	1	17.0	17.0
+dataset_2	FBtr0100859	62	1	1	F	2	16.0	16.0
+dataset_2	FBtr0100859	62	5	1	F	2	16.0	16.0
+dataset_2	FBtr0100859	62	16	1	F	2	17.0	17.0
+dataset_2	FBtr0100859	62	29	1	F	2	18.0	18.0
+dataset_2	FBtr0100859	62	45	2	F	2	17.0	17.0
+dataset_2	FBtr0100860	66	1	1	F	2	17.0	17.0
+dataset_2	FBtr0100860	66	7	1	F	2	17.0	17.0
+dataset_2	FBtr0100860	66	11	1	F	2	17.0	17.0
+dataset_2	FBtr0100860	66	13	1	F	2	18.0	18.0
+dataset_2	FBtr0100860	66	18	2	F	2	17.0	17.0
+dataset_2	FBtr0100860	66	20	1	F	2	15.0	15.0
+dataset_2	FBtr0100860	66	46	1	F	2	17.0	17.0
+dataset_2	FBtr0100862	66	1	2	F	4	16.5	16.5
+dataset_2	FBtr0100862	66	6	2	F	4	20.0	20.0
+dataset_2	FBtr0100862	66	22	1	F	4	19.0	19.0
+dataset_2	FBtr0100862	66	44	4	F	4	20.0	20.0
+dataset_2	FBtr0100862	66	46	1	F	4	18.0	18.0
+dataset_2	FBtr0100862	66	48	2	F	4	18.5	18.5
+dataset_2	FBtr0100862	66	49	1	F	4	18.0	18.0
+dataset_2	FBtr0100864	71	1	8	F	8	18.5	18.0
+dataset_2	FBtr0100864	71	3	1	F	8	23.0	23.0
+dataset_2	FBtr0100864	71	8	1	F	8	18.0	18.0
+dataset_2	FBtr0100864	71	10	1	F	8	22.0	22.0
+dataset_2	FBtr0100864	71	11	1	F	8	20.0	20.0
+dataset_2	FBtr0100864	71	12	2	F	8	21.5	21.5
+dataset_2	FBtr0100864	71	13	1	F	8	24.0	24.0
+dataset_2	FBtr0100864	71	14	1	F	8	20.0	20.0
+dataset_2	FBtr0100864	71	15	3	F	8	19.7	21.0
+dataset_2	FBtr0100864	71	16	2	F	8	20.5	20.5
+dataset_2	FBtr0100864	71	19	1	F	8	18.0	18.0
+dataset_2	FBtr0100864	71	21	2	F	8	17.0	17.0
+dataset_2	FBtr0100864	71	44	2	F	8	16.0	16.0
+dataset_2	FBtr0100864	71	51	1	F	8	21.0	21.0
+dataset_2	FBtr0100864	71	56	1	F	8	16.0	16.0
+dataset_2	FBtr0100865	67	1	1	F	1	16.0	16.0
+dataset_2	FBtr0100865	67	19	1	F	1	19.0	19.0
+dataset_2	FBtr0100865	67	20	1	F	1	20.0	20.0
+dataset_2	FBtr0100865	67	23	1	F	1	17.0	17.0
+dataset_2	FBtr0100869	65	1	3	F	3	18.3	19.0
+dataset_2	FBtr0100869	65	12	1	F	3	16.0	16.0
+dataset_2	FBtr0100869	65	16	1	F	3	17.0	17.0
+dataset_2	FBtr0100869	65	17	1	F	3	20.0	20.0
+dataset_2	FBtr0100869	65	28	1	F	3	16.0	16.0
+dataset_2	FBtr0100869	65	30	2	F	3	20.5	20.5
+dataset_2	FBtr0100869	65	33	2	F	3	19.5	19.5
+dataset_2	FBtr0100869	65	36	1	F	3	18.0	18.0
+dataset_2	FBtr0100871	65	1	22	F	22	17.1	17.0
+dataset_2	FBtr0100871	65	15	1	F	22	23.0	23.0
+dataset_2	FBtr0100871	65	27	1	F	22	16.0	16.0
+dataset_2	FBtr0100872	64	1	49	F	49	18.8	18.0
+dataset_2	FBtr0100872	64	2	1	F	49	17.0	17.0
+dataset_2	FBtr0100872	64	5	1	F	49	18.0	18.0
+dataset_2	FBtr0100872	64	6	2	F	49	17.0	17.0
+dataset_2	FBtr0100872	64	7	3	F	49	17.3	16.0
+dataset_2	FBtr0100872	64	8	1	F	49	19.0	19.0
+dataset_2	FBtr0100872	64	9	2	F	49	19.5	19.5
+dataset_2	FBtr0100872	64	10	2	F	49	20.0	20.0
+dataset_2	FBtr0100872	64	11	1	F	49	16.0	16.0
+dataset_2	FBtr0100872	64	13	1	F	49	16.0	16.0
+dataset_2	FBtr0100872	64	15	5	F	49	22.0	22.0
+dataset_2	FBtr0100872	64	16	2	F	49	21.0	21.0
+dataset_2	FBtr0100872	64	18	2	F	49	19.5	19.5
+dataset_2	FBtr0100872	64	19	9	F	49	18.2	18.0
+dataset_2	FBtr0100872	64	22	3	F	49	16.0	16.0
+dataset_2	FBtr0100872	64	36	2	F	49	16.0	16.0
+dataset_2	FBtr0100872	64	42	1	F	49	18.0	18.0
+dataset_2	FBtr0100874	68	1	83	F	83	19.5	19.0
+dataset_2	FBtr0100874	68	3	4	F	83	17.3	17.0
+dataset_2	FBtr0100874	68	4	1	F	83	18.0	18.0
+dataset_2	FBtr0100874	68	5	1	F	83	17.0	17.0
+dataset_2	FBtr0100874	68	10	1	F	83	16.0	16.0
+dataset_2	FBtr0100874	68	13	1	F	83	23.0	23.0
+dataset_2	FBtr0100874	68	20	1	F	83	20.0	20.0
+dataset_2	FBtr0100875	67	3	1	F	1	18.0	18.0
+dataset_2	FBtr0100875	67	26	1	F	1	16.0	16.0
+dataset_2	FBtr0100875	67	48	1	F	1	16.0	16.0
+dataset_2	FBtr0100876	65	1	1	F	2	27.0	27.0
+dataset_2	FBtr0100876	65	6	1	F	2	16.0	16.0
+dataset_2	FBtr0100876	65	9	1	F	2	19.0	19.0
+dataset_2	FBtr0100876	65	13	2	F	2	15.5	15.5
+dataset_2	FBtr0100876	65	18	1	F	2	19.0	19.0
+dataset_2	FBtr0100876	65	19	1	F	2	18.0	18.0
+dataset_2	FBtr0100876	65	28	1	F	2	17.0	17.0
+dataset_2	FBtr0100876	65	29	1	F	2	19.0	19.0
+dataset_2	FBtr0100876	65	48	1	F	2	16.0	16.0
+dataset_2	FBtr0100878	66	23	1	F	3	21.0	21.0
+dataset_2	FBtr0100878	66	26	1	F	3	16.0	16.0
+dataset_2	FBtr0100878	66	27	1	F	3	15.0	15.0
+dataset_2	FBtr0100878	66	28	3	F	3	18.3	18.0
+dataset_2	FBtr0100878	66	30	2	F	3	20.0	20.0
+dataset_2	FBtr0100878	66	34	2	F	3	18.0	18.0
+dataset_2	FBtr0100878	66	35	1	F	3	15.0	15.0
+dataset_2	FBtr0100885	66	20	1	F	2	23.0	23.0
+dataset_2	FBtr0100885	66	46	2	F	2	17.0	17.0
+dataset_2	FBtr0100885	66	47	1	F	2	16.0	16.0
+dataset_2	FBtr0100887	65	1	1	F	1	21.0	21.0
+dataset_2	FBtr0100887	65	5	1	F	1	21.0	21.0
+dataset_2	FBtr0100887	65	6	1	F	1	20.0	20.0
+dataset_2	FBtr0100887	65	39	1	F	1	21.0	21.0
+dataset_2	FBtr0100889	73	3	1	F	1	19.0	19.0
+dataset_2	FBtr0100889	73	15	1	F	1	17.0	17.0
+dataset_2	FBtr0100889	73	23	1	F	1	20.0	20.0
+dataset_2	FBtr0100889	73	24	1	F	1	23.0	23.0
+dataset_2	FBtr0100889	73	27	1	F	1	15.0	15.0
+dataset_2	FBtr0100889	73	37	1	F	1	20.0	20.0
+dataset_2	FBtr0100889	73	42	1	F	1	17.0	17.0
+dataset_2	FBtr0100889	73	48	1	F	1	19.0	19.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test/small_rna_map.bash	Mon Jul 10 10:31:49 2017 -0400
@@ -0,0 +1,43 @@
+#! /bin/bash
+# Execution command : bash small_rna_map.bash <sam file>
+samtools view -h -o input.sam ../test-data/input.bam
+samfile="input.sam"
+cut -f2,3,4,5,6 ../test-data/output.tab > test-data.dat
+grep -e "^@SQ" $samfile > header.tab
+cat $samfile | perl -ne 'print unless /^@/ or ( (split /\t/)[1] != 0 and (split /\t/)[1] != 16 )' > output1.tab
+
+cat << EOF > pyscript.py
+lendic = {}
+for line in open("header.tab"):
+  fields = line[:-1].split()
+  lendic[fields[1][3:]] = fields[2][3:]
+readdic = {}
+for line in (open("output1.tab")):
+  fields = line[:-1].split()
+  key = "-".join([fields[2],fields[3],"F" if fields[1]=="0" else "R"])
+  try:
+    readdic[key] += 1
+  except KeyError:
+    readdic[key] = 1
+Out = open("output.tab", "w")
+Out.write("Chromosome\tChrom_length\tCoordinate\tNbr_reads\tPolarity\n")
+for key in sorted(readdic):
+  fields = key.split("-")
+  Chromosome, Coordinate, Polarity = fields[0], fields[1], fields[2]
+  Chrom_length = lendic[Chromosome]
+  Nbr_reads = str(readdic[key])
+  Out.write("\t".join([Chromosome, Chrom_length, Coordinate, Nbr_reads, Polarity]) )
+  Out.write("\n")
+Out.close
+EOF
+
+python ./pyscript.py
+rm output1.tab header.tab pyscript.py
+sort -k 1,1 -k 3,3n -k 5,5  output.tab -o output.tab
+if ! diff -q output.tab test-data.dat &>/dev/null; then
+  >&2 echo "different"
+else
+  >&2 echo "Test passed"
+fi
+
+rm output.tab input.sam test-data.dat