Search in sources :

Example 1 with RateScaleOperator

use of dr.evomodel.operators.RateScaleOperator in project beast-mcmc by beast-dev.

the class RateScaleOperatorParser method parseXMLObject.

public Object parseXMLObject(XMLObject xo) throws XMLParseException {
    CoercionMode mode = CoercionMode.parseMode(xo);
    final double weight = xo.getDoubleAttribute(MCMCOperator.WEIGHT);
    final double scaleFactor = xo.getDoubleAttribute(SCALE_FACTOR);
    final boolean noRoot = xo.getBooleanAttribute(NO_ROOT);
    if (scaleFactor <= 0.0 || scaleFactor >= 1.0) {
        throw new XMLParseException("scaleFactor must be between 0.0 and 1.0");
    }
    TreeModel treeModel = (TreeModel) xo.getChild(TreeModel.class);
    RateScaleOperator operator = new RateScaleOperator(treeModel, scaleFactor, noRoot, mode);
    operator.setWeight(weight);
    return operator;
}
Also used : TreeModel(dr.evomodel.tree.TreeModel) CoercionMode(dr.inference.operators.CoercionMode) RateScaleOperator(dr.evomodel.operators.RateScaleOperator)

Aggregations

RateScaleOperator (dr.evomodel.operators.RateScaleOperator)1 TreeModel (dr.evomodel.tree.TreeModel)1 CoercionMode (dr.inference.operators.CoercionMode)1