code: def cdsparse(self, record):
          
          try:
              # Find genes that are present in all strains of interest - the number of times the gene is found is
              # equal to the number of strains. Earlier parsing ensures that the same gene is not present in a strain
              # more than once
              if self.genes[self.genenames[record.id]] == len(self.runmetadata.samples):
                  # Add the gene names and sequences to the appropriate dictionaries
                  try:
                      self.genesequence[self.genenames[record.id]].add(str(record.seq))
                  # Initialise the dictionary as required, then populate as above
                  except KeyError:
                      self.genesequence[self.genenames[record.id]] = set()
                      self.genesequence[self.genenames[record.id]].add(str(record.seq))
                  try:
                      self.coresequence[str(record.seq)].add(record.id)
                  except KeyError:
                      self.coresequence[str(record.seq)] = set()
                      self.coresequence[str(record.seq)].add(record.id)
          except KeyError:
              pass
docs: Finds core genes, and records gene names and sequences in dictionaries
          :param record: SeqIO record