A toolkit for exploring regions of genomic variation
For general help, run:
./bin/povu -h
# or simply
./bin/povuThe 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.
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.vcfThe gfa2vcf command internally handles all intermediate steps and outputs a combined VCF to stdout.
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.vcfPrerequisites:
- CMake (3.0+ recommended)
- C compiler (e.g., GCC or Clang)
Clone the repository:
git clone https://github.com/pangenome/povu.git
cd povuStandard build:
cmake -H. -Bbuild && cmake --build build -- -j 3The binary will be in ./bin/povu
Enter Guix development shell:
guix shell -C -N -D -f guix.scmBuild inside the shell:
cmake -H. -Bbuild -D CMAKE_BUILD_TYPE=Release && cmake --build build -- -j 3Building 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
To compile povu with debug symbols and address sanitizer:
cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_SANITIZER=address -H. -Bbuild && cmake --build build -- -j 3Running tests
- Configure the build with testing enabled:
cmake -Bbuild -DPOVU_ENABLE_TESTING=ON -DCMAKE_BUILD_TYPE=Debug
- Build the project:
cmake --build build
- Run tests with CTest
ctest --test-dir build
The etymology of the name is rooted in profound philosophy 🤔. "Povu," is Kiswahili for "foam." Foam, by nature, comprises countless flubbles.