/** Calculates the actual rates corresponding to the category indices. */ protected void setupRates() { // System.out.println("BRRRTTZZZ " + distributionIndexParameter.getValue(0)); for (int i = 0; i < tree.getNodeCount(); i++) { // rates[i] = distributionModel.quantile(rateCategoryQuantiles.getNodeValue( // rateCategoryQuantiles.getTreeModel(), rateCategoryQuantiles.getTreeModel().getNode(i) )); if (!tree.isRoot(tree.getNode(i))) { if (useQuantilesForRates) { /* Using quantiles to represent rates */ rates[tree.getNode(i).getNumber()] = distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))].quantile( rateCategoryQuantiles.getNodeValue(tree, tree.getNode(i))); } else { /* Not using quantiles to represent rates. This is practically useless for anything else other than simulation */ rates[tree.getNode(i).getNumber()] = rateCategoryQuantiles.getNodeValue(tree, tree.getNode(i)); } } } /*System.out.print(distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))].getClass().getName() + "\t" + (int) Math.round(distributionIndexParameter.getValue(0)) + "\t" + rates[1] + "\t" + rateCategoryQuantiles.getNodeValue(tree, tree.getNode(1)));// + "\t" + distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))].); if(distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))].getClass().getName().equals("dr.inference.distribution.LogNormalDistributionModel")) { LogNormalDistributionModel lndm = (LogNormalDistributionModel) distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))]; System.out.println("\t" + lndm.getS()); } else if (distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))].getClass().getName().equals("dr.inference.distribution.InverseGaussianDistributionModel")) { InverseGaussianDistributionModel lndm = (InverseGaussianDistributionModel) distributionModels[(int) Math.round(distributionIndexParameter.getValue(0))]; System.out.println("\t" + lndm.getS()); }*/ if (normalize) computeFactor(); }
/** @return cenancestor */ public final double getCenancestorBranch() { return cenancestorBranch.getValue(0); }
/** @return cenancestor */ public final double getCenancestorHeight() { return cenancestorHeight.getValue(0); }