JOA: Joint Overlap Analysis of multiple genomic interval sets

Otlu B., Can T.

BMC BIOINFORMATICS, vol.20, 2019 (SCI-Expanded) identifier identifier identifier

  • Publication Type: Article / Article
  • Volume: 20
  • Publication Date: 2019
  • Doi Number: 10.1186/s12859-019-2698-4
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus
  • Keywords: Genome analysis, Joint overlap analysis, Interval overlap, Interval intersection, Genomic interval intersection, Segment tree, Indexed segment tree forest, Space partitioning algorithms, QUERY
  • Middle East Technical University Affiliated: Yes


BackgroundNext-generation sequencing (NGS) technologies have produced large volumes of genomic data. One common operation on heterogeneous genomic data is genomic interval intersection. Most of the existing tools impose restrictions such as not allowing nested intervals or requiring intervals to be sorted when finding overlaps in two or more interval sets.ResultsWe proposed segment tree (ST) and indexed segment tree forest (ISTF) based solutions for intersection of multiple genomic interval sets in parallel. We developed these methods as a tool, Joint Overlap Analysis (JOA), which takes n interval sets and finds overlapping intervals with no constraints on the given intervals. The proposed indexed segment tree forest is a novel composite data structure, which leverages on indexing and natural binning of a segment tree. We also presented construction and search algorithms for this novel data structure. We compared JOA ST and JOA ISTF with each other, and with other interval intersection tools for verification of its correctness and for showing that it attains comparable execution times.ConclusionsWe implemented JOA in Java using the fork/join framework which speeds up parallel processing by taking advantage of all available processor cores. We compared JOA ST with JOA ISTF and showed that segment tree and indexed segment tree forest methods are comparable with each other in terms of execution time and memory usage. We also carried out execution time comparison analysis for JOA and other tools and demonstrated that JOA has comparable execution time and is able to further reduce its running time by using more processors per node. JOA can be run using its GUI or as a command line tool. JOA is available with source code at A user manual is provided at