def getClabTask(self, smiles): if "clab" not in DescMethodsAvailable: return self.getSmilesData(smiles) # C-Lab descriptors self.exToPred = ClabUtilities.appendCLabTasks(self.clabTasks, self.smilesData)
def getDescriptors(self, smiles): self.getSmilesData(smiles) # Calculate descriptors defined in the model files descList = self.model.varNames savedSmilesData = dataUtilities.DataTable(self.smilesData) #Try 3 time to get All compounds descriptors nTry = 3 errorDesc = "" while nTry > 0: try: traceLog = "Model Location:"+str(self.modelLocation)+"\n" nBadEx = 0 # Determine Signature and non-Signature descriptor names cinfonyDesc, clabDesc, signatureHeight, bbrcDesc, signDesc = descUtilities.getDescTypes(descList) # Signatures if "sign" in DescMethodsAvailable and signatureHeight: traceLog += "Calculating signatures...\n" print "Calculating signatures...." preCalcData = dataUtilities.DataTable(self.preDefSignatureFile) startHeight = 0 # Not used desc ignored in model prediction endHeight = signatureHeight self.smilesData = getSignatures.getSignatures(self.smilesData, startHeight, endHeight, preCalcData) # C-Lab desc if "clab" in DescMethodsAvailable and clabDesc: traceLog += "Calculating C-Lab...\n" print "Calculating C-Lab desc...." self.smilesData = ClabUtilities.appendCLabDesc(clabDesc, self.smilesData) # Cinfony if cinfonyDesc: traceLog += "Calculating Cinfony...\n" print "Calculating Cinfony desc..." self.smilesData = getCinfonyDesc.getCinfonyDescResults(self.smilesData, cinfonyDesc, radius = 5) # bbrcDesc if "bbrc" in DescMethodsAvailable and bbrcDesc: traceLog += "Calculating BBRC...\n" print "Calculating BBRC desc..." self.smilesData = getBBRCDesc.getBBRCDescResult(self.smilesData, algo = "FTM", minSupPar = 1, descList = bbrcDesc) # Detect if the descripts calaculation or something else went wrong! for ex in self.smilesData: if sum([ex[attr].isSpecial() for attr in self.smilesData.domain.attributes]) == len(self.smilesData.domain.attributes): nBadEx +=1 if nBadEx: traceLog += "WARNING: Desc. Calculation: From the "+str(len(self.smilesData))+" compounds, "+str(nBadEx)+" could not be calculated!\n" print "WARNING: Desc. Calculation: From the "+str(len(self.smilesData))+" compounds, "+str(nBadEx)+" could not be calculated!" print "WARNING: Tying again..." self.smilesData = dataUtilities.DataTable(savedSmilesData) nTry -= 1 else: nTry = 0 except Exception, e: errorDesc = "Error Calculating Descriptors:;"+traceLog+str(e)+";" nTry -= 1
def getClabTasksAndSignatures(self, smiles): if "clab" not in DescMethodsAvailable or "sign" not in DescMethodsAvailable: return self.getSmilesData(smiles) # Signatures preCalcData = dataUtilities.DataTable(self.preDefSignatureFile) startHeight = 0 endHeight = 1 dataSign = getSignatures.getSignatures(self.smilesData, startHeight, endHeight, preCalcData) # C-Lab descriptors self.exToPred = ClabUtilities.appendCLabTasks(self.clabTasks, dataSign)
def getDescriptors(self, smiles): self.getSmilesData(smiles) # Calculate descriptors defined in the model files descList = self.model.varNames savedSmilesData = dataUtilities.DataTable(self.smilesData) #Try 3 time to get All compounds descriptors nTry = 3 errorDesc = "" while nTry > 0: try: #if True: traceLog = "Model Location:" + str(self.modelLocation) + "\n" nBadEx = 0 # Determine Signature and non-Signature descriptor names cinfonyDesc, clabDesc, signatureHeight, bbrcDesc, signDesc = descUtilities.getDescTypes( descList) # Signatures if "sign" in DescMethodsAvailable and signatureHeight: traceLog += "Calculating signatures...\n" print "Calculating signatures...." preCalcData = dataUtilities.DataTable( self.preDefSignatureFile) startHeight = 0 # Not used desc ignored in model prediction endHeight = signatureHeight self.smilesData = getSignatures.getSignatures( self.smilesData, startHeight, endHeight, preCalcData) # C-Lab desc if "clab" in DescMethodsAvailable and clabDesc: traceLog += "Calculating C-Lab...\n" print "Calculating C-Lab desc...." self.smilesData = ClabUtilities.appendCLabDesc( clabDesc, self.smilesData) # Cinfony if cinfonyDesc: traceLog += "Calculating Cinfony...\n" print "Calculating Cinfony desc..." self.smilesData = getCinfonyDesc.getCinfonyDescResults( self.smilesData, cinfonyDesc, radius=5) # bbrcDesc if "bbrc" in DescMethodsAvailable and bbrcDesc: traceLog += "Calculating BBRC...\n" print "Calculating BBRC desc..." self.smilesData = getBBRCDesc.getBBRCDescResult( self.smilesData, algo="FTM", minSupPar=1, descList=bbrcDesc) # Detect if the descripts calaculation or something else went wrong! for ex in self.smilesData: if sum([ ex[attr].isSpecial() for attr in self.smilesData.domain.attributes ]) == len(self.smilesData.domain.attributes): nBadEx += 1 if nBadEx: traceLog += "WARNING: Desc. Calculation: From the " + str( len(self.smilesData)) + " compounds, " + str( nBadEx) + " could not be calculated!\n" print "WARNING: Desc. Calculation: From the " + str( len(self.smilesData)) + " compounds, " + str( nBadEx) + " could not be calculated!" print "WARNING: Tying again..." self.smilesData = dataUtilities.DataTable(savedSmilesData) nTry -= 1 else: nTry = 0 #else: except Exception, e: errorDesc = "Error Calculating Descriptors:;" + traceLog + str( e) + ";" nTry -= 1