Search in sources :

Example 1 with BirthDeathSerialSkylineModel

use of dr.evomodel.speciation.BirthDeathSerialSkylineModel in project beast-mcmc by beast-dev.

the class BirthDeathSerialSkylineModelParser method parseXMLObject.

public Object parseXMLObject(XMLObject xo) throws XMLParseException {
    final String modelName = xo.getId();
    final Units.Type units = XMLUnits.Utils.getUnitsAttr(xo);
    final Parameter times = (Parameter) xo.getElementFirstChild(TIMES);
    final Parameter lambda = (Parameter) xo.getElementFirstChild(LAMBDA);
    boolean relativeDeath = xo.hasChildNamed(RELATIVE_MU);
    Parameter mu;
    if (relativeDeath) {
        mu = (Parameter) xo.getElementFirstChild(RELATIVE_MU);
    } else {
        mu = (Parameter) xo.getElementFirstChild(MU);
    }
    final Parameter psi = (Parameter) xo.getElementFirstChild(PSI);
    final Parameter p = (Parameter) xo.getElementFirstChild(SAMPLE_PROBABILITY);
    final boolean timesStartFromOrigin = xo.getAttribute(TIMES_START_FROM_ORIGIN, false);
    Parameter origin = null;
    if (xo.hasChildNamed(ORIGIN)) {
        origin = (Parameter) xo.getElementFirstChild(ORIGIN);
    }
    final Parameter r = xo.hasChildNamed(SAMPLE_BECOMES_NON_INFECTIOUS) ? (Parameter) xo.getElementFirstChild(SAMPLE_BECOMES_NON_INFECTIOUS) : new Parameter.Default(0.0);
    //        r.setParameterValueQuietly(0, 1 - r.getParameterValue(0)); // donot use it, otherwise log is changed improperly
    Logger.getLogger("dr.evomodel").info(xo.hasChildNamed(SAMPLE_BECOMES_NON_INFECTIOUS) ? getCitationRT() : getCitationPsiOrg());
    return new BirthDeathSerialSkylineModel(modelName, times, lambda, mu, psi, p, origin, relativeDeath, false, timesStartFromOrigin, units);
}
Also used : BirthDeathSerialSkylineModel(dr.evomodel.speciation.BirthDeathSerialSkylineModel) Parameter(dr.inference.model.Parameter) Units(dr.evolution.util.Units) XMLUnits(dr.evoxml.util.XMLUnits)

Aggregations

Units (dr.evolution.util.Units)1 BirthDeathSerialSkylineModel (dr.evomodel.speciation.BirthDeathSerialSkylineModel)1 XMLUnits (dr.evoxml.util.XMLUnits)1 Parameter (dr.inference.model.Parameter)1