from data.utils import load_data_torch import pickle import sys import time import matplotlib.pyplot as plt from src.utils import * from src.layers import * sys.setrecursionlimit(8000) with open('../out/decagon_et.pkl', 'rb') as f: # the whole dataset et_list = pickle.load(f) # et_list = et_list[:400] feed_dict = load_data_torch("../data/", et_list, mono=True) [n_drug, n_feat_d] = feed_dict['d_feat'].shape n_et_dd = len(et_list) data = Data.from_dict(feed_dict) data.train_idx, data.train_et, data.train_range, data.test_idx, data.test_et, data.test_range = process_edges( data.dd_edge_index) # TODO: add drug feature data.d_feat = dense_id(n_drug) n_feat_d = n_drug data.x_norm = torch.ones(n_drug) # data.x_norm = torch.sqrt(data.d_feat.sum(dim=1)) data.d_feat.requires_grad = True
import time import pandas as pds # ### Load Data # In[2]: root = '..' model_dir = './' with open(root + '/data/decagon_et.pkl', 'rb') as f: # the whole dataset et_list = pickle.load(f) et_list = et_list EPOCH_NUM = 50 feed_dict = load_data_torch(root + "/data/", et_list, mono=True) data = Data.from_dict(feed_dict) n_drug, n_drug_feat = data.d_feat.shape n_prot, n_prot_feat = data.p_feat.shape data.pp_index = get_edge_index_from_coo(data.pp_adj, True) data.pd_index = get_edge_index_from_coo(data.dp_adj, False)[[1, 0], :] # Reindexing drugs and edge types (side effects) drug_dict = {} for new_id, old_id in enumerate(drug_list_with_protein_links): drug_dict[old_id] = new_id ufunc = np.frompyfunc(lambda x: drug_dict[x], 1, 1) data.pd_index[1, :] = torch.from_numpy( ufunc(data.pd_index[1, :].numpy()).astype(np.int64))