예제 #1
0
 def testDetails2(self):
     Crippen._Init()
     inF = open(self.detailName2, 'rb')
     if 0:
         outF = open('tmp.pkl', 'wb+')
         self._writeDetailFile(inF, outF)
     self._doDetailFile(inF)
예제 #2
0
파일: MolSurf.py 프로젝트: abradle/rdkit
def pySlogP_VSA_(mol, bins=None, force=1):
  """ *Internal Use Only*
  """
  if not force:
    try:
      res = mol._slogpVSA
    except AttributeError:
      pass
    else:
      if res.all():
        return res

  if bins is None:
    bins = logpBins
  Crippen._Init()
  propContribs = Crippen._GetAtomContribs(mol, force=force)
  volContribs = _LabuteHelper(mol)

  ans = numpy.zeros(len(bins) + 1, 'd')
  for i in range(len(propContribs)):
    prop = propContribs[i]
    vol = volContribs[i + 1]
    if prop is not None:
      bin = bisect.bisect_right(bins, prop[0])
      ans[bin] += vol

  mol._slogpVSA = ans
  return ans
예제 #3
0
 def testDetails2(self):
   Crippen._Init()
   inF = open(self.detailName2,'rb')
   if 0:
     outF = open('tmp.pkl','wb+')
     self._writeDetailFile(inF,outF)
   self._doDetailFile(inF)
예제 #4
0
def pySlogP_VSA_(mol,bins=None,force=1):
  """ *Internal Use Only*
  """
  if not force:
    try:
      res = mol._slogpVSA
    except AttributeError:
      pass
    else:
      if res.all():
        return res

  if bins is None: bins = logpBins
  Crippen._Init()
  propContribs = Crippen._GetAtomContribs(mol,force=force)
  volContribs = _LabuteHelper(mol)

  ans = numpy.zeros(len(bins)+1,'d')
  for i in range(len(propContribs)):
    prop = propContribs[i]
    vol = volContribs[i+1]
    if prop is not None:
      bin = bisect.bisect_right(bins,prop[0])
      ans[bin] += vol

  mol._slogpVSA=ans
  return ans    
예제 #5
0
 def testDetails(self):
     Crippen._Init()
     with open(self.detailName, 'rb') as inF:
         if 0:
             outF = open('tmp.pkl', 'wb+')
             self._writeDetailFile(inF, outF)
         self._doDetailFile(inF)
예제 #6
0
 def testDetails(self):
   Crippen._Init()
   with open(self.detailName,'rb') as inF:
     if 0:
       outF = open('tmp.pkl','wb+')
       self._writeDetailFile(inF,outF)
     self._doDetailFile(inF)
예제 #7
0
 def testDetails2(self):
   Crippen._Init()
   with open(self.detailName2,'r') as inTF:
     buf = inTF.read().replace('\r\n', '\n').encode('utf-8')
     inTF.close()
   with io.BytesIO(buf) as inF:
     if 0:
       outF = open('tmp.pkl','wb+')
       self._writeDetailFile(inF,outF)
     self._doDetailFile(inF)
예제 #8
0
 def testDetails2(self):
     Crippen._Init()
     with open(self.detailName2, 'r') as inTF:
         buf = inTF.read().replace('\r\n', '\n').encode('utf-8')
         inTF.close()
     with io.BytesIO(buf) as inF:
         if 0:
             outF = open('tmp.pkl', 'wb+')
             self._writeDetailFile(inF, outF)
         self._doDetailFile(inF)
예제 #9
0
파일: MolSurf.py 프로젝트: abradle/rdkit
def pyPEOE_VSA_(mol, bins=None, force=1):
  """ *Internal Use Only*
  """
  if not force:
    try:
      res = mol._peoeVSA
    except AttributeError:
      pass
    else:
      if res.all():
        return res
  if bins is None:
    bins = chgBins
  Crippen._Init()
  #print('\ts:',repr(mol.GetMol()))
  #print('\t\t:',len(mol.GetAtoms()))
  rdPartialCharges.ComputeGasteigerCharges(mol)

  #propContribs = [float(x.GetProp('_GasteigerCharge'))  for x in mol.GetAtoms()]
  propContribs = []
  for at in mol.GetAtoms():
    p = at.GetProp('_GasteigerCharge')
    try:
      v = float(p)
    except ValueError:
      v = 0.0
    propContribs.append(v)
  #print '\tp',propContribs
  volContribs = _LabuteHelper(mol)
  #print '\tv',volContribs

  ans = numpy.zeros(len(bins) + 1, 'd')
  for i in range(len(propContribs)):
    prop = propContribs[i]
    vol = volContribs[i + 1]
    if prop is not None:
      bin = bisect.bisect_right(bins, prop)
      ans[bin] += vol

  mol._peoeVSA = ans
  return ans
예제 #10
0
def pyPEOE_VSA_(mol, bins=None, force=1):
    """ *Internal Use Only*
  """
    if not force:
        try:
            res = mol._peoeVSA
        except AttributeError:
            pass
        else:
            if res.all():
                return res
    if bins is None:
        bins = chgBins
    Crippen._Init()
    #print('\ts:',repr(mol.GetMol()))
    #print('\t\t:',len(mol.GetAtoms()))
    rdPartialCharges.ComputeGasteigerCharges(mol)

    #propContribs = [float(x.GetProp('_GasteigerCharge'))  for x in mol.GetAtoms()]
    propContribs = []
    for at in mol.GetAtoms():
        p = at.GetProp('_GasteigerCharge')
        try:
            v = float(p)
        except ValueError:
            v = 0.0
        propContribs.append(v)
    #print '\tp',propContribs
    volContribs = _LabuteHelper(mol)
    #print '\tv',volContribs

    ans = numpy.zeros(len(bins) + 1, 'd')
    for i in range(len(propContribs)):
        prop = propContribs[i]
        vol = volContribs[i + 1]
        if prop is not None:
            bin = bisect.bisect_right(bins, prop)
            ans[bin] += vol

    mol._peoeVSA = ans
    return ans
예제 #11
0
from __future__ import print_function
from rdkit import RDConfig
import gzip
import os.path
from rdkit.six.moves import cPickle
from rdkit import Chem
from rdkit.Chem import Crippen
Crippen._Init()


def runIt(inFileName, outFileName, smiCol=0, maxMols=-1, delim=','):
    inF = gzip.open(inFileName, 'r')
    outF = open(outFileName, 'wb+')
    mols = []
    nDone = 0
    for line in inF.readlines():
        if line[0] != '#':
            splitL = line.strip().split(delim)
            smi = splitL[smiCol].strip()
            print(smi)
            mol = Chem.MolFromSmiles(smi)
            if mol:
                contribs = Crippen._GetAtomContribs(mol)
                cPickle.dump((smi, contribs), outF)
            nDone += 1
            if maxMols > 0 and nDone >= maxMols:
                break
    outF.close()


if __name__ == '__main__':
예제 #12
0
from __future__ import print_function
from rdkit import RDConfig
import gzip
import os.path
from rdkit.six.moves import cPickle
from rdkit import Chem
from rdkit.Chem import Crippen
Crippen._Init()


def runIt(inFileName, outFileName, smiCol=0, maxMols=-1, delim=','):
  inF = gzip.open(inFileName, 'r')
  outF = open(outFileName, 'wb+')
  mols = []
  nDone = 0
  for line in inF.readlines():
    if line[0] != '#':
      splitL = line.strip().split(delim)
      smi = splitL[smiCol].strip()
      print(smi)
      mol = Chem.MolFromSmiles(smi)
      if mol:
        contribs = Crippen._GetAtomContribs(mol)
        cPickle.dump((smi, contribs), outF)
      nDone += 1
      if maxMols > 0 and nDone >= maxMols:
        break
  outF.close()


if __name__ == '__main__':