From 8d560c93b071095607b0462a4f6386ffed8de0a4 Mon Sep 17 00:00:00 2001 From: rbouckaert Date: Mon, 2 Oct 2023 11:04:27 +1300 Subject: [PATCH] make sure TipDatesRandomWalker picks up correct taxon set when used in BEAuti. CompEvol/BeastFX#45 --- .../evolution/operator/TipDatesRandomWalker.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/beast/base/evolution/operator/TipDatesRandomWalker.java b/src/beast/base/evolution/operator/TipDatesRandomWalker.java index 9ed8d786..077d762a 100644 --- a/src/beast/base/evolution/operator/TipDatesRandomWalker.java +++ b/src/beast/base/evolution/operator/TipDatesRandomWalker.java @@ -43,9 +43,17 @@ public void initAndValidate() { // determine taxon set to choose from if (m_taxonsetInput.get() != null) { - List taxaNames = new ArrayList<>(); - for (String taxon : treeInput.get().getTaxaNames()) { - taxaNames.add(taxon); + List taxaNames; + if (treeInput.get().m_taxonset.get() != null) { + // taxonset may have changed in BEAUti, and + // internal tree state not updated yet, so use + // taxonset input of tree directly + taxaNames = treeInput.get().m_taxonset.get().asStringList(); + } else { + taxaNames = new ArrayList<>(); + for (String taxon : treeInput.get().getTaxaNames()) { + taxaNames.add(taxon); + } } List set = m_taxonsetInput.get().asStringList();