TCS Alignment Toolbox Algebraic Dynamic Programming

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"

Лицензия

Лицензия

Группа

Группа

de.cit-ec.tcs.alignment
Идентификатор

Идентификатор

adp
Последняя версия

Последняя версия

3.1.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

TCS Alignment Toolbox Algebraic Dynamic Programming
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"
Ссылка на сайт

Ссылка на сайт

http://openresearch.cit-ec.de/projects/tcs
Система контроля версий

Система контроля версий

http://openresearch.cit-ec.de/projects/tcs/repository

Скачать adp

Имя Файла Размер
adp-3.1.1.pom
adp-3.1.1.jar 45 KB
adp-3.1.1-sources.jar 33 KB
adp-3.1.1-javadoc.jar 132 KB
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/de.cit-ec.tcs.alignment/adp/ -->
<dependency>
    <groupId>de.cit-ec.tcs.alignment</groupId>
    <artifactId>adp</artifactId>
    <version>3.1.1</version>
</dependency>
// https://jarcasting.com/artifacts/de.cit-ec.tcs.alignment/adp/
implementation 'de.cit-ec.tcs.alignment:adp:3.1.1'
// https://jarcasting.com/artifacts/de.cit-ec.tcs.alignment/adp/
implementation ("de.cit-ec.tcs.alignment:adp:3.1.1")
'de.cit-ec.tcs.alignment:adp:jar:3.1.1'
<dependency org="de.cit-ec.tcs.alignment" name="adp" rev="3.1.1">
  <artifact name="adp" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.cit-ec.tcs.alignment', module='adp', version='3.1.1')
)
libraryDependencies += "de.cit-ec.tcs.alignment" % "adp" % "3.1.1"
[de.cit-ec.tcs.alignment/adp "3.1.1"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
de.cit-ec.tcs.alignment : algorithms jar 3.1.1

test (4)

Идентификатор библиотеки Тип Версия
de.cit-ec.tcs.alignment : algorithms-lib jar 3.1.1
de.cit-ec.tcs.alignment : comparators-lib jar 3.1.1
de.cit-ec.tcs.alignment : primitives jar 3.1.1
junit : junit jar 4.10

Модули Проекта

Данный проект не имеет модулей.

Версии библиотеки

Версия
3.1.1
3.1.0
3.0.1
3.0.0
2.1.2
2.1.1
2.1.0
2.0.0