use of dr.evomodel.speciation.SpeciesTreeModel in project beast-mcmc by beast-dev.
the class SpeciesTreeModelParser method parseXMLObject.
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
SpeciesBindings spb = (SpeciesBindings) xo.getChild(SpeciesBindings.class);
Parameter coalPointsPops = null;
Parameter coalPointsIndicators = null;
final Boolean cr = xo.getAttribute(CONST_ROOT_POPULATION, false);
final Boolean cp = xo.getAttribute(CONSTANT_POPULATION, false);
final Boolean bmp = xo.getAttribute(BMPRIOR, false);
{
XMLObject cxo = xo.getChild(COALESCENT_POINTS_POPULATIONS);
if (cxo != null) {
final double value = cxo.getAttribute(Attributable.VALUE, 1.0);
coalPointsPops = SpeciesTreeModel.createCoalPointsPopParameter(spb, cxo.getAttribute(Attributable.VALUE, value), bmp);
ParameterParser.replaceParameter(cxo, coalPointsPops);
coalPointsPops.addBounds(new Parameter.DefaultBounds(Double.MAX_VALUE, 0, coalPointsPops.getDimension()));
cxo = xo.getChild(COALESCENT_POINTS_INDICATORS);
if (cxo == null) {
throw new XMLParseException("Must have indicators");
}
coalPointsIndicators = new Parameter.Default(coalPointsPops.getDimension(), 0);
ParameterParser.replaceParameter(cxo, coalPointsIndicators);
} else {
// assert ! bmp;
}
}
final XMLObject cxo = xo.getChild(SPP_SPLIT_POPULATIONS);
final double value = cxo.getAttribute(Attributable.VALUE, 1.0);
final boolean nonConstRootPopulation = coalPointsPops == null && !cr;
final Parameter sppSplitPopulations = SpeciesTreeModel.createSplitPopulationsParameter(spb, value, nonConstRootPopulation, cp);
ParameterParser.replaceParameter(cxo, sppSplitPopulations);
final Parameter.DefaultBounds bounds = new Parameter.DefaultBounds(Double.MAX_VALUE, 0, sppSplitPopulations.getDimension());
sppSplitPopulations.addBounds(bounds);
final Tree startTree = (Tree) xo.getChild(Tree.class);
return new SpeciesTreeModel(spb, sppSplitPopulations, coalPointsPops, coalPointsIndicators, startTree, bmp, nonConstRootPopulation, cp);
}
use of dr.evomodel.speciation.SpeciesTreeModel in project beast-mcmc by beast-dev.
the class BirthDeathCollapseNClustersStatisticParser method parseXMLObject.
@Override
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
xo.getAttribute("name");
final XMLObject spptreexo = xo.getChild(SPECIES_TREE);
SpeciesTreeModel spptree = (SpeciesTreeModel) spptreexo.getChild(SpeciesTreeModel.class);
final XMLObject cmxo = xo.getChild(COLLAPSE_MODEL);
BirthDeathCollapseModel bdcm = (BirthDeathCollapseModel) cmxo.getChild(BirthDeathCollapseModel.class);
return new BirthDeathCollapseNClustersStatistic(spptree, bdcm);
}
use of dr.evomodel.speciation.SpeciesTreeModel in project beast-mcmc by beast-dev.
the class SpeciesTreeSimplePriorParser method parseXMLObject.
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
SpeciesTreeModel st = (SpeciesTreeModel) xo.getChild(SpeciesTreeModel.class);
//ParametricDistributionModel pr = (ParametricDistributionModel) xo.getChild(ParametricDistributionModel.class);
Parameter pr = (Parameter) ((XMLObject) xo.getChild("sigma")).getChild(Parameter.class);
final XMLObject cxo = xo.getChild(TIPS);
final ParametricDistributionModel tipsPrior = (ParametricDistributionModel) cxo.getChild(ParametricDistributionModel.class);
return new SpeciesTreeSimplePrior(st, pr, tipsPrior);
}
use of dr.evomodel.speciation.SpeciesTreeModel in project beast-mcmc by beast-dev.
the class MultiSpeciesCoalescentParser method parseXMLObject.
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
final SpeciesBindings sb = (SpeciesBindings) xo.getChild(SpeciesBindings.class);
final SpeciesTreeModel tree = (SpeciesTreeModel) xo.getChild(SpeciesTreeModel.class);
return new MultiSpeciesCoalescent(sb, tree);
}
use of dr.evomodel.speciation.SpeciesTreeModel in project beast-mcmc by beast-dev.
the class SpeciesTreeBMPriorParser method parseXMLObject.
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
final SpeciesTreeModel st = (SpeciesTreeModel) xo.getChild(SpeciesTreeModel.class);
//ParametricDistributionModel pr = (ParametricDistributionModel) xo.getChild(ParametricDistributionModel.class);
final Object child = xo.getChild(SIGMA);
Parameter popSigma = child != null ? (Parameter) ((XMLObject) child).getChild(Parameter.class) : null;
Parameter stSigma = (Parameter) ((XMLObject) xo.getChild(STSIGMA)).getChild(Parameter.class);
final XMLObject cxo = (XMLObject) xo.getChild(TIPS);
final ParametricDistributionModel tipsPrior = (ParametricDistributionModel) cxo.getChild(ParametricDistributionModel.class);
final boolean logRoot = xo.getAttribute(LOG_ROOT, false);
return new SpeciesTreeBMPrior(st, popSigma, stSigma, tipsPrior, logRoot);
}
Aggregations