Skip to content

Releases: rrwick/Unicycler

Unicycler v0.5.0

23 Jan 02:27
Compare
Choose a tag to compare

This release contains the most changes in a while! They include:

  • Fixed compatibility with modern versions of SPAdes.
    • Unicycler now works with SPAdes v3.15.3 (current at the time of writing).
    • Starting with version v3.13.1, SPAdes stopped saving graph files for each k-mer size (read more here). Since Unicycler depends on having a graph for each k-mer size, it was necessary to change how Unicycler run SPAdes.
    • Addresses #218, #225, #244, #251, #269, #275.
  • Removed Pilon polishing at the end of Unicycler's pipeline.
    • I have learned a lot about polishing in recent years (see the Polypolish paper), and have decided that it's best to leave this out of Unicycler. I.e. if you want to polish your assemblies, that will need to be done in a separate post-Unicycler step.
    • Pilon, Samtools and Bowtie2 are no longer dependencies of Unicycler.
    • Addresses #198, #212, #216, #246, #262, #265, #280, #283.
  • Removed read correction at the start of Unicycler's pipeline.
    • I have found that read correction isn't usually necessary or helpful, so I was in the habit of using the --no_correct option in previous versions of Unicycler to turn this off. That option no longer exists, as read correction isn't available in Unicycler anymore.
    • I still recommend that you do some read QC before assembly (fastp is one of my favourite tools for this).
    • Addresses #208, #214.
  • Unicycler now saves raw SPAdes graphs for each k-mer size with the default --keep level.
    • This is because I often found it useful to look at lower-k-mer graphs when investigating tricky parts of genomes.
  • Removed some old and/or experimental components:
    • unicycler_align command
    • unicycler_check command
    • unicycler_polish command (#202, #226, #228, #229, #239)
    • unicycler_scrub command
    • pilon_polish.py command
    • --vcf option (#259, #271)
    • Sorry to anyone that actually used these – you can still find them in previous versions of Unicycler!
  • A couple new command line options:
    • --no_simple_bridges to turn off simple long-read bridging (#256)
    • --spades_options to provide additional options for SPAdes (#215, #279)
  • Added -m option to SPAdes call to fix issue with macOS v12 (ablab/spades#839)
  • A few bug fixes in long-read bridging (#181, #203, #245, #256).

Unicycler v0.4.9

03 May 00:17
Compare
Choose a tag to compare

Nothing major here - just making a release to include a handful of fixes that were on the main branch but not yet in a release.

The most significant one is that Unicycler now enforces that SPAdes cannot be a version later than v3.13.0. This is because after that version, SPAdes stopped saving intermediate files that Unicycler needs. Unicycler users that had later versions of SPAdes were getting suboptimal assemblies.

Unicycler v0.4.8

16 Aug 01:36
Compare
Choose a tag to compare

Just a couple little changes:

  • New --largest_component will make Unicycler toss out all connected components in the assembly graph expect for the largest one. Useful for heavily contaminated read sets.
  • Reduced the number of Racon polishing rounds for better speed performance.

Unicycler v0.4.7

06 Sep 00:24
49ce73e
Compare
Choose a tag to compare

A few small features and bug fixes:

  • Support for higher SPAdes k-mers (#108, thanks @ilnamkang)
  • Fixed crash with --kmer_count (#94, thanks @sjackman)
  • Fix a possible Pilon-related crash when running in a VM (#84, thanks @sulheim)
  • Fix issue where --start_genes required an absolute path (#109, thanks @edawine)
  • New --no_fix_local option for unicycler_polish (#136, thanks @sjackman)

Unicycler v0.4.6

28 May 03:03
Compare
Choose a tag to compare

Changes in this release:

  • Support for newer versions (v1.0+) of Racon
  • Improved assembly graph cleaning - can help with assembly of messy small plasmids

Unicycler v0.4.5

10 Apr 04:36
Compare
Choose a tag to compare

Changes in this release:

  • Improved checking for dependencies when installing (thanks @kblin!)
  • New option --min_anchor_seg_len to explicitly set the minimum length for scaffolding anchors
  • New option --kmers to explicitly set SPAdes assembly k-mer sizes
  • New option --spades_tmp_dir to specify a location for SPAdes' temporary directory (solves #69 and #82, thanks @rec3141!)
  • Tweaks to logic which determine chromosomal depth - improves performance on some contaminated read sets

Unicycler v0.4.4

09 Jan 01:24
Compare
Choose a tag to compare

A small release with a few bug fixes:

  • Makefile fix for GCC 7 (thanks @cerebis!)
  • Fixed crash when using contamination filter (thanks @phbrito!)
  • Fixed a bug leading to unnecessarily slow path finding in hybrid assemblies
  • Fixed some bugs related to dead-end trimming in hybrid assemblies
  • Fixed an off-by-one error in contig placement into miniasm assemblies

and one new feature:

  • Added --existing_long_read_assembly option. Allows a high quality long-read assembly (e.g. from Nanopolish or Arrow) to be injected into Unicycler's hybrid assembly pipeline. Can improve final assembly accuracy when short reads have incomplete coverage.

Unicycler v0.4.3

30 Oct 04:01
Compare
Choose a tag to compare

Just a couple little fixes:

Unicycler v0.4.2

28 Sep 07:17
Compare
Choose a tag to compare

Mostly bug fixes in this release:

  • Improvement in logic for bridging loops with long reads.
  • Fix for 'UINT32_MAX' was not declared in this scope issue (thanks, Shyam Rallapalli)
  • Fix for a possible crash during the repeat expansion step of graph cleanup (thanks, @sergiarredondo)
  • Fix misleading error message for SPAdes Python version incompatibility (thanks, @conra91)
  • Fix crash when SPAdes doesn't make contigs.paths file (thanks, @smehringer)
  • Fix possible crash with Bowtie v2.3.3 (thanks, Danielle Ingle)

Unicycler v0.4.1

23 Aug 02:06
Compare
Choose a tag to compare

Small changes and bug fixes:

  • Tweak logic to better include plasmids in the final assembly, even when the Illumina assembly graph is weird (thanks Matthew Croxen)
  • Makefile fix which caused some people to have compilation issues with zlib (thanks @tomasyeo, @andersgs and @swlong)
  • Made compilation less specific to avoid problems in heterogeneous environments (thanks @cerebis)
  • Fixed potential issues with read name parsing (thanks @cerebis)
  • Set a SPAdes thread limit to avoid memory issues (thanks @ConstantinV)
  • Better error messages with bad Illumina input reads (thanks Gabriele Margos)
  • Ability to manually set multiplicities in the Illumina graph, to override Unicycler's multiplicities when you think it's made a mistake
  • Efficiency improvements in assembly graph manipulations