code: def gff3_to_dataframe(path, attributes=None, region=None, score_fill=-1,
                        phase_fill=-1, attributes_fill='.', tabix='tabix', **kwargs):
      import pandas
      recs = list(iter_gff3(path, attributes=attributes, region=region,
                            score_fill=score_fill, phase_fill=phase_fill,
                            attributes_fill=attributes_fill, tabix=tabix))
      columns = ['seqid', 'source', 'type', 'start', 'end', 'score', 'strand', 'phase']
      if attributes:
          columns += list(attributes)
      df = pandas.DataFrame.from_records(recs, columns=columns, **kwargs)
      return df