Skip to content

Releases: BigDataBiology/SemiBin

Version 2.2.0

20 Mar 09:47
Compare
Choose a tag to compare

This is a maintenance release with many small improvement rather than a single big new feature. Upgrading is recommended, but not crucial.

User-visible changes

  • Remove SemiBin command. Only SemiBin1 and SemiBin2 are available (and SemiBin1 is deprecated). The only reason to use SemiBin1 is if you have old scripts that use it. It will be removed in the next release.
  • Better logging: Always log to file in DEBUG level and log command-line arguments. Print version number in logs.
  • Better error messages in several instances
  • check_install: Prints out information on the GPU

Deprecations

  • SemiBin: Deprecate --prodigal-output-faa argument
  • No longer check for mmseqs in check_install (it is not a hard requirement)

Internal improvements and bugfixes

  • Respect the number of threads requested better (#140)
  • SemiBin: Better method to save the model which is more compatible with newer versions of PyTorch. Added a subcommand to update old models to the new format (update_model)
  • SemiBin: Switch to pixi for testing (and recommend it in the README/installation instructions)
  • Convert to pyproject.toml instead of setup.py
  • Do not fail if no bins are produced (#170 & #173)

Version 2.1.0

06 Mar 23:42
Compare
Choose a tag to compare

Main new feature is adding support for using output of strobealign-aemb. Use of the SemiBin command (instead of SemiBin2) will continue to work, but print a warning and set a delay to ask users to upgrade.

Full ChangeLog

  • SemiBin: Support running SemiBin with strobealign-aemb (--abundance/-a)
  • citation: Add citation subcommand
  • SemiBin1: Introduce separate SemiBin1 command
  • internal: Code simplification and refactor
  • deprecation: Deprecate --orf-finder=fraggenescan option
  • Update abundance normalization
  • SemiBin: do not use more processes than can be taken advantage of (#155)

Version 2.0.2

31 Oct 04:16
Compare
Choose a tag to compare

Minor bugfix release (#128)

Version 2.0.1

21 Oct 04:30
Compare
Choose a tag to compare

Fix bugs in v2.0.0, mainly with the SemiBin2 command and argument passing.

Full ChangeLog:

  • train_self: Fix bug with --mode
  • concatenate_fasta: Fix bug with compression
  • bin_short: Make alias work

Version 2.0.0

20 Oct 01:43
Compare
Choose a tag to compare

Effectively a minor release, turning the SemiBin2 beta into a full SemiBin2 release and soft-deprecating SemiBin1.

Full ChangeLog:

  • SemiBin: Better error checking throughout
  • SemiBin: Write a log file
  • concatenate_fasta: support compression
  • concatenate_fasta: slightly better error message when contig ID already contains separator
  • SemiBin: add bin_short as alias for bin

Version 1.5.1

07 Mar 03:03
Compare
Choose a tag to compare

Fix use of --no-recluster with multi_easy_bin, see #128

Version 1.5.0: SemiBin2 beta

17 Jan 11:11
Compare
Choose a tag to compare

Big change is the addition of a SemiBin2 script, which is still experimental, but should be a slightly nicer interface.

User-visible improvements since v1.4.0

  • Added a new option for ORF finding, called fast-naive which is an internal very fast implementation.
  • Added the possibility of bypassing ORF finding altogether by providing prodigal outputs directly (or any other gene prediction in the right format)
  • Command line argument checking is more exhaustive instead of exiting at first error
  • Added --quiet flag to reduce the amount of output printed
  • Better --help (group required arguments separately)
  • Add --output-compression option to compress outputs
  • Add --tag-output option which allows for control of the output filenames (and also makes the anvi'o compatible — see discussion at #123.
  • Add contig->bin mapping table (#123)
  • SemiBin.main.main1 and SemiBin.main.main2 can now be called as a function with command line arguments (main1 corresponds to SemiBin1 and main2 corresponds to SemiBin2)
import SemiBin.main    
    
...    
    
SemiBin.main.main2(['single_easy_bin', '--input-fasta', ...])    

Version 1.4.0: long read binning

15 Dec 03:31
Compare
Choose a tag to compare

Big change is the added binning algorithm for assemblies from long-read datasets.

The overall structure of the pipeline is still similar to what was manuscript, but when clustering, it does not use infomap, but another procedure (an iterative version of DBSCAN).

Use the flag --sequencing-type=long_read to enable an alternative clustering that works better with long reads.

Other user-visible improvements

  • Better error checking at multiple steps in the pipeline so that processes that will crash are caught as early as possible
  • Add --allow-missing-mmseqs2 flag to check_install subcommand (eventually, self-supervision will be the default and mmseqs2 will be an optional dependency)

Command line parameter deprecations

The previous arguments should continue to work, but going forward, the newer arguments are probably a better API.

  • Selecting self-supervised learning is now done with the --self-supervised flag (instead of --training-type=self)
  • Training from multiple samples is now enabled with the --train-from-many flag (instead of --mode=several)

Bugfixes

  • The output table sometimes had the wrong path in v1.3. This has been fixed
  • Prodigal is now run in a more robust manner when using multiple threads (#106)

Version 1.3.1

08 Dec 05:13
Compare
Choose a tag to compare

Version 1.3.0 erroneously made --training-type mandatory.

We had intended to keep backwards compatibility with previous versions and v1.3.1 fixes that.

Version 1.3.0

03 Nov 01:04
Compare
Choose a tag to compare

Introduces self-supervised learning! This is optional (for now, will become default in SemiBin2), but can achieve better results. See the docs on training SemiBin models for more information).

Also, fixes a few minor bugs, namely bin names in the output table and renames one command line argument from the mispelled --epochs (instead of a misspelling).