code: def hash_ecfp(ecfp: str, size: int = 1024) -> int:
      """
      Returns an int < size representing given ECFP fragment.
  
      Input must be a string. This utility function is used for various
      ECFP based fingerprints.
  
      Parameters
      ----------
      ecfp: str
          String to hash. Usually an ECFP fragment.
      size: int, optional (default 1024)
          Hash to an int in range [0, size)
  
      Returns
      -------
      ecfp_hash: int
          An int < size representing given ECFP fragment
      """
      bytes_ecfp = ecfp.encode("utf-8")
      md5 = hashlib.md5()
      md5.update(bytes_ecfp)
      digest = md5.hexdigest()
      ecfp_hash = int(digest, 16) % (size)
      return ecfp_hash
  
imports: from typing import Callable, Dict, Optional, Tuple, Any, List
  import numpy
  import hashlib
label_desc: Use image node_id 1 for calling a global function with example usage: hash_ecfp(ecfp, size) and returns: ecfp_hash