code: def compute_pairwise_ring_info(mol):
      """Computes all atom-atom pair belong to same ring with
      its ring size and its aromaticity.
  
      Parameters:
      -----------
      mol: rdkit.rdchem.Mol
          Molecule containing a ring
  
      Returns:
      --------
      rings_dict: Key consisting of all node-node pair sharing the same ring
      and value as a tuple of size of ring and its aromaticity.
      """
      try:
          from rdkit import Chem
      except:
          raise ImportError("This class requires RDkit installed")
      rings_dict = {}
  
      def ordered_pair(a, b):
          return (a, b) if a < b else (b, a)
  
      ssr = [list(x) for x in Chem.GetSymmSSSR(mol)]
      for ring in ssr:
          ring_sz = len(ring)
          is_aromatic = True
          for atom_idx in ring:
              if not mol.GetAtoms()[atom_idx].GetIsAromatic():
                  is_aromatic = False
                  break
          for ring_idx, atom_idx in enumerate(ring):
              for other_idx in ring[ring_idx:]:
                  atom_pair = ordered_pair(atom_idx, other_idx)
                  if atom_pair not in rings_dict:
                      rings_dict[atom_pair] = [(ring_sz, is_aromatic)]
                  else:
                      if (ring_sz, is_aromatic) not in rings_dict[
                          atom_pair
                      ]:
                          rings_dict[atom_pair].append(
                              (ring_sz, is_aromatic)
                          )
  
      return rings_dict
  
imports: import os
  import logging
  import itertools
  import numpy
  from io import StringIO
  from deepchem.utils.pdbqt_utils import pdbqt_to_pdb
  from deepchem.utils.pdbqt_utils import convert_mol_to_pdbqt
  from deepchem.utils.pdbqt_utils import convert_protein_to_pdbqt
  from deepchem.utils.geometry_utils import compute_pairwise_distances
  from deepchem.utils.geometry_utils import compute_centroid
  from deepchem.utils.fragment_utils import MolecularFragment
  from deepchem.utils.fragment_utils import MoleculeLoadException
  from typing import Any, List, Sequence, Tuple, Set, Optional, Dict, Union
  from deepchem.utils.typing import OneOrMany, RDKitMol
label_desc: Use image node_id 19 for calling a global function with example usage: compute_pairwise_ring_info(mol) and returns: rings_dict, unknown