code: def reporter(self):
          
          # Create the path in which the reports are stored
          make_path(self.reportpath)
          data = 'Strain,Gene,PercentIdentity,Length,FoldCoverage\n'
          with open(os.path.join(self.reportpath, self.analysistype + '.csv'), 'w') as report:
              for sample in self.runmetadata.samples:
                  data += sample.name + ','
                  try:
                      if sample[self.analysistype].results:
                          multiple = False
                          for name, identity in sample[self.analysistype].results.items():
                              if not multiple:
                                  data += '{},{},{},{}\n'.format(name, identity,
                                                                 len(sample[self.analysistype].sequences[name]),
                                                                 sample[self.analysistype].avgdepth[name])
                              else:
                                  data += ',{},{},{},{}\n'.format(name, identity,
                                                                  len(sample[self.analysistype].sequences[name]),
                                                                  sample[self.analysistype].avgdepth[name])
                              multiple = True
                      else:
                          data += '\n'
                  except AttributeError:
                      data += '\n'
              report.write(data)
docs: Creates a report of the results