parameters: (self, mol, name='molecule', showOnly=True, highlightFeatures=[], molB="", confId=-1,
                zoom=True, forcePDB=False, showSticks=False)
return_statement: return mid
docstring: special case for displaying a molecule or mol block
docstring_summary: special case for displaying a molecule or mol block
docstring_tokens: special case for displaying a molecule or mol block
function: def ShowMol(self, mol, name='molecule', showOnly=True, highlightFeatures=[], molB="", confId=-1,
                zoom=True, forcePDB=False, showSticks=False):
      """ special case for displaying a molecule or mol block """
  
      server = self.server
      if not zoom:
        self.server.do('view rdinterface,store')
      if showOnly:
        self.DeleteAll()
  
      if not forcePDB and mol.GetNumAtoms() < 999:
        if not molB:
          molB = Chem.MolToMolBlock(mol, confId=confId)
        mid = server.loadMolBlock(molB, name)
      else:
        if not molB:
          molB = Chem.MolToPDBBlock(mol, confId=confId)
        mid = server.loadPDB(molB, name)
  
      if highlightFeatures:
        nm = name + '-features'
        conf = mol.GetConformer(confId)
        for feat in highlightFeatures:
          pt = [0.0, 0.0, 0.0]
          for idx in feat:
            loc = conf.GetAtomPosition(idx)
            pt[0] += loc[0] / len(feat)
            pt[1] += loc[1] / len(feat)
            pt[2] += loc[2] / len(feat)
          server.sphere(pt, 0.2, (1, 1, 1), nm)
      if zoom:
        server.zoom('visible')
      else:
        self.server.do('view rdinterface,recall')
      if showSticks:  # show molecule in stick view
        self.server.do('show sticks, {}'.format(name))
      return mid
function_tokens: def ShowMol ( self , mol , name = 'molecule' , showOnly = True , highlightFeatures = [ ] , molB = "" , confId = - 1 , zoom = True , forcePDB = False , showSticks = False ) : server = self . server if not zoom : self . server . do ( 'view rdinterface,store' ) if showOnly : self . DeleteAll ( ) if not forcePDB and mol . GetNumAtoms ( ) < 999 : if not molB : molB = Chem . MolToMolBlock ( mol , confId = confId ) mid = server . loadMolBlock ( molB , name ) else : if not molB : molB = Chem . MolToPDBBlock ( mol , confId = confId ) mid = server . loadPDB ( molB , name ) if highlightFeatures : nm = name + '-features' conf = mol . GetConformer ( confId ) for feat in highlightFeatures : pt = [ 0.0 , 0.0 , 0.0 ] for idx in feat : loc = conf . GetAtomPosition ( idx ) pt [ 0 ] += loc [ 0 ] / len ( feat ) pt [ 1 ] += loc [ 1 ] / len ( feat ) pt [ 2 ] += loc [ 2 ] / len ( feat ) server . sphere ( pt , 0.2 , ( 1 , 1 , 1 ) , nm ) if zoom : server . zoom ( 'visible' ) else : self . server . do ( 'view rdinterface,recall' ) if showSticks : # show molecule in stick view self . server . do ( 'show sticks, {}' . format ( name ) ) return mid