コード例 #1
0
def plot_and_save_all_genes(data, fitter, fits, dirname,
                            show_change_distributions):
    ensure_dir(dirname)
    to_plot = []
    genes = set(
    )  # use the genes from the fits and not from 'data' to support sharding (k_of_n)
    for ds_fits in fits.itervalues():
        for g, r in ds_fits.iterkeys():
            genes.add(g)
    for g in sorted(genes):
        genedir = join(dirname, g[:g.index(cfg.exon_separator)]
                       )  #does nothing if gene name does not contain the exon
        ensure_dir(genedir)
        filename = join(genedir, '{}.png'.format(g))
        if isfile(filename):
            print 'Figure already exists for gene {}. skipping...'.format(g)
            continue
        region_series_fits = _extract_gene_data(data, g, fits)
        if show_change_distributions:
            bin_centers = fits.change_distribution_params.bin_centers
        else:
            bin_centers = None
        to_plot.append((g, region_series_fits, filename, bin_centers))
    pool = Parallel(_plot_genes_job)
    pool(pool.delay(*args) for args in to_plot)
コード例 #2
0
def plot_and_save_all_exons_from_series(fits, exons_dir, series_dir):
    to_plot = []
    ensure_dir(exons_dir)
    keys = set()
    for ds_fits in fits.itervalues():
        for g, r in ds_fits.iterkeys():
            keys.add((g[:g.index(cfg.exon_separator)], r))
    for g, r in keys:
        gene_dir = join(exons_dir, g)
        ensure_dir(gene_dir)
        filename = join(gene_dir, '{}-{}.png'.format(g, r))
        if isfile(filename):
            print 'Figure already exists for gene {} in region {}. skipping...'.format(
                g, r)
            continue
        to_plot.append((g, r, filename, series_dir))
    pool = Parallel(_plot_exons_from_series_job)
    pool(pool.delay(*args) for args in to_plot)
コード例 #3
0
ファイル: plots.py プロジェクト: ronniemaor/timefit
def plot_and_save_all_genes(data, fitter, fits, dirname, show_change_distributions):
    ensure_dir(dirname)
    to_plot = []
    genes = set() # use the genes from the fits and not from 'data' to support sharding (k_of_n)
    for ds_fits in fits.itervalues():
        for g,r in ds_fits.iterkeys():
            genes.add(g)
    for g in sorted(genes):
        filename = join(dirname, '{}.png'.format(g))
        if isfile(filename):
            print 'Figure already exists for gene {}. skipping...'.format(g)
            continue
        region_series_fits = _extract_gene_data(data,g,fits)
        if show_change_distributions:
            bin_centers = fits.change_distribution_params.bin_centers
        else:
            bin_centers = None
        to_plot.append((g,region_series_fits,filename, bin_centers))
    pool = Parallel(_plot_genes_job)
    pool(pool.delay(*args) for args in to_plot)
コード例 #4
0
def plot_and_save_all_series(data,
                             fitter,
                             fits,
                             dirname,
                             use_correlations,
                             show_change_distributions,
                             exons_layout=False,
                             figure_kw=None):
    ensure_dir(dirname)
    to_plot = []
    for dsfits in fits.itervalues():
        for (g, r), fit in dsfits.iteritems():

            genedir = join(
                dirname,
                g[:g.index(cfg.exon_separator)] if exons_layout else g)
            ensure_dir(genedir)
            filename = join(genedir, 'fit-{}-{}.png'.format(g, r))
            if isfile(filename):
                print 'Figure already exists for {}@{}. skipping...'.format(
                    g, r)
                continue
            series = data.get_one_series(g, r)
            if show_change_distributions and hasattr(
                    fit, 'change_distribution_weights'):
                change_distribution = Bunch(
                    centers=fits.change_distribution_params.bin_centers,
                    weights=fit.change_distribution_weights,
                )
            else:
                change_distribution = None
            to_plot.append((series, fit, filename, use_correlations,
                            change_distribution, figure_kw))
    if cfg.parallel_run_locally:
        for args in to_plot:
            _plot_series_job(*args)
    else:
        pool = Parallel(_plot_series_job)
        pool(pool.delay(*args) for args in to_plot)
コード例 #5
0
def plot_and_save_all_exons(data, fitter, fits, dirname):
    ensure_dir(dirname)
    to_plot = []
    genes, regions = set(), set()
    for ds_fits in fits.itervalues():
        for g, r in ds_fits.iterkeys():
            genes.add(g[:g.index(cfg.exon_separator)])
            regions.add(r)
    for g in sorted(genes):
        for r in sorted(regions):
            gene_dir = join(dirname, g)
            ensure_dir(gene_dir)
            filename = join(gene_dir, '{}-{}.png'.format(g, r))
            if isfile(filename):
                print 'Figure already exists for gene {} in region {}. skipping...'.format(
                    g, r)
                continue
            exons_series_fits = _extract_exons_data(data, g, r, fits)
            if not np.count_nonzero(exons_series_fits):
                continue
            to_plot.append((g, r, exons_series_fits, filename))
    pool = Parallel(_plot_exons_job)
    pool(pool.delay(*args) for args in to_plot)
コード例 #6
0
ファイル: plots.py プロジェクト: ronniemaor/timefit
def plot_and_save_all_series(data, fitter, fits, dirname, use_correlations, show_change_distributions, figure_kw=None):
    ensure_dir(dirname)
    to_plot = []
    for dsfits in fits.itervalues():
        for (g,r),fit in dsfits.iteritems():
            filename = join(dirname, 'fit-{}-{}.png'.format(g,r))
            if isfile(filename):
                print 'Figure already exists for {}@{}. skipping...'.format(g,r)
                continue
            series = data.get_one_series(g,r)
            if show_change_distributions and hasattr(fit, 'change_distribution_weights'):
                change_distribution = Bunch(
                    centers = fits.change_distribution_params.bin_centers,
                    weights = fit.change_distribution_weights,
                )
            else:
                change_distribution = None
            to_plot.append((series,fit,filename,use_correlations, change_distribution, figure_kw))
    if cfg.parallel_run_locally:
        for args in to_plot:
            _plot_series_job(*args)
    else:
        pool = Parallel(_plot_series_job)
        pool(pool.delay(*args) for args in to_plot)
コード例 #7
0
 def _make_layer(self, transitions, stride=1):
     return Parallel(transitions)
コード例 #8
0
def get_all_colantuoni_ages():
    ids = range(749899, 750168)  # copied from main accession page
    pool = Parallel(get_age, verbosity=1)
    ages = pool(pool.delay(_id) for _id in ids)
    return ages
コード例 #9
0
def get_all_colantuoni_ages():
    ids = range(749899, 750168)  # copied from main accession page
    pool = Parallel(get_age, verbosity=1)
    ages = pool(pool.delay(_id) for _id in ids)
    return ages