code: def pilon(self):
          
          logging.info('Improving quality of assembly with pilon')
          for i in range(self.cpus):
              # Send the threads to the merge method. :args is empty as I'm using
              threads = Thread(target=self.pilonthreads, args=())
              # Set the daemon to true - something to do with thread management
              threads.setDaemon(True)
              # Start the threading
              threads.start()
          with progressbar(self.metadata) as bar:
              for sample in bar:
                  if sample.general.bestassemblyfile != 'NA':
                      if sample.general.polish:
                          # Set the name of the unfiltered assembly output file
                          sample.general.contigsfile = sample.general.assemblyfile
                          sample.mapping.pilondir = os.path.join(sample.general.QualimapResults, 'pilon')
                          make_path(sample.mapping.pilondir)
                          # Create the command line command
                          sample.mapping.piloncmd = 'pilon --genome {} --bam {} --fix bases --threads {} ' \
                                                    '--outdir {} --changes --mindepth 0.25' \
                              .format(sample.general.contigsfile,
                                      sample.mapping.BamFile,
                                      self.threads,
                                      sample.mapping.pilondir)
                          self.pilonqueue.put(sample)
                      else:
                          sample.general.contigsfile = sample.general.assemblyfile
          self.pilonqueue.join()
docs: Run pilon to fix any misassemblies in the contigs - will look for SNPs and indels