/**
   * sets the model used to generate results
   *
   * @param manager the model used to generate results
   */
  public void setManager(ModelManager manager) {
    this.manager = manager;

    ctCodingNucleotide = new PredictedActualBinaryContingencyTable();

    ctExons = new PredictedActualBinaryContingencyTable();
    ctExons.forgetTN();

    nStates = manager.getNumStates();
    ctStates = new ArrayList<PredictedActualBinaryContingencyTable>();
    for (int i = 0; i < nStates; i++) {
      ctStates.add(new PredictedActualBinaryContingencyTable());
    }

    DenseBooleanMatrix2D LT = manager.getLegalTransitions();
    fromInd = new ArrayList<Integer>();
    toInd = new ArrayList<Integer>();
    for (int from = 0; from < nStates; from++) {
      for (int to = 0; to < nStates; to++) {
        if (LT.getQuick(from, to)) {
          fromInd.add(from);
          toInd.add(to);
        }
      }
    }
    nTransitions = fromInd.size();
    ctTransitions = new ArrayList<PredictedActualBinaryContingencyTable>();
    for (int i = 0; i < nTransitions; i++) {
      ctTransitions.add(new PredictedActualBinaryContingencyTable());
    }
  }