Beispiel #1
0
  /**
   * 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);
  }