TODO: this method is oldddddd, needs to be ported into BasicBWT AND reworked to do this better
        @param k - the length of the k-mers to profile
        @param profileCsvFN - the filename of the csv to create

def createKmerProfile(self, k, profileCsvFN):
        '''
        TODO: this method is oldddddd, needs to be ported into BasicBWT AND reworked to do this better
        @param k - the length of the k-mers to profile
        @param profileCsvFN - the filename of the csv to create
        '''
        searches = [('', 0, self.bwt.shape[0])]
        normTotal = 0
        lines = []
        while len(searches) > 0:
            (seq, start, end) = searches.pop(0)
            
            if len(seq) == k:
                lines.append(seq+','+str(end-start))
                normTotal += (end-start)**2
            else:
                nls = self.getFullFMAtIndex(start)
                nhs = self.getFullFMAtIndex(end)
                for c in xrange(self.vcLen-1, -1, -1):
                    if nls[c] == nhs[c]:
                        #do nothing
                        pass
                    else:
                        newSeq = self.numToChar[c]+seq
                        searches.insert(0, (newSeq, int(nls[c]), int(nhs[c])))
        
        fp = open(profileCsvFN, 'w+')
        fp.write('total,'+str(math.sqrt(normTotal))+'\n')
        for l in sorted(lines):
            fp.write(l+'\n')
        fp.close()