public PositionWeightMatrix reverseComplement() {
    PositionWeightMatrix wm = new PositionWeightMatrix(getName());
    int numCol = size();
    for (int i = 0; i < numCol; i++) wm.add(get(numCol - 1 - i).getComplement());

    wm.name = name;
    wm.rightHighInfoStart = numCol - 1 - leftHighInfoStart;
    wm.leftHighInfoStart = numCol - 1 - rightHighInfoStart;

    return wm;
  }