def multiDomain(pfamDict, chemblTargets, winners, threshold, release, user, pword, host, port): import getLigands import filterForTarget import pickle multi = {} for target in chemblTargets: candidates = {} if target in pfamDict: for domain in pfamDict[target]['domains']: domain = str(domain) if domain in winners: candidates[domain] = 0 if len(candidates.keys()) == 1 and len( pfamDict[target]['domains']) > 1: ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port) ligands = filterForTarget.filterForTarget(ligands, threshold) domain = candidates.keys()[0] for ligand in ligands: smiles = ligand[0] aff = ligand[1] molregno = ligand[2] actId = ligand[3] try: multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) multi[domain][molregno]['smiles'] = smiles except KeyError: try: multi[domain][molregno] = {} multi[domain][molregno]['pAfnty'] = [] multi[domain][molregno]['target'] = [] multi[domain][molregno]['actId'] = [] multi[domain][molregno]['smiles'] = smiles multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) except KeyError: multi[domain] = {} multi[domain][molregno] = {} multi[domain][molregno]['pAfnty'] = [] multi[domain][molregno]['target'] = [] multi[domain][molregno]['actId'] = [] multi[domain][molregno]['smiles'] = smiles multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) outfile = open('data/multiDict_pKi%s_%s.pkl' % (int(threshold), release), 'w') pickle.dump(multi, outfile) outfile.close() return multi
def toSam(conflicts, threshold, user, pword, host, release, port): import parse import getLigands import filterForTarget import queryDevice conf = {} for confStr in conflicts.keys(): for target in conflicts[confStr]: ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port) ligands = filterForTarget.filterForTarget(ligands, threshold) for ligand in ligands: molregno = ligand[2] actId = ligand[3] pubmed = queryDevice.queryDevice( "SELECT pubmed_id FROM docs JOIN activities act ON act.doc_id = docs.doc_id WHERE activity_id = %s" % actId, release, user, pword, host, port)[0][0] pubmed = pubmed try: conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'].append(pubmed) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) except KeyError: try: conf[confStr][molregno] = {} conf[confStr][molregno]['actId'] = [] conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) except KeyError: conf[confStr] = {} conf[confStr][molregno] = {} conf[confStr][molregno]['actId'] = [] conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) confLkp = {} for confStr in conf.keys(): confLkp[confStr] = 0 for confStr in confLkp.keys(): out = open('data/forSam_%s.pred' % confStr, 'w') out.write('molregno\tpubmed\tprediction\tactivity_id\n') for conflict in conf[confStr]: for molregno in conf[confStr].keys(): pubmed = conf[confStr][molregno]['pubmed'] domain = 'None' actId = conf[confStr][molregno]['actId'] for act in actId: out.write('%s\t%s\t%s\t%s\n' % (molregno, pubmed[0], domain, act)) out.close()
def multiDomain(pfamDict, chemblTargets, winners, threshold, release, user, pword, host, port): import getLigands import filterForTarget import pickle multi = {} for target in chemblTargets: candidates = {} if target in pfamDict: for domain in pfamDict[target]['domains']: domain = str(domain) if domain in winners: candidates[domain]=0 if len(candidates.keys()) == 1 and len(pfamDict[target]['domains']) >1: ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port) ligands = filterForTarget.filterForTarget(ligands, threshold) domain = candidates.keys()[0] for ligand in ligands: smiles = ligand[0] aff = ligand[1] molregno = ligand[2] actId = ligand[3] try: multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) multi[domain][molregno]['smiles']=smiles except KeyError: try: multi[domain][molregno] = {} multi[domain][molregno]['pAfnty']=[] multi[domain][molregno]['target']=[] multi[domain][molregno]['actId'] = [] multi[domain][molregno]['smiles']=smiles multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) except KeyError: multi[domain]={} multi[domain][molregno] = {} multi[domain][molregno]['pAfnty']=[] multi[domain][molregno]['target']=[] multi[domain][molregno]['actId'] = [] multi[domain][molregno]['smiles']=smiles multi[domain][molregno]['pAfnty'].append(aff) multi[domain][molregno]['target'].append(target) multi[domain][molregno]['actId'].append(actId) outfile = open('data/multiDict_pKi%s_%s.pkl'%(int(threshold), release),'w') pickle.dump(multi, outfile) outfile.close() return multi
def toSam(conflicts, threshold, user, pword, host, release, port): import parse import getLigands import filterForTarget import queryDevice conf = {} for confStr in conflicts.keys(): for target in conflicts[confStr]: ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port) ligands = filterForTarget.filterForTarget(ligands, threshold) for ligand in ligands: molregno = ligand[2] actId = ligand[3] pubmed = queryDevice.queryDevice("SELECT pubmed_id FROM docs JOIN activities act ON act.doc_id = docs.doc_id WHERE activity_id = %s"%actId,release, user, pword, host, port)[0][0] pubmed = pubmed try: conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'].append(pubmed) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) except KeyError: try: conf[confStr][molregno] = {} conf[confStr][molregno]['actId'] = [] conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) except KeyError: conf[confStr]={} conf[confStr][molregno] = {} conf[confStr][molregno]['actId'] = [] conf[confStr][molregno]['actId'].append(actId) conf[confStr][molregno]['pubmed'] = [] conf[confStr][molregno]['pubmed'].append(pubmed) confLkp = {} for confStr in conf.keys(): confLkp[confStr] = 0 for confStr in confLkp.keys(): out = open('data/forSam_%s.pred'%confStr, 'w') out.write('molregno\tpubmed\tprediction\tactivity_id\n') for conflict in conf[confStr]: for molregno in conf[confStr].keys(): pubmed = conf[confStr][molregno]['pubmed'] domain = 'None' actId = conf[confStr][molregno]['actId'] for act in actId: out.write('%s\t%s\t%s\t%s\n'%(molregno, pubmed[0], domain, act)) out.close()
def singleDomains(pfamDict, chemblTargets,threshold, release, user, pword, host, port): import pickle import getLigands import filterForTarget single = {} for target in chemblTargets: if target in pfamDict: if len(pfamDict[target]['domains']) == 1: domain = pfamDict[target]['domains'][0] ligands = getLigands.getLigandsForTarget(target, release, user, pword, host, port) ligands = filterForTarget.filterForTarget(ligands, threshold) for ligand in ligands: smiles = ligand[0] aff = ligand[1] molregno = ligand[2] actId = ligand[3] try: single[domain][molregno]['pAfnty'].append(aff) single[domain][molregno]['target'].append(target) single[domain][molregno]['actId'].append(actId) single[domain][molregno]['smiles']=smiles except KeyError: try: single[domain][molregno] = {} single[domain][molregno]['pAfnty']=[] single[domain][molregno]['target']=[] single[domain][molregno]['actId'] = [] single[domain][molregno]['smiles']=smiles single[domain][molregno]['pAfnty'].append(aff) single[domain][molregno]['target'].append(target) single[domain][molregno]['actId'].append(actId) except KeyError: single[domain]={} single[domain][molregno] = {} single[domain][molregno]['pAfnty']=[] single[domain][molregno]['target']=[] single[domain][molregno]['actId'] = [] single[domain][molregno]['smiles']=smiles single[domain][molregno]['pAfnty'].append(aff) single[domain][molregno]['target'].append(target) single[domain][molregno]['actId'].append(actId) outfile = open('data/singleDict_pKi%s_%s.pkl' %(int(threshold), release),'w') pickle.dump(single, outfile) outfile.close() return single