code: def guess_infer_extent(gtf_file):
      
      _, ext = os.path.splitext(gtf_file)
      tmp_out = tempfile.NamedTemporaryFile(suffix=".gtf", delete=False).name
      with open(tmp_out, "w") as out_handle:
          count = 0
          in_handle = utils.open_gzipsafe(gtf_file)
          for line in in_handle:
              if count > 1000:
                  break
              out_handle.write(line)
              count += 1
          in_handle.close()
      db = gffutils.create_db(tmp_out, dbfn=":memory:", infer_gene_extent=False)
      os.remove(tmp_out)
      features = [x for x in db.featuretypes()]
      if "gene" in features and "transcript" in features:
          return False
      else:
          return True
docs: guess if we need to use the gene extent option when making a gffutils
      database by making a tiny database of 1000 lines from the original
      GTF and looking for all of the features