code: def create_dataset(self) -> Dataset:
      if self.set_name not in ["refined", "general", "core"]:
          raise ValueError(
              "Only 'refined', 'general', and 'core' are supported for set_name."
          )
  
      filename = self.name + ".tar.gz"
      data_folder = os.path.join(self.data_dir, self.name)
      dataset_file = os.path.join(self.data_dir, filename)
      if not os.path.exists(data_folder):
          if self.set_name in ["refined", "general"]:
              dc.utils.data_utils.download_url(
                  url=PDBBIND_URL + filename, dest_dir=self.data_dir
              )
          else:
              dc.utils.data_utils.download_url(
                  url=DATASETS_URL + filename, dest_dir=self.data_dir
              )
          dc.utils.data_utils.untargz_file(
              dataset_file, dest_dir=self.data_dir
          )
  
      # get pdb and sdf filenames, labels and pdbids
      protein_files, ligand_files, labels, pdbs = self._process_pdbs()
  
      # load and featurize each complex
      features = self.featurizer.featurize(
          list(zip(ligand_files, protein_files))
      )
      dataset = dc.data.DiskDataset.from_numpy(
          features, y=labels, ids=pdbs
      )
  
      return dataset
  
file_path: deepchem/deepchem/molnet/load_function/pdbbind_datasets.py
imports: import os
  import numpy
  import pandas
  import deepchem
  from deepchem.molnet.load_function.molnet_loader import TransformerGenerator, _MolnetLoader
  from deepchem.data import Dataset
  from typing import List, Optional, Tuple, Union
label_desc: Use image node_id 2 for calling the _PDBBindLoader obj's underlying member method code with example usage: obj.create_dataset() and returns: dataset