code: def parse_hicup_logs(self, f):
          
          if not f['fn'].endswith('.txt'):
              return None
          header = []
          lines = f['f'].splitlines()
          for l in lines:
              s = l.split("\t")
              if len(header) == 0:
                  if s[0] != 'File':
                      return None
                  header = s[1:]
              else:
                  s_name = self.clean_s_name(s[0], f['root']).lstrip('HiCUP_output/')
                  parsed_data = {}
                  for idx, num in enumerate(s[1:]):
                      try:
                          parsed_data[header[idx]] = float(num)
                      except:
                          parsed_data[header[idx]] = num
                  parsed_data['Duplicate_Read_Pairs'] = parsed_data['Valid_Pairs'] - parsed_data['Deduplication_Read_Pairs_Uniques']
                  if s_name in self.hicup_data:
                      log.debug("Duplicate sample name found! Overwriting: {}".format(s_name))
                  self.add_data_source(f, s_name)
                  self.hicup_data[s_name] = parsed_data
docs: Parse a HiCUP summary report