Releases: algbio/BubbleFinder
v1.0.3
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 --helpWhat’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>
- outputs the ultrabubble hierarchy (CLSD trees) to
-
New command:
spqr-tree- outputs the connected components, BC-tree and SPQR decomposition in
.spqrv0.1 format - format specification: https://github.com/sebschmi/SPQR-tree-file-format
- outputs the connected components, BC-tree and SPQR decomposition in
-
Conda: distribution marked as planned (instructions will be added later)
v1.0.2
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.gzdownloadable 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 --helpThe archive contains at least:
BubbleFinder– the main executableREADME.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
.graphfile:./BubbleFinder directed-superbubbles \ -g graph.graph \ -o graph.dsbs \ --graph \ -j 8
First 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).