Recent Releases of poppunk

poppunk - PopPUNK v2.7.6

What's Changed

  • Add fast update function by @johnlees in https://github.com/bacpop/PopPUNK/pull/322

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.7.5...v2.7.6

- Python
Published by johnlees about 1 year ago

poppunk - v2.7.5

Fixes to lineage models using --count-unique-distances.

- Python
Published by nickjcroucher over 1 year ago

poppunk - v2.7.4

More efficient visualisation of large datasets through improvements to the mandrake interface and assignment with partial query graphs.

- Python
Published by nickjcroucher over 1 year ago

poppunk - v2.7.2

  • Fixes to the labelling of network component graphs when using partial query graphs (#338)

- Python
Published by nickjcroucher over 1 year ago

poppunk - PopPUNK v2.7.1

Note this release fixes the TypeError: Population must be a sequence. For dicts or sets, use sorted(d). error

What's Changed

  • Update from master by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/288
  • Update graph summary processes by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/303
  • Update from master branch by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/312
  • Fix External Clusters csv being duplicated by @absternator in https://github.com/bacpop/PopPUNK/pull/324
  • Small fixes to database pruning and updating by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/328
  • Update plotting and network summary statistics by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/304
  • Enable assignment & visualisation with partial query graphs by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/332

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.7.0...v2.7.1

- Python
Published by johnlees over 1 year ago

poppunk - PopPUNK v2.7.0

Main additions are to remove the need for distance matrices (.dists.npy) in query assignment, and a formal stable nomenclature mode with --stable.

What's Changed

  • Docs update by @samhorsfield96 in https://github.com/bacpop/PopPUNK/pull/318
  • Replaced deprecated 'rU' with 'r' to make this work on recent python by @tgttunstall in https://github.com/bacpop/PopPUNK/pull/319
  • PopPUNK 2.7.0 candidate by @johnlees in https://github.com/bacpop/PopPUNK/pull/320

New Contributors

  • @tgttunstall made their first contribution in https://github.com/bacpop/PopPUNK/pull/319

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.7...v2.7.0

- Python
Published by johnlees almost 2 years ago

poppunk - PopPUNK v2.6.7

What's Changed

  • Move call of sketchlibAssemblyQC in query assign by @absternator in https://github.com/bacpop/PopPUNK/pull/317

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.6...v2.6.7

- Python
Published by johnlees almost 2 years ago

poppunk - PopPUNK v2.6.6

Add more QC fail reporting for beebop

What's Changed

  • Update cluster assign to write qcreport on qc failiures by @absternator in https://github.com/bacpop/PopPUNK/pull/315

New Contributors

  • @absternator made their first contribution in https://github.com/bacpop/PopPUNK/pull/315

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.5...v2.6.6

- Python
Published by johnlees almost 2 years ago

poppunk - PopPUNK v2.6.5

Enables correct visualisation of external clustering.

- Python
Published by nickjcroucher over 2 years ago

poppunk - PopPUNK v2.6.4

Better DBSCAN fits and a fix to visualisation code

What's Changed

  • Improvements to DBSCAN fitting by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/301
  • Updates to DBSCAN fitting by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/302
  • Avoid overwriting external clustering in visualise script by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/305

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.3...v2.6.4

- Python
Published by johnlees over 2 years ago

poppunk - PopPUNK v2.6.3

Hotfix to fix some external cluster assigments https://github.com/bacpop/PopPUNK/pull/298 Also move docs to https://poppunk.bacpop.org/

What's Changed

  • Update readthedocs config file to v2 by @johnlees in https://github.com/bacpop/PopPUNK/pull/291
  • Add the roadmap to the docs by @johnlees in https://github.com/bacpop/PopPUNK/pull/292
  • Add actions for docs build by @johnlees in https://github.com/bacpop/PopPUNK/pull/293
  • Rename docs action by @johnlees in https://github.com/bacpop/PopPUNK/pull/294
  • Use gha to publish docs by @johnlees in https://github.com/bacpop/PopPUNK/pull/295
  • Remove permissions and add CNAME by @johnlees in https://github.com/bacpop/PopPUNK/pull/296
  • Add permissions again by @johnlees in https://github.com/bacpop/PopPUNK/pull/297
  • Poppunk assign fix by @samhorsfield96 in https://github.com/bacpop/PopPUNK/pull/298

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.2...v2.6.3

- Python
Published by johnlees over 2 years ago

poppunk - PopPUNK v2.6.2

Hotfix for reference network name in poppunk_assign

What's Changed

  • Update assign.py by @samhorsfield96 in https://github.com/bacpop/PopPUNK/pull/290

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.1...v2.6.2

- Python
Published by johnlees over 2 years ago

poppunk - PopPUNK v2.6.1

Many small bug fixes

What's Changed

  • Fix a broken error message in assign by @johnlees in https://github.com/bacpop/PopPUNK/pull/246
  • Updates for GPU analysis + documentation by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/251
  • Path fix for distance plot, update docs with new DB page by @johnlees in https://github.com/bacpop/PopPUNK/pull/252
  • Increase default mandrake maxiter by 10x by @johnlees in https://github.com/bacpop/PopPUNK/pull/256
  • Correct database content filenames by @HarryHung in https://github.com/bacpop/PopPUNK/pull/257
  • Iterative PopPUNK updates by @BZhao95 in https://github.com/bacpop/PopPUNK/pull/259
  • Fix for using visualise with indiv refine ref-db by @johnlees in https://github.com/bacpop/PopPUNK/pull/261
  • Update Git Repository link by @HarryHung in https://github.com/bacpop/PopPUNK/pull/271
  • Improve manual installation instruction by @HarryHung in https://github.com/bacpop/PopPUNK/pull/274
  • Update CI to new mamba action by @johnlees in https://github.com/bacpop/PopPUNK/pull/272
  • Fix overwrite, correct error messages by @HarryHung in https://github.com/bacpop/PopPUNK/pull/282
  • API change in mpl380 ellipses by @johnlees in https://github.com/bacpop/PopPUNK/pull/285
  • Allow overwrite if forced by @johnlees in https://github.com/bacpop/PopPUNK/pull/279
  • Remove deprecated system packages from readthedocs build by @johnlees in https://github.com/bacpop/PopPUNK/pull/286

New Contributors

  • @HarryHung made their first contribution in https://github.com/bacpop/PopPUNK/pull/257

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.6.0...v2.6.1

- Python
Published by johnlees over 2 years ago

poppunk - PopPUNK v2.6.0

Main changes: - Lineage fits now use reciprocal best match with --reciprocal-only, --count-unique-distances and --max-search-depth, which gives better results. - Fixes for threshold model assignment

What's Changed

  • Update parsing fixes branch with new master by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/195
  • Update with recent changes to master by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/205
  • Integrate changes from V250 candidate by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/206
  • Small fixes for beebop by @muppi1993 in https://github.com/bacpop/PopPUNK/pull/217
  • Update poppunk_iterate.py by @BZhao95 in https://github.com/bacpop/PopPUNK/pull/216
  • Read the docs sphinx version by @johnlees in https://github.com/bacpop/PopPUNK/pull/215
  • Adds poppunkdistributefit.py by @samhorsfield96 in https://github.com/bacpop/PopPUNK/pull/226
  • Update with changes to master by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/230
  • Patch for relative paths in plot fit by @johnlees in https://github.com/bacpop/PopPUNK/pull/236
  • Fix option names for k-mer range min/max and k-mer step. by @tmaklin in https://github.com/bacpop/PopPUNK/pull/239
  • Fix for assign with threshold models by @johnlees in https://github.com/bacpop/PopPUNK/pull/240
  • Lineage model fitting - PopPUNK changes by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/232
  • Remove blas by @johnlees in https://github.com/bacpop/PopPUNK/pull/244
  • Proceed with update-db on QC failure by @johnlees in https://github.com/bacpop/PopPUNK/pull/245

New Contributors

  • @BZhao95 made their first contribution in https://github.com/bacpop/PopPUNK/pull/216
  • @samhorsfield96 made their first contribution in https://github.com/bacpop/PopPUNK/pull/226
  • @tmaklin made their first contribution in https://github.com/bacpop/PopPUNK/pull/239

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.5.0...v2.6.0

- Python
Published by johnlees over 3 years ago

poppunk - PopPUNK v2.5.0

Minimum sketchlib version for this release is v2.0.0

New features: - Dendropy replaced with faster & more reliable alternatives #203 - A new logo #202 - Improve iterative PopPUNK code - Documentation update and improvements #191 - Deal better with name clash when querying #190 - Make manual start a bit easier to use #174 - Replace t-SNE with mandrake - Output .microreact files, and allow direct creation of Microreact instances with an API key - Various QC additions to help with multi-cluster merges #194

Bug fixes: - Various fixes to cytoscape visualisation #185 #196 #210 - Hide progress bars when using --plot-fit - Stop always checking query-query dists when clustering (and potential bug adding them to network twice) - Fix N QC when working with reads #207

What's Changed

  • Upgrade of GPU refinement by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/164
  • Remove start_point concept from refine fit by @johnlees in https://github.com/bacpop/PopPUNK/pull/168
  • Upgrades to refinement functions by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/175
  • Update MST calculation documentation by @nickjcroucher in https://github.com/bacpop/PopPUNK/pull/177
  • Move the extend algorithm into the C++ extension by @johnlees in https://github.com/bacpop/PopPUNK/pull/178
  • Multi-boundary method by @johnlees in https://github.com/bacpop/PopPUNK/pull/180
  • Bacpop 17 by @muppi1993 in https://github.com/bacpop/PopPUNK/pull/201
  • Add rapidnj to docker image by @muppi1993 in https://github.com/bacpop/PopPUNK/pull/212
  • Release for v2.5.0 by @johnlees in https://github.com/bacpop/PopPUNK/pull/204
  • pip installable poppunk, almost by @richfitz in https://github.com/bacpop/PopPUNK/pull/209

New Contributors

  • @muppi1993 made their first contribution in https://github.com/bacpop/PopPUNK/pull/201
  • @richfitz made their first contribution in https://github.com/bacpop/PopPUNK/pull/209

Full Changelog: https://github.com/bacpop/PopPUNK/compare/v2.4.0...v2.5.0

- Python
Published by johnlees almost 4 years ago

poppunk - PopPUNK v2.4.0

Minimum sketchlib version for this release is v1.7.0

To use --gpu-graph requires cudf and cugraph to be installed from the nvidia conda channel, which is not part of the standard installation)

New features: - Adds minimum spanning tree computation and visualisation #141 #148 - Add two new network scores based on betweenness #146 - Move boundary code into a C++ extension in this package #146 #158 - Adds GPU accelerated graphs #87 #148 - Adds a docker container which is used for web.poppunk.net #151 #162 - New github actions for testing and building the web API #151 - Add progress bars in for model assignment #155 - Parallelise model assignment #155 - Adds the VLKC terminology, and 'unword' cluster names #161

Bug fixes: - Correctly specify thread count with rapidnj #139 - Regenerate random match changes after --update-db #149 - Fix issue with label order when using --update-db more than once #152 - Update some scripts/ to work with newer versions of numpy and scikit-learn #160 - Keep hyphens in sample names in trees #159 - Fix a plot name #158 - Pin some package versions #140 #142

- Python
Published by johnlees over 5 years ago

poppunk - PopPUNK v2.3.0

This is a major (API-breaking) update which moves the assign and visualisation functions into their own programs, to make the program more modular. The minimum version of pp-sketchlib required is 1.6.0.

New features: - Lineage assign mode uses matrix code in pp-sketchlib #108 - New algorithm for clique pruning #110 - Visualisation and query moved out of main, and into their own programs #112 #115 #129 - Simpler CLI defaults #125 - Updated documentation #122 - Add edge weights to graph #123 - Add API for use of poppunk_assign with a http server #124 #131 - Add corrected/uncorrected distances when plotting k-mer fits #136

Bug fixes: - More stable generation of documentation #132 - Fixes continue mode for QC function #134 - Fixes long length QC fail #137

- Python
Published by johnlees over 5 years ago

poppunk - PopPUNK v2.2.0

The first bug fix will affect many results, and all users are encouraged to upgrade

New features: - More thorough sample QC using pp-sketchlib features (#101) - Update to pp-sketchlib v1.5.1 (#104)

Bug fixes: - Misordered labels with older versions of pp-sketchlib (#95) - TypeError with visualisations (#99) - networkx still used in reference prune program (#97)

- Python
Published by johnlees over 5 years ago

poppunk - Sketchlib 1.4.0

  • Update to sketchlib 1.4.0 (#90) (https://github.com/johnlees/pp-sketchlib/releases/tag/v1.4.0)
  • Use faster, threaded matrix functions (#78, #80)
  • Change from networkx to graph-tool (#83)
  • Use sharedmem (#76)
  • Add --lineage-clustering mode (#72)
  • Better --refine-model default boundary (#94)

NB python >=3.8 is now required (#81, #76)

- Python
Published by johnlees almost 6 years ago

poppunk - Update sketchlib to v1.3.0

This accommodates updates to pp-sketchlib introduced since v1.1.0, mostly passing through new command line parameters (e.g. --use-gpu). See https://github.com/johnlees/pp-sketchlib/releases/tag/v1.3.0 for more info.

- Python
Published by johnlees about 6 years ago

poppunk - New sketchlib backend

This is a major new release of PopPUNK, which uses a new 'backend' to do sketching and distance calculation, pp-sketchlib

This changes the input format and the API somewhat, will be incompatible with previous database versions, and generates slightly different distance results. If you need backwards compatibility the previous version can still be run by specifying --use-mash.

New features: * Use pp-sketchlib as the backend. This is ~2x faster for sketching and 50-100x faster for distance calculations. Databases are ~1/4 of the size. * Input data is now formatted as a tab separated file with name followed by any associated sequence. Sample names no longer have to be filenames. (Closes #43, #46) * Read data can now be handled, including a filter to remove k-mers containing sequencing errors * Faster database edits with prune_db and reference_pick * Ability to use the previous sketching method and databases by specifying --use-mash

Bug fixes: * Better error handling when creating visualisations, so output files are still produced if this fails

- Python
Published by johnlees over 6 years ago

poppunk - Add --threshold option

This adds: * The ability to use a simple core threshold (#49) * Use external clusters in generate viz mode (#55)

Other: * Add scripts into package (#56)

- Python
Published by johnlees over 6 years ago

poppunk - Better reference selection

The main reason for this release is the fix in #50. Although not necessarily a problem, in some populations the reference picking step can lead the pruned network to appear inconsistent with the clusters, giving warning messages when assigning new queries. This is fixed here.

Bug fixes: * Fixes to --generate-viz mode (#44). * Problems using relative paths (#48). * Ensuring consistent network and cluster definitions when choosing references (#50).

Other: * Update travis-CI to use correct DISPLAY for matplotlib * Add Azure pipelines CI

- Python
Published by johnlees almost 7 years ago

poppunk - Generate viz mode

The main feature added is --generate-viz mode.

New features: * Allow visualisation to be generated independently #44 * Add extra output to STDERR for GMM fits #45

Bug fixes: * Fix in plot of DBSCAN introduced in previous version #45 * Fix README rendering in PyPI * Fix readthedocs build (details) * Fix to genome length check when inputs not present

- Python
Published by johnlees about 7 years ago

poppunk - Pathogenwatch API

This release is mostly to create a function to assign samples, usable by an API for pathogenwatch.

Other changes

New features: * Added script to generate the microreact output (yet to be fully exported)

Bug fixes * Fixes to --use-model mode * Guard against huge memory use in making plots of refined fits with very large datasets * Correct error message when fit fails #41

- Python
Published by johnlees over 7 years ago

poppunk - Post-paper updates

Adding some changes and fixes that have arisen from more people testing out on their data!

New features: * Add basic quality control for assemblies input (#37, #42). * Generate a network and cluster assignment by applying a fitted model to a distance database (--use-model). * Added script to calculate Rand distances between cluster assignments (calculate_rand_indices.py) * Added script to extract .graphml files for all clusters (extract_components.py).

Bug fixes: * More general parsing of epiData for --microreact (#35). * Correct paths in output prefix with mash sketch. * Removed the zero level contour in distance plots (#38).

Other: * Updated docs (troubleshooting, installation, README.md) * Removed n subscript on pi on x-axis of plots. * Updated networkx version for pip (#39). * Catch errors when curve fit fails (#41). * Travis-CI uses conda rather than pip to install dependencies.

- Python
Published by johnlees over 7 years ago

poppunk - Second revision

This release contains an important bug fix and some changes to the output files

New features: * Available as a conda package (#31) * Plots are now plotted in terms of pi_n and a, rather than in the arbitrary scaled space (#32) * Easy run mode now uses HDBSCAN and fit refinement, a more intuitive default (#34) * Min and max k-mer sizes set as noted in paper

Bug fixes: * Clusters are output in reverse frequency order, in every mode (#33) * Use of databases with reference only (i.e. without --full-db) work with future --assign-query commands (#35) * Parsing of CSV column headers for microreact output fixed for some cases

- Python
Published by johnlees over 7 years ago

poppunk - Python version requirement relaxing

Small change to setup.py for compatibility with bioconda

- Python
Published by johnlees almost 8 years ago

poppunk - Revised paper

This release contains features and fixes in response to review comments in the manuscript, as well as other raised issue fixes.

New features: * Arbitrary cluster definitions can be merged with the clusters found using --external-clustering (#30) * A new, simpler, example has been added to the documentation * All plots are clearer and show the unscaled distances a and pi_n (#32)

Bug fixes: * Check distance file provided when using --assign-query (#29) * Ensure python3 is being used (v2.7 unsupported) * General tidying of code from pylint errors and warnings

- Python
Published by johnlees almost 8 years ago

poppunk - Updating databases fixes

New features: * Cluster IDs now start from 1 rather than 0 (#26) * Added various error checking (#27) * Report merged clusters when using --assign-query * Sort _clusters.csv by cluster ID, rather than sample name

Bug fixes: * --update-db works with reference only databases (#28)

- Python
Published by johnlees almost 8 years ago

poppunk - python 2/3 writing fixes

Bug fixes: * An error in stderr writing models.py which causes problems with some versions of python

- Python
Published by johnlees almost 8 years ago

poppunk - Version at bioRxiv submission

Bug fixes:

  • Use the relative and not absolute path, allowing --assign-query to work with inputs from non-writable directories, or directories in other locations.
  • Corrected model copying with poppunk_references

Code:

  • Move many functions from mash.py to utils.py

- Python
Published by johnlees almost 8 years ago

poppunk - Reference selection

Added features: * Added program poppunk_references to perform clique-based reference selection, if --full-db was run first time round. * If core or accessory refined models have been created, also write out their networks when using --cytoscape.

Bug fixes: * When picking references, remove the non-reference isolates from the distance file

- Python
Published by johnlees about 8 years ago

poppunk - Adding output types

Added features: * Ability to write output for GrapeTree * Ability to write output for Phandango * Ability to re-run t-SNE with different perplexity without rerunning everything (poppunk_tsne)

Bug fixes: * Pasting epi information into Microreact output (#24) * Storing accessory distances with --assign-query

- Python
Published by johnlees about 8 years ago

poppunk - Initial release

First public version

- Python
Published by johnlees about 8 years ago

poppunk - First PyPI package

Code almost complete, but a few final features and tests remain before first release. This is the same as v0.1 on PyPI

- Python
Published by johnlees about 8 years ago