code: def _report_line_to_dict(cls, line):
          '''Takes report line string as input. Returns a dict of column name -> value in line'''
          data = line.split('\t')
          if len(data) != len(report.columns):
              return None
  
          d = dict(zip(report.columns, data))
          for key in report.int_columns:
              try:
                  d[key] = int(d[key])
              except:
                  assert d[key] == '.'
  
          for key in report.float_columns:
              try:
                  d[key] = float(d[key])
              except:
                  assert d[key] == '.'
  
          d['flag'] = flag.Flag(int(d['flag']))
          return f _report_line_to_dict(cls, line):
          '''Takes report line string as input. Returns a dict of column name -> value in line'''
          data = line.split('\t')
          if len(data) != len(report.columns):
              return None
  
          d = dict(zip(report.columns, data))
          for key in report.int_columns:
              try:
                  d[key] = int(d[key])
              except:
                  assert d[key] == '.'
  
          for key in report.float_columns:
              try:
                  d[key] = float(d[key])
              except:
                  assert d[key] == '.'
  
          d['flag'] = flag.Flag(int(d['flag']))
          return d
docs: Takes report line string as input. Returns a dict of column name -> value in line