docs: def createMSBWTFromSeqs(seqArray, mergedDir, numProcs, areUniform, logger):
      '''
      This function takes a series of sequences and creates the BWT using the technique from Cox and Bauer
      @param seqArray - a list of '$'-terminated sequences to be in the MSBWT
      @param mergedFN - the final destination filename for the BWT
      @param numProcs - the number of processes it's allowed to use
      '''
      #wipe the auxiliary data stored here
      MSBWTGen.clearAuxiliaryData(mergedDir)
      
      #TODO: do we want a special case for N=1? there was one in early code, but we could just assume users aren't dumb
      seqFN = mergedDir+'/seqs.npy'
      offsetFN = mergedDir+'/offsets.npy'
      
      #sort the sequences
      seqCopy = sorted(seqArray)
      if areUniform:
          uniformLength = len(seqArray[0])
      else:
          uniformLength = 0
          
      #join into one massive string
      seqCopy = ''.join(seqCopy)
      
      #convert the sequences into uint8s and then save it
      seqCopy = np.fromstring(seqCopy, dtype='<u1')
      
      MSBWTGen.writeSeqsToFiles(seqCopy, seqFN, offsetFN, uniformLength)
      MSBWTGen.createFromSeqs(seqFN, offsetFN, mergedDir+'/msbwt.npy', numProcs, areUniform, logger)