diff --git a/lphy-base/src/main/java/lphy/base/evolution/tree/TimeTree.java b/lphy-base/src/main/java/lphy/base/evolution/tree/TimeTree.java index e71fd7ad..fbc434c4 100644 --- a/lphy-base/src/main/java/lphy/base/evolution/tree/TimeTree.java +++ b/lphy-base/src/main/java/lphy/base/evolution/tree/TimeTree.java @@ -332,4 +332,13 @@ public TimeTreeNode getLabeledNode(String label) { } return null; } + + @MethodInfo(description = "get the array of all branch rates in the tree.") + public Double[] getBranchRates(){ + List branchRates = new ArrayList<>(); + for (TimeTreeNode node: nodes){ + branchRates.add(node.getBranchRate()); + } + return branchRates.toArray(Double[]::new); + } } diff --git a/lphy-base/src/test/java/lphy/base/evolution/tree/TimeTreeTest.java b/lphy-base/src/test/java/lphy/base/evolution/tree/TimeTreeTest.java index 9879d8c6..b7404f31 100644 --- a/lphy-base/src/test/java/lphy/base/evolution/tree/TimeTreeTest.java +++ b/lphy-base/src/test/java/lphy/base/evolution/tree/TimeTreeTest.java @@ -104,4 +104,13 @@ void getOldestNode() { ); } + @Test + void getBranchRatesTest() { + Double[] branchRates = tree.getBranchRates(); + List nodes = tree.getNodes(); + for (int i = 0; i