code: def sequencetyper(self):
          
          for sample in self.metadata.samples:
              if sample.general.bestassemblyfile != 'NA':
                  if type(sample[self.analysistype].allelenames) == list:
                      #
                      if sample[self.analysistype].profile != 'NA':
                          # Initialise dictionaries
                          sample[self.analysistype].profilematches = dict()
                          sample[self.analysistype].sequencetypematches = dict()
                          # Create the profiledata variable to avoid writing self.profiledata[self.analysistype]
                          profiledata = sample[self.analysistype].profiledata
                          # For each gene
                          for gene in sorted(sample[self.analysistype].allelenames):
                              try:
                                  allelenumber = sample[self.analysistype].allelematches[gene].split('-')[1]
                                  # Find the profile with the most alleles in common with the query genome
                                  for sequencetype in profiledata:
                                      # refallele is the allele number of the sequence type
                                      refallele = profiledata[sequencetype][gene]
                                      if allelenumber == refallele:
                                          # Add matching alleles
                                          try:
                                              sample[self.analysistype].profilematches[sequencetype] += 1
                                              sample[self.analysistype].sequencetypematches[sequencetype].append(
                                                  refallele)
                                          except KeyError:
                                              sample[self.analysistype].profilematches[sequencetype] = 1
                                              sample[self.analysistype].sequencetypematches[sequencetype] = list()
                                              sample[self.analysistype].sequencetypematches[sequencetype].append(
                                                  refallele)
                              except KeyError:
                                  pass
docs: Determines the sequence type of each strain based on comparisons to sequence type profiles