%load_ext autoreload
%autoreload 2
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
from collections import OrderedDict
from matlas.pwms import ic_scale, adjust_for_ic_scale
from matlas.matches import vdom_pssm
from modisco.visualization import viz_sequence
from matlas.matches import vdom_pssm
motif_name = 'E2F6'
top_k_filters = OrderedDict()
filt_infl_from_loss = OrderedDict()
for fold_no in range(1,11):
aitacdir = "/mnt/lab_data2/msharmin/oc-atlas/DanSkinData/alex_bpnets/{0}/{1}".format(motif_name, fold_no)
filt_infl_from_loss[fold_no] = np.load(aitacdir+"/filt_infl_from_loss.npy")
top_k_filters[fold_no] = np.flip(np.argsort(filt_infl_from_loss[fold_no]))[:15]
print(fold_no, top_k_filters[fold_no])
import numpy as np
import seaborn as sns
motif_name = 'CEBPB'
filter_weights = OrderedDict()
for fold_no in range(1,11):
filter_weights[fold_no] = np.load("/mnt/lab_data2/msharmin/oc-atlas/DanSkinData/alex_bpnets/filters/{0}/{0}_fold{1}_filters.npy".format(
motif_name, fold_no))
from modisco.visualization import viz_sequence
for fold_no in range(1,11):
for i in top_k_filters[fold_no]:
print('fold_no', fold_no, 'filter', i)
mean_norm_weights = np.copy(filter_weights[fold_no][:,:,i])
mean_norm_weights = mean_norm_weights - mean_norm_weights.mean(1, keepdims=True)
print('raw weights')
viz_sequence.plot_weights(filter_weights[fold_no][:,:,i])
print('mean normalized weights')
viz_sequence.plot_weights(mean_norm_weights)
break