Releases: jlab/gapc
algebra foo auto tikz;
new features
This release predominantly introduces a third automatic algebra generation (besides count
and enum
), namely tikz
. Similar to enum
it is meant to inspect the typically "invisible" candidate trees, however not as a purely textual representation (as enum
does) but by producing code for a LaTeX TikZ document on stdout.
Use this new feature by adding the following line to your gap-L programs:
algebra foo auto tikz;
This document ends with a hint on how to make actual graphics out of it for user convenience.
When using the new algebra in an algebra-product, results of the other algebras are printed in a table at the root node of each candidate tree.
As choice function is id
, be aware of exponential explosions - as with enum
!
fixes:
- ensure left/right indices are cleared before (re-)initializing for e.g. splitting the algebra product into forward and backward parts when backtracing
- stabilizing sorting order of outside_axiom rhs non terminals
--outside_grammar
new features
--outside_grammar
: automatically generate an outside grammar counterpart for user provided grammars to compute e.g. posteriors--checkpoint
: Thanks to Fynn Muermanns, gapc code generation can now add generic code to periodically (e.g. every hour) dump contents of the partially computed DP matrices to files. Should an execution of a long running job abort prematurely, the binary can be restarted and pick up computation from the last dumped checkpoint.--plot-grammar
: new levels of detail available for plotting the used grammar. 4: adding yield size information for parsers, 5: optimized table dimensions for non-terminals.- automatically generated enum algebras will now also report non-terminal parameters for better manual inspection
--printCall
can now be invoked with the generated binaries. Thus, the binary will tell you which gapc command led to its generation. Thanks to Fynn Muermanns.
maintenance:
- CYK code generation is now nicely abstracted into the source file src/cyk.{cc,hh} instead of being intermingled in src/cpp.cc
- plot_grammar code is moved into a dedicated src/plot_grammar.cc file
- librna
- is exposing additional functions to support Guanine-Quadruplex energy contribution calculation for RNA problems
- updated the ViennaRNA code base from 2.4.17 to 2.5.1, thanks to Fynn Muermanns
- significant speed-ups due to clever hashing / pre-computation of energy contributions, thanks to Fynn Muermanns.
fixes:
--plot-grammar
:- properly escape & chars
- unfortunately, graphviz -> dot does not necessarily preserve child node ordering. Using "clusters" mitigates (but does not solve in 100%) this issue significantly
- fixed yield size computation of constant terminal parsers
- guards operate on unsigned int borders, which sometimes led to underflows.
- warn users about negative candidate values when using expsum
--plot-grammar
The new command line parameter "plot-grammar" allows to generate an additional output file (default is out.dot) that contains GraphViz code that renders the chosen grammar in user defined level of detail (1 to 3).
Thanks to Jasmin Walter for major code contributions!
fixing energy parameters
- added test_macrostate_mme_assumption to librna to warn about macrostate energy inaccuracies
- applied old fix to energy parameters from ViennaRNA, see jlab/fold-grammars#20.
- Thanks for raising awareness go to Vincent von Schelm and for pointing out the difference to Ronny Lorenz!
- gapc with -l 1 will now report table design and estimated runtime
ready for ubuntu >= 18.10 and OSX
2020.12.08 appending changelog for debian
2020.07.07
Changes:
- cleaner code style
- refactoring of bison/flex code generation
--> should compile on OSX
Migration to github
Merge pull request #21 from jlab/restructure_rna restructure rna.hh and rnalib.*