code: def get_counts(self):
          
  
          hbondsback = len([hb for hb in self.hbonds if not hb.sidechain])
          counts = {'hydrophobics': len(self.hydrophobics), 'hbonds': len(self.hbonds),
                    'wbridges': len(self.wbridges), 'sbridges': len(self.sbridges), 'pistacks': len(self.pi_stacks),
                    'pications': len(self.pi_cations), 'halogens': len(self.halogens), 'metal': len(self.metal_complexes),
                    'hbond_back': hbondsback, 'hbond_nonback': (len(self.hbonds) - hbondsback)}
          counts['total'] = counts['hydrophobics'] + counts['hbonds'] + counts['wbridges'] + \
              counts['sbridges'] + counts['pistacks'] + counts['pications'] + counts['halogens'] + counts['metal']
          return counts
docs: counts the interaction types and backbone hydrogen bonding in a binding site