def METHOD_NAME(self):
    with open(self.raw_paths[0], 'r') as f:
        data = [x.split('\t') for x in f.read().split('\n')[1:-1]]
        rows, cols = [], []
        for n_id, col, _ in data:
            col = [int(x) for x in col.split(',')]
            rows += [int(n_id)] * len(col)
            cols += col
        row, col = torch.tensor(rows), torch.tensor(cols)
        x = torch.zeros(int(row.max()) + 1, int(col.max()) + 1)
        x[row, col] = 1.
        y = torch.empty(len(data), dtype=torch.long)
        for n_id, _, label in data:
            y[int(n_id)] = int(label)
    with open(self.raw_paths[1], 'r') as f:
        data = f.read().split('\n')[1:-1]
        data = [[int(v) for v in r.split('\t')] for r in data]
        edge_index = torch.tensor(data, dtype=torch.long).t().contiguous()
        edge_index = coalesce(edge_index, num_nodes=x.size(0))
    train_masks, val_masks, test_masks = [], [], []
    for f in self.raw_paths[2:]:
        tmp = np.load(f)
        train_masks += [torch.from_numpy(tmp['train_mask']).to(torch.bool)]
        val_masks += [torch.from_numpy(tmp['val_mask']).to(torch.bool)]
        test_masks += [torch.from_numpy(tmp['test_mask']).to(torch.bool)]
    train_mask = torch.stack(train_masks, dim=1)
    val_mask = torch.stack(val_masks, dim=1)
    test_mask = torch.stack(test_masks, dim=1)
    data = Data(x=x, edge_index=edge_index, y=y, train_mask=train_mask,
                val_mask=val_mask, test_mask=test_mask)
    data = data if self.pre_transform is None else self.pre_transform(data)
    torch.save(self.collate([data]), self.processed_paths[0])