Sup-seq reveals diverse genetic suppressors of essential genes in Streptococcus pneumoniae
Data files
Jul 23, 2026 version files 2.97 MB
-
FEBA.R
61.60 KB
-
README.md
10.69 KB
-
supseq.R
3.91 KB
-
tests.ackA.tsv
430.26 KB
-
tests.ccrZ.tsv
428.94 KB
-
tests.cdsA.tsv
423.46 KB
-
tests.ezrA.tsv
408.19 KB
-
tests.mreC.tsv
387.66 KB
-
tests.tsaC.tsv
432.43 KB
-
tests.yqeH.tsv
381.91 KB
Abstract
Historically, suppressor analysis has been a powerful tool for uncovering the functions of essential genes. In this study, we report Sup-seq, a transposon-sequencing technique with random DNA barcodes that enables genome-wide detection of genetic suppression. When applied to seven essential genes in Streptococcus pneumoniae, Sup-seq revealed 53 suppressors across various cellular pathways. These suppressors function through diverse mechanisms, such as gene inactivation, overexpression, or downregulation, depending on the locations and orientations of the transposon insertions. Our proof-of-concept experiments identified a novel transcriptional regulator that controls chaperone and ribosomal protein expression, as well as a mechanism that bypasses the requirement for acetate kinase for growth. Furthermore, we found that phosphatidylglycerol is conditionally essential in pneumococcus, revealing an unexpected link between phospholipid synthesis and potassium transport. These findings demonstrate that Sup-seq is a facile approach for providing mechanistic insights into the functions of essential genes. Additionally, Sup-seq can be adapted to other bacteria, aiding in the identification of new antimicrobial targets.
This dataset accompanies the manuscript "Genome-wide mapping of genetic suppression events in Streptococcus pneumoniae" (Ng et al.). It contains the R code and the per-query statistical output used to identify genetic-suppression hits from Sup-seq (suppressor sequencing) data.
Sup-seq is a randomly-barcoded transposon-sequencing (RB-TnSeq) approach that detects suppressors of essential genes genome-wide. An essential query gene is deleted in a pre-mapped, barcoded Himar1 transposon (Tn) library; surviving colonies are enriched by backcrossing; and barcode abundances in the query pool are compared with an unselected control pool. Transposon insertions can suppress essentiality through loss-of-function, read-through overexpression, or antisense downregulation, so insertions on the two strands (orientations) are analyzed separately.
The files here implement the hit-calling statistics for the revised manuscript: a moderated t-like test statistic applied per region × strand, adapted from the original RB-TnSeq method (Wetmore et al. 2015, mBio, PMID:25968644).
Contents
| File | Type | Description |
|---|---|---|
FEBA.R |
R source | General RB-TnSeq / Fitness Browser analysis library (Morgan N. Price). Provides GeneFitness(), AvgStrainFitness(), NormalizeByScaffold(), and helper functions used to compute per-strain fitness and the t-like test statistic. |
supseq.R |
R source | Sup-seq–specific wrapper on top of FEBA.R. Provides SupSeqFitness() and SupSeqCombined() (per-strand hit statistics for each region) and show() (per-locus insertion plots). |
tests.ackA.tsv |
Data (TSV) | Region × strand test statistics for the ackA query. |
tests.ccrZ.tsv |
Data (TSV) | Region × strand test statistics for the ccrZ query. |
tests.cdsA.tsv |
Data (TSV) | Region × strand test statistics for the cdsA query. |
tests.ezrA.tsv |
Data (TSV) | Region × strand test statistics for the ezrA query. |
tests.mreC.tsv |
Data (TSV) | Region × strand test statistics for the mreC query. |
tests.tsaC.tsv |
Data (TSV) | Region × strand test statistics for the tsaC query. |
tests.yqeH.tsv |
Data (TSV) | Region × strand test statistics for the yqeH query. |
Each tests.<query>.tsv file contains ~5,500 rows (roughly 3,100 unique loci × 2 strands, minus region × strands that did not pass the coverage filter).
Note on the eighth query. The manuscript reports statistics across 8 queries; the eighth is the control-vs-control comparison (control1 vs control2), used only to estimate the false-positive rate, and is not included as a
tests.*.tsvfile here.
Data file column definitions (tests.<query>.tsv)
Tab-separated, one row per region × strand.
| Column | Definition |
|---|---|
query |
The essential query gene that was deleted in the screen (e.g., ackA). |
locusId |
The genomic region. A gene is given by its SPD locus tag (e.g., SPD_0636); an intergenic region is given by the two flanking locus tags joined by a hyphen (e.g., SPD_0620-SPD_0621, the region between SPD_0620 and SPD_0621). |
strand |
Orientation of the transposon insertions relative to the genome (+ or -), independent of the orientation of the gene at that locus. The two strands are analyzed separately. |
n |
Number of transposon-insertion strains (unique barcodes) at this region × strand with sufficient coverage to be included in the analysis (total reads across the query and both controls ≥ 4). |
nHi |
Number of those strains classified as high-fitness: per-strain fitness ≥ 6 and total reads ≥ 10. High-fitness strains indicate strong suppression. |
max |
Maximum per-strain fitness observed at this region × strand. Per-strain fitness is the normalized log2 ratio of query reads to control reads (see Methods); max ≈ 6 corresponds to a ~64-fold enrichment of the best insertion. |
t |
Moderated t-like test statistic (fitness / estimated standard error). Tests whether the strain fitness values at this region × strand are consistently above zero. Larger values indicate more reliable suppression. |
fitnorm |
Normalized, coverage-weighted mean fitness (log2 ratio) across the strains at this region × strand. This is the effect-size estimate; strains with higher read counts contribute more. |
Calling significant hits
A region × strand was called a significant suppressor hit when:
t >= 5 AND fitnorm >= 2 AND max >= 6
Applying this filter to tests.ackA.tsv, for example, yields 50 region × strand hits. To reproduce the manuscript's cluster-level counts, adjacent significant loci on the same strand (within 3 kb) are merged into a single cluster, because polar transposon effects frequently spread across neighboring loci that act on the same causative gene.
Methods summary
Per-strain fitness is the log2 ratio of query-pool reads to control-pool reads (summed across the two control libraries), with a small pseudocount added to stabilize counts of zero, normalized so that the median strain has fitness 0, and further normalized for position along the chromosome (position effects were moderate; maximum estimated effect on log2 ratios ≈ 0.50).
The t-like statistic is the coverage-weighted mean fitness divided by an estimated standard error, where the variance is a moderated mixture of (i) the observed consistency of fitness values within the region and (ii) the Poisson (count-based) expectation, borrowing information across regions to stabilize estimates for regions with few insertions. To estimate within-region consistency, barcodes at each region × strand are sorted by insertion position and assigned alternately to two groups (1st barcode → group 1, 2nd → group 2, …), rather than splitting the region into 5′ and 3′ halves as in the original RB-TnSeq method. This alternating scheme is used because many strong Sup-seq effects act on a downstream gene, so fitness varies systematically with insertion position within a region.
Inclusion thresholds: only strains with ≥ 4 total reads (query + controls) are analyzed, and only region × strands with ≥ 10 total control reads. High fitness is defined as per-strain fitness ≥ 6 with ≥ 10 reads.
False discovery rate
Applying the significance filter to the two control-vs-control comparisons yielded no hits. As a second FDR estimate, the experimental data were shuffled (control and experimental counts for each strain preserved, but genomic location randomized); across 10 shuffles this produced an average of ~20 hits per genome-equivalent, giving an estimated FDR below 5 %. Restricting to hits with ≥ 2 high-fitness strains (nHi >= 2) lowers the estimated FDR to ~2.5 %. See the manuscript Methods for the exact counts reported.
Software requirements
- R (developed and tested with base R; no version-specific features required).
- R package
parallel(base R distribution) —FEBA.Rusesmclapply(). The number of CPUs is controlled by theMC_CORESenvironment variable (default 2). - No other external packages are required.
Memory note: FEBA.R is designed for large genome-scale datasets and can be memory-intensive on very large strain × experiment matrices (the header notes ~10 GB for ~200K strains × ~500 experiments). The per-query Sup-seq analyses in this dataset are much smaller.
Usage
FEBA.R and supseq.R are function libraries — source them, then call the Sup-seq routines with your count matrices:
source("FEBA.R")
source("supseq.R")
# meta: data frame with columns scaffold, strand, pos, locusId (one row per barcoded strain)
# counts: vector of query-pool read counts per strain
# controlCounts: vector of control-pool read counts per strain (sum of the two controls)
# Per-strand statistics for one query, both strands combined:
results <- SupSeqCombined(meta, counts, controlCounts)
# The output columns match the tests.<query>.tsv files: locusId, strand, n, nHi, max, t, fitnorm
show(cond, locusId=...) plots the per-strain log2 ratios in a ±3 kb window around a locus, colored and marked by insertion strand, with a gene map overlaid — useful for inspecting the insertion profile at a candidate hit.
The
tests.<query>.tsvfiles in this dataset are the saved output of runningSupSeqCombined()on each of the seven essential query genes; they can be used directly without re-running the analysis.
Related data
The raw barcode sequencing reads, the RB-TnSeq transposon library, and the RNA-seq and lipidomics data associated with the manuscript are deposited separately — see the Data Availability statement of the published article for repository accessions.
Citation
If you use these scripts or data, please cite the associated manuscript:
Ng, C. J. W., Zik, J. J., Li, Y., Chen, J.-H., Guan, X., Arkin, A. P., Deutschbauer, A. M., & Sham, L.-T. Genome-wide mapping of genetic suppression events in Streptococcus pneumoniae. [Journal, year, DOI — to be added upon publication].
The underlying RB-TnSeq fitness statistics implemented in FEBA.R are described in:
Wetmore, K. M., Price, M. N., Waters, R. J., et al. (2015). Rapid quantification of mutant fitness in diverse bacteria by sequencing randomly bar-coded transposons. mBio 6(3):e00306-15. PMID:25968644.
Contact
[Corresponding author name and email — e.g., Lok-To Sham, lsham@nus.edu.sg]
