BEAST 3 validation · Example XMLs · updated 11 Nov 2026, 22:45 UTC

The BEAST 2 example XMLs in BEAST 3

Each example XML shipped with BEAST 2 v2.7.8 is converted to BEAST 3, both are run with seeds 1 and 2, and the posteriors are compared marginal by marginal. 42 examples are tested; the 2 *BEAST 1 examples are excluded.

30 of 42 pass, counting the 9 with explained differences. 0 need a decision and 12 have not been run yet.Click a box to filter the table. Click again to show all.

Status file out of step with the numbers

All 42 examples

ExampleTesterConvertedConverted inMin ESSMax zStatusDetail and next step

Next steps

  1. Walter: run and compare the 8 converted MCMC examples (testRandomLocalClock, testRelaxedClock, testUCLNclock.json, testTipDates, testTipDates2, testSRD06, testMultipleAlignments_randomTaxaOrder, testSimulatedAlignment), and check the 4 simulators run.
  2. Decide: whether testSliceHKY is excluded or SliceOperator is ported.
  3. Merge: beast3#220, which changes the kappa prior in testHKY, testHKY.json and testOpSubSchedule to LogNormal(0, 8).
  4. Decide: whether the BEAST 2 names that stop old XMLs loading (below) come back as aliases, or go in the release notes.

Backward compatibility

Every v2.7.8 example XML, unmodified, was loaded in BEAST 3 master on 9 Nov. 9 of 44 load. The rest fail on:

  • TreeHeightLogger (31 examples)
  • the beast.app.seqgen.* classes (testSeqGen, testSimulatedAlignment)
  • SliceOperator (testSliceHKY)
  • the JSON sequence format (testUCLNclock.json)

The 6 that load and run MCMC give the same posterior as BEAST 2.7.9.

Known differences, not bugs

  • GTR-family prior offset (testGTR, testRNA, testRestrictedGTR, testSYM, testTIM, testTN93, testTVM). A constant log 1e6 in prior; every model parameter matches.
  • Excluded: testStarBeast and testStarBeastFBD are *BEAST 1 examples; that code was not migrated to BEAST 3.