class_docstr: Circular (Morgan) fingerprints.
  
  Extended Connectivity Circular Fingerprints compute a bag-of-words style
  representation of a molecule by breaking it into local neighborhoods and
  hashing into a bit vector of the specified size. It is used specifically
  for structure-activity modelling. See [1]_ for more details.
  
  References
  ----------
  .. [1] Rogers, David, and Mathew Hahn. "Extended-connectivity fingerprints."
      Journal of chemical information and modeling 50.5 (2010): 742-754.
  
  Note
  ----
  This class requires RDKit to be installed.
  
  Examples
  --------
  >>> import deepchem as dc
  >>> from rdkit import Chem
  >>> smiles = ['C1=CC=CC=C1']
  >>> # Example 1: (size = 2048, radius = 4)
  >>> featurizer = dc.feat.CircularFingerprint(size=2048, radius=4)
  >>> features = featurizer.featurize(smiles)
  >>> type(features[0])
  <class 'numpy.ndarray'>
  >>> features[0].shape
  (2048,)
  
  >>> # Example 2: (size = 2048, radius = 4, sparse = True, smiles = True)
  >>> featurizer = dc.feat.CircularFingerprint(size=2048, radius=8,
  ...                                          sparse=True, smiles=True)
  >>> features = featurizer.featurize(smiles)
  >>> type(features[0]) # dict containing fingerprints
  <class 'dict'>
code: def __eq__(self, other):
      if not isinstance(self, other.__class__):
          return False
      return (
          self.radius == other.radius
          and self.size == other.size
          and self.chiral == other.chiral
          and self.bonds == other.bonds
          and self.features == other.features
          and self.sparse == other.sparse
          and self.smiles == other.smiles
      )
  
file_path: deepchem/deepchem/feat/molecule_featurizers/circular_fingerprint.py
imports: from typing import Dict
  import numpy
  from deepchem.utils.typing import RDKitMol
  from deepchem.feat.base_classes import MolecularFeaturizer
label_desc: Use image node_id 4 for calling the CircularFingerprint obj's underlying member method code with example usage: obj.__eq__(other) and returns: unknown, False