def METHOD_NAME():
    parser = argparse.ArgumentParser( description='Creates a quick-lookup index of source terms to their slim counterparts')
    ## output file to be written
    parser.add_argument('-i', '--obo_file', type=str, required=True, help='Input file with ALL terms, such as go.obo' )
    parser.add_argument('-o', '--output_file', type=str, required=True, help='Output file to be created.' )
    parser.add_argument('-f', '--output_format', type=str, required=False, default='pickle', help='Output format (pickle or json)' )
    args = parser.parse_args()
    # Parse the OBO file and store a term lookup as well as graphs for each namespace
    full_terms, full_graph = parse_obo_graph(args.obo_file)
    if args.output_format == 'pickle':
        out_data = { 'terms': full_terms, 'graph': full_graph }
        with open(args.output_file, 'wb') as f:
            pickle.dump(out_data, f, pickle.HIGHEST_PROTOCOL)
    elif args.output_format == 'json':
        out_data = { 'terms': full_terms }        
        with open(args.output_file, 'wt') as f:
            f.write(json.dumps(out_data))
    else:
        raise Exception("Error, --output_format must be either 'json' or 'pickle'")
    print("\nDone")