Skip to content

pangenome/povu

Repository files navigation

povu

Test Status C++17 Build (CMake, macOS) C++17 Build (CMake, Ubuntu) c++17 License: MIT

A toolkit for exploring regions of genomic variation

Table of Contents

Usage and Examples

For general help, run:

./bin/povu -h
# or simply
./bin/povu

The table below summarizes the subcommands currently available:

Subcommand Description
gfa2vcf Convert GFA to VCF (decompose + call)
decompose Identify regions of variation
call Generate VCF from regions of variation
info Print graph information

For detailed documentation on each subcommand, refer to the docs/ directory.

Quick Start: GFA to VCF

The simplest way to call variants is using gfa2vcf:

# Convert GFA to VCF using path prefix
./bin/povu gfa2vcf -i input.gfa -P HG > output.vcf

# Using a reference list file
./bin/povu gfa2vcf -i input.gfa -r ref_list.txt > output.vcf

The gfa2vcf command internally handles all intermediate steps and outputs a combined VCF to stdout.

Two-Step Workflow

For more control, use the separate decompose and call commands:

# Step 1: Identify regions of variation
./bin/povu decompose -i input.gfa -o regions/

# Step 2a: Generate separate VCF files (one per reference)
./bin/povu call -i input.gfa -f regions/ -r ref_list.txt -o vcf_output/

# Step 2b: Generate single combined VCF to stdout
./bin/povu call -i input.gfa -f regions/ -r ref_list.txt --stdout > output.vcf

Building povu

Prerequisites:

  • CMake (3.0+ recommended)
  • C compiler (e.g., GCC or Clang)

Clone the repository:

git clone https://github.com/pangenome/povu.git
cd povu

Standard build:

cmake -H. -Bbuild && cmake --build build -- -j 3

The binary will be in ./bin/povu

Installing with Guix

Enter Guix development shell:

guix shell -C -N -D -f guix.scm

Build inside the shell:

cmake -H. -Bbuild -D CMAKE_BUILD_TYPE=Release && cmake --build build -- -j 3

Building specific target

Building only the povu library

cmake -H. -DCMAKE_BUILD_TYPE=Debug -Bbuild && cmake --build build --target povulib -- -j 8

Building only the povu binary

cmake -H. -DCMAKE_BUILD_TYPE=Debug -Bbuild && cmake --build build --target povu -- -j 8

Development

To compile povu with debug symbols and address sanitizer:

cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=address -H. -Bbuild && cmake --build build -- -j 3

Running tests

  1. Configure the build with testing enabled:
cmake -Bbuild -DPOVU_ENABLE_TESTING=ON -DCMAKE_BUILD_TYPE=Debug
  1. Build the project:
cmake --build build
  1. Run tests with CTest
ctest --test-dir build

Name

The etymology of the name is rooted in profound philosophy 🤔. "Povu," is Kiswahili for "foam." Foam, by nature, comprises countless flubbles.

About

A toolkit for exploring regions of variation in a variation graph

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages