code: def prepare_smiles(self):
      raw_dir = osp.join(self.folder, "raw")
      if not osp.exists(osp.join(raw_dir, "data.csv.gz")):
          # if the raw file does not exist, then download it.
          self.download()
  
      data_df = pd.read_csv(osp.join(raw_dir, "data.csv.gz"))
      smiles_list = data_df["smiles"].values
      homolumogap_list = data_df["homolumogap"].values
      self.graphs = list(smiles_list)
      self.labels = homolumogap_list
  
imports: from typing import Optional, Union, Dict
  import os
  import os.path
  import shutil
  from ogb.utils import smiles2graph
  from ogb.utils.url import decide_download, download_url, extract_zip
  import pandas
  import numpy
  from tqdm.auto import tqdm
  import torch
label_desc: Use image node_id 3 for calling the PCQM4MDataset obj's underlying member method code with example usage: obj.prepare_smiles() without return types