def pilon(self):
        """
        Run pilon to fix any misassemblies in the contigs - will look for SNPs and indels
        """
        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()
Run pilon to fix any misassemblies in the contigs - will look for SNPs and indels