code: def makedbthreads(self):
          for sample in self.metadata:
              if sample[self.analysistype].combinedtargets != 'NA':
                  self.targetfolders.add(sample[self.analysistype].targetpath)
          for i in range(len(self.targetfolders)):
              threads = Thread(target=self.makeblastdb, args=())
              threads.setDaemon(True)
              threads.start()
          for targetdir in self.targetfolders:
              self.targetfiles = glob(os.path.join(targetdir, '*.fasta'))
              try:
                  _ = self.targetfiles[0]
              except IndexError:
                  self.targetfiles = glob(os.path.join(targetdir, '*.fasta'))
              for targetfile in self.targetfiles:
                  self.records[targetfile] = SeqIO.to_dict(SeqIO.parse(targetfile, 'fasta'))
                  self.dqueue.put(targetfile)
          self.dqueue.join()