Binding region detection

Introduction

Selective Ribosome Profiling (SeRP) is a powerful technique used to identify RNA regions that are bound by specific ribosome-associated factors, such as RNA-binding proteins or specialized ribosomal subunits. In contrast to traditional ribosome profiling, which captures all translating ribosomes on mRNAs, SeRP enriches for a subset of ribosomes engaged in specific interactions, enabling the discovery of functionally important regulatory sites at nucleotide or codon resolution.

Identifying binding regions from SeRP data involves a comparative analysis between enriched (IP) and control (total) ribo-seq libraries. Regions bound by the target factor are expected to show elevated ribosome occupancy in the IP library relative to the total library. These regions can be divided broadly into two categories:

Strong binding regions: Sites where the enrichment ratio (IP / total) is significantly elevated over background and sustained across multiple nucleotides or codons. Weak binding regions: Sites with moderate enrichment relative to local background (e.g., the first 90 nt of a gene), which may reflect transient or low-affinity interactions but remain biologically meaningful when reproducible. The riboTransVis package provides two primary methods for binding region identification:

  • find_strong_peaks(): Detects high-confidence binding peaks by computing the local enrichment (IP vs. total RPMs) along transcripts, using configurable smoothing and peak-calling parameters. These peaks generally correspond to stable or high-affinity binding sites.

  • find_weak_peaks(): Identifies lower-intensity peaks by comparing IP signal to transcript-specific background (e.g., first 90 nt). This is useful for detecting subtle footprint signatures that may be functionally relevant but not strongly enriched over total signal. Both methods support flexible settings for signal smoothing, read length filtering, peak width constraints, and output resolution (nucleotide- or codon-level). Additionally, P-site offset correction can be applied to align reads precisely to functional ribosome positions.

Accurate detection of binding regions enables downstream interpretation of ribosome-associated regulatory events, including translation stalling, RNA-binding protein activity, and co-translational regulation, providing new insights into gene expression control at the post-transcriptional level.

Example

Finding strong binded peaks:

strp <- find_strong_peaks(object = obj, 
                          do_offset_correct = T,
                          smooth = TRUE,
                          window_size = 45,
                          enrichment_threshold = 1.5,
                          binding_width = 15,
                          mode = "codon")
# check
head(strp)
#      sample sample_group             rname above start end mean_ratio binding_width
# 1 ssb1_rep1         ssb1    Q0055_mRNA|AI2  TRUE   127 142   2.492493            16
# 2 ssb1_rep1         ssb1   Q0130_mRNA|OLI1  TRUE    61  69   2.881696             9
# 3 ssb1_rep1         ssb1   Q0250_mRNA|COX2  TRUE   133 139   3.882078             7
# 4 ssb1_rep1         ssb1   Q0250_mRNA|COX2  TRUE   196 205   2.150074            10
# 5 ssb1_rep1         ssb1   Q0275_mRNA|COX3  TRUE   249 262   3.036979            14
# 6 ssb1_rep1         ssb1 YAL001C_mRNA|TFC3  TRUE    71  89   3.989795            19

Finding weakbinded peaks:

wakp <- find_weak_peaks(object = obj, 
                        do_offset_correct = T,
                        smooth = TRUE,
                        window_size = 45,
                        enrichment_threshold = 3,
                        binding_width = 15)

head(wakp)
#      sample sample_group          rname above start end mean_ratio binding_width
# 1 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   132 176   4.899083            45
# 2 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   201 243   4.723704            43
# 3 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   275 324  26.438532            50
# 4 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   440 458   3.302752            19
# 5 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   506 551   5.600319            46
# 6 ssb1_rep1         ssb1 Q0050_mRNA|AI1  TRUE   619 646   3.302752            28