changeset 3:535321abf9a4 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/chipseeker commit 861db0d1f76bb320f49c2501f4e656cf88d389ce
author rnateam
date Fri, 01 Jun 2018 02:13:33 -0400
parents cb133602cd9b
children 90fe78a19b55
files chipseeker.R chipseeker.xml test-data/out.int test-data/out.pdf test-data/out.rdata test-data/outflank.tab test-data/outint.int test-data/outint.tab test-data/outtss.tab
diffstat 9 files changed, 85 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/chipseeker.R	Wed May 30 06:12:27 2018 -0400
+++ b/chipseeker.R	Fri Jun 01 02:13:33 2018 -0400
@@ -6,6 +6,7 @@
 suppressPackageStartupMessages({
     library(ChIPseeker)
     library(GenomicFeatures)
+    library(rtracklayer)
     library(optparse)
 })
 
@@ -17,7 +18,8 @@
     make_option(c("-F","--flankgeneinfo"), type="logical", help="Add flanking gene info"),
     make_option(c("-D","--flankgenedist"), type="integer", help="Flanking gene distance"),
     make_option(c("-f","--format"), type="character", help="Output format (interval or tabular)."),
-    make_option(c("-p","--plots"), type="character", help="PDF of plots.")
+    make_option(c("-p","--plots"), type="logical", help="PDF of plots."),
+    make_option(c("-r","--rdata"), type="logical", help="Output RData file.")
   )
 
 parser <- OptionParser(usage = "%prog [options] file", option_list=option_list)
@@ -28,7 +30,6 @@
 up = args$upstream
 down = args$downstream
 format = args$format
-plots = args$plots
 
 peaks <- readPeakFile(peaks)
 
@@ -40,25 +41,32 @@
     peakAnno <-  annotatePeak(peaks, TxDb=txdb, tssRegion=c(-up, down))
 }
 
+# Add gene name
+features <- import(gtf, format="gtf")
+ann <- unique(mcols(features)[, c("gene_id", "gene_name")])
+res <- as.data.frame(peakAnno)
+res <- merge(res, ann, by.x="geneId", by.y="gene_id")
+names(res)[names(res) == "gene_name"] <- "geneName"
+
+#Extract metadata cols, 1st is geneId, rest should be from col 7 to end
+metacols <- res[, c(7:ncol(res), 1)]
 # Convert from 1-based to 0-based format
-res <- as.GRanges(peakAnno)
-metacols <- mcols(res)
 if (format == "interval") {
     metacols <- apply(as.data.frame(metacols), 1, function(col) paste(col, collapse="|"))
-    resout  <- data.frame(Chrom=seqnames(res),
-                    Start=start(res) - 1,
-                    End=end(res),
+    resout <- data.frame(Chrom=res$seqnames,
+                    Start=res$start - 1,
+                    End=res$end,
                     Comment=metacols)
 } else {
-    resout <- data.frame(Chrom=seqnames(res),
-                    Start=start(res) - 1,
-                    End=end(res),
+    resout <- data.frame(Chrom=res$seqnames,
+                    Start=res$start - 1,
+                    End=res$end,
                     metacols)
 }
 
 write.table(resout, file="out.tab", sep="\t", row.names=FALSE, quote=FALSE)
 
-if (!is.null(plots)) {
+if (!is.null(args$plots)) {
     pdf("out.pdf", width=14)
     plotAnnoPie(peakAnno)
     plotAnnoBar(peakAnno)
@@ -66,4 +74,10 @@
     upsetplot(peakAnno)
     plotDistToTSS(peakAnno, title="Distribution of transcription factor-binding loci\nrelative to TSS")
     dev.off()
+}
+
+## Output RData file
+
+if (!is.null(args$rdata)) {
+  save.image(file = "ChIPseeker_analysis.RData")
 }
\ No newline at end of file
--- a/chipseeker.xml	Wed May 30 06:12:27 2018 -0400
+++ b/chipseeker.xml	Fri Jun 01 02:13:33 2018 -0400
@@ -1,4 +1,4 @@
-<tool id="chipseeker" name="ChIPseeker" version="1.14.2.1">
+<tool id="chipseeker" name="ChIPseeker" version="1.14.2.2">
     <description>for ChIP peak annotation and visualization</description>
     <requirements>
         <requirement type="package" version="1.14.2">bioconductor-chipseeker</requirement>
@@ -31,6 +31,7 @@
         #end if
         -f $format
         -p $pdf
+        -r $rdata
     ]]>
     </command>
     <inputs>
@@ -58,6 +59,9 @@
         </param>
         <param name="pdf" type="boolean" truevalue="True" falsevalue="" checked="True" label="Output PDF of plots?" help="Default: Yes" />
         <param name="rscript" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="False" label="Output Rscript?" help="If this option is set to Yes, the Rscript used to annotate the IDs will be provided as a text file in the output. Default: No" />
+        <param name="rdata" type="boolean" truevalue="True" falsevalue="False" checked="False" label="Output RData file?"
+            help="Output all the data used by R to construct the tables and plots, can be loaded into R. Default: No">
+        </param>
 
         <section name="adv" expanded="false" title="Advanced Options">
             <param name="upstream" type="integer" min="0" value="3000" label="TSS upstream region" help="User can define TSS (transcription start site) region, by default TSS is defined from -3kb to +3kb." />
@@ -79,15 +83,19 @@
             <data name="out_rscript" format="txt" from_work_dir="out_rscript.txt" label="${tool.name} on ${on_string}: Rscript">
                 <filter>rscript</filter>
             </data>
+            <data name="out_rdata" format="rdata" from_work_dir="ChIPseeker_analysis.RData" label="${tool.name} on ${on_string}: RData file">
+                <filter>rdata</filter>
+            </data>
         </outputs>
 
     <tests>
         <!-- Ensure bed and GTF inputs and all outputs work -->
-        <test expect_num_outputs="3">
+        <test expect_num_outputs="4">
             <param name="peaks" value="in.bed" ftype="bed"/>
             <param name="gtf_source_select" value="history"/>
             <param name="gtf_hist" value="in.gtf"/>
             <param name="rscript" value="True"/>
+            <param name="rdata" value="True"/>
             <output name="out_tab" ftype="interval" file="out.int" />
             <output name="out_plots" file="out.pdf" compare="sim_size"/>
             <output name="out_rscript" >
@@ -95,6 +103,7 @@
                     <has_text_matching expression="peakAnno.*annotatePeak" />
                 </assert_contents>
             </output>
+            <output name="out_rdata" file="out.rdata" compare="sim_size" />
         </test>
         <!-- Ensure built-in GTF works -->
         <test expect_num_outputs="2">
@@ -170,7 +179,7 @@
     18     371109  372102  DiffBind  0      .
     =====  ======  ======  ========  =====  ======
 
-A GTF file for annotation.
+A GTF file for annotation. The GTF file must have fields called "gene_id" and gene_name".
 
 -----
 
@@ -180,7 +189,11 @@
 
     * a file of annotated peaks in Interval or Tabular format
     * a PDF of plots (plotAnnoPie, vennpie, upsetplot)
+
+Optionally, you can choose to output
+
     * the R script used by this tool
+    * an RData file
 
 **Annotated peaks**
 
@@ -191,11 +204,11 @@
     =====  ======  ======  =====================================================================================================================================================
     Chrom  Start   End     Comment
     =====  ======  ======  =====================================================================================================================================================
-    18     394599  396513  DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256| 3869
-    18     111566  112005  DiffBind|0|.|Promoter (<=1kb)|1|111568|112005|  438|1|ENSG00000263006|ENST00000608049|    0
-    18     346463  347342  DiffBind|0|.|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|53040
-    18     399013  400382  DiffBind|0|.|Promoter (<=1kb)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|    0
-    18     371109  372102  DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|28280
+    18     394599  396513  DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256| 3869|COLEC12|ENSG00000158270
+    18     346463  347342  DiffBind|0|.|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENST00000400256|53040|COLEC12|ENSG00000158270
+    18     399013  400382  DiffBind|0|.|Promoter (<=1kb)|1|346465|400382|53918|2|ENST00000400256|    0|COLEC12|ENSG00000158270
+    18     371109  372102  DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256|28280|COLEC12|ENSG00000158270
+    18     111566  112005  DiffBind|0|.|Promoter (<=1kb)|1|111568|112005|  438|1|ENST00000608049|    0|ROCK1P1|ENSG00000263006
     =====  ======  ======  =====================================================================================================================================================
 
     Columns contain the following data:
@@ -212,21 +225,22 @@
     * *geneEnd*
     * *geneLength*
     * *geneStrand*
-    * *geneId*
     * *transcriptId*
     * *distanceToTSS*
+    * *geneName*
+    * *geneId*
 
 Example - **Tabular format**:
 
-    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== =============== =============
-    Chrom  Start   End     Name      Score  Strand  Comment                                      annotation                                              geneChr geneStart geneEnd geneLength geneStrand geneId          transcriptId    distanceToTSS
-    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== =============== =============
-    18     394599  396513  DiffBind    0     .      1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21  Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)  1       346465    400382   53918      2        ENSG00000158270 ENST00000400256 3869
-    18     111566  112005  DiffBind    0     .      439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06    Promoter (<=1kb)                                         1       111568    112005   438        1        ENSG00000263006 ENST00000608049 0
-    18     346463  347342  DiffBind    0     .      879|5|5.77|3.24|2.52|6.51e-06|0.00303        Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)      1       346465    400382   53918      2        ENSG00000158270 ENST00000400256 53040
-    18     399013  400382  DiffBind    0     .      1369|7.62|7|8.05|-1.04|1.04e-05|0.00364      Promoter (<=1kb)                                         1       346465    400382   53918      2        ENSG00000158270 ENST00000400256 0
-    18     371109  372102  DiffBind    0     .      993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226       Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)  1       346465    400382   53918      2        ENSG00000158270 ENST00000400256 28280
-    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== =============== =============
+    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== ============= ======== ===============
+    Chrom  Start   End     Name      Score  Strand  Comment                                      annotation                                              geneChr geneStart geneEnd geneLength geneStrand transcriptId    distanceToTSS geneName geneId
+    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== ============= ======== ===============
+    18     394599  396513  DiffBind    0    .       1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21  Intron (ENST00000400256/ENSG00000158270, intron 1 of 1) 1       346465    400382  53918      2          ENST00000400256 3869          COLEC12  ENSG00000158270
+    18     346463  347342  DiffBind    0    .       879|5|5.77|3.24|2.52|6.51e-06|0.00303        Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)     1       346465    400382  53918      2          ENST00000400256 53040         COLEC12  ENSG00000158270
+    18     399013  400382  DiffBind    0    .       1369|7.62|7|8.05|-1.04|1.04e-05|0.00364      Promoter (<=1kb)                                        1       346465    400382  53918      2          ENST00000400256 0             COLEC12  ENSG00000158270
+    18     371109  372102  DiffBind    0    .       993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226       Intron (ENST00000400256/ENSG00000158270, intron 1 of 1) 1       346465    400382  53918      2          ENST00000400256 28280         COLEC12  ENSG00000158270
+    18     111566  112005  DiffBind    0    .       439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06    Promoter (<=1kb)                                        1       111568    112005  438        1          ENST00000608049 0             ROCK1P1  ENSG00000263006
+    =====  ======  ======  ========  ====== ======  ===========================================  ======================================================= ======= ========= ======= ========== ========== =============== ============= ======== ===============
 
 .. _ChIPseeker: https://bioconductor.org/packages/release/bioc/html/ChIPseeker.html
 .. _`ChIPseeker vignette`: http://bioconductor.org/packages/release/bioc/vignettes/ChIPseeker/inst/doc/ChIPseeker.html
--- a/test-data/out.int	Wed May 30 06:12:27 2018 -0400
+++ b/test-data/out.int	Fri Jun 01 02:13:33 2018 -0400
@@ -1,6 +1,6 @@
 Chrom	Start	End	Comment
-18	394599	396513	DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256| 3869
-18	111566	112005	DiffBind|0|.|Promoter (<=1kb)|1|111568|112005|  438|1|ENSG00000263006|ENST00000608049|    0
-18	346463	347342	DiffBind|0|.|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|53040
-18	399013	400382	DiffBind|0|.|Promoter (<=1kb)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|    0
-18	371109	372102	DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|28280
+18	394599	396513	DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256| 3869|COLEC12|ENSG00000158270
+18	346463	347342	DiffBind|0|.|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENST00000400256|53040|COLEC12|ENSG00000158270
+18	399013	400382	DiffBind|0|.|Promoter (<=1kb)|1|346465|400382|53918|2|ENST00000400256|    0|COLEC12|ENSG00000158270
+18	371109	372102	DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256|28280|COLEC12|ENSG00000158270
+18	111566	112005	DiffBind|0|.|Promoter (<=1kb)|1|111568|112005|  438|1|ENST00000608049|    0|ROCK1P1|ENSG00000263006
Binary file test-data/out.pdf has changed
Binary file test-data/out.rdata has changed
--- a/test-data/outflank.tab	Wed May 30 06:12:27 2018 -0400
+++ b/test-data/outflank.tab	Fri Jun 01 02:13:33 2018 -0400
@@ -1,6 +1,6 @@
-Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	geneId	transcriptId	distanceToTSS	flank_txIds	flank_geneIds	flank_gene_distances
-18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	3869	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0
-18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter (<=1kb)	1	111568	112005	438	1	ENSG00000263006	ENST00000608049	0	ENST00000608049	ENSG00000263006	0
-18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	53040	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0
-18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter (<=1kb)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	0	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0
-18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	28280	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0
+Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	transcriptId	distanceToTSS	flank_txIds	flank_geneIds	flank_gene_distances	geneName	geneId
+18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	3869	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0	COLEC12	ENSG00000158270
+18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENST00000400256	53040	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0	COLEC12	ENSG00000158270
+18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter (<=1kb)	1	346465	400382	53918	2	ENST00000400256	0	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0	COLEC12	ENSG00000158270
+18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	28280	ENST00000400256;ENST00000582147	ENSG00000158270;ENSG00000158270	0;0	COLEC12	ENSG00000158270
+18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter (<=1kb)	1	111568	112005	438	1	ENST00000608049	0	ENST00000608049	ENSG00000263006	0	ROCK1P1	ENSG00000263006
--- a/test-data/outint.int	Wed May 30 06:12:27 2018 -0400
+++ b/test-data/outint.int	Fri Jun 01 02:13:33 2018 -0400
@@ -1,6 +1,6 @@
 Chrom	Start	End	Comment
-18	394599	396513	DiffBind|0|.|1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256| 3869
-18	111566	112005	DiffBind|0|.|439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06|Promoter (<=1kb)|1|111568|112005|  438|1|ENSG00000263006|ENST00000608049|    0
-18	346463	347342	DiffBind|0|.|879|5|5.77|3.24|2.52|6.51e-06|0.00303|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|53040
-18	399013	400382	DiffBind|0|.|1369|7.62|7|8.05|-1.04|1.04e-05|0.00364|Promoter (<=1kb)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|    0
-18	371109	372102	DiffBind|0|.|993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|28280
+18	394599	396513	DiffBind|0|.|1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256| 3869|COLEC12|ENSG00000158270
+18	346463	347342	DiffBind|0|.|879|5|5.77|3.24|2.52|6.51e-06|0.00303|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENST00000400256|53040|COLEC12|ENSG00000158270
+18	399013	400382	DiffBind|0|.|1369|7.62|7|8.05|-1.04|1.04e-05|0.00364|Promoter (<=1kb)|1|346465|400382|53918|2|ENST00000400256|    0|COLEC12|ENSG00000158270
+18	371109	372102	DiffBind|0|.|993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENST00000400256|28280|COLEC12|ENSG00000158270
+18	111566	112005	DiffBind|0|.|439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06|Promoter (<=1kb)|1|111568|112005|  438|1|ENST00000608049|    0|ROCK1P1|ENSG00000263006
--- a/test-data/outint.tab	Wed May 30 06:12:27 2018 -0400
+++ b/test-data/outint.tab	Fri Jun 01 02:13:33 2018 -0400
@@ -1,6 +1,6 @@
-Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	geneId	transcriptId	distanceToTSS
-18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	3869
-18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter (<=1kb)	1	111568	112005	438	1	ENSG00000263006	ENST00000608049	0
-18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	53040
-18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter (<=1kb)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	0
-18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	28280
+Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	transcriptId	distanceToTSS	geneName	geneId
+18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	3869	COLEC12	ENSG00000158270
+18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENST00000400256	53040	COLEC12	ENSG00000158270
+18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter (<=1kb)	1	346465	400382	53918	2	ENST00000400256	0	COLEC12	ENSG00000158270
+18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	28280	COLEC12	ENSG00000158270
+18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter (<=1kb)	1	111568	112005	438	1	ENST00000608049	0	ROCK1P1	ENSG00000263006
--- a/test-data/outtss.tab	Wed May 30 06:12:27 2018 -0400
+++ b/test-data/outtss.tab	Fri Jun 01 02:13:33 2018 -0400
@@ -1,6 +1,6 @@
-Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	geneId	transcriptId	distanceToTSS
-18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	3869
-18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter	1	111568	112005	438	1	ENSG00000263006	ENST00000608049	0
-18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	53040
-18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	0
-18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENSG00000158270	ENST00000400256	28280
+Chrom	Start	End	Name	Score	Strand	Comment	annotation	geneChr	geneStart	geneEnd	geneLength	geneStrand	transcriptId	distanceToTSS	geneName	geneId
+18	394599	396513	DiffBind	0	.	1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	3869	COLEC12	ENSG00000158270
+18	346463	347342	DiffBind	0	.	879|5|5.77|3.24|2.52|6.51e-06|0.00303	Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)	1	346465	400382	53918	2	ENST00000400256	53040	COLEC12	ENSG00000158270
+18	399013	400382	DiffBind	0	.	1369|7.62|7|8.05|-1.04|1.04e-05|0.00364	Promoter	1	346465	400382	53918	2	ENST00000400256	0	COLEC12	ENSG00000158270
+18	371109	372102	DiffBind	0	.	993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226	Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)	1	346465	400382	53918	2	ENST00000400256	28280	COLEC12	ENSG00000158270
+18	111566	112005	DiffBind	0	.	439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06	Promoter	1	111568	112005	438	1	ENST00000608049	0	ROCK1P1	ENSG00000263006