<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def main(args_list=None):
 """ Script which loads variants and annotates them with overlapping genes. Example usage: varcode-genes --vcf mutect.vcf \ --vcf strelka.vcf \ --maf tcga_brca.maf \ --variant chr1 498584 C G \ --json-variants more_variants.json """

    print_version_info()
    if args_list is None:
        args_list = sys.argv[1:]
    args = arg_parser.parse_args(args_list)
    variants = variant_collection_from_args(args)
    variants_dataframe = variants.to_dataframe()
    logger.info('\n%s', variants_dataframe)
    if args.output_csv:
        variants_dataframe.to_csv(args.output_csv, index=False)