code: def epcr_parse(self):
          
          logging.info('Parsing ePCR outputs')
          for sample in self.metadata:
              if sample.general.bestassemblyfile != 'NA':
                  # Create a set to store all the unique results
                  toxin_set = set()
                  if os.path.isfile(sample[self.analysistype].resultsfile):
                      with open(sample[self.analysistype].resultsfile) as epcrresults:
                          for result in epcrresults:
                              # Only the lines without a # contain results
                              if "#" not in result:
                                  # Split on \t
                                  data = result.split('\t')
                                  # The subtyping primer pair is the first entry on lines with results
                                  vttype = data[0].split('_')[0]
                                  # Add the verotoxin subtype to the set of detected subtypes
                                  toxin_set.add(vttype)
                  # Create a string of the entries in the sorted list of toxins joined with ";"
                  sample[self.analysistype].toxinprofile = ";".join(sorted(list(toxin_set))) if toxin_set else 'ND'
              else:
                  setattr(sample, self.analysistype, GenObject())
                  sample[self.analysistype].toxinprofile = 'NA'
docs: Parse the ePCR outputs