code: def _construct_atom_feature(
      atom: RDKitAtom,
      h_bond_infos: List[Tuple[int, str]],
      use_chirality: bool,
      use_partial_charge: bool,
  ) -> np.ndarray:
      """Construct an atom feature from a RDKit atom object.
  
      Parameters
      ----------
      atom: rdkit.Chem.rdchem.Atom
          RDKit atom object
      h_bond_infos: List[Tuple[int, str]]
          A list of tuple `(atom_index, hydrogen_bonding_type)`.
          Basically, it is expected that this value is the return value of
          `construct_hydrogen_bonding_info`. The `hydrogen_bonding_type`
          value is "Acceptor" or "Donor".
      use_chirality: bool
          Whether to use chirality information or not.
      use_partial_charge: bool
          Whether to use partial charge data or not.
  
      Returns
      -------
      np.ndarray
          A one-hot vector of the atom feature.
  
      """
      atom_type = get_atom_type_one_hot(atom)
      formal_charge = get_atom_formal_charge(atom)
      hybridization = get_atom_hybridization_one_hot(atom)
      acceptor_donor = get_atom_hydrogen_bonding_one_hot(
          atom, h_bond_infos
      )
      aromatic = get_atom_is_in_aromatic_one_hot(atom)
      degree = get_atom_total_degree_one_hot(atom)
      total_num_Hs = get_atom_total_num_Hs_one_hot(atom)
      atom_feat = np.concatenate(
          [
              atom_type,
              formal_charge,
              hybridization,
              acceptor_donor,
              aromatic,
              degree,
              total_num_Hs,
          ]
      )
  
      if use_chirality:
          chirality = get_atom_chirality_one_hot(atom)
          atom_feat = np.concatenate([atom_feat, np.array(chirality)])
  
      if use_partial_charge:
          partial_charge = get_atom_partial_charge(atom)
          atom_feat = np.concatenate(
              [atom_feat, np.array(partial_charge)]
          )
      return atom_feat
  
imports: from typing import List, Tuple
  import numpy
  from deepchem.utils.typing import RDKitAtom, RDKitBond, RDKitMol
  from deepchem.feat.graph_data import GraphData
  from deepchem.feat.base_classes import MolecularFeaturizer
  from deepchem.utils.molecule_feature_utils import one_hot_encode
  from deepchem.utils.molecule_feature_utils import get_atom_type_one_hot
  from deepchem.utils.molecule_feature_utils import construct_hydrogen_bonding_info
  from deepchem.utils.molecule_feature_utils import get_atom_hydrogen_bonding_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_hybridization_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_total_num_Hs_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_is_in_aromatic_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_chirality_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_formal_charge
  from deepchem.utils.molecule_feature_utils import get_atom_partial_charge
  from deepchem.utils.molecule_feature_utils import get_atom_total_degree_one_hot
  from deepchem.utils.molecule_feature_utils import get_bond_type_one_hot
  from deepchem.utils.molecule_feature_utils import get_bond_is_in_same_ring_one_hot
  from deepchem.utils.molecule_feature_utils import get_bond_is_conjugated_one_hot
  from deepchem.utils.molecule_feature_utils import get_bond_stereo_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_formal_charge_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_implicit_valence_one_hot
  from deepchem.utils.molecule_feature_utils import get_atom_explicit_valence_one_hot
  from deepchem.utils.rdkit_utils import compute_all_pairs_shortest_path
  from deepchem.utils.rdkit_utils import compute_pairwise_ring_info
label_desc: Use image node_id 1 for calling a global function with example usage: _construct_atom_feature(atom, h_bond_infos, use_chirality, use_partial_charge) and returns: atom_feat