code: def headerthreads(self):
          
          # Create and start threads
          for i in range(self.cpus):
              # Send the threads to the appropriate destination function
              threads = Thread(target=self.headers, args=())
              # Set the daemon to true - something to do with thread management
              threads.setDaemon(True)
              # Start the threading
              threads.start()
          for sample in self.runmetadata.samples:
              # Create an attribute to store the path/file name of the fasta file with fixed headers
              sample.general.fixedheaders = sample.general.bestassemblyfile.replace('.fasta', '.ffn')
              self.headerqueue.put(sample)
          self.headerqueue.join()
docs: The contig ID must be twenty characters or fewer. The names of the headers created following SPAdes assembly
          are usually far too long. This renames them as the sample name