code: def get_bond_graph_distance_one_hot(
      bond: RDKitBond,
      graph_dist_matrix: np.ndarray,
      allowable_set: List[int] = DEFAULT_GRAPH_DISTANCE_SET,
      include_unknown_set: bool = True,
  ) -> List[float]:
      """Get an one-hot feature of graph distance.
  
      Parameters
      ---------
      bond: rdkit.Chem.rdchem.Bond
          RDKit bond object
      graph_dist_matrix: np.ndarray
          The return value of `Chem.GetDistanceMatrix(mol)`. The shape is `(num_atoms, num_atoms)`.
      allowable_set: List[int]
          The graph distance types to consider. The default set is `[1, 2, ..., 7]`.
      include_unknown_set: bool, default False
          If true, the index of all types not in `allowable_set` is `len(allowable_set)`.
  
      Returns
      -------
      List[float]
          A one-hot vector of the graph distance.
          If `include_unknown_set` is False, the length is `len(allowable_set)`.
          If `include_unknown_set` is True, the length is `len(allowable_set) + 1`.
      """
      graph_dist = graph_dist_matrix[
          bond.GetBeginAtomIdx(), bond.GetEndAtomIdx()
      ]
      return one_hot_encode(
          graph_dist, allowable_set, include_unknown_set
      )
  
imports: import os
  import logging
  from typing import List, Union, Tuple
  import numpy
  from deepchem.utils.typing import RDKitAtom, RDKitBond, RDKitMol
label_desc: Use image node_id 19 for calling a global function with example usage: get_bond_graph_distance_one_hot(bond, graph_dist_matrix, allowable_set, include_unknown_set) and returns: one_hot_encode