gfaestus
is a tool for visualizing and interacting with genome graphs
in the GFA format.
It can display GFA graphs using a provided 2D layout (produced with
odgi's layout
command), and is
intended to deliver an interactive visual interface for exploring
genome graphs that is fast, powerful, and easy to use.
In addition to the 2D layout, a handlegraph representation of the GFA is created, which will enable visualizations and interactivity that take advantage of the graph topology, paths, and more.
gfaestus
uses Vulkan for hardware-acceleration, via the
ash
crate.
Compiling gfaestus
requires the Vulkan SDK, available here: https://vulkan.lunarg.com/sdk/home
To run gfaestus
, you must have a GPU with drivers that support
Vulkan. If you're on Windows or Linux, and have an AMD, Nvidia, or integrated Intel GPU, you should be good to go.
If you're on Mac, you'll need to install MoltenVK.
With a working Vulkan SDK environment (make sure you have glslc
on
your path), you can build gfaestus
using cargo
.
cargo build --release
Due to technical reasons, gfaestus
must be run from the repo
directory for shaders and scripts to be found. An easy way to
do this is to use the generated shell script, which can be
copied to your PATH:
./gfaestus-release <GFA> <layout TSV>
# use whichever directory on your path you like
cp gfaestus-release ~/.local/bin/gfaestus
gfaestus <GFA> <layout TSV>
The easiest way to display annotations is via the BED Label Wizard
under Tools
in the top menubar.
You can also load a custom TSV format, which makes it easy to assign colors and labels to nodes.
Each line assigns either a color, in CSS-style hexadecimal format, or a text string, to a node. For example, for node 1223:
1223 #44BBCC
1223 this line is a label
Space
: Reset viewArrow keys
: Pan viewEscape
: Clear selectionF9
- Toggle light/dark mode
-
Left Mouse
: Select node -
Left Mouse (click and drag)
: Pan view -
Shift + Left Mouse (click and drag)
: Rectangle select -
Scroll wheel
: Zoom view -
Right Mouse
: Context menu