Esempio n. 1
0
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
Esempio n. 2
0
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))