
Download de.cit-ec.tcs.alignment JAR files with all dependencies
csv from group de.cit-ec.tcs.alignment (version 3.1.0)
This module permits exporting and importing of Sequence objects to CSV files.
The underlying NodeSpecification is stored via a JSON file. The module aims at human-
readable and compatible storage. For storage efficiency, further compression is advised.
3 downloads
parallel from group de.cit-ec.tcs.alignment (version 3.1.0)
This module provides a very basic support for the parallel
computing of tasks (Engine class) and entries of a matrix (MatrixEngine).
This is basically just a wrapper around the java standard functionality
for parallel computing (mainly the Standard Thread Pool and the Future
interface). Additional functionality is provided by the ProgressReporter
interface, which can be used as a hook to provide information on the
current state of the parallel computing task to other modules or the user.
Group: de.cit-ec.tcs.alignment Artifact: parallel
There is no JAR file uploaded. A download is not possible! Please choose another version.
1 downloads
csv from group de.cit-ec.tcs.alignment (version 3.1.1)
This module permits exporting and importing of Sequence objects to CSV files.
The underlying NodeSpecification is stored via a JSON file. The module aims at human-
readable and compatible storage. For storage efficiency, further compression is advised.
visualization from group de.cit-ec.tcs.alignment (version 3.0.0)
This module contains means to visualize Alignments. The
most important interface is the Visualizer class. A trivial
implementation (essentially just using toString()) is the
StringVisualizer. A more sophisticated example that is recommended for
outside use is the HTMLVisualizer. All other classes are helper classes
for said HTMLVisualizer.
wrappers from group de.cit-ec.tcs.alignment (version 2.1.2)
This module contains some wrappers to make usage of the
TCSAlignmentToolbox easier.
Most important for beginners is the StringEditDistance, which provides
convenience functions for simple string comparisons. For sequences of
vectors we provide the VectorialSequences wrapper. The
RandomSequenceGenerator enables you to generate random multi-modal
sequences for testing purposes.
sets from group de.cit-ec.tcs.alignment (version 3.1.1)
This module provides algorithms to compare sets, that is, order-invariant lists. These
algorithms are implementations of the AlignmentAlgorithm interface defined in the
algorithms module.
In particular, this module contains the StrictSetAlignmentScoreAlgorithm for computing
the cost of the optimal unordered alignment of two sets, the
StrictSetAlignmentFullAlgorithm which provides the Alignment itself as well, and the
GreedySetAlignmentScoreAlgorithm as well as the GreedySetAlignmentFullAlgorithm for
computing a potentially sub-optimal but faster alignment of two sets.
The optimal alignments rely on the HungarianAlgorithm for solving the assignment
problem in bipartite graphs. Here, we rely on the implementation provided by Kevin L. Stern
which is provided within this distribution.
adp from group de.cit-ec.tcs.alignment (version 3.1.1)
This module contains a more general approach to construct
AlignmentAlgorithms by relying on the theoretical concept of Algebraic
Dynamic Programming (ADP) as developed by Giegerich et al.
ADP defines four ingredients for an alignment algorithm:
1.) A signature that defines the permitted alignment operations.
Operations are just function templates with an associated arity, meaning
the number of arguments it takes from the left sequence and from the
right sequence.
In the TCSAlignmentToolbox we have a fixed signature with the following
operations:
REPLACEMENT(1, 1), DELETION(1, 0), INSERTION(0, 1), SKIPDELETION(1, 0)
and SKIPINSERTION(0, 1)
2.) A regular tree grammar that produces alignments, that is: sequences
of operations, in a restricted fashion.
3.) An algebra that can translate such trees to a cost. In the
TCSAlignmentToolbox this is a Comparator.
4.) A choice function, in case of the TCSAlignmentToolbox: the strict
minimum or the soft minimum.
An alignment algorithm in the TCSAlignmentToolbox sense of the word then
is the combination of choice function and grammar. While we provide
hardcoded versions of these combinations in the main package, the adp
package allows you to create your own grammars. You can combine them with
a choice function by instantiating one of the Algorithm classes provided
in this package with a grammar of your choice.
For example:
AlignmentAlgorithm algo = new SoftADPScoreAlgorithm(my_grammar, comparator);
creates an alignment algorithm that implicitly produces all possible
alignments your grammar can construct with the given input, translates them
to a cost using the algebra/comparator you provided and applies the
soft minimum to return the score. This all gets efficient by dynamic
programming.
Note that there is runtime overhead when using this method in comparison
with the hardcoded algorithms. But for complicated grammars this is a much
easier way to go.
For more information on the theory, please refer to my master's thesis:
"Adaptive Affine Sequence Alignment using Algebraic Dynamic Programming"
sequence-comparators from group de.cit-ec.tcs.alignment (version 3.1.1)
This module provides specializations of the Comparator
interface for the Sequence data structure.
0 downloads
sequences from group de.cit-ec.tcs.alignment (version 3.1.1)
This module contains the sequence datastructure of the
TCS Alignment Toolbox. It defines the possible value sets in the
ValueType enum as well as the different KeywordSpecification classes, namely:
1.) StringKeywordSpecification for string type values.
2.) SymbolicKeywordSpecification for values from a discrete alphabet (also refer to the Alphabet class)
3.) VectorialKeywordSpecification for vectors of some length (or for scalars)
A NodeSpecification is a vector of such KeywordSpecifications and defines
the order of value sets. A node, then, is defined as a vector of values
from these value sets (also refer to the Value interface as well as the
StringValue, SymbolicValue and VectorialValue classes). Finally a
sequence is defined as a list of such nodes.
sequence-visualization from group de.cit-ec.tcs.alignment (version 3.1.1)
This module provides convenience implementations for visualization of the sequence datastructure.
0 downloads
visualization from group de.cit-ec.tcs.alignment (version 3.1.1)
This module contains means to visualize Alignments. The
most important interface is the Visualizer class. A trivial
implementation (essentially just using toString()) is the
StringVisualizer. A more sophisticated example that is recommended for
outside use is the HTMLVisualizer. All other classes are helper classes
for said HTMLVisualizer.
algorithms-lib from group de.cit-ec.tcs.alignment (version 3.1.1)
This module containts standard implementations of
AlignmentAlgorithms. In contrast to the adp module these implementations
are hand-tailored for some specific algorithms and thus achieve somewhat
faster runtime (a constant factor of maybe 30-50 percent).
algorithms from group de.cit-ec.tcs.alignment (version 3.1.1)
This module defines the interface for AlignmentAlgorithms as well as some helper classes. An
AlignmentAlgorithm computes an Alignment of two given input sequences, given a Comparator that
works in these sequences.
More details on the AlignmentAlgorithm can be found in the respective interface. More information
on Comparators can be found in the comparators module.
The resulting 'Alignment' may be just a real-valued dissimilarity between the input sequence or
may incorporate additional information, such as a full Alignment, a PathList, a PathMap or a
CooptimalModel. If those results support the calculation of a Gradient, they implement the
DerivableAlignmentDistance interface.
In more detail, the Alignment class represents the result of a backtracing scheme, listing all
Operations that have been applied in one co-optimal Alignment.
A classic AlignmentAlgorithm does not result in a differentiable dissimilarity, because the
minimum function is not differentiable. Therefore, this package also contains utility functions
for a soft approximation of the minimum function, namely Softmin.
For faster (parallel) computation of many different alignments or gradients we also provide the
ParallelProcessingEngine, the SquareParallelProcessingEngine and the ParallelGradientEngine.
learning from group de.cit-ec.tcs.alignment (version 3.1.1)
This module is a custom implementation of the Large Margin
Nearest Neighbor classification scheme of Weinberger, Saul, et al. (2009).
It contains an implementation of the k-nearest neighbor and LMNN classifier
as well as (most importantly) gradient calculation schemes on the LMNN
cost function given a sequential data set and a user-choice of alignment
algorithm. This enables users to learn parameters of the alignment
distance in question using a gradient descent on the LMNN cost function.
More information on this approach can be found in the Masters Thesis
"Adaptive Affine Sequence Alignment Using Algebraic Dynamic Programming"
wrappers from group de.cit-ec.tcs.alignment (version 3.1.1)
This module contains some wrappers to make usage of the
TCSAlignmentToolbox easier.
Most important for beginners is the StringEditDistance, which provides
convenience functions for simple string comparisons. For sequences of
vectors we provide the VectorialSequences wrapper. The
RandomSequenceGenerator enables you to generate random multi-modal
sequences for testing purposes.
Page 1 from 2 (items total 25)