protected TripleDouble getInDelSubRates(Map<Integer, Map<Integer, Integer>> map) {
        double sub = 0;
        double ins = 0;
        double del = 0;
        double sum = 0;
        for (int v = 0; v < 6; v++) {
            for (int b = 0; b < 6; b++) {
                sum += map.get(v).get(b);
            }
        }
        for (int v = 0; v < 6; v++) {
            for (int b = 0; b < 6; b++) {
                double tmp = map.get(v).get(b) / sum;
                if (v == 4 && b != 4) {
                    del += tmp;
                } else if (v != 4 && b == 4) {
                    ins += tmp;
                } else if (v != b) {
                    sub += tmp;
                }
            }
        }
        return new TripleDouble(sub, del, ins);
    }