Skip to content

Releases: neherlab/pangraph

1.2.1

05 Aug 14:10
Compare
Choose a tag to compare

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

01 Jul 13:23
Compare
Choose a tag to compare

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

18 Feb 06:50
Compare
Choose a tag to compare

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

12 Feb 11:16
Compare
Choose a tag to compare

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 separate gaps entry.
  • 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 to simplify.
    • A new reconstruct command has been added to rebuild the input sequences from the graph.
    • The polish and generate commands have been removed.

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

21 Nov 09:42
54f7f90
Compare
Choose a tag to compare
  • bugfix in graph building: a particular edge-case would cause minor inconsistencies in the block alignment when merging graphs, see issue #62 and PR #63.

0.7.2

24 Aug 08:33
0881676
Compare
Choose a tag to compare
  • minor fix in tree midpoint rooting during panX export, see #59.

0.7.1

12 Jul 14:51
062e122
Compare
Choose a tag to compare
  • minor fix for multi-threaded marginalize, see #58.

0.7.0

27 Jun 15:38
54c5019
Compare
Choose a tag to compare
  • 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 the build and merge command. This activates consistency checks to verify that the input genomes can be exactly reconstructed. See #57.
  • Fixed #56

0.6.3

16 Mar 10:14
Compare
Choose a tag to compare
  • fixed an issue with PanX export by upgrading TreeTools version, see #52 by @mmolari and @PierreBarrat
  • minor upgrades to the analysis scripts following PanGraph's paper reviews, see #51.

0.6.2

13 Dec 12:57
Compare
Choose a tag to compare
  • 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.