/** * write log to screen * * @param writer XMLWriter * @param branchRatesModelGenerator BranchRatesModelGenerator */ public void writeLogToScreen( XMLWriter writer, BranchRatesModelGenerator branchRatesModelGenerator, SubstitutionModelGenerator substitutionModelGenerator) { writer.writeComment("write log to screen"); writer.writeOpenTag( LoggerParser.LOG, new Attribute[] { new Attribute.Default<String>(XMLParser.ID, "screenLog"), new Attribute.Default<String>(LoggerParser.LOG_EVERY, options.echoEvery + "") }); if (options.hasData()) { writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>(ColumnsParser.LABEL, "Posterior"), new Attribute.Default<String>(ColumnsParser.DECIMAL_PLACES, "4"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); writer.writeIDref(CompoundLikelihoodParser.POSTERIOR, "posterior"); writer.writeCloseTag(ColumnsParser.COLUMN); } writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>(ColumnsParser.LABEL, "Prior"), new Attribute.Default<String>(ColumnsParser.DECIMAL_PLACES, "4"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); writer.writeIDref(CompoundLikelihoodParser.PRIOR, "prior"); writer.writeCloseTag(ColumnsParser.COLUMN); if (options.hasData()) { writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>(ColumnsParser.LABEL, "Likelihood"), new Attribute.Default<String>(ColumnsParser.DECIMAL_PLACES, "4"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); writer.writeIDref(CompoundLikelihoodParser.LIKELIHOOD, "likelihood"); writer.writeCloseTag(ColumnsParser.COLUMN); } if (options.useStarBEAST) { // species writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>(ColumnsParser.LABEL, "PopMean"), new Attribute.Default<String>(ColumnsParser.DECIMAL_PLACES, "4"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); writer.writeIDref( ParameterParser.PARAMETER, TraitData.TRAIT_SPECIES + "." + options.starBEASTOptions.POP_MEAN); writer.writeCloseTag(ColumnsParser.COLUMN); } for (PartitionTreeModel model : options.getPartitionTreeModels()) { writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>( ColumnsParser.LABEL, model.getPrefix() + TreeModelParser.ROOT_HEIGHT), new Attribute.Default<String>(ColumnsParser.SIGNIFICANT_FIGURES, "6"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); writer.writeIDref( ParameterParser.PARAMETER, model.getPrefix() + TreeModel.TREE_MODEL + "." + TreeModelParser.ROOT_HEIGHT); writer.writeCloseTag(ColumnsParser.COLUMN); } for (PartitionClockModel model : options.getPartitionClockModels()) { writer.writeOpenTag( ColumnsParser.COLUMN, new Attribute[] { new Attribute.Default<String>( ColumnsParser.LABEL, branchRatesModelGenerator.getClockRateString(model)), new Attribute.Default<String>(ColumnsParser.SIGNIFICANT_FIGURES, "6"), new Attribute.Default<String>(ColumnsParser.WIDTH, "12") }); branchRatesModelGenerator.writeAllClockRateRefs(model, writer); // if (options.clockModelOptions.getRateOptionClockModel() == FixRateType.FIX_MEAN) { // writer.writeIDref(ParameterParser.PARAMETER, "allClockRates"); // for (PartitionClockModel model : options.getPartitionClockModels()) { // if (model.getClockType() == ClockType.UNCORRELATED_LOGNORMAL) // writer.writeIDref(ParameterParser.PARAMETER, model.getPrefix() + // ClockType.UCLD_STDEV); // } // } else { // for (PartitionClockModel model : options.getPartitionClockModels()) { // branchRatesModelGenerator.writeAllClockRateRefs(model, writer); // } // } writer.writeCloseTag(ColumnsParser.COLUMN); } if (options.hasDiscreteIntegerTraitsExcludeSpecies()) { for (PartitionSubstitutionModel model : options.getPartitionTraitsSubstitutionModels()) { substitutionModelGenerator.writeStatisticLog(model, writer); } } generateInsertionPoint(ComponentGenerator.InsertionPoint.IN_SCREEN_LOG, writer); writer.writeCloseTag(LoggerParser.LOG); generateInsertionPoint(ComponentGenerator.InsertionPoint.AFTER_SCREEN_LOG, writer); }