docs: def annotatedcore(self):
          """
          Calculates the core genome of organisms using custom databases
          """
          logging.info('Calculating annotated core')
          # Determine the total number of core genes
          self.total_core()
          # Iterate through all the samples, and process all Escherichia
          for sample in self.metadata:
              if sample.general.bestassemblyfile != 'NA':
                  # Create a set to store the names of all the core genes in this strain
                  sample[self.analysistype].coreset = set()
                  if sample.general.referencegenus == 'Escherichia':
                      # Add the Escherichia sample to the runmetadata
                      self.runmetadata.samples.append(sample)
                      # Parse the BLAST report
                      try:
                          report = sample[self.analysistype].report
                          self.blastparser(report=report,
                                           sample=sample,
                                           fieldnames=self.fieldnames)
                      except KeyError:
                          sample[self.analysistype].coreset = list()
          # Create the report
          self.reporter()