def titDBUtils(self, DB=None, col=None, prot=None, a=None, E=None, refit=False, addmeta=False, getexperrs=False, yuncert=None): """Add some meta and refit all for an ekin prj or a rec/field in db""" if E==None and DB != None: E = DB[prot][col] E.checkDatasets() t = TitrationAnalyser() if refit == True: models = ['Linear', '1 pKa 2 Chemical shifts', '2 pKas, 3 Chemical shifts', '3 pKas, 4 Chemical shifts'] E = t.findBest(E, models, geterrs=False) if addmeta == True: E = t.setMetaInfo(E, atom=a) if getexperrs == True: if yuncert == None: print 'No value for Y uncertainty!, please supply it' return print 'Using %s for y uncertainty.' %yuncert print E = t.getExpErrs(E, xuncert=0.1, yuncert=yuncert) self.save(DB, col, prot, E) #DB.commit('refit/added meta info') return E
def analysepKas(self, p=None): """Get the main pKas of all/titr group and do analysis""" E = self.currprj if E==None: return t = TitrationAnalyser() if p == None: p = t.findpKas(E, titratable=True, reliable=False, minspan=0.06) t.analysepKas(p) return
def analyseTitDB(self, DB, col, names=None): """Extract titdb pKas""" import matplotlib.pyplot as plt plt.rc('font',size=28) plt.rc('savefig',dpi=300) plt.rc('axes',linewidth=.5) #plt.rc('text',usetex=True) nuclnames = {'1H NMR':'H','15N NMR':'N'} t = TitrationAnalyser() #extract reliable pkas from selected proteins #p = t.extractpKas(DB, col, names=names, titratable=False, reliable=False, minspan=0.06) #t.analysepKas(p) t.compareNuclei(DB, '15N NMR', '1H NMR', names=names, titratable=True) return
def addpKaTables(self, DB, names, col='1H NMR'): """Create labbook tables for 'real' pKas for required proteins""" t = TitrationAnalyser() prots = t.getProtNames(DB) for name in names: recname = DB.getRecordName(name) E = DB[recname][col] titrresidues = t.getResidues(E, titratable=True) S = DB.createLabbookSheet(name+'.pKas') for r in titrresidues: d, res, resnum = r pKa = '' S.addRecord(res+resnum,pka=pKa,resname=res, resnum=resnum,error='') DB.saveLabbook(name+'.pKas', S) DB.saveLabbooktoFile('titdb.labbook') return
def exportAll(self, DB, col=None): t = TitrationAnalyser() t.exportAll(DB, col) return
# Jens Nielsen # SBBS, Conway Institute # University College Dublin # Dublin 4, Ireland # # Author: Damien Farrell 2009 import pickle, sys, os, copy, time, types import numpy from PEATDB.Base import PDatabase from PEATDB.Ekin.Titration import TitrationAnalyser from PEATDB.Ekin.Base import EkinProject, EkinDataset path = os.environ['HOME'] t = TitrationAnalyser() H = '1H NMR' N = '15N NMR' C = '13C NMR' '''yuncerts = {H: 0.03, fields[1]:0.2, fields[2]: 0.1} #from lawrence minspans = {fields[0]: 0.06, fields[1]:0.2, fields[2]: 0.2} ''' complete = [ 'HEWL', 'Bovine Beta-Lactoglobulin', 'Plastocyanin (Anabaena variabilis)', 'Plastocyanin (Phormidium)', 'CexCD (Apo)', 'Protein G B1', 'Glutaredoxin', 'Staphylococcal Nuclease D+PHS' ] def loadDB(): from PEATDB.Base import PDatabase