code: def pick_kmersize(fq):
      
      if bam.is_bam(fq):
          readlength = bam.estimate_read_length(fq)
      else:
          readlength = fastq.estimate_read_length(fq)
      halfread = int(round(readlength / 2))
      if halfread >= 31:
          kmersize = 31
      else:
          kmersize = halfread
      if kmersize % 2 == 0:
          kmersize += 1
      return kmersize
docs: pick an appropriate kmer size based off of https://www.biostars.org/p/201474/
      tl;dr version: pick 31 unless the reads are very small, if not then guess
      that readlength / 2 is about right.