package test.beast.beast2vs1;
import java.util.ArrayList;
import java.util.List;
import test.beast.beast2vs1.trace.Expectation;
/**
* @author Walter Xie
*/
public class TreePriorTest extends TestFramework {
private final String[] XML_FILES = new String[]{"testCoalescentNoClock.xml", "testCoalescentNoClock1.xml",
"testExponentialGrowth.xml", "testYuleModel_10taxa.xml", "testBirthDeathModel_10taxa.xml",
"testBirthDeathAsYule.xml", "testBSP1.xml", "testBSPNoClock.xml", "testEBSP.xml"};
public void testCoalescentNoClock() throws Exception {
analyse(0);
}
public void testCoalescentNoClock1() throws Exception {
analyse(1);
}
public void testExponentialGrowth() throws Exception {
analyse(2);
}
public void testYuleModel_10taxa() throws Exception {
analyse(3);
}
public void testBirthDeathModel_10taxa() throws Exception {
analyse(4);
}
public void testBirthDeathAsYule() throws Exception {
analyse(5);
}
public void testBSP() throws Exception {
analyse(6);
}
public void testBSPNoClock() throws Exception {
analyse(7);
}
public void testEBSP() throws Exception {
analyse(8);
}
@Override
protected void setUp() throws Exception {
super.setUp(XML_FILES);
}
@Override
protected List<Expectation> giveExpectations(int index_XML) throws Exception {
List<Expectation> expList = new ArrayList<Expectation>();
// all values below are from BEAST 1.7
switch (index_XML) {
case 0: // testCoalescentNoClock.xml
// BEAST 1 testCoalescentNoClock.xml
addExpIntoList(expList, "posterior", -1813.059, 0.0569);
addExpIntoList(expList, "prior", 3.705, 0.025);
addExpIntoList(expList, "tree.height", 0.06318, 6.73E-05);
addExpIntoList(expList, "popSize", 0.0979, 6.38E-04);
addExpIntoList(expList, "hky.kappa", 26.262, 0.2217);
addExpIntoList(expList, "hky.frequencies1", 0.326, 6.04E-04);
addExpIntoList(expList, "hky.frequencies2", 0.258, 5.23E-04);
addExpIntoList(expList, "hky.frequencies3", 0.155, 4.03E-04);
addExpIntoList(expList, "hky.frequencies4", 0.261, 5.64E-04);
addExpIntoList(expList, "treeLikelihood", -1816.764, 0.0556);
addExpIntoList(expList, "coalescent", 7.242, 9.94E-03);
break;
case 1: // testCoalescentNoClock1.xml
// BEAST 1 testCoalescentNoClock1.xml
addExpIntoList(expList, "posterior", -1809.75, 5.96E-02);
addExpIntoList(expList, "tree.height", 6.35E-02, 6.61E-05);
addExpIntoList(expList, "popSize", 0.132, 0.2987);
addExpIntoList(expList, "hky.kappa", 33.139, 0.1812);
addExpIntoList(expList, "hky.frequencies1", 0.326, 5.70E-04);
addExpIntoList(expList, "hky.frequencies2", 0.257, 6.15E-04);
addExpIntoList(expList, "hky.frequencies3", 0.154, 4.17E-04);
addExpIntoList(expList, "hky.frequencies4", 0.262, 4.91E-04);
addExpIntoList(expList, "treeLikelihood", -1816.698, 5.82E-02);
addExpIntoList(expList, "coalescent", 6.948, 1.24E-02);
break;
case 2: // testExponentialGrowth.xml
// BEAST 1 testExponentialGrowthNoClock1.xml
addExpIntoList(expList, "posterior", -1818.4448, 6.3697E-2);
addExpIntoList(expList, "prior", -1.726, 3.6124E-2);
addExpIntoList(expList, "tree.height", 6.1545E-2, 6.6865E-5);
addExpIntoList(expList, "popSize", 1.0231, 5.1484E-2);
addExpIntoList(expList, "growthRate", 58.5276, 0.6012);
addExpIntoList(expList, "hky.kappa", 26.301, 0.211);
addExpIntoList(expList, "hky.frequencies1", 0.3266, 5.9862E-4);
addExpIntoList(expList, "hky.frequencies2", 0.2569, 5.3533E-4);
addExpIntoList(expList, "hky.frequencies3", 0.154, 4.0839E-4);
addExpIntoList(expList, "hky.frequencies4", 0.2625, 5.7627E-4);
addExpIntoList(expList, "treeLikelihood", -1816.7188, 4.9732E-2);
addExpIntoList(expList, "coalescent", 9.4203, 1.31E-2);
break;
case 3: // testYuleModel_10taxa.xml
// BEAST 1 testYuleModel_10taxa.xml
addExpIntoList(expList, "yule", -2.8068, 3.894E-2); // speciationLikelihood
addExpIntoList(expList, "tree.height", 0.9702, 4.2554E-3);
break;
case 4: // testBirthDeathModel_10taxa.xml
// BEAST 1 testBirthDeathModel_10taxa.xml
addExpIntoList(expList, "birthDeath", 0.981, 4.9536E-2); // speciationLikelihood
addExpIntoList(expList, "tree.height", 0.7017, 3.9048E-3);
break;
case 5: // testBirthDeathAsYule.xml
// BEAST 1 testBirthDeathAsYule.xml
addExpIntoList(expList, "posterior", -84.941, 2.3521E-2);
addExpIntoList(expList, "birthDeath", -84.7945, 2.3471E-2); // speciationLikelihood
addExpIntoList(expList, "birthRate", 1.1636, 3.8458E-3);
break;
case 6: // testBSP1.xml
// BEAST 1 testBSP1.xml
addExpIntoList(expList, "posterior", -3865.3635, 8.2236E-2);
addExpIntoList(expList, "prior", -92.178, 7.5174E-2);
addExpIntoList(expList, "siteModel.alpha", 5.4354E-2, 5.2519E-4);
addExpIntoList(expList, "clock.rate", 9.4858E-4, 1.9706E-6);
addExpIntoList(expList, "skyline.popSize1", 67.8827, 2.2639);
addExpIntoList(expList, "skyline.popSize2", 25.4281, 0.3165);
addExpIntoList(expList, "skyline.popSize3", 31.9271, 0.3819);
addExpIntoList(expList, "skyline.popSize4", 41.6596, 0.3976);
addExpIntoList(expList, "skyline.popSize5", 33.5967, 0.3554);
addExpIntoList(expList, "skyline.groupSize1", 2.4686, 4.0465E-2);
addExpIntoList(expList, "skyline.groupSize2", 3.3671, 3.9454E-2);
addExpIntoList(expList, "skyline.groupSize3", 3.181, 3.3807E-2); // TODO diff bigger than 2*delta
addExpIntoList(expList, "skyline.groupSize4", 3.723, 5.0187E-2);
addExpIntoList(expList, "skyline.groupSize5", 3.2603, 5.9824E-2);
addExpIntoList(expList, "hky.kappa", 21.6911, 5.2142E-2);
addExpIntoList(expList, "treeModel.rootHeight", 70.3393, 0.1057);
addExpIntoList(expList, "likelihood", -3773.1854, 3.9474E-2);
addExpIntoList(expList, "skyline", -69.725, 5.435E-2);
addExpIntoList(expList, "eml1", -22.453, 3.1115E-2);
break;
case 7: // testBSPNoClock.xml
// BEAST 1 testBSPNoClock.xml
addExpIntoList(expList, "posterior", -1809.8121, 7.6417E-2);
addExpIntoList(expList, "prior", 7.0426, 3.7042E-2);
addExpIntoList(expList, "tree.height", 6.2187E-2, 6.4148E-5);
addExpIntoList(expList, "popSizes1", 0.2084, 4.4215E-3);
addExpIntoList(expList, "popSizes2", 0.1012, 1.1132E-3);
addExpIntoList(expList, "popSizes3", 5.0552E-2, 7.8572E-4);
addExpIntoList(expList, "groupSizes1", 1.7396, 8.2581E-3);
//addExpIntoList(expList, "groupSizes2", 1.78, 8.3052E-3); // TODO diff bigger than 2*delta
addExpIntoList(expList, "groupSizes3", 1.4804, 7.7151E-3);
addExpIntoList(expList, "hky.kappa", 26.0187, 0.2286);
addExpIntoList(expList, "hky.frequencies1", 0.3262, 7.0596E-4);
addExpIntoList(expList, "hky.frequencies2", 0.2571, 5.876E-4);
addExpIntoList(expList, "hky.frequencies3", 0.1546, 4.8206E-4);
addExpIntoList(expList, "hky.frequencies4", 0.262, 5.9621E-4);
addExpIntoList(expList, "treeLikelihood", -1816.8547, 6.3527E-2);
addExpIntoList(expList, "skyline", 7.9513, 1.6384E-2);
addExpIntoList(expList, "eml1", 5.059, 2.1669E-2);
break;
case 8: // testEBSP.xml
// BEAST 1 testEBSP.xml
addExpIntoList(expList, "posterior", -1826.2014, 0.1562);
addExpIntoList(expList, "prior", -9.4517, 0.1782);
addExpIntoList(expList, "tree.height", 6.3528E-2, 7.0709E-5);
addExpIntoList(expList, "popSizes1", 2435.0409, 132.4556);
addExpIntoList(expList, "popSizes2", 2195.7116, 156.2106);
addExpIntoList(expList, "popSizes3", 1065.3511, 119.8768);
addExpIntoList(expList, "indicators", 1.3275, 2.1211E-2);
addExpIntoList(expList, "indicators", 1.5219, 2.9634E-2);
addExpIntoList(expList, "indicators", 2.1505, 3.8185E-2);
addExpIntoList(expList, "hky.kappa", 26.4814, 0.2725);
addExpIntoList(expList, "hky.frequencies1", 0.3252, 7.7972E-4);
addExpIntoList(expList, "hky.frequencies2", 0.2581, 5.685E-4);
addExpIntoList(expList, "hky.frequencies3", 0.1553, 4.3071E-4);
addExpIntoList(expList, "hky.frequencies4", 0.2614, 6.1733E-4);
addExpIntoList(expList, "treeLikelihood", -1816.7497, 5.4764E-2);
// this is clearly bunk (negative value for a positive parameter)
addExpIntoList(expList, "populationMean", -3.4472, 0.1802);
break;
default:
throw new Exception("No such XML");
}
return expList;
}
} // class ResumeTest