docs: def createMSBWTFromBam(bamFNs, outputDir, numProcs, areUniform, logger):
      '''
      This function takes a fasta filename and creates the BWT using the technique from Cox and Bauer
      @param bamFNs - a list of BAM filenames to extract sequences from, READS MUST BE SORTED BY NAME
      @param outputDir - the directory for all of the bwt related data
      @param numProcs - the number of processes it's allowed to use
      @areUniform - true if all the sequences passed into the function are of equal length
      '''
      #generate the files we will reference and clear out the in memory array before making the BWT
      logger.info('Saving sorted sequences...')
      seqFN = outputDir+'/seqs.npy'
      offsetFN = outputDir+'/offsets.npy'
      abtFN = outputDir+'/about.npy'
      bwtFN = outputDir+'/msbwt.npy'
      
      MSBWTGen.clearAuxiliaryData(outputDir)
      preprocessBams(bamFNs, seqFN, offsetFN, abtFN, areUniform, logger)
      MSBWTGen.createFromSeqs(seqFN, offsetFN, bwtFN, numProcs, areUniform, logger)