TSSr Vignette

Zhaolian Lu, Keenan Berry, Zhenbin Hu, Yu Zhan, Tae-Hyuk Ahn, Zhenguo Lin

2026-05-07

Introduction

TSSr is a comprehensive R/Bioconductor package for analyzing transcription start site (TSS) sequencing data. It supports multiple input formats including BAM, BED, BigWig, and TSS tables, and provides a complete workflow from TSS identification through downstream analyses such as core promoter shape analysis, gene annotation, differential expression, and promoter shifting.

Installation

You can install the development version directly from GitHub using devtools:

devtools::install_github("Linlab-slu/TSSr")

And load TSSr:

library(TSSr)

Citation

If you use TSSr, please cite the following article:

citation("TSSr")
#> To cite package 'TSSr' in publications use:
#> 
#>   Lu Z, Berry K, Hu Z, Zhan Y, Ahn T, Lin Z (2021). "TSSr: an R package
#>   for comprehensive analyses of TSS sequencing data." _NAR Genomics and
#>   Bioinformatics_, *3*(4), lqab108. doi:10.1093/nargab/lqab108
#>   <https://doi.org/10.1093/nargab/lqab108>.
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Article{,
#>     title = {TSSr: an R package for comprehensive analyses of TSS sequencing data},
#>     author = {Zhaolian Lu and Keenan Berry and Zhenbin Hu and Yu Zhan and Tae-Hyuk Ahn and Zhenguo Lin},
#>     journal = {NAR Genomics and Bioinformatics},
#>     year = {2021},
#>     volume = {3},
#>     number = {4},
#>     pages = {lqab108},
#>     doi = {10.1093/nargab/lqab108},
#>   }

Getting help

For general questions about the usage of TSSr, use the official Bioconductor support forum and tag your question “TSSr”. We strive to answer questions as quickly as possible.

For technical questions, bug reports and suggestions for new features, we refer to the TSSr github page.

Quick start

# Load the example data
data("exampleTSSr")
myTSSr <- exampleTSSr

Or create a new TSSr object using the constructor function. Note that the input files do not need to exist at object creation time:

# Create a TSSr object using the constructor (files do not need to exist)
newObj <- TSSr(
    genomeName = "BSgenome.Scerevisiae.UCSC.sacCer3",
    inputFiles = c("S01.sorted.bam", "S02.sorted.bam",
                    "S03.sorted.bam", "S04.sorted.bam"),
    inputFilesType = "bam",
    sampleLabels = c("SL01", "SL02", "SL03", "SL04"),
    sampleLabelsMerged = c("control", "treat"),
    mergeIndex = c(1, 1, 2, 2),
    refSource = "saccharomyces_cerevisiae.SGD.gff",
    organismName = "saccharomyces cerevisiae"
)
newObj
#> An object of class "TSSr"
#> Slot "genomeName":
#> [1] "BSgenome.Scerevisiae.UCSC.sacCer3"
#> 
#> Slot "inputFiles":
#> [1] "S01.sorted.bam" "S02.sorted.bam" "S03.sorted.bam" "S04.sorted.bam"
#> 
#> Slot "inputFilesType":
#> [1] "bam"
#> 
#> Slot "sampleLabels":
#> [1] "SL01" "SL02" "SL03" "SL04"
#> 
#> Slot "sampleLabelsMerged":
#> [1] "control" "treat"  
#> 
#> Slot "librarySizes":
#> numeric(0)
#> 
#> Slot "TSSrawMatrix":
#> data frame with 0 columns and 0 rows
#> 
#> Slot "mergeIndex":
#> [1] 1 1 2 2
#> 
#> Slot "TSSprocessedMatrix":
#> data frame with 0 columns and 0 rows
#> 
#> Slot "tagClusters":
#> list()
#> 
#> Slot "consensusClusters":
#> list()
#> 
#> Slot "clusterShape":
#> list()
#> 
#> Slot "refSource":
#> [1] "saccharomyces_cerevisiae.SGD.gff"
#> 
#> Slot "refTable":
#> data frame with 0 columns and 0 rows
#> 
#> Slot "organismName":
#> [1] "saccharomyces cerevisiae"
#> 
#> Slot "assignedClusters":
#> list()
#> 
#> Slot "unassignedClusters":
#> list()
#> 
#> Slot "filteredClusters":
#> list()
#> 
#> Slot "enhancers":
#> list()
#> 
#> Slot "DEtables":
#> list()
#> 
#> Slot "TAGtables":
#> list()
#> 
#> Slot "PromoterShift":
#> list()

Then read in TSS data from the input files (requires actual files):

# Get TSS (requires input files to exist)
getTSS(myTSSr)

TSS data processing

# Merge replicates
mergeSamples(myTSSr)
# Normalization
normalizeTSS(myTSSr)
#> 
#> Normalizing TSS matrix...
# TSS filtering
filterTSS(myTSSr, method = "TPM", tpmLow = 0.1)
#> Loading required namespace: BSgenome.Scerevisiae.UCSC.sacCer3
#> 
#> Filtering data with TPM method...

TSS clustering

# TSS clustering
clusterTSS(myTSSr,
    method = "peakclu", peakDistance = 100, extensionDistance = 30,
    localThreshold = 0.02, clusterThreshold = 1,
    useMultiCore = FALSE, numCores = NULL
)
#> 
#> Clustering TSS data with peakclu method...

# Aggregating consensus clusters
consensusCluster(myTSSr, dis = 50, useMultiCore = FALSE)
#> 
#> Creating consensus clusters...

Core promoter shape

# Calculating core promoter shape score
shapeCluster(myTSSr,
    clusters = "consensusClusters", method = "PSS",
    useMultiCore = FALSE, numCores = NULL
)
#> 
#> Calculating consensusClusters shape with PSS method...

Annotation of core promoters

# Assign clusters to the annotated features
annotateCluster(myTSSr, clusters = "consensusClusters",
    filterCluster = TRUE, filterClusterThreshold = 0.02,
    annotationType = "genes", upstream = 1000,
    upstreamOverlap = 500, downstream = 0)
#> 
#> Annotating...

Differential expression analysis

# Gene-level differential expression using DESeq2
deGene(myTSSr, comparePairs = list(c("control", "treat")),
    pval = 0.01, useMultiCore = FALSE, numCores = NULL)
#> 
#> Calculating gene differential expression...
#> converting counts to integer mode
#> estimating size factors
#> estimating dispersions
#> gene-wise dispersion estimates
#> mean-dispersion relationship
#> final dispersion estimates
#> fitting model and testing

Core promoter shifts

# Calculate core promoter shifts
shiftPromoter(myTSSr, comparePairs = list(c("control", "treat")),
    pval = 0.01)
#> 
#> Calculating core promoter shifts...
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect
#> Warning in chisq.test(data[, c("tags.x", "tags.y")]): Chi-squared approximation
#> may be incorrect

Exporting results

TSSr provides several export functions for saving results:

# Export TSS tables
exportTSStable(myTSSr, data = "processed")

# Export cluster tables
exportClustersTable(myTSSr, data = "assigned")

# Export to BED format for genome browsers
exportClustersToBed(myTSSr, data = "consensusClusters")

# Export TSS to bedGraph
exportTSStoBedgraph(myTSSr, data = "processed")

Session info

sessionInfo()
#> R version 4.6.0 RC (2026-04-17 r89917)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.4 LTS
#> 
#> Matrix products: default
#> BLAS:   /home/biocbuild/bbs-3.23-bioc/R/lib/libRblas.so 
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0  LAPACK version 3.12.0
#> 
#> locale:
#>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#>  [3] LC_TIME=en_GB              LC_COLLATE=C              
#>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#>  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
#> 
#> time zone: America/New_York
#> tzcode source: system (glibc)
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] TSSr_0.99.9
#> 
#> loaded via a namespace (and not attached):
#>   [1] RColorBrewer_1.1-3                     
#>   [2] rstudioapi_0.18.0                      
#>   [3] jsonlite_2.0.0                         
#>   [4] magrittr_2.0.5                         
#>   [5] GenomicFeatures_1.64.0                 
#>   [6] farver_2.1.2                           
#>   [7] rmarkdown_2.31                         
#>   [8] BiocIO_1.22.0                          
#>   [9] vctrs_0.7.3                            
#>  [10] memoise_2.0.1                          
#>  [11] Rsamtools_2.28.0                       
#>  [12] RCurl_1.98-1.18                        
#>  [13] base64enc_0.1-6                        
#>  [14] htmltools_0.5.9                        
#>  [15] S4Arrays_1.12.0                        
#>  [16] progress_1.2.3                         
#>  [17] curl_7.1.0                             
#>  [18] SparseArray_1.12.2                     
#>  [19] Formula_1.2-5                          
#>  [20] sass_0.4.10                            
#>  [21] bslib_0.10.0                           
#>  [22] htmlwidgets_1.6.4                      
#>  [23] Gviz_1.56.0                            
#>  [24] httr2_1.2.2                            
#>  [25] cachem_1.1.0                           
#>  [26] GenomicAlignments_1.48.0               
#>  [27] lifecycle_1.0.5                        
#>  [28] pkgconfig_2.0.3                        
#>  [29] Matrix_1.7-5                           
#>  [30] R6_2.6.1                               
#>  [31] fastmap_1.2.0                          
#>  [32] MatrixGenerics_1.24.0                  
#>  [33] digest_0.6.39                          
#>  [34] colorspace_2.1-2                       
#>  [35] AnnotationDbi_1.74.0                   
#>  [36] S4Vectors_0.50.0                       
#>  [37] DESeq2_1.52.0                          
#>  [38] Hmisc_5.2-5                            
#>  [39] GenomicRanges_1.64.0                   
#>  [40] RSQLite_2.4.6                          
#>  [41] filelock_1.0.3                         
#>  [42] httr_1.4.8                             
#>  [43] abind_1.4-8                            
#>  [44] compiler_4.6.0                         
#>  [45] bit64_4.8.0                            
#>  [46] htmlTable_2.5.0                        
#>  [47] S7_0.2.2                               
#>  [48] backports_1.5.1                        
#>  [49] BiocParallel_1.46.0                    
#>  [50] DBI_1.3.0                              
#>  [51] biomaRt_2.68.0                         
#>  [52] MASS_7.3-65                            
#>  [53] rappdirs_0.3.4                         
#>  [54] DelayedArray_0.38.1                    
#>  [55] rjson_0.2.23                           
#>  [56] tools_4.6.0                            
#>  [57] foreign_0.8-91                         
#>  [58] otel_0.2.0                             
#>  [59] nnet_7.3-20                            
#>  [60] glue_1.8.1                             
#>  [61] restfulr_0.0.16                        
#>  [62] grid_4.6.0                             
#>  [63] checkmate_2.3.4                        
#>  [64] cluster_2.1.8.2                        
#>  [65] generics_0.1.4                         
#>  [66] gtable_0.3.6                           
#>  [67] BSgenome_1.80.0                        
#>  [68] tidyr_1.3.2                            
#>  [69] ensembldb_2.36.0                       
#>  [70] data.table_1.18.4                      
#>  [71] hms_1.1.4                              
#>  [72] XVector_0.52.0                         
#>  [73] BiocGenerics_0.58.0                    
#>  [74] pillar_1.11.1                          
#>  [75] stringr_1.6.0                          
#>  [76] dplyr_1.2.1                            
#>  [77] BiocFileCache_3.2.0                    
#>  [78] lattice_0.22-9                         
#>  [79] rtracklayer_1.72.0                     
#>  [80] bit_4.6.0                              
#>  [81] deldir_2.0-4                           
#>  [82] biovizBase_1.60.0                      
#>  [83] tidyselect_1.2.1                       
#>  [84] locfit_1.5-9.12                        
#>  [85] Biostrings_2.80.0                      
#>  [86] knitr_1.51                             
#>  [87] BSgenome.Scerevisiae.UCSC.sacCer3_1.4.0
#>  [88] gridExtra_2.3                          
#>  [89] IRanges_2.46.0                         
#>  [90] Seqinfo_1.2.0                          
#>  [91] ProtGenerics_1.44.0                    
#>  [92] SummarizedExperiment_1.42.0            
#>  [93] stats4_4.6.0                           
#>  [94] xfun_0.57                              
#>  [95] Biobase_2.72.0                         
#>  [96] matrixStats_1.5.0                      
#>  [97] stringi_1.8.7                          
#>  [98] UCSC.utils_1.8.0                       
#>  [99] lazyeval_0.2.3                         
#> [100] yaml_2.3.12                            
#> [101] evaluate_1.0.5                         
#> [102] codetools_0.2-20                       
#> [103] cigarillo_1.2.0                        
#> [104] interp_1.1-6                           
#> [105] tibble_3.3.1                           
#> [106] cli_3.6.6                              
#> [107] rpart_4.1.27                           
#> [108] jquerylib_0.1.4                        
#> [109] dichromat_2.0-0.1                      
#> [110] Rcpp_1.1.1-1.1                         
#> [111] GenomeInfoDb_1.48.0                    
#> [112] dbplyr_2.5.2                           
#> [113] png_0.1-9                              
#> [114] XML_3.99-0.23                          
#> [115] parallel_4.6.0                         
#> [116] ggfortify_0.4.19                       
#> [117] ggplot2_4.0.3                          
#> [118] blob_1.3.0                             
#> [119] prettyunits_1.2.0                      
#> [120] latticeExtra_0.6-31                    
#> [121] calibrate_1.7.7                        
#> [122] jpeg_0.1-11                            
#> [123] AnnotationFilter_1.36.0                
#> [124] bitops_1.0-9                           
#> [125] txdbmaker_1.8.0                        
#> [126] VariantAnnotation_1.58.0               
#> [127] scales_1.4.0                           
#> [128] purrr_1.2.2                            
#> [129] crayon_1.5.3                           
#> [130] rlang_1.2.0                            
#> [131] KEGGREST_1.52.0