TCS Alignment Toolbox Version 3.0.0
Version 3 of the TCSAlignmentToolbox is released. Arbitrary Lists can be used as input now. Removal of data structure overhead speeds up alignments significantly.
- Instead of the Sequence datastructure the toolbox has been revised to support arbitrary input in List form. That means: You can now input whatever input you like, as long as it implements the java.util.List interface.
- This also means that using the TCS Alignment Toolbox has become significantly easier: There is no need to construct a NodeSpecification or an AlignmentSpecification anymore. You just need your data in List form, a Comparator and an AlignmentAlgorithm.
- The Sequence datastructure is still supported (and implements the java.util.List interface now) but is not mandatory anymore and has been refactored to isolated modules
- Many implementations in the algorithms-lib module had to be removed to make maintaining the toolbox easier.
- The remaining implementations in the algorithms-lib module (global alignment and DTW) have been revised to be more efficient. Combined with the reduced overhead caused by the Sequence datastructure this leads to speedups up to factor 10.
- The gradient computation mechanism has been revised to be easier to understand. See the DerivableAlignmentDistance, the DerivableComparator and the Gradient interface for more details.
- The ReplacementComparator has been revised to be easier to understand and more efficient.
- We have added four new comparators providing a normalized Euclidean and Manhatten distance with and without relevance weighting.
- The java examples are now isolated maven projects, making them easier to use.
Please have a look at the 'examples' directory in the GIT repository to inspect the new version of the toolbox in more detail.