def plot_heatmap(tsv, options): """ make a heatmap """ out_dir = os.path.join(options.comp_dir, "heatmaps") robust_makedirs(out_dir) mat, col_names, row_names, row_label = read_tsv(tsv) names = name_map() for i in range(len(col_names)): if col_names[i] in names: col_names[i] = names[col_names[i]] for i in range(len(row_names)): if row_names[i] in names: row_names[i] = names[row_names[i]] if "_rename" in tsv: return fix_tsv = tsv.replace(".tsv", "_rename.tsv") write_tsv(fix_tsv, mat, col_names, row_names, row_label) out_hm = os.path.join(out_dir, os.path.basename(tsv).replace(".tsv", ".pdf")) ph_opts = "--skip {}".format(options.skip) if options.skip is not None else "" cmd = "scripts/plotHeatmap.py {} {} {}".format(fix_tsv, out_hm, ph_opts) print cmd os.system(cmd) cmd = "scripts/plotHeatmap.py {} {} {} --log_scale".format(fix_tsv, out_hm.replace(".pdf", "_log.pdf"), ph_opts) print cmd os.system(cmd)
def main(args): options = parse_args(args) assert os.path.splitext(options.out_file)[1] == ".pdf" options.skip = options.skip.split(",") mat, col_names, row_names, row_label = read_tsv(options.dist_mat) mat, col_names, row_names = remove_skips(mat, col_names, row_names, options.skip) plotHeatMap(mat, row_names, col_names, options.out_file, leftTree=True, topTree=True, logNorm=options.log_scale, vmax=options.vmax)