code: def load_from_args_as_dataframe(args):
      '''
      Given parsed variant-loading arguments, return a pandas DataFrame.
      If no variant loading arguments are specified, return None.
      '''
      if not args.variants and not args.single_variant:
          return None
      if args.variant_source_name:
          variant_source_names = util.expand(
              args.variant_source_name,
              'variant_source_name',
              'variant source',
              len(args.variants))
      else:
          variant_source_names = util.drop_prefix(args.variants)
      variant_to_sources = collections.defaultdict(list)
      dfs = []
      for i in range(len(args.variants)):
          name = variant_source_names[i]
          prefix = (
              'metadata:' if len(args.variants) == 1 else "metadata:%s:" % name)
          df = load_as_dataframe(
              args.variants[i],
              name=name,
              genome=args.genome,
              max_variants=args.max_variants_per_source,
              only_passing=not args.include_failing_variants,
              metadata_column_prefix=prefix)
          if df.shape[0] == 0:
              logging.warn("No variants loaded from: %s" % args.variants[i])
          else:
              for variant in df.variant:
                  variant_to_sources[variant].append(name)
              dfs.append(df)
      if args.single_variant:
          variants = []
          extra_args = {}
          if args.genome:
              extra_args = {
                  'ensembl': varcode.reference.infer_genome(args.genome)
              }
          for (locus_str, ref, alt) in args.single_variant:
              locus = Locus.parse(locus_str)
              variant = varcode.Variant(
                      locus.contig,
                      locus.inclusive_start,
                      ref,
                      alt,
                      **extra_args)
              variants.append(variant)
              variant_to_sources[variant].append("commandline")
          dfs.append(variants_to_dataframe(variants))
      df = dfs.pop(0)
      for other_df in dfs:
          df = pandas.merge(
              df,
              other_df,
              how='outer',
              on=["variant"] + STANDARD_DATAFRAME_COLUMNS)
      genomes = df["genome"].unique()
      if len(genomes) > 1:
          raise ValueError(
                  "Mixing references is not supported. "
                  "Reference genomes: %s" % (", ".join(genomes)))
      df["sources"] = [" ".join(variant_to_sources[v]) for v in df.variant]
      if args.ref:
          df = df.ix[df.ref.isin(args.ref)]
      if args.alt:
          df = df.ix[df.alt.isin(args.alt)]
      loci = loci_util.load_from_args(
          util.remove_prefix_from_parsed_args(args, "variant"))
      if loci is not None:
          df = df.ix[[
              loci.intersects(pileup_collection.to_locus(v))
              for v in df.variant
          ]]
      return df