Exemple #1
0
def PEATSAJobs(prjs, resubmit=False):
    """Submit PEATSA runs for all projects or merge results if done"""
    for name in prjs:
        print name
        DB = PDatabase(local=os.path.join(savepath,name))
        pdb = DB['wt'].Structure
        PS = PEATSAPlugin()
        PS.main(DB=DB)
        if hasattr(DB.meta,'peatsa_jobs') and resubmit == False:
            if 'mycalc' in DB.meta.peatsa_jobs:
                print 'job is present'
                #try to merge results
                S = PEATTableModel(DB)
                job,n = PS.getJob('mycalc')
                PS.mergeResults(job, 'prediction', S)
                DB.commit()
                print 'merged results'
        else:
            mutlist = []
            for p in DB.getRecs():
                mutlist.append(DB.get(p).Mutations)
            #print mutlist
            pdbfile = PS.writetempPDB()
            #we add source project data so exp data can be read from summary
            prjdata = {'server':'enzyme.ucd.ie','username':'******',
                              'project':name,'password':'******','port':'8080'}
            PS.submitJob(name='mycalc', pdbname=DB.meta.refprotein, pdbfile=pdbfile, 
                         mutations=mutlist, calcs=['stability'],
                         meta={'protein':name,'expcol':'Exp','project':prjdata})
        #required to end process
        PS.jobManager.stopLogging()
        DB.close()
    return
Exemple #2
0
def info(projects):
    """Just return info in current projects"""    
    total=0
    summDB = PDatabase(local='summary.fs')
    for p in projects:        
        DB = PDatabase(local=os.path.join(savepath,p))
        l = DB.length()
        total += l
        print '%s has %s records' %(p,l)
        if p not in summDB.getRecs():
            print 'not present in summary project'
    print '-----------------------'
    print 'info on %s projects' %len(projects)
    print 'with total of %s records' %total
    print '%s mutants' %(total-len(projects))
    return