code: def storealleles(consens, hidx, alleles):
      
      ## find the first hetero site and choose the priority base
      ## example, if W: then priority base in A and not T. PRIORITY=(order: CATG)
      bigbase = PRIORITY[consens[hidx[0]]]
  
      ## find which allele has priority based on bigbase
      bigallele = [i for i in alleles if i[0] == bigbase][0]
  
      ## uplow other bases relative to this one and the priority list
      ## e.g., if there are two hetero sites (WY) and the two alleles are
      ## AT and TC, then since bigbase of (W) is A second hetero site should
      ## be stored as y, since the ordering is swapped in this case; the priority
      ## base (C versus T) is C, but C goes with the minor base at h site 1.
      #consens = list(consens)
      for hsite, pbase in zip(hidx[1:], bigallele[1:]):
          if PRIORITY[consens[hsite]] != pbase:
              consens[hsite] = consens[hsite].lower()
  
      ## return consens
      return consens
docs: store phased allele data for diploids