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)
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' })
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"} )
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)