Example #1
0
# sort by LL and select best
mixtures.sort()
best_bound, best_mixture = mixtures[-1]
logging.info("Best variational bound = %f", best_bound)

# save model if requested
if options.model_file:
    logging.info("Saving model to %s", options.model_file)
    cPickle.dump(best_mixture, open(options.model_file, "w"))

# plot distribution if requested
if options.plot_file:
    logging.info("Plotting distribution to %s", options.plot_file)
    from cookbook.pylab_utils import set_rcParams_for_latex, get_fig_size_for_latex

    set_rcParams_for_latex()
    # fig_size = get_fig_size_for_latex(1000)
    pl.rcParams["figure.figsize"] = (4.652, 3.2)
    pl.figure()
    mixture_x, mixture = best_mixture.plot(log=options.log_plot, legend=False)
    pl.savefig("mixture-%s.eps" % options.plot_file, format="eps")
    pl.close()

    mixture_x, mixture = best_mixture.plot(log=options.log_plot, legend=False, scale=False)
    pl.savefig("mixture-unscaled-%s.eps" % options.plot_file, format="eps")
    pl.close()

    beta.plot_density_with_R(x, weights, options.plot_file, mixture_x, mixture, adjust=0.15)

# write predictions if requested
if options.predictions_file:
Example #2
0
        P.loglog(fasta_sizes, stem_timings[
                 W], label='STEME W=%d' % W, ls='-', color=colour)
        P.loglog(fasta_sizes, meme_timings[
                 W], label='MEME W=%d' % W, ls='-.', color=colour)
        P.legend(loc='upper left')
        P.xlabel('\\# bases in data set')
        P.ylabel('seconds')
    P.savefig(os.path.join(output_dir, 'timings.eps'))
    P.savefig(os.path.join(output_dir, 'timings.png'))
    P.close()


#
# do the timings.
#
pylab_utils.set_rcParams_for_latex()
stem_timings = DictOf(list)
meme_timings = DictOf(list)
fasta_sizes = []
for fasta in fastas:
    for W in Ws:
        options.min_w = options.max_w = W
        options.output_dir = os.path.join(
            output_dir, 'W=%02d-%s' % (W, stempy.basename_wo_ext(fasta)))
        stempy.ensure_dir_exists(options.output_dir)
        stem_algorithm = stem.Algorithm(options)
        meme_algorithm = meme.Algorithm(options)
        stem_timings[W].append(timeit(lambda: stem_algorithm(fasta)))
        meme_timings[W].append(timeit(lambda: meme_algorithm(fasta)))
    fasta_sizes.append(stem_algorithm.num_bases)
    save_timings()