code: def parse_barcode_file(fp, primer=None, header=False):
      
      tr = trie.trie()
      reader = csv.reader(fp)
  
      if header:
          # Skip header
          next(reader)
  
      # Skip blank rows
      records = (record for record in reader if record)
  
      for record in records:
          specimen, barcode = record[:2]
          if primer is not None:
              pr = primer
          else:
              pr = record[2]
          for sequence in all_unambiguous(barcode + pr):
              if sequence in tr:
                  raise ValueError("Duplicate sample: {0}, {1} both have {2}",
                                   specimen, tr[sequence], sequence)
              logging.info('%s->%s', sequence, specimen)
              tr[sequence] = specimen
  
      return tr
docs: Load label, barcode, primer records from a CSV file.
  
      Returns a map from barcode -> label
  
      Any additional columns are ignored