def completeness_plot(consensus_data, ordered_genomes, biotypes, completeness_plot_tgt, gene_biotype_map,
transcript_biotype_map):
def adjust_plot(g, gene_count, tx_count):
for ax, c in zip(*[g.axes[0], [gene_count, tx_count]]):
_ = ax.set_ylim(0, c)
ax.spines['top'].set_edgecolor('#e74c3c')
ax.spines['top'].set_linewidth(2)
ax.spines['top'].set_visible(True)
ax.spines['top'].set_linestyle('dashed')
df = json_grouped_biotype_nested_counter_to_df(consensus_data, 'Completeness')
with completeness_plot_tgt.open('w') as outf, PdfPages(outf) as pdf:
tot_df = df.groupby(by=['genome', 'category']).aggregate(np.sum).reset_index()
tot_df = sort_long_df(tot_df, ordered_genomes)
title = 'Number of comparative genes/transcripts present'
g = generic_barplot(pdf=pdf, data=tot_df, x='genome', y='count', col='category', xlabel='',
sharey=False, ylabel='Number of genes/transcripts', title=title,
col_order=['Gene', 'Transcript'], close=False, palette=choose_palette(ordered_genomes))
adjust_plot(g, len(gene_biotype_map), len(transcript_biotype_map))
multipage_close(pdf, tight_layout=False)
for biotype in biotypes:
biotype_df = biotype_filter(df, biotype)
if biotype_df is not None:
biotype_df = sort_long_df(biotype_df, ordered_genomes)
gene_biotype_count = len({i for i, b in gene_biotype_map.iteritems() if b == biotype})
tx_biotype_count = len({i for i, b in transcript_biotype_map.iteritems() if b == biotype})
title = 'Number of comparative genes/transcripts present for biotype {}'.format(biotype)
g = generic_barplot(pdf=pdf, data=biotype_df, x='genome', y='count', col='category', xlabel='',
sharey=False, ylabel='Number of genes/transcripts',
title=title, col_order=['Gene', 'Transcript'], close=False,
palette=choose_palette(ordered_genomes))
adjust_plot(g, gene_biotype_count, tx_biotype_count)
multipage_close(pdf, tight_layout=False)
plots.py 文件源码
python
阅读 25
收藏 0
点赞 0
评论 0
评论列表
文章目录