def summarise(projects): summDB = PDatabase(local='summary.fs') C = CorrelationAnalyser() figs = [] for f in range(4): figs.append(plt.figure()) gs = gridspec.GridSpec(5, 5, wspace=0.3, hspace=0.5) i=0 data=[] print 'processing %s projects' %len(projects) for p in projects: print 'structure:',p DB = PDatabase(local=os.path.join(savepath,p)) S = PEATTableModel(DB) try: exp,pre = S.getColumns(['Exp','prediction'],allowempty=False) errs = [j[0]-j[1] for j in zip(exp,pre)] except: print 'no results' continue #DB.close() #add link to proj summDB.add(p) summDB.addField('project',fieldtype='Project') summDB[p]['project'] = {'server':'enzyme.ucd.ie','username':'******', 'project':p,'password':'******','port':'8080'} print summDB.isChanged() #stats cc,rmse,meanerr = C.getStats(pre,exp) #ttest for mean errs 0 ttp = round(stats.ttest_1samp(errs, 0)[1],2) #normality of errs w,swp = C.ShapiroWilk(errs) x={'name':p,'mutants':len(pre),'rmse':rmse,'corrcoef':cc,'meanerr':meanerr, 'ttest':ttp,'shapirowilk':swp} '''ax = figs[0].add_subplot(gs[0, i]) C.plotCorrelation(pre,exp,title=p,ms=2,axeslabels=False,ax=ax) ax = figs[1].add_subplot(gs[0, i]) C.showHistogram([pre,exp],title=p,labels=['pre','exp'],ax=ax) ax = figs[2].add_subplot(gs[0, i]) C.plotNorm(errs,title=p,lw=1,ax=ax) #qqplot ax = figs[3].add_subplot(gs[0, i]) C.QQplot(errs,title=p,ax=ax)''' #get PDB info parser = PDBParser() descr = parser.getDescription(p) x.update(descr) data.append(x) i+=1 summDB.importDict(data) print summDB.isChanged() summDB.commit() #add all peatsa jobs to summary proj also '''print 'adding peatsa job info' PS = PEATSAPlugin() PS.main(DB=summDB) #summDB.meta.peatsa_jobs = None #from ZODB.PersistentMapping import PersistentMapping #summDB.meta.peatsa_jobs = PersistentMapping() PS.checkJobsDict() PS.jobManager.stopLogging() for p in projects: #print summDB.meta DB = PDatabase(local=os.path.join(savepath,p)) job = DB.meta.peatsa_jobs['mycalc'] summDB.meta.peatsa_jobs[p] = job print job #DB.close() print summDB.isChanged() print summDB.meta.peatsa_jobs summDB.commit()''' #for i in range(len(figs)): # figs[i].savefig('fig%s.png' %i) #plt.show() return