class_docstr: This class computes the featurization that corresponds to AtomicConvModel.
  
  This class computes featurizations needed for AtomicConvModel.
  Given two molecular structures, it computes a number of useful
  geometric features. In particular, for each molecule and the global
  complex, it computes a coordinates matrix of size (N_atoms, 3)
  where N_atoms is the number of atoms. It also computes a
  neighbor-list, a dictionary with N_atoms elements where
  neighbor-list[i] is a list of the atoms the i-th atom has as
  neighbors. In addition, it computes a z-matrix for the molecule
  which is an array of shape (N_atoms,) that contains the atomic
  number of that atom.
  
  Since the featurization computes these three quantities for each of
  the two molecules and the complex, a total of 9 quantities are
  returned for each complex. Note that for efficiency, fragments of
  the molecules can be provided rather than the full molecules
  themselves.
class_docstr_tok: ["This","class","computes","the","featurization","that","corresponds","to","AtomicConvModel",".","This","class","computes","featurizations","needed","for","AtomicConvModel",".","Given","two","molecular","structures",",","it","computes","a","number","of","useful","geometric","features",".","In","particular",",","for","each","molecule","and","the","global","complex",",","it","computes","a","coordinates","matrix","of","size","(","N_atoms",",","3",")","where","N_atoms","is","the","number","of","atoms",".","It","also","computes","a","neighbor-list",",","a","dictionary","with","N_atoms","elements","where","neighbor-list","[","i","]","is","a","list","of","the","atoms","the","i-th","atom","has","as","neighbors",".","In","addition",",","it","computes","a","z-matrix","for","the","molecule","which","is","an","array","of","shape","(","N_atoms",",",")","that","contains","the","atomic","number","of","that","atom",".","Since","the","featurization","computes","these","three","quantities","for","each","of","the","two","molecules","and","the","complex",",","a","total","of","9","quantities","are","returned","for","each","complex",".","Note","that","for","efficiency",",","fragments","of","the","molecules","can","be","provided","rather","than","the","full","molecules","themselves","."]
docstr: Parameters
  ----------
  frag1_num_atoms: int
      Maximum number of atoms in fragment 1.
  frag2_num_atoms: int
      Maximum number of atoms in fragment 2.
  complex_num_atoms: int
      Maximum number of atoms in complex of frag1/frag2 together.
  max_num_neighbors: int
      Maximum number of atoms considered as neighbors.
  neighbor_cutoff: float
      Maximum distance (angstroms) for two atoms to be considered as
      neighbors. If more than `max_num_neighbors` atoms fall within
      this cutoff, the closest `max_num_neighbors` will be used.
  strip_hydrogens: bool (default True)
      Remove hydrogens before computing featurization.
docstr_tok: ["Parameters","--","--","--","--","--","frag1_num_atoms",":","int","Maximum","number","of","atoms","in","fragment","1.","frag2_num_atoms",":","int","Maximum","number","of","atoms","in","fragment","2.","complex_num_atoms",":","int","Maximum","number","of","atoms","in","complex","of","frag1\/frag2","together",".","max_num_neighbors",":","int","Maximum","number","of","atoms","considered","as","neighbors",".","neighbor_cutoff",":","float","Maximum","distance","(","angstroms",")","for","two","atoms","to","be","considered","as","neighbors",".","If","more","than","`","max_num_neighbors","`","atoms","fall","within","this","cutoff",",","the","closest","`","max_num_neighbors","`","will","be","used",".","strip_hydrogens",":","bool","(","default","True",")","Remove","hydrogens","before","computing","featurization","."]
code: def __init__(
      self,
      frag1_num_atoms,
      frag2_num_atoms,
      complex_num_atoms,
      max_num_neighbors,
      neighbor_cutoff,
      strip_hydrogens=True,
  ):
      """
  
      Parameters
      ----------
      frag1_num_atoms: int
          Maximum number of atoms in fragment 1.
      frag2_num_atoms: int
          Maximum number of atoms in fragment 2.
      complex_num_atoms: int
          Maximum number of atoms in complex of frag1/frag2 together.
      max_num_neighbors: int
          Maximum number of atoms considered as neighbors.
      neighbor_cutoff: float
          Maximum distance (angstroms) for two atoms to be considered as
          neighbors. If more than `max_num_neighbors` atoms fall within
          this cutoff, the closest `max_num_neighbors` will be used.
      strip_hydrogens: bool (default True)
          Remove hydrogens before computing featurization.
  
      """
  
      self.frag1_num_atoms = frag1_num_atoms
      self.frag2_num_atoms = frag2_num_atoms
      self.complex_num_atoms = complex_num_atoms
      self.max_num_neighbors = max_num_neighbors
      self.neighbor_cutoff = neighbor_cutoff
      self.strip_hydrogens = strip_hydrogens
      self.neighborlist_featurizer = (
          NeighborListComplexAtomicCoordinates(
              self.max_num_neighbors, self.neighbor_cutoff
          )
      )
  
imports: import logging
  import warnings
  import numpy
  from deepchem.feat.base_classes import Featurizer, ComplexFeaturizer
  from deepchem.feat.molecule_featurizers import AtomicCoordinates
  from deepchem.utils.data_utils import pad_array
  from deepchem.utils.rdkit_utils import MoleculeLoadException, get_xyz_from_mol, load_molecule, merge_molecules_xyz, merge_molecules
label_desc: Use image node_id 1 to create a new AtomicConvFeaturizer object from inherited base classes: ComplexFeaturizer with example: obj = AtomicConvFeaturizer(frag1_num_atoms, frag2_num_atoms, complex_num_atoms, max_num_neighbors, neighbor_cutoff, strip_hydrogens)