def make_profile(data, out_dir, args):
safe_dirs(out_dir)<EOL>main_table = []<EOL>header = ['<STR_LIT:id>', '<STR_LIT>']<EOL>n = len(data[<NUM_LIT:0>])<EOL>bar = ProgressBar(maxval=n)<EOL>bar.start()<EOL>bar.update(<NUM_LIT:0>)<EOL>for itern, c in enumerate(data[<NUM_LIT:0>]):<EOL><INDENT>bar.update(itern)<EOL>logger.debug("<STR_LIT>".format(c))<EOL>safe_dirs(os.path.join(out_dir, c))<EOL>valid, ann, pos_structure = _single_cluster(c, data, os.path.join(out_dir, c, "<STR_LIT>"), args)<EOL>data[<NUM_LIT:0>][c].update({'<STR_LIT>': pos_structure})<EOL>loci = data[<NUM_LIT:0>][c]['<STR_LIT>']<EOL>data[<NUM_LIT:0>][c]['<STR_LIT>'] = {"<STR_LIT>": precursor_sequence(loci[<NUM_LIT:0>][<NUM_LIT:0>:<NUM_LIT:5>], args.ref)}<EOL>data[<NUM_LIT:0>][c]['<STR_LIT>']["<STR_LIT>"] = _parse(data[<NUM_LIT:0>][c]['<STR_LIT>'], data[<NUM_LIT:0>][c]['<STR_LIT>']["<STR_LIT>"])<EOL>data[<NUM_LIT:0>][c]['<STR_LIT>'].update(run_rnafold(data[<NUM_LIT:0>][c]['<STR_LIT>']['<STR_LIT>']))<EOL><DEDENT>return data<EOL>
Make data report for each cluster