code: def show_metal(self):
          
          metal_complexes = self.plcomplex.metal_complexes
          if not len(metal_complexes) == 0:
              self.select_by_ids('Metal-M', self.metal_ids)
              for metal_complex in metal_complexes:
                  cmd.select('tmp_m', 'id %i' % metal_complex.metal_id)
                  cmd.select('tmp_t', 'id %i' % metal_complex.target_id)
                  if metal_complex.location == 'water':
                      cmd.select('Metal-W', 'Metal-W or id %s' % metal_complex.target_id)
                  if metal_complex.location.startswith('protein'):
                      cmd.select('tmp_t', 'tmp_t & %s' % self.protname)
                      cmd.select('Metal-P', 'Metal-P or (id %s & %s)' % (metal_complex.target_id, self.protname))
                  if metal_complex.location == 'ligand':
                      cmd.select('tmp_t', 'tmp_t & %s' % self.ligname)
                      cmd.select('Metal-L', 'Metal-L or (id %s & %s)' % (metal_complex.target_id, self.ligname))
                  cmd.distance('MetalComplexes', 'tmp_m', 'tmp_t')
                  cmd.delete('tmp_m or tmp_t')
          if self.object_exists('MetalComplexes'):
              cmd.set('dash_color', 'violetpurple', 'MetalComplexes')
              cmd.set('dash_gap', 0.5, 'MetalComplexes')
              # Show water molecules for metal complexes
              cmd.show('spheres', 'Metal-W')
              cmd.color('lightblue', 'Metal-W')
docs: Visualize metal coordination.