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 --releaseDue 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