code: def epcrparsethreads(self):
          from Bio import SeqIO
          for sample in self.metadata:
              if sample.general.bestassemblyfile != 'NA':
                  threads = Thread(target=self.epcrparse, args=())
                  threads.setDaemon(True)
                  threads.start()
          for sample in self.metadata:
              if sample.general.bestassemblyfile != 'NA':
                  if sample[self.analysistype].primers != 'NA':
                      record = dict()
                      sample[self.analysistype].blastresults = dict()
                      sample[self.analysistype].rawblastresults = dict()
                      for rec in SeqIO.parse(sample.general.bestassemblyfile, 'fasta'):
                          record[rec.id] = str(rec.seq)
                      for line in sample[self.analysistype].epcrresults:
                          if not line.startswith('
                              self.epcrparsequeue.put((sample, record, line))
          self.epcrparsequeue.join()