Releases: neherlab/pangraph
1.2.1
1.2.1
- Fix an edge-case bug: when updating the consensus of a block with a majority deletion, very rarely an unaligned node could be created. This is now fixed by extracting such nodes into a separate singleton block, see #158.
- Internal refactoring: improved logic of the
reconsensusfunction, see #164.
Installation and usage📚 Documentation: docs.pangraph.org 📥 Standalone native executables: download using links in the "Assets" section just below 🐋 Docker images: neherlab/pangraph |
1.2.0
Improve within-block alignments
Cigar strings from minimap or mmseqs2 are now used to inform within-block banded alignments when merging two blocks. The cigar string, together with alignments of the two merge candidates, are used to determine mean shift and bandwidth of the banded alignment. This results in more accurate alignments.
We added two extra options for the pangraph build command, which can be used to improve the quality of the block alignments at the cost of computation time and memory usage:
--extra-band-width: this option allows to increase the extra bandwidth of within-block banded alignments.--max-alignment-attempts: this option allows to increase the number of attempts to align two blocks, each attempt having increased bandwidth.
Fix handling of unaligned nodes
Occasionally, merging of two blocks could generate nodes whose alignment consists only of insertions or deletions, and no nucleotides aligned to the consensus. These problematic nodes are now detected, extracted from the block and stored in a separate singleton block, that can be further processed during graph construction.
Fix band hit warnings in Nextclade aligner
Nextclade would trigger a "band hit" warning whenever trailing indels were present. This caused performance loss.
Fix in-dels tracking
Leading in-dels were misplaced in the cigar string for matches with reverse orientation
Improve error reporting
Errors that occur during postorder traversal of the guide tree are reported immediately, without waiting for the whole tree to be traversed.
Installation and usage📚 Documentation: docs.pangraph.org 📥 Standalone native executables: download using links in the "Assets" section just below 🐋 Docker images: neherlab/pangraph |
1.1.0
Make Pangraph CLI logs less verbose
pangraph build command now displays only essential information when in "info" verbosity mode (with a single -v). To display a more verbose log, add multiple occurences of -v: e.g. -vv, -vvv etc.
Add progress bar
pangraph build command now displays a progress bar which helps to estimate the time required to complete the operation. Add --no-progress-bar if you want to hide it.
Installation and usage📚 Documentation: docs.pangraph.org 📥 Standalone native executables: download using links in the "Assets" section just below 🐋 Docker images: neherlab/pangraph |
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 |
0.7.3
0.7.2
0.7.1
0.7.0
- fasta input files are checked for duplicated records, and white lines between records are tolerated, see #55.
- PanGraph execution is now deterministic, and same input files always produce the same output, see #57. For the build command, a random seed can be set with the
-rflag. - introduced the
-tflag in thebuildandmergecommand. This activates consistency checks to verify that the input genomes can be exactly reconstructed. See #57. - Fixed #56
0.6.3
0.6.2
- removed the dependency on conda/PyCall and substituted it with TreeTools, by @PierreBarrat and @mmolari, see #45. This reduces the size of the docker image.
- added
script/config/accnums.jsonfile with list of accession number for GenBank sequences used for pangraph algorithm validation. - added
procpsto docker image. This is needed for compatibility of the docker image with nextflow. By @plaquette, see #48. - minor improvements in the analysis pipeline, see #49.