class_docstr: This class is a featurizer for the Molecule Attention Transformer [1]_.
  The returned value is a numpy array which consists of molecular graph descriptions:
      - Node Features
      - Adjacency Matrix
      - Distance Matrix
  
  References
  ---------
  .. [1] Lukasz Maziarka et al. "Molecule Attention Transformer`<https://arxiv.org/abs/2002.08264>`"
  
  Examples
  --------
  >>> import deepchem as dc
  >>> feat = dc.feat.MATFeaturizer()
  >>> out = feat.featurize("CCC")
  
  Note
  ----
  This class requires RDKit to be installed.
class_docstr_tok: ["This","class","is","a","featurizer","for","the","Molecule","Attention","Transformer","[","1","]","_",".","The","returned","value","is","a","numpy","array","which","consists","of","molecular","graph","descriptions",":","-","Node","Features","-","Adjacency","Matrix","-","Distance","Matrix","References","--","--","--","--","-","..","[","1","]","Lukasz","Maziarka","et","al",".","``","Molecule","Attention","Transformer","`","<","https",":","\/\/arxiv.org\/abs\/2002.08264",">","`","``","Examples","--","--","--","--",">",">",">","import","deepchem","as","dc",">",">",">","feat","=","dc.feat.MATFeaturizer","(",")",">",">",">","out","=","feat.featurize","(","``","CCC","''",")","Note","--","--","This","class","requires","RDKit","to","be","installed","."]
docstr: Adds a single dummy node to the molecule, which is consequently reflected in the Node Features Matrix, Adjacency Matrix and the Distance Matrix.
  
  Parameters
  ----------
  node_features: np.ndarray
      Node Features matrix for a given molecule.
  adjacency_matrix: np.ndarray
      Adjacency matrix for a given molecule.
  distance_matrix: np.ndarray
      Distance matrix for a given molecule.
  
  Returns
  ----------
  Atom_features: Tuple[np.ndarray, np.ndarray, np.ndarray]
      A tuple containing three numpy arrays: node_features, adjacency_matrix, distance_matrix.
docstr_tok: ["Adds","a","single","dummy","node","to","the","molecule",",","which","is","consequently","reflected","in","the","Node","Features","Matrix",",","Adjacency","Matrix","and","the","Distance","Matrix",".","Parameters","--","--","--","--","--","node_features",":","np.ndarray","Node","Features","matrix","for","a","given","molecule",".","adjacency_matrix",":","np.ndarray","Adjacency","matrix","for","a","given","molecule",".","distance_matrix",":","np.ndarray","Distance","matrix","for","a","given","molecule",".","Returns","--","--","--","--","--","Atom_features",":","Tuple","[","np.ndarray",",","np.ndarray",",","np.ndarray","]","A","tuple","containing","three","numpy","arrays",":","node_features",",","adjacency_matrix",",","distance_matrix","."]
code: def _add_dummy_node(
      self,
      node_features: np.ndarray,
      adj_matrix: np.ndarray,
      dist_matrix: np.ndarray,
  ) -> Tuple[np.ndarray, np.ndarray, np.ndarray]:
      """Adds a single dummy node to the molecule, which is consequently reflected in the Node Features Matrix, Adjacency Matrix and the Distance Matrix.
  
      Parameters
      ----------
      node_features: np.ndarray
          Node Features matrix for a given molecule.
      adjacency_matrix: np.ndarray
          Adjacency matrix for a given molecule.
      distance_matrix: np.ndarray
          Distance matrix for a given molecule.
  
      Returns
      ----------
      Atom_features: Tuple[np.ndarray, np.ndarray, np.ndarray]
          A tuple containing three numpy arrays: node_features, adjacency_matrix, distance_matrix.
  
      """
  
      if node_features is not None:
          m = np.zeros(
              (node_features.shape[0] + 1, node_features.shape[1] + 1)
          )
          m[1:, 1:] = node_features
          m[0, 0] = 1.0
          node_features = m
  
      if adj_matrix is not None:
          m = np.zeros(
              (adj_matrix.shape[0] + 1, adj_matrix.shape[1] + 1)
          )
          m[1:, 1:] = adj_matrix
          adj_matrix = m
  
      if dist_matrix is not None:
          m = np.full(
              (dist_matrix.shape[0] + 1, dist_matrix.shape[1] + 1), 1e6
          )
          m[1:, 1:] = dist_matrix
          dist_matrix = m
  
      return node_features, adj_matrix, dist_matrix
  
file_path: deepchem/deepchem/feat/molecule_featurizers/mat_featurizer.py
imports: from deepchem.feat.base_classes import MolecularFeaturizer
  from deepchem.utils.molecule_feature_utils import one_hot_encode
  from deepchem.utils.typing import RDKitMol, RDKitAtom
  import numpy
  from typing import Tuple, Any
  from dataclasses import dataclass
label_desc: Use image node_id 5 for calling the MATFeaturizer obj's underlying member method code with example usage: obj._add_dummy_node(node_features, adj_matrix, dist_matrix) and returns: node_features,  adj_matrix,  dist_matrix