Search in sources :

Example 1 with NtdBMA

use of dr.oldevomodel.substmodel.NtdBMA in project beast-mcmc by beast-dev.

the class NtdBMAParser method parseXMLObject.

public Object parseXMLObject(XMLObject xo) throws XMLParseException {
    Variable kappa = (Variable) xo.getElementFirstChild(KAPPA);
    Variable tn = (Variable) xo.getElementFirstChild(TN);
    Variable ac = (Variable) xo.getElementFirstChild(AC);
    Variable at = (Variable) xo.getElementFirstChild(AT);
    Variable gc = (Variable) xo.getElementFirstChild(GC);
    Variable gt = (Variable) xo.getElementFirstChild(GT);
    Variable modelChoose = (Variable) xo.getElementFirstChild(MODEL_CHOOSE);
    XMLObject cxo = xo.getChild(FREQUENCIES);
    FrequencyModel freqModel = (FrequencyModel) cxo.getChild(FrequencyModel.class);
    return new NtdBMA(kappa, tn, ac, at, gc, gt, modelChoose, freqModel);
}
Also used : FrequencyModel(dr.oldevomodel.substmodel.FrequencyModel) Variable(dr.inference.model.Variable) NtdBMA(dr.oldevomodel.substmodel.NtdBMA)

Example 2 with NtdBMA

use of dr.oldevomodel.substmodel.NtdBMA in project beast-mcmc by beast-dev.

the class testNtdBMA method testNtdBMA.

public void testNtdBMA() {
    for (Instance test : all) {
        Parameter logKappa = new Parameter.Default(1, test.getLogKappa());
        Parameter logTN = new Parameter.Default(1, test.getLogTN());
        Parameter logAC = new Parameter.Default(1, test.getLogAC());
        Parameter logAT = new Parameter.Default(1, test.getLogAT());
        Parameter logGC = new Parameter.Default(1, test.getLogGC());
        Parameter logGT = new Parameter.Default(1, test.getLogGT());
        Variable<Integer> modelChoose = test.getModelChoose();
        double[] pi = test.getPi();
        Parameter freqs = new Parameter.Default(pi);
        FrequencyModel f = new FrequencyModel(Nucleotides.INSTANCE, freqs);
        NtdBMA ntdBMA = new NtdBMA(logKappa, logTN, logAC, logAT, logGC, logGT, modelChoose, f);
        double distance = test.getDistance();
        double[] mat = new double[4 * 4];
        ntdBMA.getTransitionProbabilities(distance, mat);
        final double[] result = test.getExpectedResult();
        for (int k = 0; k < mat.length; ++k) {
            assertEquals(mat[k], result[k], 5e-10);
        // System.out.print(" " + (mat[k] - result[k]));
        }
    }
}
Also used : FrequencyModel(dr.oldevomodel.substmodel.FrequencyModel) NtdBMA(dr.oldevomodel.substmodel.NtdBMA) Parameter(dr.inference.model.Parameter)

Aggregations

FrequencyModel (dr.oldevomodel.substmodel.FrequencyModel)2 NtdBMA (dr.oldevomodel.substmodel.NtdBMA)2 Parameter (dr.inference.model.Parameter)1 Variable (dr.inference.model.Variable)1