GrammarProducts: Grammar products and higher-dimensional grammars
An algebra of liner and context-free grammars.
This library provides the implementation of our theory of algebraic operations over linear and context-free grammars. Using algebraic operations, it is possible to construct complex dynamic programming algorithms from simpler "atomic" grammars.
Our most important contribution is the definition of a product of grammars which naturally leads to alignment-like algorithms on multiple tapes.
An efficient implementation of the resulting grammars is
possible via the ADPfusion framework. The FormalGrammars
library provides the required "Template Haskell" machinery.
GramarProducts can be integrated as a plugin into the existing
transformation from DSL to ADPfusion. Haskell users can just
use the QQ function provided in the .QQ module.
Alternatively, the resulting grammars can also be pretty-printed in various ways (LaTeX, ANSI, Haskell module with signature and grammar).
Formal background can be found in two papers:
Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler. Product Grammars for Alignment and Folding. 2014. IEEE/ACM Transactions on Computational Biology and Bioinformatics. 99. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6819790
and
Christian Höner zu Siederdissen, Ivo L. Hofacker, and Peter F. Stadler How to Multiply Dynamic Programming Algorithms Brazilian Symposium on Bioinformatics (BSB 2013) Lecture Notes in Bioinformatics 8213, Springer, Heidelberg
[Skip to Readme]
Modules
[Index]
- FormalLanguage
- FormalLanguage.GrammarProduct
- FormalLanguage.GrammarProduct.Op
- FormalLanguage.GrammarProduct.Parser
- FormalLanguage.GrammarProduct.QQ
- FormalLanguage.GrammarProduct
Flags
Manual Flags
Name | Description | Default |
---|---|---|
examples | build the examples (only Needleman-Wunsch for now) | Disabled |
llvm | build using LLVM | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- GrammarProducts-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.0.0.2, 0.0.0.3, 0.0.0.4, 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.2.0.0 |
---|---|
Change log | changelog.md |
Dependencies | ansi-wl-pprint (>=0.6 && <0.7), base (>=4.7 && <4.9), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.6), data-default (>=0.5 && <0.6), FormalGrammars (>=0.2.0 && <0.2.1), lens (>=4 && <5), newtype (>=0.2 && <0.3), parsers (>=0.12 && <0.13), semigroups (>=0.15 && <0.17), template-haskell (>=2 && <3), transformers (>=0.4 && <0.5), trifecta (>=1.5 && <1.6) [details] |
Tested with | ghc ==7.8.4, ghc ==7.10.1 |
License | GPL-3.0-only |
Copyright | Christian Hoener zu Siederdissen, 2013-2015 |
Author | Christian Hoener zu Siederdissen, 2013-2015 |
Maintainer | choener@bioinf.uni-leipzig.de |
Category | Formal Languages, Bioinformatics |
Home page | http://www.bioinf.uni-leipzig.de/gADP/ |
Source repo | head: git clone git://github.com/choener/GrammarProducts |
Uploaded | by ChristianHoener at 2015-05-07T17:01:55Z |
Distributions | |
Reverse Dependencies | 4 direct, 1 indirect [details] |
Executables | AlignGlobal |
Downloads | 7526 total (9 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2015-05-07 [all 1 reports] |