Releases: bredelings/BAli-Phy
Release 4.0-beta5
A lot of small things.
- New Singularity executable to run on clusters with old software.
- Fix problem with Covarion models (affected RNA-editting model).
- Temporarily remove pre-burnin.
- If --tree is specified then scales default to a constant 1.0 so that the likelihood tests work
- Remove eigen sources from git, automatically download if not installed.
- Allow printing trees and alignments efficiently from Haskell.
- Implement Haskell File IO.
- Move loggers for almost everything from C++ into Haskell.
- Compute parsimony score in Haskell.
- Move slice-sampling and MH moves from C++ into Haskell.
- Don't treat JSON integers as if they were floating point.
- Make it a lot easier to define new IO operations.
- Stop running C++ MCMC moves -- just run Haskell moves.
- Stop exporting the scale from Haskell to C++.
- Add Data.IORef for mutable values.
- Add Data.Unique and Data.Unique.Id.
Release 4.0-beta4
Fixes:
- update R script
- fix bug where exponential / gamma variables weren't sampled.
Features:
- alignment-consensus implements strict consensus with --cutoff=1 or --strict=1
- give better errors with overlapping instances in Haskell.
Release 4.0-beta3
This release starts changing the command-line model language:
- You can now use
+
,-
,*
, and/
for numeric operations. - Models are now stacked with
+>
instead of+
- Functions are now called with parenthesis (e.g.
f(x)
instead off[x]
) - List and tuples can be specified like
[x,y]
and (x,y)` respectively. - Dictionaries can be specified like
{"A":x,"B",y}
.
Additionally,
- Improve MCMC mixing when extending/shrinking I.I.D. lists.
- Add new numeric type Prob that handles numbers very close to 1 without having (1-p) = 0.
- Make Geometric, Bernoulli, Binomial, etc. use the new Prob type.
Release 4.0-beta2
This release updates the command-line model syntax to look like f(x)
instead of f[x]
. Other changes include:
- Allow sequences names to contain Newick special characters, but give a warning.
- Optimization: eliminate unused error paths.
- Decrease memory usage from compilation.
Release 4.0-beta1
Fixes:
- Fix bug with fixed alignments that was introduced in 4.0alpha-10.
- Check likelihoods for fixed alignments as well as variable alignments in CI.
- Fix sample_ancestral_sequences
Other changes
- Allow compiling with gcc-13
- Better error messages in case type variable escapes its scope.
Release 4.0-alpha10
This release decreases memory usage for large trees. This fixes a problem that goes back to the version 3 series.
It also
- refactors the Tree data structure
- simplifies the dependency graph
- adds the unbounded type Integer, in addition to the bound type Int.
- allows importing and exporting types
- further improves error messages
Release 4.0-alpha9
This release mostly improves the model language by adding (i) associated types, (ii) readable error messages, and (iii) the unbounded Integer
type.
It also contains a few new models and fixes.
- Models
- Add
Covarion.gtr
to allow more flexible rates between classes. - Add the
(iid_on objects sub_distribution)
distribution.
- Add
- Fixes
- Fix tree MDS plots
Release 4.0-alpha8
This release mostly improves the typechecking code by
- adding support for GADTs and equality constraints like
(a ~ [b])
. - making the Random monad into a GADT.
This is mostly invisible to users, unless you are using the probabilistic programming stuff.
It also
- fixes some Inf/NaN output in trees-bootstrap
- accepts '?' again as maybe-an-N-maybe-a-gap.
Release 4.0-alpha7
A few changes:
- make BES work with typechecking
- make
read_phase_file
andread_phase2_file
into IO actions for BES. - allow specifying model arguments as just
-m Model arg1 arg2
instead of-m Model.hs ... --- arg1 arg2
. - use std::filesystem for file operations.
- target OS X 10.15
- alignment-consensus and alignment-gild can take a list of alignment files
Release 4.0-alpha6
The main new feature of 4.0-alpha6 is Haskell model code is type-checked.