def plot_allele_obs_distrib_2D(variations, data_dir, max_allele_counts,
                               chunk_size=SNPS_PER_CHUNK):
    # Allele observation distribution 2D
    masks = [call_is_het, call_is_hom_alt, call_is_hom_ref]
    names = ['Heterozygous', 'Alt Homozygous', 'Ref Homozygous']
    
    fig = Figure(figsize=(22, 25))
    canvas = FigureCanvas(fig)
    gs = gridspec.GridSpec(3, 2)
    fpath = join(data_dir, 'allele_obs_distrib_per_gt.png')
    fhand = open(fpath, 'w')
    
    counts_range = [[0, max_allele_counts], [0, max_allele_counts]]
    
    for i, (mask_func, name) in enumerate(zip(masks, names)):
        hist2d = hist2d_allele_observations(variations,
                                            n_bins=max_allele_counts,
                                            range_=counts_range,
                                            mask_func=mask_func,
                                            chunk_size=chunk_size)
        counts_distrib2d, xbins, ybins = hist2d
        
        axes = fig.add_subplot(gs[i, 0])
        title = 'Allele counts distribution 2D {}'.format(name)
        plot_hist2d(numpy.log10(counts_distrib2d), xbins, ybins, axes=axes,
                    mpl_params={'set_xlabel': {'args': ['Alt allele counts'],
                                               'kwargs': {}},
                                'set_ylabel': {'args': ['Ref allele counts'],
                                               'kwargs': {}},
                                'set_title': {'args': [title], 'kwargs': {}}},
                    colorbar_label='log10(counts)', fig=fig)

        hist2d = hist2d_gq_allele_observations(variations,
                                               n_bins=max_allele_counts,
                                               range_=counts_range,
                                               mask_func=mask_func,
                                               chunk_size=chunk_size,
                                               hist_counts=counts_distrib2d)
        gq_distrib2d, xbins, ybins = hist2d
        
        axes = fig.add_subplot(gs[i, 1])
        title = 'Allele counts GQ distribution 2D {}'.format(name)
        plot_hist2d(gq_distrib2d, xbins, ybins, axes=axes, fig=fig,
                    mpl_params={'set_xlabel': {'args': ['Alt allele counts'],
                                               'kwargs': {}},
                                'set_ylabel': {'args': ['Ref allele counts'],
                                               'kwargs': {}},
                                'set_title': {'args': [title], 'kwargs': {}}},
                    colorbar_label='Genotype Quality (GQ)')

    canvas.print_figure(fhand)
示例#2
0
 def test_plot_hist2d(self):
     x = numpy.random.normal(loc=1, size=1000)
     y = numpy.random.normal(size=1000)
     distrib, xbins, ybins = numpy.histogram2d(x, y)
     with NamedTemporaryFile(suffix='.png') as fhand:
         plot_hist2d(distrib,
                     xbins,
                     ybins,
                     fhand=fhand,
                     colorbar_label='Counts',
                     hist1d=False)
     with NamedTemporaryFile(suffix='.png') as fhand:
         plot_hist2d(distrib,
                     xbins,
                     ybins,
                     fhand=fhand,
                     colorbar_label='Counts')
     with NamedTemporaryFile(suffix='.png') as fhand:
         plot_hist2d(distrib,
                     xbins,
                     ybins,
                     fhand=fhand,
                     log_normed=True,
                     mpl_params={
                         'set_xlabel': 'x',
                         'set_ylabel': 'y'
                     })
示例#3
0
 def test_plot_hist2d(self):
     x = numpy.random.normal(loc=1, size=1000)
     y = numpy.random.normal(size=1000)
     distrib, xbins, ybins = numpy.histogram2d(x, y)
     with NamedTemporaryFile(suffix=".png") as fhand:
         plot_hist2d(distrib, xbins, ybins, fhand=fhand, colorbar_label="Counts", hist1d=False)
     with NamedTemporaryFile(suffix=".png") as fhand:
         plot_hist2d(distrib, xbins, ybins, fhand=fhand, colorbar_label="Counts")
     with NamedTemporaryFile(suffix=".png") as fhand:
         plot_hist2d(
             distrib, xbins, ybins, fhand=fhand, log_normed=True, mpl_params={"set_xlabel": "x", "set_ylabel": "y"}
         )
示例#4
0
def plot_allele_obs_distrib_2D(variations,
                               data_dir,
                               max_allele_counts,
                               chunk_size=SNPS_PER_CHUNK):
    # Allele observation distribution 2D
    masks = [call_is_het, call_is_hom_alt, call_is_hom_ref]
    names = ['Heterozygous', 'Alt Homozygous', 'Ref Homozygous']

    fig = Figure(figsize=(22, 25))
    canvas = FigureCanvas(fig)
    gs = gridspec.GridSpec(3, 2)
    fpath = join(data_dir, 'allele_obs_distrib_per_gt.png')
    fhand = open(fpath, 'w')

    counts_range = [[0, max_allele_counts], [0, max_allele_counts]]

    for i, (mask_func, name) in enumerate(zip(masks, names)):
        hist2d = hist2d_allele_observations(variations,
                                            n_bins=max_allele_counts,
                                            range_=counts_range,
                                            mask_func=mask_func,
                                            chunk_size=chunk_size)
        counts_distrib2d, xbins, ybins = hist2d

        axes = fig.add_subplot(gs[i, 0])
        title = 'Allele counts distribution 2D {}'.format(name)
        plot_hist2d(numpy.log10(counts_distrib2d),
                    xbins,
                    ybins,
                    axes=axes,
                    mpl_params={
                        'set_xlabel': {
                            'args': ['Alt allele counts'],
                            'kwargs': {}
                        },
                        'set_ylabel': {
                            'args': ['Ref allele counts'],
                            'kwargs': {}
                        },
                        'set_title': {
                            'args': [title],
                            'kwargs': {}
                        }
                    },
                    colorbar_label='log10(counts)',
                    fig=fig)

        hist2d = hist2d_gq_allele_observations(variations,
                                               n_bins=max_allele_counts,
                                               range_=counts_range,
                                               mask_func=mask_func,
                                               chunk_size=chunk_size,
                                               hist_counts=counts_distrib2d)
        gq_distrib2d, xbins, ybins = hist2d

        axes = fig.add_subplot(gs[i, 1])
        title = 'Allele counts GQ distribution 2D {}'.format(name)
        plot_hist2d(gq_distrib2d,
                    xbins,
                    ybins,
                    axes=axes,
                    fig=fig,
                    mpl_params={
                        'set_xlabel': {
                            'args': ['Alt allele counts'],
                            'kwargs': {}
                        },
                        'set_ylabel': {
                            'args': ['Ref allele counts'],
                            'kwargs': {}
                        },
                        'set_title': {
                            'args': [title],
                            'kwargs': {}
                        }
                    },
                    colorbar_label='Genotype Quality (GQ)')

    canvas.print_figure(fhand)