def doEntropyWeights(ee,e,ciss,link_func=maxSim,proms=None): precs=[] recalls=[] weights=getEntropyWeights(e,ciss) cis_keys=ciss.keys() sims=dict() for x in cis_keys: sims[x]=dict() for y in cis_keys: sims[x][y]=dmSim(ciss[x].seq,ciss[y].seq\ ,w1=weights[x],w2=weights[y]\ ,useLength=True) ss=flatenDict(netAlignInfer(link_func,e,sims)) for thresh in np.arange(0,1,0.1): (p,r)=prEval(ee,ss,thresh) precs.append(p) recalls.append(r) return (precs,recalls)
import cPickle as pickle from similarity import dmSim pfile = open("netdata.p", "rb") (edges, ciss, proms) = pickle.load(pfile) pfile.close() sims = dict() for x in ciss.keys(): sims[x] = dict() for y in ciss.keys(): sims[x][y] = dmSim(ciss[x].seq, ciss[y].seq) pfile = open("dmSims.p", "wb") pickle.dump(sims, pfile) pfile.close()
sims2=dict() sims3=dict() pfile_lst=[pp1,pp2,pp3] data_lst=[sims1,sims2,sims3] pfile=open('netdata.p','rb') (edges,ciss,proms)=pickle.load(pfile) pfile.close() for x in ciss.keys(): sims1[x]=dict() sims2[x]=dict() sims3[x]=dict() for y in ciss.keys(): sims1[x][y]=swSim(ciss[x].seq,ciss[y].seq,mismatch=misscore,\ match=mscore) sims2[x][y]=swSim(ciss[x].seq,ciss[y].seq,mismatch=misscore,\ match=mscore,useLength=True) sims3[x][y]=dmSim(ciss[x].seq,ciss[y].seq,useLength=True) for i in range(3): pfile=open(pfile_lst[i],'wb') pickle.dump(data_lst[i],pfile) pfile.close()