code: def to_dataframe(self):
          
          def row_from_variant(variant):
              return OrderedDict([
                  ("chr", variant.contig),
                  ("start", variant.original_start),
                  ("ref", variant.original_ref),
                  ("alt", variant.original_alt),
                  ("gene_name", ";".join(variant.gene_names)),
                  ("gene_id", ";".join(variant.gene_ids))
              ])
          rows = [row_from_variant(v) for v in self]
          if len(rows) == 0:
              # TODO: return a DataFrame with the appropriate columns
              return pd.DataFrame()
          return pd.DataFrame.from_records(rows, columns=rows[0].keys())
docs: Build a DataFrame from this variant collection