public List<List<Object>> calculateGreedyMostPopularKMer() {
        List<List<Object>> mostProbableKMer = new ArrayList<List<Object>>();
        List<String> allKMers = getAllKMers();
        double highestProbability = -1;

        greedyLetterSplit(matrixList);

        for (String s : allKMers) {
            double probability = calculateProbability(s);
            List<Object> helpList = new ArrayList<Object>();
            if (probability > highestProbability) {
                if (mostProbableKMer.size() > 0) {
                    mostProbableKMer.remove(0);
                    helpList.add(probability);
                    helpList.add(s);
                    mostProbableKMer.add(helpList);
                    highestProbability = probability;
                } else {
                    helpList.add(probability);
                    helpList.add(s);
                    mostProbableKMer.add(helpList);
                    highestProbability = probability;
                }
            }
        }

        return mostProbableKMer;
    }