morph-models
March 26, 2026 · View on GitHub
Models for discrete morphological character data in BEAST 3.
Implements the Lewis MK and MKv substitution models (Lewis, 2001), along with ordinal and nested ordinal variants for ordered character data.
Substitution models
| Class | Description |
|---|---|
LewisMK | Equal or user-specified frequency Mk model |
Ordinal | Tridiagonal rate matrix for ordered characters |
NestedOrdinal | Nested ordinal rate matrix (state 0 transitions to all others) |
Building
BEAST 3 dependencies are resolved from Maven Central — no extra configuration needed.
mvn compile
mvn test
To develop against an unreleased SNAPSHOT, install BEAST 3 from source:
cd ~/Git/beast3
mvn install -DskipTests
Running
# Validate an XML
mvn exec:exec -Dbeast.args="-validate examples/M3982.xml"
# Run an analysis
mvn exec:exec -Dbeast.args="-overwrite examples/M3982.xml"
Examples
examples/M3982.xml— Anolis lizard morphological analysis using BEAST 3 spec classesexamples/legacy-2.7/— original BEAST 2.7 XML files (some require external packages)
Releasing
ZIP / CBAN
The release.sh script builds a BEAST package ZIP and optionally
creates a GitHub release for submission to CBAN:
./release.sh # build ZIP only
./release.sh --release # build ZIP + create GitHub release
Maven Central
Pushing a v* tag triggers the CI workflow to publish to Maven Central.
BEAST 3 users can then install with:
Package Manager > Install from Maven > io.github.compevol:morph-models:1.3.0-beta2
Or from the command line:
packagemanager -maven io.github.compevol:morph-models:1.3.0-beta2
References
Lewis, P. O. (2001). A likelihood approach to estimating phylogeny from discrete morphological character data. Systematic Biology, 50(6), 913–925.