code: def load_vcf(
          path,
          genome=None,
          reference_vcf_key="reference",
          only_passing=True,
          allow_extended_nucleotides=False,
          include_info=True,
          chunk_size=10 ** 5,
          max_variants=None,
          sort_key=variant_ascending_position_sort_key,
          distinct=True):
      require_string(path, "Path or URL to VCF")
      parsed_path = parse_url_or_path(path)
      if parsed_path.scheme and parsed_path.scheme.lower() != "file":
          (filename, headers) = urllib.request.urlretrieve(path)
          try:
              new_filename = "%s.%s" % (
                  filename, parsed_path.path.split(".")[-1])
              os.rename(filename, new_filename)
              filename = new_filename
              return load_vcf(
                  filename,
                  genome=genome,
                  reference_vcf_key=reference_vcf_key,
                  only_passing=only_passing,
                  allow_extended_nucleotides=allow_extended_nucleotides,
                  include_info=include_info,
                  chunk_size=chunk_size,
                  max_variants=max_variants,
                  sort_key=sort_key,
                  distinct=distinct)
          finally:
              logger.info("Removing temporary file: %s", filename)
              os.unlink(filename)
      handle = PyVCFReaderFromPathOrURL(path)
      handle.close()
      genome = infer_genome_from_vcf(
          genome,
          handle.vcf_reader,
          reference_vcf_key)
      df_iterator = read_vcf_into_dataframe(
          path,
          include_info=include_info,
          sample_names=handle.vcf_reader.samples if include_info else None,
          chunk_size=chunk_size)
      if include_info:
          def sample_info_parser(unparsed_sample_info_strings, format_string):
              return pyvcf_calls_to_sample_info_list(
                  handle.vcf_reader._parse_samples(
                      unparsed_sample_info_strings, format_string, None))
      else:
          sample_info_parser = None
      return dataframes_to_variant_collection(
          df_iterator,
          source_path=path,
          info_parser=handle.vcf_reader._parse_info if include_info else None,
          only_passing=only_passing,
          max_variants=max_variants,
          sample_names=handle.vcf_reader.samples if include_info else None,
          sample_info_parser=sample_info_parser,
          variant_kwargs={
              'ensembl': genome,
              'allow_extended_nucleotides': allow_extended_nucleotides},
          variant_collection_kwargs={
              'sort_key': sort_key,
              'distinct': distinct})