changeset 2:195cba35110e 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:14:08 -0400
parents 2019b4dd86a8
children a6d072a82158
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, 111 insertions(+), 71 deletions(-) [+]
line wrap: on
line diff
--- a/chipseeker.R	Tue May 29 15:07:04 2018 -0400
+++ b/chipseeker.R	Fri Jun 01 02:14:08 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	Tue May 29 15:07:04 2018 -0400
+++ b/chipseeker.xml	Fri Jun 01 02:14:08 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>
@@ -23,18 +23,19 @@
 
         -i '$peaks'
         -G '$gtf'
-        -u $upstream
-        -d $downstream
-        #if $flankgeneinfo:
-            -F $flankgeneinfo
-            -D $flankgenedist
+        -u $adv.upstream
+        -d $adv.downstream
+        #if $adv.flankgeneinfo:
+            -F $adv.flankgeneinfo
+            -D $adv.flankgenedist
         #end if
         -f $format
         -p $pdf
+        -r $rdata
     ]]>
     </command>
     <inputs>
-        <param name="peaks" type="data" format="bed,interval" label="Peaks file" help="A peaks file in BED format." />
+        <param name="peaks" type="data" format="bed,interval,tabular" label="Peaks file" help="A peaks file in BED format." />
         <conditional name="gtf_source">
             <param name="gtf_source_select" type="select" label="Annotation source" help="Select a GTF to use for annotation source.">
                 <option value="cached" selected="true">Use a built-in GTF</option>
@@ -52,16 +53,22 @@
                 <param name="gtf_hist" type="data" format="gtf" label="Select a history GTF" />
             </when>
         </conditional>
-        <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." />
-        <param name="downstream" type="integer" min="0" value="3000" label="TSS downstream region" help="User can define TSS (transcription start site) region, by default TSS is defined from -3kb to +3kb."/>
-        <param name="flankgeneinfo" type="boolean" truevalue="True" falsevalue="False" checked="False" label="Add flanking gene information?" help="If specified all genes within the flanking gene distance are reported for each peak. Default: No."/>
-        <param name="flankgenedist" type="integer" min="0" value="5000" label="Flanking gene distance" help="If flanking gene info is turned on the flanking distance can be specified. Default: 5000."/>
         <param name="format" type="select" label="Output Format">
             <option value="interval" selected="True">Interval</option>
             <option value="tabular">Tabular (tab-separated)</option>
         </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." />
+            <param name="downstream" type="integer" min="0" value="3000" label="TSS downstream region" help="User can define TSS (transcription start site) region, by default TSS is defined from -3kb to +3kb."/>
+            <param name="flankgeneinfo" type="boolean" truevalue="True" falsevalue="False" checked="False" label="Add flanking gene information?" help="If specified all genes within the flanking gene distance are reported for each peak. Default: No."/>
+            <param name="flankgenedist" type="integer" min="0" value="5000" label="Flanking gene distance" help="If flanking gene info is turned on the flanking distance can be specified. Default: 5000."/>
+        </section>
     </inputs>
 
         <outputs>
@@ -76,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" >
@@ -92,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">
@@ -137,14 +149,23 @@
 
 **What it does**
 
-ChIPseeker_ is a Bioconductor package for annotating ChIP-seq data analysis. See
-the `ChIPseeker vignette`_ for more information.
+ChIPseeker_ is a Bioconductor package for annotating ChIP-seq data analysis. Peak Annotation is performed by the annotatePeak function. The position and strand information of nearest genes are reported, in addition to the distance from the peak to the TSS of its nearest gene. Users can define the TSS (transcription start site) region under **Advanced Options**, by default the TSS region is defined from -3kb to +3kb. The genomic region of the peak is reported in the annotation column. Since some annotations may overlap for a peak, ChIPseeker adopts the following priority in genomic annotation:
+
+* Promoter
+* 5’ UTR
+* 3’ UTR
+* Exon
+* Intron
+* Downstream
+* Intergenic
+
+ChIPseeker also produces plots to help users visualise the overlaps in annotation for peaks, for example, the vennpie and upsetplot. See the `ChIPseeker vignette`_ for more information.
 
 -----
 
 **Inputs**
 
-A peaks file in BED or Interval format e.g from MACS2 or DiffBind.
+A peaks file in BED, Interval or Tabular format e.g from MACS2 or DiffBind.
 
 Example:
 
@@ -158,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".
 
 -----
 
@@ -167,8 +188,12 @@
 This tool outputs
 
     * a file of annotated peaks in Interval or Tabular format
-    * a PDF of plots
+    * 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**
 
@@ -179,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:
@@ -200,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	Tue May 29 15:07:04 2018 -0400
+++ b/test-data/out.int	Fri Jun 01 02:14:08 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	Tue May 29 15:07:04 2018 -0400
+++ b/test-data/outflank.tab	Fri Jun 01 02:14:08 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	Tue May 29 15:07:04 2018 -0400
+++ b/test-data/outint.int	Fri Jun 01 02:14:08 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	Tue May 29 15:07:04 2018 -0400
+++ b/test-data/outint.tab	Fri Jun 01 02:14:08 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	Tue May 29 15:07:04 2018 -0400
+++ b/test-data/outtss.tab	Fri Jun 01 02:14:08 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