BEAST utility library containing generally useful classes used by other BEAST packages.
Requires Java 25 and Maven.
mvn compileBEAST3 dependencies are resolved from GitHub Packages. You may need a
GitHub personal access token configured in your ~/.m2/settings.xml:
<servers>
<server>
<id>github</id>
<username>YOUR_GITHUB_USERNAME</username>
<password>YOUR_GITHUB_TOKEN</password>
</server>
</servers>JPMS module name: beast.labs
Key exports:
beastlabs.core.util—Slice,ParameterConstrainerbeastlabs.util—BEASTVector,Transformbeastlabs.math.distributions—BernoulliDistribution,WeightedDirichlet,WeibullDistributionbeastlabs.evolution.tree—RNNIMetric,RobinsonsFouldMetric,MonophyleticConstraintbeastlabs.evolution.likelihood—ExperimentalTreeLikelihood,MultiPartitionTreeLikelihoodbeastlabs.evolution.operators— tree operators,CombinedOperatorbeastlabs.parsimony— Fitch parsimony implementations
Branch: beast3
All 142 source files compile against beast3 (beast-base 2.8.0-SNAPSHOT).
Changes from BEAST2:
- Maven multi-module build (was Ant)
- JPMS module
beast.labswithrequires staticfor beast-fx/javafx commons-math2.x replaced withcommons-statistics(immutable distribution API)cern.colt.Arraysreplaced withjava.util.Arraysorg.jsonreplaced withbeast.base.internal.json- Nashorn scripting via standalone
nashorn-coredependency (removed from JDK)
TODO:
- Migrate tests from JUnit 4 to JUnit 5
- Add CI workflow (GitHub Actions)
- Add
version.xmlfor BEAST package manager - Add release script
It should look like this after following the developer guide https://github.com/CompEvol/beast3/blob/master/scripts/DevGuideIntelliJ.md
