Skip to content

Releases: algbio/BubbleFinder

v1.0.3

22 Jan 19:47

Choose a tag to compare

BubbleFinder 1.0.3

Download (Linux x86‑64)

Asset :

  • BubbleFinder-linux-x86_64.tar.gz
tar xzf BubbleFinder-linux-x86_64.tar.gz
cd dist
chmod +x BubbleFinder
./BubbleFinder --help

What’s new since v1.0.2

  • New command: ultrabubbles

    • requires at least 1 tip per connected component
    • theoretical complexity: O(|V|+|E|)
  • New option (ultrabubbles only): --clsd-trees <file>

    • outputs the ultrabubble hierarchy (CLSD trees) to <file>
  • New command: spqr-tree

  • Conda: distribution marked as planned (instructions will be added later)

v1.0.2

26 Nov 20:29

Choose a tag to compare

BubbleFinder 1.0.2 – First stable release

This 1.0.2 release is the first version of BubbleFinder considered stable.
It provides a precompiled binary for Linux (x86‑64), available directly in the Assets section below.

BubbleFinder computes snarls and superbubbles in GFA (pangenome) graphs and directed graphs in linear time, leveraging SPQR trees over the underlying graph structure.


Availability (binary & conda)

  • This release ships a precompiled Linux binary:

    BubbleFinder-linux-x86_64.tar.gz

    downloadable from the Assets section of this release.

  • BubbleFinder is already available on Bioconda for the previous release (1.0.1):
    see the 1.0.1 release
    and install via:

    conda install -c bioconda bubblefinder
  • Version 1.0.2 will be published on Bioconda as well in the near future.

At the moment, compatibility is only guaranteed on Linux (x86‑64).


Binary archive contents

After downloading BubbleFinder-linux-x86_64.tar.gz:

tar xzf BubbleFinder-linux-x86_64.tar.gz
cd dist    # or the directory created by the archive
chmod +x BubbleFinder
./BubbleFinder --help

The archive contains at least:

  • BubbleFinder – the main executable
  • README.md – usage and development documentation

Basic usage

Command line interface

Usage:
  ./BubbleFinder <command> -g <graphFile> -o <outputFile> [options]

Commands:
  superbubbles
      Bidirected superbubbles (GFA -> bidirected by default)
  directed-superbubbles
      Directed superbubbles (directed graph)
  snarls
      Snarls (typically on bidirected graphs from GFA)

Input format options

Format options (input format):
  --gfa
      GFA input (bidirected).
  --gfa-directed
      GFA input interpreted as a directed graph.
  --graph
      .graph text format with one directed edge per line:
        • first line: two integers n and m
            - n = number of distinct node IDs declared
            - m = number of directed edges
        • next m lines: 'u v' (separated by whitespace),
            each describing a directed edge from u to v.
        • u and v are arbitrary node identifiers (strings
            without whitespace).
  If none of these is given, the format is auto-detected
  from the file extension (e.g. .gfa, .graph).

Compression

Compression:
  Compression is auto-detected from the file name suffix:
    .gz / .bgz  -> gzip
    .bz2        -> bzip2
    .xz         -> xz

General options

General options:
  -g <file>
      Input graph file (possibly compressed)
  -o <file>
      Output file
  -j <threads>
      Number of threads
  --gfa
      Force GFA input (bidirected)
  --gfa-directed
      Force GFA input interpreted as directed graph
  --graph
      Force .graph text format (see 'Format options' above)
  --report-json <file>
      Write JSON metrics report
  -m <bytes>
      Stack size in bytes
  -h, --help
      Show this help message and exit

Minimal examples

  • Compute all snarls on a small GFA:

    ./BubbleFinder snarls -g example/tiny1.gfa -o tiny1.snarls --gfa
  • Compute bidirected superbubbles from a GFA:

    ./BubbleFinder superbubbles -g graph.gfa -o graph.superbubbles
  • Compute directed superbubbles on a .graph file:

    ./BubbleFinder directed-superbubbles \
      -g graph.graph \
      -o graph.dsbs \
      --graph \
      -j 8

First release

13 Nov 14:29

Choose a tag to compare

First release Pre-release
Pre-release

Summary

  • A C++ tool for detecting bubbles and analyzing snarls in graphs.
  • Tested by several users and working on internal test datasets.

Build

To compile from source:

mkdir build
cd build
cmake ..
make -j$(nproc)

Usage

Examples after building:

cd build
./BubbleFinder -g {graphPath} [--gfa] -o {-, outputPath} [--superbubbles | --snarls] -j {threadsNumber} -m {stack size per thread in bytes}

To run the brute-force snarl tester:

cd build
./snarls_bf graphPath

Notes

We plan to package BubbleFinder for conda (Bioconda) soon. Once the package is available, we will update these notes with conda installation instructions (e.g., conda install -c bioconda bubblefinder).