Code name: "Wistful Weasel"
Being a major release, expect previous scripts written for Chanjo 1.x to be incompatible with Chanjo 2.x.
Added
- New built-in "demo" subcommand in the CLI
- New public setuptools entry point for Chanjo plugins (CLI subcommands)
- New of
cial public Python API (stable until 3.x release). Read more in the new [API documentation][api-docs].
- New "sex-checker" bonus command to guess gender from BAM alignment.
- Command line interface updates
- ``--out`` option removed across CLI. Use ``>|`` to redirect STDOUT instead.
- ``--prepend` is now known as ``--prefix``
- ``--db`` and ``--dialect`` must be supplied directly after "chanjo" on the command line (not after the subcommand). Like: ``chanjo --db ./coverage.sqlite import annotations.bed``.
- ``--extend-by`` is now ``--extendby``
- Config file format has changed from JSON to [TOML][toml]. It's a more readable format (think INI) that also supports comments!
- Improves BED-format compliance. Chanjo will now expect the "score" field to be in position 5 (and strand in position 6). The Chanjo specific fields start from position 7.
- Major internal code restructuring. Essentially everything is built as plugins/self-contained components. Since no official Python API existed pre Chanjo 2, I won't go into any details here.
- Improves documentation.
- Last but not least, Chanjo will now code name releases according to animals in the Musteloidea superfamily :)
- Introduces a new compat module to better support Python 2+3.
- Trades command line framework from "docopt" to "click" to build more flexible nested commands.
- Adds a first hand `BaseInterval` object to unify handling of intervals inside Chanjo.
- BamFile no-longer requires numpy as a hard dependency. You still likely want to keep it though for performance reasons.