class_docstr: "
  Abstract class for calculating features for mol/protein complexes.
class_docstr_tok: ["``","Abstract","class","for","calculating","features","for","mol\/protein","complexes","."]
docstr: Calculate features for single mol/protein complex.
  
  Parameters
  ----------
  complex: Tuple[str, str]
      Filenames for molecule and protein.
docstr_tok: ["Calculate","features","for","single","mol\/protein","complex",".","Parameters","--","--","--","--","--","complex",":","Tuple","[","str",",","str","]","Filenames","for","molecule","and","protein","."]
code: def _featurize(
      self, datapoint: Optional[Tuple[str, str]] = None, **kwargs
  ):
      """
      Calculate features for single mol/protein complex.
  
      Parameters
      ----------
      complex: Tuple[str, str]
          Filenames for molecule and protein.
      """
      raise NotImplementedError("Featurizer is not defined.")
  
imports: import inspect
  import logging
  import numpy
  from typing import Any, Dict, Iterable, Optional, Tuple, Union, cast
  from deepchem.utils import get_print_threshold
  from deepchem.utils.typing import PymatgenStructure
label_desc: Use image node_id 2 for calling the ComplexFeaturizer obj's underlying member method code with example usage: obj._featurize(datapoint) without return types