2.0.2
This is a major clean-up and refactoring release. Core logic has not changed, and output should be equivalent to prior versions. The key changes from an end-user perspective are BCF support, a cleaner API, and faster processing of most input types. See below for a fuller listing of public-facing updates.
The next release will correct ISOGG polarization errors for a few dozen SNPs.
Added
- BCF support
- Automated tests
- Optional dependencies
Sample
subclasses:TextSample
,VCFSample
CHANGELOG.md
Changed
- Lint code
- Update pre-commit hooks
- Update
Makefile
and configuration files - Refactor for PEP-8 compliance (snake case, etc.)
- Update directory structure
- Modernize packaging and infer version dynamically
- Namespace command-line entry points:
yhaplo
,yhaplo_convert_to_genos
,yhaplo_plot_tree
- Replace static methods
- Clean up logging and use file handlers
- Use f-strings
- Reformat docstrings
- Add type annotations
- Use
importlib.resources
to load metadata files - Move example input from package to
tests/fixtures/
- Update
README.md
andyhaplo_manual.pdf
- Speed up sample-major file processing
- Use Pysam to process VCF/BCF input
Removed
- Support for Python 2 and Python 3.8