Goal

  • plot some importance scores

TODO

  • allow ImpScoreFile to access only certain sub-fields
  • pre-compute the total counts in the ImpScoreFile
In [1]:
# Imports
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
from basepair.imports import *
hv.extension('bokeh')
Using TensorFlow backend.
In [2]:
# Common paths
model_dir = Path(f"{ddir}/processed/chipnexus/exp/models/osnk-pstat-sall-smad-zfp/models/best/")
modisco_dir = model_dir / f"modisco/deeplift/profile/"
In [5]:
from basepair.cli.imp_score import ImpScoreFile
In [6]:
imp_score = ImpScoreFile(model_dir / 'deeplift.all.h5')
In [7]:
contrib_scores = imp_score.get_contrib()
In [8]:
from kipoi.data_utils import get_dataset_item
In [9]:
from basepair.plot.tracks import filter_tracks
In [13]:
N = len(imp_score)
In [11]:
plot_tracks(filter_tracks(get_dataset_item(contrib_scores, 10), [400, 600]))
Out[11]:
In [14]:
idx_list = pd.Series(np.arange(N)).sample(10)
In [16]:
for idx in idx_list:
    plot_tracks(filter_tracks(get_dataset_item(contrib_scores, idx), [400, 600]), 
                fig_height_per_track=.8, same_ylim=True, rotate_y=0, fig_width=15)