class_docstr: Featurizer for GROVER Model
  
  The Grover Featurizer is used to compute features suitable for grover model.
  It accepts an rdkit molecule of type `rdkit.Chem.rdchem.Mol` or a SMILES string
  as input and computes the following sets of features:
      1. a molecular graph from the input molecule
      2. functional groups which are used **only** during pretraining
      3. additional features which can **only** be used during finetuning
  
  Parameters
  ----------
  additional_featurizer: dc.feat.Featurizer
      Given a molecular dataset, it is possible to extract additional molecular features in order
  to train and finetune from the existing pretrained model. The `additional_featurizer` can
  be used to generate additional features for the molecule.
  
  References
  ---------
  .. [1] Rong, Yu, et al. "Self-supervised graph transformer on large-scale
      molecular data." NeurIPS, 2020
  
  Examples
  --------
  >>> import deepchem as dc
  >>> from deepchem.feat import GroverFeaturizer
  >>> feat = GroverFeaturizer(features_generator = dc.feat.CircularFingerprint())
  >>> out = feat.featurize('CCC')
  
  Note
  ----
  This class requires RDKit to be installed.
code: def __init__(
      self,
      features_generator: Optional[MolecularFeaturizer] = None,
      bond_drop_rate: float = 0.0,
  ):
      self.featurizer = features_generator
      self.functional_group_generator = RDKitDescriptors(
          descriptors=GROVER_RDKIT_PROPS, labels_only=True
      )
      self.bond_drop_rate = bond_drop_rate
  
file_path: deepchem/deepchem/feat/molecule_featurizers/grover_featurizer.py
imports: from typing import Optional, List
  import numpy
  from deepchem.feat.graph_data import GraphData
  from deepchem.feat.molecule_featurizers import RDKitDescriptors
  from deepchem.feat.base_classes import MolecularFeaturizer
  from deepchem.utils.molecule_feature_utils import one_hot_encode
  from deepchem.utils.typing import RDKitMol
  from rdkit import Chem
label_desc: Use image node_id 1 to create a new GroverFeaturizer object from inherited base classes: MolecularFeaturizer with example: obj = GroverFeaturizer(features_generator, bond_drop_rate)