code: def process(self):
      data_df = pd.read_csv(osp.join(self.raw_dir, "data.csv.gz"))
      smiles_list = data_df["smiles"]
      homolumogap_list = data_df["homolumogap"]
  
      print("Converting SMILES strings into graphs...")
      data_list = []
      for i in tqdm(range(len(smiles_list))):
          data = Data()
  
          smiles = smiles_list[i]
          homolumogap = homolumogap_list[i]
          graph = self.smiles2graph(smiles)
  
          assert len(graph["edge_feat"]) == graph["edge_index"].shape[1]
          assert len(graph["node_feat"]) == graph["num_nodes"]
  
          data.__num_nodes__ = int(graph["num_nodes"])
          data.edge_index = torch.from_numpy(graph["edge_index"]).to(
              torch.int64
          )
          data.edge_attr = torch.from_numpy(graph["edge_feat"]).to(
              torch.int64
          )
          data.x = torch.from_numpy(graph["node_feat"]).to(torch.int64)
          data.y = torch.Tensor([homolumogap])
  
          data_list.append(data)
  
      # double-check prediction target
      split_dict = self.get_idx_split()
      assert all(
          [
              not torch.isnan(data_list[i].y)[0]
              for i in split_dict["train"]
          ]
      )
      assert all(
          [
              not torch.isnan(data_list[i].y)[0]
              for i in split_dict["valid"]
          ]
      )
      assert all(
          [torch.isnan(data_list[i].y)[0] for i in split_dict["test"]]
      )
  
      if self.pre_transform is not None:
          data_list = [self.pre_transform(data) for data in data_list]
  
      data, slices = self.collate(data_list)
  
      print("Saving...")
      torch.save((data, slices), self.processed_paths[0])
  
file_path: ogb/ogb/lsc/pcqm4m_pyg.py
imports: import os
  import os.path
  import shutil
  from ogb.utils import smiles2graph
  from ogb.utils.torch_util import replace_numpy_with_torchtensor
  from ogb.utils.url import decide_download, download_url, extract_zip
  import pandas
  import numpy
  from tqdm.auto import tqdm
  import torch
  from torch_geometric.data import InMemoryDataset
  from torch_geometric.data import Data
label_desc: Use image node_id 5 for calling the PygPCQM4MDataset obj's underlying member method code with example usage: obj.process() without return types