code: def codingthreads(self):
          
          printtime('Extracting CDS features', self.start)
          # Create and start threads
          for i in range(self.cpus):
              # Send the threads to the appropriate destination function
              threads = Thread(target=self.codingsequences, 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:
              self.codingqueue.put(sample)
          self.codingqueue.join()
          # Create CDS files and determine gene presence/absence
          self.corethreads()
docs: Find CDS features in .gff files to filter out non-coding sequences from the analysis