Skip to content

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Nov 20:29
· 67 commits to main since this release

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