def plot_crbh_fit(model_df, hits_df, model_plot_fn, show=False,
figsize=(10,10), feature_col='E', length_col='s_aln_len',
**fig_kwds):
plt.style.use('seaborn-ticks')
with FigureManager(model_plot_fn, show=show,
figsize=figsize, **fig_kwds) as (fig, ax):
sample_size = min(len(hits_df), 5000)
hits_df, scaled_col = scale_evalues(hits_df, name=feature_col,
inplace=False)
ax.scatter(hits_df[length_col], hits_df[scaled_col], s=10, alpha=0.7,
c=sns.xkcd_rgb['ruby'], marker='o', label='Query Hits')
ax.scatter(model_df['center'], model_df['fit'], label='CRBL Fit',
c=sns.xkcd_rgb['twilight blue'], marker='o', s=5, alpha=0.7)
leg = ax.legend(fontsize='medium', scatterpoints=3, frameon=True)
leg.get_frame().set_linewidth(1.0)
ax.set_xlim(model_df['center'].min(), model_df['center'].max())
ax.set_ylim(0, max(model_df['fit'].max(), hits_df[scaled_col].max()) + 50)
ax.set_ylabel('Score ($E_{scaled}$)' if scaled_col == 'E_scaled'\
else 'Score ({0})'.format(scaled_col))
ax.set_xlabel('Alignment Length')
评论列表
文章目录