Changelog
Additions
- New alignment color schemes
- Color schemes for protein sequence alignments created with *Gecos* software
- Including a color scheme adapted for red-green blindness
- Color scheme for *protein block* sequence alignments created with *Gecos* software
- Color schemes for protein sequence alignments adapted from JalView
- More functionalities for external MSA software (`application.MSAApp` subclasses)
- Additional CLI options can be set via `add_additional_options()`
- The executed command of `application.LocalApp` can be optained via `get_coomand()`
- Most MSA software interfaces allow setting and getting the distance matrix and the guide tree
- The corresponding method are `get_guide_tree()`, `set_guide_tree()`, `get_distance_matrix()` and `set_distance_matrix()`
- MSA software supporting cutom substitution matrices can be used to align almost any type of sequence, even if the type is not directly supported by the underlying software
- Added euality operator for `sequence.align.Alignment` objects
- `sequence.phylo.Tree` supports non-binary trees
- `sequence.phylo.TreeNode` can handle more than two child nodes
- `len()` gives amount of leaves in `sequence.phylo.Tree`
- `sequence.phylo.Tree` and `sequence.phylo.TreeNode` support hash and equality operator
- `sequence.phylo.as_binary()` function converts non-binary tree into binary tree, as required for guide trees
- Added `sequence.phylo.neighbor_joining()` for hierarchical clustering
Changes
- Removed `X` as symbol for ambiguous nucleotides, use `N` instead
- Removed protected method `get_default_bin_path()` from `application.MSAApp`
- Renamed protected method `set_options()` to `set_arguments()` `application.LocalApp`
- Renamed `set_matrix()` to `set_substitution_matrix()` `application.muscle.MuscleApp`
- Removed protected method `get_cli_arguments()` in `application.LocalApp`
- Adapted constructor of `sequence.phylo.TreeNode` for variable amount of child nodes
- `application.MSAApp` subclasses must implement abstract static methods describing which sequence types they support and whether they support custom substitution matrices
Fixes
- `U` is automatically converted to `T` when loading nulceotide sequences from FASTA files
- Score matrix in `sequence.align.SubstitutionMatrix` is now truly read-only via `ndarray` flag
- `application.Application` subclasses (all external software interfaces) now properly check whether the corresponding objects are in the correct `application.AppState`
- Error in evaluation step of `application.Application` now leaves application in `application.AppState.CANCELLED` state
- Fixed `InvalidFileError` not being exposed to user
- Symmetry checks in `sequence.phylo.upgma()` allow for small rounding errors