From 9c0925540ed338bde5847a654163e079de1edb19 Mon Sep 17 00:00:00 2001 From: sebastianduchene Date: Sat, 12 Sep 2026 11:46:50 +0200 Subject: [PATCH] Add example for sampling tips with unknown location MascotWithTipSampling has no example and no documentation, and the two things that look like they should express an unknown location both fail quietly or obscurely: "?" in the type trait becomes a literal extra deme, and omitting the taxon throws a NullPointerException out of Dynamics.initAndValidate. This adds examples/TipSampling.xml, built from examples/Constant.xml by treating two of the 77 Ebola taxa as if their location were unknown. Their true locations are part of their taxon names, so the sampled states can be scored against the right answer. The header documents the four pieces needed, the two failure modes above, and the two constraints that come with logging mapped trees. The examples directory ignores everything by name, so the new file needs its own exception line. Verified on the BEAST 2 line, where the same model runs: BEAST 2.7.8 with MASCOT 3.0.7, four chains, the tip with a well determined location recovered from a starting state two demes away. On BEAST 3 the example parses but cannot run yet; the header explains why. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014cBeW7pSF6vAxXPDwrAzpp --- examples/.gitignore | 3 +- examples/TipSampling.xml | 283 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 285 insertions(+), 1 deletion(-) create mode 100644 examples/TipSampling.xml diff --git a/examples/.gitignore b/examples/.gitignore index bb44b1e..b2f15fe 100644 --- a/examples/.gitignore +++ b/examples/.gitignore @@ -2,4 +2,5 @@ * # Except this file !.gitignore -!AIV_1masco.xml \ No newline at end of file +!AIV_1masco.xml +!TipSampling.xml diff --git a/examples/TipSampling.xml b/examples/TipSampling.xml new file mode 100644 index 0000000..651f752 --- /dev/null +++ b/examples/TipSampling.xml @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0 + 1.0 + 1.0 + 2 + 2 + + + + 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.0 + 1.0 + 0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +