changeset 0:ab0323782bb5 draft

planemo upload for repository https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools/raw/master/featurecounts commit cc900436bad9c6cca1f73d438c1f158d3bfc4318-dirty
author yhoogstrate
date Mon, 18 May 2015 04:49:19 -0400
parents
children 63bd455ed299
files README.rst featurecounts.xml featurecounts2bed.sh test-data/featureCounts_guide.gff test-data/featureCounts_input1.bam test-data/featureCounts_input2.bam test-data/output.tab test-data/output_summary.tab tool-data/gene_sets.loc.sample tool_data_table_conf.xml.sample tool_dependencies.xml
diffstat 11 files changed, 1196 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,59 @@
+FeatureCounts wrapper for Galaxy
+================================
+
+http://bioinf.wehi.edu.au/featureCounts/
+http://subread.sourceforge.net/
+
+FeatureCounts as part of the SUBREAD package is "a highly efficient and
+accurate read summarization program".
+
+Development
+-----------
+
+* Repository-Maintainer: Youri Hoogstrate
+* Repository-Developers: Youri Hoogstrate, Marius van den Beek
+
+* Repository-Development: https://bitbucket.org/EMCbioinf/galaxy-tool-shed-tools
+
+The tool wrapper has been written by Youri Hoogstrate from the Erasmus
+Medical Center (Rotterdam, Netherlands) on behalf of the Translational
+Research IT (TraIT) project:
+
+http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
+
+More tools by the Translational Research IT (TraIT) project can be found in the following repository:
+
+http://toolshed.dtls.nl/
+
+License
+-------
+
+**featureCounts**:
+
+GPL (>=3)
+
+**featurecounts2bed**:
+
+GPL (>=3)
+
+**This wrapper**:
+
+    Copyright (C) 2013-2014  Youri Hoogstrate
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Acknowledgements
+----------------
+
+I would like to thank Marius van den Beek for his contributions to this project.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/featurecounts.xml	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tool id="featurecounts" name="featureCounts" version="1.4.6.p1">
+	<description>Measure gene expression in RNA-Seq experiments from SAM or BAM files.</description>
+	<requirements>
+		<requirement type="package" version="1.4.6.p1">featurecounts</requirement>
+		<requirement type="package" version="1.0.0">featurecounts2bed</requirement>
+	</requirements>
+	<version_command>featureCounts -v</version_command>
+	<command>
+		#*
+			The following script is written in the "Cheetah" language:
+			http://www.cheetahtemplate.org/docs/users_guide_html_multipage/contents.html
+		*#
+		
+		## Check 01: do the alignments have a dbkey and is the option set to using it?
+		#if $reference_gene_sets_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1
+			echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that 'tool-data/gene_sets.loc' is configured properly!" >&amp;2
+		#else
+			## Check 02: are all alignments from the same type (bam || sam)
+			#if len({ alignment.extension:True for alignment in $alignments }.keys()) != 1
+				echo "Either all files must be SAM or all files must be BAM, no mixture is allowed." >&amp;2
+			#else
+				featureCounts
+					-a 
+					#if $reference_gene_sets_source.source_select == "indexed_filtered"
+						"$reference_gene_sets_source.reference_gene_sets"
+					#else if $reference_gene_sets_source.source_select == "indexed_all"
+						"$reference_gene_sets_source.reference_gene_sets"
+					#else if $reference_gene_sets_source.source_select == "history"
+						"$reference_gene_sets_source.reference_gene_sets"
+					#else
+						#*
+							This is a workaround to obtain the "genome.fa" file that
+							corresponds to the dbkey of the alignments.
+							Because this file is "calculated" during run-time, it can
+							be used in a workflow.
+						*#
+						"${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'gene_sets' ].get_fields() )[0][2] }"
+					#end if
+					
+					-o "$output"
+					-T $threads
+					
+					#if $extended_parameters.parameters == "extended"
+						-t $extended_parameters.gff_feature_type
+						-g $extended_parameters.gff_feature_attribute
+						$extended_parameters.summarization_level
+						$extended_parameters.contribute_to_multiple_features
+						$extended_parameters.protocol
+						$extended_parameters.multimapping_counts
+						-Q $extended_parameters.mapping_quality
+						$extended_parameters.fragment_counting
+						$extended_parameters.check_distance
+						-d $extended_parameters.minimum_fragment_length
+						-D $extended_parameters.maximum_fragment_length
+						$extended_parameters.only_both_ends
+						$extended_parameters.exclude_chimerics
+						$extended_parameters.namesort
+					#end if
+					
+					#for $alignment in $alignments
+						 ${alignment}
+					#end for
+					
+					2>&amp;1
+				
+				#set $columns = [str(i+7) for i, alignment in enumerate($alignments)]
+				#set $columns=",".join($columns)
+				
+				#if $format == "tabdel_default" or $format.value == "tabdel_default"
+					; cp $output tmp.txt
+					; egrep -v "^#" tmp.txt > tmp2.txt
+					; cut -f 1,$columns tmp2.txt > tmp_left.txt
+					; cut -f 6 tmp2.txt > tmp_right.txt
+					; paste tmp_left.txt tmp_right.txt > $output
+				#elif $format == "tabdel_short" or $format.value == "tabdel_short"
+					; cp $output tmp.txt
+					; egrep -v "^#" tmp.txt | cut -f 1,$columns > $output
+				#end if
+				
+				## For every alignment, replace its filename for: "hid: sample name"
+				#for $alignment in $alignments
+					#set $alignment_escaped = str($alignment).replace('/', '\/').replace('.', '\.')
+					#set $alignment_name_escaped = str(alignment.hid)+": "+str($alignment.name).replace('\t',' ').replace('\\','\\\\').replace("'","\\'").replace('/','\/')
+					
+					#if $format.value == "tabdel_default" or $format.value == "tabdel_short"
+						; sed -e '1 s/$alignment_escaped/${alignment_name_escaped}/g' $output > tmp.txt
+					#elif $format.value == "bed":
+						; featurecounts2bed.sh -f "$output" > tmp.txt
+					#else
+						; sed -e '1,2 s/$alignment_escaped/${alignment_name_escaped}/g' $output > tmp.txt
+					#end if
+					
+					; mv tmp.txt $output
+					
+					; sed -e '1 s/$alignment_escaped/${alignment_name_escaped}/g' $output".summary" > tmp.txt
+					; mv tmp.txt $output".summary"
+				#end for
+				; mv $output".summary" $output_summary
+			#end if
+		#end if
+	</command>
+	
+	<inputs>
+		<param name="alignments" type="data" format="bam,sam" label="Alignment file" help="The input alignment file(s) where the gene expression has to be counted. The file can have a SAM or BAM format; but ALL files in the series must be in THE SAME format." multiple="true" />
+		
+		<!-- Find out how to access the the GTF/GFF file(s) -->
+		<conditional name="reference_gene_sets_source">
+			<param name="source_select" type="select" label="GFF/GTF Source">
+				<option value="indexed_filtered">Use a built-in index (which fits your reference)</option>
+				<option value="history">Use reference from the history</option>
+				<option value="indexed_all">Use a built-in index (entire list) - avoid this option if possible; only useful if you design a workflow</option>
+				<option value="attribute">Use a built-in index based on the 'metadata.dbkey' attribute; ideal in workflows</option>
+			</param>
+			<when value="indexed_filtered">
+				<param name="reference_gene_sets" type="select" label="Reference Gene Sets used during alignment (GFF/GTF)" >
+					<options from_data_table="gene_sets"><!-- replaces 'from_file="gene_sets"' - more strict -->
+						<column name="name"  index="0"/>
+						<column name="dbkey" index="1"/>
+						<column name="value" index="2"/>
+						<filter type="data_meta" ref="alignments" multiple="false" key="dbkey" column="1" />
+						<validator type="no_options" message="No indexes are available for the selected input dataset" />
+					</options>
+				</param>
+			</when>
+			<when value="history">
+				<param name="reference_gene_sets" format="gff" type="data" label="Gene annotation file" help="The program assumes that the provided annotation file is in GTF format. Make sure that the gene annotation file corresponds to the same reference genome as used for the alignment." />
+			</when>
+			<when value="indexed_all">
+				<param name="reference_gene_sets" type="select" label="Reference Gene Sets used during alignment (GFF/GTF)" >
+					<options from_data_table="gene_sets"><!-- replaces 'from_file="gene_sets"' - more strict -->
+						<column name="name"  index="0"/>
+						<column name="dbkey" index="1"/>
+						<column name="value" index="2"/>
+						<validator type="no_options" message="No indexes are available for the selected input dataset" />
+					</options>
+				</param>
+			</when>
+			<when value="attribute">
+				<!-- Do nothing, determine GTF/GFF file at runtime -->
+			</when>
+		</conditional>
+		
+		<param name="format" type="select" label="Output format">
+			<option value="complex">featureCounts 1.4.0+ default (extensive; complex)</option>
+			<option value="tabdel_default" selected="true">Gene-name "\t" gene-count "\t" gene-length (tab-delimited)</option>
+			<option value="tabdel_short">Gene-name "\t" gene-count (tab-delimited)</option>
+			<option value="bed">BED format (line per exon): chr "\t" start "\t" stop "\t" description "\t" readcount (tab-delimited)</option>
+		</param>
+		
+		<param name="threads" type="integer" value="2" min="1" label="Number of the CPU threads. Higher numbers only make sense with a higher number of samples." />
+		
+		<conditional name="extended_parameters">
+			<param name="parameters" type="select" label="featureCounts parameters" help="For more advanced featureCounts settings.">
+				<option value="default">Default settings</option>
+				<option value="extended">Extended settings</option>
+			</param>
+			<when value="default">
+			</when>
+			<when value="extended">
+				<param name="gff_feature_type" type="text" value="exon" label="GFF feature type filter" help="Specify the feature type. Only rows which have the matched matched feature type in the provided GTF annotation file will be included for read counting. `exon' by default." />
+				
+				<param name="gff_feature_attribute" type="text" value="gene_id" label="GFF gene identifier" help="Specify the attribute type used to group features (eg. exons) into meta-features (eg. genes), when GTF annotation is provided. `gene_id' by default. This attribute type is usually the gene identifier. This argument is useful for the meta-feature level summarization." />
+				
+				<param name ="summarization_level" type="boolean" truevalue=" -f" falsevalue="" label="On feature level" help="If specified, read summarization will be performed at the feature level. By default (-f is not specified), the read summarization is performed at the meta-feature level." />
+				
+				<param name ="contribute_to_multiple_features" type="boolean" truevalue=" -O" falsevalue="" label="Allow read to contribute to multiple features" help="If specified, reads (or fragments if -p is specified) will be allowed to be assigned to more than one matched meta- feature (or matched feature if -f is specified)" />
+				
+				<param name="protocol" type="select" label="Strand specific protocol" help="Indicate if strand-specific read counting should be performed. It has three possible values: 0 (unstranded), 1 (stranded) and 2 (reversely stranded). 0 by default.">
+					<option value=" -s 0" selected="true">Unstranded</option>
+					<option value=" -s 1">Stranded (forwards)</option>
+					<option value=" -s 2">Stranded (reverse)</option>
+				</param>
+				
+				<param name="multimapping_counts" type="boolean" truevalue=" -M" falsevalue="" label="Count multi-mapping reads/fragments" help="If specified, multi-mapping reads/fragments will be counted (ie. a multi-mapping read will be counted up to N times if it has N reported mapping locations). The program uses the `NH' tag to find multi-mapping reads." />
+				
+				<param name="mapping_quality" type="integer" value="0" label="Minimum read quality" help="The minimum mapping quality score a read must satisfy in order to be counted. For paired-end reads, at least one end should satisfy this criteria. 0 by default." />
+				
+				<param name="fragment_counting" type="boolean" truevalue=" -p" falsevalue="" label="PE: Count fragments instead of reads" help="Paired-end specific: If specified, fragments (or templates) will be counted instead of reads. The two reads from the same fragment must be adjacent to each other in the provided SAM/BAM file. If SAM/BAM input does not meet this requirement, the -S (sorting) option should be provided as well." />
+				
+				<param name="check_distance" type="boolean" truevalue=" -P" falsevalue="" label="PE: Check paired-end distance" help="Paired-end specific: If specified, paired-end distance will be checked when assigning fragments to meta-features or features. This option is only applicable when -p (Count fragments instead of reads) is specified. The distance thresholds should be specified using -d and -D (minimum and maximum fragment/template length) options." />
+				
+				<param name="minimum_fragment_length" type="integer" value="50" label="PE: Minimum fragment/template length." />
+				<param name="maximum_fragment_length" type="integer" value="600" label="PE: Maximum fragment/template length." />
+				
+				<param name="only_both_ends" type="boolean" truevalue=" -B" falsevalue="" label="PE: only allow fragments with both reads aligned"  help="Paired-end specific: If specified, only fragments that have both ends successfully aligned will be considered for summarization. This option is only applicable for paired-end reads." />
+				
+				<param name="exclude_chimerics" type="boolean" truevalue=" -C" falsevalue="" label="PE: Exclude chimeric fragments"  help="Paired-end specific: If specified, the chimeric fragments (those fragments that have their two ends aligned to different chromosomes) will NOT be included for summarization. This option is only applicable for paired-end read data." />
+				
+				<param name="namesort" type="boolean" truevalue=" -S" falsevalue="" label="PE: Name-sort reads (slow!)"  help="Paired-end specific: If specified, the program will reorder input reads according to their names and make reads from the same pair be adjacent to each other. This option should be provided when reads from the same pair are not adjacent to each other in input SAM/BAM files (for instance sorting reads by chromosomal locations could decouple reads from the same pair)." />
+			</when>
+		</conditional>
+	</inputs>
+	
+	<outputs>
+		<data format="tabular" name="output" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])}" />
+		<data format="tabular" name="output_summary" label="${tool.name} on ${', '.join([ str(a.hid)+': '+a.name for a in $alignments ])} summary" />
+	</outputs>
+	
+	<tests>
+		<test>
+			<param name="alignments" value="featureCounts_input1.bam,featureCounts_input2.bam" ftype="bam" />
+			<param name="source_select" value="history" />
+			<param name="reference_gene_sets" value="featureCounts_guide.gff" ftype="gff" />
+			<output name="output" file="output.tab"/>
+			<output name="output_summary" file="output_summary.tab"/>
+		</test>
+	</tests>
+	
+	<help>
+featureCounts
+#############
+
+Overview
+--------
+FeatureCounts is a light-weight read counting program written entirely in the C programming language. It can be used to count both gDNA-seq and RNA-seq reads for genomic features in in SAM/BAM files.
+It has a variety of advanced parameters but its major strength is its outstanding performance: analysis of a 10GB SE BAM file takes about 7 minutes on a single average CPU (Homo Sapiens genome) [1].
+
+Input formats
+-------------
+Alignments should be provided in either:
+
+- SAM format, http://samtools.sourceforge.net/samtools.shtml#5
+- BAM format
+
+Gene regions should be provided in the GFF/GTF format:
+
+- http://genome.ucsc.edu/FAQ/FAQformat.html#format3
+- http://www.ensembl.org/info/website/upload/gff.html
+
+Installation
+------------
+
+1. Make sure you have proper GFF/GTF files (corresponding to your reference genome used for the aligment) uploaded to your history.
+
+2. Make sure that your gene_sets.loc is configured properly as data table. This is generally done by copying the right information into: tool_data_table_conf.xml. More info at:  https://wiki.galaxyproject.org/Admin/Tools/Data%20Tables
+
+License
+-------
+
+**featureCounts / subread package**:
+
+- GNU General Public License version 3.0 (GPLv3)
+
+Contact
+-------
+
+The tool wrapper has been written by Youri Hoogstrate from the Erasmus
+Medical Center (Rotterdam, Netherlands) on behalf of the Translational
+Research IT (TraIT) project:
+
+http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
+
+More tools by the Translational Research IT (TraIT) project can be found
+in the following toolsheds:
+
+http://toolshed.dtls.nl/
+
+http://toolshed.g2.bx.psu.edu/
+
+http://testtoolshed.g2.bx.psu.edu/
+
+References
+----------
+**featureCounts: an efficient general purpose program for assigning sequence reads to genomic features.**
+
+*Liao Y1, Smyth GK, Shi W.* - Bioinformatics. 2014 Apr 1;30(7):923-30.
+
+- http://www.ncbi.nlm.nih.gov/pubmed/24227677
+- http://dx.doi.org/10.1093/bioinformatics/btt656
+
+
+Acknowledgements
+----------------
+
+I would like to thank Marius van den Beek for his contributions to this project.
+</help>
+	<citations>
+		<citation type="doi">10.1093/bioinformatics/btt656</citation>
+	</citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/featurecounts2bed.sh	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,78 @@
+#!/bin/bash
+
+# featurecounts2bed - converts featureCounts output to BED format
+
+# Copyright 2013-2014, Youri Hoogstrate
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License at <http://www.gnu.org/licenses/> for
+# more details.
+
+# This tool has been written by Youri Hoogstrate from the Erasmus
+# Medical Center (Rotterdam, Netherlands) on behalf of the Translational
+# Research IT (TraIT) project:
+# http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
+# 
+# More tools by the Translational Research IT (TraIT) project can be
+# found in the following repository:
+# http://toolshed.dtls.nl/
+
+
+exon_level="true"
+filename=""
+
+# Parse parameters
+while getopts e:f: option
+do
+	case "${option}"
+	in
+		e) exon_level=${OPTARG};;
+		f) filename=$OPTARG;;
+	esac
+done
+
+# Convert the file
+if [ $filename == "" ]; then
+	echo "Usage:"
+	echo "  -e [true, false]   true = entry for every exon; false = line for genes first exon"
+	echo "  -f                 FILENAME from featureCounts"
+else
+	while read line; do
+		first=${line:0:1}
+		if [ $first != "#" ]; then
+			columns=($line)
+			uid=${columns[@]:0:1}
+			if [ $uid != "Geneid" ]; then
+				chr=${columns[@]:1:1}
+				start=${columns[@]:2:1}
+				stop=${columns[@]:3:1}
+				direction=${columns[@]:4:1}
+				length=${columns[@]:5:1}
+				count=${columns[@]:6:1}
+				
+				chr_splitted=($(echo $chr | tr ";" "\n"))
+				start_splitted=($(echo $start | tr ";" "\n"))
+				stop_splitted=($(echo $stop | tr ";" "\n"))
+				strand_splitted=($(echo $direction | tr ";" "\n"))
+				
+				if [ $exon_level == "true" ]; then
+					n=${#chr_splitted[@]}
+				else
+					n=1
+				fi
+				
+				for (( i=0; i<$n; i++ ))
+				do
+					echo ${chr_splitted[@]:$i:1}"	"${start_splitted[@]:$i:1}"	"${stop_splitted[@]:$i:1}"	"$uid" ("$((${stop_splitted[@]:$i:1}-${start_splitted[@]:$i:1}))"/"$length"nt)	"$count"	"${strand_splitted[@]:$i:1}
+				done
+			fi
+		fi
+	done < $filename
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/featureCounts_guide.gff	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,680 @@
+X	FlyBase	exon	30948	31447	.	+	.	ID=FBti0062706;gene_id=left
+X	FlyBase	exon	32172	32671	.	+	.	ID=FBti0062706;gene_id=right
+X	FlyBase	exon	51312	51811	.	+	.	ID=FBti0062715;gene_id=left
+X	FlyBase	exon	52318	52817	.	+	.	ID=FBti0062715;gene_id=right
+X	FlyBase	exon	53883	54382	.	-	.	ID=FBti0062719;gene_id=left
+X	FlyBase	exon	55280	55779	.	-	.	ID=FBti0062719;gene_id=right
+X	FlyBase	exon	64215	64714	.	+	.	ID=FBti0062738;gene_id=left
+X	FlyBase	exon	65335	65834	.	+	.	ID=FBti0062738;gene_id=right
+X	FlyBase	exon	77479	77978	.	-	.	ID=FBti0063571;gene_id=left
+X	FlyBase	exon	78341	78840	.	-	.	ID=FBti0063571;gene_id=right
+X	FlyBase	exon	79405	79904	.	-	.	ID=FBti0063569;gene_id=left
+X	FlyBase	exon	80154	80653	.	-	.	ID=FBti0063569;gene_id=right
+X	FlyBase	exon	82402	82901	.	-	.	ID=FBti0063568;gene_id=left
+X	FlyBase	exon	83164	83663	.	-	.	ID=FBti0063568;gene_id=right
+X	FlyBase	exon	90012	90511	.	+	.	ID=FBti0062762;gene_id=left
+X	FlyBase	exon	90918	91417	.	+	.	ID=FBti0062762;gene_id=right
+X	FlyBase	exon	92326	92825	.	+	.	ID=FBti0062765;gene_id=left
+X	FlyBase	exon	93238	93737	.	+	.	ID=FBti0062765;gene_id=right
+X	FlyBase	exon	168410	168909	.	+	.	ID=FBti0062766;gene_id=left
+X	FlyBase	exon	169363	169862	.	+	.	ID=FBti0062766;gene_id=right
+X	FlyBase	exon	184346	184845	.	-	.	ID=FBti0062772;gene_id=left
+X	FlyBase	exon	185123	185622	.	-	.	ID=FBti0062772;gene_id=right
+X	FlyBase	exon	186159	186658	.	-	.	ID=FBti0019520;gene_id=left
+X	FlyBase	exon	187028	187527	.	-	.	ID=FBti0019520;gene_id=right
+X	FlyBase	exon	189437	189936	.	-	.	ID=FBti0019521;gene_id=left
+X	FlyBase	exon	197509	198008	.	-	.	ID=FBti0019521;gene_id=right
+X	FlyBase	exon	200157	200656	.	-	.	ID=FBti0062785;gene_id=left
+X	FlyBase	exon	200936	201435	.	-	.	ID=FBti0062785;gene_id=right
+X	FlyBase	exon	212059	212558	.	+	.	ID=FBti0019522;gene_id=left
+X	FlyBase	exon	217588	218087	.	+	.	ID=FBti0019522;gene_id=right
+X	FlyBase	exon	230841	231340	.	-	.	ID=FBti0062869;gene_id=left
+X	FlyBase	exon	231571	232070	.	-	.	ID=FBti0062869;gene_id=right
+X	FlyBase	exon	322007	322506	.	+	.	ID=FBti0019523;gene_id=left
+X	FlyBase	exon	328634	329133	.	+	.	ID=FBti0019523;gene_id=right
+X	FlyBase	exon	445010	445509	.	+	.	ID=FBti0019524;gene_id=left
+X	FlyBase	exon	453015	453514	.	+	.	ID=FBti0019524;gene_id=right
+X	FlyBase	exon	539893	540392	.	+	.	ID=FBti0063323;gene_id=left
+X	FlyBase	exon	540801	541300	.	+	.	ID=FBti0063323;gene_id=right
+X	FlyBase	exon	558910	559409	.	-	.	ID=FBti0063324;gene_id=left
+X	FlyBase	exon	559791	560290	.	-	.	ID=FBti0063324;gene_id=right
+X	FlyBase	exon	577936	578435	.	+	.	ID=FBti0063326;gene_id=left
+X	FlyBase	exon	578752	579251	.	+	.	ID=FBti0063326;gene_id=right
+X	FlyBase	exon	587701	588200	.	+	.	ID=FBti0063332;gene_id=left
+X	FlyBase	exon	588492	588991	.	+	.	ID=FBti0063332;gene_id=right
+X	FlyBase	exon	598742	599241	.	+	.	ID=FBti0063335;gene_id=left
+X	FlyBase	exon	599600	600099	.	+	.	ID=FBti0063335;gene_id=right
+X	FlyBase	exon	604149	604648	.	+	.	ID=FBti0063337;gene_id=left
+X	FlyBase	exon	605153	605652	.	+	.	ID=FBti0063337;gene_id=right
+X	FlyBase	exon	615232	615731	.	+	.	ID=FBti0063351;gene_id=left
+X	FlyBase	exon	616141	616640	.	+	.	ID=FBti0063351;gene_id=right
+X	FlyBase	exon	705855	706354	.	+	.	ID=FBti0019525;gene_id=left
+X	FlyBase	exon	711929	712428	.	+	.	ID=FBti0019525;gene_id=right
+X	FlyBase	exon	721190	721689	.	+	.	ID=FBti0019526;gene_id=left
+X	FlyBase	exon	729424	729923	.	+	.	ID=FBti0019526;gene_id=right
+X	FlyBase	exon	800289	800788	.	+	.	ID=FBti0019527;gene_id=left
+X	FlyBase	exon	802523	803022	.	+	.	ID=FBti0019527;gene_id=right
+X	FlyBase	exon	915767	916266	.	+	.	ID=FBti0019528;gene_id=left
+X	FlyBase	exon	916539	917038	.	+	.	ID=FBti0019528;gene_id=right
+X	FlyBase	exon	926940	927439	.	+	.	ID=FBti0019531;gene_id=left
+X	FlyBase	exon	935016	935515	.	+	.	ID=FBti0019531;gene_id=right
+X	FlyBase	exon	957344	957843	.	+	.	ID=FBti0019532;gene_id=left
+X	FlyBase	exon	966580	967079	.	+	.	ID=FBti0019532;gene_id=right
+X	FlyBase	exon	1407723	1408222	.	+	.	ID=FBti0019536;gene_id=left
+X	FlyBase	exon	1408486	1408985	.	+	.	ID=FBti0019536;gene_id=right
+X	FlyBase	exon	1461250	1461749	.	-	.	ID=FBti0019537;gene_id=left
+X	FlyBase	exon	1463477	1463976	.	-	.	ID=FBti0019537;gene_id=right
+X	FlyBase	exon	1521562	1522061	.	-	.	ID=FBti0019538;gene_id=left
+X	FlyBase	exon	1529473	1529972	.	-	.	ID=FBti0019538;gene_id=right
+X	FlyBase	exon	1630699	1631198	.	-	.	ID=FBti0019539;gene_id=left
+X	FlyBase	exon	1640306	1640805	.	-	.	ID=FBti0019539;gene_id=right
+X	FlyBase	exon	1712287	1712786	.	-	.	ID=FBti0063525;gene_id=left
+X	FlyBase	exon	1713042	1713541	.	-	.	ID=FBti0063525;gene_id=right
+X	FlyBase	exon	1714165	1714664	.	+	.	ID=FBti0063527;gene_id=left
+X	FlyBase	exon	1714987	1715486	.	+	.	ID=FBti0063527;gene_id=right
+X	FlyBase	exon	1824125	1824624	.	-	.	ID=FBti0019540;gene_id=left
+X	FlyBase	exon	1832140	1832639	.	-	.	ID=FBti0019540;gene_id=right
+X	FlyBase	exon	1848474	1848973	.	-	.	ID=FBti0019541;gene_id=left
+X	FlyBase	exon	1856857	1857356	.	-	.	ID=FBti0019541;gene_id=right
+X	FlyBase	exon	2025638	2026137	.	+	.	ID=FBti0019542;gene_id=left
+X	FlyBase	exon	2027584	2028083	.	+	.	ID=FBti0019542;gene_id=right
+X	FlyBase	exon	2202381	2202880	.	-	.	ID=FBti0019543;gene_id=left
+X	FlyBase	exon	2211408	2211907	.	-	.	ID=FBti0019543;gene_id=right
+X	FlyBase	exon	2293426	2293925	.	+	.	ID=FBti0019544;gene_id=left
+X	FlyBase	exon	2302221	2302720	.	+	.	ID=FBti0019544;gene_id=right
+X	FlyBase	exon	2319538	2320037	.	+	.	ID=FBti0063994;gene_id=left
+X	FlyBase	exon	2320468	2320967	.	+	.	ID=FBti0063994;gene_id=right
+X	FlyBase	exon	2503973	2504472	.	-	.	ID=FBti0019545;gene_id=left
+X	FlyBase	exon	2511533	2512032	.	-	.	ID=FBti0019545;gene_id=right
+X	FlyBase	exon	2557975	2558474	.	-	.	ID=FBti0019546;gene_id=left
+X	FlyBase	exon	2559561	2560060	.	-	.	ID=FBti0019546;gene_id=right
+X	FlyBase	exon	2717376	2717875	.	-	.	ID=FBti0019547;gene_id=left
+X	FlyBase	exon	2726366	2726865	.	-	.	ID=FBti0019547;gene_id=right
+X	FlyBase	exon	2738488	2738987	.	-	.	ID=FBti0019548;gene_id=left
+X	FlyBase	exon	2746341	2746840	.	-	.	ID=FBti0019548;gene_id=right
+X	FlyBase	exon	2951607	2952106	.	-	.	ID=FBti0019549;gene_id=left
+X	FlyBase	exon	2952293	2952792	.	-	.	ID=FBti0019549;gene_id=right
+X	FlyBase	exon	2963803	2964302	.	-	.	ID=FBti0019550;gene_id=left
+X	FlyBase	exon	2967374	2967873	.	-	.	ID=FBti0019550;gene_id=right
+X	FlyBase	exon	2969222	2969721	.	+	.	ID=FBti0019551;gene_id=left
+X	FlyBase	exon	2974971	2975470	.	+	.	ID=FBti0019551;gene_id=right
+X	FlyBase	exon	3072054	3072553	.	+	.	ID=FBti0019552;gene_id=left
+X	FlyBase	exon	3080162	3080661	.	+	.	ID=FBti0019552;gene_id=right
+X	FlyBase	exon	3112094	3112593	.	-	.	ID=FBti0019553;gene_id=left
+X	FlyBase	exon	3121685	3122184	.	-	.	ID=FBti0019553;gene_id=right
+X	FlyBase	exon	3308606	3309105	.	-	.	ID=FBti0019554;gene_id=left
+X	FlyBase	exon	3315233	3315732	.	-	.	ID=FBti0019554;gene_id=right
+X	FlyBase	exon	3357795	3358294	.	-	.	ID=FBti0019555;gene_id=left
+X	FlyBase	exon	3359641	3360140	.	-	.	ID=FBti0019555;gene_id=right
+X	FlyBase	exon	3386680	3387179	.	-	.	ID=FBti0019556;gene_id=left
+X	FlyBase	exon	3396281	3396780	.	-	.	ID=FBti0019556;gene_id=right
+X	FlyBase	exon	3556511	3557010	.	-	.	ID=FBti0059983;gene_id=left
+X	FlyBase	exon	3557209	3557708	.	-	.	ID=FBti0059983;gene_id=right
+X	FlyBase	exon	3647008	3647507	.	-	.	ID=FBti0019563;gene_id=left
+X	FlyBase	exon	3655006	3655505	.	-	.	ID=FBti0019563;gene_id=right
+X	FlyBase	exon	3679400	3679899	.	-	.	ID=FBti0019564;gene_id=left
+X	FlyBase	exon	3680089	3680588	.	-	.	ID=FBti0019564;gene_id=right
+X	FlyBase	exon	3689927	3690426	.	-	.	ID=FBti0060049;gene_id=left
+X	FlyBase	exon	3690843	3691342	.	-	.	ID=FBti0060049;gene_id=right
+X	FlyBase	exon	3735908	3736407	.	-	.	ID=FBti0019565;gene_id=left
+X	FlyBase	exon	3736594	3737093	.	-	.	ID=FBti0019565;gene_id=right
+X	FlyBase	exon	3833560	3834059	.	+	.	ID=FBti0060050;gene_id=left
+X	FlyBase	exon	3834334	3834833	.	+	.	ID=FBti0060050;gene_id=right
+X	FlyBase	exon	3880451	3880950	.	-	.	ID=FBti0019566;gene_id=left
+X	FlyBase	exon	3888527	3889026	.	-	.	ID=FBti0019566;gene_id=right
+X	FlyBase	exon	4051480	4051979	.	+	.	ID=FBti0019567;gene_id=left
+X	FlyBase	exon	4058958	4059457	.	+	.	ID=FBti0019567;gene_id=right
+X	FlyBase	exon	4178048	4178547	.	-	.	ID=FBti0019568;gene_id=left
+X	FlyBase	exon	4183693	4184192	.	-	.	ID=FBti0019568;gene_id=right
+X	FlyBase	exon	4524542	4525041	.	+	.	ID=FBti0060466;gene_id=left
+X	FlyBase	exon	4525317	4525816	.	+	.	ID=FBti0060466;gene_id=right
+X	FlyBase	exon	4581901	4582400	.	+	.	ID=FBti0060479;gene_id=left
+X	FlyBase	exon	4582662	4583161	.	+	.	ID=FBti0060479;gene_id=right
+X	FlyBase	exon	4593999	4594498	.	-	.	ID=FBti0019569;gene_id=left
+X	FlyBase	exon	4594766	4595265	.	-	.	ID=FBti0019569;gene_id=right
+X	FlyBase	exon	4625418	4625917	.	-	.	ID=FBti0019570;gene_id=left
+X	FlyBase	exon	4630936	4631435	.	-	.	ID=FBti0019570;gene_id=right
+X	FlyBase	exon	4656840	4657339	.	+	.	ID=FBti0019571;gene_id=left
+X	FlyBase	exon	4657771	4658270	.	+	.	ID=FBti0019571;gene_id=right
+X	FlyBase	exon	4683101	4683600	.	-	.	ID=FBti0019572;gene_id=left
+X	FlyBase	exon	4684795	4685294	.	-	.	ID=FBti0019572;gene_id=right
+X	FlyBase	exon	4685985	4686484	.	-	.	ID=FBti0019573;gene_id=left
+X	FlyBase	exon	4686835	4687334	.	-	.	ID=FBti0019573;gene_id=right
+X	FlyBase	exon	4721556	4722055	.	-	.	ID=FBti0019574;gene_id=left
+X	FlyBase	exon	4729370	4729869	.	-	.	ID=FBti0019574;gene_id=right
+X	FlyBase	exon	4989861	4990360	.	-	.	ID=FBti0019578;gene_id=left
+X	FlyBase	exon	4997871	4998370	.	-	.	ID=FBti0019578;gene_id=right
+X	FlyBase	exon	5232315	5232814	.	-	.	ID=FBti0019579;gene_id=left
+X	FlyBase	exon	5233988	5234487	.	-	.	ID=FBti0019579;gene_id=right
+X	FlyBase	exon	5283350	5283849	.	-	.	ID=FBti0019580;gene_id=left
+X	FlyBase	exon	5286897	5287396	.	-	.	ID=FBti0019580;gene_id=right
+X	FlyBase	exon	5374647	5375146	.	+	.	ID=FBti0019581;gene_id=left
+X	FlyBase	exon	5379034	5379533	.	+	.	ID=FBti0019581;gene_id=right
+X	FlyBase	exon	5418429	5418928	.	+	.	ID=FBti0019582;gene_id=left
+X	FlyBase	exon	5422735	5423234	.	+	.	ID=FBti0019582;gene_id=right
+X	FlyBase	exon	5620971	5621470	.	+	.	ID=FBti0019583;gene_id=left
+X	FlyBase	exon	5626192	5626691	.	+	.	ID=FBti0019583;gene_id=right
+X	FlyBase	exon	5767200	5767699	.	-	.	ID=FBti0061115;gene_id=left
+X	FlyBase	exon	5767900	5768399	.	-	.	ID=FBti0061115;gene_id=right
+X	FlyBase	exon	5820682	5821181	.	-	.	ID=FBti0019586;gene_id=left
+X	FlyBase	exon	5826329	5826828	.	-	.	ID=FBti0019586;gene_id=right
+X	FlyBase	exon	6065171	6065670	.	-	.	ID=FBti0019587;gene_id=left
+X	FlyBase	exon	6073047	6073546	.	-	.	ID=FBti0019587;gene_id=right
+X	FlyBase	exon	6228798	6229297	.	+	.	ID=FBti0019588;gene_id=left
+X	FlyBase	exon	6231752	6232251	.	+	.	ID=FBti0019588;gene_id=right
+X	FlyBase	exon	6286459	6286958	.	+	.	ID=FBti0019589;gene_id=left
+X	FlyBase	exon	6291656	6292155	.	+	.	ID=FBti0019589;gene_id=right
+X	FlyBase	exon	6323576	6324075	.	-	.	ID=FBti0019590;gene_id=left
+X	FlyBase	exon	6329246	6329745	.	-	.	ID=FBti0019590;gene_id=right
+X	FlyBase	exon	6338891	6339390	.	-	.	ID=FBti0019591;gene_id=left
+X	FlyBase	exon	6345092	6345591	.	-	.	ID=FBti0019591;gene_id=right
+X	FlyBase	exon	6456406	6456905	.	-	.	ID=FBti0019592;gene_id=left
+X	FlyBase	exon	6465332	6465831	.	-	.	ID=FBti0019592;gene_id=right
+X	FlyBase	exon	6499064	6499563	.	-	.	ID=FBti0019593;gene_id=left
+X	FlyBase	exon	6502529	6503028	.	-	.	ID=FBti0019593;gene_id=right
+X	FlyBase	exon	6649313	6649812	.	+	.	ID=FBti0019594;gene_id=left
+X	FlyBase	exon	6650237	6650736	.	+	.	ID=FBti0019594;gene_id=right
+X	FlyBase	exon	6908350	6908849	.	-	.	ID=FBti0061617;gene_id=left
+X	FlyBase	exon	6909099	6909598	.	-	.	ID=FBti0061617;gene_id=right
+X	FlyBase	exon	6917189	6917688	.	+	.	ID=FBti0019596;gene_id=left
+X	FlyBase	exon	6925022	6925521	.	+	.	ID=FBti0019596;gene_id=right
+X	FlyBase	exon	7018834	7019333	.	+	.	ID=FBti0019597;gene_id=left
+X	FlyBase	exon	7028435	7028934	.	+	.	ID=FBti0019597;gene_id=right
+X	FlyBase	exon	7374377	7374876	.	-	.	ID=FBti0019598;gene_id=left
+X	FlyBase	exon	7376310	7376809	.	-	.	ID=FBti0019598;gene_id=right
+X	FlyBase	exon	7596495	7596994	.	+	.	ID=FBti0019599;gene_id=left
+X	FlyBase	exon	7597374	7597873	.	+	.	ID=FBti0019599;gene_id=right
+X	FlyBase	exon	7677833	7678332	.	-	.	ID=FBti0019600;gene_id=left
+X	FlyBase	exon	7678566	7679065	.	-	.	ID=FBti0019600;gene_id=right
+X	FlyBase	exon	7739314	7739813	.	-	.	ID=FBti0019601;gene_id=left
+X	FlyBase	exon	7741247	7741746	.	-	.	ID=FBti0019601;gene_id=right
+X	FlyBase	exon	7925028	7925527	.	-	.	ID=FBti0019602;gene_id=left
+X	FlyBase	exon	7929763	7930262	.	-	.	ID=FBti0019602;gene_id=right
+X	FlyBase	exon	8186836	8187335	.	+	.	ID=FBti0019603;gene_id=left
+X	FlyBase	exon	8190317	8190816	.	+	.	ID=FBti0019603;gene_id=right
+X	FlyBase	exon	8206413	8206912	.	+	.	ID=FBti0062566;gene_id=left
+X	FlyBase	exon	8207205	8207704	.	+	.	ID=FBti0062566;gene_id=right
+X	FlyBase	exon	8258438	8258937	.	+	.	ID=FBti0019604;gene_id=left
+X	FlyBase	exon	8259269	8259768	.	+	.	ID=FBti0019604;gene_id=right
+X	FlyBase	exon	8353372	8353871	.	-	.	ID=FBti0019605;gene_id=left
+X	FlyBase	exon	8354476	8354975	.	-	.	ID=FBti0019605;gene_id=right
+X	FlyBase	exon	8815918	8816417	.	+	.	ID=FBti0019606;gene_id=left
+X	FlyBase	exon	8816778	8817277	.	+	.	ID=FBti0019606;gene_id=right
+X	FlyBase	exon	8842347	8842846	.	+	.	ID=FBti0019608;gene_id=left
+X	FlyBase	exon	8850299	8850798	.	+	.	ID=FBti0019608;gene_id=right
+X	FlyBase	exon	9401726	9402225	.	+	.	ID=FBti0019609;gene_id=left
+X	FlyBase	exon	9403665	9404164	.	+	.	ID=FBti0019609;gene_id=right
+X	FlyBase	exon	9469379	9469878	.	+	.	ID=FBti0019610;gene_id=left
+X	FlyBase	exon	9470146	9470645	.	+	.	ID=FBti0019610;gene_id=right
+X	FlyBase	exon	9692111	9692610	.	-	.	ID=FBti0019611;gene_id=left
+X	FlyBase	exon	9699606	9700105	.	-	.	ID=FBti0019611;gene_id=right
+X	FlyBase	exon	10031803	10032302	.	+	.	ID=FBti0019614;gene_id=left
+X	FlyBase	exon	10039744	10040243	.	+	.	ID=FBti0019614;gene_id=right
+X	FlyBase	exon	10160891	10161390	.	-	.	ID=FBti0019615;gene_id=left
+X	FlyBase	exon	10170483	10170982	.	-	.	ID=FBti0019615;gene_id=right
+X	FlyBase	exon	10242387	10242886	.	+	.	ID=FBti0019616;gene_id=left
+X	FlyBase	exon	10250397	10250896	.	+	.	ID=FBti0019616;gene_id=right
+X	FlyBase	exon	10339131	10339630	.	-	.	ID=FBti0063412;gene_id=left
+X	FlyBase	exon	10339856	10340355	.	-	.	ID=FBti0063412;gene_id=right
+X	FlyBase	exon	10418659	10419158	.	+	.	ID=FBti0019617;gene_id=left
+X	FlyBase	exon	10426155	10426654	.	+	.	ID=FBti0019617;gene_id=right
+X	FlyBase	exon	10444444	10444943	.	+	.	ID=FBti0019618;gene_id=left
+X	FlyBase	exon	10446350	10446849	.	+	.	ID=FBti0019618;gene_id=right
+X	FlyBase	exon	10579639	10580138	.	-	.	ID=FBti0019619;gene_id=left
+X	FlyBase	exon	10585218	10585717	.	-	.	ID=FBti0019619;gene_id=right
+X	FlyBase	exon	10989586	10990085	.	+	.	ID=FBti0019620;gene_id=left
+X	FlyBase	exon	10997131	10997630	.	+	.	ID=FBti0019620;gene_id=right
+X	FlyBase	exon	11077839	11078338	.	-	.	ID=FBti0019621;gene_id=left
+X	FlyBase	exon	11083358	11083857	.	-	.	ID=FBti0019621;gene_id=right
+X	FlyBase	exon	11134085	11134584	.	+	.	ID=FBti0019623;gene_id=left
+X	FlyBase	exon	11134999	11135498	.	+	.	ID=FBti0019623;gene_id=right
+X	FlyBase	exon	11162151	11162650	.	+	.	ID=FBti0019624;gene_id=left
+X	FlyBase	exon	11164086	11164585	.	+	.	ID=FBti0019624;gene_id=right
+X	FlyBase	exon	11205652	11206151	.	-	.	ID=FBti0019625;gene_id=left
+X	FlyBase	exon	11213441	11213940	.	-	.	ID=FBti0019625;gene_id=right
+X	FlyBase	exon	11428629	11429128	.	-	.	ID=FBti0019626;gene_id=left
+X	FlyBase	exon	11435542	11436041	.	-	.	ID=FBti0019626;gene_id=right
+X	FlyBase	exon	11465040	11465539	.	+	.	ID=FBti0019627;gene_id=left
+X	FlyBase	exon	11465726	11466225	.	+	.	ID=FBti0019627;gene_id=right
+X	FlyBase	exon	11499223	11499722	.	+	.	ID=FBti0064037;gene_id=left
+X	FlyBase	exon	11500111	11500610	.	+	.	ID=FBti0064037;gene_id=right
+X	FlyBase	exon	11527005	11527504	.	-	.	ID=FBti0019628;gene_id=left
+X	FlyBase	exon	11534518	11535017	.	-	.	ID=FBti0019628;gene_id=right
+X	FlyBase	exon	11637155	11637654	.	+	.	ID=FBti0019630;gene_id=left
+X	FlyBase	exon	11644744	11645243	.	+	.	ID=FBti0019630;gene_id=right
+X	FlyBase	exon	11799400	11799899	.	-	.	ID=FBti0064040;gene_id=left
+X	FlyBase	exon	11800359	11800858	.	-	.	ID=FBti0064040;gene_id=right
+X	FlyBase	exon	12057077	12057576	.	+	.	ID=FBti0059925;gene_id=left
+X	FlyBase	exon	12057840	12058339	.	+	.	ID=FBti0059925;gene_id=right
+X	FlyBase	exon	12061726	12062225	.	+	.	ID=FBti0019631;gene_id=left
+X	FlyBase	exon	12067596	12068095	.	+	.	ID=FBti0019631;gene_id=right
+X	FlyBase	exon	12195551	12196050	.	-	.	ID=FBti0019632;gene_id=left
+X	FlyBase	exon	12197292	12197791	.	-	.	ID=FBti0019632;gene_id=right
+X	FlyBase	exon	12275459	12275958	.	-	.	ID=FBti0019633;gene_id=left
+X	FlyBase	exon	12279804	12280303	.	-	.	ID=FBti0019633;gene_id=right
+X	FlyBase	exon	12639971	12640470	.	+	.	ID=FBti0060433;gene_id=left
+X	FlyBase	exon	12640732	12641231	.	+	.	ID=FBti0060433;gene_id=right
+X	FlyBase	exon	12824166	12824665	.	-	.	ID=FBti0019635;gene_id=left
+X	FlyBase	exon	12831723	12832222	.	-	.	ID=FBti0019635;gene_id=right
+X	FlyBase	exon	13295077	13295576	.	+	.	ID=FBti0019045;gene_id=left
+X	FlyBase	exon	13295869	13296368	.	+	.	ID=FBti0019045;gene_id=right
+X	FlyBase	exon	13323052	13323551	.	+	.	ID=FBti0019046;gene_id=left
+X	FlyBase	exon	13324640	13325139	.	+	.	ID=FBti0019046;gene_id=right
+X	FlyBase	exon	13357233	13357732	.	+	.	ID=FBti0019047;gene_id=left
+X	FlyBase	exon	13363253	13363752	.	+	.	ID=FBti0019047;gene_id=right
+X	FlyBase	exon	13831569	13832068	.	-	.	ID=FBti0019048;gene_id=left
+X	FlyBase	exon	13835275	13835774	.	-	.	ID=FBti0019048;gene_id=right
+X	FlyBase	exon	13924339	13924838	.	+	.	ID=FBti0019050;gene_id=left
+X	FlyBase	exon	13929368	13929867	.	+	.	ID=FBti0019050;gene_id=right
+X	FlyBase	exon	13998611	13999110	.	+	.	ID=FBti0019051;gene_id=left
+X	FlyBase	exon	14008204	14008703	.	+	.	ID=FBti0019051;gene_id=right
+X	FlyBase	exon	14051181	14051680	.	-	.	ID=FBti0019052;gene_id=left
+X	FlyBase	exon	14057281	14057780	.	-	.	ID=FBti0019052;gene_id=right
+X	FlyBase	exon	14197670	14198169	.	+	.	ID=FBti0019053;gene_id=left
+X	FlyBase	exon	14204324	14204823	.	+	.	ID=FBti0019053;gene_id=right
+X	FlyBase	exon	14309904	14310403	.	-	.	ID=FBti0019054;gene_id=left
+X	FlyBase	exon	14315102	14315601	.	-	.	ID=FBti0019054;gene_id=right
+X	FlyBase	exon	14445232	14445731	.	-	.	ID=FBti0019055;gene_id=left
+X	FlyBase	exon	14453336	14453835	.	-	.	ID=FBti0019055;gene_id=right
+X	FlyBase	exon	14476735	14477234	.	-	.	ID=FBti0061060;gene_id=left
+X	FlyBase	exon	14477470	14477969	.	-	.	ID=FBti0061060;gene_id=right
+X	FlyBase	exon	14483263	14483762	.	+	.	ID=FBti0019056;gene_id=left
+X	FlyBase	exon	14483949	14484448	.	+	.	ID=FBti0019056;gene_id=right
+X	FlyBase	exon	14530058	14530557	.	-	.	ID=FBti0019057;gene_id=left
+X	FlyBase	exon	14535929	14536428	.	-	.	ID=FBti0019057;gene_id=right
+X	FlyBase	exon	14612714	14613213	.	+	.	ID=FBti0061076;gene_id=left
+X	FlyBase	exon	14613704	14614203	.	+	.	ID=FBti0061076;gene_id=right
+X	FlyBase	exon	14660004	14660503	.	-	.	ID=FBti0061085;gene_id=left
+X	FlyBase	exon	14660980	14661479	.	-	.	ID=FBti0061085;gene_id=right
+X	FlyBase	exon	14664006	14664505	.	+	.	ID=FBti0061087;gene_id=left
+X	FlyBase	exon	14664761	14665260	.	+	.	ID=FBti0061087;gene_id=right
+X	FlyBase	exon	14671630	14672129	.	-	.	ID=FBti0019058;gene_id=left
+X	FlyBase	exon	14676851	14677350	.	-	.	ID=FBti0019058;gene_id=right
+X	FlyBase	exon	14709104	14709603	.	-	.	ID=FBti0061103;gene_id=left
+X	FlyBase	exon	14709807	14710306	.	-	.	ID=FBti0061103;gene_id=right
+X	FlyBase	exon	14712353	14712852	.	-	.	ID=FBti0019059;gene_id=left
+X	FlyBase	exon	14717999	14718498	.	-	.	ID=FBti0019059;gene_id=right
+X	FlyBase	exon	14830448	14830947	.	+	.	ID=FBti0019060;gene_id=left
+X	FlyBase	exon	14840147	14840646	.	+	.	ID=FBti0019060;gene_id=right
+X	FlyBase	exon	14916699	14917198	.	+	.	ID=FBti0061129;gene_id=left
+X	FlyBase	exon	14917704	14918203	.	+	.	ID=FBti0061129;gene_id=right
+X	FlyBase	exon	14927680	14928179	.	+	.	ID=FBti0019061;gene_id=left
+X	FlyBase	exon	14935650	14936149	.	+	.	ID=FBti0019061;gene_id=right
+X	FlyBase	exon	14941525	14942024	.	-	.	ID=FBti0019636;gene_id=left
+X	FlyBase	exon	14942635	14943134	.	-	.	ID=FBti0019636;gene_id=right
+X	FlyBase	exon	14970356	14970855	.	+	.	ID=FBti0019062;gene_id=left
+X	FlyBase	exon	14971399	14971898	.	+	.	ID=FBti0019062;gene_id=right
+X	FlyBase	exon	15167294	15167793	.	-	.	ID=FBti0019637;gene_id=left
+X	FlyBase	exon	15168901	15169400	.	-	.	ID=FBti0019637;gene_id=right
+X	FlyBase	exon	15220273	15220772	.	+	.	ID=FBti0019063;gene_id=left
+X	FlyBase	exon	15220961	15221460	.	+	.	ID=FBti0019063;gene_id=right
+X	FlyBase	exon	15306642	15307141	.	+	.	ID=FBti0019064;gene_id=left
+X	FlyBase	exon	15311368	15311867	.	+	.	ID=FBti0019064;gene_id=right
+X	FlyBase	exon	15315507	15316006	.	-	.	ID=FBti0019065;gene_id=left
+X	FlyBase	exon	15317463	15317962	.	-	.	ID=FBti0019065;gene_id=right
+X	FlyBase	exon	15326753	15327252	.	-	.	ID=FBti0061584;gene_id=left
+X	FlyBase	exon	15327674	15328173	.	-	.	ID=FBti0061584;gene_id=right
+X	FlyBase	exon	15329260	15329759	.	+	.	ID=FBti0019066;gene_id=left
+X	FlyBase	exon	15330136	15330635	.	+	.	ID=FBti0019066;gene_id=right
+X	FlyBase	exon	15375323	15375822	.	+	.	ID=FBti0061582;gene_id=left
+X	FlyBase	exon	15376160	15376659	.	+	.	ID=FBti0061582;gene_id=right
+X	FlyBase	exon	15448269	15448768	.	-	.	ID=FBti0061585;gene_id=left
+X	FlyBase	exon	15449038	15449537	.	-	.	ID=FBti0061585;gene_id=right
+X	FlyBase	exon	15449888	15450387	.	-	.	ID=FBti0061588;gene_id=left
+X	FlyBase	exon	15450644	15451143	.	-	.	ID=FBti0061588;gene_id=right
+X	FlyBase	exon	15468199	15468698	.	-	.	ID=FBti0061589;gene_id=left
+X	FlyBase	exon	15468936	15469435	.	-	.	ID=FBti0061589;gene_id=right
+X	FlyBase	exon	15469456	15469955	.	-	.	ID=FBti0061590;gene_id=left
+X	FlyBase	exon	15470210	15470709	.	-	.	ID=FBti0061590;gene_id=right
+X	FlyBase	exon	15730527	15731026	.	+	.	ID=FBti0061604;gene_id=left
+X	FlyBase	exon	15731253	15731752	.	+	.	ID=FBti0061604;gene_id=right
+X	FlyBase	exon	15734786	15735285	.	+	.	ID=FBti0061606;gene_id=left
+X	FlyBase	exon	15735653	15736152	.	+	.	ID=FBti0061606;gene_id=right
+X	FlyBase	exon	16116366	16116865	.	-	.	ID=FBti0019067;gene_id=left
+X	FlyBase	exon	16125158	16125657	.	-	.	ID=FBti0019067;gene_id=right
+X	FlyBase	exon	16234256	16234755	.	-	.	ID=FBti0019068;gene_id=left
+X	FlyBase	exon	16243855	16244354	.	-	.	ID=FBti0019068;gene_id=right
+X	FlyBase	exon	16386234	16386733	.	-	.	ID=FBti0019069;gene_id=left
+X	FlyBase	exon	16392254	16392753	.	-	.	ID=FBti0019069;gene_id=right
+X	FlyBase	exon	16435015	16435514	.	+	.	ID=FBti0062240;gene_id=left
+X	FlyBase	exon	16436011	16436510	.	+	.	ID=FBti0062240;gene_id=right
+X	FlyBase	exon	16441298	16441797	.	+	.	ID=FBti0062241;gene_id=left
+X	FlyBase	exon	16442176	16442675	.	+	.	ID=FBti0062241;gene_id=right
+X	FlyBase	exon	16829597	16830096	.	+	.	ID=FBti0019070;gene_id=left
+X	FlyBase	exon	16830437	16830936	.	+	.	ID=FBti0019070;gene_id=right
+X	FlyBase	exon	16951522	16952021	.	-	.	ID=FBti0019071;gene_id=left
+X	FlyBase	exon	16952208	16952707	.	-	.	ID=FBti0019071;gene_id=right
+X	FlyBase	exon	17007337	17007836	.	-	.	ID=FBti0019072;gene_id=left
+X	FlyBase	exon	17013408	17013907	.	-	.	ID=FBti0019072;gene_id=right
+X	FlyBase	exon	17088792	17089291	.	-	.	ID=FBti0019073;gene_id=left
+X	FlyBase	exon	17094321	17094820	.	-	.	ID=FBti0019073;gene_id=right
+X	FlyBase	exon	17125391	17125890	.	+	.	ID=FBti0062273;gene_id=left
+X	FlyBase	exon	17126253	17126752	.	+	.	ID=FBti0062273;gene_id=right
+X	FlyBase	exon	17141025	17141524	.	-	.	ID=FBti0062274;gene_id=left
+X	FlyBase	exon	17141719	17142218	.	-	.	ID=FBti0062274;gene_id=right
+X	FlyBase	exon	17155869	17156368	.	-	.	ID=FBti0019074;gene_id=left
+X	FlyBase	exon	17156585	17157084	.	-	.	ID=FBti0019074;gene_id=right
+X	FlyBase	exon	17174503	17175002	.	-	.	ID=FBti0062286;gene_id=left
+X	FlyBase	exon	17175194	17175693	.	-	.	ID=FBti0062286;gene_id=right
+X	FlyBase	exon	17324955	17325454	.	-	.	ID=FBti0019075;gene_id=left
+X	FlyBase	exon	17325723	17326222	.	-	.	ID=FBti0019075;gene_id=right
+X	FlyBase	exon	17450531	17451030	.	+	.	ID=FBti0019076;gene_id=left
+X	FlyBase	exon	17451476	17451975	.	+	.	ID=FBti0019076;gene_id=right
+X	FlyBase	exon	17686539	17687038	.	+	.	ID=FBti0019077;gene_id=left
+X	FlyBase	exon	17690280	17690779	.	+	.	ID=FBti0019077;gene_id=right
+X	FlyBase	exon	17787185	17787684	.	-	.	ID=FBti0019078;gene_id=left
+X	FlyBase	exon	17790414	17790913	.	-	.	ID=FBti0019078;gene_id=right
+X	FlyBase	exon	18024852	18025351	.	-	.	ID=FBti0019639;gene_id=left
+X	FlyBase	exon	18026037	18026536	.	-	.	ID=FBti0019639;gene_id=right
+X	FlyBase	exon	18087657	18088156	.	-	.	ID=FBti0019079;gene_id=left
+X	FlyBase	exon	18088631	18089130	.	-	.	ID=FBti0019079;gene_id=right
+X	FlyBase	exon	18213198	18213697	.	-	.	ID=FBti0062998;gene_id=left
+X	FlyBase	exon	18213981	18214480	.	-	.	ID=FBti0062998;gene_id=right
+X	FlyBase	exon	18250193	18250692	.	+	.	ID=FBti0062977;gene_id=left
+X	FlyBase	exon	18251156	18251655	.	+	.	ID=FBti0062977;gene_id=right
+X	FlyBase	exon	18308377	18308876	.	+	.	ID=FBti0063008;gene_id=left
+X	FlyBase	exon	18309258	18309757	.	+	.	ID=FBti0063008;gene_id=right
+X	FlyBase	exon	18323082	18323581	.	+	.	ID=FBti0019080;gene_id=left
+X	FlyBase	exon	18328836	18329335	.	+	.	ID=FBti0019080;gene_id=right
+X	FlyBase	exon	18448967	18449466	.	+	.	ID=FBti0019081;gene_id=left
+X	FlyBase	exon	18450931	18451430	.	+	.	ID=FBti0019081;gene_id=right
+X	FlyBase	exon	18513283	18513782	.	-	.	ID=FBti0063024;gene_id=left
+X	FlyBase	exon	18514106	18514605	.	-	.	ID=FBti0063024;gene_id=right
+X	FlyBase	exon	18647925	18648424	.	+	.	ID=FBti0059782;gene_id=left
+X	FlyBase	exon	18652033	18652532	.	+	.	ID=FBti0059782;gene_id=right
+X	FlyBase	exon	18677415	18677914	.	-	.	ID=FBti0019082;gene_id=left
+X	FlyBase	exon	18679822	18680321	.	-	.	ID=FBti0019082;gene_id=right
+X	FlyBase	exon	18706010	18706509	.	+	.	ID=FBti0063036;gene_id=left
+X	FlyBase	exon	18706909	18707408	.	+	.	ID=FBti0063036;gene_id=right
+X	FlyBase	exon	18850658	18851157	.	-	.	ID=FBti0019083;gene_id=left
+X	FlyBase	exon	18859763	18860262	.	-	.	ID=FBti0019083;gene_id=right
+X	FlyBase	exon	18954002	18954501	.	-	.	ID=FBti0019084;gene_id=left
+X	FlyBase	exon	18959220	18959719	.	-	.	ID=FBti0019084;gene_id=right
+X	FlyBase	exon	19001351	19001850	.	-	.	ID=FBti0019085;gene_id=left
+X	FlyBase	exon	19003021	19003520	.	-	.	ID=FBti0019085;gene_id=right
+X	FlyBase	exon	19015489	19015988	.	-	.	ID=FBti0063617;gene_id=left
+X	FlyBase	exon	19016439	19016938	.	-	.	ID=FBti0063617;gene_id=right
+X	FlyBase	exon	19030140	19030639	.	+	.	ID=FBti0019086;gene_id=left
+X	FlyBase	exon	19037502	19038001	.	+	.	ID=FBti0019086;gene_id=right
+X	FlyBase	exon	19085704	19086203	.	-	.	ID=FBti0063635;gene_id=left
+X	FlyBase	exon	19086396	19086895	.	-	.	ID=FBti0063635;gene_id=right
+X	FlyBase	exon	19224162	19224661	.	-	.	ID=FBti0063656;gene_id=left
+X	FlyBase	exon	19224877	19225376	.	-	.	ID=FBti0063656;gene_id=right
+X	FlyBase	exon	19250578	19251077	.	-	.	ID=FBti0059696;gene_id=left
+X	FlyBase	exon	19252457	19252956	.	-	.	ID=FBti0059696;gene_id=right
+X	FlyBase	exon	19265090	19265589	.	-	.	ID=FBti0063669;gene_id=left
+X	FlyBase	exon	19265851	19266350	.	-	.	ID=FBti0063669;gene_id=right
+X	FlyBase	exon	19273743	19274242	.	-	.	ID=FBti0019087;gene_id=left
+X	FlyBase	exon	19274429	19274928	.	-	.	ID=FBti0019087;gene_id=right
+X	FlyBase	exon	19330858	19331357	.	-	.	ID=FBti0019088;gene_id=left
+X	FlyBase	exon	19338819	19339318	.	-	.	ID=FBti0019088;gene_id=right
+X	FlyBase	exon	19365718	19366217	.	-	.	ID=FBti0019089;gene_id=left
+X	FlyBase	exon	19366720	19367219	.	-	.	ID=FBti0019089;gene_id=right
+X	FlyBase	exon	19396008	19396507	.	+	.	ID=FBti0063678;gene_id=left
+X	FlyBase	exon	19397006	19397505	.	+	.	ID=FBti0063678;gene_id=right
+X	FlyBase	exon	19489665	19490164	.	-	.	ID=FBti0063729;gene_id=left
+X	FlyBase	exon	19490703	19491202	.	-	.	ID=FBti0063729;gene_id=right
+X	FlyBase	exon	19559764	19560263	.	+	.	ID=FBti0063712;gene_id=left
+X	FlyBase	exon	19560880	19561379	.	+	.	ID=FBti0063712;gene_id=right
+X	FlyBase	exon	19567246	19567745	.	-	.	ID=FBti0063694;gene_id=left
+X	FlyBase	exon	19568106	19568605	.	-	.	ID=FBti0063694;gene_id=right
+X	FlyBase	exon	19588853	19589352	.	+	.	ID=FBti0019090;gene_id=left
+X	FlyBase	exon	19590977	19591476	.	+	.	ID=FBti0019090;gene_id=right
+X	FlyBase	exon	19603659	19604158	.	-	.	ID=FBti0019091;gene_id=left
+X	FlyBase	exon	19605890	19606389	.	-	.	ID=FBti0019091;gene_id=right
+X	FlyBase	exon	19690936	19691435	.	-	.	ID=FBti0019646;gene_id=left
+X	FlyBase	exon	19698692	19699191	.	-	.	ID=FBti0019646;gene_id=right
+X	FlyBase	exon	19703442	19703941	.	-	.	ID=FBti0063736;gene_id=left
+X	FlyBase	exon	19704288	19704787	.	-	.	ID=FBti0063736;gene_id=right
+X	FlyBase	exon	19766215	19766714	.	-	.	ID=FBti0063738;gene_id=left
+X	FlyBase	exon	19767103	19767602	.	-	.	ID=FBti0063738;gene_id=right
+X	FlyBase	exon	19819597	19820096	.	-	.	ID=FBti0062904;gene_id=left
+X	FlyBase	exon	19820338	19820837	.	-	.	ID=FBti0062904;gene_id=right
+X	FlyBase	exon	19829825	19830324	.	-	.	ID=FBti0062915;gene_id=left
+X	FlyBase	exon	19830834	19831333	.	-	.	ID=FBti0062915;gene_id=right
+X	FlyBase	exon	19854295	19854794	.	-	.	ID=FBti0062889;gene_id=left
+X	FlyBase	exon	19854979	19855478	.	-	.	ID=FBti0062889;gene_id=right
+X	FlyBase	exon	19892332	19892831	.	-	.	ID=FBti0062891;gene_id=left
+X	FlyBase	exon	19893117	19893616	.	-	.	ID=FBti0062891;gene_id=right
+X	FlyBase	exon	19926904	19927403	.	+	.	ID=FBti0019648;gene_id=left
+X	FlyBase	exon	19930967	19931466	.	+	.	ID=FBti0019648;gene_id=right
+X	FlyBase	exon	19986996	19987495	.	-	.	ID=FBti0062899;gene_id=left
+X	FlyBase	exon	19987927	19988426	.	-	.	ID=FBti0062899;gene_id=right
+X	FlyBase	exon	19990109	19990608	.	+	.	ID=FBti0062945;gene_id=left
+X	FlyBase	exon	19990790	19991289	.	+	.	ID=FBti0062945;gene_id=right
+X	FlyBase	exon	19993521	19994020	.	-	.	ID=FBti0019649;gene_id=left
+X	FlyBase	exon	19997026	19997525	.	-	.	ID=FBti0019649;gene_id=right
+X	FlyBase	exon	20004574	20005073	.	+	.	ID=FBti0062946;gene_id=left
+X	FlyBase	exon	20005534	20006033	.	+	.	ID=FBti0062946;gene_id=right
+X	FlyBase	exon	20033920	20034419	.	-	.	ID=FBti0062979;gene_id=left
+X	FlyBase	exon	20034692	20035191	.	-	.	ID=FBti0062979;gene_id=right
+X	FlyBase	exon	20037228	20037727	.	+	.	ID=FBti0062965;gene_id=left
+X	FlyBase	exon	20038171	20038670	.	+	.	ID=FBti0062965;gene_id=right
+X	FlyBase	exon	20073287	20073786	.	+	.	ID=FBti0019650;gene_id=left
+X	FlyBase	exon	20075498	20075997	.	+	.	ID=FBti0019650;gene_id=right
+X	FlyBase	exon	20081159	20081658	.	+	.	ID=FBti0019651;gene_id=left
+X	FlyBase	exon	20083385	20083884	.	+	.	ID=FBti0019651;gene_id=right
+X	FlyBase	exon	20088846	20089345	.	+	.	ID=FBti0019652;gene_id=left
+X	FlyBase	exon	20091057	20091556	.	+	.	ID=FBti0019652;gene_id=right
+X	FlyBase	exon	20096706	20097205	.	+	.	ID=FBti0019653;gene_id=left
+X	FlyBase	exon	20098932	20099431	.	+	.	ID=FBti0019653;gene_id=right
+X	FlyBase	exon	20129221	20129720	.	+	.	ID=FBti0062966;gene_id=left
+X	FlyBase	exon	20130117	20130616	.	+	.	ID=FBti0062966;gene_id=right
+X	FlyBase	exon	20214636	20215135	.	-	.	ID=FBti0062995;gene_id=left
+X	FlyBase	exon	20215401	20215900	.	-	.	ID=FBti0062995;gene_id=right
+X	FlyBase	exon	20235565	20236064	.	+	.	ID=FBti0063000;gene_id=left
+X	FlyBase	exon	20236412	20236911	.	+	.	ID=FBti0063000;gene_id=right
+X	FlyBase	exon	20238464	20238963	.	+	.	ID=FBti0063502;gene_id=left
+X	FlyBase	exon	20239208	20239707	.	+	.	ID=FBti0063502;gene_id=right
+X	FlyBase	exon	20247900	20248399	.	+	.	ID=FBti0019654;gene_id=left
+X	FlyBase	exon	20249806	20250305	.	+	.	ID=FBti0019654;gene_id=right
+X	FlyBase	exon	20267464	20267963	.	-	.	ID=FBti0019656;gene_id=left
+X	FlyBase	exon	20269069	20269568	.	-	.	ID=FBti0019656;gene_id=right
+X	FlyBase	exon	20316429	20316928	.	+	.	ID=FBti0063003;gene_id=left
+X	FlyBase	exon	20317218	20317717	.	+	.	ID=FBti0063003;gene_id=right
+X	FlyBase	exon	20331167	20331666	.	-	.	ID=FBti0063472;gene_id=left
+X	FlyBase	exon	20331922	20332421	.	-	.	ID=FBti0063472;gene_id=right
+X	FlyBase	exon	20351467	20351966	.	-	.	ID=FBti0063476;gene_id=left
+X	FlyBase	exon	20352275	20352774	.	-	.	ID=FBti0063476;gene_id=right
+X	FlyBase	exon	20374707	20375206	.	+	.	ID=FBti0019657;gene_id=left
+X	FlyBase	exon	20376670	20377169	.	+	.	ID=FBti0019657;gene_id=right
+X	FlyBase	exon	20397489	20397988	.	+	.	ID=FBti0063522;gene_id=left
+X	FlyBase	exon	20398465	20398964	.	+	.	ID=FBti0063522;gene_id=right
+X	FlyBase	exon	20446575	20447074	.	+	.	ID=FBti0063531;gene_id=left
+X	FlyBase	exon	20447556	20448055	.	+	.	ID=FBti0063531;gene_id=right
+X	FlyBase	exon	20485359	20485858	.	-	.	ID=FBti0063532;gene_id=left
+X	FlyBase	exon	20486219	20486718	.	-	.	ID=FBti0063532;gene_id=right
+X	FlyBase	exon	20503414	20503913	.	-	.	ID=FBti0063542;gene_id=left
+X	FlyBase	exon	20504167	20504666	.	-	.	ID=FBti0063542;gene_id=right
+X	FlyBase	exon	20676657	20677156	.	-	.	ID=FBti0063596;gene_id=left
+X	FlyBase	exon	20677500	20677999	.	-	.	ID=FBti0063596;gene_id=right
+X	FlyBase	exon	20707308	20707807	.	+	.	ID=FBti0019658;gene_id=left
+X	FlyBase	exon	20715353	20715852	.	+	.	ID=FBti0019658;gene_id=right
+X	FlyBase	exon	20727409	20727908	.	-	.	ID=FBti0063600;gene_id=left
+X	FlyBase	exon	20728116	20728615	.	-	.	ID=FBti0063600;gene_id=right
+X	FlyBase	exon	20750652	20751151	.	-	.	ID=FBti0063602;gene_id=left
+X	FlyBase	exon	20751646	20752145	.	-	.	ID=FBti0063602;gene_id=right
+X	FlyBase	exon	20765308	20765807	.	-	.	ID=FBti0063606;gene_id=left
+X	FlyBase	exon	20766073	20766572	.	-	.	ID=FBti0063606;gene_id=right
+X	FlyBase	exon	20811305	20811804	.	-	.	ID=FBti0019659;gene_id=left
+X	FlyBase	exon	20813211	20813710	.	-	.	ID=FBti0019659;gene_id=right
+X	FlyBase	exon	20872979	20873478	.	+	.	ID=FBti0063639;gene_id=left
+X	FlyBase	exon	20873960	20874459	.	+	.	ID=FBti0063639;gene_id=right
+X	FlyBase	exon	20874984	20875483	.	-	.	ID=FBti0063640;gene_id=left
+X	FlyBase	exon	20875962	20876461	.	-	.	ID=FBti0063640;gene_id=right
+X	FlyBase	exon	20876509	20877008	.	-	.	ID=FBti0063641;gene_id=left
+X	FlyBase	exon	20877360	20877859	.	-	.	ID=FBti0063641;gene_id=right
+X	FlyBase	exon	20904331	20904830	.	+	.	ID=FBti0019664;gene_id=left
+X	FlyBase	exon	20905526	20906025	.	+	.	ID=FBti0019664;gene_id=right
+X	FlyBase	exon	20907486	20907985	.	+	.	ID=FBti0063642;gene_id=left
+X	FlyBase	exon	20908317	20908816	.	+	.	ID=FBti0063642;gene_id=right
+X	FlyBase	exon	20932446	20932945	.	-	.	ID=FBti0019665;gene_id=left
+X	FlyBase	exon	20933374	20933873	.	-	.	ID=FBti0019665;gene_id=right
+X	FlyBase	exon	20956729	20957228	.	-	.	ID=FBti0019666;gene_id=left
+X	FlyBase	exon	20958184	20958683	.	-	.	ID=FBti0019666;gene_id=right
+X	FlyBase	exon	20970376	20970875	.	+	.	ID=FBti0064085;gene_id=left
+X	FlyBase	exon	20971290	20971789	.	+	.	ID=FBti0064085;gene_id=right
+X	FlyBase	exon	20996038	20996537	.	+	.	ID=FBti0064087;gene_id=left
+X	FlyBase	exon	20996897	20997396	.	+	.	ID=FBti0064087;gene_id=right
+X	FlyBase	exon	21019641	21020140	.	-	.	ID=FBti0019669;gene_id=left
+X	FlyBase	exon	21020880	21021379	.	-	.	ID=FBti0019669;gene_id=right
+X	FlyBase	exon	21046284	21046783	.	+	.	ID=FBti0064103;gene_id=left
+X	FlyBase	exon	21047030	21047529	.	+	.	ID=FBti0064103;gene_id=right
+X	FlyBase	exon	21047881	21048380	.	-	.	ID=FBti0064157;gene_id=left
+X	FlyBase	exon	21049038	21049537	.	-	.	ID=FBti0064157;gene_id=right
+X	FlyBase	exon	21051404	21051903	.	-	.	ID=FBti0064105;gene_id=left
+X	FlyBase	exon	21052363	21052862	.	-	.	ID=FBti0064105;gene_id=right
+X	FlyBase	exon	21061792	21062291	.	+	.	ID=FBti0064107;gene_id=left
+X	FlyBase	exon	21062834	21063333	.	+	.	ID=FBti0064107;gene_id=right
+X	FlyBase	exon	21086568	21087067	.	-	.	ID=FBti0064109;gene_id=left
+X	FlyBase	exon	21087529	21088028	.	-	.	ID=FBti0064109;gene_id=right
+X	FlyBase	exon	21125285	21125784	.	+	.	ID=FBti0019677;gene_id=left
+X	FlyBase	exon	21126313	21126812	.	+	.	ID=FBti0019677;gene_id=right
+X	FlyBase	exon	21153965	21154464	.	+	.	ID=FBti0064194;gene_id=left
+X	FlyBase	exon	21154739	21155238	.	+	.	ID=FBti0064194;gene_id=right
+X	FlyBase	exon	21171043	21171542	.	+	.	ID=FBti0064205;gene_id=left
+X	FlyBase	exon	21171792	21172291	.	+	.	ID=FBti0064205;gene_id=right
+X	FlyBase	exon	21180050	21180549	.	-	.	ID=FBti0064206;gene_id=left
+X	FlyBase	exon	21181012	21181511	.	-	.	ID=FBti0064206;gene_id=right
+X	FlyBase	exon	21185984	21186483	.	-	.	ID=FBti0064207;gene_id=left
+X	FlyBase	exon	21186897	21187396	.	-	.	ID=FBti0064207;gene_id=right
+X	FlyBase	exon	21291889	21292388	.	+	.	ID=FBti0064220;gene_id=left
+X	FlyBase	exon	21292891	21293390	.	+	.	ID=FBti0064220;gene_id=right
+X	FlyBase	exon	21304742	21305241	.	-	.	ID=FBti0064222;gene_id=left
+X	FlyBase	exon	21305490	21305989	.	-	.	ID=FBti0064222;gene_id=right
+X	FlyBase	exon	21322696	21323195	.	+	.	ID=FBti0064223;gene_id=left
+X	FlyBase	exon	21323624	21324123	.	+	.	ID=FBti0064223;gene_id=right
+X	FlyBase	exon	21329282	21329781	.	-	.	ID=FBti0019678;gene_id=left
+X	FlyBase	exon	21335152	21335651	.	-	.	ID=FBti0019678;gene_id=right
+X	FlyBase	exon	21339280	21339779	.	+	.	ID=FBti0064224;gene_id=left
+X	FlyBase	exon	21339991	21340490	.	+	.	ID=FBti0064224;gene_id=right
+X	FlyBase	exon	21344984	21345483	.	+	.	ID=FBti0019679;gene_id=left
+X	FlyBase	exon	21345795	21346294	.	+	.	ID=FBti0019679;gene_id=right
+X	FlyBase	exon	21376449	21376948	.	+	.	ID=FBti0060042;gene_id=left
+X	FlyBase	exon	21377583	21378082	.	+	.	ID=FBti0060042;gene_id=right
+X	FlyBase	exon	21455828	21456327	.	+	.	ID=FBti0019697;gene_id=left
+X	FlyBase	exon	21456886	21457385	.	+	.	ID=FBti0019697;gene_id=right
+X	FlyBase	exon	21457944	21458443	.	-	.	ID=FBti0060048;gene_id=left
+X	FlyBase	exon	21458705	21459204	.	-	.	ID=FBti0060048;gene_id=right
+X	FlyBase	exon	21474559	21475058	.	-	.	ID=FBti0060061;gene_id=left
+X	FlyBase	exon	21475408	21475907	.	-	.	ID=FBti0060061;gene_id=right
+X	FlyBase	exon	21494393	21494892	.	-	.	ID=FBti0060088;gene_id=left
+X	FlyBase	exon	21495636	21496135	.	-	.	ID=FBti0060088;gene_id=right
+X	FlyBase	exon	21497479	21497978	.	+	.	ID=FBti0019699;gene_id=left
+X	FlyBase	exon	21499277	21499776	.	+	.	ID=FBti0019699;gene_id=right
+X	FlyBase	exon	21685998	21686497	.	+	.	ID=FBti0060594;gene_id=left
+X	FlyBase	exon	21687344	21687843	.	+	.	ID=FBti0060594;gene_id=right
+X	FlyBase	exon	21860031	21860530	.	+	.	ID=FBti0019720;gene_id=left
+X	FlyBase	exon	21861994	21862493	.	+	.	ID=FBti0019720;gene_id=right
+X	FlyBase	exon	21874192	21874691	.	+	.	ID=FBti0019721;gene_id=left
+X	FlyBase	exon	21875323	21875822	.	+	.	ID=FBti0019721;gene_id=right
+X	FlyBase	exon	21877985	21878484	.	-	.	ID=FBti0061140;gene_id=left
+X	FlyBase	exon	21879005	21879504	.	-	.	ID=FBti0061140;gene_id=right
+X	FlyBase	exon	21886041	21886540	.	+	.	ID=FBti0061141;gene_id=left
+X	FlyBase	exon	21886904	21887403	.	+	.	ID=FBti0061141;gene_id=right
+X	FlyBase	exon	21887574	21888073	.	+	.	ID=FBti0061142;gene_id=left
+X	FlyBase	exon	21888567	21889066	.	+	.	ID=FBti0061142;gene_id=right
+X	FlyBase	exon	21889900	21890399	.	-	.	ID=FBti0019722;gene_id=left
+X	FlyBase	exon	21890892	21891391	.	-	.	ID=FBti0019722;gene_id=right
+X	FlyBase	exon	21891428	21891927	.	-	.	ID=FBti0061299;gene_id=left
+X	FlyBase	exon	21892197	21892696	.	-	.	ID=FBti0061299;gene_id=right
+X	FlyBase	exon	21895770	21896269	.	+	.	ID=FBti0061144;gene_id=left
+X	FlyBase	exon	21896836	21897335	.	+	.	ID=FBti0061144;gene_id=right
+X	FlyBase	exon	21907764	21908263	.	+	.	ID=FBti0061147;gene_id=left
+X	FlyBase	exon	21908793	21909292	.	+	.	ID=FBti0061147;gene_id=right
+X	FlyBase	exon	21909599	21910098	.	-	.	ID=FBti0061148;gene_id=left
+X	FlyBase	exon	21910516	21911015	.	-	.	ID=FBti0061148;gene_id=right
+X	FlyBase	exon	21912243	21912742	.	-	.	ID=FBti0061150;gene_id=left
+X	FlyBase	exon	21913162	21913661	.	-	.	ID=FBti0061150;gene_id=right
+X	FlyBase	exon	21914659	21915158	.	+	.	ID=FBti0061152;gene_id=left
+X	FlyBase	exon	21915445	21915944	.	+	.	ID=FBti0061152;gene_id=right
+X	FlyBase	exon	21946675	21947174	.	+	.	ID=FBti0061166;gene_id=left
+X	FlyBase	exon	21947617	21948116	.	+	.	ID=FBti0061166;gene_id=right
+X	FlyBase	exon	21966395	21966894	.	+	.	ID=FBti0019733;gene_id=left
+X	FlyBase	exon	21971918	21972417	.	+	.	ID=FBti0019733;gene_id=right
+X	FlyBase	exon	21974809	21975308	.	-	.	ID=FBti0061271;gene_id=left
+X	FlyBase	exon	21976502	21977001	.	-	.	ID=FBti0061271;gene_id=right
+X	FlyBase	exon	21987500	21987999	.	-	.	ID=FBti0061169;gene_id=left
+X	FlyBase	exon	21988186	21988685	.	-	.	ID=FBti0061169;gene_id=right
+X	FlyBase	exon	21993503	21994002	.	-	.	ID=FBti0061171;gene_id=left
+X	FlyBase	exon	21994450	21994949	.	-	.	ID=FBti0061171;gene_id=right
+X	FlyBase	exon	21997723	21998222	.	-	.	ID=FBti0061189;gene_id=left
+X	FlyBase	exon	21998648	21999147	.	-	.	ID=FBti0061189;gene_id=right
+X	FlyBase	exon	22001309	22001808	.	-	.	ID=FBti0061190;gene_id=left
+X	FlyBase	exon	22002053	22002552	.	-	.	ID=FBti0061190;gene_id=right
+X	FlyBase	exon	22003324	22003823	.	+	.	ID=FBti0061191;gene_id=left
+X	FlyBase	exon	22004349	22004848	.	+	.	ID=FBti0061191;gene_id=right
+X	FlyBase	exon	22021878	22022377	.	+	.	ID=FBti0019735;gene_id=left
+X	FlyBase	exon	22028589	22029088	.	+	.	ID=FBti0019735;gene_id=right
+X	FlyBase	exon	22030491	22030990	.	+	.	ID=FBti0061193;gene_id=left
+X	FlyBase	exon	22031375	22031874	.	+	.	ID=FBti0061193;gene_id=right
+X	FlyBase	exon	22034624	22035123	.	+	.	ID=FBti0061194;gene_id=left
+X	FlyBase	exon	22035583	22036082	.	+	.	ID=FBti0061194;gene_id=right
+X	FlyBase	exon	22036925	22037424	.	+	.	ID=FBti0061195;gene_id=left
+X	FlyBase	exon	22038220	22038719	.	+	.	ID=FBti0061195;gene_id=right
+X	FlyBase	exon	22039357	22039856	.	-	.	ID=FBti0061196;gene_id=left
+X	FlyBase	exon	22040352	22040851	.	-	.	ID=FBti0061196;gene_id=right
+X	FlyBase	exon	22043411	22043910	.	-	.	ID=FBti0061198;gene_id=left
+X	FlyBase	exon	22044257	22044756	.	-	.	ID=FBti0061198;gene_id=right
+X	FlyBase	exon	22048433	22048932	.	+	.	ID=FBti0061330;gene_id=left
+X	FlyBase	exon	22049279	22049778	.	+	.	ID=FBti0061330;gene_id=right
+X	FlyBase	exon	22057124	22057623	.	+	.	ID=FBti0061333;gene_id=left
+X	FlyBase	exon	22057985	22058484	.	+	.	ID=FBti0061333;gene_id=right
+X	FlyBase	exon	22082873	22083372	.	+	.	ID=FBti0019737;gene_id=left
+X	FlyBase	exon	22090779	22091278	.	+	.	ID=FBti0019737;gene_id=right
+X	FlyBase	exon	22095242	22095741	.	-	.	ID=FBti0061335;gene_id=left
+X	FlyBase	exon	22096103	22096602	.	-	.	ID=FBti0061335;gene_id=right
+X	FlyBase	exon	22131802	22132301	.	-	.	ID=FBti0019743;gene_id=left
+X	FlyBase	exon	22133042	22133541	.	-	.	ID=FBti0019743;gene_id=right
+X	FlyBase	exon	22139935	22140434	.	+	.	ID=FBti0019744;gene_id=left
+X	FlyBase	exon	22140885	22141384	.	+	.	ID=FBti0019744;gene_id=right
+X	FlyBase	exon	22143032	22143531	.	-	.	ID=FBti0061353;gene_id=left
+X	FlyBase	exon	22144129	22144628	.	-	.	ID=FBti0061353;gene_id=right
+X	FlyBase	exon	22145369	22145868	.	-	.	ID=FBti0061354;gene_id=left
+X	FlyBase	exon	22146581	22147080	.	-	.	ID=FBti0061354;gene_id=right
+X	FlyBase	exon	22158980	22159479	.	-	.	ID=FBti0060518;gene_id=left
+X	FlyBase	exon	22159740	22160239	.	-	.	ID=FBti0060518;gene_id=right
+X	FlyBase	exon	22177427	22177926	.	-	.	ID=FBti0061357;gene_id=left
+X	FlyBase	exon	22178135	22178634	.	-	.	ID=FBti0061357;gene_id=right
+X	FlyBase	exon	22181659	22182158	.	-	.	ID=FBti0061667;gene_id=left
+X	FlyBase	exon	22182560	22183059	.	-	.	ID=FBti0061667;gene_id=right
+X	FlyBase	exon	22185911	22186410	.	-	.	ID=FBti0019746;gene_id=left
+X	FlyBase	exon	22186943	22187442	.	-	.	ID=FBti0019746;gene_id=right
+X	FlyBase	exon	22190019	22190518	.	-	.	ID=FBti0061670;gene_id=left
+X	FlyBase	exon	22191085	22191584	.	-	.	ID=FBti0061670;gene_id=right
+X	FlyBase	exon	22195806	22196305	.	+	.	ID=FBti0061671;gene_id=left
+X	FlyBase	exon	22196925	22197424	.	+	.	ID=FBti0061671;gene_id=right
+X	FlyBase	exon	22223174	22223673	.	+	.	ID=FBti0061781;gene_id=left
+X	FlyBase	exon	22225997	22226496	.	+	.	ID=FBti0061781;gene_id=right
+X	FlyBase	exon	22234403	22234902	.	-	.	ID=FBti0060517;gene_id=left
+X	FlyBase	exon	22235245	22235744	.	-	.	ID=FBti0060517;gene_id=right
+X	FlyBase	exon	22239374	22239873	.	+	.	ID=FBti0061674;gene_id=left
+X	FlyBase	exon	22240389	22240888	.	+	.	ID=FBti0061674;gene_id=right
+X	FlyBase	exon	22243264	22243763	.	+	.	ID=FBti0019748;gene_id=left
+X	FlyBase	exon	22245337	22245836	.	+	.	ID=FBti0019748;gene_id=right
+X	FlyBase	exon	22250617	22251116	.	-	.	ID=FBti0061812;gene_id=left
+X	FlyBase	exon	22251644	22252143	.	-	.	ID=FBti0061812;gene_id=right
+X	FlyBase	exon	22256814	22257313	.	-	.	ID=FBti0061813;gene_id=left
+X	FlyBase	exon	22257959	22258458	.	-	.	ID=FBti0061813;gene_id=right
+X	FlyBase	exon	22271776	22272275	.	-	.	ID=FBti0061846;gene_id=left
+X	FlyBase	exon	22272465	22272964	.	-	.	ID=FBti0061846;gene_id=right
+X	FlyBase	exon	22276936	22277435	.	+	.	ID=FBti0061848;gene_id=left
+X	FlyBase	exon	22277765	22278264	.	+	.	ID=FBti0061848;gene_id=right
+X	FlyBase	exon	22283375	22283874	.	+	.	ID=FBti0062474;gene_id=left
+X	FlyBase	exon	22285380	22285879	.	+	.	ID=FBti0062474;gene_id=right
+X	FlyBase	exon	22289776	22290275	.	+	.	ID=FBti0062436;gene_id=left
+X	FlyBase	exon	22290575	22291074	.	+	.	ID=FBti0062436;gene_id=right
+X	FlyBase	exon	22326110	22326609	.	-	.	ID=FBti0062440;gene_id=left
+X	FlyBase	exon	22327885	22328384	.	-	.	ID=FBti0062440;gene_id=right
+X	FlyBase	exon	22336396	22336895	.	-	.	ID=FBti0062416;gene_id=left
+X	FlyBase	exon	22337937	22338436	.	-	.	ID=FBti0062416;gene_id=right
+X	FlyBase	exon	22339332	22339831	.	+	.	ID=FBti0061912;gene_id=left
+X	FlyBase	exon	22340231	22340730	.	+	.	ID=FBti0061912;gene_id=right
+X	FlyBase	exon	22385377	22385876	.	+	.	ID=FBti0061942;gene_id=left
+X	FlyBase	exon	22386134	22386633	.	+	.	ID=FBti0061942;gene_id=right
+X	FlyBase	exon	22397699	22398198	.	+	.	ID=FBti0062347;gene_id=left
+X	FlyBase	exon	22405375	22405874	.	+	.	ID=FBti0062347;gene_id=right
+X	FlyBase	exon	22406838	22407337	.	+	.	ID=FBti0062442;gene_id=left
+X	FlyBase	exon	22408770	22409269	.	+	.	ID=FBti0062442;gene_id=right
+X	FlyBase	exon	22412656	22413155	.	-	.	ID=FBti0061946;gene_id=left
+X	FlyBase	exon	22413523	22414022	.	-	.	ID=FBti0061946;gene_id=right
Binary file test-data/featureCounts_input1.bam has changed
Binary file test-data/featureCounts_input2.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.tab	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,3 @@
+Geneid	1: featureCounts_input1.bam	2: featureCounts_input2.bam	Length
+left	92	72	170000
+right	66	63	170000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output_summary.tab	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,12 @@
+Status	1: featureCounts_input1.bam	2: featureCounts_input2.bam
+Assigned	158	135
+Unassigned_Ambiguity	0	0
+Unassigned_MultiMapping	0	0
+Unassigned_NoFeatures	6078	6344
+Unassigned_Unmapped	0	0
+Unassigned_MappingQuality	0	0
+Unassigned_FragementLength	0	0
+Unassigned_Chimera	0	0
+Unassigned_Secondary	0	0
+Unassigned_Nonjunction	0	0
+Unassigned_Duplicate	0	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/gene_sets.loc.sample	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,39 @@
+# This is a sample file distributed with Galaxy that enables tools
+# to use gene/exon annotations in the GFF/GTF format. You will need
+# to add all the gene set annotations in this configuration file.
+# Because of this file, galaxy tools are able to access gene annotations
+# provided as GFF / GTF files by selecting on:
+# - Priorty (defined by the order in the file)
+# - Provider
+# - dbkey (reference genome id)
+# 
+# The gene_sets.loc file syntax is:
+# <name/UID> <dbkey> <path> <provider> <URL/reference*>
+#  *optional
+# 
+# Please ensure maximally one TAB (\t) between two columns!
+# ---------------------------------------------------------
+# 
+# In case you have TWO or MORE providers PER dbkey, the one mentioned
+# first in the file, should have the "default" priority.
+#
+
+
+
+# [UCSC - UCSC Genes: knownGene]
+
+#hg19.UCSC knownGene (mm/'yy)	hg19	/depot/data2/galaxy/hg19/gene_sets/Homo_sapiens.GRCh37.74.gtf	ucsc	http://genome.ucsc.edu/
+#hg18.UCSC knownGene (mm/'yy)	hg18	/depot/data2/galaxy/hg18/gene_sets/Homo_sapiens.NCBI36.54.gtf	ucsc	http://genome.ucsc.edu/
+
+
+
+# [RefSeq Genes: RefGene]
+# link: ftp://ftp.ncbi.nlm.nih.gov/refseq/H_sapiens/RefSeqGene/
+
+
+
+# [ Ensembl]
+# link: http://www.ensembl.org/info/data/ftp/index.html
+
+#Homo_sapiens.GRCh37.74	hg19	/depot/data2/galaxy/hg19/gene_sets/Homo_sapiens.GRCh37.74.gtf	ensembl	ftp://ftp.ensembl.org/pub/release-74/gtf/homo_sapiens/Homo_sapiens.GRCh37.74.gtf.gz
+#Homo_sapiens.NCBI36.54	hg18	/depot/data2/galaxy/hg18/gene_sets/Homo_sapiens.NCBI36.54.gtf	ensembl	ftp://ftp.ensembl.org/pub/release-54/gtf/homo_sapiens/Homo_sapiens.NCBI36.54.gtf.gz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,8 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+    <!-- Location of all GFF/GTF files -->
+    <table name="gene_sets" comment_char="#">
+        <columns>name, dbkey, value, provider, reference</columns>
+        <file path="tool-data/gene_sets.loc" />
+    </table>
+</tables>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Mon May 18 04:49:19 2015 -0400
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<tool_dependency>
+	<package name="featurecounts" version="1.4.6.p1">
+		<install version="1.0">
+			<actions>
+				<action type="shell_command">wget http://garr.dl.sourceforge.net/project/subread/subread-1.4.6-p1/subread-1.4.6-p1-source.tar.gz &amp;&amp; tar -zxvf subread-1.4.6-p1-source.tar.gz &amp;&amp; cd subread-1.4.6-p1-source/src/ &amp;&amp; make -f Makefile.Linux &amp;&amp; cd ../../</action>
+				<action type="move_file">
+					<source>../subread-1.4.6-p1-source/bin/featureCounts</source>
+					<destination>$INSTALL_DIR/bin/</destination>
+				</action>
+				<action type="set_environment">
+					<environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/bin</environment_variable>
+					<!--<environment_variable name="PATH" action="prepend_to">$REPOSITORY_INSTALL_DIR</environment_variable>-->
+				</action>
+			</actions>
+		</install>
+		<readme>
+			Downloads and installs featureCounts; requires WGET, GNU AUTOTOOLS and TAR to be installed.
+		</readme>
+	</package>
+	
+	<package name="featurecounts2bed" version="1.0.0">
+		<install version="1.0">
+			<actions>
+				<action type="shell_command">mkdir $INSTALL_DIR/bin ; cp $REPOSITORY_INSTALL_DIR/featurecounts2bed.sh $INSTALL_DIR/bin/</action>
+				<action type="chmod">
+					<file mode="755">$INSTALL_DIR/bin/featurecounts2bed.sh</file>
+				</action>
+				<action type="set_environment">
+					<environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/bin</environment_variable>
+					<environment_variable name="PATH" action="prepend_to">$REPOSITORY_INSTALL_DIR</environment_variable>
+				</action>
+			</actions>
+		</install>
+	</package>
+</tool_dependency>