code: def cdssequencethreads(self):
          
          # Create and start threads
          for i in range(self.cpus):
              # Send the threads to the appropriate destination function
              threads = Thread(target=self.cdssequence, args=())
              # Set the daemon to true - something to do with thread management
              threads.setDaemon(True)
              # Start the threading
              threads.start()
          for sample in self.metadata.samples:
              # Initialise a dictionary to store the sequence of each core gene
              sample[self.analysistype].coresequence = dict()
              self.sequencequeue.put(sample)
          self.sequencequeue.join()
docs: Extracts the sequence of each gene for each strain