1.0.0
This release introduces several significant updates, including a complete rewrite of the algorithm in Rust to boost both speed and reliability in graph construction. PanGraph can now be compiled as a standalone binary, greatly simplifying installation. The release also contains several breaking changes.
Major changes
-
Graph Construction Algorithm Enhancements
- Block merging has been refined and simplified: when merging two blocks, sequences are re-aligned to the block consensus, resulting in more robust alignments.
- The alignment process is now easily parallelizable, extending beyond the previous limitation of parallel guide tree traversal.
- Insertions are now placed on the consensus sequence without aligning them to each other, simplifying bookkeeping of alignment variation when merging blocks.
-
Graph JSON Output Format Updates
- A new
nodesdictionary links paths and blocks. - Entries in the
pathsdictionary have been simplified to include only lists of nodes. - Block
alignmentsnow use a simpler encoding; insertions are placed on the consensus without alignment, eliminating the need for a separategapsentry.
- A new
-
Command Line Interface Modifications
- Improved parallelization control with the new
--jobsflag. - The
exportcommand has been restructured into several subcommands:export gfa– Export the graph in GFA format.export block-consensus– Export block consensus sequences in a single FASTA file.export block-sequences– Export each block’s alignment in separate FASTA files.export core-genome– Export the core-genome alignment.
- The
marginalizecommand has been renamed tosimplify. - A new
reconstructcommand has been added to rebuild the input sequences from the graph. - The
polishandgeneratecommands have been removed.
- Improved parallelization control with the new
Installation and usage📚 Documentation: docs.pangraph.org 📥 Standalone native executables: download using links in the "Assets" section just below 🐋 Docker images: neherlab/pangraph |