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
reconsensus
function, 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
nodes
dictionary links paths and blocks. - Entries in the
paths
dictionary have been simplified to include only lists of nodes. - Block
alignments
now use a simpler encoding; insertions are placed on the consensus without alignment, eliminating the need for a separategaps
entry.
- A new
-
Command Line Interface Modifications
- Improved parallelization control with the new
--jobs
flag. - The
export
command 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
marginalize
command has been renamed tosimplify
. - A new
reconstruct
command has been added to rebuild the input sequences from the graph. - The
polish
andgenerate
commands 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
-r
flag. - introduced the
-t
flag in thebuild
andmerge
command. 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.json
file with list of accession number for GenBank sequences used for pangraph algorithm validation. - added
procps
to 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.