def compute_cmap(f_rank): base = os.path.basename(f_rank) model_name = os.path.dirname(f_rank) pdb = base.split('.')[0] func = { "G2" : utils.load_improved_GREMLIN_dataset, "APC": utils.load_GREMLIN_dataset, } G = func[model_name](pdb) NATIVE_MATRIX = utils.load_contact_map(pdb) N = G.shape[0] IDX = list(generate_matrix_IDX(N,kernel_window)) # Load the native contacts native = np.array([NATIVE_MATRIX[idx] for idx in IDX]) g = np.array([G[idx] for idx in IDX]) data = {} CUT_IDX = np.linspace(1,5*N,cut_iterations) for cut_idx in CUT_IDX: contacts = fixedL_cut(g,native,cut_idx,index_only=True) C = build_cmap_from_index(N, IDX,contacts) data[cut_idx/N] = C return CUT_IDX,data,NATIVE_MATRIX