Mercurial > repos > artbio > small_rna_map
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> +
--- /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