RLSeq (part of RLSuite) is used for downstream analysis of R-loop datasets. It provides methods for data quality control and exploratory analysis within the context of the hundreds of publicly-available R-loop mapping data sets provided by RLBase and accessed via RLHub. Finally, RLSeq provides a user-friendly HTML report that summarizes the analysis results.

NOTE: To run RLSeq in your browser, please see RLBase.


From Bioconductor

if (!requireNamespace("BiocManager", quietly = TRUE))


From Github

  1. Update to the devel version of bioconductor.
BiocManager::install(version = "devel")
  1. Install RLHub and RLSeq with remotes.


This is an example workflow using a publicly-available R-loop mapping data set that was reprocessed and standardized in RLBase.

# Peaks and coverage can be found in RLBase
rlbase <- ""
pks <- file.path(rlbase, "peaks", "SRX1025890_hg38.broadPeak")
cvg <- file.path(rlbase, "coverage", "")

# Initialize data in the RLRanges object. 
# Metadata is optional, but improves the interpretability of results
rlr <- RLRanges(
  peaks = pks,
  coverage = cvg,
  genome = "hg38",
  mode = "DRIP",
  label = "POS",
  sampleName = "TC32 DRIP-Seq"

# The RLSeq command performs all analyses
rlr <- RLSeq(rlr)

# Generate an html report

The code above performs a typical analysis. It builds the RLRanges object, an extension of GRanges for use with RLSeq. Then, it runs all core analyses using RLSeq(). Finally, it generates an HTML report with report() (see the report here).


For more information, see the package website here.